diff options
author | Keader <keader.android@gmail.com> | 2019-04-24 11:55:58 -0300 |
---|---|---|
committer | Keader <keader.android@gmail.com> | 2019-04-24 11:55:58 -0300 |
commit | f163c2f96a28e799ec0bc881c7e5f4091719a59b (patch) | |
tree | fa552ef5a38475c744589626f0566f07793801ae /src | |
parent | 21667f97cbd519dbef1650cd29d53f26443441f3 (diff) |
Scripts/Trial of the Crusader: Fixed Resilience will Fix achievement
Broken by 2362e9c79410c689afc10266b94f7e78c88bbddc
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 d3856de3cf4..4e285d42068 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp @@ -547,7 +547,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 20ae738e343..8152a153901 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 @@ -120,6 +120,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript MistressOfPainCount = 0; TributeToImmortalityEligible = true; NeedSave = false; + CrusadersSpecialState = false; } void OnPlayerEnter(Player* player) override @@ -199,13 +200,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: DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, SPELL_DEFEAT_FACTION_CHAMPIONS); if (ResilienceWillFixItTimer > 0) @@ -435,6 +433,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; } @@ -558,7 +560,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; @@ -660,6 +662,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript uint32 NorthrendBeasts; uint32 Team; bool NeedSave; + bool CrusadersSpecialState; std::string SaveDataBuffer; GuidVector snoboldGUIDS; |