// TMW2 Scripts.
//
// TMW-BR Original Authors:
// Programmer: Adson Renato
// Texts: Arkanjo
// Review: Jesusalva
//
// Authors:
// Jesusalva
// Description:
// Stowaway hidden in a ship's hole. Contrabandist. Trade potions, dyes,
// food, water, and money for an item.
// In BR originals requested a four leaf clover to do luck magic, in order to not be caught.
// That would imply teaching a new skill, and I'm not felling like it, so I removed.
002-1,45,26,0 script Alige NPC_ALIGE,{
if (BaseLevel < 42) goto L_Weak;
.@q=getq(ShipQuests_Alige);
if (.@q == 1) goto L_Return;
if (.@q == 2) goto L_End;
mesn;
mesq lg("Hey, dude! The guards are after me. I need your help, and I can reward you.");
next;
mesn strcharinfo(0);
menu
l("Guaaaards! Sailors! Help! We have a stowaway!"), L_Revolt,
l("Not right now, I'm busy."), L_Close,
l("Did you said reward?!"), L_GoGo;
L_Weak:
mes col("You thought there was someone here. It must have been your imagination.", 9);
close;
L_Revolt:
mes "";
message strcharinfo(0), l("Guaaaards! Sailors! Help! We have a stowaway!");
mesn;
mesq l("No, please don't! I have 3 kids to feed. They are looking for me for contraband. Please, let me go!");
close;
L_GoGo:
mes "";
mesn;
mesq l("Yes, I need to get out of here the earliest possible.");
next;
mesn strcharinfo(0);
mesq l("So tell me already what you need, and what is the reward!");
next;
// Stowaway hidden in a ship's hole. Contrabandist. Trade potions, dyes,
// food, water, and money for a hat.
mesn;
mes col("Alige hands you an old paper patch.",9);
next;
mesn l("Old Paper Patch");
mes l("* @@/30 @@", countitem(CactusPotion), getitemlink(CactusPotion));
mes l("* @@/12 @@", countitem(Bread), getitemlink(Bread));
mes l("* @@/12 @@", countitem(Cheese), getitemlink(Cheese));
mes l("* @@/12 @@", countitem(CherryCake), getitemlink(CherryCake));
mes l("* @@/8 @@", countitem(BottleOfTonoriWater), getitemlink(BottleOfTonoriWater));
mes l("* @@/6 @@", countitem(HastePotion), getitemlink(HastePotion));
mes l("* @@/6 @@", countitem(StrengthPotion), getitemlink(StrengthPotion));
mes l("* @@/2 @@", countitem(YellowDye), getitemlink(YellowDye));
mes l("* @@/2 @@", countitem(BlueDye), getitemlink(BlueDye));
mes l("* @@/7.500 GP", Zeny);
next;
// Temporary item. This four leaf amulet can be evolved: Bromenal < Iron < Golden < Crozenite
mesn;
mesq l("In exchange for your help, I'll give you a @@!", getitemlink(CrozeniteFourLeafAmulet));
menu
l("Of course I'll help you!"), L_Accept,
l("Have you got mad? That's too much, it's like you are trying to be perfect! No way I'll help you!"), L_Close;
L_Accept:
mes "";
mesn;
mesq l("\"Many thanks! I'll be waiting for you, hiding on the ship's hold!\"");
next;
mesn strcharinfo(0);
mesq l("Could you first explain me why so many items?");
next;
mesn;
mesq l("Very well, listen to my plan!");
next;
mesn;
mesq l("The dyes are to disguise myself, I don't want to get caught. The potions are for safety, who knows what I'll face?");
next;
mesn;
mesq l("Water, Bread, Cheese and Cherry Cake are to eat, and money is always useful, you know.");
next;
mesn strcharinfo(0);
mesq l("You planned neatly. I'll be back.");
setq ShipQuests_Alige, 1;
close;
L_Return:
mesn;
mesq l("Hey, psst! Have you brought me what I asked for?");
next;
mesn strcharinfo(0);
menu
l("What I had to bring, again?"), L_Remember,
l("Yes, you can count it."), L_Check,
l("No... Not yet, sorry."), L_Close;
L_Remember:
mes "";
mes col("Alige hands you an old paper patch.",9);
next;
mesn l("Old Paper Patch");
mes l("* @@/30 @@", countitem(CactusPotion), getitemlink(CactusPotion));
mes l("* @@/12 @@", countitem(Bread), getitemlink(Bread));
mes l("* @@/12 @@", countitem(Cheese), getitemlink(Cheese));
mes l("* @@/12 @@", countitem(CherryCake), getitemlink(CherryCake));
mes l("* @@/8 @@", countitem(BottleOfTonoriWater), getitemlink(BottleOfTonoriWater));
mes l("* @@/6 @@", countitem(HastePotion), getitemlink(HastePotion));
mes l("* @@/6 @@", countitem(StrengthPotion), getitemlink(StrengthPotion));
mes l("* @@/2 @@", countitem(YellowDye), getitemlink(YellowDye));
mes l("* @@/2 @@", countitem(BlueDye), getitemlink(BlueDye));
mes l("* @@/7.500 GP", Zeny);
next;
// Temporary item. This four leaf amulet can be evolved: Bromenal < Iron < Golden < Crozenite
mesn;
mesq l("In exchange for your help, I'll give you a @@!", getitemlink(CrozeniteFourLeafAmulet));
close;
L_Check:
if (countitem(CactusPotion) < 30 ||
countitem(Bread) < 12 ||
countitem(Cheese) < 12 ||
countitem(CherryCake) < 12 ||
countitem(BottleOfTonoriWater) < 8 ||
countitem(HastePotion) < 6 ||
countitem(StrengthPotion) < 6 ||
countitem(YellowDye) < 2 ||
countitem(BlueDye) < 2)
goto L_Missing;
if (Zeny < 7500) goto L_Poor;
inventoryplace CrozeniteFourLeafAmulet, 1;
delitem CactusPotion, 30;
delitem Bread, 12;
delitem Cheese, 12;
delitem CherryCake, 12;
delitem BottleOfTonoriWater, 8;
delitem HastePotion, 6;
delitem StrengthPotion, 6;
delitem YellowDye, 2;
delitem BlueDye, 2;
Zeny = Zeny - 7500;
getitem CrozeniteFourLeafAmulet, 1;
getexp 2200, 50;
setq ShipQuests_Alige, 2;
mes "";
mesn;
mesq l("Good job... Here is your reward...");
next;
mesn;
mesq l("I have to get going now. Thanks for the help!");
close;
L_Poor:
mes "";
mesn;
mes l("There's not everything I've asked for...");
next;
goto L_Remember;
L_Missing:
mes "";
mesn;
mes l("There's not everything I've asked for...");
next;
goto L_Remember;
L_End:
mesn;
mes l("I am still here, but I already did amends for my acts and don't need to flee anymore...");
next;
mesn strcharinfo(0);
mes l("Why am I having a hard time to believe on you...");
close;
L_Close:
close;
OnInit:
.sex = G_MALE;
.distance = 2;
/*
// Preventive check against faulty update. Must be removed afterwards.
// UPDATE `quest` SET `count1` = '0' WHERE `quest`.`quest_id` = 2;
.@nb = query_sql("select `char_id` from `quest` WHERE (`count1`>=1 and `quest_id`=2) LIMIT 2", .@name$);
if (getarraysize(.@name$) > 0) {
debugmes "FATAL ERROR: Quest log not updated.";
debugmes "disabling Alige to prevent weirder bugs.";
debugmes "UPDATE `quest` SET `count1` = '0' WHERE `quest`.`quest_id` = 2";
disablenpc .name$;
}
*/
end;
OnTouch:
if (getareausers() <= 1)
setnpcdir "Alige", 2; // 6
close;
OnUnTouch:
if (getareausers() == 0)
setnpcdir "Alige", 4; // 8
close;
}