From 7c33d9f46270227afdc29c2203b47495463429f2 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 26 Jan 2019 15:33:44 -0200 Subject: Ok, random treasure chests works, scatter them on the major dungeons. --- npc/functions/treasure.txt | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 npc/functions/treasure.txt (limited to 'npc/functions/treasure.txt') diff --git a/npc/functions/treasure.txt b/npc/functions/treasure.txt new file mode 100644 index 000000000..952f2973c --- /dev/null +++ b/npc/functions/treasure.txt @@ -0,0 +1,49 @@ +// TMW2 functions. +// Author: +// Jesusalva +// Description: +// Random Treasure Box Utils + +function script TreasureBox { + mesc l("Open the chest?"); + mesc l("Cost: 1 @@", getitemlink(TreasureKey)), 1; + if (!countitem(TreasureKey)) + close; + next; + if (askyesno() == ASK_NO) + close; + + delitem TreasureKey, 1; + mesc l("You open the chest!"); + + .@empty=getvariableofnpc(.empty, strnpcinfo(0)); + if (!.@empty) { + TREASURE_OPEN=TREASURE_OPEN+1; + .@t=TREASURE_OPEN; + .@r=rand(0,10000); + + // Select treasure list + // You're warranted an ultra rare (0.1%) every 99 open chests + // You're warranted a super rare (1%) every 50 open chests + // There's also rares (10%), uncommons (40%) and commons (60%) + if (.@t % 99 == 0 || .@r < 10) + .@loot=any(AtroposMixture, GoldenApple, DivineApple, MercBoxA, SilverGift, Shemagh, EverburnPowder, IridiumOre, PlatinumOre); + else if (.@t % 50 == 0 || .@r < 100) + .@loot=any(Grenade, SnakeEgg, LachesisBrew, ArrowAmmoBox, CoinBag, BronzeGift, TerraniteOre, LeadOre, TinOre, SilverOre, GoldOre, TitaniumOre, FluoPowder); + else if (.@r < 1000) + .@loot=any(MoubooSteak, ClothoLiquor, Coal, SmallMushroom, HastePotion, StrengthPotion, Dagger, StrangeCoin, IronOre, CopperOre); + else if (.@r < 4000) + .@loot=any(Croconut, Potatoz, MoubooSteak, ClothoLiquor, Coal, SmallMushroom, HastePotion, StrengthPotion, StrangeCoin); + else + .@loot=any(FatesPotion, ChocolateBar, Plushroom, Chagashroom, RawLog, LeatherPatch, BugLeg, ScorpionStinger, SmallKnife); + + + inventoryplace .@loot, 1; + mesc l("You find @@ inside!", getitemlink(.@loot)); + getitem .@loot, 1; + } else { + mesc l("You find @@ inside!", l("nothing")); + } + +} + -- cgit v1.2.3-60-g2f50