aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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();