aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortreeston <treeston.mmoc@gmail.com>2016-09-22 15:22:54 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2017-03-03 21:51:36 +0100
commit6a7ef793ca743186e60f0ebb5c794475e4d7f2b0 (patch)
tree345458200bd81656185d975193e897228378e862 /src
parentf6c9aff606ca4a9a6f07882d5ae1d432270f0046 (diff)
Scripts/IcecrownCitadel: Fix an issue where Deathbringer Saurfang's exit door could get stuck in a closed state. Fixes and closes #15018.
(cherry picked from commit 429700e614c27627becc50bcc45cfa5315b9d4ed)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index 2645d1f68da..462dd4c3525 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -251,25 +251,20 @@ class boss_deathbringer_saurfang : public CreatureScript
struct boss_deathbringer_saurfangAI : public BossAI
{
- boss_deathbringer_saurfangAI(Creature* creature) : BossAI(creature, DATA_DEATHBRINGER_SAURFANG)
+ boss_deathbringer_saurfangAI(Creature* creature) : BossAI(creature, DATA_DEATHBRINGER_SAURFANG), _introDone(false), _frenzied(false), _dead(false)
{
- Initialize();
ASSERT(creature->GetVehicleKit()); // we dont actually use it, just check if exists
- _introDone = false;
_fallenChampionCastCount = 0;
}
- void Initialize()
- {
- _frenzied = false;
- _dead = false;
- }
-
void Reset() override
{
+ if (_dead)
+ return;
_Reset();
events.SetPhase(PHASE_COMBAT);
- Initialize();
+ _frenzied = false;
+ _dead = false;
me->SetPower(POWER_ENERGY, 0);
DoCast(me, SPELL_ZERO_POWER, true);
DoCast(me, SPELL_BLOOD_LINK, true);
@@ -341,6 +336,8 @@ class boss_deathbringer_saurfang : public CreatureScript
void JustReachedHome() override
{
+ if (_dead)
+ return;
_JustReachedHome();
Reset();
instance->SetBossState(DATA_DEATHBRINGER_SAURFANG, FAIL);
@@ -365,7 +362,7 @@ class boss_deathbringer_saurfang : public CreatureScript
Talk(SAY_FRENZY);
}
- if (!_dead && me->GetHealth() < FightWonValue)
+ if (!_dead && me->GetHealth()-damage < FightWonValue)
{
_dead = true;
_JustDied();