summaryrefslogtreecommitdiff
path: root/npc/functions
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-01-26 15:33:44 -0200
committerJesusaves <cpntb1@ymail.com>2019-01-26 15:33:44 -0200
commit7c33d9f46270227afdc29c2203b47495463429f2 (patch)
treea328668b4fc303537eefa085d412226afc4214bf /npc/functions
parent2837174f65d7ab1a749d3ac3ac9d4f8fd88fe4cc (diff)
downloadserverdata-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.txt49
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"));
+ }
+
+}
+