| ! Interaction code for an incredibly simple NPC which can respond | |
| ! to "hello", ask how the PC is and understand the answer. | |
| ! Define your emotional states to start with - these | |
| ! represent the range of how your character can feel. | |
| EmotionalStates { | |
| passive | |
| suspicious | |
| angry | |
| } | |
| ! Talk routers pick keywords from a PC and route | |
| ! to a conversation thread. | |
| TalkRouter { | |
| Words "sorry" | |
| Or "apologise" | |
| Or "apologize" | |
| Or "forgive me" | |
| SetThread sorrythread | |
| } | |
| ! Conversation threads change according to how the NPC is feeling. Threads | |
| ! can change the NPC's emotional state, as well as speaking and making | |
| ! actions. | |
| Thread sorrythread "sorry" { | |
| passive suspicious [ | |
| Speech "You have nothing to be sorry about!" | |
| Action "looks puzzled." | |
| ] | |
| angry [ | |
| Speech "Ok, I'll forgive you, please try not to do it again." | |
| SetEmotion passive | |
| ] | |
| } | |
| TalkRouter { | |
| Words "fuck off" | |
| Or "piss off" | |
| Or "kiss my" | |
| SetThread nasty | |
| } | |
| Thread nasty "Nasty" { | |
| passive suspicious [ | |
| Speech "There's no need for that kind of language." | |
| SetEmotion angry | |
| ] | |
| angry [ 1 | |
| Speech "I don't speak to coarse oafs. Either wash your dirty mouth out or apologise." | |
| ] | |
| } | |
| TalkRouter { | |
| Words "hello" | |
| Or "hi" | |
| SetThread hello | |
| } | |
| Thread hello "Hello Thread" { | |
| passive suspicious [ 2 | |
| Speech "Hi, how are you doing?" | |
| Action "smiles at you." | |
| SetContext howareyou | |
| ] | |
| angry [ | |
| Speech "Go away." | |
| SetThread imeanit_goaway | |
| ] | |
| } | |
| Thread imeanit_goaway { | |
| angry [ 2 | |
| Speech "I mean it - apologise or get lost." | |
| ] | |
| } | |
| ! Contexts are always checked before routers, so if a thread sets | |
| ! a context to be active, you can check for a response to NPC questions | |
| ! as well as keep the thread up with what the PC is talking about. | |
| Context howareyou { | |
| [ | |
| Words "not" "bad" | |
| Or "good" | |
| Or "well" | |
| Or "sound" | |
| Or "happy" | |
| Or "great" | |
| Or "excellent" | |
| SetThread goodtohear | |
| ] | |
| [ | |
| Words "bad" | |
| Or "awful" | |
| Or "terrible" | |
| Or "not" "good" | |
| Or "crap" | |
| SetThread sorryaboutthat | |
| ] | |
| } | |
| Thread goodtohear "That's good to hear" { | |
| passive suspicious [ | |
| Speech "That's good to hear!" | |
| ] | |
| } | |
| Thread sorryaboutthat { | |
| passive suspicious [ | |
| Speech "I'm sorry to hear that." | |
| ] | |
| } | |
Xet Storage Details
- Size:
- 2.36 kB
- Xet hash:
- bb323ee1a772ffe31e6c51e0f48c2ffa21f873f64c7ca40432a182af4d6de42a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.