summaryrefslogblamecommitdiff
path: root/npc/021-1/yeti.txt
blob: b32735f7608914f9bba2fbc5e1e3b57843cfccb8 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

















                                                                                



                                                                         
 
         









                                                                                                                     














































                                                                                                                                              
                                                                                                                                                                                    














                                                                                        
                                                                                                                                  

          
                                                                                       






                                                                     
                            












                                                                                                                                                               

                                                                                                                                                           



                                                                                                          
                                                                                                                                    
                                                                                                                





                             







                                                                   


                
          
                                                                                          










                                                                                                                       
                                                                       



          
                                                                                     



          
                                                                                                                 




                         
                
                           














                                                                            
                                                                         







                                      
                                                                   



          
                                                                                               



          
                                                                                     



















                                                                                
// TMW2 script.
// Authors:
//    Jesusalva
// Description:
//    Controls the Cindy Gateway quest node.
//    Also controls Watch Spot Yetis.

021-1,246,206,0	script	Yeti#0211Cindy	NPC_YETI,{
    // Is this the right Yeti?
    .@n=getq(NivalisQuest_Well);

    if (.@n < 2)
        goto L_NoQuest;

    // Alright, now we need to cycle Cindy quest to decide if this NPC will have
    // a special behavior or not.
    .@q=getq(NivalisQuest_Cindy);

    if (.@q == 1) goto L_Assigned;      // Quest Assigned
    if (.@q == 2) goto L_Report;        // Quest (Sub) Accepted
    if (.@q <= 5) goto L_Instructions;  // Quest (Sub) Completed
    if (.@q >= 6) goto L_Complete;      // Quest completed at least once.

L_Thanks:
    mesn;
    mesq l("Hey, thanks for saving me. You know, from the well.");
    next;
    mesn strcharinfo(0);
    mesq l("You're wel-- Wait, it was you who was trapped on the well near Miler's house?!");
    next;
    mesn;
    mesq l("Yes, exactly. Thanks for the rescue. I must guard this area from the caves, if you need, just call me.");
    close;

L_Assigned:
    mesn;
    mesq l("Hello my friend.");
    next;
    select
        l("Hi."),
        l("Hm, do you perhaps know where to find Cindy and could help me?"),
        l("Die, your evil Yeti!");
    mes "";
    switch (@menu) {
        case 1: goto L_Thanks;
        case 2:
            mesn;
            mesq l("Hm, would \"Cindy\" be a small, little girl, kidnapped by some sturdy-looking rogue Yetis?");
            next;
            mesn strcharinfo(0);
            mesq l("Probably.");
            next;
            mesn;
            mesq l("Well, yes, I've saw them heading off to the Yeti King room. Lately, many Yetis have been uprising against your majesty.");
            next;
            mesn;
            mesq l("Unfortunately, @@s are not welcome on the Yeti Domains. You're no exception.", get_race());
            next;
            mesn strcharinfo(0);
            select
                l("Alright, good bye."),
                l("Can't I do anything, though?"),
                l("Tell me how or I'll kill you!");
            mes "";
            if (@menu == 3) {
                mesn;
                mesq l("Now, that's unfortunate. I don't think you can hit me from where you are.");
                next;
                mesn;
                mesq l("Besides, I know these caves like the back of my hand. You would have a hard time tracking me down.");
                next;
                mesn;
                mesq l("In fact, you would get lost and killed. If I were you, I would avoid the Death Penalty. It's high, ya know?");
            } else if (@menu == 2) {
                mesn;
                mesq l("Well, the Yeti King has went away to the cliffs north of this one. He'll get back here very hungry.");
                next;
                mesn;
                mesq l("I am his right-hand Yeti, so I could grant you passage to his Throne Room to slay the rogue Yetis...");
                next;
                mesn;
                mesq l("...But saving me won't be enough, so build trust by the kind gift of 60 @@. I'll be waiting.", getitemlink(MoubooSteak)); // A normal Steak could do, but...
                setq NivalisQuest_Cindy, 2;
            }
            close;
        case 3:
            mesn;
            mesq l("That's rude. I never did anything to you.");
            next;
            mesn;
            mesq l("Please get moving, @@. I do not mean any harm to you.", get_race());
            close;
    }
    close;

