From e6488a8be673bd2f607934ba5c621cc5316eb1af Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 29 Apr 2019 09:27:45 -0300 Subject: Siege milestone with util functions for variable difficulty. It is weird if siege happens at multiple places at once. Experimental and unfinished, siege still happens immediately. --- npc/012-1/guards.txt | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'npc/012-1') diff --git a/npc/012-1/guards.txt b/npc/012-1/guards.txt index bd9937d01..31c781b75 100644 --- a/npc/012-1/guards.txt +++ b/npc/012-1/guards.txt @@ -592,6 +592,16 @@ OnInit: 012-1,0,0,0 script #HurnscaldSiege NPC_HIDDEN,{ end; + +// Respawn monster from $@SIEGE_TMPMOBS memory +OnRespawn: + getmapxy(.@m$,.@x,.@y,3); + siege_spawn(.@m$, any_of($@SIEGE_TMPMOBS), 1, "#HurnscaldSiege::OnRespawn"); + if (rand(10000) <= $coinsrate+($@SIEGE_HURNS*50)) + makeitem StrangeCoin, 1, .@m$, .@x, .@y; + end; + +// Deprecated OnBlackScorpionDeath: siege_spawn("014-3", BlackScorpion, 1, "#HurnscaldSiege::OnBlackScorpionDeath"); getmapxy(.@m$,.@x,.@y,3); @@ -692,12 +702,14 @@ OnTimer15000: end; OnTimer60000: + debugmes "6k"; siege_spawn("012-1", BlackScorpion, 3, "#HurnscaldSiege::OnBlackScorpion2Death"); siege_spawn("012-1", GreenSlime, 10+$@SIEGE_HURNS, "#HurnscaldSiege::OnGreenSlimeDeath"); siege_spawn("012-1", CandiedSlime, 1+$@SIEGE_HURNS, "#HurnscaldSiege::OnCandiedSlimeDeath"); end; OnTimer120000: + debugmes "12k"; if ($@SIEGE_HURNS >= 5) { mapannounce("012-1", "##1The Monster Colonel arrived!", bc_map); areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_Y)-20, ("Monster Colonel"), 1036, 1, "#HurnscaldSiege::OnColonelDeath"); @@ -713,10 +725,12 @@ OnTimer120000: end; OnTimer180000: - areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_Y)-20, strmobinfo(1, SlimeBlast), 1090, 25); - areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_Y)-20, ("Black Scorpion"), BlackScorpion, 1, "#HurnscaldSiege::OnBlackScorpion2Death"); - areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_Y)-20, strmobinfo(1, CandiedSlime), 1089, 10, "#HurnscaldSiege::OnCandiedSlimeDeath"); - areamonster("012-1", 20, 20, getmapinfo(MAPINFO_SIZE_X)-20, getmapinfo(MAPINFO_SIZE_Y)-20, strmobinfo(1, ManaGhost), 1068, 2, "#HurnscaldSiege::OnManaGhostDeath"); + debugmes "18k"; + siege_selectmob(siege_calcdiff("012-1"), $@SIEGE_HURNS); + siege_spawn("012-1", any_of($@SIEGE_TMPMOBS), 1+$@SIEGE_HURNS, "#HurnscaldSiege::OnRespawn"); + siege_spawn("012-1", any_of($@SIEGE_TMPMOBS), 2+$@SIEGE_HURNS, "#HurnscaldSiege::OnRespawn"); + siege_spawn("012-1", any_of($@SIEGE_TMPMOBS), 2+$@SIEGE_HURNS, "#HurnscaldSiege::OnRespawn"); + siege_spawn("012-1", any_of($@SIEGE_TMPMOBS), 2+$@SIEGE_HURNS, "#HurnscaldSiege::OnRespawn"); end; OnTimer240000: -- cgit v1.2.3-60-g2f50