From 4c0a6b1dd5825ab81b0fe697fb16cecc99c3172e Mon Sep 17 00:00:00 2001 From: Bernhardt Date: Sun, 20 Apr 2014 20:11:21 +0200 Subject: Fix Terogan Lockup if one Team Dead --- world/map/npc/027-8/general_terogan.txt | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/world/map/npc/027-8/general_terogan.txt b/world/map/npc/027-8/general_terogan.txt index 3edc2db6..f1a60a10 100644 --- a/world/map/npc/027-8/general_terogan.txt +++ b/world/map/npc/027-8/general_terogan.txt @@ -148,8 +148,9 @@ L_CryptLogic: set $@CRYPT_FIGHT3_ROUND_PEN, $@CRYPT_FIGHT3_PLAYER_COUNT; if ($@CRYPT_FIGHT3_ROUND_PEN > 60) set $@CRYPT_FIGHT3_ROUND_PEN, 60; - if ($@CRYPT_FIGHT3_PLAYER_COUNT <= 0) - goto L_CleanUpLosers; + if ($@CRYPT_FIGHT3_PLAYER_COUNT <= 0) goto L_CleanUpLosers; + if getareausers("027-8.gat", 20, 39, 35, 60, 1) < 1 goto L_Failure; + if getareausers("027-8.gat", 43, 39, 58, 60, 1) < 1 goto L_Failure; set $@CRYPT_FIGHT3_SUMMONS_ROUND_TIMER, $@CRYPT_FIGHT3_SUMMONS_ROUND_TIMER + 5; // Advance 5 seconds if (mobcount("027-8.gat", "General Terogan#Main::OnPetDeath") < 0) goto L_NextWave; @@ -223,9 +224,18 @@ OnTick: OnPetDeath: set $@CRYPT_FIGHT3_SUMMONS_COUNT, $@CRYPT_FIGHT3_SUMMONS_COUNT - 1; + mapannounce "027-8.gat", $@CRYPT_FIGHT3_SUMMONS_COUNT + "left alive", 0; end; +L_Failure: + if $@CRYPT_FAIL_ANNOUNCED goto L_NextWave; + set $@CRYPT_FAIL_ANNOUNCED, 1; + mapannounce "027-8.gat", "Looks like your neighbour team to is finished off, this is your death sentence!", 0; + set $@CRYPT_FIGHT3_WAVE, 23; + goto L_NextWave; + L_CleanUpLosers: + mapannounce "027-8.gat", "General Terogan : You just proved you cannot even coordinate a simple task. Come back when you are prepared", 0; set $@CRYPT_FIGHT3, 0; set $@CRYPT_FIGHT3_PLAYER_COUNT, 0; set $@CRYPT_FIGHT3_WAVE, 0; @@ -233,6 +243,7 @@ L_CleanUpLosers: set $@CRYPT_FIGHT3_SUMMONS_COUNT, 0; set $@CRYPT_FIGHT3_ROUND_PEN, 0; set $@CRYPT_FIGHT3_SUMMONS_NUMBER, 0; + set $@CRYPT_FAIL_ANNOUNCED, 0; killmonster "027-8.gat", "General Terogan#Main::OnPetDeath"; stopnpctimer; setnpctimer 0; @@ -247,13 +258,14 @@ L_CleanUp: set $@CRYPT_FIGHT3_SUMMONS_COUNT, 0; set $@CRYPT_FIGHT3_ROUND_PEN, 0; set $@CRYPT_FIGHT3_SUMMONS_NUMBER, 0; + set $@CRYPT_FAIL_ANNOUNCED, 0; killmonster "027-8.gat", "General Terogan#Main::OnPetDeath"; stopnpctimer; setnpctimer 0; end; OnReward: - if (isdead()) + if (isdead()) end; set @bonus, (BaseLevel/2); set DailyQuestBonus, DailyQuestBonus + @bonus; @@ -290,15 +302,23 @@ OnInit: 027-8.gat,27,41,0|script|General Terogan#Exit1|400, { + if ($@CRYPT_FIGHT3 != 0) + message strcharinfo(0), "You are way too busy to check this book right now"; if ($@CRYPT_FIGHT3 != 0) end; + mes "[General Terogan]"; + mes "\"Let's get you out of here " + strcharinfo(0) + "\""; warp "027-8", 38, 29; end; } 027-8.gat,51,41,0|script|General Terogan#Exit2|400, { + if ($@CRYPT_FIGHT3 != 0) + message strcharinfo(0), "You are way too busy to check this book right now"; if ($@CRYPT_FIGHT3 != 0) end; + mes "[General Terogan]"; + mes "\"Let's get you out of here " + strcharinfo(0) + "\""; warp "027-8", 38, 29; end; } -- cgit v1.2.3-60-g2f50 From 95b7f5cafb91d0aea5e2cbd20dbba6a41a1b5411 Mon Sep 17 00:00:00 2001 From: Bernhardt Date: Sun, 20 Apr 2014 22:56:05 +0200 Subject: Fix Battle Lockup due to Miscounted Mobs Fix Undead Ingredients --- world/map/npc/027-8/general_terogan.txt | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/world/map/npc/027-8/general_terogan.txt b/world/map/npc/027-8/general_terogan.txt index f1a60a10..5d420599 100644 --- a/world/map/npc/027-8/general_terogan.txt +++ b/world/map/npc/027-8/general_terogan.txt @@ -8,7 +8,7 @@ end; set @TEROGAN_SOUL_REQ, 5; - set @TEROGAN_DISEASED_HEART_REQ, 5; + set @TEROGAN_ROTTEN_RAGS_REQ, 5; set @TEROGAN_UNDEAD_EYE_REQ, 5; set @TEROGAN_UNDEAD_EAR_REQ, 5; set @minlevel, 80; @@ -28,7 +28,7 @@ L_TomeMain: "Nothing.", L_Close; L_SummonReagents: - mes "Says we need " + @TEROGAN_SOUL_REQ + " Souls, " + @TEROGAN_DISEASED_HEART_REQ + " Diseased Hearts, " + @TEROGAN_UNDEAD_EYE_REQ + " Undead Eyes, and " + @TEROGAN_UNDEAD_EAR_REQ + " Undead Ears to perform the ritual. You will also need help, as the summon states both rooms need at least 1 occupant during the ritual."; + mes "Says we need " + @TEROGAN_SOUL_REQ + " Souls, " + @TEROGAN_ROTTEN_RAGS_REQ + " Rotten Rags, " + @TEROGAN_UNDEAD_EYE_REQ + " Undead Eyes, and " + @TEROGAN_UNDEAD_EAR_REQ + " Undead Ears to perform the ritual. You will also need help, as the summon states both rooms need at least 1 occupant during the ritual."; next; goto L_TomeMain; @@ -55,14 +55,14 @@ L_RitualLeft: if (BaseLevel < @minlevel) goto L_ToWeak; if ( (countitem("Soul") < @TEROGAN_SOUL_REQ) - || (countitem("DiseasedHeart") < @TEROGAN_DISEASED_HEART_REQ) + || (countitem("RottenRags") < @TEROGAN_ROTTEN_RAGS_REQ) || (countitem("UndeadEye") < @TEROGAN_UNDEAD_EYE_REQ) || (countitem("UndeadEar") < @TEROGAN_UNDEAD_EAR_REQ) ) goto L_MissingReagents; if (getareausers("027-8", 43, 39, 58, 60) == 0) goto L_NeedOther; delitem "Soul", @TEROGAN_SOUL_REQ; - delitem "DiseasedHeart", @TEROGAN_DISEASED_HEART_REQ; + delitem "RottenRags", @TEROGAN_ROTTEN_RAGS_REQ; delitem "UndeadEye", @TEROGAN_UNDEAD_EYE_REQ; delitem "UndeadEar", @TEROGAN_UNDEAD_EAR_REQ; mes "As you perform the ritual you can feel the energy amass."; @@ -87,14 +87,14 @@ L_RitualRight: if (BaseLevel < @minlevel) goto L_ToWeak; if ( (countitem("Soul") < @TEROGAN_SOUL_REQ) - || (countitem("RottenRags") < @TEROGAN_DISEASED_HEART_REQ) + || (countitem("RottenRags") < @TEROGAN_ROTTEN_RAGS_REQ) || (countitem("UndeadEye") < @TEROGAN_UNDEAD_EYE_REQ) || (countitem("UndeadEar") < @TEROGAN_UNDEAD_EAR_REQ) ) goto L_MissingReagents; if (getareausers("027-8", 20, 39, 35, 60) == 0) goto L_NeedOther; delitem "Soul", @TEROGAN_SOUL_REQ; - delitem "RottenRags", @TEROGAN_DISEASED_HEART_REQ; + delitem "RottenRags", @TEROGAN_ROTTEN_RAGS_REQ; delitem "UndeadEye", @TEROGAN_UNDEAD_EYE_REQ; delitem "UndeadEar", @TEROGAN_UNDEAD_EAR_REQ; mes "As you perform the ritual you can feel the energy amass."; @@ -127,7 +127,7 @@ L_Close: set @bonus, 0; set @minlevel, 0; set @TEROGAN_SOUL_REQ, 0; - set @TEROGAN_DISEASED_HEART_REQ, 0; + set @TEROGAN_ROTTEN_RAGS_REQ, 0; set @TEROGAN_UNDEAD_EYE_REQ, 0; set @TEROGAN_UNDEAD_EAR_REQ, 0; close; @@ -190,7 +190,7 @@ L_WeakSummons: L_StrongSummons: set $@CRYPT_FIGHT3_SUMMONS_NUMBER, (5 + (1 * $@CRYPT_FIGHT3_WAVE) + (2 * $@CRYPT_FIGHT3_PLAYER_COUNT))/2; - set $@CRYPT_FIGHT3_SUMMONS_COUNT, $@CRYPT_FIGHT3_SUMMONS_COUNT + ($@CRYPT_FIGHT3_SUMMONS_NUMBER/2) + ($@CRYPT_FIGHT3_SUMMONS_NUMBER/2); + set $@CRYPT_FIGHT3_SUMMONS_COUNT, $@CRYPT_FIGHT3_SUMMONS_COUNT + (2 * ($@CRYPT_FIGHT3_SUMMONS_NUMBER/2)); areamonster "027-8.gat", 43, 39, 58, 60, "", 1124, ($@CRYPT_FIGHT3_SUMMONS_NUMBER/2), "General Terogan#Main::OnPetDeath"; areamonster "027-8.gat", 20, 39, 35, 60, "", 1075, ($@CRYPT_FIGHT3_SUMMONS_NUMBER/2), "General Terogan#Main::OnPetDeath"; @@ -198,12 +198,11 @@ L_StrongSummons: L_BossSummons: set $@CRYPT_FIGHT3_SUMMONS_NUMBER, (5 + (1 * $@CRYPT_FIGHT3_WAVE) + (2 * $@CRYPT_FIGHT3_PLAYER_COUNT))/2; - set $@CRYPT_FIGHT3_SUMMONS_COUNT, $@CRYPT_FIGHT3_SUMMONS_COUNT + $@CRYPT_FIGHT3_SUMMONS_NUMBER; + set $@CRYPT_FIGHT3_SUMMONS_COUNT, $@CRYPT_FIGHT3_SUMMONS_COUNT + (2 * ($@CRYPT_FIGHT3_SUMMONS_NUMBER/2)) + 2; areamonster "027-8.gat", 43, 39, 58, 60, "", 1124, ($@CRYPT_FIGHT3_SUMMONS_NUMBER/2), "General Terogan#Main::OnPetDeath"; areamonster "027-8.gat", 20, 39, 35, 60, "", 1075, ($@CRYPT_FIGHT3_SUMMONS_NUMBER/2), "General Terogan#Main::OnPetDeath"; areamonster "027-8.gat", 43, 39, 58, 60, "", 1129, 1, "General Terogan#Main::OnPetDeath"; areamonster "027-8.gat", 20, 39, 35, 60, "", 1129, 1, "General Terogan#Main::OnPetDeath"; - set $@CRYPT_FIGHT3_SUMMONS_COUNT, $@CRYPT_FIGHT3_SUMMONS_COUNT + 2; goto L_Announce; L_Announce: @@ -224,7 +223,6 @@ OnTick: OnPetDeath: set $@CRYPT_FIGHT3_SUMMONS_COUNT, $@CRYPT_FIGHT3_SUMMONS_COUNT - 1; - mapannounce "027-8.gat", $@CRYPT_FIGHT3_SUMMONS_COUNT + "left alive", 0; end; L_Failure: @@ -250,6 +248,7 @@ L_CleanUpLosers: end; L_CleanUp: + mapannounce "027-8.gat", "General Terogan: You might have won this battle, but you will never defeat me!", 0; areatimer "027-8.gat", 0, 0, 79, 84, 10, "General Terogan#Main::OnReward"; set $@CRYPT_FIGHT3, 0; set $@CRYPT_FIGHT3_PLAYER_COUNT, 0; -- cgit v1.2.3-60-g2f50 From 788daba0876214aae02f96b30d6911d6c0581723 Mon Sep 17 00:00:00 2001 From: Bernhardt Date: Sun, 20 Apr 2014 23:25:00 +0200 Subject: Add Verbosity to Battle Ending --- world/map/npc/027-7/general_razha.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/world/map/npc/027-7/general_razha.txt b/world/map/npc/027-7/general_razha.txt index ddd66d84..869c4684 100644 --- a/world/map/npc/027-7/general_razha.txt +++ b/world/map/npc/027-7/general_razha.txt @@ -169,6 +169,8 @@ OnPetDeath: end; L_CleanUpLosers: + mapannounce "027-7.gat", "General Razha : Oh where did you all go, I was beginning to have fun here.", 0; + mapannounce "027-4.gat", "The battle is lost.", 0; set $@CRYPT_FIGHT2, 0; set $@CRYPT_FIGHT2_PLAYER_COUNT, 0; set $@CRYPT_FIGHT2_WAVE, 0; @@ -182,6 +184,8 @@ L_CleanUpLosers: end; L_CleanUp: + mapannounce "027-7.gat", "General Razha : How in all hells could that happen? I am lost forever.", 0; + mapannounce "027-4.gat", "General Razha is defeated.", 0; areatimer "027-7.gat", 0, 0, 79, 84, 10, "General Razha::OnReward"; set $@CRYPT_FIGHT2, 0; set $@CRYPT_FIGHT2_PLAYER_COUNT, 0; -- cgit v1.2.3-60-g2f50