have hosts talk when no answer
This commit is contained in:
		
							parent
							
								
									4dbeb6984f
								
							
						
					
					
						commit
						ea484671ed
					
				| @ -112,6 +112,7 @@ func cli(s *streams) error { | ||||
| 		Description string | ||||
| 		InBuff      io.ReadWriter | ||||
| 		InLength    int | ||||
| 		Host        *character | ||||
| 	} | ||||
| 
 | ||||
| 	scenes := map[string]*scene{ | ||||
| @ -132,6 +133,7 @@ func cli(s *streams) error { | ||||
| 					just say it out loud. as many times as you need. to get it right. | ||||
| 					when you're ready to move on, [-:-:b]/nod[-:-:-] | ||||
| 			`), | ||||
| 			Host:   newCharacter("wire guy", "a lil homonculus made of discarded computer cables"), | ||||
| 			InBuff: bytes.NewBuffer([]byte{}), | ||||
| 		}, | ||||
| 		"nodded": { | ||||
| @ -154,6 +156,7 @@ func cli(s *streams) error { | ||||
| 					against a tree. | ||||
| 			`), | ||||
| 			InBuff: bytes.NewBuffer([]byte{}), | ||||
| 			Host:   newCharacter("the shrike", "a little grey bird. it has a pretty song."), | ||||
| 		}, | ||||
| 		"leaned": { | ||||
| 			Description: heredoc.Doc(` | ||||
| @ -171,6 +174,7 @@ func cli(s *streams) error { | ||||
| 					around in this void. | ||||
| 			`), | ||||
| 			InBuff: bytes.NewBuffer([]byte{}), | ||||
| 			Host:   newCharacter("the vcr", "a black and grey VCR from 1991"), | ||||
| 		}, | ||||
| 		"spun": { | ||||
| 			Description: heredoc.Doc(` | ||||
| @ -193,6 +197,7 @@ func cli(s *streams) error { | ||||
| 					store. just [-:-:b]/open[-:-:-] the door. | ||||
| 			`), | ||||
| 			InBuff: bytes.NewBuffer([]byte{}), | ||||
| 			Host:   newCharacter("the mop", "a greying mop with a wooden handle."), | ||||
| 		}, | ||||
| 		"done": { | ||||
| 			Description: heredoc.Doc(` | ||||
| @ -220,7 +225,7 @@ func cli(s *streams) error { | ||||
| 			} | ||||
| 			switch strings.TrimPrefix(trimmed, "/") { | ||||
| 			case "quit": | ||||
| 				os.Exit(0) | ||||
| 				app.Stop() | ||||
| 			case "look": | ||||
| 				fmt.Fprintln(msgScroll, "") | ||||
| 				fmt.Fprintln(msgScroll, scenes[currentScene].Description) | ||||
| @ -229,28 +234,44 @@ func cli(s *streams) error { | ||||
| 				if currentScene != "start" { | ||||
| 					return | ||||
| 				} | ||||
| 				if scenes[currentScene].InLength > 0 { | ||||
| 				if scenes[currentScene].InLength == 0 { | ||||
| 					fmt.Fprintln(msgScroll, | ||||
| 						scenes[currentScene].Host.Say("i'm sorry, before going further could you share an email with me?")) | ||||
| 					return | ||||
| 				} | ||||
| 				currentScene = "nodded" | ||||
| 				sceneTransition(scenes[currentScene].Description) | ||||
| 				} else { | ||||
| 					// say sorry, ask for input | ||||
| 				} | ||||
| 			case "lean": | ||||
| 				if currentScene != "nodded" { | ||||
| 					return | ||||
| 				} | ||||
| 				if scenes[currentScene].InLength == 0 { | ||||
| 					fmt.Fprintln(msgScroll, | ||||
| 						scenes[currentScene].Host.Say("phweeturpff")) | ||||
| 					return | ||||
| 				} | ||||
| 				currentScene = "leaned" | ||||
| 				sceneTransition(scenes[currentScene].Description) | ||||
| 			case "spin": | ||||
| 				if currentScene != "leaned" { | ||||
| 					return | ||||
| 				} | ||||
| 				if scenes[currentScene].InLength == 0 { | ||||
| 					fmt.Fprintln(msgScroll, | ||||
| 						scenes[currentScene].Host.Say("hmm did you say something?")) | ||||
| 					return | ||||
| 				} | ||||
| 				currentScene = "spun" | ||||
| 				sceneTransition(scenes[currentScene].Description) | ||||
| 			case "open": | ||||
| 				if currentScene != "spun" { | ||||
| 					return | ||||
| 				} | ||||
| 				if scenes[currentScene].InLength == 0 { | ||||
| 					fmt.Fprintln(msgScroll, | ||||
| 						scenes[currentScene].Host.Say("just the one last thing please")) | ||||
| 					return | ||||
| 				} | ||||
| 				currentScene = "done" | ||||
| 				sceneTransition(scenes[currentScene].Description) | ||||
| 			} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user