From ac7691eac4d38eb3c749f02f024e943d949de743 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 12 Aug 2019 14:47:16 -0300 Subject: Put Contrabandist back to work --- npc/015-2/contrabandist.txt | 147 ++++++++++++++++++++++---------------------- 1 file changed, 73 insertions(+), 74 deletions(-) (limited to 'npc/015-2/contrabandist.txt') diff --git a/npc/015-2/contrabandist.txt b/npc/015-2/contrabandist.txt index be56e51f1..d855023eb 100644 --- a/npc/015-2/contrabandist.txt +++ b/npc/015-2/contrabandist.txt @@ -6,92 +6,94 @@ 015-2,166,250,0 script #Contraband NPC_NO_SPRITE,{ -// Store not available -if (!.active) - end; - -openshop; -close; - - /* - function Contraband_Unload { - if ($ARKIM_ST > 7500) - stopselling(DarkDesertMushroom); - - if (getarg(0,0) & 1) - stopselling(IronOre); - if (getarg(0,0) & 2) - stopselling(TitaniumOre); - if (getarg(0,0) & 4) - stopselling(LeatherPatch); - if (getarg(0,0) & 8) - stopselling(GoldenPearlRing); - if (getarg(0,0) & 16) - stopselling(ThornArrow); - if (getarg(0,0) & 32) - stopselling(StrangeCoin); - if (getarg(0,0) & 64) - stopselling(CasinoCoins); - if (getarg(0,0) & 128) - stopselling(RawLog); - return; - } - function Contraband_Load { - .DDMPrice=max(30000,50000-($ARKIM_ST/2)+(7500/2)); - if ($ARKIM_ST > 7500) - sellitem DarkDesertMushroom, .DDMPrice, 1; - - if (getarg(0,0) & 1) - sellitem IronOre, 2900, 1; - if (getarg(0,0) & 2) - sellitem TitaniumOre, 4900, 1; - if (getarg(0,0) & 4) - sellitem LeatherPatch, 3200, 1; - if (getarg(0,0) & 8) - sellitem GoldenPearlRing, 1000000, 1; - if (getarg(0,0) & 16) - sellitem ThornArrow, -1, 3; - if (getarg(0,0) & 32) - sellitem StrangeCoin, rand(400,5000), 1; - if (getarg(0,0) & 64) - sellitem CasinoCoins, rand(100,3000), 1; - if (getarg(0,0) & 128) - sellitem RawLog, 1950, 1; - return; + // 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 ""; + switch (@menuret) { + case 1: + .@price=600; + .@prize=TreasureMap; + break; + case 1: + .@price=1000; + .@prize=Lockpicks; + break; + case 1: + .@price=2200; + .@prize=ReturnPotion; + break; + case 1: + .@price=1000000; + .@prize=GoldenPearlRing; + break; + case 1: + .@price=4000; + .@prize=MysteriousBottle; + break; + case 1: + .@price=18000; + .@prize=AncientBlueprint; + break; + case 1: + .@price=21000; + .@prize=ArcmageBoxset; + break; + case 1: + .@price=.DDMPrice; + .@prize=DarkDesertMushroom; + break; + default: + .@price=999999999; + .@prize=Acorn; + break; } - -OnInit: - .active=0; - .sex = G_OTHER; - .distance = 12; - .CurrentValue=255; - - if (debug) { - setnpcdisplay .name$, NPC_KOGA; - .active=1; + 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; - tradertype(NST_MARKET); - sellitem Arrow, -1, 1; - end; - +// Load OnMinute21: OnMinute46: setnpcdisplay .name$, NPC_KOGA; .active=1; - .CurrentValue=rand(1,255); - Contraband_Load(.CurrentValue); + .CurrentValue=rand2(1,255); + .DDMPrice=max(30000,50000-($ARKIM_ST/2)+(7500/2)); end; +// Unload OnMinute23: OnMinute48: setnpcdisplay .name$, NPC_NO_SPRITE; .active=0; - - Contraband_Unload(.CurrentValue); end; -*/ + OnInit: .active=0; .sex = G_OTHER; @@ -101,9 +103,6 @@ OnInit: setnpcdisplay .name$, NPC_KOGA; .active=1; } - - tradertype(NST_MARKET); - sellitem Arrow, -1, 1; end; } -- cgit v1.2.3-60-g2f50