summaryrefslogblamecommitdiff
path: root/npc/003-1/silvia.txt
blob: a2f31d59949fca4d043ce5e30386e78f4b2c0d01 (plain) (tree)
1
2
3
4
5
6
7
8
9
               

           
               
 
                                                   
 
                                                                                                                 
                                                           
                                        
                                           
                                                                                                   
                                               
                                                
        
 














                                                                                                        
                 
                                     
         








                                                                                                                                    























                                                                                                             







                                                                                                                 

          





                                                                             
                                                                               




























                                                                                                                                                                                             




                
       
                               
                                                


                                                                    




                                            
        
 
// TMW2 Script.
// Author:
//    Saulc
//    Jesusalva

003-1,109,150,0	script	Silvia	NPC_FEMALE_ARGAES,{

    if (strcharinfo(0) == $MOST_HEROIC$) npctalk l("Oh my, the great @@ has come to talk to me!", $MOST_HEROIC$);
    if (getq(TulimsharQuest_Swezanne) == 4) goto L_Message;
    .@q2=getq2(TulimsharQuest_Swezanne);
    if (.@q2 < santime()) goto L_Unallowed;
    if (getq(TulimsharQuest_Swezanne) == 1 && getq(TulimsharQuest_Lifestone) < 2) goto L_Lifestone;
    if (strcharinfo(0) != $MOST_HEROIC$) hello;
    if (getq(MineQuest_Naem) == 1) goto L_Hubby;
    end;

L_Message:
    mesn strcharinfo(0);
    mesq l("Your mother asked me to say that she loves you.");
    next;
    mesn;
    mesq l("Oh no, not another stranger she sends me to tell that!");
    next;
    mesn;
    mesq l("She never leaves the shade of that tree, she is always sending messages by other people!!");
    next;
    mesn;
    mesq l("Oh well... That's my mother, and this is why I love her.");
    next;
    inventoryplace CottonGloves, 1;
    getitem CottonGloves, 1;
    getexp 105,0;
    setq1 TulimsharQuest_Swezanne, 1;
    mesn;
    mesq l("Thank you, @@. Please take this pair of gloves as a thank you.", strcharinfo(0));
    close;

L_Lifestone:
    mesn;
    mesq l("Hey! Good to see you. I was thinking how I could repay for what you've done for my mother.");
    next;
    mesn;
    mesq l("I can make you a @@, and for that I will want a @@ and 500 GP.", getitemlink(LifestonePendant), getitemlink(Lifestone));
    if (getq(TulimsharQuest_Lifestone) == 0) {
        next;
        mesn;
        mesq l("I am not sure of who makes or haves Lifestones. Try looking outside the city. Who knows.");
        close;
    }
    menu
        rif(Zeny >= 500 && countitem(Lifestone) > 0, l("Yes, I accept the pendant!")), -,
        l("Not now, but I may be back later."), L_Close;

    // Whaaaat, this is a major error affecting several scripts!
    if (Zeny < 500 || countitem(Lifestone) < 0) {
        atcommand("@request Someone is cheating, call Jesusalva at once!");
        atcommand("@ban \""+strcharinfo(0)+"\" 15mn"); // I truly hope they bother Jesusalva they were banned
        disablenpc "Silvia";
        close;
    }
    Zeny-=500;
    delitem Lifestone, 1;
    getitem LifestonePendant, 1;
    setq(TulimsharQuest_Lifestone, 2);
    mes "";
    mesn;
    mesq l("There you go! Thanks for all the help!");
    close;

L_Unallowed:
    mesn;
    mesq l("Ah, I wonder how my mother Swezanne is faring...");
    next;
    mesn;
    mesq l("She must be thristy, fighting monsters on this sun... If somebody could give her Cactus Potions...");
    close;

L_Hubby:
    mesc l("Did we brought everything Naem asked?");
    mesf l("%d/%d %s",countitem(Aquada), 7, getitemlink(Aquada));
    mesf l("%d/%d %s",countitem(PiouLegs), 6, getitemlink(PiouLegs));
    mesf l("%d/%d %s",countitem(Cheese), 3, getitemlink(Cheese));
    mesf l("%d/%d %s",countitem(HalfCroconut), 3, getitemlink(HalfCroconut));
    mesf l("%d/%d %s",countitem(PurpleBlobime), 1, getitemlink(PurpleBlobime));
    next;
    if (askyesno() == ASK_NO) { closeclientdialog; end; }
    if (countitem(Aquada) < 7 ||
        countitem(PiouLegs) < 6 ||
        countitem(Cheese) < 3 ||
        countitem(HalfCroconut) < 3 ||
        countitem(PurpleBlobime) < 1) {
        mesc l("You lied, and this caused a headache! You should NEVER lie to NPCs, because they may steal your items!");
        callfunc("SC_Bonus", 15, SC_POISON, 10);
        close;
    }
    inventoryplace IcedBottle, 1;
    delitem Aquada, 7;
    delitem PiouLegs, 6;
    delitem Cheese, 3;
    delitem HalfCroconut, 3;
    delitem PurpleBlobime, 1;
    getitembound IcedBottle, 1, 4;
    setq MineQuest_Naem, 2;
    mesn;
    mesq l("Hm, groceries? Well, figure out Naem would ask someone to deliver them.");
    next;
    mesn;
    mesq l("Thanks, please tell him I'll make his favorite dish. Oh, could you also deliver him this %s?", getitemlink(IcedBottle));
    next;
    mesn;
    mesq l("The mines are over a Volcano. Unless you're a Redy, the heat will slowly chip away your health if you go deep. But drinking iced water can improve temporarily your situation.");
    close;

L_Close:
    closedialog;
    goodbye;
    close;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, NPCEyesD);
    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;
}