diff options
Diffstat (limited to 'npc/items/shovel.txt')
-rw-r--r-- | npc/items/shovel.txt | 29 |
1 files changed, 29 insertions, 0 deletions
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; +} |