summaryrefslogblamecommitdiff
path: root/npc/032-1/episode.txt
blob: 19125ac1d96b75b23a33fdb8b571d054f8322f30 (plain) (tree)
1
2
3
4
5
6
7
8
9





                                 

                                                                                
                                          
                                                                        


                                  

                                          


















                                                                              

              










                                                        

                                                                        





                                             
                                            
                                                                        



                                                   








                                                                    



                
                                            
                                                                        



                                                                                            


                                                      
                                                          




                                                     



                
                                            
                                                                        



                                                                                                                       








                                                                    



                
                                            
                                                                        



                                                                                   


                                                      
                                                          




                                                     




                                                    
                                                                        









































































































                                                                                                                                              






                
                                           






















                                                                                     
                                                                     








                                                                        


        





















                                                                                  


        
                                                    
                                                                        







                                                                                                        


                                                                                 
// TMW2 scripts.
// Authors:
//    Jesusalva
// Description:
//    Part of the Doctor's Quest.

// Elli is capable to use magic without a mana stone, which puts her on the same
// level as the Moubootaur and the Mana Source.
032-1,58,129,0	script	Elli	NPC_ELLI,{
    .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
    .@x = getq3(LoFQuest_EPISODE);
    .@banu_priz = (.@x & 8);
    .@eurni_info = (.@x & 16);
    if (!.@q && getq3(LoFQuest_EPISODE)) {
        mesn;
        mesq l("Hi. Do you need something?");
        next;
        select
            l("No, nothing. Sorry."),
            l("I need to enter.");
        mes "";
        if (!.@banu_priz) {
            mesn;
            mesq l("And who would you be? Another bandit? Leave!");
            close;
        }
        if (!.@eurni_info) {
            mesn;
            mesq l("Why? You are most definitely at the wrong place. Leave!");
            close;
        }
        mesn;
        mesq l("Eh... Sure, why not. What could go wrong, after all.");
        setq2 LoFQuest_EPISODE, 1;
        close;
    }
    npctalk3 l("Hi.");
    end;

OnInit:
    .distance=5;
    end;
}

032-1,59,126,0	script	#InnerEP	NPC_HIDDEN,0,0,{
    end;
OnTouch:
    .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
    if (getq(LoFQuest_EPISODE) > 15 || .@q)
        slide 52, 127;
    else
        dispbottom l("This door is locked.");
    end;
}

032-1,68,54,0	script	Adrian	NPC_PLAYER,{
    .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
    npctalk3 l("Hi. Are you here to get luggage?");
    end;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, SailorHat);
    setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
    //setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers); // TODO
    setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 11);

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

032-1,45,36,0	script	Marikel	NPC_PLAYER,{
    .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
    npctalk3 l("Hi. Working on the docks can be hard, but I'm glad I at least get to eat!");
    end;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, SailorHat);
    setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
    setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers);
    setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 11);

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

032-1,75,46,0	script	Joelin	NPC_FEMALE,{
    .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
    npctalk3 l("Hi. My ship is about to set sail, we'll try to find somewhere better to live than this ruined place!");
    end;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, CaptainCap);
    setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
    //setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers); // TODO
    setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 11);

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

032-1,77,46,0	script	Harper	NPC_PLAYER,{
    .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
    npctalk3 l("Hi. My captain believe the world is round, can you believe that?");
    end;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, SailorHat);
    setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
    setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers);
    setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 11);

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

032-1,112,142,0	script	Banu	NPC_GLASS_OLD_LADY,{
    .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
    if (.@q) {
        npctalk3 l("Hi. My back hurts!");
    } else {
        // Quest can be reset, so no major rewards, not even experience
        .@x = getq3(LoFQuest_EPISODE);
        .@met_banu = (.@x & 1);
        .@ask_apple = (.@x & 2);
        .@got_apple = (.@x & 4);
        .@banu_priz = (.@x & 8);
        if (!.@got_apple) {
            mesn;
            mesq l("You won't have any of my vegetables, you scoundrel! Get off my yard!");
            setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | 128;
            close;
        } else if (!.@banu_priz) {
            mesn;
            mesq l("Oh, thanks, darling; I was starving. Do you need anything?");
            next;
            select
                l("I want the apples back."),
                l("I'm after the Queen's Party."),
                l("I want a knife and a bottle of water!");
            mes "";
            setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | 8;
            switch (@menu) {
            case 1:
                getitem RedApple, 12;
                mesn;
                mesq l("Sure, here you go!");
                close;
            case 2:
                getitem SharpKnife, 1;
                getitem ChickenLeg, 1;
                mesn;
                mesq l("They did nothing good! They claim the Platinum Queen was a savior, all lies!");
                next;
                mesn;
                mesq l("We sure flourished at her early years, but the late years were a disaster! Crops were failing way before her death!");
                next;
                mesn;
                mesq l("Don't believe anything they tell you! Here, take this, so you can defend yourself. And some food, now leave.");
                close;
            case 3:
                getitem BottleOfTonoriWater, 1;
                getitem SmallKnife, 1;
                mesn;
                mesq l("Sure, here you go!");
                close;
            }
            close;
        } else {
            npctalk3 l("Hi. Thanks for the pie.");
        }
    }
    end;

OnInit:
    .distance=5;
    end;
}

