diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/002-1/dan.txt | 2 | ||||
-rw-r--r-- | npc/items/shovel.txt | 29 |
2 files changed, 30 insertions, 1 deletions
diff --git a/npc/002-1/dan.txt b/npc/002-1/dan.txt index 04a04a814..192602c39 100644 --- a/npc/002-1/dan.txt +++ b/npc/002-1/dan.txt @@ -91,7 +91,7 @@ OnInit: // TODO this code below is bad and should be entirely rewritten 002-1,0,0,0 script PiouSpwn NPC_HIDDEN,{ function DanCheck { - if (player_attached()) { + if (playerattached()) { // Quest not in progress - nothing to do if (getq(ShipQuests_Dan) != 1) return; 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; +} |