diff options
author | wushin <pasekei@gmail.com> | 2014-04-21 23:11:49 -0500 |
---|---|---|
committer | wushin <pasekei@gmail.com> | 2014-04-21 23:11:49 -0500 |
commit | f4ebe1eb0619ffe6b1b728fb0d38eefb8fa66f3b (patch) | |
tree | 513c9de895163381a9b79731a80982970ee62729 | |
parent | bfa1356daedb25854ec141fe91027f458ca92f29 (diff) | |
parent | 788daba0876214aae02f96b30d6911d6c0581723 (diff) | |
download | serverdata-f4ebe1eb0619ffe6b1b728fb0d38eefb8fa66f3b.tar.gz serverdata-f4ebe1eb0619ffe6b1b728fb0d38eefb8fa66f3b.tar.bz2 serverdata-f4ebe1eb0619ffe6b1b728fb0d38eefb8fa66f3b.tar.xz serverdata-f4ebe1eb0619ffe6b1b728fb0d38eefb8fa66f3b.zip |
Merge pull request #93 from CandyCurt/terogan-fex
Fix Terogan Lockup if one Team Dead
-rw-r--r-- | world/map/npc/027-7/general_razha.txt | 4 | ||||
-rw-r--r-- | world/map/npc/027-8/general_terogan.txt | 45 |
2 files changed, 36 insertions, 13 deletions
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; diff --git a/world/map/npc/027-8/general_terogan.txt b/world/map/npc/027-8/general_terogan.txt index 3edc2db6..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; @@ -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; @@ -189,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"; @@ -197,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: @@ -225,7 +225,15 @@ OnPetDeath: set $@CRYPT_FIGHT3_SUMMONS_COUNT, $@CRYPT_FIGHT3_SUMMONS_COUNT - 1; 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,12 +241,14 @@ 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; 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; @@ -247,13 +257,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; @@ -291,14 +302,22 @@ 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; } |