Changeset 668 for trunk


Ignore:
Timestamp:
11/17/10 21:44:05 (9 years ago)
Author:
technomage
Message:

Ticket #269: Patch by Technomage.

  • Working prototype of the redesigned DialogueEngine? for the upcoming Techdemo2 release; major redesign of the existing DialogueEngine? and YAML dialogue file syntax.
  • Moved the redesigned DialogueEngine? class to the more descriptive dialogueengine.py module; the DialogueEngine? is now a singleton object and provides all functionality through class methods and attributes, and thus should not be instantiated
  • Abstracted the data structures used to store dialogue data away from the YAML data structures; the relevant classes are stored in the dialogue.py module
  • Abstracted the dialogue commands/actions from the DialogueEngine? code to make modifications and maintenance of dialogue logic easier; the relevant classes are stored in the dialogueactions.py module
  • The PyYAML loader has been replaced with a more robust YamlDialogueParser? class (see the dialogueparsers.py module) that interfaces with the new dialogue data structure classes and supports the new YAML dialogue file syntax; an OldYamlDialogueParser? class is provided to support reading the old Techdemo1 syntax
  • Removed the existing dialogue validator; runtime dialogue validation is not yet implemented
  • Added the convert_dialogue script, which converts dialogue files in the old Techdemo1 format to the new format; all existing dialogue files have been converted to work with the new parser
  • Added two support modules for the new classes and script: ordereddict.py, which provides a Python 2.7-like OrderedDict? class for Python versions 2.4-2.6; optionparser.py, which is a simplified command-line option parser for writing scripts as an alternative to argparse and optparse
  • Updated the dialogue_demo.py script to work with the new DialogueEngine?
  • fixes[s:trac, t:269]
