// TMW-2 Script
// Author:
// Saulc
// Jesusalva
// Description:
// Another shopkeeper which babbles about Jean Shorts, how Cave Snake drops them
// and encourage players to find it. He pays 6.000 GP and gives 1620 xp for one.
// In future, this could grant you discounts on his shop, or allow a quest with
// a family member from his.
003-1,103,106,0 script Neko NPC_M_SHOPKEEPER,{
.@q=getq(TulimsharQuest_Neko);
mesn;
mesq l("Only finest wares!");
mes "";
select
l("Trade"),
rif(BaseLevel > 20 && .@q == 0, l("Why do you only use the silk robe? Don't you have a shorts or something?")),
rif(.@q == 1 && countitem(JeansShorts) >= 1, l("Hey... I found a Jeans Shorts. Is it yours?")),
l("Leave");
if (@menu == 2) {
mesn;
mesq l("Oh, that's a long story.");
next;
mesn;
mesq l("You see, I was walking in the secret caves near Ched, and... well...");
next;
mesn;
mesq l("The @@ stole my @@. Hahah. I can't find anywhere else to buy it.", getmonsterlink(CaveSnake), getitemlink(JeansShorts));
next;
setq TulimsharQuest_Neko, 1;
mesn;
mesq l("If you bring friends, I'm sure they'll be no match. Ah... How many people already lost their shorts to Cave Snakes?");
next;
if (getq(TulimsharQuest_AnwarField) < 10 && TUTORIAL) {
mesn;
mesq l("Actually, Anwar offered me some ugly, bright orange pants. I thanked him, of course, I prefer this robe than... that.");
next;
mesn;
mesq l("Thinking well, I've heard Cyndala could bleach these pants for free; Must be because their ugliness.");
next;
}
}
if (@menu == 3) {
getexp rand(120,200), 0;
setq TulimsharQuest_Neko, 2;
mesn;
mesq l("Oh... Wow! I'm surprised.");
next;
mesn;
mesq l("Please, keep it. I don't need it at all!");
next;
mesn;
mesq l("This silk robe is more than enough, and you are fighting, you need the def bonus more than me. %%2");
next;
}
closedialog;
if (@menu == 1) {
npcshopattach(.name$);
shop .name$;
}
goodbye;
close;
OnInit:
.@npcId = getnpcid(.name$);
setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
//setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers); // FIXME: LeatherTrousers are BROKEN!
setunitdata(.@npcId, UDT_WEAPON, AssassinBoots);
setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
setunitdata(.@npcId, UDT_HAIRCOLOR, 2);
sleep(SHOPWAIT);
tradertype(NST_MARKET);
sellitem EarthPowder, 12000, 1;
sellitem ShortTankTop, 8000, 1;
sellitem TrainingBow, 990, 2;
sellitem SilkGloves, -1, 1;
sellitem LeatherTrousers, -1, 1;
sellitem CottonCloth, -1, 3;
sellitem RoastedMaggot, -1, 2;
sellitem ArrowAmmoBox,-1,rand(5,10);
sellitem Arrow, -1, rand(10000,30000);
sellitem CroconutBox, rand(2650,2950), 4;
sellitem EmptyBox, -1, 2;
sellitem ChamomileTea, getiteminfo(ChamomileTea, ITEMINFO_BUYPRICE)*15/10, 10;
.sex = G_MALE;
.distance = 5;
end;
OnClock1149:
restoreshopitem SilkGloves, -1, 1;
restoreshopitem LeatherTrousers, -1, 1;
OnClock2359:
restoreshopitem EarthPowder, 12000, 1;
restoreshopitem ShortTankTop, 8000, 1;
restoreshopitem TrainingBow, 990, 2;
restoreshopitem CottonCloth, 3;
restoreshopitem RoastedMaggot, 2;
restoreshopitem ArrowAmmoBox,rand(5,10);
restoreshopitem Arrow, rand(10000,30000);
restoreshopitem CroconutBox, rand(2650,3000), 4;
restoreshopitem EmptyBox, 2;
restoreshopitem ChamomileTea, getiteminfo(ChamomileTea, ITEMINFO_BUYPRICE)*15/10, 10;
end;
// Pay your taxes!
OnBuyItem:
debugmes("Purchase confirmed");
PurchaseTaxes();
end;
OnSellItem:
debugmes("Sale confirmed");
SaleTaxes();
end;
}