032-1,71,195,0	script	Joanna	NPC_JOANA,{
    .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
    if (.@q) {
        npctalk3 l("Hi. Come to the bakery!");
    } else {
        .@x = getq3(LoFQuest_EPISODE);
        .@met_banu = (.@x & 1);
        .@ask_apple = (.@x & 2);
        .@got_apple = (.@x & 4);
        .@banu_priz = (.@x & 8);
        if (.@met_banu && !.@ask_apple) {
            mesn;
            mesq l("Hey, you, stranger. I promised Banu a pie, but she is yet to give me the apples.");
            next;
            mesn;
            mesq l("Can you fetch with her? 12 %s.", getitemlink(RedApple));
            next;
            select
                l("Sure!"),
                l("No, sorry.");
            mes "";
            if (@menu == 1) setq3 LoFQuest_EPISODE, .@x | 2;
            close;
        } else if (.@ask_apple) {
            mesn;
            mesq l("Did you brought me 12 %s?", getitemlink(RedApple));
            if (countitem(RedApple) < 12) close;
            next;
            select
                l("Sure!"),
                l("No, sorry.");
            mes "";
            if (@menu == 2)
                close;
            delitem RedApple, 12;
            setq3 LoFQuest_EPISODE, .@x | 4;
            mesn;
            mesq l("Thank you, tell her to come to the bakery at... Actually, nevermind. Just give her this note.");
            close;
        } else {
            mesn;
            mesq l("Come to the bakery!");
            close;
        }
    }
    end;

OnInit:
    .distance=5;
    end;
}

032-1,151,201,0	script	Eurni	NPC_EURNI,{
    .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
    if (.@q) {
        npctalk3 l("Hi. I have questionable items of questionable origins for you.");
        openshop;
    } else {
        mesn;
        mesq l("Hi. I have questionable items of questionable origins for you.");
        next;
        select
            l("Trade"),
            l("The Queen's Party?"),
            l("Not now.");
        mes "";
        if (@menu == 1) {
            openshop;
            closeclientdialog;
        }
        else if (@menu == 2) {
            mesn;
            mesq l("I always do shady deals. *cough cough* %s GP.", fnum(500));
            next;
            if (askyesno() == ASK_YES && Zeny >= 500) {
                Zeny-=500;
                setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | 16;
                mesn;
                mesq l("They are hidden in the crypts, inside a cave.");
                next;
                mesn;
                mesq l("This conversation never happened.");
            }
        }
        close;
    }
    end;

OnInit:
	sellitem Bread, getiteminfo(Bread, ITEMINFO_BUYPRICE)*16/10;
	sellitem Cheese, getiteminfo(Cheese, ITEMINFO_BUYPRICE)*16/10;
	sellitem ChamomileTea, getiteminfo(ChamomileTea, ITEMINFO_BUYPRICE)*18/10;
	sellitem BugLeg, getiteminfo(BugLeg, ITEMINFO_BUYPRICE)*192/10;
	sellitem LazuriteShard, 700;
	sellitem MaggotSlime, getiteminfo(MaggotSlime, ITEMINFO_BUYPRICE)*192/10;
	sellitem Coal, getiteminfo(Coal, ITEMINFO_BUYPRICE)*132/10;
	sellitem Lockpicks, 10000;
	sellitem IcedBottle, getiteminfo(IcedBottle, ITEMINFO_BUYPRICE)*32/10;
	sellitem Wurtzite, getiteminfo(Wurtzite, ITEMINFO_BUYPRICE)*164/10;
	sellitem StrangeCoin, 1000000;
	sellitem WumpusEgg, 99999999;

    .sex = G_MALE;
    .distance = 5;
    end;

// Pay your taxes!
OnBuyItem:
    end;

OnSellItem:
    end;
}

032-1,140,213,0	script	Weellos	NPC_LEGACY_GUARD_B,{
    .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
    npctalk3 l("Hi. This is a very historic building - the former residence of the red queen no less!");
    end;

OnInit:
    .distance=5;
    end;
}

// NPC_LEGACY_GUARD_A NPC_LEGACY_GUARD_C NPC_LEGACY_GUARD_D NPC_LEGACY_LIEUTENANT
// NPC_OMAR NPC_KADIYA NPC_JOANA&BANU NPC_SASHA