// TMW-2 Script
// Author:
// Jesusalva
// Description:
// Contraband of foreing goods.
015-2,166,250,0 script #Contraband NPC_NO_SPRITE,{
// Store not available
if (!.active)
end;
mesn;
mesc l("I have a few items for sale...");
next;
menuint
rif(.CurrentValue & 1, l("Treasure Map")), 1,
rif(.CurrentValue & 2, l("Lock Picks")), 2,
rif(.CurrentValue & 4, l("Return Potion")), 4,
rif(.CurrentValue & 8, l("Golden Pearl Ring")), 8,
rif(.CurrentValue & 16, l("Mysterious Bottle")), 16,
rif(.CurrentValue & 32, l("Ancient Blueprint")), 32,
rif(.CurrentValue & 64, l("Arcmage Boxset")), 64,
rif($ARKIM_ST > 7500 && .CurrentValue & 128, l("Dark Desert Mushroom")), 128,
l("Nothing"), 0;
mes "";
// Fallback
if (!@menuret)
close;
switch (@menuret) {
case 1:
.@price=600;
.@prize=TreasureMap;
break;
case 2:
.@price=1000;
.@prize=Lockpicks;
break;
case 4:
.@price=2200;
.@prize=ReturnPotion;
break;
case 8:
.@price=500000;
.@prize=GoldenPearlRing;
break;
case 16:
.@price=4000;
.@prize=MysteriousBottle;
break;
case 32:
.@price=15000;
.@prize=AncientBlueprint;
break;
case 64:
.@price=21000;
.@prize=ArcmageBoxset;
break;
case 128:
.@price=.DDMPrice;
.@prize=DarkDesertMushroom;
break;
default:
.@price=999999999;
.@prize=Acorn;
break;
}
mesc l("Only @@ GP.", .@price);
if (Zeny < .@price)
close;
if (askyesno() == ASK_YES) {
if (!(.CurrentValue & @menuret)) {
mesc l("Out of Stock."), 1;
close;
}
.CurrentValue=.CurrentValue^@menuret;
Zeny-=.@price;
getitem .@prize, 1;
mesc l("Item sold!"), 2;
}
close;
// Load
OnMinute21:
OnMinute46:
setnpcdisplay .name$, NPC_KOGA;
.active=1;
.CurrentValue=rand2(1,255);
.DDMPrice=max(30000,50000-($ARKIM_ST/2)+(7500/2));
end;
// Unload
OnMinute23:
OnMinute48:
setnpcdisplay .name$, NPC_NO_SPRITE;
.active=0;
end;
OnInit:
.active=0;
.sex = G_OTHER;
.distance = 12;
if (debug) {
setnpcdisplay .name$, NPC_KOGA;
.active=1;
}
end;
}