summaryrefslogblamecommitdiff
path: root/npc/012-2/helena.txt
blob: a1547414d4e60b235bdbf7118fd5a651deb396aa (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13




               







                                                                                    

                                            
                                     
 
                                              
                                       
                               

                                



                                             
 
                                            









                                                                                                                                                                                                          
 
          

                                            


                                                                                                                       

          

         




                                                                                               


                                                                             



                                                               
















                                                                                                                                              





                                                                  
                                   








                                                                                                    
       
         










                                                                                                                                     
                                   
         
                                                                                                            


                                                                                                    

          


















































                                                                                                                                      












                                                      
// TMW2 Script.
// Author:
//    Jesusalva
// Description:
//    Lena
// Variables:
//      $HELENA_ST
//          Tracks how many set of Treasure Keys were given by all players thus far.
//          Affects beer prices on Hurnscald.
//      HurnscaldQuest_Bandits
//          q1 -> Current status
//          q2 -> Counter, and Bandit Hood timer
//          q3 -> 

012-2,47,40,0	script	Helena	NPC_FEMALE,{
    .@q=getq(HurnscaldQuest_Bandits);

    // Stage 1: Level 30, collect Treasure Key
    if (BaseLevel < 30) goto L_TooWeak;
    if (.@q == 0) goto L_Start;
    if (.@q == 1) goto L_Return;

    // Stage 2: Level 40, collect Bandit Hood
    if (BaseLevel < 40) goto L_Weak;
    if (.@q == 2) goto L_Quest;
    if (.@q == 3) goto L_Hood;

    // Stage 3: Level 45, defeat Bandit Lord
    if (BaseLevel < 45) goto L_Busy;

    goto L_Daily;

L_Daily:
    mesn;
    mesq l("Ah, @@, my friend! Are you here to help us with @@? Or perhaps you have more @@ to show that Hurnscald is getting safer?", strcharinfo(0), getitemlink(TreasureKey), getitemlink(BanditHood));
    next;
    mes col("TODO, Daily Bandit Hood quest", 1);
    close;

L_TooWeak:
    mesn;
    mesq lg("Hello, madam!", "Hello, sir!");
    next;
    mesn;
    mesq l("Ah, we have serious problems of robbery. I need someone really strong to help me, and you don't qualify.");
    close;

L_Weak:
    mesn;
    mesq l("You still need to grow a few levels more before being able to help me out again.");
    close;

L_Busy:
    mesn;
    mesq l("Ah, @@! I'm busy now, can we talk again later?", strcharinfo(0));
    close;

L_Quest:
    mesn;
    mesq l("Ah, @@, good thing you are here.", strcharinfo(0));
    next;
    mesn;
    mesq l("Bandits are a huge threat to Hurnscald. We're just a small farming town, and they're countless.");
    next;
    mesn;
    mesq l("I did a travel to their cave, I wondered why their faces are never seen. Reason is that they're monsters.");
    next;
    mesn;
    mesq l("Well, perhaps a few of them are rebels, I mean, people like us, but many of them are monsters.");
    next;
    mesn;
    mesq l("Unfortunately, I was cursed to never enter their cave again. They used a @@ to do that!", getitemlink(BlueManaPearl));
    next;
    mesn;
    mesq l("Thankfully that item is too rare. I want somebody to slay the bandit leader, but if you want to do it, you must prove yourself.");
    next;
    mesn;
    mesq l("I will reward whoever kills the current bandit leader, of course.");
    select
        l("I would gladly aid you to get rid of that scourge."),
        l("Sorry, I forgot my courage on my other set of pants.");
    mes "";
    if (@menu == 2)
        close;
    setq HurnscaldQuest_Bandits, 3;
    mesn;
    mesq l("Wonderful! So, how about a warm up?");
    next;
    // 8% drop. 10 / 8% = avg. 125 bandits to kill
    // And for once, I won't require these bandits to be from Hurnscald Bandit Cave.
    mesn;
    mesq l("Bring me 10 @@. I'll pay you some money for that, of course.", getitemlink(BanditHood));
    close;

L_Hood:
    mesn;
    mesq lg("Adventurer, did you brought me what I asked? I see you have @@/10 @@.", countitem(BanditHood), getitemlink(BanditHood));
    mes "";
    select
        rif(countitem(BanditHood) >= 10, l("Yes, take it.")),
        rif(countitem(BanditHood) < 10, l("No, I'll be back with them.")),
        l("Hm, can we talk again later?");
    mes "";
    if (@menu != 1)
        close;
    delitem BanditHood, 10;
    Zeny=Zeny+2000;
    setq HurnscaldQuest_Bandits, 4;
    mesn;
    mesq l("Hey hey... Good job! I was worried you would ruin their hoods before being able to take them.");
    next;
    mesn;
    mesq l("Here is 2000 GP for your efforts. Thanks for making Hurnscald a better place to live.");
    close;

L_Start:
    mesn;
    mesq l("Ah, hello.");
    next;
    mesn;
    mesq l("We actually have a problem. Bandits ransacked this tavern, and took a huge loot.");
    next;
    mesn;
    mesq l("We pursued them until the mines, slayed them, and took the chests where they locked our stuff into.");
    next;
    mesn;
    mesq l("The problem is... The slimes ate the keys for the chests. This is not the first time such thing happens.");
    next;
    // 5 ÷ 4.5% = 112 Copper Slimes. You can kill Yellow Slimes too
    mesn;
    mesq l("If you bring us 5 @@, we'll be forever grateful.", getitemlink(TreasureKey));
    select
        l("Don't worry ma'm, I'll recover the Treasure Keys at once."),
        l("Ah... Slimes... Sorry, not my cup of tea...");
    mes "";
    if (@menu == 2)
        close;
    setq HurnscaldQuest_Bandits, 1;
    mesn;
    mesq l("Wonderful! I'll be expecting you back.");
    close;

L_Return:
    mesn;
    mesq lg("Adventurer, did you brought me what I asked? I see you have @@/5 @@.", countitem(TreasureKey), getitemlink(TreasureKey));
    mes "";
    select
        rif(countitem(TreasureKey) >= 5, l("Yes, take it.")),
        rif(countitem(TreasureKey) < 5, l("No, I'll be back with them.")),
        l("Hm, can we talk again later?");
    mes "";
    if (@menu != 1)
        close;
    delitem TreasureKey, 5;
    Zeny=Zeny+1000;
    setq HurnscaldQuest_Bandits, 2;
    mesn;
    mesq l("Hey hey... Good job! We can now use again the stuff we recovered from the bandits.");
    next;
    mesn;
    mesq l("Here is 1000 GP for your efforts. Thanks for making Hurnscald a better place to live.");
    next;
    mesn;
    mesq l("This happens quite often, too. My friends and I are always collecting keys to reduce beer price on Hurnscald. %%2");
    close;

OnInit:
    .@npcId = getnpcid(0, .name$);
    setunitdata(.@npcId, UDT_HEADTOP, FairyHat);
    setunitdata(.@npcId, UDT_HEADMIDDLE, ForestArmor);
    setunitdata(.@npcId, UDT_HEADBOTTOM, CottonSkirt);
    setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 17);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 7);

    .sex = G_FEMALE;
    .distance = 5;
    end;
}