summaryrefslogblamecommitdiff
path: root/npc/008-1/hinnak.txt
blob: e4426c7e6737ce74a245ff8d0379837f0d647e17 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                                                                       
                            














                                                                                   
                            




                                                                                                                   
                            







                                                                                         
                            









                                                                                                     
                            










                                                                                                                     
                            















                                                                     
                            



                                                                                                                                                                   
                            



                                           
                            





                                                                                                                                   
                            




                                                                                       
                            




                                                    
                            









                                                                
                            







                                                                                           
                            









                                                                                                                
                            



                                                                                              
                            


                                                                                                                                                   
                            



                                                                                         
                            

                                                                                                                                                                                 
                            

                                                                                                                                 
                            


                                                                                                                                             
                            

                                                                                      
                            

                                                                    
                            

                                                                                                      
                            

                                                                                                                                                                                                                           
                            

                                                                        
                            

                                                                                                                                                                            
                            

                                                                                                                                     
                            








                                                                                      
                            



                                                                                           
                            




                                                                                 

                                                                                     
                                  
                                 



                                                                                          


                 

                                       


                 

                            








                                                                                            
                            



                                                         
                            





                                                                                        

          


                                                                                        
 
008-1,101,30,0	script	Hinnak	NPC142,{
    @inspector = ((QUEST_Hurnscald & NIBBLE_3_MASK) >> NIBBLE_3_SHIFT);

    if (@inspector == 10) goto L_NohMask;
    goto L_No_NohMask;

L_No_NohMask:
    @state = ((QUEST_Hurnscald & NIBBLE_1_MASK) >> NIBBLE_1_SHIFT);

    if (@state == 1) goto L_Exchange;
    if (@state == 2) goto L_ThanksAgain;
    if (getequipid(equip_head) == 751) goto L_Intro_Hat;

    mesn l("Farmer Hinnak");
    mes "\"Argh! I hate them! I @#$% hate them! I @#$% hate these @#$% pinkies!\"";
    next;
    menu
        "You need some anger control therapy.", L_close,
        "Why do you hate them?", L_Reason;

L_Intro_Hat:
    mes "The farmer lunges at you with a farming implement.";
    next;
    heal -50, 0;
    menu
        "I'm out of here.", L_close,
        "Whoa, what are you doing?", L_Intro_Hat_Explain;

L_Intro_Hat_Explain:
    mesn l("Farmer Hinnak");
    mes "\"Sorry, you look like a pinkie. They've been destroying my fields, and I guess I got a bit worked up.\"";
    next;
    goto L_Help;

L_Reason:
    mesn l("Farmer Hinnak");
    mes "\"These @#$% beasts are jumping around in my fields destroying all my harvest.";
    mes "But they are too fast. I can't catch them.\"";
    next;
    menu
        "Want me to help you?", L_Help,
        "Well, life ain't fair.", L_close;

L_Help:
    mesn l("Farmer Hinnak");
    mes "\"Yes, you look quite fast. Maybe you can catch some of them. That will pay them a lesson.";
    mes "Slay some of them and bring me 10 of their antennae.\"";
    @state = 1;
    callsub S_Update_Mask;
    next;
    menu
        "Sure, I'm on my way", L_close,
        "How much is this worth to you?", L_Reward;

L_Reward:
    mesn l("Farmer Hinnak");
    mes "\"Well, I can't offer you much. But I got an old scythe laying around. Maybe you can use it as a weapon.\"";
    goto L_close;

L_Exchange:
    if (getequipid(equip_head) != 751)
        goto L_Exchange_Start;
    mes "The farmer glares at your hat.";
    next;
    goto L_Exchange_Start;

L_Exchange_Start:
    mesn l("Farmer Hinnak");
    mes "\"Have you got the 10 antennae?\"";
    next;
    menu
        "Not yet, but I am working on it.", L_close,
        "Sure, here they are!", L_Exchange_Exchange;

L_Exchange_Exchange:
    if (countitem("PinkAntenna") < 10)
        goto L_Exchange_Notenough;
    getinventorylist;
    if (@inventorylist_count == 100 && countitem("PinkAntenna") > 10)
        goto L_Exchange_TooMany;
    delitem "PinkAntenna", 10;
    getitem "Scythe", 1;
    @state = 2;
    callsub S_Update_Mask;
    mesn l("Farmer Hinnak");
    mes "\"Thank you very much. I've got something for you. My old scythe. Maybe you can use it as a weapon. It is a bit cumbersome but its strikes are deadly.\"";
    goto L_close;

L_Exchange_Notenough:
    mesn l("Farmer Hinnak");
    mes "\"It doesn't look like you do.\"";
    goto L_close;

L_Exchange_TooMany:
    mesn l("Farmer Hinnak");
    mes "\"Looks like you don't have room for this. Come back later to receive your reward. Hold on to the antennea until then.\"";
    goto L_close;

L_ThanksAgain:
    if (getequipid(equip_head) == 751)
        goto L_ThanksHat;
    mesn l("Farmer Hinnak");
    mes "\"Good to see you again, and thanks again for helping me with the pinkies!\"";
    next;
    goto L_ThanksMenu;

L_ThanksHat:
    mesn l("Farmer Hinnak");
    mes "\"That better be a trophy on your head.\"";
    menu
        "It is.", L_Next;

L_Next:
    mesn l("Farmer Hinnak");
    mes "\"Good then. Thanks for your help with the pinkies.\"";
    goto L_ThanksMenu;

L_ThanksMenu:
    menu
        "Sure, any time!", L_Next1,
        "Anything else you want me to do?", L_Next1,
        "You're welcome. Bye!", L_Bye;

L_Next1:
    mesn l("Farmer Hinnak");
    mes "\"Actually, it's been a long day. If it's no trouble, could you get me a beer?\"";
    next;
    menu
        "Here you are.", L_GiveBeer,
        "Sure, I'll go get one. Bye!", L_Bye,
        "You shouldn't drink while working!", L_Next2;

L_Next2:
    mesn l("Farmer Hinnak");
    mes "\"Well, I'm done for the day, and I'm quite old enough to decide when I can have a beer, thank you!\"";
    next;
    menu
        "Sorry... here you are.", L_GiveBeer,
        "I don't have any.", L_NoBeer;

L_GiveBeer:
    if (countitem("Beer") < 1)
        goto L_NoBeer;
    delitem "Beer", 1;
    mesn l("Farmer Hinnak");
    mes "Hinnak takes a sip.";
    mes "\"Aaah!  Nothing like a well-deserved beer after a long day of tending the crops!\"";
    mes "\"Thanks, that was very kind of you!\"";
    next;
    mesn l("Farmer Hinnak");
    mes "He takes another sip.";
    mes "\"Thanks!  You know, I had the strangest thing happen to me. I had this patch of ground that was really clumpy; lots of clay, you see.\"";
    next;
    mesn l("Farmer Hinnak");
    mes "\"Right over there.\"";
    mes "He points to a stretch of soft, raked ground.";
    mes "\"Looks much better now, doesn't it?  But how I got there is kind-a scary...\"";
    next;
    mesn l("Farmer Hinnak");
    mes "\"I'd been trying to break it up for a while, but that kind of work is a pain. So my wife said that I should go and see the witch, just in case she knows something.\"";
    next;
    mesn l("Farmer Hinnak");
    mes "\"And sure enough I ask the witch, and she has a look at it. 'Nothing I can do', she says, 'but I can ask a friend'.\"";
    next;
    mesn l("Farmer Hinnak");
    mes "\"So the next day another witch shows up. Gorgeous woman, but when she looked at me, the scares went scuttling down my spine....\"";
    mes "\"First thing she asked was if I'm a farmer. Said her friend had told her that I needed help.\"";
    next;
    mesn l("Farmer Hinnak");
    mes "\"I show her what the problem is, and she tells me to go inside and wait.\"";
    next;
    mesn l("Farmer Hinnak");
    mes "\"Hinnak drains his beer in one long sip, then hesitates.";
    next;
    mesn l("Farmer Hinnak");
    mes "\"So I go inside. I'm barely in when it starts raining outside, pouring cats and mouboos!\"";
    next;
    mesn l("Farmer Hinnak");
    mes "\"Not so weird, perhaps, except that it was been bright and sunny just a second before!  So I rush out, my wife telling me to leave the witch alone, and I see her standing there in the middle of the rain...\"";
    next;
    mesn l("Farmer Hinnak");
    mes "\"None of the raindrops touched her, as if they was afraid!\"";
    next;
    mesn l("Farmer Hinnak");
    mes "\"Then she yells out some gobbledygook word, and out of the ground there comes a swarm of maggots, crawling and digging and climbing over each other's backs...\"";
    next;
    mesn l("Farmer Hinnak");
    mes "\"And then she turns to me!  Seeing her stare, for a moment there I think that she'll turn me into a pinkie, for sure...\"";
    next;
    mesn l("Farmer Hinnak");
    mes "\"But all she says is, 'if you'd stayed inside, you wouldn't be wet now'.\"";
    next;
    menu
        "Hahaha!", L_Sagatha_hahaha,
        "Whoah, scary...", L_Sagatha_scary,
        "What was that gobbledygook word?", L_Sagatha_word,
        "I better go now.", L_Bye;

L_Sagatha_hahaha:
    mesn l("Farmer Hinnak");
    mes "\"Yeah, funny now... But you should've seen that stare!  Ah, well, never mind.\"";
    goto L_close;

L_Sagatha_scary:
    mesn l("Farmer Hinnak");
    mes "\"Yeah, you could say that...\"";
    mes "He stares into his empty beer jug, as if wishing it weren't empty yet.";
    goto L_close;

L_Sagatha_word:
    mesn l("Farmer Hinnak");
    mesq l("Oh, I can't be sure... but something like '%s', I think.", b("kalmurk"));
    if (getskilllv(SKILL_MAGIC)) {
        learnskill SKILL_KALMURK;
    } else {
        mesc l("You wonder if you could do the same, had you more magic power.");
        mesc l("Actually... Didn't you heard rumors about a Mana Seed somewhere nearby?");
    }
    goto L_close;

L_NoBeer:
    mesn l("Farmer Hinnak");
    mesq l("Ah... no beer?  Oh well.");
    goto L_close;

L_Bye:
    mesn l("Farmer Hinnak");
    mesq l("Bye!");
    goto L_close;

L_NohMask:
    menu
        "Did you see anyone in a mask come by here at night?", L_NohMask_Mask,
        "Did you see anyone with a large satchel come by here at night?", L_NohMask_Satchel,
        "Hello.", L_No_NohMask;

L_NohMask_Mask:
    mesn l("Farmer Hinnak");
    mes "\"No. It tends to be too dark to see a mask.\"";
    goto L_close;

L_NohMask_Satchel:
    mesn l("Farmer Hinnak");
    mes "\"Yes, I saw someone with a large sack on their back go to the mining camp.\"";
    goto L_close;

L_close:
    @state = 0;
    @inspector = 0;
    close;

S_Update_Mask:
    QUEST_Hurnscald = (QUEST_Hurnscald & ~(NIBBLE_1_MASK)) | (@state << NIBBLE_1_SHIFT);
    return;
}