diff options
-rw-r--r-- | db/constants.conf | 1 | ||||
-rw-r--r-- | npc/commands/event.txt | 16 | ||||
-rw-r--r-- | npc/functions/gmbot.txt | 23 |
3 files changed, 28 insertions, 12 deletions
diff --git a/db/constants.conf b/db/constants.conf index 523c96167..d7bd41bf0 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -4280,6 +4280,7 @@ constants_db: { MK_NONE: 0 MK_LOCKED: 1 MK_SIEGE_TULIM: 2 + MK_SIEGE_HURNS: 3 comment__: "Being actions" ACTION_STAND: 0 diff --git a/npc/commands/event.txt b/npc/commands/event.txt index 1e11e51f4..fab032dde 100644 --- a/npc/commands/event.txt +++ b/npc/commands/event.txt @@ -247,7 +247,7 @@ OnCall: end; } - if (!$@GM_EVENT) + if (!$@GM_EVENT && !$@MK_SCENE) dispbottom l("The mana bridge is closed at the moment."); else if (BaseLevel < 10) dispbottom l("You are not strong enough to survive this trip."); @@ -261,10 +261,22 @@ OnCall: dispbottom l("The Mana Plane is currently out of reach."); else { // Monster King events take precedence over Aeros Event - if ($@MK_SCENE == MK_SIEGE_TULIM) { + switch ($@MK_SCENE) { + case MK_SIEGE_TULIM: warp "003-1", 40, 49; specialeffect(63, AREA, getcharid(3)); end; + case MK_SIEGE_HURNS: + warp "012-1", 87, 70; + specialeffect(63, AREA, getcharid(3)); + end; + } + + if (!$@GM_EVENT) + { + //dispbottom ("SCRIPT ERROR - blame Saulc - gmevent not set, mkscene set"); + dispbottom l("The mana bridge is closed at the moment."); + end; } .@gt=$@AEROS_SPWN; diff --git a/npc/functions/gmbot.txt b/npc/functions/gmbot.txt index 235366dd3..072f64fe4 100644 --- a/npc/functions/gmbot.txt +++ b/npc/functions/gmbot.txt @@ -97,18 +97,21 @@ OnTimer62000: end; } - // Tulimshar Siege event - if (.mp$ ~= "003-*" && $@MK_AGGRO >= 30 && rand(0,100) < 70) { - announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc; - $@MK_SCENE=MK_SIEGE_TULIM; - if ($@MK_AGGRO >= 90) - donpcevent("Lieutenant Dausen::OnMKSiege"); - else if ($@MK_AGGRO >= 90) - donpcevent("Lieutenant Dausen::OnMKSiege"); - else + // Siege events + if ($@MK_AGGRO >= 30 && rand(0,100) < 70) { + // Tulimshar + if (.mp$ ~= "003-*") { + announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc; + $@MK_SCENE=MK_SIEGE_TULIM; donpcevent("Lieutenant Dausen::OnMKSiege"); + } + // Hurnscald (will never happen, MK doesn't visits 012-1) + if (.mp$ ~= "012-*") { + announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc; + $@MK_SCENE=MK_SIEGE_HURNS; + donpcevent("#HurnscaldSiege::OnMKSiege"); + } } - // Decide if we should have an event here if (.nearby > 1 && $@MK_AGGRO >= rand(0,100)){ // We should decide event kind, but that's NYI |