source: trunk/game/dialogue/drunkard.yaml @ 343

Revision 343, 14.8 KB checked in by zenbitz, 10 years ago (diff)

New drunkard.yaml and edits to fguard.yaml. Some parts not tested due to lack of API functions. dialogue_demo.py converted to *nix friendly

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: Bart The Drunkard
18AVATAR: gui/icons/drunkard.png
19START: main_dialog
20
21SECTIONS:
22    main_dialog:
23        - say: "Hey there, back up... no need to gang up on a poor guy!"
24        - responses:
25            -
26              - "Gang up?  There's only one of me!"
27              - first_impression
28              - not pc.met('bart')
29            -
30              - "Glad to see you're feeling better."
31              - gratitude
32              - pc.hasSatisfiedQuest('beer') and beer.quality > 1
33            -
34              - "Same old Bart,  I see."
35              - old_pals
36              - pc.met('bart')
37            -
38              - "Ha, you better sleep it off, buddy."
39              - end
40
41    first_impression:
42        - say: "Oh... yeah... sorry.  My vision goes a little funny sometimes.  Name's Bart."
43        - meet: bart
44        - responses:
45            -
46              - "Are you drunk?"
47              - elaborate_beer
48              - pc.canAcceptQuest('beer')
49            # above should always be true since there is no other way to get the quest 
50            -
51              - "Wow, you're really hammered.  I'll come back when you're sober."
52              - end
53 
54    elaborate_beer:
55        - say: "Well, not for much longer, unfortunately.  My stash is just about run dry.  But no one around here knows how to brew us up some more booze!"
56        - responses:
57            -
58              - "Well, I'll be glad to lend a hand to such a noble task. Assuming you guys will supply the raw materials."
59              - quest_beer
60            -
61              - "Alcohol is work of the Devil!!"
62              - end
63       
64    quest_beer:           
65         - say:  "You sir, are a gentleman and a scholar.  I am sure folks around here will help you find what you need."
66         - start_quest: beer
67         - responses:
68           -
69             - "You aren't even going to offer me a reward?"
70             - reward_query
71           -
72             - "Well, I'll get right on it.  Finally, a worthwhile test of my scrounging skills."
73             - old_pals
74             
75    old_pals:
76         - say: "So what can I do for you?"
77         - responses:
78           -
79             - "Hey, Bart - here is my shopping list I need to brew us up something tasty.  Can you help?"
80             - help_beer
81             - pc.questIsCurrent("beer")
82             # and howtobeer.state == "read" - howtobeer is an object the PC starts with, it has to be read for the PC to know what he needs to make beer.
83           -
84             - "By the way, Bart, I am looking for a chap named 'Pekko', you know were I can find him?"
85             - help_fedex
86             - pc.questIsCurrent("fedex")
87           -
88             - "Hey, try my fantastic brew!"
89             - beer_tasting
90             - not not 'beer' in pc.inventory
91             # this is a bug in parser, bare string 'beer' cannot be first token
92           -
93             - "Did you hear about Pekko?"
94             - dead_pekko
95           -
96             - "Well, I am off to make some beer, wish me luck!"
97             - end
98             - pc.questIsCurrent('beer')
99           -
100             - "Adios, Bart"
101             - end
102             - not pc.questIsCurrent('beer')
103           -
104             - "Pekko was murdered.  And someone's responsible."
105             - murder_accuse
106             #- some conditional specifying that PC has found Pekko's body
107             # for these conditionals, we need some way of checking "partial" state of the
108             # quest - that the PC has found the dead Pekko, but for now we'll assume it's true
109
110    help_beer:
111        - say: "Well, what do you need?"
112        - responses:
113           -
114             - "Where do you folks get water from.  The more pure, the better."
115             - help_water
116             #- I would like this option to disappear after it's been asked once
117             # the idea is that Bart's odd response is the clue that he killed Pekko
118             # and put the body in the tank.
119           -
120             - "Some kind of grain, or fruit or something."
121             - help_grain
122           -
123             - "I'm really looking for some brewer's yeast."
124             - help_yeast
125           -
126             - "I need a pot to cook the mash in."
127             - help_pot
128           -
129             - "It would be great if I had some bottles to put the brew in!"
130             - help_bottles
131           -
132             - "I think I can handle it from here."
133             - back
134
135    help_water:
136        - say: "Water!  I dunno.  I never trust the stuff.  Guess you could melt snow or something."
137        - responses:
138           -
139             - "Yeah, I suppose I could at that.  What does everyone drink when the snow melts?"
140             - snow_melting
141
142    help_grain:
143        - say: "You mean like wheat, hops, barley?  I dunno about that, but if you poke around you should be able to find something with enough starch to ferment."
144        - responses:
145           -
146             - "Yeah, but where?"
147             - back
148
149    help_yeast:
150        - say: "Good luck finding that!"
151        - responses:
152           -
153             - "This is going to be harder than I thought"
154             - back
155
156    help_pot:
157        - say: "I'm pretty sure the quartermaster has one, back in the store room.  She can be hard to get stuff out of, though.  It's kind of her job to be stingy"
158        - responses:
159           -
160             - "Fantastic, I'll give the quartermaster a try."
161             - back
162
163    help_bottles:
164        - say: "I don't know, myself.  One of the scavenging teams must have brought in something."
165        - responses:
166           -
167             - "Scavenging teams?"
168             - explain_scavenging
169           -
170             - "OK, I'll poke around some more."
171             - back
172           
173    explain_scavenging:
174        - say: "Yeah, when the weather is good, we send out teams to dig around in the ruins and forests.  This place takes quite a bit of upkeep you know."
175        - responses:
176            -
177              - "Ah, makes sense."
178              - back help_beer
179              # Note: This could be another adventure hook for the PC to make some time as a scavanger.  Not for the demo
180
181    snow_melting:
182        - say: "Like I said, I never drink the stuff."
183        - responses:
184            -
185              - "Well, alrighty then."
186              - back help_beer
187             
188    reward_query:
189        - say: "I would think that getting your own booze ration would be reward enough!"
190        - responses:
191           -
192             - "I am fond of a bender now and again, it's true."
193             - old_pals
194           -
195             - "Personally, I stay away from alcohol.  Dulls the senses.  But I suppose I'll help you out of the goodness of my heart."
196             - old_pals
197             
198    dead_pekko:
199       - say: "Dead, huh.  That's a shame."
200       - responses:
201          -
202            - "You seem really broken up about it."
203            - dead_discuss
204          -
205            - "You don't seem very surprised to hear."
206            - dead_discuss_ii
207   
208    dead_discuss:
209       - say: "The kid was a problem.  It's no surprise to me that someone had it in for him."
210       - responses:
211          -
212            - "So you are saying that a lot of people wanted him dead?"
213            - dead_discuss_ii
214          -
215            - "Had it in for him... I didn't say he was murdered!"
216            - murder_accuse
217   
218    dead_discuss_ii:
219       - say: "Well, I'm sure it was just an accident.  It's a dangerous world today."
220       - responses:
221          -
222            - "Accident, huh.  Interesting theory"
223            - back old_pals
224          -
225            - "Oh, I don't think it was an accident at all.  I think he was murdered."
226            - murder_accuse
227   
228    help_fedex:
229       - say: "That's what was in the package. [Janie takes boots out of the package, and gives them to you]"
230       - get_stuff: boots
231       - responses:
232          -
233            - "Oh.  I must be missing something..."
234            - explain_boots
235   
236    murder_accuse:
237       - say: "Wait... so .. you are the junior detective now?  How do you know he was murdered?"
238       - responses:
239          -
240            - "His head was caved in, and his arm was broken from being forced into the snow hopper at the top of the cistern."
241            - discuss_murder
242          -
243            - "I know he was murdered, and I know you did it.  But I don't know why."
244            - accuse_bart
245          -
246            - "I think we both know how he was killed, Bart.  The question remains, who do I tell."
247            - blackmail_bart
248            #- need some conditional to test that PC has not already reported murder.
249   
250    discuss_murder:
251       - say: "Maybe he just fuckin' fell."
252       - responses:
253          -
254            - "Maybe.  But I'll get to the bottom of this."
255            - end
256          -
257            - "I don't think so, I think it was you.  The question is, why?"
258            - accuse_bart
259   
260    accuse_bart:
261        - say: "Look, stranger...  I don't know who you think you are but this isn't your place.  The fact is, Pekko didn't have many friends, and even his friends didn't even really like him."
262        - responses:
263            -
264              - "What about Janie?"
265              - janie_pekko_connection
266              - pc.hasSatisfiedQuest('fedex')
267            -
268              - "Whatever, murderer.  I'll see you hang."
269              - end
270
271    blackmail_bart:
272        - say: "Oh, so that's how it's going to be.  And what is the cost of your silence?"
273        - responses:
274            -
275              - "That's right, scumbag.  I'm going to squeeze you until you're dry."
276              - greedy_blackmail
277            -
278              - "That's a pretty nice coat you go there, I'll take that..."
279              - light_blackmail
280            -
281              - "Hey, I'm not a greedy bastard.  How about you just owe me?"
282              - delayed_blackmail
283            -
284              - "Ha, just joshing with ya.  Near as I can tell the guy deserved it."
285              - feint_blackmail
286 
287    greedy_blackmail:
288        - say: "You haven't got the guts.  My friends are powerful, and you ain't got nuthin' on me.  I'm calling your bluff."
289        - responses:
290            -
291              - "Guess we'll find out HOW powerful, now, won't we!"
292              - emd
293
294    light_blackmail:
295        - say: "My coat, huh.  That's it?  I guess life is pretty cheap these days.  Here ya go."
296        - get_stuff: coat
297        - responses:
298            -
299              - "Hey, pretty nice.  Fits too!  Catch ya later, Bart."
300              - end
301
302    delayed_blackmail:
303        - say: "OK, so I owe you one.  You never know when you might need a favor."
304        - responses:
305            -
306              - "That's what I was thinking."
307              - old_pals
308
309    feint_blackmail:
310        - say: "Very funny.  You're OK by me, though."
311        - responses:
312            -
313              - "Likewise, Bart.  This could be the result of a bee-you-ti-ful friendship"
314              - old_pals
315
316    janie_pekko_connection:
317        - say: "Ah, young Janie.  She's a good kid, and loyal.  Pekko brought here in here, you know. She owes him."
318        - responses:
319            -
320              - "I see."
321              - back
322               
323    beer_tasting:
324       - say: "You are a genius, sir, a genius. [Bart holds bottle up to the light]  Looks great. How did it come out?"
325       - responses:
326          -
327            - "I think it's just about perfect"
328            - best_beer
329            - beer.quality >= 5
330          -
331            - "It took some doing, but I think I got it down."
332            - good_beer
333            - beer.quality == 4
334          -
335            - "I am pretty happy about it, given the circumstances."
336            - decent_beer
337            - beer.quality == 3
338          -
339            - "It's not my best work, but it will get you hammered."
340            - ok_beer
341            - beer.quality == 2
342          -
343            - "I hope it turned out OK."
344            - bad_beer
345            - beer.quality == 1
346          -
347            - "No promises on the the taste..."
348            - poisonous_beer
349            - beer.quality < 1
350           
351    best_beer:
352        - say: "[ Bart drinks the beer] Let the church bells ring!  This stuff is awesome!"
353        - responses:
354           -
355             - "Glad you like it!"
356             - old_pals
357           
358    good_beer:
359        - say: "[ Bart drinks the beer] Nice job, Stranger.  You may fit in around here after all."
360        - complete_quest: beer
361        - responses:
362           -
363             - "Everyone likes a good brew."
364             - old_pals
365           
366    decent_beer:
367        - say: "[ Bart drinks the beer] It's got a decent bite, that's for sure. Drinkable, anyway."
368        - complete_quest: beer
369        - responses:
370           -
371             - "A couple more batches and I can hopefully work the kinks out."
372             - old_pals
373           
374    ok_beer:
375        - say: "[ Bart drinks the beer] Well, it's beer-like.  Odd aftertaste, though."
376        - complete_quest: beer
377        - responses:
378           -
379             - "Yeah, it could use some malt and hops, but it was the best I could do considering."
380             - old_pals
381           
382    bad_beer:
383        - say: "[ Bart drinks the beer, makes a face] You promise that this.. this... stuff will get me drunk???"
384        - complete_quest: beer
385        - responses:
386           -
387             - "It ought to, if you drink enough of it."
388             - old_pals
389           
390    poisonous_beer:
391        - say: "[ Bart drinks the beer, then sits down fast.] Oh... I uh... hmmm... are.. uh, you sure you did this right? [vomits]"
392        #- npc('Bart').poison('beer')
393        #- quest('beer').reset
394        # Not sure how to implement these yet; may not be necessary for the demo
395        # "quest.reset" would mean to basically allow the PC to try again
396        - responses:
397           -
398             - "Whoa... that's those old yams... yeah, gotta be the yams. My bad.  I'll try again."
399             - old_pals
400           
401    gratitude:
402        - say: "Ah, Mysterious Stranger, Braumeister of the Frozen North.   Now, if we can only get that still up and runnning my good chap!"
403        - responses:
404           -
405             - "I got some ideas on that, Bart... "
406             - old_pals
Note: See TracBrowser for help on using the repository browser.