Ticket #121: fguard.yaml

File fguard.yaml, 9.3 KB (added by zenbitz, 10 years ago)

sample dialogue file

Line 
1#   This file is part of PARPG.
2
3#   PARPG is free software: you can redistribute it and/or modify
4#   it under the terms of the GNU General Public License as published by
5#   the Free Software Foundation, either version 3 of the License, or
6#   (at your option) any later version.
7
8#   PARPG is distributed in the hope that it will be useful,
9#   but WITHOUT ANY WARRANTY; without even the implied warranty of
10#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11#   GNU General Public License for more details.
12
13#   You should have received a copy of the GNU General Public License
14#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>.
15
16---
17NPC: Janie
18AVATAR: gui/icons/fguard.png
19START: main_dialog
20
21SECTIONS:
22    main_dialog:
23        - say: "Halt, identify yourself!"
24        - responses:
25            -
26              - "Whoa, easy with that weapon, sister"
27              - first_impression
28              - not pc.met("Janie")
29            -
30              - "I'm the beer savior, remember?"
31              - gratitude
32              - pc.hasSatisfiedQuest('beer')
33            -
34              - "It's me - don't you remember?"
35              - old_pals
36            # The 'end' section ends the conversation
37            -
38              - "Sorry, didn't mean to startle you. I'll just be moving along now."
39              - end
40
41    first_impression:
42        - say: "Hey Stranger.  You're new around here, I don't recognize your face"
43        - responses:
44            -
45              - "Yeah, just blew in with the last storm."
46              - elaborate_fedex
47              - pc.canAcceptQuest('fedex')
48            # above should always be true since there is no other way to get the quest 
49            -
50              - "But one night with me, babe, and you'll never forget it"
51              - rude_comeon
52 
53    elaborate_fedex:
54        - say: "Well, maybe you can do me a favor.   I have this package I need delivered
55        to Pekko.  But you gotta be casual about it.  No one can know you why you are looking for him."
56        - responses:
57            -
58              - "Me?  Why Me?"
59              - why_me
60            - 
61              - "Why the secrecy?"
62              - why_secret
63            -
64              - "What's in it for me?"
65              - what_do_i_get
66            -
67              - "Whatever, I need an excuse to wander around anyway."
68              - quest_fedex
69            -
70              - "Find another errand boy."
71              - end
72 
73    why_me:
74        - say: "No one knows you.  You're new here.  You can be expected to be wandering around being nosy"
75        - responses:
76           -
77             - "I'm still not convinced"
78             - back
79           -
80             - "Beats watching nuthin' on TV"
81             - quest_fedex
82 
83    why_secret:
84        - say: "Look buddy, it's no questions asked.  You think you are the only frozen bum to come wandering in here"
85        - responses:
86           -
87             - "Bum?  You don't even know who I am"
88             - why_me
89           -
90             - "Really.  I remain unswayed by your logic, but you are pleasing to the eye so keep talking."
91             - back
92           -
93             - "No need to get testy, I'll do it"
94             - quest_fedex
95 
96    what_do_i_get:
97        - say:  "Everybody wants something, huh.  I suppose my undying gratitude won't cut it?  How about a beaver pelt?  They make great hats..."
98        - responses:
99           -
100             - "Naw, it's OK, your gratitude's enough for me."
101             - quest_fedex
102           -
103             - "A beaver pelt it is, then"
104             - quest_fedex
105             # perhaps assign this agreed upon payment to the quest object?
106           -
107             - "I already gotta hat.  Deliver your own package"
108             - exit
109       
110    quest_fedex:           
111         # Need some way of triggering the change in game state; package moving from Janie's inventory to yours]
112         - say:  "You should be able to find Pekko in the main compound area.  If anyone asks you why you are looking for him, say that he 'promised you something'.  Pekko's always making promises.  Oh, and don't open the box. [ Janie hands you the package ]"
113         - responses:
114           -
115             - "Why can't I open the box?"
116             - why_no_open
117           -
118             - "You got it, boss"
119             - old_pals
120 
121    why_no_open:
122        - say: "You are the nosiest little mailman anywhere, ain'tcha?  How about 'it's private.'?  If I wanted you to know what it was, I wouldn't have wasted a perfectly good box it, now would I?"
123        - responses:
124           -
125             - "I guess not."
126             - old_pals       
127
128    old_pals:
129        - say: "So what can I do for you?"
130        - responses:
131           -
132             - "I'm trying to make beer, can you help me find some stuff?"
133             - help_beer
134             - pc.hasQuest("beer")
135           -
136             - "I guess I'll see if I can't find this Pekko character for you"
137             - exit
138             - pc.hasQuest("fedex")
139           -
140             - "Uh, I opened the box"
141             - open_box
142             - box.isOpen && pc.hasQuest("fedex")
143           -
144             - "I have some bad news.  I found your friend, Pekko.  In the water tank.  Dead."
145             - dead_jimmy
146             - pc.hasQuest("fedex") == "deadPekko"
147             # again we are assuming that hasQuest retuns a text string as to it's current state.
148             # fedex quest has some parts (find the body, report the murder) that occur before
149             # the quest is actually considered "completed".  There are other ways to do this as well.
150 
151    help_beer:
152        - say: "Well, what do you need?"
153        - responses:
154           -
155             - "Some kind of grain, or fruit or something"
156             - help_grain
157           -
158             - "I'm really looking for some brewer's yeast"
159             - help_yeast
160           -
161             - "I need a pot to cook the mash in"
162             - help_pot
163           -
164             - "It would be great if I had some bottles to put the brew in!"
165             - help_bottles
166           -
167             - "I think I can handle it from here."
168             - back
169
170    help_grain:
171        - say: "You could try the farm, and there should be some food in the storerooms"
172        - responses:
173           -
174             - "Thanks, I'll try that."
175             - back
176
177    help_yeast:
178        - say: "You got me.  I wonder if there is even any left at all."
179        - responses:
180           -
181             - "Someone must have some!"
182             - back
183
184    help_pot:
185        - say: "Did you try the kitchen?  Or the storerooms?"
186        - responses:
187           -
188             - "Uh, yeah.  I guess that was obvious."
189             - back
190
191    help_bottles:
192        - say: "All the random junk is downstairs in old parking lot.  We have our own little junkyard."
193        - responses:
194           -
195             - "Oooh... there is probably lots of good stuff down there."
196             - back
197
198    open_box:
199        - say: "What!  You little worm!  Why did you do that!"
200        - responses:
201           -
202             - "Well, I figured since Pekko was dead and all..."
203             - dead_jimmy
204             - pc.hasQuest("fedex") == "deadPekko"
205           -
206             - "I'm sorry, I was just curious"
207             - rewrap_box
208             
209    dead_jimmy:
210       - say: "He's dead?  Well, I'm too late then. I guess you can keep the boots, then."
211       - responses:
212          -
213            - "What boots?"
214            - boot_gift
215            - not box.isOpen
216          -
217            - "Yeah, I figured he wouldn't need them.  Why did you send him boots, anyway?"
218            - explain_boots
219   
220    boot_gift:
221       - say "That's what was in the package." [Janie takes boots out of the package, and gives them to you]
222       - responses:
223          -
224            - "Oh.  I must be missing something"
225            - explain_boots
226            # pc.add("Boots) if not box.isOpen
227   
228    explain_boots:
229       - say "The boots were a signal that he should leave town... that he'd gone too far this time."
230       - responses:
231          -
232            - "You knew about this?  Who do you think killed him?"
233            - discuss_murder
234            - "I think I know who killed him."
235            - discuss_murder
236   
237    discuss_murder:
238       - say "Look.  Just stay out of it.  It's not really your business anyway, Stranger.  Just forget we ever talked.
239       - responses:
240          -
241            - "Alright, Alright.  But I don't like it."
242            - end   
243    rewrap_box:
244       - say "Give me that back! [Janie takes boots from PC and rewraps them].  Now, here.  And don't open them again."
245       - responses:
246          -
247            - "OK, It will never happen again."
248            - old_pals
249            # PC has to get a rewrapped box, and box must be set to "closed" again.
250
251    gratitude:
252        # if pc.hasSatisfiedQuest("beer") returns an integer representing
253        # quality of beer, we can add more varied responses
254        - say: "Well aren't you just a thick slice of awesome."
255        - responses:
256           -
257             - "I try, I try"
258             - old_pals
259   
260    rude_comeon:
261        - say: "[fondles weapon] I hope you can take it as well as you give it..."
262        - responses:
263            -
264              - "Any way you want it, that's the way you need it"
265              - end
266