From eeb0a7b40ef86fe3cdc0238cf27c4a31ac92d599 Mon Sep 17 00:00:00 2001 From: Charles Miller Date: Wed, 24 Aug 2011 18:22:32 -0400 Subject: Update for the spark boss fight on map 005-4 Better warning messages, less spam, ability to change everyone's color by pressing the switch during the fight. and more! --- world/map/npc/005-4/bossfight.txt | 46 +++++++++++++++------------------------ 1 file changed, 18 insertions(+), 28 deletions(-) (limited to 'world') diff --git a/world/map/npc/005-4/bossfight.txt b/world/map/npc/005-4/bossfight.txt index a2b5b374..2f0d97d5 100644 --- a/world/map/npc/005-4/bossfight.txt +++ b/world/map/npc/005-4/bossfight.txt @@ -30,7 +30,10 @@ L_Start_Level_1: goto L_Exit; // This one is triggered on talking to the switch. L_Enjoy: - mes "*It seems the switch is stuck in the on position*"; + mes "*As you get ready to touch the switch, a spark flys from you to it and causes the switch to flip off then back on quickly*"; + // Random colors for everyone! + areatimer "005-4.gat", 19, 19, 54, 37, 10, "Switch#elecave::onChaos"; + L_Exit: close; end; @@ -52,16 +55,22 @@ OnTimer3000: set $@ELE_CAVE_DIFF, 0; if ($@ELE_CAVE_RED_COUNT > $@ELE_CAVE_BLUE_COUNT) goto L_More_Red; if ($@ELE_CAVE_RED_COUNT < $@ELE_CAVE_BLUE_COUNT) goto L_More_Blue; + + if ($@ELE_CAVE_LAST_MESSAGE != 0) mapannounce "005-4.gat", "The ions are once again balanced. Try to kill a red and blue at the same time.", 0; + set $@ELE_CAVE_LAST_MESSAGE, 0; + goto L_Next_Step; L_More_Red: set $@ELE_CAVE_DIFF, $@ELE_CAVE_RED_COUNT - $@ELE_CAVE_BLUE_COUNT; - mapannounce "005-4.gat", "Their are too many red ions in the air!", 0; + if ($@ELE_CAVE_LAST_MESSAGE != 1) mapannounce "005-4.gat", "There are too many red ions in the air! Kill more red sparks!", 0; + set $@ELE_CAVE_LAST_MESSAGE, 1; goto L_Next_Step; L_More_Blue: set $@ELE_CAVE_DIFF, $@ELE_CAVE_BLUE_COUNT - $@ELE_CAVE_RED_COUNT; - mapannounce "005-4.gat", "Their are too many blue ions in the air!", 0; + if ($@ELE_CAVE_LAST_MESSAGE != 2) mapannounce "005-4.gat", "There are too many blue ions in the air! Kill more blue sparks!", 0; + set $@ELE_CAVE_LAST_MESSAGE, 2; goto L_Next_Step; L_Next_Step: @@ -109,7 +118,7 @@ L_Start_Level_3: onChaos: if (isdead(0)) end; L_Set_Color: - message strcharinfo(0), "You feel funny."; + message strcharinfo(0), "You feel funny. You think your color has changed."; set @ELE_CAVE_COLOR, rand(1, 2); end; @@ -134,12 +143,9 @@ onTick: L_Do_Red: specialeffect2 114; // Red effects - // Punish blue players who stand around a red player - areatimer "005-4.gat", getx(0) - 2, gety(0) - 2, getx(0) + 2, gety(0) + 2, 10, "Switch#elecave::onBlue"; - if (isin("005-4.gat", 42, 19, 54, 32)) goto L_Heal; if (isin("005-4.gat", 32, 19, 54, 37)) end; - message strcharinfo(0), "Sparks are flying between you and a piller."; + message strcharinfo(0), "Sparks are flying between you and a piller. Maybe you should stand near a piller with the same color as you."; heal MaxHp / -6, 0; end; @@ -147,12 +153,9 @@ L_Do_Red: L_Do_Blue: specialeffect2 115; // Blue effects - // Punish red players who stand around a blue player - areatimer "005-4.gat", getx(0) - 2, gety(0) - 2, getx(0) + 2, gety(0) + 2, 10, "Switch#elecave::onRed"; - if (isin("005-4.gat", 19, 19, 31, 32)) goto L_Heal; if (isin("005-4.gat", 19, 19, 41, 37)) end; - message strcharinfo(0), "Sparks are flying between you and a piller."; + message strcharinfo(0), "Sparks are flying between you and a piller. Maybe you should stand near a piller with the same color as you"; heal MaxHp / -6, 0; end; @@ -161,32 +164,18 @@ L_Heal: heal MaxHp / 20, 0; end; -// Punishment triggers -onRed: - if (@ELE_CAVE_COLOR == 2) end; - message strcharinfo(0), "Sparks are flying between you and the person you are next to!"; - heal MaxHp / -5, 0; - end; - -onBlue: - if (@ELE_CAVE_COLOR == 1) end; - message strcharinfo(0), "Sparks are flying between you and the person you are next to!"; - heal MaxHp / -5, 0; - end; - - // Death triggers onBlueDeath: // Blue players have to kill blue sparks if (@ELE_CAVE_COLOR == 2) end; - message strcharinfo(0), "The dieing spark reacts explosively with you."; + message strcharinfo(0), "The dieing spark reacts explosively with you. You should only kill sparks with the same color as you."; heal MaxHp / -2, 0; end; onRedDeath: // Red players have to kill red sparks if (@ELE_CAVE_COLOR == 1) end; - message strcharinfo(0), "The dieing spark reacts explosively with you."; + message strcharinfo(0), "The dieing spark reacts explosively with you. You should only kill sparks with teh same color as you."; heal MaxHp / -2, 0; end; @@ -194,6 +183,7 @@ onInit: initnpctimer; stopnpctimer; L_CleanUp: + set $@ELE_CAVE_LAST_MESSAGE, 0; set $@ELE_CAVE_STATUS, 0; set $@ELE_CAVE_PLAYER_COUNT, 0; set $@ELE_CAVE_LEVEL, 0; -- cgit v1.2.3-60-g2f50