From 015f6ff2e1945010658fe1c338315b7a72e8d867 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 9 Jun 2019 18:23:20 -0300 Subject: Fix bugs, Treasure Map should also work now but untested and risky. --- npc/items/shovel.txt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'npc/items/shovel.txt') diff --git a/npc/items/shovel.txt b/npc/items/shovel.txt index b0b3553c6..7814acd5a 100644 --- a/npc/items/shovel.txt +++ b/npc/items/shovel.txt @@ -331,6 +331,18 @@ OnHour00: } +function script shovel_randomtreasure { + .@id=any(TreasureKey,CoinBag,TreasureKey,SulfurPowder,Coal, + IronOre,CopperOre,LeadOre,TinOre,SilverOre,GoldOre,PlatinumOre,IridiumOre,TitaniumOre, + Diamond,Ruby,Emerald,Sapphire,Topaz,Amethyst); + .@amount=any(1,1,2); + getitem .@id, .@amount; + narrator S_FIRST_BLANK_LINE, + l("You found something!"), + l("It's @@ @@.", .@amount, getitemname(.@id)); + return; +} + function script shovel_addquest { if (getargcount() < 4) { @@ -369,4 +381,21 @@ function script shovel_adddigrect { return 1; } +function script shovel_genrandtreasure { + .@m$=any_of("007-1", "011-1", "015-1", "018-1"); + // Dangerous + do { + .@x=rand2(20, getmapinfo(MAPINFO_SIZE_X, .@m$)-20); + .@y=rand2(20, getmapinfo(MAPINFO_SIZE_Y, .@m$)-20); + } while (!checkcell(.@m$, .@x, .@y, cell_chkpass)); + + // Success + if (checkcell(.@m$, .@x, .@y, cell_chkpass)) { + shovel_addquest(.@m$, .@x, .@y, "shovel_randomtreasure"); + ShovelQuests_AssignedMAP$=.@m$; + ShovelQuests_AssignedX=.@x; + ShovelQuests_AssignedY=.@y; + } + return; +} -- cgit v1.2.3-60-g2f50