L_Report:
    mesn;
    mesq l("Did you brought us a kind gift of good will, on the worth of 60 @@, to offer to our King?", getitemlink(MoubooSteak));
    next;
    select
        rif(countitem(MoubooSteak) >= 60, l("Yes, here they are.")), // Demure was here
        l("Not yet.");
    mes "";
    if (@menu == 2) {
        mesn;
        mesq l("Then please bring me this, so I can help you back.");
        close;
    }
    delitem MoubooSteak, 60;
    setq NivalisQuest_Cindy, 3;
    mesn;
    mesq l("Great. I hereby task you to kill the rogue Yetis on the Yeti King Throne Room. Of course, you won't be able to leave until all of them are dead.");
    next;
    mesn;
    mesq l("Getting there is tricky, so listen carefully to the instructions:");
    next;
L_Instructions:
    mesn l("ROGUE YETI SLAYING REQUEST");
    mesc l("Mission: Kill all rogue Yetis on the Throne Room. You won't be able to leave until all of them are dead.");
    next;
    mesc l("Directions: ");
    mesc l("You must flip all 5 switches on this cave, and then walk accross the cave blocked with an etheral crystal.");
    mesc l("First timers will be lead to somewhere random on this cave to keep intruders out. Just walk there again while all switches are still active.");
    mesc l("This random cave-warping only happens once, too.");
    mesc l("The Throne Room is the last room. You can reactive any switch which turns itself off.");
    next;
    mesc l("Notes: ");
    mesc l("To unlock the cell on the middle of the throne room, you need to flip all 5 switches there.");
    mesc l("You need a @@ to flip the switches on the Throne Room, don't forget to bring at least five.", getitemlink(TreasureKey));
    mesc l("EVERY switch on EVERY cave will unflip itself after about 2 minutes. So don't waste your time."), 1;
    next;
    mesn;
    mesq l("Good luck. %%1");
    close;

L_Complete:
    //mesc l("ToDo"), 1;
    mesn;
    mesq l("Hello my friend. Thanks for slaying the rogue Yetis.");
    mesc l("Do you want to read again the instructions?");
    next;
    if (askyesno() == ASK_YES) {
        goto L_Instructions;
    }
    close;

// The other NPC
L_NoQuest:
    dispbottom l("Who's Mercury? Maybe I'm missing something? Where could he have went?");
    @yetiagro=@yetiagro+1;
    if (@yetiagro > 5) goto L_Hit;
    if (@yetiagro > 3) goto L_Warning;
    if (@yetiagro > 1) goto L_Disrupt;
    goto L_Walking;

L_Walking:
    mesn;
    mesq l("Grr, where's Mercury... He was supposed to keep watch over this spot... It was meant to be my free time!");
    next;
    mesn;
    mesq l("And you, @@... You better get walking. Soon.", get_race());
    close;

L_Disrupt:
    mesn;
    mesq l("Grrr... Why are @@ on this cave?! What Mercury was doing?!", get_race());
    close;

L_Warning:
    mesn;
    mesq l("Stupid @@, get out of this cave before I lose my patience! Mercury... Show up already!", get_race());
    close;

L_Hit:
    mesn;
    mesq l("DIE, SCUM!");
    @yetiagro=0;
    percentheal -100, -100;
    close;

OnInit:
    .sex=G_OTHER;
    .distance=20;
    end;
}






/////////////////////////////////////////////////////// Random Lookout Yetis
021-1,144,203,0	script	Yeti#0211Guard	NPC_YETI,{
    dispbottom l("I better don't bother this Yeti, before it kills me.");
    @yetiagro=@yetiagro+1;
    if (@yetiagro > 5) goto L_Hit;
    if (@yetiagro > 3) goto L_Warning;
    if (@yetiagro > 1) goto L_Disrupt;
    goto L_Walking;

L_Walking:
    mesn;
    mesq l("You, @@... You better get walking. Soon.", get_race());
    close;

L_Disrupt:
    mesn;
    mesq l("Grrr... Why are @@ on this cave?! Begone, before I lose my patience!", get_race());
    close;

L_Warning:
    mesn;
    mesq l("Stupid @@, get out of this cave before I lose my patience!", get_race());
    close;

L_Hit:
    mesn;
    mesq l("DIE, SCUM!");
    percentheal -100, -100;
    @yetiagro=0;
    close;

OnInit:
    .sex=G_OTHER;
    .distance=20;
    end;
}




//021-1,25,298,0	duplicate(Yeti#0211Guard)	Yeti#0211G2	NPC_YETI