Location:
trunk
Files:
12 added
2 deleted
27 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
        44.settings 
        55Thumbs.db 
         6 
         7.externalToolBuilders 
         8 
         9.cproject 
  • trunk/game/dialogue/bouncer.yaml

    r570 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    16 #   NOTE:  This is not a "real" dialogue file, it is meant to be a template for 
    17 #   Any generic fortified mall (techdemo location) denizen 
    1815--- 
    19 NPC: Dig 
    20 AVATAR: gui/icons/bouncer.png 
    21 START: main_dialog 
    22  
     16NPC_NAME: Dig 
     17AVATAR_PATH: gui/icons/bouncer.png 
     18START_SECTION: main_dialog 
    2319SECTIONS: 
    24     main_dialog: 
    25         - say: "What do you want?  Can't you see I'm drinking here?" 
    26         - meet: dig 
    27         - responses: 
    28            - 
    29              - "I'm looking for stuff to make beer with." 
    30              - help_beer 
    31              - quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') and quest['beer'].isGoalValue('beer_instructions') 
    32            - 
    33              - "Do you know Jacob?" 
    34              - explain_jacob 
    35            - 
    36              - "Do you work here?" 
    37              - inn_background 
    38            - 
    39              - "Are you going to kick my ass?" 
    40              - ass_kicking 
    41            - 
    42              - "Was Camillia with you in the bar here two nights ago?" 
    43              - check_alibi 
    44              - quest['fedex'].isGoalValue('drunkard_evidence') 
    45            - 
    46              - "Who are those two women over there?" 
    47              - loose_women 
    48            - 
    49              - "Why is Camilla such a bitch?" 
    50              - explain_camilla 
    51              - pc.met('camilla') 
    52            - 
    53              - "What is up with Synnove?" 
    54              - explain_synnove 
    55              - pc.met('synnove') 
    56            -  
    57              - "Your boss's booze monopoly is over!!" 
    58              - ungratitude 
    59              - quest['beer'].getValue('beer_quality') >= 1 
    60            -  
    61              - "I'm looking for Pekko, you seen him?" 
    62              - help_fedex 
    63              - quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    64            - 
    65              - "Hey, back off.  Just making small talk." 
    66              - parting_shot 
    67  
    68     explain_camilla: 
    69         - say: "Well, it's probably because she gets hit on by greasy layabouts all hours of the day.  Maybe you should cut her some slack." 
    70         - responses: 
    71            - 
    72              - "Hmmm... Can you confirm that she was here all night with you two days ago?" 
    73              - check_alibi 
    74              - quest['fedex'].isGoalValue('drunkard_evidence') 
    75            - 
    76              - "I suppose that's not unreasonable." 
    77              - back 
    78  
    79     check_alibi: 
    80         - say: "Huh?  You're not her boyfriend.  And I'm not her babysitter.  Why do you care?" 
    81         - responses: 
    82            - 
    83              - "I'm investigating a murder" 
    84              - investigate 
    85            - 
    86              - "No reason.  No reason at all." 
    87              - main_dialog 
    88  
    89     investigate: 
    90         - say: "Oh, in that case officer, she was with me the whole time. [rolls eyes]" 
    91         - responses: 
    92            - 
    93              - "I get the sense that you are not taking this very seriously." 
    94              - main_dialog 
    95  
    96     ass_kicking: 
    97         - say: "Not today.  I'm off duty.  But watch yourself all the same." 
    98         - responses: 
    99            - 
    100              - "I'll do that." 
    101              - back 
    102  
    103     explain_jacob: 
    104         - say: "I'm Jacob's guy.  You got a problem with him - or his family - you got a problem with me.  So do you have a problem?" 
    105         - responses: 
    106            - 
    107              - "Nope.  No problem at all." 
    108              - back 
    109  
    110     explain_synnove: 
    111         - say: "OK, she's a little weird.  She was 5 when she saw what those Russians bastards did to her mother.  She'd have been next if Jacob and I hadn't shown up in time." 
    112         - responses: 
    113            - 
    114              - "Oh, I had no idea.  Gruesome." 
    115              - back 
    116  
    117     inn_background: 
    118         - say: "If you call sittin' here and bullshitting `working`.  But I do solve problems for Jacob.  You're not a problem, are ya?" 
    119         - responses: 
    120            - 
    121              - "No sir, no problem here." 
    122              - back 
    123  
    124     help_beer: 
    125         - say: "Now you are just trying to be funny.  And failing.   Get out of here before I decide to throw you out." 
    126         - responses: 
    127            - 
    128              - "Yeah, well maybe I'll find my own bouncer, too!" 
    129              - parting_shot 
    130  
    131     loose_women: 
    132         - say: "Buy 'em a drink and find out." 
    133         - responses: 
    134            - 
    135              - "I would do that if I could afford the booze in this place." 
    136              - back 
    137  
    138     help_fedex: 
    139         - say: "I dunno.  Dude's in here all the time." 
    140         - responses: 
    141            - 
    142              - "Was he here talking to Bart a couple nights ago?" 
    143              - pekko_check 
    144              - quest['fedex'].isGoalValue('drunkard_evidence') 
    145            - 
    146              - "Lot of help you are." 
    147              - parting_shot 
    148  
    149     pekko_check: 
    150         - say: "Buy 'em a drink and find out." 
    151         - responses: 
    152            - 
    153              - "I would do that if I could afford the booze in this place." 
    154              - back 
    155  
    156     parting_shot: 
    157         - say: "Watch yourself, Bub.  I don't want to get out this chair." 
    158         - responses: 
    159            - 
    160              - "Ulp." 
    161              - end 
    162  
    163     ungratitude:  
    164         - say: "Oh, a wise guy huh??? [gets out of chair]" 
    165         - responses: 
    166            -  
    167              - "I'm out of here!" 
    168              - end 
    169   
     20-   ID: main_dialog 
     21    SAY: "What do you want?  Can't you see I'm drinking here?" 
     22    ACTIONS: 
     23    -   meet: 
     24        - dig 
     25    RESPONSES: 
     26    -   REPLY: "I'm looking for stuff to make beer with." 
     27        CONDITION: "quest.hasActiveQuest('beer') and not\ 
     28           \ quest.hasFinishedQuest('beer') and\ 
     29           \ quest['beer'].isGoalValue('beer_instructions')" 
     30        GOTO: help_beer 
     31         
     32    -   REPLY: "Do you know Jacob?" 
     33        GOTO: explain_jacob 
     34         
     35    -   REPLY: "Do you work here?" 
     36        GOTO: inn_background 
     37         
     38    -   REPLY: "Are you going to kick my ass?" 
     39        GOTO: ass_kicking 
     40         
     41    -   REPLY: "Was Camillia with you in the bar here two nights ago?" 
     42        CONDITION: "quest['fedex'].isGoalValue('drunkard_evidence')" 
     43        GOTO: check_alibi 
     44         
     45    -   REPLY: "Who are those two women over there?" 
     46        GOTO: loose_women 
     47         
     48    -   REPLY: "Why is Camilla such a bitch?" 
     49        CONDITION: "pc.met('camilla')" 
     50        GOTO: explain_camilla 
     51         
     52    -   REPLY: "What is up with Synnove?" 
     53        CONDITION: "pc.met('synnove')" 
     54        GOTO: explain_synnove 
     55         
     56    -   REPLY: "Your boss's booze monopoly is over!!" 
     57        CONDITION: "quest['beer'].getValue('beer_quality') >= 1" 
     58        GOTO: ungratitude 
     59         
     60    -   REPLY: "I'm looking for Pekko, you seen him?" 
     61        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     62           \ quest.hasFinishedQuest('fedex') and not\ 
     63           \ quest['fedex'].isGoalValue('found_pekko')" 
     64        GOTO: help_fedex 
     65         
     66    -   REPLY: "Hey, back off.  Just making small talk." 
     67        GOTO: parting_shot 
     68         
     69-   ID: explain_camilla 
     70    SAY: "Well, it's probably because she gets hit on by greasy layabouts all\ 
     71       \ hours of the day.  Maybe you should cut her some slack." 
     72    RESPONSES: 
     73    -   REPLY: "Hmmm... Can you confirm that she was here all night with you\ 
     74           \ two days ago?" 
     75        CONDITION: "quest['fedex'].isGoalValue('drunkard_evidence')" 
     76        GOTO: check_alibi 
     77         
     78    -   REPLY: "I suppose that's not unreasonable." 
     79        GOTO: back 
     80         
     81-   ID: check_alibi 
     82    SAY: "Huh?  You're not her boyfriend.  And I'm not her babysitter.  Why do\ 
     83       \ you care?" 
     84    RESPONSES: 
     85    -   REPLY: "I'm investigating a murder" 
     86        GOTO: investigate 
     87         
     88    -   REPLY: "No reason.  No reason at all." 
     89        GOTO: main_dialog 
     90         
     91-   ID: investigate 
     92    SAY: "Oh, in that case officer, she was with me the whole time. [rolls\ 
     93       \ eyes]" 
     94    RESPONSES: 
     95    -   REPLY: "I get the sense that you are not taking this very seriously." 
     96        GOTO: main_dialog 
     97         
     98-   ID: ass_kicking 
     99    SAY: "Not today.  I'm off duty.  But watch yourself all the same." 
     100    RESPONSES: 
     101    -   REPLY: "I'll do that." 
     102        GOTO: back 
     103         
     104-   ID: explain_jacob 
     105    SAY: "I'm Jacob's guy.  You got a problem with him - or his family - you\ 
     106       \ got a problem with me.  So do you have a problem?" 
     107    RESPONSES: 
     108    -   REPLY: "Nope.  No problem at all." 
     109        GOTO: back 
     110         
     111-   ID: explain_synnove 
     112    SAY: "OK, she's a little weird.  She was 5 when she saw what those Russians\ 
     113       \ bastards did to her mother.  She'd have been next if Jacob and I hadn't\ 
     114       \ shown up in time." 
     115    RESPONSES: 
     116    -   REPLY: "Oh, I had no idea.  Gruesome." 
     117        GOTO: back 
     118         
     119-   ID: inn_background 
     120    SAY: "If you call sittin' here and bullshitting `working`.  But I do solve\ 
     121       \ problems for Jacob.  You're not a problem, are ya?" 
     122    RESPONSES: 
     123    -   REPLY: "No sir, no problem here." 
     124        GOTO: back 
     125         
     126-   ID: help_beer 
     127    SAY: "Now you are just trying to be funny.  And failing.   Get out of here\ 
     128       \ before I decide to throw you out." 
     129    RESPONSES: 
     130    -   REPLY: "Yeah, well maybe I'll find my own bouncer, too!" 
     131        GOTO: parting_shot 
     132         
     133-   ID: loose_women 
     134    SAY: "Buy 'em a drink and find out." 
     135    RESPONSES: 
     136    -   REPLY: "I would do that if I could afford the booze in this place." 
     137        GOTO: back 
     138         
     139-   ID: help_fedex 
     140    SAY: "I dunno.  Dude's in here all the time." 
     141    RESPONSES: 
     142    -   REPLY: "Was he here talking to Bart a couple nights ago?" 
     143        CONDITION: "quest['fedex'].isGoalValue('drunkard_evidence')" 
     144        GOTO: pekko_check 
     145         
     146    -   REPLY: "Lot of help you are." 
     147        GOTO: parting_shot 
     148         
     149-   ID: pekko_check 
     150    SAY: "Buy 'em a drink and find out." 
     151    RESPONSES: 
     152    -   REPLY: "I would do that if I could afford the booze in this place." 
     153        GOTO: back 
     154         
     155-   ID: parting_shot 
     156    SAY: "Watch yourself, Bub.  I don't want to get out this chair." 
     157    RESPONSES: 
     158    -   REPLY: "Ulp." 
     159        GOTO: end 
     160         
     161-   ID: ungratitude 
     162    SAY: "Oh, a wise guy huh??? [gets out of chair]" 
     163    RESPONSES: 
     164    -   REPLY: "I'm out of here!" 
     165        GOTO: end 
     166         
     167... 
  • trunk/game/dialogue/camilla.yaml

    r570 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    16 #   NOTE:  This is not a "real" dialogue file, it is meant to be a template for 
    17 #   Any generic fortified mall (techdemo location) denizen 
    1815--- 
    19 NPC: Camilla Niitty 
    20 AVATAR: gui/icons/camilla.png 
    21 START: main_dialog 
    22  
     16NPC_NAME: Camilla Niitty 
     17AVATAR_PATH: gui/icons/camilla.png 
     18START_SECTION: main_dialog 
    2319SECTIONS: 
    24     main_dialog: 
    25         - say: "Oh, another vagabond.  What do you want?" 
    26         - meet: camilla 
    27         - responses: 
    28             - 
    29               - "I'm looking for stuff to make beer with " 
    30               - help_beer 
    31               - quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') and quest['beer'].isGoalValue('beer_instructions') 
    32             - 
    33               - "I'd like a drink." 
    34               - buy_drink 
    35             - 
    36               - "I like the bar.  Do you work here?" 
    37               - inn_background 
    38             - 
    39               - "Who are those two women over there?" 
    40               - loose_women 
    41             -  
    42               - "Your booze monopoly is over!!" 
    43               - ungratitude 
    44               - quest['beer'].getValue('beer_quality') >= 1 
    45             -  
    46               - "I'm looking for Pekko, you seen him?" 
    47               - help_fedex 
    48               - quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    49             - 
    50               - "Did you hear? Pekko's dead.  I found his body." 
    51               - pekko_dead 
    52               - quest['fedex'].isGoalValue('found_pekko') 
    53             - 
    54               - "You are as cold as... well, everything." 
    55               - end 
    56  
    57     buy_drink: 
    58         - say: "I'm off duty right now.  Go talk to Jacob." 
    59         - responses: 
    60            - 
    61              - "Oh, sorry to bother you." 
    62              - back 
    63  
    64     inn_background: 
    65         - say: "It's my Dad's place.  He's kind of a big shot around here, so watch yourself.  Dig is a personal friend of mine." 
    66         - responses: 
    67            - 
    68              - "Who's Dig?" 
    69              - explain_dig 
    70            - 
    71              - "Jacob is your father?" 
    72              - explain_jacob 
    73            - 
    74              - "Can you tell me anything about your sister?" 
    75              - explain_synnove 
    76            - 
    77              - "OK, lady.. no need to get defensive." 
    78              - back 
    79  
    80     explain_dig: 
    81         - say: "Dig is the badass at the end of the bar.  He eats fools and miscreants like you for breakfast." 
    82         - responses: 
    83            - 
    84              - "Hmmm... I hope he's not hungry then" 
    85              - back 
    86  
    87     explain_jacob: 
    88         - say: "Jacob is my father.  He runs this place.  He's basically the number two guy around here, after Kimmo." 
    89         - responses: 
    90            - 
    91              - "Well, maybe I should talk to him if he's so important." 
    92              - back 
    93  
    94     explain_synnove: 
    95         - say: "Ah, Synnove.  She's not really... you know.... with us.  I mean she is WITH us, with us, but not really all there.  But she's not crazy... just confused.  Oh, I probably said too much." 
    96         - responses: 
    97            - 
    98              - "Sounds about par for the course." 
    99              - back 
    100  
    101     help_beer: 
    102         - say: "Why don't you just buy... Oh.  OH.  Is that your little scheme?  If I were you I would just drop.  I don't think my dad will take kindly to competition." 
    103         - responses: 
    104            - 
    105              - "Ooops." 
    106              - end 
    107  
    108     loose_women: 
    109         - say: "Those two?  Cande and Kalli.  They're trouble.  Watch your wallet around them.  I mean, if we still had wallets.  And money." 
    110         - responses: 
    111            - 
    112              - "Ha, I can handle myself.  Thanks for the tip though." 
    113              - back 
    114  
    115     help_fedex: 
    116         - say: "Pekko?  Yeah, he was here a couple of nights ago.  Talking to Bart." 
    117         - responses: 
    118            - 
    119              - "Really?  You are the only person who's seen him lately.  Did he say anything about where he was going or what he was doing?" 
    120              - discuss_pekko 
    121  
    122     discuss_pekko: 
    123         - set_value: 
    124             quest: 'fedex' 
    125             variable: 'drunkard_evidence' 
    126             value: True 
    127         - say: "He didn't say anything directly... he mentioned getting ready to go out on one of his expeditions, but he wasn't going to leave until tomorrow.  He and Bart walked off together.  I saw them over by the cistern door, where that Matti guy puts all the snow." 
    128         - responses: 
    129            - 
    130              - "Wow, I better check that out." 
    131              - back 
    132  
    133     pekko_dead: 
    134         - say: "Dead?  Gee, that's awful.  I enjoyed his stories of the wilderness... I guess I am the last person to see him alive." 
    135         - responses: 
    136            - 
    137              - "Well, maybe the second-to-last." 
    138              - back 
    139            - 
    140              - "Come to think of it... were you alone here that night you last saw Pekko?" 
    141              - discuss_alibi 
    142  
    143     discuss_alibi: 
    144         - say: "You think I had something to do with this?  Well... impossible... I was here all night.  Dig and the girls were here too.  Ask'em." 
    145         - responses: 
    146            - 
    147              - "I suppose I'll do that." 
    148              - main_dialog 
    149  
    150     ungratitude:  
    151         - say: "You little rat!!! This is our business!!  Our livelyhood!!!  I'll KILL You!!!1" 
    152         - responses: 
    153            -  
    154              - "Hahaha... catch me if you can!!!" 
    155              - end 
    156   
     20-   ID: main_dialog 
     21    SAY: "Oh, another vagabond.  What do you want?" 
     22    ACTIONS: 
     23    -   meet: 
     24        - camilla 
     25    RESPONSES: 
     26    -   REPLY: "I'm looking for stuff to make beer with " 
     27        CONDITION: "quest.hasActiveQuest('beer') and not\ 
     28           \ quest.hasFinishedQuest('beer') and\ 
     29           \ quest['beer'].isGoalValue('beer_instructions')" 
     30        GOTO: help_beer 
     31         
     32    -   REPLY: "I'd like a drink." 
     33        GOTO: buy_drink 
     34         
     35    -   REPLY: "I like the bar.  Do you work here?" 
     36        GOTO: inn_background 
     37         
     38    -   REPLY: "Who are those two women over there?" 
     39        GOTO: loose_women 
     40         
     41    -   REPLY: "Your booze monopoly is over!!" 
     42        CONDITION: "quest['beer'].getValue('beer_quality') >= 1" 
     43        GOTO: ungratitude 
     44         
     45    -   REPLY: "I'm looking for Pekko, you seen him?" 
     46        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     47           \ quest.hasFinishedQuest('fedex') and not\ 
     48           \ quest['fedex'].isGoalValue('found_pekko')" 
     49        GOTO: help_fedex 
     50         
     51    -   REPLY: "Did you hear? Pekko's dead.  I found his body." 
     52        CONDITION: "quest['fedex'].isGoalValue('found_pekko')" 
     53        GOTO: pekko_dead 
     54         
     55    -   REPLY: "You are as cold as... well, everything." 
     56        GOTO: end 
     57         
     58-   ID: buy_drink 
     59    SAY: "I'm off duty right now.  Go talk to Jacob." 
     60    RESPONSES: 
     61    -   REPLY: "Oh, sorry to bother you." 
     62        GOTO: back 
     63         
     64-   ID: inn_background 
     65    SAY: "It's my Dad's place.  He's kind of a big shot around here, so watch\ 
     66       \ yourself.  Dig is a personal friend of mine." 
     67    RESPONSES: 
     68    -   REPLY: "Who's Dig?" 
     69        GOTO: explain_dig 
     70         
     71    -   REPLY: "Jacob is your father?" 
     72        GOTO: explain_jacob 
     73         
     74    -   REPLY: "Can you tell me anything about your sister?" 
     75        GOTO: explain_synnove 
     76         
     77    -   REPLY: "OK, lady.. no need to get defensive." 
     78        GOTO: back 
     79         
     80-   ID: explain_dig 
     81    SAY: "Dig is the badass at the end of the bar.  He eats fools and\ 
     82       \ miscreants like you for breakfast." 
     83    RESPONSES: 
     84    -   REPLY: "Hmmm... I hope he's not hungry then" 
     85        GOTO: back 
     86         
     87-   ID: explain_jacob 
     88    SAY: "Jacob is my father.  He runs this place.  He's basically the number\ 
     89       \ two guy around here, after Kimmo." 
     90    RESPONSES: 
     91    -   REPLY: "Well, maybe I should talk to him if he's so important." 
     92        GOTO: back 
     93         
     94-   ID: explain_synnove 
     95    SAY: "Ah, Synnove.  She's not really... you know.... with us.  I mean she\ 
     96       \ is WITH us, with us, but not really all there.  But she's not crazy...\ 
     97       \ just confused.  Oh, I probably said too much." 
     98    RESPONSES: 
     99    -   REPLY: "Sounds about par for the course." 
     100        GOTO: back 
     101         
     102-   ID: help_beer 
     103    SAY: "Why don't you just buy... Oh.  OH.  Is that your little scheme?  If I\ 
     104       \ were you I would just drop.  I don't think my dad will take kindly to\ 
     105       \ competition." 
     106    RESPONSES: 
     107    -   REPLY: "Ooops." 
     108        GOTO: end 
     109         
     110-   ID: loose_women 
     111    SAY: "Those two?  Cande and Kalli.  They're trouble.  Watch your wallet\ 
     112       \ around them.  I mean, if we still had wallets.  And money." 
     113    RESPONSES: 
     114    -   REPLY: "Ha, I can handle myself.  Thanks for the tip though." 
     115        GOTO: back 
     116         
     117-   ID: help_fedex 
     118    SAY: "Pekko?  Yeah, he was here a couple of nights ago.  Talking to Bart." 
     119    RESPONSES: 
     120    -   REPLY: "Really?  You are the only person who's seen him lately.  Did he\ 
     121           \ say anything about where he was going or what he was doing?" 
     122        ACTIONS: 
     123        -   set_quest_value: 
     124                quest: fedex 
     125                value: true 
     126                variable: drunkard_evidence 
     127        GOTO: discuss_pekko 
     128         
     129-   ID: discuss_pekko 
     130    SAY: "He didn't say anything directly... he mentioned getting ready to go\ 
     131       \ out on one of his expeditions, but he wasn't going to leave until\ 
     132       \ tomorrow.  He and Bart walked off together.  I saw them over by the\ 
     133       \ cistern door, where that Matti guy puts all the snow." 
     134    RESPONSES: 
     135    -   REPLY: "Wow, I better check that out." 
     136        GOTO: back 
     137         
     138-   ID: pekko_dead 
     139    SAY: "Dead?  Gee, that's awful.  I enjoyed his stories of the wilderness...\ 
     140       \ I guess I am the last person to see him alive." 
     141    RESPONSES: 
     142    -   REPLY: "Well, maybe the second-to-last." 
     143        GOTO: back 
     144         
     145    -   REPLY: "Come to think of it... were you alone here that night you last\ 
     146           \ saw Pekko?" 
     147        GOTO: discuss_alibi 
     148         
     149-   ID: discuss_alibi 
     150    SAY: "You think I had something to do with this?  Well... impossible... I\ 
     151       \ was here all night.  Dig and the girls were here too.  Ask'em." 
     152    RESPONSES: 
     153    -   REPLY: "I suppose I'll do that." 
     154        GOTO: main_dialog 
     155         
     156-   ID: ungratitude 
     157    SAY: "You little rat!!! This is our business!!  Our livelyhood!!!  I'll\ 
     158       \ KILL You!!!1" 
     159    RESPONSES: 
     160    -   REPLY: "Hahaha... catch me if you can!!!" 
     161        GOTO: end 
     162         
     163... 
  • trunk/game/dialogue/crazy_swede.yaml

    r618 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    1615--- 
    17 NPC: Skwisgaar the Crazy Swede 
    18 AVATAR: gui/icons/crazy_swede.png 
    19 START: main_dialog 
    20  
     16NPC_NAME: Skwisgaar the Crazy Swede 
     17AVATAR_PATH: gui/icons/crazy_swede.png 
     18START_SECTION: main_dialog 
    2119SECTIONS: 
    22     main_dialog: 
    23         - say: "Chop!  Chop!  Chopity Chop-chop?" 
    24         - meet: skwisgaar 
    25         - responses: 
    26             - 
    27               - "Chop-chop.  Chop-choppy, choppy chop." 
    28               - a1 
    29             -  
    30               - "You are the woodcutter?" 
    31               - a2 
    32             -  
    33               - "Sorry, I don't speak chop." 
    34               - end 
    35  
    36     a1: 
    37         - say: "Ah, you speak the lingo!  How long have you been chopping the good chop?" 
    38         - responses: 
    39             - 
    40               - "Oh, me?  - These hands are not suited for manual labor." 
    41               - a2 
    42             - 
    43               - "I have been known to chop-chop the wood what needs choppin' -- if you know what I mean." 
    44               - b1 
    45     a2: 
    46         - say: "You gots to Chop what to Chop when the Choppin' needs a Chop!!!" 
    47         - responses: 
    48             - 
    49               - "Yes, my man it is only us against the wood!" 
    50               - b1 
    51             - 
    52               - "Chop?  What the hell are you talking about!" 
    53               - b2 
    54             - 
    55               - "Enough with the chop talk!  Do you have any yeast?" 
    56               - end 
    57               - quest.hasActiveQuest('beer') and quest['beer'].isGoalValue('beer_instructions') 
    58     b1: 
    59         - say: "Ah, so you chop the chop... but do you Chop the Chop?" 
    60         - responses: 
    61             - 
    62               - "Well, that's how we did it back in Sweden!" 
    63               - c1 
    64             - 
    65               - "Well, that's how we did it back in Norway!" 
    66               - c2 
    67             - 
    68               - "Well, that is how we Finns get it done!" 
    69               - c3 
    70  
    71     b2: 
    72         - say: "Chopity!!! Chop the Chop-chop!!!" 
    73         - responses: 
    74             - 
    75               - "Chop?  You betcha - chop, chop!" 
    76               - b1 
    77             - 
    78               - "Yeast.  Y-E-A-S-T.  For making booze.  Do you understand me?" 
    79               - end 
    80               - quest.hasActiveQuest('beer') and quest['beer'].isGoalValue('beer_instructions') 
    81             - 
    82               - "Screw this, you cannot argue with a Swede!" 
    83               - c1 
    84             - 
    85               - "You got a problem?  Hit in the head during the war?" 
    86               - permanent_failure 
    87                
    88     c1: 
    89         - say: "Sweden!  Sweden?  Got no chops!!!" 
    90         - responses: 
    91             - 
    92               - "But they told me you were from there." 
    93               - main_dialog 
    94             - 
    95               - "Oh.. you aren't Swedish, are you?" 
    96               - end 
    97             - 
    98               - "Did I say Sweden?  I meant Norway." 
    99               - c2 
    100               - quest['beer'].getValue('yeast_available') 
    101                
    102     c2: 
    103         - say: "N..n...Norway.  Norway...  NORWAY!  The FJORDS!!!! [sobs]" 
    104         - responses: 
    105             - 
    106               - "Did I say Norway?  I meant Sweden." 
    107               - c1 
    108             - 
    109               - "Hey, Hey - there it's OK.  We have Fjords right here in Finland." 
    110               - c3 
    111             -  
    112               - "You are not pining, are you?" 
    113               - main_dialog 
    114             - 
    115               # below conditionals could be changed to "isActiveQuest" but it hardly matters 
    116               - "Yeah, buddy.  You are a long way from home.  Be nice if we had a drink to toast to Norway." 
    117               - d 
    118               - quest.hasActiveQuest('beer') and quest['beer'].getValue('yeast_available') 
    119             - 
    120               - "Yeah, buddy.  You are a long way from home." 
    121               - dprime 
    122               - quest.hasActiveQuest('beer') and not quest['beer'].getValue('yeast_available') 
    123                
    124     c3: 
    125         - say: "FINLAND GOT NO FJORDS!!!!" 
    126         - responses: 
    127             - 
    128               - "Whoa... no need to get excited there... uh... Chop?  Choppy-Chop-Chop?" 
    129               - b2 
    130             - 
    131               - "At least they know how to make booze!" 
    132               - end 
    133             - 
    134               - "You are totally insane." 
    135               - permanent_failure 
    136                
    137     d: 
    138         - say: "Ah, a toast to the King!  The King of Norway!  [looks around furtively]  But the Skol!  Need the bugs for the skol! " 
    139         - responses: 
    140             - 
    141               - "Bugs?  You eat bugs?" 
    142               - e1 
    143             - 
    144               - "Bugs?  You mean for beer?  Little yeasties?" 
    145               - e2 
    146     dprime: 
    147         # this is where you go if yeast is unavailable 
    148         - say: "No bugs for you!" 
    149         - responses: 
    150             - 
    151               - "Nuts." 
    152               - end 
    153     e1: 
    154         - say: "HAHAA... uncultured baboon!  Baboon- bug eater!  Don't eat the bugs!  Ferment with the bugs! " 
    155         - responses: 
    156             - 
    157               - "That's what I need!  Fermentation bugs!" 
    158               - end 
    159             - 
    160               - "Ah, indeed!  A fermented beverage!  Fit for a King..." 
    161               - d 
    162             - 
    163               - "YES!  The bugs!  The yeast bugs!  For the Fermentation!" 
    164               - get_yeast 
    165     e2: 
    166         - say: "Yeasties!  Belittle them not, foreign stranger!  The finest Norwegian yeast I have saved for 1,000 years!!" 
    167         - responses: 
    168             - 
    169               - "Oh you're one to talk about Foreigers, Swede!" 
    170               - end 
    171             - 
    172               - "Ah, Norwegian yeast.  Truly a permanent cultural artifact!" 
    173               - e1 
    174             - 
    175               - "1000 years?" 
    176               - permanent_failure 
    177          
    178     get_yeast: 
    179         - say: "My precious beasties... yeasty beasties for the fermentation!  Don't forget to save Culture and Civilization!" 
    180         - get_stuff: Yeast 
    181         - set_value: 
    182             quest: 'beer' 
    183             variable: "yeast_available" 
    184             value: 0 
    185         - responses: 
    186             - 
    187               - "Thanks buddy!  Skol!" 
    188               - end 
    189      
    190     permanent_failure: 
    191         - say: "[ scowls ] Chop!  Chop!  Chopity Chop-chop.  Chop." 
    192         - set_value: 
    193             quest: 'beer' 
    194             variable: "yeast_available" 
    195             value: 0 
    196         # yeast is now unobtainable 
    197         - responses: 
    198             - 
    199               - "Go ahead and chop wood until the end of your days, nutball!" 
    200               - end 
    201          
     20-   ID: main_dialog 
     21    SAY: "Chop!  Chop!  Chopity Chop-chop?" 
     22    ACTIONS: 
     23    -   meet: 
     24        - skwisgaar 
     25    RESPONSES: 
     26    -   REPLY: "Chop-chop.  Chop-choppy, choppy chop." 
     27        GOTO: a1 
     28         
     29    -   REPLY: "You are the woodcutter?" 
     30        GOTO: a2 
     31         
     32    -   REPLY: "Sorry, I don't speak chop." 
     33        GOTO: end 
     34         
     35-   ID: a1 
     36    SAY: "Ah, you speak the lingo!  How long have you been chopping the good\ 
     37       \ chop?" 
     38    RESPONSES: 
     39    -   REPLY: "Oh, me?  - These hands are not suited for manual labor." 
     40        GOTO: a2 
     41         
     42    -   REPLY: "I have been known to chop-chop the wood what needs choppin' --\ 
     43           \ if you know what I mean." 
     44        GOTO: b1 
     45         
     46-   ID: a2 
     47    SAY: "You gots to Chop what to Chop when the Choppin' needs a Chop!!!" 
     48    RESPONSES: 
     49    -   REPLY: "Yes, my man it is only us against the wood!" 
     50        GOTO: b1 
     51         
     52    -   REPLY: "Chop?  What the hell are you talking about!" 
     53        GOTO: b2 
     54         
     55    -   REPLY: "Enough with the chop talk!  Do you have any yeast?" 
     56        CONDITION: "quest.hasActiveQuest('beer') and\ 
     57           \ quest['beer'].isGoalValue('beer_instructions')" 
     58        GOTO: end 
     59         
     60-   ID: b1 
     61    SAY: "Ah, so you chop the chop... but do you Chop the Chop?" 
     62    RESPONSES: 
     63    -   REPLY: "Well, that's how we did it back in Sweden!" 
     64        GOTO: c1 
     65         
     66    -   REPLY: "Well, that's how we did it back in Norway!" 
     67        GOTO: c2 
     68         
     69    -   REPLY: "Well, that is how we Finns get it done!" 
     70        GOTO: c3 
     71         
     72-   ID: b2 
     73    SAY: "Chopity!!! Chop the Chop-chop!!!" 
     74    RESPONSES: 
     75    -   REPLY: "Chop?  You betcha - chop, chop!" 
     76        GOTO: b1 
     77         
     78    -   REPLY: "Yeast.  Y-E-A-S-T.  For making booze.  Do you understand me?" 
     79        CONDITION: "quest.hasActiveQuest('beer') and\ 
     80           \ quest['beer'].isGoalValue('beer_instructions')" 
     81        GOTO: end 
     82         
     83    -   REPLY: "Screw this, you cannot argue with a Swede!" 
     84        GOTO: c1 
     85         
     86    -   REPLY: "You got a problem?  Hit in the head during the war?" 
     87        ACTIONS: 
     88        -   set_quest_value: &id001 
     89                quest: beer 
     90                value: 0 
     91                variable: yeast_available 
     92        GOTO: permanent_failure 
     93         
     94-   ID: c1 
     95    SAY: "Sweden!  Sweden?  Got no chops!!!" 
     96    RESPONSES: 
     97    -   REPLY: "But they told me you were from there." 
     98        GOTO: main_dialog 
     99         
     100    -   REPLY: "Oh.. you aren't Swedish, are you?" 
     101        GOTO: end 
     102         
     103    -   REPLY: "Did I say Sweden?  I meant Norway." 
     104        CONDITION: "quest['beer'].getValue('yeast_available')" 
     105        GOTO: c2 
     106         
     107-   ID: c2 
     108    SAY: "N..n...Norway.  Norway...  NORWAY!  The FJORDS!!!! [sobs]" 
     109    RESPONSES: 
     110    -   REPLY: "Did I say Norway?  I meant Sweden." 
     111        GOTO: c1 
     112         
     113    -   REPLY: "Hey, Hey - there it's OK.  We have Fjords right here in\ 
     114           \ Finland." 
     115        GOTO: c3 
     116         
     117    -   REPLY: "You are not pining, are you?" 
     118        GOTO: main_dialog 
     119         
     120    -   REPLY: "Yeah, buddy.  You are a long way from home.  Be nice if we had\ 
     121           \ a drink to toast to Norway." 
     122        CONDITION: "quest.hasActiveQuest('beer') and\ 
     123           \ quest['beer'].getValue('yeast_available')" 
     124        GOTO: d 
     125         
     126    -   REPLY: "Yeah, buddy.  You are a long way from home." 
     127        CONDITION: "quest.hasActiveQuest('beer') and not\ 
     128           \ quest['beer'].getValue('yeast_available')" 
     129        GOTO: dprime 
     130         
     131-   ID: c3 
     132    SAY: "FINLAND GOT NO FJORDS!!!!" 
     133    RESPONSES: 
     134    -   REPLY: "Whoa... no need to get excited there... uh... Chop?\ 
     135           \ Choppy-Chop-Chop?" 
     136        GOTO: b2 
     137         
     138    -   REPLY: "At least they know how to make booze!" 
     139        GOTO: end 
     140         
     141    -   REPLY: "You are totally insane." 
     142        ACTIONS: 
     143        -   set_quest_value: *id001 
     144        GOTO: permanent_failure 
     145         
     146-   ID: d 
     147    SAY: "Ah, a toast to the King!  The King of Norway!  [looks around\ 
     148       \ furtively]  But the Skol!  Need the bugs for the skol! " 
     149    RESPONSES: 
     150    -   REPLY: "Bugs?  You eat bugs?" 
     151        GOTO: e1 
     152         
     153    -   REPLY: "Bugs?  You mean for beer?  Little yeasties?" 
     154        GOTO: e2 
     155         
     156-   ID: dprime 
     157    SAY: "No bugs for you!" 
     158    RESPONSES: 
     159    -   REPLY: "Nuts." 
     160        GOTO: end 
     161         
     162-   ID: e1 
     163    SAY: "HAHAA... uncultured baboon!  Baboon- bug eater!  Don't eat the bugs!\ 
     164       \ Ferment with the bugs! " 
     165    RESPONSES: 
     166    -   REPLY: "That's what I need!  Fermentation bugs!" 
     167        GOTO: end 
     168         
     169    -   REPLY: "Ah, indeed!  A fermented beverage!  Fit for a King..." 
     170        GOTO: d 
     171         
     172    -   REPLY: "YES!  The bugs!  The yeast bugs!  For the Fermentation!" 
     173        ACTIONS: 
     174        -   take_stuff: 
     175            - Yeast 
     176        -   set_quest_value: 
     177                quest: beer 
     178                value: 0 
     179                variable: yeast_available 
     180        GOTO: get_yeast 
     181         
     182-   ID: e2 
     183    SAY: "Yeasties!  Belittle them not, foreign stranger!  The finest Norwegian\ 
     184       \ yeast I have saved for 1,000 years!!" 
     185    RESPONSES: 
     186    -   REPLY: "Oh you're one to talk about Foreigers, Swede!" 
     187        GOTO: end 
     188         
     189    -   REPLY: "Ah, Norwegian yeast.  Truly a permanent cultural artifact!" 
     190        GOTO: e1 
     191         
     192    -   REPLY: "1000 years?" 
     193        ACTIONS: 
     194        -   set_quest_value: *id001 
     195        GOTO: permanent_failure 
     196         
     197-   ID: get_yeast 
     198    SAY: "My precious beasties... yeasty beasties for the fermentation!  Don't\ 
     199       \ forget to save Culture and Civilization!" 
     200    RESPONSES: 
     201    -   REPLY: "Thanks buddy!  Skol!" 
     202        GOTO: end 
     203         
     204-   ID: permanent_failure 
     205    SAY: "[ scowls ] Chop!  Chop!  Chopity Chop-chop.  Chop." 
     206    RESPONSES: 
     207    -   REPLY: "Go ahead and chop wood until the end of your days, nutball!" 
     208        GOTO: end 
     209         
     210... 
  • trunk/game/dialogue/drunkard.yaml

    r570 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    1615--- 
    17 NPC: Bart The Drunkard 
    18 AVATAR: gui/icons/drunkard.png 
    19 START: main_dialog 
    20  
     16NPC_NAME: Bart The Drunkard 
     17AVATAR_PATH: gui/icons/drunkard.png 
     18START_SECTION: main_dialog 
    2119SECTIONS: 
    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.met('bart') and quest.hasFinishedQuest('beer') 
    33             -  
    34               - "Same old Bart,  I see." 
    35               - old_pals 
    36               - pc.met('bart') and not quest['fedex'].isGoalValue('accused_of_murder') 
    37             -  
    38               - "See you later, Killer." 
    39               - end 
    40               - pc.met('bart') and quest['fedex'].isGoalValue('accused_of_murder') 
    41             - 
    42               - "Ha, you better sleep it off, buddy." 
    43               - end 
    44  
    45     first_impression: 
    46         - say: "Oh... yeah... sorry.  My vision goes a little funny sometimes.  Name's Bart." 
    47         - meet: bart 
    48         - responses: 
    49             - 
    50               - "Are you drunk?" 
    51               - elaborate_beer 
    52               - not quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') 
    53             # above should always be true since there is no other way to get the quest   
    54             - 
    55               - "Wow, you're really hammered.  I'll come back when you're sober." 
    56               - end 
    57   
    58     elaborate_beer: 
    59         - say: "Well, not for much longer, unfortunately.  My stash is just about run dry.  That bastard, Jacob has a still, but who can afford his prices!  He basically has a monopoly.  No one else around here knows how to brew us up some more booze!" 
    60         - responses:  
    61             -  
    62               - "Wow, what a jerk.  Well, I'll be glad to lend a hand to such a noble task. Assuming you guys will supply the raw materials." 
    63               - quest_beer 
    64             -  
    65               - "Hey, the man is entitled to run his business.  I'm not going to mess up his meal ticket." 
    66               - old_pals 
    67             -  
    68               - "Alcohol is work of the Devil!!" 
    69               - end 
    70          
    71     quest_beer:            
    72          - say:  "You sir, are a gentleman and a scholar.  I am sure folks around here will help you find what you need." 
    73          - start_quest: beer 
    74          - responses: 
    75              - 
    76                - "You aren't even going to offer me a reward?" 
    77                - reward_query 
    78              - 
    79                - "Well, I'll get right on it.  Finally, a worthwhile test of my scrounging skills." 
    80                - old_pals 
    81               
    82     old_pals: 
    83          - say: "So what can I do for you?" 
    84          - responses: 
    85              - 
    86                - "Hey, Bart - here is my shopping list I need to brew us up something tasty.  Can you help?" 
    87                - help_beer 
    88                - quest.hasActiveQuest('beer') and quest['beer'].isGoalValue('beer_instructions') and not quest.hasFinishedQuest('beer') 
    89              - 
    90                - "By the way, Bart, I am looking for a chap named 'Pekko', you know were I can find him?" 
    91                - help_fedex 
    92                - quest.hasActiveQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    93              - 
    94                - "Hm.  You got a good buzz on, today?" 
    95                - elaborate_beer 
    96                - not quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') 
    97              - 
    98                - "Hey, try my fantastic brew!" 
    99                - beer_tasting 
    100                - quest['beer'].getValue('beer_quality') != 0 
    101              - 
    102                - "Well, I am off to make some beer, wish me luck!" 
    103                - end 
    104                - quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') and quest['beer'].getValue('beer_quality') == 0 
    105              - 
    106                - "Adios, Bart" 
    107                - end 
    108                - not quest.hasActiveQuest('beer') or quest.hasFinishedQuest('beer') 
    109              - 
    110                - "Did you hear about Pekko?" 
    111                - dead_pekko 
    112                - quest.hasActiveQuest('fedex') and quest['fedex'].isGoalValue('found_pekko') and not quest['fedex'].isGoalValue('accused_of_murder') 
    113              - 
    114                - "Pekko was murdered.  And someone's responsible." 
    115                - murder_accuse 
    116                - quest.hasActiveQuest('fedex') and quest['fedex'].isGoalValue('found_pekko') and not quest['fedex'].isGoalValue('accused_of_murder') 
    117   
    118     help_beer: 
    119         - say: "Well, what do you need?" 
    120         - responses: 
    121            - 
    122              - "Where do you folks get water from.  The more pure, the better." 
    123              - help_water 
    124              - not quest['fedex'].isGoalValue('drunkard_water_asked') 
    125              # the idea is that Bart's odd response is the clue that he killed Pekko 
    126              # and put the body in the tank.  The conditional is to delete this option 
    127              # after it's been asked once. 
    128            - 
    129              - "Some kind of grain, or fruit or something." 
    130              - help_grain 
    131            - 
    132              - "I'm really looking for some brewer's yeast." 
    133              - help_yeast 
    134            - 
    135              - "I need a pot to cook the mash in." 
    136              - help_pot 
    137            - 
    138              - "It would be great if I had some bottles to put the brew in!" 
    139              - help_bottles 
    140            -  
    141              - "I think I can handle it from here." 
    142              - back 
    143  
    144     help_water: 
    145         - say: "Water!  I dunno.  I never trust the stuff.  Guess you could melt snow or something." 
    146         - responses: 
    147            - 
    148              - "Yeah, I suppose I could at that.  What does everyone drink when the snow melts?" 
    149              - snow_melting 
    150  
    151     help_grain: 
    152         - 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." 
    153         - responses: 
    154            - 
    155              - "Yeah, but where?" 
    156              - back 
    157  
    158     help_yeast: 
    159         - say: "Good luck finding that!" 
    160         - responses: 
    161            - 
    162              - "This is going to be harder than I thought" 
    163              - back 
    164  
    165     help_pot: 
    166         - 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" 
    167         - responses: 
    168            - 
    169              - "Fantastic, I'll give the quartermaster a try." 
    170              - back 
    171  
    172     help_bottles: 
    173         - say: "I don't know, myself.  One of the scavenging teams must have brought in something." 
    174         - responses: 
    175            - 
    176              - "Scavenging teams?" 
    177              - explain_scavenging 
    178            - 
    179              - "OK, I'll poke around some more." 
    180              - back 
    181              
    182     explain_scavenging: 
    183         - 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." 
    184         - responses: 
    185             - 
    186               - "Ah, makes sense." 
    187               - back help_beer 
    188               # Note: This could be another adventure hook for the PC to make some time as a scavanger.  Not for the demo 
    189  
    190     snow_melting: 
    191         - say: "Like I said, I never drink the stuff." 
    192         - set_value: 
    193             quest: 'fedex' 
    194             variable: "drunkard_water_asked" 
    195             value: 1 
    196         - responses: 
    197             - 
    198               - "Well, alrighty then." 
    199               - back help_beer 
    200                
    201     reward_query: 
    202         - say: "I would think that getting your own booze ration would be reward enough!" 
    203         - responses:  
    204             - 
    205               - "I am fond of a bender now and again, it's true." 
    206               - old_pals 
    207             - 
    208               - "Personally, I stay away from alcohol.  Dulls the senses.  But I suppose I'll help you out of the goodness of my heart." 
    209               - old_pals 
    210               
    211     dead_pekko: 
    212        - say: "Dead, huh.  That's a shame." 
    213        - responses: 
    214           - 
    215             - "You seem really broken up about it." 
    216             - dead_discuss 
    217           - 
    218             - "You don't seem very surprised to hear." 
    219             - dead_discuss_ii 
    220      
    221     dead_discuss: 
    222        - say: "The kid was a problem.  It's no surprise to me that someone had it in for him." 
    223        - responses: 
    224           - 
    225             - "So you are saying that a lot of people wanted him dead?" 
    226             - dead_discuss_ii 
    227           - 
    228             - "Had it in for him... I didn't say he was murdered!" 
    229             - murder_accuse 
    230      
    231     dead_discuss_ii: 
    232        - say: "Well, I'm sure it was just an accident.  It's a dangerous world today." 
    233        - responses: 
    234           - 
    235             - "Accident, huh.  Interesting theory" 
    236             - back old_pals 
    237           - 
    238             - "Oh, I don't think it was an accident at all.  I think he was murdered." 
    239             - murder_accuse 
    240      
    241     help_fedex: 
    242        - say: "No, I think maybe he left town." 
    243        - responses: 
    244           - 
    245             - "Really?  Do you know when he'll back" 
    246             - where_pekko 
    247      
    248     help_fedex: 
    249        - say: "No idea." 
    250        - responses: 
    251           - 
    252             - "Thanks..." 
    253             - back old_pals 
    254      
    255     murder_accuse: 
    256        - say: "Wait... so .. you are the junior detective now?  How do you know he was murdered?" 
    257        - responses: 
    258           - 
    259             - "His head was caved in, and his arm was broken from being forced into the snow hopper at the top of the cistern." 
    260             - discuss_murder 
    261           - 
    262             - "I know he was murdered, and I know you did it.  But I don't know why." 
    263             - accuse_bart 
    264           - 
    265             - "I think we both know how he was killed, Bart.  The question remains, who do I tell." 
    266             - blackmail_bart 
    267             - not quest['fedex'].getValue('report_murder_to_janie') and not quest['fedex'].getValue('report_murder_to_kimmo') 
    268      
    269     discuss_murder: 
    270        - say: "Maybe he just fuckin' fell." 
    271        - responses: 
    272           - 
    273             - "Maybe.  But I'll get to the bottom of this." 
    274             - end 
    275           -  
    276             - "I don't think so, I think it was you.  The question is, why?" 
    277             - accuse_bart 
    278      
    279     accuse_bart: 
    280         - 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." 
    281         - set_value: 
    282             quest: 'fedex' 
    283             variable: 'accused_of_murder' 
    284             value: 'bart' 
    285         - responses: 
    286             -  
    287               - "What about Janie?" 
    288               - janie_pekko_connection 
    289               - quest.hasFinishedQuest('fedex') 
    290             - 
    291               - "Whatever, murderer.  I'll see you hang." 
    292               - end 
    293  
    294     blackmail_bart: 
    295         - say: "Oh, so that's how it's going to be.  And what is the cost of your silence?" 
    296         - responses: 
    297             -  
    298               - "That's right, scumbag.  I'm going to squeeze you until you're dry." 
    299               - greedy_blackmail 
    300             -  
    301               - "That's a pretty nice coat you go there, I'll take that..." 
    302               - light_blackmail 
    303               - not quest['fedex'].isGoalValue('got_drunkards_coat') 
    304             - 
    305               - "Hey, I'm not a greedy bastard.  How about you just owe me?" 
    306               - delayed_blackmail 
    307             - 
    308               - "Ha, just joshing with ya.  Near as I can tell the guy deserved it." 
    309               - feint_blackmail 
    310   
    311     greedy_blackmail: 
    312         - say: "You haven't got the guts.  My friends are powerful, and you ain't got nuthin' on me.  I'm calling your bluff." 
    313         - responses: 
    314             -  
    315               - "Guess we'll find out HOW powerful, now, won't we!" 
    316               - end 
    317  
    318     light_blackmail: 
    319         - say: "My coat, huh.  That's it?  I guess life is pretty cheap these days.  Here ya go." 
    320         - set_value: 
    321             quest: 'fedex' 
    322             variable: 'got_drunkards_coat' 
    323             value: 1         
    324         - get_stuff: coat 
    325         - responses: 
    326             -  
    327               - "Hey, pretty nice.  Fits too!  Catch ya later, Bart." 
    328               - end 
    329  
    330     delayed_blackmail: 
    331         - say: "OK, so I owe you one.  You never know when you might need a favor." 
    332         - responses: 
    333             -  
    334               - "That's what I was thinking." 
    335               - old_pals 
    336  
    337     feint_blackmail: 
    338         - say: "Deserve got nothin' to do with it.  You're OK by me, though." 
    339         - responses: 
    340             -  
    341               - "Likewise, Bart.  This could be the result of a bee-you-ti-ful friendship" 
    342               - old_pals 
    343  
    344     janie_pekko_connection: 
    345         - say: "Janie... what does she have anything to this?  What have you told her?" 
    346         - responses: 
    347             -  
    348               - "I don't see what difference it makes." 
    349               - janie_pekko_continued               
    350                 
    351     janie_pekko_continued: 
    352         - say: "It.. it.. has everything.  Look.  You can't tell her, OK.  You just can't." 
    353         - responses: 
    354             -  
    355               - "It's too late.  She already knows you killed him." 
    356               - janie_knows 
    357               - quest['fedex'].getValue('report_murder_to_janie') and quest['fedex'].getValue('accused_of_murder') = 'bart'               
    358             - 
    359               - "Oh, I can't?  Why shouldn't I?" 
    360               - force_bart 
    361  
    362     janie_knows: 
    363         - say: "Aw, hell.  You gotta... I dunno.  Take it back... I ... I .. Aw, hell." 
    364         - responses: 
    365             -  
    366               - "Will you tell me the whole story if I convince her it was someone else?  Or an accident?" 
    367               - recant_testimony 
    368             - 
    369               - "How did you think you could keep it from her?  Idiot.  You deserve what's coming to you." 
    370               - end 
    371   
    372     recant_testimony: 
    373         - say: "Anything man, I'll do anything." 
    374         - responses: 
    375             -  
    376               - "I don't know if it will work, but I'll try" 
    377               - end 
    378      
    379     force_bart: 
    380         - say: "Because... because... [sobs].  I love her.  Look.  Promise me you won't tell her and I'll spill." 
    381         - responses: 
    382             -  
    383               - "I can't promise that." 
    384               - no_promise 
    385             - 
    386               - "Alright.. What she doesn't know can't hurt her." 
    387               - bart_confess 
    388                
    389     no_promise: 
    390         - say: "Fuck you." 
    391         - responses: 
    392            - 
    393              - "Fuck _you_." 
    394              - end 
    395            - 
    396              - "Hmmmm.  Your arguments have swayed me.  I won't tell her if you tell what really happened." 
    397              - bart_confess   
    398                               
    399     bart_confess: 
    400         - say: "So. It went down like this.  It was Kimmo.  He had enough of his brother stirring up trouble; causing a panic about the weather.  IF we leave here, his Ma will die, and Kimmo will lose his power over us.  He knows this.  Pekko just wouldn't shut up about that ice age nonsense.  People were getting scared." 
    401         - set_value: 
    402             quest: 'fedex' 
    403             variable: 'drunkard_confesses' 
    404             value: True   
    405         - responses: 
    406             -  
    407               - "So what does that have to do with you." 
    408               - barts_price 
    409   
    410     barts_price:                                
    411         - say: "Tha fuckin' booze, man.  I had to have it.  That bastard Jacob priced me out, I was starting to get the shakes.  Kimmo had a whole case of the real stuff - pre war stuff.  That was the deal.  Disappear his brother, get the hooch." 
    412         - responses: 
    413             -  
    414               - "What were you going to do when the booze ran out?" 
    415               - consequences 
    416  
    417     consequences: 
    418         - say: "Whatever it takes.  Whatever it takes.  Maybe if you had shown up a few days earlier, things would have been different." 
    419         - responses:  
    420            - 
    421              - "This is a cold blooded town.  I am not sure what to do now." 
    422              - end 
    423               
    424     beer_tasting: 
    425        - say: "You are a genius, sir, a genius. [Bart holds bottle up to the light]  Looks great. How did it come out?" 
    426        - responses: 
    427            - 
    428              - "I think it's just about perfect" 
    429              - best_beer 
    430              - quest['beer'].getValue('beer_quality') >= 5 
    431            - 
    432              - "It took some doing, but I think I got it down." 
    433              - good_beer 
    434              - quest['beer'].getValue('beer_quality') == 4 
    435            - 
    436              - "I am pretty happy about it, given the circumstances." 
    437              - decent_beer 
    438              - quest['beer'].getValue('beer_quality') == 3 
    439            - 
    440              - "It's not my best work, but it will get you hammered." 
    441              - ok_beer 
    442              - quest['beer'].getValue('beer_quality') == 2 
    443            - 
    444              - "I hope it turned out OK." 
    445              - bad_beer 
    446              - quest['beer'].getValue('beer_quality') == 1 
    447            - 
    448              - "No promises on the the taste..." 
    449              - poisonous_beer 
    450              - quest['beer'].getValue('beer_quality') < 0 
    451              
    452     best_beer:  
    453         - say: "[ Bart drinks the beer] Let the church bells ring!  This stuff is awesome!" 
    454         - complete_quest: beer 
    455         - responses: 
    456            -  
    457              - "Glad you like it!" 
    458              - old_pals 
    459              
    460     good_beer:  
    461         - say: "[ Bart drinks the beer] Nice job, Stranger.  You may fit in around here after all." 
    462         - complete_quest: beer 
    463         - responses: 
    464            -  
    465              - "Everyone likes a good brew." 
    466              - old_pals 
    467              
    468     decent_beer:  
    469         - say: "[ Bart drinks the beer] It's got a decent bite, that's for sure. Drinkable, anyway." 
    470         - complete_quest: beer 
    471         - responses: 
    472            -  
    473              - "A couple more batches and I can hopefully work the kinks out." 
    474              - old_pals 
    475              
    476     ok_beer:  
    477         - say: "[ Bart drinks the beer] Well, it's beer-like.  Odd aftertaste, though." 
    478         - complete_quest: beer 
    479         - responses: 
    480            -  
    481              - "Yeah, it could use some malt and hops, but it was the best I could do considering." 
    482              - old_pals 
    483              
    484     bad_beer:  
    485         - say: "[ Bart drinks the beer, makes a face] You promise that this.. this... stuff will get me drunk???" 
    486         - complete_quest: beer 
    487         - responses: 
    488            -  
    489              - "It ought to, if you drink enough of it." 
    490              - old_pals 
    491              
    492     poisonous_beer:  
    493         - say: "[ Bart drinks the beer, then sits down fast.] Oh... I uh... hmmm... are.. uh, you sure you did this right? [vomits]" 
    494         #- npc('Bart').poison('beer') 
    495         # Not sure how to implement poisoning; may not be necessary for the demo 
    496         - restart_quest: beer 
    497         - responses: 
    498            -  
    499              - "Whoa... that's those old yams... yeah, gotta be the yams. My bad.  I'll try again." 
    500              - old_pals 
    501              
    502     gratitude:  
    503         - say: "Ah, Mysterious Stranger, Braumeister of the Frozen North.   Now, if we can only get that still up and running my good chap!" 
    504         - responses: 
    505            -  
    506              - "I got some ideas on that, Bart... " 
    507              - old_pals 
     20-   ID: main_dialog 
     21    SAY: "Hey there, back up... no need to gang up on a poor guy!" 
     22    RESPONSES: 
     23    -   REPLY: "Gang up?  There's only one of me!" 
     24        CONDITION: "not pc.met('bart')" 
     25        GOTO: first_impression 
     26         
     27    -   REPLY: "Glad to see you're feeling better." 
     28        CONDITION: "pc.met('bart') and quest.hasFinishedQuest('beer')" 
     29        GOTO: gratitude 
     30         
     31    -   REPLY: "Same old Bart,  I see." 
     32        CONDITION: "pc.met('bart') and not\ 
     33           \ quest['fedex'].isGoalValue('accused_of_murder')" 
     34        GOTO: old_pals 
     35         
     36    -   REPLY: "See you later, Killer." 
     37        CONDITION: "pc.met('bart') and\ 
     38           \ quest['fedex'].isGoalValue('accused_of_murder')" 
     39        GOTO: end 
     40         
     41    -   REPLY: "Ha, you better sleep it off, buddy." 
     42        GOTO: end 
     43         
     44-   ID: first_impression 
     45    SAY: "Oh... yeah... sorry.  My vision goes a little funny sometimes.\ 
     46       \ Name's Bart." 
     47    ACTIONS: 
     48    -   meet: 
     49        - bart 
     50    RESPONSES: 
     51    -   REPLY: "Are you drunk?" 
     52        CONDITION: "not quest.hasActiveQuest('beer') and not\ 
     53           \ quest.hasFinishedQuest('beer')" 
     54        GOTO: elaborate_beer 
     55         
     56    -   REPLY: "Wow, you're really hammered.  I'll come back when you're\ 
     57           \ sober." 
     58        GOTO: end 
     59         
     60-   ID: elaborate_beer 
     61    SAY: "Well, not for much longer, unfortunately.  My stash is just about run\ 
     62       \ dry.  That bastard, Jacob has a still, but who can afford his prices!\ 
     63       \ He basically has a monopoly.  No one else around here knows how to brew\ 
     64       \ us up some more booze!" 
     65    RESPONSES: 
     66    -   REPLY: "Wow, what a jerk.  Well, I'll be glad to lend a hand to such a\ 
     67           \ noble task. Assuming you guys will supply the raw materials." 
     68        ACTIONS: 
     69        -   start_quest: 
     70            - beer 
     71        GOTO: quest_beer 
     72         
     73    -   REPLY: "Hey, the man is entitled to run his business.  I'm not going to\ 
     74           \ mess up his meal ticket." 
     75        GOTO: old_pals 
     76         
     77    -   REPLY: "Alcohol is work of the Devil!!" 
     78        GOTO: end 
     79         
     80-   ID: quest_beer 
     81    SAY: "You sir, are a gentleman and a scholar.  I am sure folks around here\ 
     82       \ will help you find what you need." 
     83    RESPONSES: 
     84    -   REPLY: "You aren't even going to offer me a reward?" 
     85        GOTO: reward_query 
     86         
     87    -   REPLY: "Well, I'll get right on it.  Finally, a worthwhile test of my\ 
     88           \ scrounging skills." 
     89        GOTO: old_pals 
     90         
     91-   ID: old_pals 
     92    SAY: "So what can I do for you?" 
     93    RESPONSES: 
     94    -   REPLY: "Hey, Bart - here is my shopping list I need to brew us up\ 
     95           \ something tasty.  Can you help?" 
     96        CONDITION: "quest.hasActiveQuest('beer') and\ 
     97           \ quest['beer'].isGoalValue('beer_instructions') and not\ 
     98           \ quest.hasFinishedQuest('beer')" 
     99        GOTO: help_beer 
     100         
     101    -   REPLY: "By the way, Bart, I am looking for a chap named 'Pekko', you\ 
     102           \ know were I can find him?" 
     103        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     104           \ quest['fedex'].isGoalValue('found_pekko')" 
     105        GOTO: help_fedex 
     106         
     107    -   REPLY: "Hm.  You got a good buzz on, today?" 
     108        CONDITION: "not quest.hasActiveQuest('beer') and not\ 
     109           \ quest.hasFinishedQuest('beer')" 
     110        GOTO: elaborate_beer 
     111         
     112    -   REPLY: "Hey, try my fantastic brew!" 
     113        CONDITION: "quest['beer'].getValue('beer_quality') != 0" 
     114        GOTO: beer_tasting 
     115         
     116    -   REPLY: "Well, I am off to make some beer, wish me luck!" 
     117        CONDITION: "quest.hasActiveQuest('beer') and not\ 
     118           \ quest.hasFinishedQuest('beer') and\ 
     119           \ quest['beer'].getValue('beer_quality') == 0" 
     120        GOTO: end 
     121         
     122    -   REPLY: "Adios, Bart" 
     123        CONDITION: "not quest.hasActiveQuest('beer') or\ 
     124           \ quest.hasFinishedQuest('beer')" 
     125        GOTO: end 
     126         
     127    -   REPLY: "Did you hear about Pekko?" 
     128        CONDITION: "quest.hasActiveQuest('fedex') and\ 
     129           \ quest['fedex'].isGoalValue('found_pekko') and not\ 
     130           \ quest['fedex'].isGoalValue('accused_of_murder')" 
     131        GOTO: dead_pekko 
     132         
     133    -   REPLY: "Pekko was murdered.  And someone's responsible." 
     134        CONDITION: "quest.hasActiveQuest('fedex') and\ 
     135           \ quest['fedex'].isGoalValue('found_pekko') and not\ 
     136           \ quest['fedex'].isGoalValue('accused_of_murder')" 
     137        GOTO: murder_accuse 
     138         
     139-   ID: help_beer 
     140    SAY: "Well, what do you need?" 
     141    RESPONSES: 
     142    -   REPLY: "Where do you folks get water from.  The more pure, the better." 
     143        CONDITION: "not quest['fedex'].isGoalValue('drunkard_water_asked')" 
     144        GOTO: help_water 
     145         
     146    -   REPLY: "Some kind of grain, or fruit or something." 
     147        GOTO: help_grain 
     148         
     149    -   REPLY: "I'm really looking for some brewer's yeast." 
     150        GOTO: help_yeast 
     151         
     152    -   REPLY: "I need a pot to cook the mash in." 
     153        GOTO: help_pot 
     154         
     155    -   REPLY: "It would be great if I had some bottles to put the brew in!" 
     156        GOTO: help_bottles 
     157         
     158    -   REPLY: "I think I can handle it from here." 
     159        GOTO: back 
     160         
     161-   ID: help_water 
     162    SAY: "Water!  I dunno.  I never trust the stuff.  Guess you could melt snow\ 
     163       \ or something." 
     164    RESPONSES: 
     165    -   REPLY: "Yeah, I suppose I could at that.  What does everyone drink when\ 
     166           \ the snow melts?" 
     167        ACTIONS: 
     168        -   set_quest_value: 
     169                quest: fedex 
     170                value: 1 
     171                variable: drunkard_water_asked 
     172        GOTO: snow_melting 
     173         
     174-   ID: help_grain 
     175    SAY: "You mean like wheat, hops, barley?  I dunno about that, but if you\ 
     176       \ poke around you should be able to find something with enough starch to\ 
     177       \ ferment." 
     178    RESPONSES: 
     179    -   REPLY: "Yeah, but where?" 
     180        GOTO: back 
     181         
     182-   ID: help_yeast 
     183    SAY: "Good luck finding that!" 
     184    RESPONSES: 
     185    -   REPLY: "This is going to be harder than I thought" 
     186        GOTO: back 
     187         
     188-   ID: help_pot 
     189    SAY: "I'm pretty sure the quartermaster has one, back in the store room.\ 
     190       \ She can be hard to get stuff out of, though.  It's kind of her job to\ 
     191       \ be stingy" 
     192    RESPONSES: 
     193    -   REPLY: "Fantastic, I'll give the quartermaster a try." 
     194        GOTO: back 
     195         
     196-   ID: help_bottles 
     197    SAY: "I don't know, myself.  One of the scavenging teams must have brought\ 
     198       \ in something." 
     199    RESPONSES: 
     200    -   REPLY: "Scavenging teams?" 
     201        GOTO: explain_scavenging 
     202         
     203    -   REPLY: "OK, I'll poke around some more." 
     204        GOTO: back 
     205         
     206-   ID: explain_scavenging 
     207    SAY: "Yeah, when the weather is good, we send out teams to dig around in\ 
     208       \ the ruins and forests.  This place takes quite a bit of upkeep you\ 
     209       \ know." 
     210    RESPONSES: 
     211    -   REPLY: "Ah, makes sense." 
     212        GOTO: back help_beer 
     213         
     214-   ID: snow_melting 
     215    SAY: "Like I said, I never drink the stuff." 
     216    RESPONSES: 
     217    -   REPLY: "Well, alrighty then." 
     218        GOTO: back help_beer 
     219         
     220-   ID: reward_query 
     221    SAY: "I would think that getting your own booze ration would be reward\ 
     222       \ enough!" 
     223    RESPONSES: 
     224    -   REPLY: "I am fond of a bender now and again, it's true." 
     225        GOTO: old_pals 
     226         
     227    -   REPLY: "Personally, I stay away from alcohol.  Dulls the senses.  But I\ 
     228           \ suppose I'll help you out of the goodness of my heart." 
     229        GOTO: old_pals 
     230         
     231-   ID: dead_pekko 
     232    SAY: "Dead, huh.  That's a shame." 
     233    RESPONSES: 
     234    -   REPLY: "You seem really broken up about it." 
     235        GOTO: dead_discuss 
     236         
     237    -   REPLY: "You don't seem very surprised to hear." 
     238        GOTO: dead_discuss_ii 
     239         
     240-   ID: dead_discuss 
     241    SAY: "The kid was a problem.  It's no surprise to me that someone had it in\ 
     242       \ for him." 
     243    RESPONSES: 
     244    -   REPLY: "So you are saying that a lot of people wanted him dead?" 
     245        GOTO: dead_discuss_ii 
     246         
     247    -   REPLY: "Had it in for him... I didn't say he was murdered!" 
     248        GOTO: murder_accuse 
     249         
     250-   ID: dead_discuss_ii 
     251    SAY: "Well, I'm sure it was just an accident.  It's a dangerous world\ 
     252       \ today." 
     253    RESPONSES: 
     254    -   REPLY: "Accident, huh.  Interesting theory" 
     255        GOTO: back old_pals 
     256         
     257    -   REPLY: "Oh, I don't think it was an accident at all.  I think he was\ 
     258           \ murdered." 
     259        GOTO: murder_accuse 
     260         
     261-   ID: help_fedex 
     262    SAY: "No idea." 
     263    RESPONSES: 
     264    -   REPLY: "Thanks..." 
     265        GOTO: back old_pals 
     266         
     267-   ID: murder_accuse 
     268    SAY: "Wait... so .. you are the junior detective now?  How do you know he\ 
     269       \ was murdered?" 
     270    RESPONSES: 
     271    -   REPLY: "His head was caved in, and his arm was broken from being forced\ 
     272           \ into the snow hopper at the top of the cistern." 
     273        GOTO: discuss_murder 
     274         
     275    -   REPLY: "I know he was murdered, and I know you did it.  But I don't\ 
     276           \ know why." 
     277        ACTIONS: 
     278        -   set_quest_value: &id001 
     279                quest: fedex 
     280                value: bart 
     281                variable: accused_of_murder 
     282        GOTO: accuse_bart 
     283         
     284    -   REPLY: "I think we both know how he was killed, Bart.  The question\ 
     285           \ remains, who do I tell." 
     286        CONDITION: "not quest['fedex'].getValue('report_murder_to_janie') and\ 
     287           \ not quest['fedex'].getValue('report_murder_to_kimmo')" 
     288        GOTO: blackmail_bart 
     289         
     290-   ID: discuss_murder 
     291    SAY: "Maybe he just fuckin' fell." 
     292    RESPONSES: 
     293    -   REPLY: "Maybe.  But I'll get to the bottom of this." 
     294        GOTO: end 
     295         
     296    -   REPLY: "I don't think so, I think it was you.  The question is, why?" 
     297        ACTIONS: 
     298        -   set_quest_value: *id001 
     299        GOTO: accuse_bart 
     300         
     301-   ID: accuse_bart 
     302    SAY: "Look, stranger...  I don't know who you think you are but this isn't\ 
     303       \ your place.  The fact is, Pekko didn't have many friends, and even his\ 
     304       \ friends didn't even really like him." 
     305    RESPONSES: 
     306    -   REPLY: "What about Janie?" 
     307        CONDITION: "quest.hasFinishedQuest('fedex')" 
     308        GOTO: janie_pekko_connection 
     309         
     310    -   REPLY: "Whatever, murderer.  I'll see you hang." 
     311        GOTO: end 
     312         
     313-   ID: blackmail_bart 
     314    SAY: "Oh, so that's how it's going to be.  And what is the cost of your\ 
     315       \ silence?" 
     316    RESPONSES: 
     317    -   REPLY: "That's right, scumbag.  I'm going to squeeze you until you're\ 
     318           \ dry." 
     319        GOTO: greedy_blackmail 
     320         
     321    -   REPLY: "That's a pretty nice coat you go there, I'll take that..." 
     322        CONDITION: "not quest['fedex'].isGoalValue('got_drunkards_coat')" 
     323        ACTIONS: 
     324        -   set_quest_value: 
     325                quest: fedex 
     326                value: 1 
     327                variable: got_drunkards_coat 
     328        -   take_stuff: 
     329            - coat 
     330        GOTO: light_blackmail 
     331         
     332    -   REPLY: "Hey, I'm not a greedy bastard.  How about you just owe me?" 
     333        GOTO: delayed_blackmail 
     334         
     335    -   REPLY: "Ha, just joshing with ya.  Near as I can tell the guy deserved\ 
     336           \ it." 
     337        GOTO: feint_blackmail 
     338         
     339-   ID: greedy_blackmail 
     340    SAY: "You haven't got the guts.  My friends are powerful, and you ain't got\ 
     341       \ nuthin' on me.  I'm calling your bluff." 
     342    RESPONSES: 
     343    -   REPLY: "Guess we'll find out HOW powerful, now, won't we!" 
     344        GOTO: end 
     345         
     346-   ID: light_blackmail 
     347    SAY: "My coat, huh.  That's it?  I guess life is pretty cheap these days.\ 
     348       \ Here ya go." 
     349    RESPONSES: 
     350    -   REPLY: "Hey, pretty nice.  Fits too!  Catch ya later, Bart." 
     351        GOTO: end 
     352         
     353-   ID: delayed_blackmail 
     354    SAY: "OK, so I owe you one.  You never know when you might need a favor." 
     355    RESPONSES: 
     356    -   REPLY: "That's what I was thinking." 
     357        GOTO: old_pals 
     358         
     359-   ID: feint_blackmail 
     360    SAY: "Deserve got nothin' to do with it.  You're OK by me, though." 
     361    RESPONSES: 
     362    -   REPLY: "Likewise, Bart.  This could be the result of a bee-you-ti-ful\ 
     363           \ friendship" 
     364        GOTO: old_pals 
     365         
     366-   ID: janie_pekko_connection 
     367    SAY: "Janie... what does she have anything to this?  What have you told\ 
     368       \ her?" 
     369    RESPONSES: 
     370    -   REPLY: "I don't see what difference it makes." 
     371        GOTO: janie_pekko_continued 
     372         
     373-   ID: janie_pekko_continued 
     374    SAY: "It.. it.. has everything.  Look.  You can't tell her, OK.  You just\ 
     375       \ can't." 
     376    RESPONSES: 
     377    -   REPLY: "It's too late.  She already knows you killed him." 
     378        CONDITION: "quest['fedex'].getValue('report_murder_to_janie') and\ 
     379           \ quest['fedex'].getValue('accused_of_murder') = 'bart'" 
     380        GOTO: janie_knows 
     381         
     382    -   REPLY: "Oh, I can't?  Why shouldn't I?" 
     383        GOTO: force_bart 
     384         
     385-   ID: janie_knows 
     386    SAY: "Aw, hell.  You gotta... I dunno.  Take it back... I ... I .. Aw,\ 
     387       \ hell." 
     388    RESPONSES: 
     389    -   REPLY: "Will you tell me the whole story if I convince her it was\ 
     390           \ someone else?  Or an accident?" 
     391        GOTO: recant_testimony 
     392         
     393    -   REPLY: "How did you think you could keep it from her?  Idiot.  You\ 
     394           \ deserve what's coming to you." 
     395        GOTO: end 
     396         
     397-   ID: recant_testimony 
     398    SAY: "Anything man, I'll do anything." 
     399    RESPONSES: 
     400    -   REPLY: "I don't know if it will work, but I'll try" 
     401        GOTO: end 
     402         
     403-   ID: force_bart 
     404    SAY: "Because... because... [sobs].  I love her.  Look.  Promise me you\ 
     405       \ won't tell her and I'll spill." 
     406    RESPONSES: 
     407    -   REPLY: "I can't promise that." 
     408        GOTO: no_promise 
     409         
     410    -   REPLY: "Alright.. What she doesn't know can't hurt her." 
     411        ACTIONS: 
     412        -   set_quest_value: &id002 
     413                quest: fedex 
     414                value: true 
     415                variable: drunkard_confesses 
     416        GOTO: bart_confess 
     417         
     418-   ID: no_promise 
     419    SAY: "Fuck you." 
     420    RESPONSES: 
     421    -   REPLY: "Fuck _you_." 
     422        GOTO: end 
     423         
     424    -   REPLY: "Hmmmm.  Your arguments have swayed me.  I won't tell her if you\ 
     425           \ tell what really happened." 
     426        ACTIONS: 
     427        -   set_quest_value: *id002 
     428        GOTO: bart_confess 
     429         
     430-   ID: bart_confess 
     431    SAY: "So. It went down like this.  It was Kimmo.  He had enough of his\ 
     432       \ brother stirring up trouble; causing a panic about the weather.  IF we\ 
     433       \ leave here, his Ma will die, and Kimmo will lose his power over us.  He\ 
     434       \ knows this.  Pekko just wouldn't shut up about that ice age nonsense.\ 
     435       \ People were getting scared." 
     436    RESPONSES: 
     437    -   REPLY: "So what does that have to do with you." 
     438        GOTO: barts_price 
     439         
     440-   ID: barts_price 
     441    SAY: "Tha fuckin' booze, man.  I had to have it.  That bastard Jacob priced\ 
     442       \ me out, I was starting to get the shakes.  Kimmo had a whole case of\ 
     443       \ the real stuff - pre war stuff.  That was the deal.  Disappear his\ 
     444       \ brother, get the hooch." 
     445    RESPONSES: 
     446    -   REPLY: "What were you going to do when the booze ran out?" 
     447        GOTO: consequences 
     448         
     449-   ID: consequences 
     450    SAY: "Whatever it takes.  Whatever it takes.  Maybe if you had shown up a\ 
     451       \ few days earlier, things would have been different." 
     452    RESPONSES: 
     453    -   REPLY: "This is a cold blooded town.  I am not sure what to do now." 
     454        GOTO: end 
     455         
     456-   ID: beer_tasting 
     457    SAY: "You are a genius, sir, a genius. [Bart holds bottle up to the light]\ 
     458       \ Looks great. How did it come out?" 
     459    RESPONSES: 
     460    -   REPLY: "I think it's just about perfect" 
     461        CONDITION: "quest['beer'].getValue('beer_quality') >= 5" 
     462        ACTIONS: 
     463        -   complete_quest: 
     464            - beer 
     465        GOTO: best_beer 
     466         
     467    -   REPLY: "It took some doing, but I think I got it down." 
     468        CONDITION: "quest['beer'].getValue('beer_quality') == 4" 
     469        ACTIONS: 
     470        -   complete_quest: 
     471            - beer 
     472        GOTO: good_beer 
     473         
     474    -   REPLY: "I am pretty happy about it, given the circumstances." 
     475        CONDITION: "quest['beer'].getValue('beer_quality') == 3" 
     476        ACTIONS: 
     477        -   complete_quest: 
     478            - beer 
     479        GOTO: decent_beer 
     480         
     481    -   REPLY: "It's not my best work, but it will get you hammered." 
     482        CONDITION: "quest['beer'].getValue('beer_quality') == 2" 
     483        ACTIONS: 
     484        -   complete_quest: 
     485            - beer 
     486        GOTO: ok_beer 
     487         
     488    -   REPLY: "I hope it turned out OK." 
     489        CONDITION: "quest['beer'].getValue('beer_quality') == 1" 
     490        ACTIONS: 
     491        -   complete_quest: 
     492            - beer 
     493        GOTO: bad_beer 
     494         
     495    -   REPLY: "No promises on the the taste..." 
     496        CONDITION: "quest['beer'].getValue('beer_quality') < 0" 
     497        ACTIONS: 
     498        -   restart_quest: 
     499            - beer 
     500        GOTO: poisonous_beer 
     501         
     502-   ID: best_beer 
     503    SAY: "[ Bart drinks the beer] Let the church bells ring!  This stuff is\ 
     504       \ awesome!" 
     505    RESPONSES: 
     506    -   REPLY: "Glad you like it!" 
     507        GOTO: old_pals 
     508         
     509-   ID: good_beer 
     510    SAY: "[ Bart drinks the beer] Nice job, Stranger.  You may fit in around\ 
     511       \ here after all." 
     512    RESPONSES: 
     513    -   REPLY: "Everyone likes a good brew." 
     514        GOTO: old_pals 
     515         
     516-   ID: decent_beer 
     517    SAY: "[ Bart drinks the beer] It's got a decent bite, that's for sure.\ 
     518       \ Drinkable, anyway." 
     519    RESPONSES: 
     520    -   REPLY: "A couple more batches and I can hopefully work the kinks out." 
     521        GOTO: old_pals 
     522         
     523-   ID: ok_beer 
     524    SAY: "[ Bart drinks the beer] Well, it's beer-like.  Odd aftertaste,\ 
     525       \ though." 
     526    RESPONSES: 
     527    -   REPLY: "Yeah, it could use some malt and hops, but it was the best I\ 
     528           \ could do considering." 
     529        GOTO: old_pals 
     530         
     531-   ID: bad_beer 
     532    SAY: "[ Bart drinks the beer, makes a face] You promise that this.. this...\ 
     533       \ stuff will get me drunk???" 
     534    RESPONSES: 
     535    -   REPLY: "It ought to, if you drink enough of it." 
     536        GOTO: old_pals 
     537         
     538-   ID: poisonous_beer 
     539    SAY: "[ Bart drinks the beer, then sits down fast.] Oh... I uh... hmmm...\ 
     540       \ are.. uh, you sure you did this right? [vomits]" 
     541    RESPONSES: 
     542    -   REPLY: "Whoa... that's those old yams... yeah, gotta be the yams. My\ 
     543           \ bad.  I'll try again." 
     544        GOTO: old_pals 
     545         
     546-   ID: gratitude 
     547    SAY: "Ah, Mysterious Stranger, Braumeister of the Frozen North.   Now, if\ 
     548       \ we can only get that still up and running my good chap!" 
     549    RESPONSES: 
     550    -   REPLY: "I got some ideas on that, Bart... " 
     551        GOTO: old_pals 
     552         
     553... 
  • trunk/game/dialogue/farm_boy1.yaml

    r570 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    16 #   NOTE:  This is not a "real" dialogue file, it is meant to be a template for 
    17 #   Any generic fortified mall (techdemo location) denizen 
    1815--- 
    19 NPC: Sami 
    20 AVATAR: gui/icons/farm_boy_temp.png 
    21 START: main_dialog 
    22  
     16NPC_NAME: Sami 
     17AVATAR_PATH: gui/icons/farm_boy_temp.png 
     18START_SECTION: main_dialog 
    2319SECTIONS: 
    24     main_dialog: 
    25         - say: "Hi, I'm Sami.  How can I help you?" 
    26         - responses: 
    27            - 
    28               - "I'm looking for stuff to make beer with " 
    29               - help_beer 
    30               - quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') and quest['beer'].isGoalValue('beer_instructions') 
    31            -  
    32               - "Tell me about the farm" 
    33               - describe_farm 
    34            -  
    35               - "I'm looking for Pekko, you seen him?" 
    36               - help_fedex 
    37               - quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    38            - 
    39               - "Oh, I was looking for Rasmus." 
    40               - end 
    41  
    42     help_beer: 
    43         - say: "Oh, you better ask the boss about that." 
    44         - responses: 
    45            - 
    46              - "OK, I will." 
    47              - back 
    48  
    49     help_fedex: 
    50         - say: "No.. but we pretty much stay here on the farm." 
    51         - responses: 
    52            - 
    53              - "I see." 
    54              - back 
    55  
    56     describe_farm:  
    57         - say: "Manslow figured out that the only way to keep things growing in the cold was to build a greenhouse. Luckily, someone managed to find all this clear plexiglass." 
    58         - responses: 
    59            -  
    60              - "Wow, nice." 
    61              - back 
    62   
     20-   ID: main_dialog 
     21    SAY: "Hi, I'm Sami.  How can I help you?" 
     22    RESPONSES: 
     23    -   REPLY: "I'm looking for stuff to make beer with " 
     24        CONDITION: "quest.hasActiveQuest('beer') and not\ 
     25           \ quest.hasFinishedQuest('beer') and\ 
     26           \ quest['beer'].isGoalValue('beer_instructions')" 
     27        GOTO: help_beer 
     28         
     29    -   REPLY: "Tell me about the farm" 
     30        GOTO: describe_farm 
     31         
     32    -   REPLY: "I'm looking for Pekko, you seen him?" 
     33        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     34           \ quest.hasFinishedQuest('fedex') and not\ 
     35           \ quest['fedex'].isGoalValue('found_pekko')" 
     36        GOTO: help_fedex 
     37         
     38    -   REPLY: "Oh, I was looking for Rasmus." 
     39        GOTO: end 
     40         
     41-   ID: help_beer 
     42    SAY: "Oh, you better ask the boss about that." 
     43    RESPONSES: 
     44    -   REPLY: "OK, I will." 
     45        GOTO: back 
     46         
     47-   ID: help_fedex 
     48    SAY: "No.. but we pretty much stay here on the farm." 
     49    RESPONSES: 
     50    -   REPLY: "I see." 
     51        GOTO: back 
     52         
     53-   ID: describe_farm 
     54    SAY: "Manslow figured out that the only way to keep things growing in the\ 
     55       \ cold was to build a greenhouse. Luckily, someone managed to find all\ 
     56       \ this clear plexiglass." 
     57    RESPONSES: 
     58    -   REPLY: "Wow, nice." 
     59        GOTO: back 
     60         
     61... 
  • trunk/game/dialogue/farm_boy2.yaml

    r570 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    16 #   NOTE:  This is not a "real" dialogue file, it is meant to be a template for 
    17 #   Any generic fortified mall (techdemo location) denizen 
    1815--- 
    19 NPC: Rasmus 
    20 AVATAR: gui/icons/farm_boy_temp.png 
    21 START: main_dialog 
    22  
     16NPC_NAME: Rasmus 
     17AVATAR_PATH: gui/icons/farm_boy_temp.png 
     18START_SECTION: main_dialog 
    2319SECTIONS: 
    24     main_dialog: 
    25         - say: "Hi, I'm Rasmus.  What can I do for you?" 
    26         - responses: 
    27            - 
    28               - "I'm looking for stuff to make beer with " 
    29               - help_beer 
    30               - quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') and quest['beer'].isGoalValue('beer_instructions') 
    31            -  
    32               - "Tell me about the farm" 
    33               - describe_farm 
    34            -  
    35               - "I'm looking for Pekko, you seen him?" 
    36               - help_fedex 
    37               - quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    38            - 
    39               - "Oh, I was looking for Sami." 
    40               - end 
    41  
    42     help_beer: 
    43         - say: "Not my place to hand out any stuff.  I just work here.  Talk to Manslow." 
    44         - responses: 
    45            - 
    46              - "Alright." 
    47              - back 
    48  
    49     help_fedex: 
    50         - say: "Kimmo's brother?  Nope, he never comes down here, and we basically live here." 
    51         - responses: 
    52            - 
    53              - "At least it's warm." 
    54              - back 
    55  
    56     describe_farm:  
    57         - say: "It was just an empty lot before.  I don't envy the folks who had to break up all this ground." 
    58         - responses: 
    59            -  
    60              - "That must have been some effort." 
    61              - back 
    62   
     20-   ID: main_dialog 
     21    SAY: "Hi, I'm Rasmus.  What can I do for you?" 
     22    RESPONSES: 
     23    -   REPLY: "I'm looking for stuff to make beer with " 
     24        CONDITION: "quest.hasActiveQuest('beer') and not\ 
     25           \ quest.hasFinishedQuest('beer') and\ 
     26           \ quest['beer'].isGoalValue('beer_instructions')" 
     27        GOTO: help_beer 
     28         
     29    -   REPLY: "Tell me about the farm" 
     30        GOTO: describe_farm 
     31         
     32    -   REPLY: "I'm looking for Pekko, you seen him?" 
     33        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     34           \ quest.hasFinishedQuest('fedex') and not\ 
     35           \ quest['fedex'].isGoalValue('found_pekko')" 
     36        GOTO: help_fedex 
     37         
     38    -   REPLY: "Oh, I was looking for Sami." 
     39        GOTO: end 
     40         
     41-   ID: help_beer 
     42    SAY: "Not my place to hand out any stuff.  I just work here.  Talk to\ 
     43       \ Manslow." 
     44    RESPONSES: 
     45    -   REPLY: "Alright." 
     46        GOTO: back 
     47         
     48-   ID: help_fedex 
     49    SAY: "Kimmo's brother?  Nope, he never comes down here, and we basically\ 
     50       \ live here." 
     51    RESPONSES: 
     52    -   REPLY: "At least it's warm." 
     53        GOTO: back 
     54         
     55-   ID: describe_farm 
     56    SAY: "It was just an empty lot before.  I don't envy the folks who had to\ 
     57       \ break up all this ground." 
     58    RESPONSES: 
     59    -   REPLY: "That must have been some effort." 
     60        GOTO: back 
     61         
     62... 
  • trunk/game/dialogue/farmer.yaml

    r618 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    1615--- 
    17 NPC: Farmer Manslow 
    18 AVATAR: gui/icons/farmer.png 
    19 START: main_dialog 
    20  
     16NPC_NAME: Farmer Manslow 
     17AVATAR_PATH: gui/icons/farmer.png 
     18START_SECTION: main_dialog 
    2119SECTIONS: 
    22     main_dialog: 
    23         - say: "Who the hell are you??" 
    24         - meet: manslow 
    25         - responses: 
    26             - 
    27               - "I'm looking for stuff to make beer with " 
    28               - convince_farmer 
    29               - quest.hasActiveQuest('beer') and quest['beer'].isGoalValue('beer_instructions') and not quest.hasFinishedQuest('beer') and not quest['beer'].isGoalValue('farmer_beer_convinced') 
    30             -  
    31               - "You can help me with the beer, thing, right?" 
    32               - help_beer 
    33               - quest.hasActiveQuest('beer') and quest['beer'].isGoalValue('beer_instructions') and not quest.hasFinishedQuest('beer') and quest['beer'].isGoalValue('farmer_beer_convinced') 
    34             -  
    35               - "Hey, that wheat you gave me really made the brew work." 
    36               - gratitude 
    37               - quest['beer'].getValue('beer_quality') > 3 
    38             -  
    39               - "Have you tried my beer?" 
    40               - grumpitude 
    41               - quest['beer'].getValue('beer_quality') !=0 and quest['beer'].getValue('beer_quality') <= 3 
    42             -  
    43               - "I'm looking for Pekko, you seen him?" 
    44               - help_fedex 
    45               - quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') 
    46             -  
    47               - "This is quite a nice farm you have here, can you tell me about it?" 
    48               - chat_farm 
    49             - 
    50               - "Hey, relax there old timer!" 
    51               - leave 
    52  
    53     convince_farmer: 
    54         - say: "Never touch the stuff." 
    55         - responses: 
    56            - 
    57              - "Come on -- have a heart.  Man cannot live on bread alone!" 
    58              -  leave 
    59            -  
    60              - "Well to be honest... we are trying to undermine Jacob's stranglehold on the booze in this town." 
    61              - inn_explain 
    62               
    63     inn_explain: 
    64         - say: "Really.  What makes you think I'll help you." 
    65         - responses: 
    66            - 
    67              - "Well, you know, Bart, he's a good guy..." 
    68              -  leave 
    69            -  
    70              - "Because Jacob is the only guy here grumpier than you!" 
    71              - help_beer 
    72               
    73               
    74     help_beer: 
    75         - say: "He is a right old bastard, that Jacob... What are you looking for?" 
    76         - set_value: 
    77             quest: 'beer' 
    78             variable: "farmer_beer_convinced" 
    79             value: 1        
    80         - responses: 
    81            - 
    82              - "First, I need some water." 
    83              - help_water 
    84            - 
    85              - "What I really need is some kind of grain, or fruit or something." 
    86              - help_grain 
    87              - not quest['beer'].isGoalValue('grain_available') 
    88            - 
    89              - "You wouldn't happen to know where I can find some yeast?" 
    90              - help_yeast 
    91            - 
    92              - "Well, I need a big pot to cook the mash in." 
    93              - help_pot 
    94            - 
    95              - "The final step is some thing to hold the final product in." 
    96              - help_bottles 
    97            -  
    98              - "You are the grumpiest old man ever." 
    99              - leave 
    100  
    101     help_water: 
    102         - say: "What are you an idiot?  We're surrounded by SNOW." 
    103         - responses: 
    104            - 
    105              - "Sorry, no need to be a jerk about it..." 
    106              - leave 
    107  
    108     help_grain: 
    109         - say: "Well, that is my department.  I'll give you a bushel if you promise to use your brew to cause Jacob trouble." 
    110         - get_stuff: Grain 
    111         - set_value: 
    112             quest: 'beer' 
    113             variable: "grain_available" 
    114             value: 0 
    115         - responses: 
    116            - 
    117              - "Deal." 
    118              - back 
    119  
    120     help_yeast: 
    121         - say: "Yeast.  You really think someone is keeping around some kind of starter culture?" 
    122         - responses: 
    123            - 
    124              - "Uh... yeah?  Hey, how do you know so much about brewing if you don't even drink!" 
    125              - leave 
    126  
    127     help_pot: 
    128         - say: "Is there anything that you HAVE to make beer with?" 
    129         - responses: 
    130            - 
    131              - "Well, I have these instructions..." 
    132              - back 
    133  
    134     help_bottles: 
    135         - say: "Junkyard." 
    136         - responses: 
    137            - 
    138              - "Where's the junkyard?" 
    139              - explain_junkyard 
    140  
    141     explain_junkyard: 
    142         - say: "Downstairs.  Near the woodpile and the garbage dump." 
    143         - responses: 
    144            - 
    145              - "Wow, that was kind of helpful... maybe you aren't so bad after all! " 
    146              - leave 
    147  
    148     help_fedex: 
    149         - say: "Pekko... I thought he was out scouting?  Did you try the Inn?" 
    150         - responses: 
    151            - 
    152              - "OK, the Inn, thanks." 
    153              - back 
    154  
    155     gratitude:  
    156         - say: "I still think it's a waste of grain.  But anything that screws that bastard Jacob is OK by me." 
    157         - responses: 
    158            -  
    159              - "Couldn't have done it without you." 
    160              - leave 
    161               
    162     grumpitude:  
    163         - say: "At least you didn't waste any of my grain on it.  Awful stuff." 
    164         - responses: 
    165            -  
    166              - "No thanks, to you old man." 
    167              - leave 
    168     chat_farm:  
    169         - say: "I don't have time for chit chat.  Talk to my assistants." 
    170         - responses: 
    171            -  
    172              - "OK, I'll do that." 
    173              - back 
    174     leave: 
    175         - say: "Get off mah land!" 
    176         - responses: 
    177             - 
    178               - "Bye!" 
    179               - end 
     20-   ID: main_dialog 
     21    SAY: "Who the hell are you??" 
     22    ACTIONS: 
     23    -   meet: 
     24        - manslow 
     25    RESPONSES: 
     26    -   REPLY: "I'm looking for stuff to make beer with " 
     27        CONDITION: "quest.hasActiveQuest('beer') and\ 
     28           \ quest['beer'].isGoalValue('beer_instructions') and not\ 
     29           \ quest.hasFinishedQuest('beer') and not\ 
     30           \ quest['beer'].isGoalValue('farmer_beer_convinced')" 
     31        GOTO: convince_farmer 
     32         
     33    -   REPLY: "You can help me with the beer, thing, right?" 
     34        CONDITION: "quest.hasActiveQuest('beer') and\ 
     35           \ quest['beer'].isGoalValue('beer_instructions') and not\ 
     36           \ quest.hasFinishedQuest('beer') and\ 
     37           \ quest['beer'].isGoalValue('farmer_beer_convinced')" 
     38        ACTIONS: 
     39        -   set_quest_value: &id001 
     40                quest: beer 
     41                value: 1 
     42                variable: farmer_beer_convinced 
     43        GOTO: help_beer 
     44         
     45    -   REPLY: "Hey, that wheat you gave me really made the brew work." 
     46        CONDITION: "quest['beer'].getValue('beer_quality') > 3" 
     47        GOTO: gratitude 
     48         
     49    -   REPLY: "Have you tried my beer?" 
     50        CONDITION: "quest['beer'].getValue('beer_quality') !=0 and\ 
     51           \ quest['beer'].getValue('beer_quality') <= 3" 
     52        GOTO: grumpitude 
     53         
     54    -   REPLY: "I'm looking for Pekko, you seen him?" 
     55        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     56           \ quest.hasFinishedQuest('fedex')" 
     57        GOTO: help_fedex 
     58         
     59    -   REPLY: "This is quite a nice farm you have here, can you tell me about\ 
     60           \ it?" 
     61        GOTO: chat_farm 
     62         
     63    -   REPLY: "Hey, relax there old timer!" 
     64        GOTO: leave 
     65         
     66-   ID: convince_farmer 
     67    SAY: "Never touch the stuff." 
     68    RESPONSES: 
     69    -   REPLY: "Come on -- have a heart.  Man cannot live on bread alone!" 
     70        GOTO: leave 
     71         
     72    -   REPLY: "Well to be honest... we are trying to undermine Jacob's\ 
     73           \ stranglehold on the booze in this town." 
     74        GOTO: inn_explain 
     75         
     76-   ID: inn_explain 
     77    SAY: "Really.  What makes you think I'll help you." 
     78    RESPONSES: 
     79    -   REPLY: "Well, you know, Bart, he's a good guy..." 
     80        GOTO: leave 
     81         
     82    -   REPLY: "Because Jacob is the only guy here grumpier than you!" 
     83        ACTIONS: 
     84        -   set_quest_value: *id001 
     85        GOTO: help_beer 
     86         
     87-   ID: help_beer 
     88    SAY: "He is a right old bastard, that Jacob... What are you looking for?" 
     89    RESPONSES: 
     90    -   REPLY: "First, I need some water." 
     91        GOTO: help_water 
     92         
     93    -   REPLY: "What I really need is some kind of grain, or fruit or\ 
     94           \ something." 
     95        CONDITION: "not quest['beer'].isGoalValue('grain_available')" 
     96        ACTIONS: 
     97        -   take_stuff: 
     98            - Grain 
     99        -   set_quest_value: 
     100                quest: beer 
     101                value: 0 
     102                variable: grain_available 
     103        GOTO: help_grain 
     104         
     105    -   REPLY: "You wouldn't happen to know where I can find some yeast?" 
     106        GOTO: help_yeast 
     107         
     108    -   REPLY: "Well, I need a big pot to cook the mash in." 
     109        GOTO: help_pot 
     110         
     111    -   REPLY: "The final step is some thing to hold the final product in." 
     112        GOTO: help_bottles 
     113         
     114    -   REPLY: "You are the grumpiest old man ever." 
     115        GOTO: leave 
     116         
     117-   ID: help_water 
     118    SAY: "What are you an idiot?  We're surrounded by SNOW." 
     119    RESPONSES: 
     120    -   REPLY: "Sorry, no need to be a jerk about it..." 
     121        GOTO: leave 
     122         
     123-   ID: help_grain 
     124    SAY: "Well, that is my department.  I'll give you a bushel if you promise\ 
     125       \ to use your brew to cause Jacob trouble." 
     126    RESPONSES: 
     127    -   REPLY: "Deal." 
     128        GOTO: back 
     129         
     130-   ID: help_yeast 
     131    SAY: "Yeast.  You really think someone is keeping around some kind of\ 
     132       \ starter culture?" 
     133    RESPONSES: 
     134    -   REPLY: "Uh... yeah?  Hey, how do you know so much about brewing if you\ 
     135           \ don't even drink!" 
     136        GOTO: leave 
     137         
     138-   ID: help_pot 
     139    SAY: "Is there anything that you HAVE to make beer with?" 
     140    RESPONSES: 
     141    -   REPLY: "Well, I have these instructions..." 
     142        GOTO: back 
     143         
     144-   ID: help_bottles 
     145    SAY: "Junkyard." 
     146    RESPONSES: 
     147    -   REPLY: "Where's the junkyard?" 
     148        GOTO: explain_junkyard 
     149         
     150-   ID: explain_junkyard 
     151    SAY: "Downstairs.  Near the woodpile and the garbage dump." 
     152    RESPONSES: 
     153    -   REPLY: "Wow, that was kind of helpful... maybe you aren't so bad after\ 
     154           \ all! " 
     155        GOTO: leave 
     156         
     157-   ID: help_fedex 
     158    SAY: "Pekko... I thought he was out scouting?  Did you try the Inn?" 
     159    RESPONSES: 
     160    -   REPLY: "OK, the Inn, thanks." 
     161        GOTO: back 
     162         
     163-   ID: gratitude 
     164    SAY: "I still think it's a waste of grain.  But anything that screws that\ 
     165       \ bastard Jacob is OK by me." 
     166    RESPONSES: 
     167    -   REPLY: "Couldn't have done it without you." 
     168        GOTO: leave 
     169         
     170-   ID: grumpitude 
     171    SAY: "At least you didn't waste any of my grain on it.  Awful stuff." 
     172    RESPONSES: 
     173    -   REPLY: "No thanks, to you old man." 
     174        GOTO: leave 
     175         
     176-   ID: chat_farm 
     177    SAY: "I don't have time for chit chat.  Talk to my assistants." 
     178    RESPONSES: 
     179    -   REPLY: "OK, I'll do that." 
     180        GOTO: back 
     181         
     182-   ID: leave 
     183    SAY: "Get off mah land!" 
     184    RESPONSES: 
     185    -   REPLY: "Bye!" 
     186        GOTO: end 
     187         
     188... 
  • trunk/game/dialogue/fguard.yaml

    r613 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    1615--- 
    17 NPC: Janie 
    18 AVATAR: gui/icons/fguard.png 
    19 START: main_dialog 
    20  
     16NPC_NAME: Janie 
     17AVATAR_PATH: gui/icons/fguard.png 
     18START_SECTION: main_dialog 
    2119SECTIONS: 
    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, baby!" 
    31               - gratitude 
    32               - quest['beer'].getValue('beer_quality') >= 1 
    33             -  
    34               - "It's me - don't you remember?" 
    35               - old_pals 
    36               - pc.met('janie') 
    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         - meet: janie 
    44         - responses: 
    45             - 
    46               - "Yeah, just blew in with the last storm." 
    47               - elaborate_fedex 
    48               - not quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') 
    49             # above should always be true since there is no other way to get the quest   
    50             - 
    51               - "But one night with me, babe, and you'll never forget it" 
    52               - rude_comeon 
    53   
    54     elaborate_fedex: 
    55         - say: "Well, maybe you can do me a favor.   I have this package I need delivered 
    56         to Pekko.  But you gotta be casual about it.  No one can know you why you are looking for him." 
    57         - responses:  
    58             -  
    59               - "Me?  Why Me?" 
    60               - why_me 
    61             -   
    62               - "Why the secrecy?" 
    63               - why_secret 
    64             - 
    65               - "What's in it for me?" 
    66               - what_do_i_get 
    67             - 
    68               - "Whatever, I need an excuse to wander around anyway." 
    69               - quest_fedex 
    70             -  
    71               - "Find another errand boy." 
    72               - end 
    73   
    74     why_me: 
    75         - say: "No one knows you.  You're new here.  You can be expected to be wandering around being nosy." 
    76         - responses: 
    77            - 
    78              - "I'm still not convinced." 
    79              - back 
    80            -  
    81              - "Beats watching nuthin' on TV." 
    82              - quest_fedex 
    83   
    84     why_secret: 
    85         - say: "Look buddy, it's no questions asked.  You think you are the only frozen bum to come wandering in here?" 
    86         - responses: 
    87            - 
    88              - "Bum?  You don't even know who I am." 
    89              - why_me 
    90            -  
    91              - "Really.  I remain unswayed by your logic, but you are pleasing to the eye so keep talking." 
    92              - back  
    93            - 
    94              - "No need to get testy, I'll do it." 
    95              - quest_fedex 
    96   
    97     what_do_i_get: 
    98         - say:  "Everybody wants something, huh.  I suppose my undying gratitude won't cut it?  How about a beaver pelt?  They make great hats..." 
    99         - responses: 
    100            -  
    101              - "Naw, it's OK, your gratitude's enough for me." 
    102              - quest_fedex 
    103            -  
    104              - "A beaver pelt it is, then!" 
    105              - quest_fedex 
    106              # This can never get delivered, since the delivery target is dead 
    107            -  
    108              - "I already gotta hat.  Deliver your own package." 
    109              - end 
    110          
    111     quest_fedex:            
    112          # Need some way of triggering the change in game state; package moving from Janie's inventory to yours] 
    113          - 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 ]" 
    114          # above line cuts off after 'making promises' 
    115          # get_stuff is broken, that's why! 
    116          - start_quest: fedex 
    117          - get_stuff: Box 
    118          # I suspect the "get_box" should be rolled into start_quest 
    119          - responses: 
    120              -  
    121                - "Why can't I open the box?" 
    122                - why_no_open 
    123              -  
    124                - "You got it, boss." 
    125                - old_pals 
    126   
    127     why_no_open: 
    128         - 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?" 
    129         - responses: 
    130            - 
    131              - "I guess not." 
    132              - old_pals         
    133  
    134     old_pals: 
    135         - say: "So what can I do for you?" 
    136         - responses: 
    137            - 
    138              - "I'm trying to make beer, can you help me find some stuff?" 
    139              - help_beer 
    140              - quest.hasActiveQuest('beer') and quest['beer'].isGoalValue('beer_instructions') and not quest.hasFinishedQuest('beer') and quest['beer'].getValue('beer_quality') < 1 
    141            - 
    142              - "I guess I'll see if I can't find this Pekko character for you." 
    143              - end 
    144              - quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    145            - 
    146              - "So long, Janie.  Catch you later." 
    147              - end 
    148              - not quest.hasActiveQuest('fedex') or quest.hasFinishedQuest('fedex') 
    149            - 
    150              - "Uh, I opened the box." 
    151              - open_box 
    152              - quest['fedex'].getValue('open_box') 
    153            - 
    154              - "Hey, some folks seem to think Pekko left the compound.  Would you have seen him?" 
    155              - pekko_left 
    156              - quest['fedex'].getValue('check_pekko_left') and not quest['fedex'].isGoalValue('found_pekko') 
    157            - 
    158              - "I have some bad news.  I found your friend, Pekko.  In the water tank.  Dead." 
    159              - dead_pekko 
    160              - quest['fedex'].isGoalValue('found_pekko') and not quest['fedex'].getValue('accused_of_murder') 
    161            - 
    162              - "What are we going to do about Pekko's murder?" 
    163              - discuss_murder 
    164              - quest.hasActiveQuest('fedex') and quest['fedex'].getValue('accused_of_murder') 
    165  
    166     help_beer: 
    167         - say: "Well, what do you need?" 
    168         - responses: 
    169            - 
    170              - "Where do you folks get water from.  The more pure, the better." 
    171              - help_water 
    172            - 
    173              - "Some kind of grain, or fruit or something." 
    174              - help_grain 
    175            - 
    176              - "I'm really looking for some brewer's yeast." 
    177              - help_yeast 
    178            - 
    179              - "I need a pot to cook the mash in." 
    180              - help_pot 
    181            - 
    182              - "It would be great if I had some bottles to put the brew in!" 
    183              - help_bottles 
    184            -  
    185              - "I think I can handle it from here." 
    186              - back 
    187  
    188     help_water: 
    189         - say: "Oh, that is the one thing we have plenty of.  We have an old tanker trunk that we shovel the snow in and melt it.  You can see it from up here, but you have to go downstairs to tap it.  But the water's been tasting a little funny lately." 
    190         - responses: 
    191            - 
    192              - "Great, that's a huge help." 
    193              - back 
    194  
    195     help_grain: 
    196         - say: "You could try the farm, and there should be some food in the storerooms" 
    197         - responses: 
    198            - 
    199              - "Thanks, I'll try that." 
    200              - back 
    201  
    202     help_yeast: 
    203         - say: "You got me.  I wonder if there is even any left at all." 
    204         - responses: 
    205            - 
    206              - "Someone must have some!" 
    207              - back 
    208  
    209     help_pot: 
    210         - say: "Did you try the kitchen?  Or the storerooms?" 
    211         - responses: 
    212            - 
    213              - "Uh, yeah.  I guess that was obvious." 
    214              - back 
    215  
    216     help_bottles: 
    217         - say: "All the random junk is downstairs in old parking lot.  We have our own little junkyard." 
    218         - responses: 
    219            - 
    220              - "Oooh... there is probably lots of good stuff down there." 
    221              - back 
    222  
    223     open_box: 
    224         - say: "What!  You little worm!  Why did you do that!" 
    225         - responses: 
    226            - 
    227              - "Well, I figured since Pekko was dead and all..." 
    228              - dead_pekko 
    229              - quest['fedex'].isGoalValue('found_pekko') 
    230            - 
    231              - "I'm sorry, I was just curious." 
    232              - give_back_boots 
    233               
    234     boot_gift: 
    235        - say: "That's what was in the package. [Janie takes boots out of the package, and gives them to you]" 
    236        - get_stuff: boots 
    237        - responses: 
    238           - 
    239             - "Oh.  I must be missing something..." 
    240             - explain_boots 
    241   
    242     pekko_left: 
    243        - say: "Left?  No, he's here.  I didn't see him leave, and there's no entry in the log.  He's definitly here.  I'd know." 
    244        - set_value: 
    245             quest: 'fedex' 
    246             variable: 'check_pekko_left' 
    247             value: True 
    248        - responses: 
    249           - 
    250             - "Boy, that's strange." 
    251             - back 
    252   
    253     discuss_murder: 
    254        - say: "Look.  Just stay out of it.  It's not really your business anyway, Stranger.  Just forget we ever talked." 
    255        - set_value: 
    256             quest: 'fedex' 
    257             variable: 'report_murder_to_janie' 
    258             value: True 
    259        - responses: 
    260            - 
    261              - "Alright, Alright.  But I don't like it." 
    262              - give_up_quest 
    263            - 
    264              - "It was Bart." 
    265              - accuse_bart 
    266            -  
    267              - "It was Matti, the Snow Shoveler!" 
    268              - accuse_matti 
    269            -  
    270              - "I think it was an accident." 
    271              - report_accident 
    272            -  
    273              - "Well, I'm going to talk to the boss about it." 
    274              - report_to_boss 
    275  
    276     give_up_quest: 
    277        - say: "You are making the right decision." 
    278        - responses: 
    279            - 
    280              - "If you want me to drop it, I'll drop it." 
    281              - drop_quest 
    282            - 
    283              - "No, I can't drop it.  I have to talk to the authorities" 
    284              - report_to_boss 
    285      
    286     drop_quest: 
    287        - fail_quest: fedex 
    288        - say: "Drop it.  It's bigger than than both of us." 
    289        - responses: 
    290            - 
    291              - "Consider it dropped.  How about a date?" 
    292              - end 
    293      
    294     accuse_bart: 
    295        - say: "The town drunk???  ...really?  Anyway... I don't want to know.  He's dead.  I knew his big mouth and goofy ideas were going to get him in trouble.  Just drop it, please." 
    296        - set_value: 
    297             quest: 'fedex' 
    298             variable: 'accused_of_murder' 
    299             value: 'bart' 
    300        - responses: 
    301            - 
    302              - "You can't just allow folks to murder people! It's wrong!  Someone must be informed!" 
    303              - report_to_boss 
    304            - 
    305              - "If you want me to, I'll forget about the whole thing..." 
    306              - give_up_quest 
    307  
    308     accuse_matti: 
    309        - say: "Matti?  He looks mean, but I don't think he would hurt a fly.  Anyway...  I don't want to know.  He's dead. He saved me you, know.  I guess he needed to pay more attention to himself.  Just drop it, please." 
    310        - set_value: 
    311             quest: 'fedex' 
    312             variable: 'accused_of_murder' 
    313             value: 'matti' 
    314        - responses: 
    315            - 
    316              - "You can't just allow folks to murder people! It's wrong!  Someone must be informed!" 
    317              - report_to_boss 
    318            - 
    319              - "If you want me to, I'll forget about the whole thing..." 
    320              - give_up_quest 
    321  
    322     report_accident: 
    323        - say: "An accident?  That's... convenient.  For someone." 
    324        - set_value: 
    325             quest: 'fedex' 
    326             variable: 'accused_of_murder' 
    327             value: '' 
    328        - responses: 
    329            - 
    330              - "Well, uh, you know.  It's a dangerous world.  I guess he slipped and fell in the cistern." 
    331              - old_pals 
    332               
    333     report_to_boss: 
    334        - say: "You can talk to Kimmo, but I don't think you'll find the justice you are looking for." 
    335        - responses: 
    336            - 
    337              - "Maybe.  But I have to try, right?  Otherwise, we are no better than wild animals." 
    338              - end 
    339  
    340     explain_boots: 
    341        - say: "The boots were a signal that he should leave town... that he'd gone too far this time." 
    342        - responses: 
    343            - 
    344              - "You knew about this?  Who do you think killed him?" 
    345              - discuss_murder 
    346            - 
    347              - "I think I know who killed him." 
    348              - discuss_murder 
    349                 
    350     dead_pekko: 
    351        - say: "He's dead?  Well, I'm too late then. I guess you can keep the boots, then." 
    352        - responses: 
    353           - 
    354             - "What boots?" 
    355             - boot_gift 
    356             - not quest['fedex'].getValue('open_box') 
    357           - 
    358             - "Yeah, I figured he wouldn't need them.  Why did you send him boots, anyway?" 
    359             - explain_boots 
    360             - quest['fedex'].getValue('open_box') 
    361           - 
    362             - "Does this mean no beaver pelt?" 
    363             - no_beaver_pelt 
    364      
    365     no_beaver_pelt: 
    366        - say: "No pelt." 
    367        - responses: 
    368           - 
    369             - "Awwwwww..." 
    370             - back 
    371  
    372     give_back_boots: 
    373         - say: "Give me that back!" 
    374         - responses: 
    375            - 
    376              - "Here" 
    377              - rewrap_box 
    378              - pc.hasItem("Boots") 
    379            - 
    380              - "I seem to have... misplaced them..." 
    381              - lost_boots 
    382              - not pc.hasItem("Boots")                          
    383          
    384     lost_boots: 
    385         - say: "WHAT!?" 
    386         - responses: 
    387            - 
    388              - "I, uh, go search them"  
    389              - end 
    390          
    391     rewrap_box: 
    392        - say: "[Janie takes boots from PC and rewraps them].  Now, here.  And don't open it again." 
    393        # reset the quest: Note we need to make sure we don't generate an infinite supply of combat boots! 
    394        - restart_quest: fedex 
    395        - replace_thing: 
    396           who: pc 
    397           old_item: Boots 
    398           new_item: Box         
    399        # I suspect this should be rolled into "start_quest" 
    400        - responses: 
    401           - 
    402             - "OK, It will never happen again." 
    403             - old_pals 
    404  
    405     gratitude:  
    406         - say: "Well aren't you just a thick slice of awesome." 
    407         - responses: 
    408            -  
    409              - "I try, I try." 
    410              - old_pals 
    411      
    412     rude_comeon: 
    413         - say: "[fondles weapon] I hope you can take it as well as you give it..." 
    414         - responses: 
    415             - 
    416               - "Any way you want it, that's the way you need it!" 
    417               - end 
    418   
     20-   ID: main_dialog 
     21    SAY: "Halt, identify yourself!" 
     22    RESPONSES: 
     23    -   REPLY: "Whoa, easy with that weapon, sister" 
     24        CONDITION: "not pc.met('janie')" 
     25        GOTO: first_impression 
     26         
     27    -   REPLY: "I'm the beer savior, baby!" 
     28        CONDITION: "quest['beer'].getValue('beer_quality') >= 1" 
     29        GOTO: gratitude 
     30         
     31    -   REPLY: "It's me - don't you remember?" 
     32        CONDITION: "pc.met('janie')" 
     33        GOTO: old_pals 
     34         
     35    -   REPLY: "Sorry, didn't mean to startle you. I'll just be moving along\ 
     36           \ now." 
     37        GOTO: end 
     38         
     39-   ID: first_impression 
     40    SAY: "Hey Stranger.  You're new around here, I don't recognize your\ 
     41       \ face..." 
     42    ACTIONS: 
     43    -   meet: 
     44        - janie 
     45    RESPONSES: 
     46    -   REPLY: "Yeah, just blew in with the last storm." 
     47        CONDITION: "not quest.hasActiveQuest('fedex') and not\ 
     48           \ quest.hasFinishedQuest('fedex')" 
     49        GOTO: elaborate_fedex 
     50         
     51    -   REPLY: "But one night with me, babe, and you'll never forget it" 
     52        GOTO: rude_comeon 
     53         
     54-   ID: elaborate_fedex 
     55    SAY: "Well, maybe you can do me a favor.   I have this package I need\ 
     56       \ delivered to Pekko.  But you gotta be casual about it.  No one can know\ 
     57       \ you why you are looking for him." 
     58    RESPONSES: 
     59    -   REPLY: "Me?  Why Me?" 
     60        GOTO: why_me 
     61         
     62    -   REPLY: "Why the secrecy?" 
     63        GOTO: why_secret 
     64         
     65    -   REPLY: "What's in it for me?" 
     66        GOTO: what_do_i_get 
     67         
     68    -   REPLY: "Whatever, I need an excuse to wander around anyway." 
     69        ACTIONS: 
     70        -   start_quest: 
     71            - fedex 
     72        -   take_stuff: 
     73            - Box 
     74        GOTO: quest_fedex 
     75         
     76    -   REPLY: "Find another errand boy." 
     77        GOTO: end 
     78         
     79-   ID: why_me 
     80    SAY: "No one knows you.  You're new here.  You can be expected to be\ 
     81       \ wandering around being nosy." 
     82    RESPONSES: 
     83    -   REPLY: "I'm still not convinced." 
     84        GOTO: back 
     85         
     86    -   REPLY: "Beats watching nuthin' on TV." 
     87        ACTIONS: 
     88        -   start_quest: 
     89            - fedex 
     90        -   take_stuff: 
     91            - Box 
     92        GOTO: quest_fedex 
     93         
     94-   ID: why_secret 
     95    SAY: "Look buddy, it's no questions asked.  You think you are the only\ 
     96       \ frozen bum to come wandering in here?" 
     97    RESPONSES: 
     98    -   REPLY: "Bum?  You don't even know who I am." 
     99        GOTO: why_me 
     100         
     101    -   REPLY: "Really.  I remain unswayed by your logic, but you are pleasing\ 
     102           \ to the eye so keep talking." 
     103        GOTO: back 
     104         
     105    -   REPLY: "No need to get testy, I'll do it." 
     106        ACTIONS: 
     107        -   start_quest: 
     108            - fedex 
     109        -   take_stuff: 
     110            - Box 
     111        GOTO: quest_fedex 
     112         
     113-   ID: what_do_i_get 
     114    SAY: "Everybody wants something, huh.  I suppose my undying gratitude won't\ 
     115       \ cut it?  How about a beaver pelt?  They make great hats..." 
     116    RESPONSES: 
     117    -   REPLY: "Naw, it's OK, your gratitude's enough for me." 
     118        ACTIONS: 
     119        -   start_quest: 
     120            - fedex 
     121        -   take_stuff: 
     122            - Box 
     123        GOTO: quest_fedex 
     124         
     125    -   REPLY: "A beaver pelt it is, then!" 
     126        ACTIONS: 
     127        -   start_quest: 
     128            - fedex 
     129        -   take_stuff: 
     130            - Box 
     131        GOTO: quest_fedex 
     132         
     133    -   REPLY: "I already gotta hat.  Deliver your own package." 
     134        GOTO: end 
     135         
     136-   ID: quest_fedex 
     137    SAY: "You should be able to find Pekko in the main compound area.  If\ 
     138       \ anyone asks you why you are looking for him, 'say that he promised you\ 
     139       \ something'.  Pekko's always making promises.  Oh, and don't open the\ 
     140       \ box. [ Janie hands you the package ]" 
     141    RESPONSES: 
     142    -   REPLY: "Why can't I open the box?" 
     143        GOTO: why_no_open 
     144         
     145    -   REPLY: "You got it, boss." 
     146        GOTO: old_pals 
     147         
     148-   ID: why_no_open 
     149    SAY: "You are the nosiest little mailman anywhere, ain'tcha?  How about\ 
     150       \ 'it's private.'?  If I wanted you to know what it was, I wouldn't have\ 
     151       \ wasted a perfectly good box it, now would I?" 
     152    RESPONSES: 
     153    -   REPLY: "I guess not." 
     154        GOTO: old_pals 
     155         
     156-   ID: old_pals 
     157    SAY: "So what can I do for you?" 
     158    RESPONSES: 
     159    -   REPLY: "I'm trying to make beer, can you help me find some stuff?" 
     160        CONDITION: "quest.hasActiveQuest('beer') and\ 
     161           \ quest['beer'].isGoalValue('beer_instructions') and not\ 
     162           \ quest.hasFinishedQuest('beer') and\ 
     163           \ quest['beer'].getValue('beer_quality') < 1" 
     164        GOTO: help_beer 
     165         
     166    -   REPLY: "I guess I'll see if I can't find this Pekko character for you." 
     167        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     168           \ quest.hasFinishedQuest('fedex') and not\ 
     169           \ quest['fedex'].isGoalValue('found_pekko')" 
     170        GOTO: end 
     171         
     172    -   REPLY: "So long, Janie.  Catch you later." 
     173        CONDITION: "not quest.hasActiveQuest('fedex') or\ 
     174           \ quest.hasFinishedQuest('fedex')" 
     175        GOTO: end 
     176         
     177    -   REPLY: "Uh, I opened the box." 
     178        CONDITION: "quest['fedex'].getValue('open_box')" 
     179        GOTO: open_box 
     180         
     181    -   REPLY: "Hey, some folks seem to think Pekko left the compound.  Would\ 
     182           \ you have seen him?" 
     183        CONDITION: "quest['fedex'].getValue('check_pekko_left') and not\ 
     184           \ quest['fedex'].isGoalValue('found_pekko')" 
     185        ACTIONS: 
     186        -   set_quest_value: 
     187                quest: fedex 
     188                value: true 
     189                variable: check_pekko_left 
     190        GOTO: pekko_left 
     191         
     192    -   REPLY: "I have some bad news.  I found your friend, Pekko.  In the\ 
     193           \ water tank.  Dead." 
     194        CONDITION: "quest['fedex'].isGoalValue('found_pekko') and not\ 
     195           \ quest['fedex'].getValue('accused_of_murder')" 
     196        GOTO: dead_pekko 
     197         
     198    -   REPLY: "What are we going to do about Pekko's murder?" 
     199        CONDITION: "quest.hasActiveQuest('fedex') and\ 
     200           \ quest['fedex'].getValue('accused_of_murder')" 
     201        ACTIONS: 
     202        -   set_quest_value: &id001 
     203                quest: fedex 
     204                value: true 
     205                variable: report_murder_to_janie 
     206        GOTO: discuss_murder 
     207         
     208-   ID: help_beer 
     209    SAY: "Well, what do you need?" 
     210    RESPONSES: 
     211    -   REPLY: "Where do you folks get water from.  The more pure, the better." 
     212        GOTO: help_water 
     213         
     214    -   REPLY: "Some kind of grain, or fruit or something." 
     215        GOTO: help_grain 
     216         
     217    -   REPLY: "I'm really looking for some brewer's yeast." 
     218        GOTO: help_yeast 
     219         
     220    -   REPLY: "I need a pot to cook the mash in." 
     221        GOTO: help_pot 
     222         
     223    -   REPLY: "It would be great if I had some bottles to put the brew in!" 
     224        GOTO: help_bottles 
     225         
     226    -   REPLY: "I think I can handle it from here." 
     227        GOTO: back 
     228         
     229-   ID: help_water 
     230    SAY: "Oh, that is the one thing we have plenty of.  We have an old tanker\ 
     231       \ trunk that we shovel the snow in and melt it.  You can see it from up\ 
     232       \ here, but you have to go downstairs to tap it.  But the water's been\ 
     233       \ tasting a little funny lately." 
     234    RESPONSES: 
     235    -   REPLY: "Great, that's a huge help." 
     236        GOTO: back 
     237         
     238-   ID: help_grain 
     239    SAY: "You could try the farm, and there should be some food in the\ 
     240       \ storerooms" 
     241    RESPONSES: 
     242    -   REPLY: "Thanks, I'll try that." 
     243        GOTO: back 
     244         
     245-   ID: help_yeast 
     246    SAY: "You got me.  I wonder if there is even any left at all." 
     247    RESPONSES: 
     248    -   REPLY: "Someone must have some!" 
     249        GOTO: back 
     250         
     251-   ID: help_pot 
     252    SAY: "Did you try the kitchen?  Or the storerooms?" 
     253    RESPONSES: 
     254    -   REPLY: "Uh, yeah.  I guess that was obvious." 
     255        GOTO: back 
     256         
     257-   ID: help_bottles 
     258    SAY: "All the random junk is downstairs in old parking lot.  We have our\ 
     259       \ own little junkyard." 
     260    RESPONSES: 
     261    -   REPLY: "Oooh... there is probably lots of good stuff down there." 
     262        GOTO: back 
     263         
     264-   ID: open_box 
     265    SAY: "What!  You little worm!  Why did you do that!" 
     266    RESPONSES: 
     267    -   REPLY: "Well, I figured since Pekko was dead and all..." 
     268        CONDITION: "quest['fedex'].isGoalValue('found_pekko')" 
     269        GOTO: dead_pekko 
     270         
     271    -   REPLY: "I'm sorry, I was just curious." 
     272        GOTO: give_back_boots 
     273         
     274-   ID: boot_gift 
     275    SAY: "That's what was in the package. [Janie takes boots out of the\ 
     276       \ package, and gives them to you]" 
     277    RESPONSES: 
     278    -   REPLY: "Oh.  I must be missing something..." 
     279        GOTO: explain_boots 
     280         
     281-   ID: pekko_left 
     282    SAY: "Left?  No, he's here.  I didn't see him leave, and there's no entry\ 
     283       \ in the log.  He's definitly here.  I'd know." 
     284    RESPONSES: 
     285    -   REPLY: "Boy, that's strange." 
     286        GOTO: back 
     287         
     288-   ID: discuss_murder 
     289    SAY: "Look.  Just stay out of it.  It's not really your business anyway,\ 
     290       \ Stranger.  Just forget we ever talked." 
     291    RESPONSES: 
     292    -   REPLY: "Alright, Alright.  But I don't like it." 
     293        GOTO: give_up_quest 
     294         
     295    -   REPLY: "It was Bart." 
     296        ACTIONS: 
     297        -   set_quest_value: 
     298                quest: fedex 
     299                value: bart 
     300                variable: accused_of_murder 
     301        GOTO: accuse_bart 
     302         
     303    -   REPLY: "It was Matti, the Snow Shoveler!" 
     304        ACTIONS: 
     305        -   set_quest_value: 
     306                quest: fedex 
     307                value: matti 
     308                variable: accused_of_murder 
     309        GOTO: accuse_matti 
     310         
     311    -   REPLY: "I think it was an accident." 
     312        ACTIONS: 
     313        -   set_quest_value: 
     314                quest: fedex 
     315                value: '' 
     316                variable: accused_of_murder 
     317        GOTO: report_accident 
     318         
     319    -   REPLY: "Well, I'm going to talk to the boss about it." 
     320        GOTO: report_to_boss 
     321         
     322-   ID: give_up_quest 
     323    SAY: "You are making the right decision." 
     324    RESPONSES: 
     325    -   REPLY: "If you want me to drop it, I'll drop it." 
     326        ACTIONS: 
     327        -   fail_quest: 
     328            - fedex 
     329        GOTO: drop_quest 
     330         
     331    -   REPLY: "No, I can't drop it.  I have to talk to the authorities" 
     332        GOTO: report_to_boss 
     333         
     334-   ID: drop_quest 
     335    SAY: "Drop it.  It's bigger than than both of us." 
     336    RESPONSES: 
     337    -   REPLY: "Consider it dropped.  How about a date?" 
     338        GOTO: end 
     339         
     340-   ID: accuse_bart 
     341    SAY: "The town drunk???  ...really?  Anyway... I don't want to know.  He's\ 
     342       \ dead.  I knew his big mouth and goofy ideas were going to get him in\ 
     343       \ trouble.  Just drop it, please." 
     344    RESPONSES: 
     345    -   REPLY: "You can't just allow folks to murder people! It's wrong!\ 
     346           \ Someone must be informed!" 
     347        GOTO: report_to_boss 
     348         
     349    -   REPLY: "If you want me to, I'll forget about the whole thing..." 
     350        GOTO: give_up_quest 
     351         
     352-   ID: accuse_matti 
     353    SAY: "Matti?  He looks mean, but I don't think he would hurt a fly.\ 
     354       \ Anyway...  I don't want to know.  He's dead. He saved me you, know.  I\ 
     355       \ guess he needed to pay more attention to himself.  Just drop it,\ 
     356       \ please." 
     357    RESPONSES: 
     358    -   REPLY: "You can't just allow folks to murder people! It's wrong!\ 
     359           \ Someone must be informed!" 
     360        GOTO: report_to_boss 
     361         
     362    -   REPLY: "If you want me to, I'll forget about the whole thing..." 
     363        GOTO: give_up_quest 
     364         
     365-   ID: report_accident 
     366    SAY: "An accident?  That's... convenient.  For someone." 
     367    RESPONSES: 
     368    -   REPLY: "Well, uh, you know.  It's a dangerous world.  I guess he\ 
     369           \ slipped and fell in the cistern." 
     370        GOTO: old_pals 
     371         
     372-   ID: report_to_boss 
     373    SAY: "You can talk to Kimmo, but I don't think you'll find the justice you\ 
     374       \ are looking for." 
     375    RESPONSES: 
     376    -   REPLY: "Maybe.  But I have to try, right?  Otherwise, we are no better\ 
     377           \ than wild animals." 
     378        GOTO: end 
     379         
     380-   ID: explain_boots 
     381    SAY: "The boots were a signal that he should leave town... that he'd gone\ 
     382       \ too far this time." 
     383    RESPONSES: 
     384    -   REPLY: "You knew about this?  Who do you think killed him?" 
     385        ACTIONS: 
     386        -   set_quest_value: *id001 
     387        GOTO: discuss_murder 
     388         
     389    -   REPLY: "I think I know who killed him." 
     390        ACTIONS: 
     391        -   set_quest_value: *id001 
     392        GOTO: discuss_murder 
     393         
     394-   ID: dead_pekko 
     395    SAY: "He's dead?  Well, I'm too late then. I guess you can keep the boots,\ 
     396       \ then." 
     397    RESPONSES: 
     398    -   REPLY: "What boots?" 
     399        CONDITION: "not quest['fedex'].getValue('open_box')" 
     400        ACTIONS: 
     401        -   take_stuff: 
     402            - boots 
     403        GOTO: boot_gift 
     404         
     405    -   REPLY: "Yeah, I figured he wouldn't need them.  Why did you send him\ 
     406           \ boots, anyway?" 
     407        CONDITION: "quest['fedex'].getValue('open_box')" 
     408        GOTO: explain_boots 
     409         
     410    -   REPLY: "Does this mean no beaver pelt?" 
     411        GOTO: no_beaver_pelt 
     412         
     413-   ID: no_beaver_pelt 
     414    SAY: "No pelt." 
     415    RESPONSES: 
     416    -   REPLY: "Awwwwww..." 
     417        GOTO: back 
     418         
     419-   ID: give_back_boots 
     420    SAY: "Give me that back!" 
     421    RESPONSES: 
     422    -   REPLY: "Here" 
     423        CONDITION: "pc.hasItem(\"Boots\")" 
     424        ACTIONS: 
     425        -   restart_quest: 
     426            - fedex 
     427        GOTO: rewrap_box 
     428         
     429    -   REPLY: "I seem to have... misplaced them..." 
     430        CONDITION: "not pc.hasItem(\"Boots\")" 
     431        GOTO: lost_boots 
     432         
     433-   ID: lost_boots 
     434    SAY: "WHAT!?" 
     435    RESPONSES: 
     436    -   REPLY: "I, uh, go search them" 
     437        GOTO: end 
     438         
     439-   ID: rewrap_box 
     440    SAY: "[Janie takes boots from PC and rewraps them].  Now, here.  And don't\ 
     441       \ open it again." 
     442    RESPONSES: 
     443    -   REPLY: "OK, It will never happen again." 
     444        GOTO: old_pals 
     445         
     446-   ID: gratitude 
     447    SAY: "Well aren't you just a thick slice of awesome." 
     448    RESPONSES: 
     449    -   REPLY: "I try, I try." 
     450        GOTO: old_pals 
     451         
     452-   ID: rude_comeon 
     453    SAY: "[fondles weapon] I hope you can take it as well as you give it..." 
     454    RESPONSES: 
     455    -   REPLY: "Any way you want it, that's the way you need it!" 
     456        GOTO: end 
     457         
     458... 
  • trunk/game/dialogue/grifter1.yaml

    r570 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    16 #   NOTE:  This is not a "real" dialogue file, it is meant to be a template for 
    17 #   Any generic fortified mall (techdemo location) denizen 
    1815--- 
    19 NPC: Cali 
    20 AVATAR: gui/icons/grifter_temp.png 
    21 START: main_dialog 
    22  
     16NPC_NAME: Cali 
     17AVATAR_PATH: gui/icons/grifter_temp.png 
     18START_SECTION: main_dialog 
    2319SECTIONS: 
    24     main_dialog: 
    25         - say: "Hi there stranger.  Buy a gal a drink?" 
    26         - meet: cali 
    27         - responses: 
    28            - 
    29               - "I'm looking for stuff to make beer with. " 
    30               - help_beer 
    31               - quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') and quest['beer'].isGoalValue('beer_instructions') 
    32            -  
    33               - "My new beer is a great success..." 
    34               - gratitude 
    35               - quest['beer'].getValue('beer_quality') >= 1 
    36            -  
    37               - "I'm looking for Pekko, you seen him?" 
    38               - help_fedex 
    39               - quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    40            - 
    41               - "Sorry, I'm broke." 
    42               - end 
    43  
    44     help_beer: 
    45         - say: "Trying to horn in on old Jacob here, huh?  I wouldn't if I were you." 
    46         - responses: 
    47            -  
    48              - "Hey, we all do what we have to.  I'm sure you understand." 
    49              - back 
    50               
    51     help_fedex: 
    52         - say: "[sigh] The cute one?.  He's in here all the time.  I guess it has been a couple days since I've seen him." 
    53         - responses: 
    54            - 
    55              - "Yes, no one has seen him for a couple of days." 
    56              - back 
    57            -  
    58              - "Was Camilla here all night the last time you saw Pekko here?" 
    59              - check_alibi 
    60              - quest['fedex'].isGoalValue('drunkard_evidence') 
    61  
    62     check_alibi: 
    63         - say: "Hmmmm... Yeah, I think so.  She's here almost every night." 
    64         - responses: 
    65            - 
    66              - "OK, thanks." 
    67              - main_dialog 
    68  
    69     gratitude:  
    70         - say: "Huh.  Well, how about that.  You won't forget your friend Cali when you are famous, right?" 
    71         - responses: 
    72            -  
    73              - "No way, babe." 
    74              - main_dialog 
    75   
     20-   ID: main_dialog 
     21    SAY: "Hi there stranger.  Buy a gal a drink?" 
     22    ACTIONS: 
     23    -   meet: 
     24        - cali 
     25    RESPONSES: 
     26    -   REPLY: "I'm looking for stuff to make beer with. " 
     27        CONDITION: "quest.hasActiveQuest('beer') and not\ 
     28           \ quest.hasFinishedQuest('beer') and\ 
     29           \ quest['beer'].isGoalValue('beer_instructions')" 
     30        GOTO: help_beer 
     31         
     32    -   REPLY: "My new beer is a great success..." 
     33        CONDITION: "quest['beer'].getValue('beer_quality') >= 1" 
     34        GOTO: gratitude 
     35         
     36    -   REPLY: "I'm looking for Pekko, you seen him?" 
     37        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     38           \ quest.hasFinishedQuest('fedex') and not\ 
     39           \ quest['fedex'].isGoalValue('found_pekko')" 
     40        GOTO: help_fedex 
     41         
     42    -   REPLY: "Sorry, I'm broke." 
     43        GOTO: end 
     44         
     45-   ID: help_beer 
     46    SAY: "Trying to horn in on old Jacob here, huh?  I wouldn't if I were you." 
     47    RESPONSES: 
     48    -   REPLY: "Hey, we all do what we have to.  I'm sure you understand." 
     49        GOTO: back 
     50         
     51-   ID: help_fedex 
     52    SAY: "[sigh] The cute one?.  He's in here all the time.  I guess it has\ 
     53       \ been a couple days since I've seen him." 
     54    RESPONSES: 
     55    -   REPLY: "Yes, no one has seen him for a couple of days." 
     56        GOTO: back 
     57         
     58    -   REPLY: "Was Camilla here all night the last time you saw Pekko here?" 
     59        CONDITION: "quest['fedex'].isGoalValue('drunkard_evidence')" 
     60        GOTO: check_alibi 
     61         
     62-   ID: check_alibi 
     63    SAY: "Hmmmm... Yeah, I think so.  She's here almost every night." 
     64    RESPONSES: 
     65    -   REPLY: "OK, thanks." 
     66        GOTO: main_dialog 
     67         
     68-   ID: gratitude 
     69    SAY: "Huh.  Well, how about that.  You won't forget your friend Cali when\ 
     70       \ you are famous, right?" 
     71    RESPONSES: 
     72    -   REPLY: "No way, babe." 
     73        GOTO: main_dialog 
     74         
     75... 
  • trunk/game/dialogue/grifter2.yaml

    r570 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    16 #   NOTE:  This is not a "real" dialogue file, it is meant to be a template for 
    17 #   Any generic fortified mall (techdemo location) denizen 
    1815--- 
    19 NPC: Kandi 
    20 AVATAR: gui/icons/grifter_temp.png 
    21 START: main_dialog 
    22  
     16NPC_NAME: Kandi 
     17AVATAR_PATH: gui/icons/grifter_temp.png 
     18START_SECTION: main_dialog 
    2319SECTIONS: 
    24     main_dialog: 
    25         - say: "Hi there stranger.  Buy a gal a drink?" 
    26         - meet: kandi 
    27         - responses: 
    28             - 
    29               - "I'm looking for stuff to make beer with " 
    30               - help_beer 
    31               - quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') and quest['beer'].isGoalValue('beer_instructions') 
    32             -  
    33               - "My new beer is a great success..." 
    34               - gratitude 
    35               - quest['beer'].getValue('beer_quality') >= 1 
    36             -  
    37               - "I'm looking for Pekko, you seen him?" 
    38               - help_fedex 
    39               - quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    40             - 
    41               - "Sorry, I'm broke." 
    42               - end 
    43  
    44     help_beer: 
    45         - say: "Well, good luck with that.  But I'm a little too close to Jake to help out.  You understand, right?" 
    46         - responses: 
    47            -  
    48              - "Oh, sure, I get it." 
    49              - back 
    50               
    51     help_fedex: 
    52         - say: "Pekko?  He's in here all the time.  I guess it has been a couple days since I've seen him." 
    53         - responses: 
    54            - 
    55              - "Yes, no one has seen him for a couple of days." 
    56              - back 
    57            -  
    58              - "Was Camilla here all night the last time you saw Pekko here?" 
    59              - check_alibi 
    60              - quest['fedex'].isGoalValue('drunkard_evidence') 
    61  
    62     check_alibi: 
    63         - say: "Hmmmm... Yeah, I think so.  She's here almost every night." 
    64         - responses: 
    65            - 
    66              - "OK, thanks." 
    67              - main_dialog 
    68  
    69     gratitude:  
    70         - say: "Huh.  Well, how about that.  You won't forget your friend Kandi when you are famous, right?" 
    71         - responses: 
    72            -  
    73              - "No way, babe." 
    74              - main_dialog 
    75   
     20-   ID: main_dialog 
     21    SAY: "Hi there stranger.  Buy a gal a drink?" 
     22    ACTIONS: 
     23    -   meet: 
     24        - kandi 
     25    RESPONSES: 
     26    -   REPLY: "I'm looking for stuff to make beer with " 
     27        CONDITION: "quest.hasActiveQuest('beer') and not\ 
     28           \ quest.hasFinishedQuest('beer') and\ 
     29           \ quest['beer'].isGoalValue('beer_instructions')" 
     30        GOTO: help_beer 
     31         
     32    -   REPLY: "My new beer is a great success..." 
     33        CONDITION: "quest['beer'].getValue('beer_quality') >= 1" 
     34        GOTO: gratitude 
     35         
     36    -   REPLY: "I'm looking for Pekko, you seen him?" 
     37        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     38           \ quest.hasFinishedQuest('fedex') and not\ 
     39           \ quest['fedex'].isGoalValue('found_pekko')" 
     40        GOTO: help_fedex 
     41         
     42    -   REPLY: "Sorry, I'm broke." 
     43        GOTO: end 
     44         
     45-   ID: help_beer 
     46    SAY: "Well, good luck with that.  But I'm a little too close to Jake to\ 
     47       \ help out.  You understand, right?" 
     48    RESPONSES: 
     49    -   REPLY: "Oh, sure, I get it." 
     50        GOTO: back 
     51         
     52-   ID: help_fedex 
     53    SAY: "Pekko?  He's in here all the time.  I guess it has been a couple days\ 
     54       \ since I've seen him." 
     55    RESPONSES: 
     56    -   REPLY: "Yes, no one has seen him for a couple of days." 
     57        GOTO: back 
     58         
     59    -   REPLY: "Was Camilla here all night the last time you saw Pekko here?" 
     60        CONDITION: "quest['fedex'].isGoalValue('drunkard_evidence')" 
     61        GOTO: check_alibi 
     62         
     63-   ID: check_alibi 
     64    SAY: "Hmmmm... Yeah, I think so.  She's here almost every night." 
     65    RESPONSES: 
     66    -   REPLY: "OK, thanks." 
     67        GOTO: main_dialog 
     68         
     69-   ID: gratitude 
     70    SAY: "Huh.  Well, how about that.  You won't forget your friend Kandi when\ 
     71       \ you are famous, right?" 
     72    RESPONSES: 
     73    -   REPLY: "No way, babe." 
     74        GOTO: main_dialog 
     75         
     76... 
  • trunk/game/dialogue/innkeeper.yaml

    r570 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    16 #   NOTE:  This is not a "real" dialogue file, it is meant to be a template for 
    17 #   Any generic fortified mall (techdemo location) denizen 
    1815--- 
    19 NPC: Jacob 
    20 AVATAR: gui/icons/innkeeper.png 
    21 START: main_dialog 
    22  
     16NPC_NAME: Jacob 
     17AVATAR_PATH: gui/icons/innkeeper.png 
     18START_SECTION: main_dialog 
    2319SECTIONS: 
    24     main_dialog: 
    25         - say: "Hi there, Stranger!  Welcome to Jacob's.  How can I help you?" 
    26         - meet: jacob 
    27         - responses: 
    28             - 
    29               - "I'd like a drink." 
    30               - buy_drink 
    31             - 
    32               - "Nice place you got here.  What's your story?" 
    33               - inn_background 
    34             - 
    35               - "Who are those two women over there?" 
    36               - loose_women 
    37             -  
    38               - "I'm the bastard that's going to put you out of business!" 
    39               - ungratitude 
    40               - quest['beer'].getValue('beer_quality') >= 1 
    41             -  
    42               - "I'm looking for Pekko, you seen him?" 
    43               - help_fedex 
    44               - quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    45             - 
    46               - "Pekko's dead.  I found his body." 
    47               - pekko_dead 
    48               - quest['fedex'].isGoalValue('found_pekko') 
    49             - 
    50               - "Nothing for me, thanks." 
    51               - end 
    52  
    53     buy_drink: 
    54         - say: "Doesn't look like you got much to trade for any of my premium booze.  Come back later when you can pay." 
    55         - responses: 
    56            - 
    57              - "Alright, I'll scrounge something up." 
    58              - back 
    59            - 
    60              - "Can't I run up a tab?" 
    61              - credit_check 
    62  
    63     credit_check: 
    64         - say: "Your credit is no good here.  Now, get out before I have Dig run you out." 
    65         - responses: 
    66            - 
    67              - "OK, OK, I was just asking." 
    68              - main_dialog 
    69  
    70     inn_background: 
    71         - say: "Well... Dig, Enoch and I found this place some years back.  Kimmo and Pekko were here first, of course, but they obviously needed our help.  The girls took a liking to it, and with the improvements we made, it seemed like a good place as any to set up shop. " 
    72         - responses: 
    73            - 
    74              - "Who's Enoch?" 
    75              - explain_enoch 
    76            - 
    77              - "Who's Dig?" 
    78              - explain_dig 
    79            - 
    80              - "What improvements do you mean?" 
    81              - explain_steam 
    82            - 
    83              - "What girls?" 
    84              - explain_girls 
    85            - 
    86              - "Cool, this is probably the best bar in about 500 km." 
    87              - back 
    88  
    89     explain_enoch: 
    90         - say: "Enoch was my engineer.  He worked for me before the war.  He outfitted this place with the steam heating system." 
    91         - responses: 
    92            - 
    93              - "Oh wow, steam heat?  How does that work?" 
    94              - explain_steam 
    95            - 
    96              - "Where is Enoch now?  Can I meet him?" 
    97              - enochs_demise 
    98  
    99     enochs_demise: 
    100         - say: "Alas, he's no longer with us.  He met with an unfortunate accident.  Luckily, he taught me how to keep the system up and running." 
    101         - responses: 
    102            - 
    103              - "Accident?" 
    104              - enochs_accident 
    105            - 
    106              - "So you are the only one who can maintain the steam system?" 
    107              - steam_maintainance 
    108               
    109     enochs_accident: 
    110         - say: "Oh, you know.  Just one of those things.  Dangerous world." 
    111         - responses: 
    112            - 
    113              - "Uh, I see." 
    114              - back 
    115  
    116     explain_steam: 
    117         - say: "Well it's pretty simple in principal.  We just have a big wood fire melting snow.  Some of it becomes drinking water, the rest gets vaporized and sent around in all these steam pipes.  The each have little radiator attachments.  As long as we have wood, the whole place stays quite cozy.  It's kind of a pain to keep up though." 
    118         - responses: 
    119            - 
    120              - "Can anyone just go get water there?" 
    121              - help_water 
    122              - quest.hasActiveQuest('beer') and quest.hasActiveQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    123            - 
    124              - "But you can keep it running indefinitely... and no one else knows how it works?" 
    125              - steam_maintainance 
    126            - 
    127              - "Pretty nifty." 
    128              - inn_background 
    129               
    130     help_water: 
    131         - say: "Sure, doesn't cost us a thing.  No shortage of snow.  But I'll warn you, the water's been tasting a little funny lately" 
    132         - responses: 
    133            - 
    134              - "Thanks for the tip." 
    135              - back 
    136  
    137     steam_maintainance: 
    138         - say: "Yeah, just me.  I call it job security.  Like I said, it's a dangerous world." 
    139         - responses: 
    140            - 
    141              - "That must make you pretty popular around here." 
    142              - popularity 
    143            - 
    144              - "Interesting." 
    145              - inn_background 
    146  
    147     popularity: 
    148         - say: "Ha, Ha, very funny.  Let's just say it's our own version of checks-and-balances with Fearless Leader Kimmo over there." 
    149         - responses: 
    150            - 
    151              - "Well, we all do what we have to." 
    152              - inn_background 
    153  
    154     explain_girls: 
    155         - say: "My daughters: Camilla and Synnove.  They were just little girls when the whole world went to hell.  I hope they can still have some kind of life." 
    156         - responses: 
    157            - 
    158              - "Can I talk to Camilla?" 
    159              - talk_camilla 
    160            - 
    161              - "Can I talk to Synnove?" 
    162              - talk_synnove 
    163            - 
    164              - "At least you still have someone to call family.  Better than most of us." 
    165              - back 
    166  
    167     talk_camilla: 
    168         - say: "Can you talk to her?  Listen to her, more likely.  She's right over there and is usually handling the bar when I am busy." 
    169         - responses: 
    170            - 
    171              - "Oh, that's her?" 
    172              - back 
    173  
    174     talk_synnove: 
    175         - say: "Synnove?  Maybe you can talk some sense into her.  I know, she's been through a lot - but haven't we all.  She's wandering around somewhere." 
    176         - responses: 
    177            - 
    178              - "Alright, I will look around for her." 
    179              - back 
    180  
    181     explain_dig: 
    182         - say: "Dig and I go way back.  We owe each other our lives more times than we can count.  He takes care of 'difficulties' for me." 
    183         - responses: 
    184            - 
    185              - "Ah, I will stay out his way then." 
    186              - back 
    187  
    188     loose_women: 
    189         - say: "Candi and Kalli?  They're the hospitality squad.  Harmless fun, if you buy them a drink." 
    190         - responses: 
    191            - 
    192              - "Ah, I see." 
    193              - back 
    194  
    195     pekko_dead: 
    196         - say: "Dead, huh.  That's a shame.  A damn shame.  He was a positive force around here.  How did he die?" 
    197         - responses: 
    198            - 
    199              - "I am not sure, I found his body in the cistern." 
    200              - body_found 
    201            -  
    202              - "Someone murdered him, and shoved his body in the cistern." 
    203              - discuss_murder 
    204              - quest['fedex'].getValue('accused_of_murder') != '' 
    205               
    206     body_found: 
    207         - say: "Well, if you ask me, that's a funny place to have an accident.  Enoch and I worked for a couple of weeks on that system.  There's really no way you could just fall in.  And Pekko's not the suicidal type." 
    208         - responses: 
    209            - 
    210              - "So you think someone killed him?" 
    211              - discuss_murder 
    212            - 
    213              - "No, I am sure it was an accident." 
    214              - main_dialog 
    215  
    216     discuss_murder: 
    217         - say: "Damn if doesn't look like it.  I know some folks were mad at him for stirring up trouble, but I didn't they were the type to just snuff him like that.  It's a cold world, alright." 
    218         - responses: 
    219            - 
    220              - "Who do you think killed him?" 
    221              - discuss_suspects 
    222            - 
    223              - "I think Bart, the drunkard killed him." 
    224              - accuse_bart 
    225            - 
    226              - "I think that dim-witted Matti killed him." 
    227              - accuse_matti 
    228            - 
    229              - "Bart killed him, and Kimmo put him up to it." 
    230              - accuse_kimmo 
    231              - quest['fedex'].isGoalValue('drunkard_confesses') 
    232  
    233     discuss_suspects: 
    234         - say: "I have my theories.  But I'll be keeping them to myself.  And if I were you, I would drop the subject." 
    235         - responses: 
    236            - 
    237              - "Really?" 
    238              - back 
    239  
    240     accuse_bart: 
    241        - set_value: 
    242             quest: 'fedex' 
    243             variable: 'accused_of_murder' 
    244             value: 'bart' 
    245        - say: "Bart, huh?  Why? What's in it for him?" 
    246        - responses: 
    247            - 
    248              - "I guess I should look into it more." 
    249              - back 
    250            - 
    251              - "Camilla said that she saw the two of them together out in the parking lot the night he disappeared." 
    252              - back 
    253              - quest['fedex'].isGoalValue('drunkard_evidence') 
    254  
    255     accuse_matti: 
    256        - set_value: 
    257             quest: 'fedex' 
    258             variable: 'accused_of_murder' 
    259             value: 'matti' 
    260        - say: "You are barking up the wrong tree." 
    261        - responses: 
    262            - 
    263              - "Is that what you think?  Why won't you talk about it?" 
    264              - back 
    265  
    266     accuse_kimmo: 
    267        - say: "So.  You figured it out, huh.  Big hero, proves the Fearless Leader himself had his own brother killed.  Did you ever stop to think that revealing this information could do even further damage?" 
    268        - responses: 
    269            - 
    270              - "So, this news doesn't shock you?" 
    271              - murder_fallout 
    272            - 
    273              - "I never thought of it that way before..." 
    274              - main_dialog 
    275               
    276     murder_fallout: 
    277        - say: "Survival in this world is bigger than the life of any one man; even an innocent man.  Justice is not my - or anyone's - primary concern." 
    278        - responses: 
    279            - 
    280              - "Without justice, is survival worth anything at all?" 
    281              - main_dialog 
    282  
    283     help_fedex: 
    284        - say: "Ah, adventure boy.  Nope, haven't seem him in a couple of days.  Maybe check with one of the girls?" 
    285        - responses: 
    286            - 
    287              - "Girls?" 
    288              - explain_girls 
    289            - 
    290              - "Hmmm... no one seems to have seen him." 
    291              - back 
    292  
    293     ungratitude:  
    294        - say: "Well aren't you just a thick slice of awesome." 
    295        - responses: 
    296            -  
    297              - "I try, I try." 
    298              - main_dialog 
    299   
     20-   ID: main_dialog 
     21    SAY: "Hi there, Stranger!  Welcome to Jacob's.  How can I help you?" 
     22    ACTIONS: 
     23    -   meet: 
     24        - jacob 
     25    RESPONSES: 
     26    -   REPLY: "I'd like a drink." 
     27        GOTO: buy_drink 
     28         
     29    -   REPLY: "Nice place you got here.  What's your story?" 
     30        GOTO: inn_background 
     31         
     32    -   REPLY: "Who are those two women over there?" 
     33        GOTO: loose_women 
     34         
     35    -   REPLY: "I'm the bastard that's going to put you out of business!" 
     36        CONDITION: "quest['beer'].getValue('beer_quality') >= 1" 
     37        GOTO: ungratitude 
     38         
     39    -   REPLY: "I'm looking for Pekko, you seen him?" 
     40        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     41           \ quest.hasFinishedQuest('fedex') and not\ 
     42           \ quest['fedex'].isGoalValue('found_pekko')" 
     43        GOTO: help_fedex 
     44         
     45    -   REPLY: "Pekko's dead.  I found his body." 
     46        CONDITION: "quest['fedex'].isGoalValue('found_pekko')" 
     47        GOTO: pekko_dead 
     48         
     49    -   REPLY: "Nothing for me, thanks." 
     50        GOTO: end 
     51         
     52-   ID: buy_drink 
     53    SAY: "Doesn't look like you got much to trade for any of my premium booze.\ 
     54       \ Come back later when you can pay." 
     55    RESPONSES: 
     56    -   REPLY: "Alright, I'll scrounge something up." 
     57        GOTO: back 
     58         
     59    -   REPLY: "Can't I run up a tab?" 
     60        GOTO: credit_check 
     61         
     62-   ID: credit_check 
     63    SAY: "Your credit is no good here.  Now, get out before I have Dig run you\ 
     64       \ out." 
     65    RESPONSES: 
     66    -   REPLY: "OK, OK, I was just asking." 
     67        GOTO: main_dialog 
     68         
     69-   ID: inn_background 
     70    SAY: "Well... Dig, Enoch and I found this place some years back.  Kimmo and\ 
     71       \ Pekko were here first, of course, but they obviously needed our help.\ 
     72       \ The girls took a liking to it, and with the improvements we made, it\ 
     73       \ seemed like a good place as any to set up shop. " 
     74    RESPONSES: 
     75    -   REPLY: "Who's Enoch?" 
     76        GOTO: explain_enoch 
     77         
     78    -   REPLY: "Who's Dig?" 
     79        GOTO: explain_dig 
     80         
     81    -   REPLY: "What improvements do you mean?" 
     82        GOTO: explain_steam 
     83         
     84    -   REPLY: "What girls?" 
     85        GOTO: explain_girls 
     86         
     87    -   REPLY: "Cool, this is probably the best bar in about 500 km." 
     88        GOTO: back 
     89         
     90-   ID: explain_enoch 
     91    SAY: "Enoch was my engineer.  He worked for me before the war.  He\ 
     92       \ outfitted this place with the steam heating system." 
     93    RESPONSES: 
     94    -   REPLY: "Oh wow, steam heat?  How does that work?" 
     95        GOTO: explain_steam 
     96         
     97    -   REPLY: "Where is Enoch now?  Can I meet him?" 
     98        GOTO: enochs_demise 
     99         
     100-   ID: enochs_demise 
     101    SAY: "Alas, he's no longer with us.  He met with an unfortunate accident.\ 
     102       \ Luckily, he taught me how to keep the system up and running." 
     103    RESPONSES: 
     104    -   REPLY: "Accident?" 
     105        GOTO: enochs_accident 
     106         
     107    -   REPLY: "So you are the only one who can maintain the steam system?" 
     108        GOTO: steam_maintainance 
     109         
     110-   ID: enochs_accident 
     111    SAY: "Oh, you know.  Just one of those things.  Dangerous world." 
     112    RESPONSES: 
     113    -   REPLY: "Uh, I see." 
     114        GOTO: back 
     115         
     116-   ID: explain_steam 
     117    SAY: "Well it's pretty simple in principal.  We just have a big wood fire\ 
     118       \ melting snow.  Some of it becomes drinking water, the rest gets\ 
     119       \ vaporized and sent around in all these steam pipes.  The each have\ 
     120       \ little radiator attachments.  As long as we have wood, the whole place\ 
     121       \ stays quite cozy.  It's kind of a pain to keep up though." 
     122    RESPONSES: 
     123    -   REPLY: "Can anyone just go get water there?" 
     124        CONDITION: "quest.hasActiveQuest('beer') and\ 
     125           \ quest.hasActiveQuest('fedex') and not\ 
     126           \ quest['fedex'].isGoalValue('found_pekko')" 
     127        GOTO: help_water 
     128         
     129    -   REPLY: "But you can keep it running indefinitely... and no one else\ 
     130           \ knows how it works?" 
     131        GOTO: steam_maintainance 
     132         
     133    -   REPLY: "Pretty nifty." 
     134        GOTO: inn_background 
     135         
     136-   ID: help_water 
     137    SAY: "Sure, doesn't cost us a thing.  No shortage of snow.  But I'll warn\ 
     138       \ you, the water's been tasting a little funny lately" 
     139    RESPONSES: 
     140    -   REPLY: "Thanks for the tip." 
     141        GOTO: back 
     142         
     143-   ID: steam_maintainance 
     144    SAY: "Yeah, just me.  I call it job security.  Like I said, it's a\ 
     145       \ dangerous world." 
     146    RESPONSES: 
     147    -   REPLY: "That must make you pretty popular around here." 
     148        GOTO: popularity 
     149         
     150    -   REPLY: "Interesting." 
     151        GOTO: inn_background 
     152         
     153-   ID: popularity 
     154    SAY: "Ha, Ha, very funny.  Let's just say it's our own version of\ 
     155       \ checks-and-balances with Fearless Leader Kimmo over there." 
     156    RESPONSES: 
     157    -   REPLY: "Well, we all do what we have to." 
     158        GOTO: inn_background 
     159         
     160-   ID: explain_girls 
     161    SAY: "My daughters: Camilla and Synnove.  They were just little girls when\ 
     162       \ the whole world went to hell.  I hope they can still have some kind of\ 
     163       \ life." 
     164    RESPONSES: 
     165    -   REPLY: "Can I talk to Camilla?" 
     166        GOTO: talk_camilla 
     167         
     168    -   REPLY: "Can I talk to Synnove?" 
     169        GOTO: talk_synnove 
     170         
     171    -   REPLY: "At least you still have someone to call family.  Better than\ 
     172           \ most of us." 
     173        GOTO: back 
     174         
     175-   ID: talk_camilla 
     176    SAY: "Can you talk to her?  Listen to her, more likely.  She's right over\ 
     177       \ there and is usually handling the bar when I am busy." 
     178    RESPONSES: 
     179    -   REPLY: "Oh, that's her?" 
     180        GOTO: back 
     181         
     182-   ID: talk_synnove 
     183    SAY: "Synnove?  Maybe you can talk some sense into her.  I know, she's been\ 
     184       \ through a lot - but haven't we all.  She's wandering around somewhere." 
     185    RESPONSES: 
     186    -   REPLY: "Alright, I will look around for her." 
     187        GOTO: back 
     188         
     189-   ID: explain_dig 
     190    SAY: "Dig and I go way back.  We owe each other our lives more times than\ 
     191       \ we can count.  He takes care of 'difficulties' for me." 
     192    RESPONSES: 
     193    -   REPLY: "Ah, I will stay out his way then." 
     194        GOTO: back 
     195         
     196-   ID: loose_women 
     197    SAY: "Candi and Kalli?  They're the hospitality squad.  Harmless fun, if\ 
     198       \ you buy them a drink." 
     199    RESPONSES: 
     200    -   REPLY: "Ah, I see." 
     201        GOTO: back 
     202         
     203-   ID: pekko_dead 
     204    SAY: "Dead, huh.  That's a shame.  A damn shame.  He was a positive force\ 
     205       \ around here.  How did he die?" 
     206    RESPONSES: 
     207    -   REPLY: "I am not sure, I found his body in the cistern." 
     208        GOTO: body_found 
     209         
     210    -   REPLY: "Someone murdered him, and shoved his body in the cistern." 
     211        CONDITION: "quest['fedex'].getValue('accused_of_murder') != ''" 
     212        GOTO: discuss_murder 
     213         
     214-   ID: body_found 
     215    SAY: "Well, if you ask me, that's a funny place to have an accident.  Enoch\ 
     216       \ and I worked for a couple of weeks on that system.  There's really no\ 
     217       \ way you could just fall in.  And Pekko's not the suicidal type." 
     218    RESPONSES: 
     219    -   REPLY: "So you think someone killed him?" 
     220        GOTO: discuss_murder 
     221         
     222    -   REPLY: "No, I am sure it was an accident." 
     223        GOTO: main_dialog 
     224         
     225-   ID: discuss_murder 
     226    SAY: "Damn if doesn't look like it.  I know some folks were mad at him for\ 
     227       \ stirring up trouble, but I didn't they were the type to just snuff him\ 
     228       \ like that.  It's a cold world, alright." 
     229    RESPONSES: 
     230    -   REPLY: "Who do you think killed him?" 
     231        GOTO: discuss_suspects 
     232         
     233    -   REPLY: "I think Bart, the drunkard killed him." 
     234        ACTIONS: 
     235        -   set_quest_value: 
     236                quest: fedex 
     237                value: bart 
     238                variable: accused_of_murder 
     239        GOTO: accuse_bart 
     240         
     241    -   REPLY: "I think that dim-witted Matti killed him." 
     242        ACTIONS: 
     243        -   set_quest_value: 
     244                quest: fedex 
     245                value: matti 
     246                variable: accused_of_murder 
     247        GOTO: accuse_matti 
     248         
     249    -   REPLY: "Bart killed him, and Kimmo put him up to it." 
     250        CONDITION: "quest['fedex'].isGoalValue('drunkard_confesses')" 
     251        GOTO: accuse_kimmo 
     252         
     253-   ID: discuss_suspects 
     254    SAY: "I have my theories.  But I'll be keeping them to myself.  And if I\ 
     255       \ were you, I would drop the subject." 
     256    RESPONSES: 
     257    -   REPLY: "Really?" 
     258        GOTO: back 
     259         
     260-   ID: accuse_bart 
     261    SAY: "Bart, huh?  Why? What's in it for him?" 
     262    RESPONSES: 
     263    -   REPLY: "I guess I should look into it more." 
     264        GOTO: back 
     265         
     266    -   REPLY: "Camilla said that she saw the two of them together out in the\ 
     267           \ parking lot the night he disappeared." 
     268        CONDITION: "quest['fedex'].isGoalValue('drunkard_evidence')" 
     269        GOTO: back 
     270         
     271-   ID: accuse_matti 
     272    SAY: "You are barking up the wrong tree." 
     273    RESPONSES: 
     274    -   REPLY: "Is that what you think?  Why won't you talk about it?" 
     275        GOTO: back 
     276         
     277-   ID: accuse_kimmo 
     278    SAY: "So.  You figured it out, huh.  Big hero, proves the Fearless Leader\ 
     279       \ himself had his own brother killed.  Did you ever stop to think that\ 
     280       \ revealing this information could do even further damage?" 
     281    RESPONSES: 
     282    -   REPLY: "So, this news doesn't shock you?" 
     283        GOTO: murder_fallout 
     284         
     285    -   REPLY: "I never thought of it that way before..." 
     286        GOTO: main_dialog 
     287         
     288-   ID: murder_fallout 
     289    SAY: "Survival in this world is bigger than the life of any one man; even\ 
     290       \ an innocent man.  Justice is not my - or anyone's - primary concern." 
     291    RESPONSES: 
     292    -   REPLY: "Without justice, is survival worth anything at all?" 
     293        GOTO: main_dialog 
     294         
     295-   ID: help_fedex 
     296    SAY: "Ah, adventure boy.  Nope, haven't seem him in a couple of days.\ 
     297       \ Maybe check with one of the girls?" 
     298    RESPONSES: 
     299    -   REPLY: "Girls?" 
     300        GOTO: explain_girls 
     301         
     302    -   REPLY: "Hmmm... no one seems to have seen him." 
     303        GOTO: back 
     304         
     305-   ID: ungratitude 
     306    SAY: "Well aren't you just a thick slice of awesome." 
     307    RESPONSES: 
     308    -   REPLY: "I try, I try." 
     309        GOTO: main_dialog 
     310         
     311... 
  • trunk/game/dialogue/leader.yaml

    r571 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    16  
    1715--- 
    18 NPC: Kimmo Niitty 
    19 AVATAR: gui/icons/leader.png 
    20 START: main_dialog 
    21  
     16NPC_NAME: Kimmo Niitty 
     17AVATAR_PATH: gui/icons/leader.png 
     18START_SECTION: main_dialog 
    2219SECTIONS: 
    23      main_dialog: 
    24          - say: "What do you want?" 
    25          - meet: kimmo 
    26          - responses: 
    27             - 
    28               - "Nice office you have here." 
    29               - feedback_office 
    30             - 
    31               - "Tell me about this place." 
    32               - feedback_community 
    33             - 
    34               - "You are the one running things around here?" 
    35               - feedback_leader 
    36             - 
    37               - "Where can I get some booze around here?" 
    38               - help_alcohol 
    39             - 
    40               - "Have you seen Pekko around?" 
    41               - pekko_missing 
    42               - quest.hasActiveQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    43             - 
    44               - "Your brother is dead.  I think he was murdered." 
    45               - pekko_dead 
    46               - quest['fedex'].isGoalValue('found_pekko') and not quest['fedex'].getValue('accused_of_murder') 
    47             - 
    48               - "I want to talk to about about your brother's murder." 
    49               - pekko_murdered 
    50               - quest['fedex'].getValue('accused_of_murder') 
    51             - 
    52               - "Why did you have your brother killed?" 
    53               - confront_kimmo 
    54               - quest['fedex'].isGoalValue('bart_confesses') 
    55             -  
    56               - "I managed to create some palatable beer..." 
    57               - gratitude 
    58               - quest['beer'].getValue('beer_quality') >= 1 
    59             - 
    60               - "See you later." 
    61               - end 
    62   
    63      help_alcohol: 
    64          - say: "Well, if you've got enough to pay him, Jacob can set you up, over at the Inn." 
    65          - responses: 
    66             - 
    67               - "That Jacob must be an important guy around here!" 
    68               - feedback_jacob 
    69             - 
    70               - "No competition, huh?  Must be nice for him." 
    71               - booze_business 
    72                
    73      feedback_jacob: 
    74          - say: "Pshaw!  He's a shopkeeper.  It's me who runs thing around here!" 
    75          - responses: 
    76             - 
    77               - "Oh, so you're the big cheese!" 
    78               - feedback_leader 
    79             - 
    80               - "I seem to have touched a nerve... change of subject, Kimmo..." 
    81               - main_dialog 
    82                
    83      booze_business: 
    84          - say: "Yes.  A nice little monopoly he's set up." 
    85          - responses: 
    86             - 
    87               - "Sounds like you would not be opposed to ... alternate sources of alcohol?" 
    88               - beer_competition 
    89             - 
    90               - "Huh, interesting." 
    91               - main_dialog 
    92   
    93      beer_competition: 
    94          - say: "[Narrows eyes] I think I see where you are going with this.  I cannot challenge Jacob directly on this... but I can look the other way, too" 
    95          - responses: 
    96             - 
    97               - "Duly noted." 
    98               - main_dialog 
    99                
    100      feedback_leader: 
    101          - say: "I prefer to think of myself as providing `gentle guidance`. Someone has to keep the community in shape.  \nWe have to work together to survive.  \nAnd you know... without proper leadership the community would decay to 'every man for himself'." 
    102          - responses:  
    103             - 
    104               - "Well, as long as the Leader is well, taken care of, eh?" 
    105               - criticize_lifestyle 
    106             - 
    107               - "Someone has to be foundation; to help hold everything together" 
    108               - main_dialog 
    109   
    110      criticize_lifestyle: 
    111          - say: "I only take what I need to be most... efficient." 
    112          - responses: 
    113             - 
    114               - "Efficient, gotcha." 
    115               - main_dialog 
    116                
    117      feedback_office: 
    118          - say: "You like it, huh?  I figure it's my reward for all the hard years.  Things have quieted down recently, and they should stay that way." 
    119          - responses: 
    120             - 
    121               - "Quiet, huh. I wonder how long it will last." 
    122               - talk_moving 
    123             - 
    124               - "It suits you." 
    125               - back 
    126             - 
    127               - "Well, it sure is fancy.  Good to be the man at the top, huh?" 
    128               - criticize_lifestyle 
    129                
    130      feedback_community: # he will tell the actor about the local community here. 
    131          - say: "Ok ... where should I start." 
    132          - responses:  
    133             -  
    134               - "Begin at the beginning, I guess - What's the story behind this place?" 
    135               - explain_origins 
    136             - 
    137               - "Tell me about your brother, Pekko." 
    138               - explain_pekko 
    139               - quest.hasActiveQuest('fedex') 
    140             -  
    141               - "Tell me about Jacob." 
    142               - explain_jacob 
    143               - pc.met('jacob') 
    144             -  
    145               - "Tell me about Janie." 
    146               - explain_janie 
    147               - pc.met('janie') 
    148             - 
    149               - "Tell me about Bart." 
    150               - explain_bart 
    151               - pc.met('bart') 
    152             - 
    153               - "Tell me about your mother,  Aino." 
    154               - explain_ma 
    155               - pc.met('ma') 
    156             - 
    157               - "Tell me about Helja." 
    158               - explain_helja 
    159               - pc.met('helja') 
    160             - 
    161               - "Tell me about Matti." 
    162               - explain_matti 
    163               - pc.met('matti') 
    164             - 
    165               - "Tell me about Skwisgaar." 
    166               - explain_skwisgaar 
    167               - pc.met('skwisgaar') 
    168             - 
    169               - "Anyone else I should know about?" 
    170               - explain_others 
    171             - 
    172               - "I think I got what I came for." 
    173               - main_dialog 
    174                
    175      explain_others: 
    176          - say: "Well, we have the usual mixed bag of folks.  Everyone works together to keep this place running.  I don't like to talk about folks that aren't mutual aquainances, though." 
    177          - responses: 
    178             - 
    179               - "Oh, OK, I'll meet the locals and get back to you." 
    180               - back 
    181  
    182      explain_skwisgaar: 
    183          - say: "Skwisgaar was Norwegian special forces.  He was sent here during the war to help the Finnish resistance in occupied territories.  After what he's seen and done - he's lucky to be in as good shape as he is.  For some reason everyone here thinks he's Swedish." 
    184          - responses: 
    185             - 
    186               - "Yeah, that dude has more than a few screws loose." 
    187               - back 
    188  
    189      explain_matti: 
    190          - say: "Matti was just a kid when the bombs went off.  He's just not the brightest fellow.  Strong like and ox, too, and innocent as a lamb.  Someone's got to shovel all this snow." 
    191          - responses: 
    192             - 
    193               - "He seemed nice enough." 
    194               - back 
    195             - 
    196               - "I think he may have been involved in your brother's murder" 
    197               - accuse_matti 
    198               - quest['fedex'].isGoalValue('found_pekko') and quest['fedex'].getValue('murder_reported_to_kimmmo') 
    199             - 
    200               - "I think he may have been involved in your brother's murder" 
    201               - pekko_dead 
    202               - quest['fedex'].isGoalValue('found_pekko') and not quest['fedex'].getValue('murder_reported_to_kimmmo') 
    203  
    204  
    205      explain_helja: 
    206          - say: "Helja is a rock.  She's been here since the beginning.  Frankly, I don't know what I would do without her keeping track of stuff.  I am more of a motivator than an organizer." 
    207          - responses: 
    208             - 
    209               - "She seems very good at her job." 
    210               - back 
    211             - 
    212               - "Do you think you can tell her to release some supplies for my beer project" 
    213               - beer_request 
    214               - quest.hasActiveQuest('beer') and quest['beer'].isGoalValue('beer_instructions') and quest['beer'].getValue('beer_quality') > 0 
    215  
    216      beer_request: 
    217          - say: "Well, that project has no official backing [wink].  But if you have anything to trade her, she always has something extra." 
    218          - responses: 
    219             - 
    220               - "Oh, I gotcha." 
    221               - feedback_community 
    222  
    223      explain_ma: 
    224          - say: "I don't think I could have made all that you see here without Ma.  She is like the spiritual center of our community, the one people go to when they have problems.  I don't know what we would do without her." 
    225          - responses: 
    226             - 
    227               - "What is going to happen to her if you migrate south?" 
    228               - go_south 
    229             - 
    230               - "She's clearly a very important part of your society." 
    231               - back 
    232  
    233      go_south: 
    234          - say: "You've been talking to my brother, haven't you!?!?  Him and his fool ideas.  It's just a harsh winter.  Not even as bad as the first couple after the war. We are staying put, and that's that!" 
    235          - responses: 
    236             - 
    237               - "But Aino is not going to live forever, and it is getting cold... maybe Pekko is right..." 
    238               - argue_migration 
    239             - 
    240               - "Well, I guess that's settled.  Where is your brother, anyway, I wonder..." 
    241               - back 
    242             - 
    243               - "Actually, I am trying to find your Brother, have you seen him?" 
    244               - pekko_missing 
    245               - quest.hasActiveQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    246  
    247      argue_migration: 
    248          - say: "It's ridiculous.  We aren't moving.  How can we pack up after all we've invested in this place?" 
    249          - responses: 
    250             - 
    251               - "I suppose it depends how long you can stay fed." 
    252               - main_dialog 
    253                
    254      explain_janie: 
    255          - say: "Janie's a tough kid - and a good fighter.  Quick with a knife and an acid tongue.  I remember when Pekko brought her in.  She was really just a kid then, couldn't have been more than 5 or 6.  Probably the first act of kindness she ever saw.  She turned out alright, even if she is a little bossy." 
    256          - responses: 
    257             - 
    258               - "Bossy is one way to put it." 
    259               - back 
    260  
    261      explain_bart: 
    262          - say: "Bart is something of a slacker.  But, hell, he was here before the rest of us.  When we found this place, he was trying to drink himself to death on the liquor store.  We probably ended up saving his life by rationing the alcohol.  Still, he can be ... useful." 
    263          - responses: 
    264             - 
    265               - "I would have thought alcholism would have been eradicated by now..." 
    266               - back 
    267             - 
    268               - "Drunk or not, I think he may have been involved in your brother's murder" 
    269               - accuse_bart 
    270               - quest['fedex'].isGoalValue('found_pekko') and quest['fedex'].getValue('murder_reported_to_kimmmo') 
    271             - 
    272               - "Drunk or not, I think he may have been involved in your brother's murder" 
    273               - pekko_dead 
    274               - quest['fedex'].isGoalValue('found_pekko') and not quest['fedex'].getValue('murder_reported_to_kimmmo') 
    275  
    276      explain_jacob: 
    277          - say: "At the time, he seemed like a great addition.  I let him in some years back; we was a traveling salesman and fix-it type.  I thought it would work out for both us.  But he is not happy with his little shop.  A very political character." 
    278          - responses: 
    279             - 
    280               - "Wow, the steam heating was his idea, huh?  You really must need him." 
    281               - continue_jacob 
    282  
    283      continue_jacob: 
    284          - say: "I'll say this for Jacob.  Without him, we'd never have the steam heating system.  Still the guy doesn't know his place, and some of his `loyal cronies` are a bad element." 
    285          - responses: 
    286             - 
    287               - "Wow, the steam heating was his idea, huh?  You really must need him." 
    288               - feedback_jacob 
    289             - 
    290               - "He certainly is pretty arrogant." 
    291               - back    
    292                
    293      explain_pekko: 
    294          - say: "Ah, my brother the dreamer.  [sighs] He has no idea how the world works.  It was the same before the war, and it's still the same.  I'll miss him.  Always has a theory for everything.  And will talk your ear off if you let him." 
    295          - responses: 
    296             - 
    297               - "What do you mean, `miss him`?  Where is he going?" 
    298               - kimmo_slip 
    299             - 
    300               - "You do know he's missing, right?" 
    301               - pekko_missing 
    302               - quest.hasActiveQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    303             - 
    304               - "What if he's right about the weather?  That's it's getting worse?  You can't stay here." 
    305               - argue_migration 
    306             - 
    307               - "It does seem pretty crazy, I agree.  How could it actually get colder?" 
    308               - back 
    309  
    310      kimmo_slip: 
    311          - say: "Did I say that?  Weird.  I just meant that he's reckless... and one of these days he's might not make it back from one his little jaunts in the woods." 
    312          - responses: 
    313             - 
    314               - "Yeah, it is weird.  I'm sure you would miss your brother if he was gone for good..." 
    315               - feedback_community 
    316                
    317      pekko_missing: 
    318          - say: "What do you mean, `missing`?" 
    319          - responses: 
    320             - 
    321               - "I mean, no one seems to know where I can find him." 
    322               - pekko_continue 
    323              
    324      pekko_continue: 
    325          - say: "Oh, that Pekko.  I'm sure he's just out collecting samples, or measuring snowbanks or something.  You'd think he'd bring something useful back sometimes." 
    326          - set_value: 
    327             quest: 'fedex' 
    328             variable: 'check_bart_left' 
    329             value: True 
    330          - responses: 
    331             - 
    332               - "So you are pretty sure he's out of town at the moment." 
    333               - feedback_community 
    334  
    335      explain_origins: 
    336          - say: "Well, of course Finland was overrun very early in the war.  My battalion fought on for a while, but due to reprisals against the civilians, we were forced to disband.  I grew up not too far from here, and by the time I made it home, there wasn't any Finland, or Russia, or NATO, or Warsaw pact or even any war left.  I hear the war was starting to spread into Africa, South America.  The whole world.  Almost everyone was dead by the time I started to fortify this place.  It has some tactical advantages - can shut out people, plus there was still a good supply of food and clothes and stuff.  We ate almost all the food in the first couple of 'dark' years.  Those were the hardest.  I didn't think we'd ever see the sun again.  I would have given up - my wife and kids killed by some nasty war virus, but Ma convinced me to fight on.  That we might be the only people left in the world.  After a while, when the epidemics and fallout had mostly subsided, we began to get some travelers.  This place was quite the trading post for central Finland.  None of the bandit gangs would dare attack it.  We put in the green house when the winters started getting long and the supermarket stuff started to run low.   Jacob and his guys put the steam heating system in, and we'd have never survived the last few years without it." 
    337          - responses: 
    338             - 
    339               - "I guess we all have our stories." 
    340               - back 
    341  
    342      accuse_matti: 
    343          - say: "Matti? The dim kid?  You think he killed my brother?" 
    344          - set_value: 
    345             quest: 'fedex' 
    346             variable: 'accused_of_murder' 
    347             value: 'matti' 
    348          - responses: 
    349             - 
    350               - "I can't be sure, but he certainly had access to the cistern.  And he seems... unstable.  I could try to find proof it you like." 
    351               - investigate 
    352                
    353      accuse_bart: 
    354          - say: "Bart, huh.  Do you have any proof?" 
    355          - responses: 
    356             - 
    357               - "No proof, yet.  But something about his story isn't right." 
    358               - investigate 
    359             - 
    360               - "Yes, in fact he told me the whole story.  Including your involvement" 
    361               - confront_kimmo 
    362               - quest['fedex'].isGoalValue('drunkard_confessed') 
    363             -  
    364               - "Camille.  She saw them together, right before he disappeared.  And according to Janie, he never left the compound." 
    365               - bart_evidence 
    366               - quest['fedex'].isGoalValue('drunkard_evidence') and quest['fedex'].isGoalValue('check_pekko_left') 
    367  
    368      bart_evidence: 
    369          - say: "Uh-huh.  And that's it.  He was the last guy seen with him.  You going to hang your hat on that?" 
    370          - responses: 
    371             - 
    372               - "Yes.  I am sure that Bart killed your brother." 
    373               - bart_convicted 
    374             - 
    375               - "I guess it does sound a little flimsy at that.  I can look around a bit more." 
    376               - investigate 
    377                
    378      bart_convicted: 
    379          - say: "I guess I will have a little talk with the old boy then." 
    380          - set_value: 
    381             quest: 'fedex' 
    382             variable: "bart_in_trouble" 
    383             value: True 
    384          - responses: 
    385             - 
    386               - "Yes, you do that." 
    387               - main_dialog 
    388                
    389      pekko_dead: 
    390          - say: "Dead?  Murdered... what are you talking about?" 
    391          - responses: 
    392             - 
    393               - "I found his body in the cistern." 
    394               - pekko_murdered 
    395                
    396      pekko_murdered: 
    397          - set_value: 
    398             quest: 'fedex' 
    399             variable: "murder_report_to_kimmo" 
    400             value: True 
    401          - say: "What makes you think he was murdered?" 
    402          - responses: 
    403             - 
    404               - "Well, I suppose it was the way his head was smashed in.  That and the fact someone had to dislocate both shoulders to fit him in hatch.  Other than that, it's just a guess." 
    405               - murder_continued 
    406             - 
    407               - "It might have been an accident.  He could have just fallen in, I suppose.  I'll have to look into it further." 
    408               - investigate 
    409                
    410      murder_continued: 
    411          - say: "So you have no proof... [steadies himself]  But this is terrible!  My brother dead. Ah, our poor mother!  Please don't tell her.  Let me." 
    412          - responses: 
    413             - 
    414               - "Actually, Kimmo.  Bart confessed to me." 
    415               - confront_kimmo 
    416               - quest['fedex'].isGoalValue('drunkard_confessed') 
    417             - 
    418               - "No proof, but if I keep investigating, I am sure something more will turn up." 
    419               - investigate 
    420             - 
    421               - "I think it must be Matti, the snow shoveler." 
    422               - accuse_matti 
    423             - 
    424               - "I am pretty sure Bart is involved." 
    425               - accuse_bart               
    426                
    427      investigate: 
    428          - say: "You know, uh... stranger.  I think it might be best if you let me handle it from here." 
    429          - responses: 
    430             - 
    431               - "You want me to drop it?  Well, you are the big cheese around here." 
    432               - drop_quest 
    433             - 
    434               - "No... no.  I don't think so.  It's going to keep me up not knowing.  I'll continue to poke around on my own." 
    435               - main_dialog 
    436                
    437      drop_quest: 
    438          - say: "I think you are doing the right thing... whomever did this might start looking for you, too. [ahem] Assuming it wasn't just an accident." 
    439          - complete_quest: fedex 
    440          - responses: 
    441             - 
    442               - "Yeah, good point." 
    443               - main_dialog 
    444                
    445      confront_kimmo: 
    446          - say: "WHAT?!  You come into MY office, tell me that my brother's been killed.  And you have to the nerve to accuse me of doing it?" 
    447          - responses: 
    448             - 
    449               - "Yes, you sick fuck.  How could such a monster come to power here?  I hope the good people of this... this... place have enough nerve to hang you for it." 
    450               - end 
    451             - 
    452               - "Yes.  Bart told me you put him up to it, for the booze.  But he didn't tell me why." 
    453               - why_murder 
    454             - 
    455               - "Well.  Now we find out what you are going to do for me to keep this quiet." 
    456               - hush_money 
    457   
    458      why_murder: 
    459          - say: "To be honest, I had to do it.  It was him or me.. him, or all of us.  Well, Ma for certain.  He says we can't stay this far north.  But if we pack it up and move, I know a bunch of us will not make it.  And I don't think he's right about the weather, anyway.  You know he never graduated?" 
    460          - responses: 
    461             - 
    462               - "You better hope you are right, or you're all dead anyway." 
    463               - back 
    464                
    465      hush_money: 
    466          - say: "You gonna blackmail me, kid?  Don't count on it.  How about this:  You keep your fool mouth shut, or you die next." 
    467          - responses: 
    468             - 
    469               - "Is that a threat?  You think I am that easy to disappear?  Well, you just try." 
    470               - end 
    471             - 
    472               - "Hey, now...  I'd say we both have each other pretty good.  Truce, then?" 
    473               - truce 
    474                
    475      truce: 
    476          - say: "Funny way to put it.  But OK...  Don't think that bastard Jacob can protect you, though.   I need him.  I sure as shit don't need you." 
    477          - responses: 
    478            - 
    479              - "I guess it will have to do" 
    480              - end 
    481                         
    482      talk_moving: 
    483          - say: "What do you mean, 'you wonder'?  There is no reason why we can't stay here indefinitly.  As long as no outsiders stir up trouble." 
    484          - responses: 
    485             - 
    486               - "Oh, no doubt... this place is about as about as ideal as you can get in these times." 
    487               - back 
    488             - 
    489               - "I don't know.  I am not sure that any place is permanent in this world.  It doesn't seem that stable to me." 
    490               - go_south 
    491  
    492      gratitude: 
    493          - say: "Heh.  That's put the screws on old Jacob.  I owe you one for that.  Let me know if you need a favor - or if his thugs give you any trouble." 
    494          - responses: 
    495            - 
    496              - "Thanks, I'll keep that in mind." 
    497              - end 
    498                
     20-   ID: main_dialog 
     21    SAY: "What do you want?" 
     22    ACTIONS: 
     23    -   meet: 
     24        - kimmo 
     25    RESPONSES: 
     26    -   REPLY: "Nice office you have here." 
     27        GOTO: feedback_office 
     28         
     29    -   REPLY: "Tell me about this place." 
     30        GOTO: feedback_community 
     31         
     32    -   REPLY: "You are the one running things around here?" 
     33        GOTO: feedback_leader 
     34         
     35    -   REPLY: "Where can I get some booze around here?" 
     36        GOTO: help_alcohol 
     37         
     38    -   REPLY: "Have you seen Pekko around?" 
     39        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     40           \ quest['fedex'].isGoalValue('found_pekko')" 
     41        GOTO: pekko_missing 
     42         
     43    -   REPLY: "Your brother is dead.  I think he was murdered." 
     44        CONDITION: "quest['fedex'].isGoalValue('found_pekko') and not\ 
     45           \ quest['fedex'].getValue('accused_of_murder')" 
     46        GOTO: pekko_dead 
     47         
     48    -   REPLY: "I want to talk to about about your brother's murder." 
     49        CONDITION: "quest['fedex'].getValue('accused_of_murder')" 
     50        ACTIONS: 
     51        -   set_quest_value: &id001 
     52                quest: fedex 
     53                value: true 
     54                variable: murder_report_to_kimmo 
     55        GOTO: pekko_murdered 
     56         
     57    -   REPLY: "Why did you have your brother killed?" 
     58        CONDITION: "quest['fedex'].isGoalValue('bart_confesses')" 
     59        GOTO: confront_kimmo 
     60         
     61    -   REPLY: "I managed to create some palatable beer..." 
     62        CONDITION: "quest['beer'].getValue('beer_quality') >= 1" 
     63        GOTO: gratitude 
     64         
     65    -   REPLY: "See you later." 
     66        GOTO: end 
     67         
     68-   ID: help_alcohol 
     69    SAY: "Well, if you've got enough to pay him, Jacob can set you up, over at\ 
     70       \ the Inn." 
     71    RESPONSES: 
     72    -   REPLY: "That Jacob must be an important guy around here!" 
     73        GOTO: feedback_jacob 
     74         
     75    -   REPLY: "No competition, huh?  Must be nice for him." 
     76        GOTO: booze_business 
     77         
     78-   ID: feedback_jacob 
     79    SAY: "Pshaw!  He's a shopkeeper.  It's me who runs thing around here!" 
     80    RESPONSES: 
     81    -   REPLY: "Oh, so you're the big cheese!" 
     82        GOTO: feedback_leader 
     83         
     84    -   REPLY: "I seem to have touched a nerve... change of subject, Kimmo..." 
     85        GOTO: main_dialog 
     86         
     87-   ID: booze_business 
     88    SAY: "Yes.  A nice little monopoly he's set up." 
     89    RESPONSES: 
     90    -   REPLY: "Sounds like you would not be opposed to ... alternate sources\ 
     91           \ of alcohol?" 
     92        GOTO: beer_competition 
     93         
     94    -   REPLY: "Huh, interesting." 
     95        GOTO: main_dialog 
     96         
     97-   ID: beer_competition 
     98    SAY: "[Narrows eyes] I think I see where you are going with this.  I cannot\ 
     99       \ challenge Jacob directly on this... but I can look the other way, too" 
     100    RESPONSES: 
     101    -   REPLY: "Duly noted." 
     102        GOTO: main_dialog 
     103         
     104-   ID: feedback_leader 
     105    SAY: "I prefer to think of myself as providing `gentle guidance`. Someone\ 
     106       \ has to keep the community in shape.  \nWe have to work together to\ 
     107       \ survive.  \nAnd you know... without proper leadership the community\ 
     108       \ would decay to 'every man for himself'." 
     109    RESPONSES: 
     110    -   REPLY: "Well, as long as the Leader is well, taken care of, eh?" 
     111        GOTO: criticize_lifestyle 
     112         
     113    -   REPLY: "Someone has to be foundation; to help hold everything together" 
     114        GOTO: main_dialog 
     115         
     116-   ID: criticize_lifestyle 
     117    SAY: "I only take what I need to be most... efficient." 
     118    RESPONSES: 
     119    -   REPLY: "Efficient, gotcha." 
     120        GOTO: main_dialog 
     121         
     122-   ID: feedback_office 
     123    SAY: "You like it, huh?  I figure it's my reward for all the hard years.\ 
     124       \ Things have quieted down recently, and they should stay that way." 
     125    RESPONSES: 
     126    -   REPLY: "Quiet, huh. I wonder how long it will last." 
     127        GOTO: talk_moving 
     128         
     129    -   REPLY: "It suits you." 
     130        GOTO: back 
     131         
     132    -   REPLY: "Well, it sure is fancy.  Good to be the man at the top, huh?" 
     133        GOTO: criticize_lifestyle 
     134         
     135-   ID: feedback_community 
     136    SAY: "Ok ... where should I start." 
     137    RESPONSES: 
     138    -   REPLY: "Begin at the beginning, I guess - What's the story behind this\ 
     139           \ place?" 
     140        GOTO: explain_origins 
     141         
     142    -   REPLY: "Tell me about your brother, Pekko." 
     143        CONDITION: "quest.hasActiveQuest('fedex')" 
     144        GOTO: explain_pekko 
     145         
     146    -   REPLY: "Tell me about Jacob." 
     147        CONDITION: "pc.met('jacob')" 
     148        GOTO: explain_jacob 
     149         
     150    -   REPLY: "Tell me about Janie." 
     151        CONDITION: "pc.met('janie')" 
     152        GOTO: explain_janie 
     153         
     154    -   REPLY: "Tell me about Bart." 
     155        CONDITION: "pc.met('bart')" 
     156        GOTO: explain_bart 
     157         
     158    -   REPLY: "Tell me about your mother,  Aino." 
     159        CONDITION: "pc.met('ma')" 
     160        GOTO: explain_ma 
     161         
     162    -   REPLY: "Tell me about Helja." 
     163        CONDITION: "pc.met('helja')" 
     164        GOTO: explain_helja 
     165         
     166    -   REPLY: "Tell me about Matti." 
     167        CONDITION: "pc.met('matti')" 
     168        GOTO: explain_matti 
     169         
     170    -   REPLY: "Tell me about Skwisgaar." 
     171        CONDITION: "pc.met('skwisgaar')" 
     172        GOTO: explain_skwisgaar 
     173         
     174    -   REPLY: "Anyone else I should know about?" 
     175        GOTO: explain_others 
     176         
     177    -   REPLY: "I think I got what I came for." 
     178        GOTO: main_dialog 
     179         
     180-   ID: explain_others 
     181    SAY: "Well, we have the usual mixed bag of folks.  Everyone works together\ 
     182       \ to keep this place running.  I don't like to talk about folks that\ 
     183       \ aren't mutual aquainances, though." 
     184    RESPONSES: 
     185    -   REPLY: "Oh, OK, I'll meet the locals and get back to you." 
     186        GOTO: back 
     187         
     188-   ID: explain_skwisgaar 
     189    SAY: "Skwisgaar was Norwegian special forces.  He was sent here during the\ 
     190       \ war to help the Finnish resistance in occupied territories.  After what\ 
     191       \ he's seen and done - he's lucky to be in as good shape as he is.  For\ 
     192       \ some reason everyone here thinks he's Swedish." 
     193    RESPONSES: 
     194    -   REPLY: "Yeah, that dude has more than a few screws loose." 
     195        GOTO: back 
     196         
     197-   ID: explain_matti 
     198    SAY: "Matti was just a kid when the bombs went off.  He's just not the\ 
     199       \ brightest fellow.  Strong like and ox, too, and innocent as a lamb.\ 
     200       \ Someone's got to shovel all this snow." 
     201    RESPONSES: 
     202    -   REPLY: "He seemed nice enough." 
     203        GOTO: back 
     204         
     205    -   REPLY: "I think he may have been involved in your brother's murder" 
     206        CONDITION: "quest['fedex'].isGoalValue('found_pekko') and\ 
     207           \ quest['fedex'].getValue('murder_reported_to_kimmmo')" 
     208        ACTIONS: 
     209        -   set_quest_value: &id002 
     210                quest: fedex 
     211                value: matti 
     212                variable: accused_of_murder 
     213        GOTO: accuse_matti 
     214         
     215    -   REPLY: "I think he may have been involved in your brother's murder" 
     216        CONDITION: "quest['fedex'].isGoalValue('found_pekko') and not\ 
     217           \ quest['fedex'].getValue('murder_reported_to_kimmmo')" 
     218        GOTO: pekko_dead 
     219         
     220-   ID: explain_helja 
     221    SAY: "Helja is a rock.  She's been here since the beginning.  Frankly, I\ 
     222       \ don't know what I would do without her keeping track of stuff.  I am\ 
     223       \ more of a motivator than an organizer." 
     224    RESPONSES: 
     225    -   REPLY: "She seems very good at her job." 
     226        GOTO: back 
     227         
     228    -   REPLY: "Do you think you can tell her to release some supplies for my\ 
     229           \ beer project" 
     230        CONDITION: "quest.hasActiveQuest('beer') and\ 
     231           \ quest['beer'].isGoalValue('beer_instructions') and\ 
     232           \ quest['beer'].getValue('beer_quality') > 0" 
     233        GOTO: beer_request 
     234         
     235-   ID: beer_request 
     236    SAY: "Well, that project has no official backing [wink].  But if you have\ 
     237       \ anything to trade her, she always has something extra." 
     238    RESPONSES: 
     239    -   REPLY: "Oh, I gotcha." 
     240        GOTO: feedback_community 
     241         
     242-   ID: explain_ma 
     243    SAY: "I don't think I could have made all that you see here without Ma.\ 
     244       \ She is like the spiritual center of our community, the one people go to\ 
     245       \ when they have problems.  I don't know what we would do without her." 
     246    RESPONSES: 
     247    -   REPLY: "What is going to happen to her if you migrate south?" 
     248        GOTO: go_south 
     249         
     250    -   REPLY: "She's clearly a very important part of your society." 
     251        GOTO: back 
     252         
     253-   ID: go_south 
     254    SAY: "You've been talking to my brother, haven't you!?!?  Him and his fool\ 
     255       \ ideas.  It's just a harsh winter.  Not even as bad as the first couple\ 
     256       \ after the war. We are staying put, and that's that!" 
     257    RESPONSES: 
     258    -   REPLY: "But Aino is not going to live forever, and it is getting\ 
     259           \ cold... maybe Pekko is right..." 
     260        GOTO: argue_migration 
     261         
     262    -   REPLY: "Well, I guess that's settled.  Where is your brother, anyway, I\ 
     263           \ wonder..." 
     264        GOTO: back 
     265         
     266    -   REPLY: "Actually, I am trying to find your Brother, have you seen him?" 
     267        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     268           \ quest['fedex'].isGoalValue('found_pekko')" 
     269        GOTO: pekko_missing 
     270         
     271-   ID: argue_migration 
     272    SAY: "It's ridiculous.  We aren't moving.  How can we pack up after all\ 
     273       \ we've invested in this place?" 
     274    RESPONSES: 
     275    -   REPLY: "I suppose it depends how long you can stay fed." 
     276        GOTO: main_dialog 
     277         
     278-   ID: explain_janie 
     279    SAY: "Janie's a tough kid - and a good fighter.  Quick with a knife and an\ 
     280       \ acid tongue.  I remember when Pekko brought her in.  She was really\ 
     281       \ just a kid then, couldn't have been more than 5 or 6.  Probably the\ 
     282       \ first act of kindness she ever saw.  She turned out alright, even if\ 
     283       \ she is a little bossy." 
     284    RESPONSES: 
     285    -   REPLY: "Bossy is one way to put it." 
     286        GOTO: back 
     287         
     288-   ID: explain_bart 
     289    SAY: "Bart is something of a slacker.  But, hell, he was here before the\ 
     290       \ rest of us.  When we found this place, he was trying to drink himself\ 
     291       \ to death on the liquor store.  We probably ended up saving his life by\ 
     292       \ rationing the alcohol.  Still, he can be ... useful." 
     293    RESPONSES: 
     294    -   REPLY: "I would have thought alcholism would have been eradicated by\ 
     295           \ now..." 
     296        GOTO: back 
     297         
     298    -   REPLY: "Drunk or not, I think he may have been involved in your\ 
     299           \ brother's murder" 
     300        CONDITION: "quest['fedex'].isGoalValue('found_pekko') and\ 
     301           \ quest['fedex'].getValue('murder_reported_to_kimmmo')" 
     302        GOTO: accuse_bart 
     303         
     304    -   REPLY: "Drunk or not, I think he may have been involved in your\ 
     305           \ brother's murder" 
     306        CONDITION: "quest['fedex'].isGoalValue('found_pekko') and not\ 
     307           \ quest['fedex'].getValue('murder_reported_to_kimmmo')" 
     308        GOTO: pekko_dead 
     309         
     310-   ID: explain_jacob 
     311    SAY: "At the time, he seemed like a great addition.  I let him in some\ 
     312       \ years back; we was a traveling salesman and fix-it type.  I thought it\ 
     313       \ would work out for both us.  But he is not happy with his little shop.\ 
     314       \ A very political character." 
     315    RESPONSES: 
     316    -   REPLY: "Wow, the steam heating was his idea, huh?  You really must need\ 
     317           \ him." 
     318        GOTO: continue_jacob 
     319         
     320-   ID: continue_jacob 
     321    SAY: "I'll say this for Jacob.  Without him, we'd never have the steam\ 
     322       \ heating system.  Still the guy doesn't know his place, and some of his\ 
     323       \ `loyal cronies` are a bad element." 
     324    RESPONSES: 
     325    -   REPLY: "Wow, the steam heating was his idea, huh?  You really must need\ 
     326           \ him." 
     327        GOTO: feedback_jacob 
     328         
     329    -   REPLY: "He certainly is pretty arrogant." 
     330        GOTO: back 
     331         
     332-   ID: explain_pekko 
     333    SAY: "Ah, my brother the dreamer.  [sighs] He has no idea how the world\ 
     334       \ works.  It was the same before the war, and it's still the same.  I'll\ 
     335       \ miss him.  Always has a theory for everything.  And will talk your ear\ 
     336       \ off if you let him." 
     337    RESPONSES: 
     338    -   REPLY: "What do you mean, `miss him`?  Where is he going?" 
     339        GOTO: kimmo_slip 
     340         
     341    -   REPLY: "You do know he's missing, right?" 
     342        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     343           \ quest['fedex'].isGoalValue('found_pekko')" 
     344        GOTO: pekko_missing 
     345         
     346    -   REPLY: "What if he's right about the weather?  That's it's getting\ 
     347           \ worse?  You can't stay here." 
     348        GOTO: argue_migration 
     349         
     350    -   REPLY: "It does seem pretty crazy, I agree.  How could it actually get\ 
     351           \ colder?" 
     352        GOTO: back 
     353         
     354-   ID: kimmo_slip 
     355    SAY: "Did I say that?  Weird.  I just meant that he's reckless... and one\ 
     356       \ of these days he's might not make it back from one his little jaunts in\ 
     357       \ the woods." 
     358    RESPONSES: 
     359    -   REPLY: "Yeah, it is weird.  I'm sure you would miss your brother if he\ 
     360           \ was gone for good..." 
     361        GOTO: feedback_community 
     362         
     363-   ID: pekko_missing 
     364    SAY: "What do you mean, `missing`?" 
     365    RESPONSES: 
     366    -   REPLY: "I mean, no one seems to know where I can find him." 
     367        ACTIONS: 
     368        -   set_quest_value: 
     369                quest: fedex 
     370                value: true 
     371                variable: check_bart_left 
     372        GOTO: pekko_continue 
     373         
     374-   ID: pekko_continue 
     375    SAY: "Oh, that Pekko.  I'm sure he's just out collecting samples, or\ 
     376       \ measuring snowbanks or something.  You'd think he'd bring something\ 
     377       \ useful back sometimes." 
     378    RESPONSES: 
     379    -   REPLY: "So you are pretty sure he's out of town at the moment." 
     380        GOTO: feedback_community 
     381         
     382-   ID: explain_origins 
     383    SAY: "Well, of course Finland was overrun very early in the war.  My\ 
     384       \ battalion fought on for a while, but due to reprisals against the\ 
     385       \ civilians, we were forced to disband.  I grew up not too far from here,\ 
     386       \ and by the time I made it home, there wasn't any Finland, or Russia, or\ 
     387       \ NATO, or Warsaw pact or even any war left.  I hear the war was starting\ 
     388       \ to spread into Africa, South America.  The whole world.  Almost\ 
     389       \ everyone was dead by the time I started to fortify this place.  It has\ 
     390       \ some tactical advantages - can shut out people, plus there was still a\ 
     391       \ good supply of food and clothes and stuff.  We ate almost all the food\ 
     392       \ in the first couple of 'dark' years.  Those were the hardest.  I didn't\ 
     393       \ think we'd ever see the sun again.  I would have given up - my wife and\ 
     394       \ kids killed by some nasty war virus, but Ma convinced me to fight on.\ 
     395       \ That we might be the only people left in the world.  After a while,\ 
     396       \ when the epidemics and fallout had mostly subsided, we began to get\ 
     397       \ some travelers.  This place was quite the trading post for central\ 
     398       \ Finland.  None of the bandit gangs would dare attack it.  We put in the\ 
     399       \ green house when the winters started getting long and the supermarket\ 
     400       \ stuff started to run low.   Jacob and his guys put the steam heating\ 
     401       \ system in, and we'd have never survived the last few years without it." 
     402    RESPONSES: 
     403    -   REPLY: "I guess we all have our stories." 
     404        GOTO: back 
     405         
     406-   ID: accuse_matti 
     407    SAY: "Matti? The dim kid?  You think he killed my brother?" 
     408    RESPONSES: 
     409    -   REPLY: "I can't be sure, but he certainly had access to the cistern.\ 
     410           \ And he seems... unstable.  I could try to find proof it you like." 
     411        GOTO: investigate 
     412         
     413-   ID: accuse_bart 
     414    SAY: "Bart, huh.  Do you have any proof?" 
     415    RESPONSES: 
     416    -   REPLY: "No proof, yet.  But something about his story isn't right." 
     417        GOTO: investigate 
     418         
     419    -   REPLY: "Yes, in fact he told me the whole story.  Including your\ 
     420           \ involvement" 
     421        CONDITION: "quest['fedex'].isGoalValue('drunkard_confessed')" 
     422        GOTO: confront_kimmo 
     423         
     424    -   REPLY: "Camille.  She saw them together, right before he disappeared.\ 
     425           \ And according to Janie, he never left the compound." 
     426        CONDITION: "quest['fedex'].isGoalValue('drunkard_evidence') and\ 
     427           \ quest['fedex'].isGoalValue('check_pekko_left')" 
     428        GOTO: bart_evidence 
     429         
     430-   ID: bart_evidence 
     431    SAY: "Uh-huh.  And that's it.  He was the last guy seen with him.  You\ 
     432       \ going to hang your hat on that?" 
     433    RESPONSES: 
     434    -   REPLY: "Yes.  I am sure that Bart killed your brother." 
     435        ACTIONS: 
     436        -   set_quest_value: 
     437                quest: fedex 
     438                value: true 
     439                variable: bart_in_trouble 
     440        GOTO: bart_convicted 
     441         
     442    -   REPLY: "I guess it does sound a little flimsy at that.  I can look\ 
     443           \ around a bit more." 
     444        GOTO: investigate 
     445         
     446-   ID: bart_convicted 
     447    SAY: "I guess I will have a little talk with the old boy then." 
     448    RESPONSES: 
     449    -   REPLY: "Yes, you do that." 
     450        GOTO: main_dialog 
     451         
     452-   ID: pekko_dead 
     453    SAY: "Dead?  Murdered... what are you talking about?" 
     454    RESPONSES: 
     455    -   REPLY: "I found his body in the cistern." 
     456        ACTIONS: 
     457        -   set_quest_value: *id001 
     458        GOTO: pekko_murdered 
     459         
     460-   ID: pekko_murdered 
     461    SAY: "What makes you think he was murdered?" 
     462    RESPONSES: 
     463    -   REPLY: "Well, I suppose it was the way his head was smashed in.  That\ 
     464           \ and the fact someone had to dislocate both shoulders to fit him in\ 
     465           \ hatch.  Other than that, it's just a guess." 
     466        GOTO: murder_continued 
     467         
     468    -   REPLY: "It might have been an accident.  He could have just fallen in,\ 
     469           \ I suppose.  I'll have to look into it further." 
     470        GOTO: investigate 
     471         
     472-   ID: murder_continued 
     473    SAY: "So you have no proof... [steadies himself]  But this is terrible!  My\ 
     474       \ brother dead. Ah, our poor mother!  Please don't tell her.  Let me." 
     475    RESPONSES: 
     476    -   REPLY: "Actually, Kimmo.  Bart confessed to me." 
     477        CONDITION: "quest['fedex'].isGoalValue('drunkard_confessed')" 
     478        GOTO: confront_kimmo 
     479         
     480    -   REPLY: "No proof, but if I keep investigating, I am sure something more\ 
     481           \ will turn up." 
     482        GOTO: investigate 
     483         
     484    -   REPLY: "I think it must be Matti, the snow shoveler." 
     485        ACTIONS: 
     486        -   set_quest_value: *id002 
     487        GOTO: accuse_matti 
     488         
     489    -   REPLY: "I am pretty sure Bart is involved." 
     490        GOTO: accuse_bart 
     491         
     492-   ID: investigate 
     493    SAY: "You know, uh... stranger.  I think it might be best if you let me\ 
     494       \ handle it from here." 
     495    RESPONSES: 
     496    -   REPLY: "You want me to drop it?  Well, you are the big cheese around\ 
     497           \ here." 
     498        ACTIONS: 
     499        -   complete_quest: 
     500            - fedex 
     501        GOTO: drop_quest 
     502         
     503    -   REPLY: "No... no.  I don't think so.  It's going to keep me up not\ 
     504           \ knowing.  I'll continue to poke around on my own." 
     505        GOTO: main_dialog 
     506         
     507-   ID: drop_quest 
     508    SAY: "I think you are doing the right thing... whomever did this might\ 
     509       \ start looking for you, too. [ahem] Assuming it wasn't just an\ 
     510       \ accident." 
     511    RESPONSES: 
     512    -   REPLY: "Yeah, good point." 
     513        GOTO: main_dialog 
     514         
     515-   ID: confront_kimmo 
     516    SAY: "WHAT?!  You come into MY office, tell me that my brother's been\ 
     517       \ killed.  And you have to the nerve to accuse me of doing it?" 
     518    RESPONSES: 
     519    -   REPLY: "Yes, you sick fuck.  How could such a monster come to power\ 
     520           \ here?  I hope the good people of this... this... place have enough\ 
     521           \ nerve to hang you for it." 
     522        GOTO: end 
     523         
     524    -   REPLY: "Yes.  Bart told me you put him up to it, for the booze.  But he\ 
     525           \ didn't tell me why." 
     526        GOTO: why_murder 
     527         
     528    -   REPLY: "Well.  Now we find out what you are going to do for me to keep\ 
     529           \ this quiet." 
     530        GOTO: hush_money 
     531         
     532-   ID: why_murder 
     533    SAY: "To be honest, I had to do it.  It was him or me.. him, or all of us.\ 
     534       \ Well, Ma for certain.  He says we can't stay this far north.  But if we\ 
     535       \ pack it up and move, I know a bunch of us will not make it.  And I\ 
     536       \ don't think he's right about the weather, anyway.  You know he never\ 
     537       \ graduated?" 
     538    RESPONSES: 
     539    -   REPLY: "You better hope you are right, or you're all dead anyway." 
     540        GOTO: back 
     541         
     542-   ID: hush_money 
     543    SAY: "You gonna blackmail me, kid?  Don't count on it.  How about this:\ 
     544       \ You keep your fool mouth shut, or you die next." 
     545    RESPONSES: 
     546    -   REPLY: "Is that a threat?  You think I am that easy to disappear?\ 
     547           \ Well, you just try." 
     548        GOTO: end 
     549         
     550    -   REPLY: "Hey, now...  I'd say we both have each other pretty good.\ 
     551           \ Truce, then?" 
     552        GOTO: truce 
     553         
     554-   ID: truce 
     555    SAY: "Funny way to put it.  But OK...  Don't think that bastard Jacob can\ 
     556       \ protect you, though.   I need him.  I sure as shit don't need you." 
     557    RESPONSES: 
     558    -   REPLY: "I guess it will have to do" 
     559        GOTO: end 
     560         
     561-   ID: talk_moving 
     562    SAY: "What do you mean, 'you wonder'?  There is no reason why we can't stay\ 
     563       \ here indefinitly.  As long as no outsiders stir up trouble." 
     564    RESPONSES: 
     565    -   REPLY: "Oh, no doubt... this place is about as about as ideal as you\ 
     566           \ can get in these times." 
     567        GOTO: back 
     568         
     569    -   REPLY: "I don't know.  I am not sure that any place is permanent in\ 
     570           \ this world.  It doesn't seem that stable to me." 
     571        GOTO: go_south 
     572         
     573-   ID: gratitude 
     574    SAY: "Heh.  That's put the screws on old Jacob.  I owe you one for that.\ 
     575       \ Let me know if you need a favor - or if his thugs give you any\ 
     576       \ trouble." 
     577    RESPONSES: 
     578    -   REPLY: "Thanks, I'll keep that in mind." 
     579        GOTO: end 
     580         
     581... 
  • trunk/game/dialogue/ma.yaml

    r570 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    16 #   NOTE:  This is not a "real" dialogue file, it is meant to be a template for 
    17 #   Any generic fortified mall (techdemo location) denizen 
    1815--- 
    19 NPC: Ma Niitty 
    20 AVATAR: gui/icons/ma.png 
    21 START: main_dialog 
    22  
     16NPC_NAME: Ma Niitty 
     17AVATAR_PATH: gui/icons/ma.png 
     18START_SECTION: main_dialog 
    2319SECTIONS: 
    24     main_dialog: 
    25         - say: "Why hello there... I don't recognize your face..." 
    26         - meet: ma 
    27         - responses: 
    28             - 
    29               - "I am trying to make beer, can you help me?" 
    30               - help_beer 
    31               - quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') and quest['beer'].isGoalValue('beer_instructions') 
    32             -  
    33               - "I'm looking for Pekko, you seen him?" 
    34               - help_fedex 
    35               - quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    36             - 
    37               - "I'm new here, I don't believe we've been introduced?" 
    38               - introduce_ma 
    39             - 
    40               - "Do you need a light?" 
    41               - light_cigarette 
    42             - 
    43               - "I am sorry to tell you... Pekko's dead" 
    44               - dead_pekko 
    45               - quest['fedex'].isGoalValue('found_pekko') 
    46             - 
    47               - "Sorry to bother you, I didn't realize you were awake" 
    48               - end 
    49                
    50     dead_pekko: 
    51         - say: "Oh, don't be silly.  I'm sure he is just off in the wilderness again" 
    52         - responses: 
    53            - 
    54              - "No, really, I found the body" 
    55              - found_body 
    56            - 
    57              - "Oh, maybe you are right. I'll keep looking.  You take care now." 
    58              - end 
    59  
    60     found_body: 
    61         - say: "Well, I am sure you are mistaken." 
    62         - responses: 
    63            -  
    64              - "You must believe me, I'm quite sure." 
    65              - dead_pekko 
    66            - 
    67              - "I suppose I might be." 
    68              - end 
    69               
    70     help_beer: 
    71         - say: "Beer?  Why don't you just get it at the supermarket?" 
    72         - responses: 
    73            - 
    74              - "I don't think... Oh, never mind." 
    75              - back 
    76  
    77     introduce_ma: 
    78         - say: "My name's Aino.  But everyone calls me 'Ma'.  Kimmo and Pekko are my boys. Good boys, both of 'em" 
    79         - responses: 
    80            - 
    81              - "Oh, tell me about your son, Kimmo." 
    82              - talk_kimmo 
    83            -  
    84              - "Oh, tell me about your son, Pekko." 
    85              - talk_pekko 
    86            -  
    87              - "You must be very proud." 
    88              - main_dialog 
    89  
    90  
    91     talk_kimmo: 
    92         - say: "Ah, Kimmo.  He is done such a good job here.  Everyone looks up to him, don't you think?  He's really a hero" 
    93         - responses: 
    94            - 
    95              - "He's a born leader." 
    96              - back 
    97  
    98     talk_pekko: 
    99         - say: "My Pekko.  Always the dreamer.  He spends so much time out in the woods, in his own head... He thinks we should move everyone!  " 
    100         - responses: 
    101            - 
    102              - "Why does he want to leave?" 
    103              - explain_leaving 
    104      
    105     explain_leaving: 
    106         - say: "He doesn't think it's going to be a very Nice Age.  It's just them crazy idea of the week.   Kimmo will keep us safe here." 
    107         - responses: 
    108            - 
    109              - "Ah. [you nod understandingly]" 
    110              - main_dialog 
    111  
    112     light_cigarette: 
    113         - say: "For the cigarette?  No, they last longer this way.  I've had this one for about 4 years now..." 
    114         - responses: 
    115            - 
    116              - "Facinating." 
    117              - back 
    118  
    119     help_fedex: 
    120         - say: "Ah, Pekko.  The apple of my eye.  Do you know where he is?" 
    121         - responses: 
    122            - 
    123              - "Well, actually... forget it." 
    124              - back 
    125  
    126     gratitude:  
    127         - say: "Well aren't you just a thick slice of awesome." 
    128         - responses: 
    129            -  
    130              - "I try, I try." 
    131              - main_dialog 
    132   
     20-   ID: main_dialog 
     21    SAY: "Why hello there... I don't recognize your face..." 
     22    ACTIONS: 
     23    -   meet: 
     24        - ma 
     25    RESPONSES: 
     26    -   REPLY: "I am trying to make beer, can you help me?" 
     27        CONDITION: "quest.hasActiveQuest('beer') and not\ 
     28           \ quest.hasFinishedQuest('beer') and\ 
     29           \ quest['beer'].isGoalValue('beer_instructions')" 
     30        GOTO: help_beer 
     31         
     32    -   REPLY: "I'm looking for Pekko, you seen him?" 
     33        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     34           \ quest.hasFinishedQuest('fedex') and not\ 
     35           \ quest['fedex'].isGoalValue('found_pekko')" 
     36        GOTO: help_fedex 
     37         
     38    -   REPLY: "I'm new here, I don't believe we've been introduced?" 
     39        GOTO: introduce_ma 
     40         
     41    -   REPLY: "Do you need a light?" 
     42        GOTO: light_cigarette 
     43         
     44    -   REPLY: "I am sorry to tell you... Pekko's dead" 
     45        CONDITION: "quest['fedex'].isGoalValue('found_pekko')" 
     46        GOTO: dead_pekko 
     47         
     48    -   REPLY: "Sorry to bother you, I didn't realize you were awake" 
     49        GOTO: end 
     50         
     51-   ID: dead_pekko 
     52    SAY: "Oh, don't be silly.  I'm sure he is just off in the wilderness again" 
     53    RESPONSES: 
     54    -   REPLY: "No, really, I found the body" 
     55        GOTO: found_body 
     56         
     57    -   REPLY: "Oh, maybe you are right. I'll keep looking.  You take care\ 
     58           \ now." 
     59        GOTO: end 
     60         
     61-   ID: found_body 
     62    SAY: "Well, I am sure you are mistaken." 
     63    RESPONSES: 
     64    -   REPLY: "You must believe me, I'm quite sure." 
     65        GOTO: dead_pekko 
     66         
     67    -   REPLY: "I suppose I might be." 
     68        GOTO: end 
     69         
     70-   ID: help_beer 
     71    SAY: "Beer?  Why don't you just get it at the supermarket?" 
     72    RESPONSES: 
     73    -   REPLY: "I don't think... Oh, never mind." 
     74        GOTO: back 
     75         
     76-   ID: introduce_ma 
     77    SAY: "My name's Aino.  But everyone calls me 'Ma'.  Kimmo and Pekko are my\ 
     78       \ boys. Good boys, both of 'em" 
     79    RESPONSES: 
     80    -   REPLY: "Oh, tell me about your son, Kimmo." 
     81        GOTO: talk_kimmo 
     82         
     83    -   REPLY: "Oh, tell me about your son, Pekko." 
     84        GOTO: talk_pekko 
     85         
     86    -   REPLY: "You must be very proud." 
     87        GOTO: main_dialog 
     88         
     89-   ID: talk_kimmo 
     90    SAY: "Ah, Kimmo.  He is done such a good job here.  Everyone looks up to\ 
     91       \ him, don't you think?  He's really a hero" 
     92    RESPONSES: 
     93    -   REPLY: "He's a born leader." 
     94        GOTO: back 
     95         
     96-   ID: talk_pekko 
     97    SAY: "My Pekko.  Always the dreamer.  He spends so much time out in the\ 
     98       \ woods, in his own head... He thinks we should move everyone!  " 
     99    RESPONSES: 
     100    -   REPLY: "Why does he want to leave?" 
     101        GOTO: explain_leaving 
     102         
     103-   ID: explain_leaving 
     104    SAY: "He doesn't think it's going to be a very Nice Age.  It's just them\ 
     105       \ crazy idea of the week.   Kimmo will keep us safe here." 
     106    RESPONSES: 
     107    -   REPLY: "Ah. [you nod understandingly]" 
     108        GOTO: main_dialog 
     109         
     110-   ID: light_cigarette 
     111    SAY: "For the cigarette?  No, they last longer this way.  I've had this one\ 
     112       \ for about 4 years now..." 
     113    RESPONSES: 
     114    -   REPLY: "Facinating." 
     115        GOTO: back 
     116         
     117-   ID: help_fedex 
     118    SAY: "Ah, Pekko.  The apple of my eye.  Do you know where he is?" 
     119    RESPONSES: 
     120    -   REPLY: "Well, actually... forget it." 
     121        GOTO: back 
     122         
     123-   ID: gratitude 
     124    SAY: "Well aren't you just a thick slice of awesome." 
     125    RESPONSES: 
     126    -   REPLY: "I try, I try." 
     127        GOTO: main_dialog 
     128         
     129... 
  • trunk/game/dialogue/mall_template.yaml

    r570 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    16 #   NOTE:  This is not a "real" dialogue file, it is meant to be a template for 
    17 #   Any generic fortified mall (techdemo location) denizen 
    1815--- 
    19 NPC: Anyone 
    20 AVATAR: gui/icons/npc.png 
    21 START: main_dialog 
    22  
     16NPC_NAME: Anyone 
     17AVATAR_PATH: gui/icons/npc.png 
     18START_SECTION: main_dialog 
    2319SECTIONS: 
    24     main_dialog: 
    25         - say: "Hello.  How can I help you?" 
    26         - responses: 
    27             - 
    28               - "I'm looking for stuff to make beer with " 
    29               - help_beer 
    30               - quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') and quest['beer'].isGoalValue('beer_instructions') 
    31             -  
    32               - "I'm the beer savior, remember?" 
    33               - gratitude 
    34               - quest['beer'].getValue('beer_quality') >= 1 
    35             -  
    36               - "I'm looking for Pekko, you seen him?" 
    37               - help_fedex 
    38               - quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    39             - 
    40               - "Whoa!  It talks!  Never mind" 
    41               - end 
    42  
    43     help_beer: 
    44         - say: "I am always happy to give intimate details of our home to strangers, shoot!" 
    45         - responses: 
    46            - 
    47              - "Where do you folks get water from.  The more pure, the better." 
    48              - help_water 
    49            - 
    50              - "Some kind of grain, or fruit or something." 
    51              - help_grain 
    52            - 
    53              - "I'm really looking for some brewer's yeast." 
    54              - help_yeast 
    55            - 
    56              - "I need a pot to cook the mash in." 
    57              - help_pot 
    58            - 
    59              - "It would be great if I had some bottles to put the brew in!" 
    60              - help_bottles 
    61            -  
    62              - "I think I can handle it from here." 
    63              - back 
    64  
    65     help_water: 
    66         - say: "Oh, that is the one thing we have plenty of.  We have an old tanker trunk that we shovel the snow in and melt it.  You can see it from up here, but you have to go downstairs to tap it.  But the water's been tasting a little funny lately." 
    67         - responses: 
    68            - 
    69              - "Great, that's a huge help." 
    70              - back 
    71  
    72     help_grain: 
    73         - say: "You could try the farm, and there should be some food in the storerooms" 
    74         - responses: 
    75            - 
    76              - "Thanks, I'll try that." 
    77              - back 
    78  
    79     help_yeast: 
    80         - say: "You got me.  I wonder if there is even any left at all." 
    81         - responses: 
    82            - 
    83              - "Someone must have some!" 
    84              - back 
    85  
    86     help_pot: 
    87         - say: "Did you try the kitchen?  Or the storerooms?" 
    88         - responses: 
    89            - 
    90              - "Uh, yeah.  I guess that was obvious." 
    91              - back 
    92  
    93     help_bottles: 
    94         - say: "All the random junk is downstairs in old parking lot.  We have our own little junkyard." 
    95         - responses: 
    96            - 
    97              - "Oooh... there is probably lots of good stuff down there." 
    98              - back 
    99  
    100     help_fedex: 
    101         - say: "Pekko... I thought he was out scouting?  Did you try the Inn?" 
    102         - responses: 
    103            - 
    104              - "OK, the Inn, thanks." 
    105              - back 
    106  
    107     gratitude:  
    108         - say: "Well aren't you just a thick slice of awesome." 
    109         - responses: 
    110            -  
    111              - "I try, I try." 
    112              - main_dialog 
    113   
     20-   ID: main_dialog 
     21    SAY: "Hello.  How can I help you?" 
     22    RESPONSES: 
     23    -   REPLY: "I'm looking for stuff to make beer with " 
     24        CONDITION: "quest.hasActiveQuest('beer') and not\ 
     25           \ quest.hasFinishedQuest('beer') and\ 
     26           \ quest['beer'].isGoalValue('beer_instructions')" 
     27        GOTO: help_beer 
     28         
     29    -   REPLY: "I'm the beer savior, remember?" 
     30        CONDITION: "quest['beer'].getValue('beer_quality') >= 1" 
     31        GOTO: gratitude 
     32         
     33    -   REPLY: "I'm looking for Pekko, you seen him?" 
     34        CONDITION: "quest.hasActiveQuest('fedex') and not\ 
     35           \ quest.hasFinishedQuest('fedex') and not\ 
     36           \ quest['fedex'].isGoalValue('found_pekko')" 
     37        GOTO: help_fedex 
     38         
     39    -   REPLY: "Whoa!  It talks!  Never mind" 
     40        GOTO: end 
     41         
     42-   ID: help_beer 
     43    SAY: "I am always happy to give intimate details of our home to strangers,\ 
     44       \ shoot!" 
     45    RESPONSES: 
     46    -   REPLY: "Where do you folks get water from.  The more pure, the better." 
     47        GOTO: help_water 
     48         
     49    -   REPLY: "Some kind of grain, or fruit or something." 
     50        GOTO: help_grain 
     51         
     52    -   REPLY: "I'm really looking for some brewer's yeast." 
     53        GOTO: help_yeast 
     54         
     55    -   REPLY: "I need a pot to cook the mash in." 
     56        GOTO: help_pot 
     57         
     58    -   REPLY: "It would be great if I had some bottles to put the brew in!" 
     59        GOTO: help_bottles 
     60         
     61    -   REPLY: "I think I can handle it from here." 
     62        GOTO: back 
     63         
     64-   ID: help_water 
     65    SAY: "Oh, that is the one thing we have plenty of.  We have an old tanker\ 
     66       \ trunk that we shovel the snow in and melt it.  You can see it from up\ 
     67       \ here, but you have to go downstairs to tap it.  But the water's been\ 
     68       \ tasting a little funny lately." 
     69    RESPONSES: 
     70    -   REPLY: "Great, that's a huge help." 
     71        GOTO: back 
     72         
     73-   ID: help_grain 
     74    SAY: "You could try the farm, and there should be some food in the\ 
     75       \ storerooms" 
     76    RESPONSES: 
     77    -   REPLY: "Thanks, I'll try that." 
     78        GOTO: back 
     79         
     80-   ID: help_yeast 
     81    SAY: "You got me.  I wonder if there is even any left at all." 
     82    RESPONSES: 
     83    -   REPLY: "Someone must have some!" 
     84        GOTO: back 
     85         
     86-   ID: help_pot 
     87    SAY: "Did you try the kitchen?  Or the storerooms?" 
     88    RESPONSES: 
     89    -   REPLY: "Uh, yeah.  I guess that was obvious." 
     90        GOTO: back 
     91         
     92-   ID: help_bottles 
     93    SAY: "All the random junk is downstairs in old parking lot.  We have our\ 
     94       \ own little junkyard." 
     95    RESPONSES: 
     96    -   REPLY: "Oooh... there is probably lots of good stuff down there." 
     97        GOTO: back 
     98         
     99-   ID: help_fedex 
     100    SAY: "Pekko... I thought he was out scouting?  Did you try the Inn?" 
     101    RESPONSES: 
     102    -   REPLY: "OK, the Inn, thanks." 
     103        GOTO: back 
     104         
     105-   ID: gratitude 
     106    SAY: "Well aren't you just a thick slice of awesome." 
     107    RESPONSES: 
     108    -   REPLY: "I try, I try." 
     109        GOTO: main_dialog 
     110         
     111... 
  • trunk/game/dialogue/quartermaster.yaml

    r570 r668  
    1313#   You should have received a copy of the GNU General Public License 
    1414#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
    15  
    1615--- 
    17 NPC: Helja 
    18 AVATAR: gui/icons/quartermaster.jpg 
    19 START: main_dialog 
    20  
     16NPC_NAME: Helja 
     17AVATAR_PATH: gui/icons/quartermaster.jpg 
     18START_SECTION: main_dialog 
    2119SECTIONS: 
    22     main_dialog: 
    23         - say: "Hello, there!  A new addition to the labor pool, I see." 
    24         - meet: helja 
    25         - responses: 
    26             - 
    27               - "What do you do around here?" 
    28               - expound_quartermaster 
    29             - 
    30               - "You're the Quartermaster?  I bet you can help me with some requisitions?" 
    31               - pre_help_beer 
    32               - quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') and quest['beer'].isGoalValue('beer_instructions') 
    33             -  
    34               - "You going to help me distribute this new beer?" 
    35               - beer_network 
    36               - quest['beer'].getValue('beer_quality') >= 1 
    37             -  
    38               - "You haven't seen Pekko around lately, have you?" 
    39               - help_fedex 
    40               - quest.hasActiveQuest('fedex') and not quest.hasFinishedQuest('fedex') and not quest['fedex'].isGoalValue('found_pekko') 
    41             - 
    42               - "Labor pool?  I forgot my suit." 
    43               - end 
    44            # Could be another tree here after Pekko's body is found. 
    45  
    46     expound_quartermaster: 
    47         - say: "I am the like the supply sergeant.  I am in charge of all the communal goods - particularly food." 
    48         - responses: 
    49            - 
    50              - "Sounds like an important job.  Are you bribe-able?" 
    51              - bribe_comment 
    52            -  
    53              - "Really?  Because I am looking for some items to brew some beer..." 
    54              - pre_help_beer 
    55              - quest.hasActiveQuest('beer') and not quest.hasFinishedQuest('beer') and quest['beer'].isGoalValue('beer_instructions') 
    56               
    57     bribe_comment: 
    58         - say: "Oh, funny. [narrows eyes] But I do like to help people who help themselves.  Like God." 
    59         - responses: 
    60            - 
    61              - "So you accept burnt offerings?" 
    62              - main_dialog 
    63  
    64     pre_help_beer: 
    65         - say: "Hey, I don't just give stuff away.  You have to have a requisition note from Kimmo, or at least trade something. " 
    66         - responses: 
    67            - 
    68              - "Who's Kimmo?" 
    69              - describe_kimmo 
    70            -  
    71              - "Well, I don't have a requisition... I am going to make some beer." 
    72              - elaborate_beer 
    73               
    74     describe_kimmo: 
    75         - say: "Kimmo is the leader of our merry band.  He's my boss -- the boss of all of us, currently." 
    76         - responses: 
    77            - 
    78              - "What do you mean, currently?" 
    79              - describe_rivalry 
    80            -  
    81              - "So do you think Kimmo would let me have some stuff to make beer?" 
    82              - elaborate_beer 
    83               
    84     elaborate_beer: 
    85         - say: "Beer, huh.  That might undermine Jacob's inn a bit.  Kimmo would probably approve of that." 
    86         - responses: 
    87            - 
    88              - "So you will help me?" 
    89              - help_beer 
    90            -  
    91              - "Why would Kimmo want to undermine Jacob?" 
    92              - describe_rivalry              
    93  
    94     describe_rivalry: 
    95         - say: "Well, Jacob -- I guess you would call him Kimmmo's primary rival for leadership." 
    96         - responses: 
    97            - 
    98              - "Do you think he'll try to take over?" 
    99              - elaborate_rivalry 
    100            -  
    101              - "Interesting.  And whom do you support?" 
    102              - which_side 
    103            - 
    104              - "So, Kimmo would want me to give the place another source of beer, right?" 
    105              - help_beer 
    106            - 
    107              - "Ugh, small town politics.  Say no more." 
    108              - main_dialog              
    109               
    110     which_side: 
    111         - say: "Well, most of us owe Kimmo our lives.  But I'm no fighter.  I've survived this long without getting involved in petty power struggles.  I am good at what I do." 
    112         - responses: 
    113            - 
    114              - "But you are not against a little underhanded move against Jacob..." 
    115              - help_beer 
    116            -  
    117              - "So, playing both sides against the middle.  What if Jacob makes a move?" 
    118              - elaborate_rivalry 
    119               
    120     elaborate_rivalry: 
    121         - say: "I don't think he'll make a move... as long as we stay here." 
    122         - responses: 
    123            - 
    124              - "Why would you move?  This place is awesome!" 
    125              - why_move 
    126               
    127     why_move: 
    128         - say: "Pekko's got this idea that the winters are going to get worse.  He says Lapland up north is already glaciated, and it's only a matter of time before this place is totally frozen out." 
    129         - responses: 
    130            - 
    131              - "So you will help me make some beer?" 
    132              - help_beer 
    133            -  
    134