summaryrefslogtreecommitdiff
path: root/npc/items/shovel.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/items/shovel.txt')
-rw-r--r--npc/items/shovel.txt29
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;
+}