aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeader <keader.android@gmail.com>2019-04-24 11:55:58 -0300
committerKeader <keader.android@gmail.com>2019-04-24 11:55:58 -0300
commitf163c2f96a28e799ec0bc881c7e5f4091719a59b (patch)
treefa552ef5a38475c744589626f0566f07793801ae /src
parent21667f97cbd519dbef1650cd29d53f26443441f3 (diff)
Scripts/Trial of the Crusader: Fixed Resilience will Fix achievement
Broken by 2362e9c79410c689afc10266b94f7e78c88bbddc
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp4
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp13
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;