summaryrefslogtreecommitdiff
path: root/npc/functions/treasure.txt
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-06-16 23:18:20 -0300
committerJesusaves <cpntb1@ymail.com>2019-06-16 23:18:20 -0300
commitcd928385d26a8e3b99543711ec601738c6e50bac (patch)
treef78189fdb23f6cd3c41b8b31b1b12fe255160e38 /npc/functions/treasure.txt
parentea406ac0a4dbe92e02fd75ff24c242e656f35ba8 (diff)
downloadserverdata-cd928385d26a8e3b99543711ec601738c6e50bac.tar.gz
serverdata-cd928385d26a8e3b99543711ec601738c6e50bac.tar.bz2
serverdata-cd928385d26a8e3b99543711ec601738c6e50bac.tar.xz
serverdata-cd928385d26a8e3b99543711ec601738c6e50bac.zip
Fix bugs on treasure chests, like animation not playing, missing return(), and
also bad ident
Diffstat (limited to 'npc/functions/treasure.txt')
-rw-r--r--npc/functions/treasure.txt96
1 files changed, 48 insertions, 48 deletions
diff --git a/npc/functions/treasure.txt b/npc/functions/treasure.txt
index 297bf5491..cd7324af8 100644
--- a/npc/functions/treasure.txt
+++ b/npc/functions/treasure.txt
@@ -5,53 +5,53 @@
// Random Treasure Box Utils
function script TreasureBox {
- .@id=getnpcid();
- if (RNGTREASURE_DATE[.@id] > gettimetick(2)) {
- mesc l("The chest is unlocked and empty.");
- close;
- }
-
- 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!");
- RNGTREASURE_DATE[.@id]=gettimetick(2)+60*4; // Minimum 4 hours
-
- .@empty=getvariableofnpc(.empty, strnpcinfo(0));
- if (!.@empty) {
- TREASURE_OPEN=TREASURE_OPEN+1;
- .@t=TREASURE_OPEN;
- .@r=rand(0,10000)-(readparam(bLuk)*2);
-
- // Select treasure list
- // You're warranted an ultra rare (0.1%) every 149 open chests
- // You're warranted a super rare (1%) every 50 open chests
- // There's also rares (9%), uncommons (30%) and commons (60%)
- .@ur_rate=min(10, (TREASURE_OPEN/10));
- if (.@t % 149 == 0 || .@r < .@ur_rate)
- .@loot=any(AtroposMixture, GoldenApple, DivineApple, MercBoxA, MoveSpeedPotion, Shemagh, EverburnPowder, IridiumOre, PlatinumOre);
- else if (.@t % 50 == 0 || .@r < 100)
- .@loot=any(Grenade, SnakeEgg, LachesisBrew, ArrowAmmoBox, CoinBag, SilverGift, TerraniteOre, LeadOre, TinOre, SilverOre, GoldOre, TitaniumOre, FluoPowder, AlchemyBlueprintB);
- else if (.@r < 1000 || .@t == 0)
- .@loot=any(MoubooSteak, ClothoLiquor, Coal, RedPlushWine, HastePotion, StrengthPotion, Dagger, BronzeGift, IronOre, CopperOre, AlchemyBlueprintA);
- else if (.@r < 4000)
- .@loot=any(Croconut, Potatoz, MoubooSteak, ClothoLiquor, Coal, SmallMushroom, HastePotion, StrengthPotion, Beer);
- else
- .@loot=any(FatesPotion, ChocolateBar, Plushroom, Chagashroom, RawLog, LeatherPatch, BugLeg, ScorpionStinger, SmallKnife, StrangeCoin);
-
-
- inventoryplace .@loot, 1;
- mesc l("You find @@ inside!", getitemlink(.@loot));
- getitem .@loot, 1;
- } else {
- mesc l("You find @@ inside!", l("nothing"));
- }
-
+ .@id=getnpcid();
+ if (RNGTREASURE_DATE[.@id] > gettimetick(2)) {
+ mesc l("The chest is unlocked and empty.");
+ close;
+ }
+
+ 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!");
+ RNGTREASURE_DATE[.@id]=gettimetick(2)+60*4; // Minimum 4 hours
+
+ .@empty=getvariableofnpc(.empty, strnpcinfo(0));
+ if (!.@empty) {
+ TREASURE_OPEN=TREASURE_OPEN+1;
+ .@t=TREASURE_OPEN;
+ .@r=rand(0,10000)-(readparam(bLuk)*2);
+
+ // Select treasure list
+ // You're warranted an ultra rare (0.1%) every 149 open chests
+ // You're warranted a super rare (1%) every 50 open chests
+ // There's also rares (9%), uncommons (30%) and commons (60%)
+ .@ur_rate=min(10, (TREASURE_OPEN/10));
+ if (.@t % 149 == 0 || .@r < .@ur_rate)
+ .@loot=any(AtroposMixture, GoldenApple, DivineApple, MercBoxA, MoveSpeedPotion, Shemagh, EverburnPowder, IridiumOre, PlatinumOre);
+ else if (.@t % 50 == 0 || .@r < 100)
+ .@loot=any(Grenade, SnakeEgg, LachesisBrew, ArrowAmmoBox, CoinBag, SilverGift, TerraniteOre, LeadOre, TinOre, SilverOre, GoldOre, TitaniumOre, FluoPowder, AlchemyBlueprintB);
+ else if (.@r < 1000 || .@t == 0)
+ .@loot=any(MoubooSteak, ClothoLiquor, Coal, RedPlushWine, HastePotion, StrengthPotion, Dagger, BronzeGift, IronOre, CopperOre, AlchemyBlueprintA);
+ else if (.@r < 4000)
+ .@loot=any(Croconut, Potatoz, MoubooSteak, ClothoLiquor, Coal, SmallMushroom, HastePotion, StrengthPotion, Beer);
+ else
+ .@loot=any(FatesPotion, ChocolateBar, Plushroom, Chagashroom, RawLog, LeatherPatch, BugLeg, ScorpionStinger, SmallKnife, StrangeCoin);
+
+
+ inventoryplace .@loot, 1;
+ mesc l("You find @@ inside!", getitemlink(.@loot));
+ getitem .@loot, 1;
+ } else {
+ mesc l("You find @@ inside!", l("nothing"));
+ }
+ return;
}