diff options
author | Keader <keader.android@gmail.com> | 2019-04-24 11:55:58 -0300 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-12-02 00:39:20 +0100 |
commit | 93a9ee9c1217d6a0b3388ce0237778585c5db4e6 (patch) | |
tree | ed92016156ec61ad4262c4ca09665c75be7e4d4c /src | |
parent | 62d3010e56e018ffab0d3a0548d0b8ec51ab9964 (diff) |
Scripts/Trial of the Crusader: Fixed Resilience will Fix achievement
Broken by 2362e9c79410c689afc10266b94f7e78c88bbddc
(cherry picked from commit f163c2f96a28e799ec0bc881c7e5f4091719a59b)
Diffstat (limited to 'src')
2 files changed, 11 insertions, 6 deletions
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp index ae42cf2a212..172f356bb7d 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp @@ -546,7 +546,9 @@ class boss_toc_champion_controller : public CreatureScript case DONE: { _championsKilled++; - if (_championsKilled >= summons.size()) + if (_championsKilled == 1) + instance->SetData(DATA_FACTION_CRUSADERS, 0); // Used in Resilience will Fix Achievement + else if (_championsKilled >= summons.size()) { instance->SetBossState(DATA_FACTION_CRUSADERS, DONE); summons.DespawnAll(); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp index 76026b9c31e..e50c84bae7c 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp @@ -119,6 +119,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript MistressOfPainCount = 0; TributeToImmortalityEligible = true; NeedSave = false; + CrusadersSpecialState = false; } void OnPlayerEnter(Player* player) override @@ -198,13 +199,10 @@ class instance_trial_of_the_crusader : public InstanceMapScript ResilienceWillFixItTimer = 0; break; case FAIL: + CrusadersSpecialState = false; if (Creature* fordring = GetCreature(DATA_FORDRING)) fordring->AI()->DoAction(ACTION_FACTION_WIPE); break; - case SPECIAL: //Means the first blood - ResilienceWillFixItTimer = 60*IN_MILLISECONDS; - state = IN_PROGRESS; - break; case DONE: DoUpdateCriteria(CriteriaType::BeSpellTarget, SPELL_DEFEAT_FACTION_CHAMPIONS); if (ResilienceWillFixItTimer > 0) @@ -434,6 +432,10 @@ class instance_trial_of_the_crusader : public InstanceMapScript else if (data == DECREASE) --MistressOfPainCount; break; + case DATA_FACTION_CRUSADERS: // Achivement Resilience will Fix + ResilienceWillFixItTimer = 60 * IN_MILLISECONDS; + CrusadersSpecialState = true; + break; default: break; } @@ -557,7 +559,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript NotOneButTwoJormungarsTimer -= diff; } - if (GetBossState(DATA_FACTION_CRUSADERS) == IN_PROGRESS && ResilienceWillFixItTimer) + if (CrusadersSpecialState && ResilienceWillFixItTimer) { if (ResilienceWillFixItTimer <= diff) ResilienceWillFixItTimer = 0; @@ -659,6 +661,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript uint32 NorthrendBeasts; uint32 Team; bool NeedSave; + bool CrusadersSpecialState; std::string SaveDataBuffer; GuidVector snoboldGUIDS; |