diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-01-26 15:33:44 -0200 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-01-26 15:33:44 -0200 |
commit | 7c33d9f46270227afdc29c2203b47495463429f2 (patch) | |
tree | a328668b4fc303537eefa085d412226afc4214bf /npc/functions | |
parent | 2837174f65d7ab1a749d3ac3ac9d4f8fd88fe4cc (diff) | |
download | serverdata-7c33d9f46270227afdc29c2203b47495463429f2.tar.gz serverdata-7c33d9f46270227afdc29c2203b47495463429f2.tar.bz2 serverdata-7c33d9f46270227afdc29c2203b47495463429f2.tar.xz serverdata-7c33d9f46270227afdc29c2203b47495463429f2.zip |
Ok, random treasure chests works, scatter them on the major dungeons.
Diffstat (limited to 'npc/functions')
-rw-r--r-- | npc/functions/treasure.txt | 49 |
1 files changed, 49 insertions, 0 deletions
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")); + } + +} + |