From 429700e614c27627becc50bcc45cfa5315b9d4ed Mon Sep 17 00:00:00 2001 From: treeston Date: Thu, 22 Sep 2016 15:22:54 +0200 Subject: Scripts/IcecrownCitadel: Fix an issue where Deathbringer Saurfang's exit door could get stuck in a closed state. Fixes and closes #15018. --- .../IcecrownCitadel/boss_deathbringer_saurfang.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp index 18cfba8aa90..23049e82d5e 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(); -- cgit v1.2.3