Scripts/IcecrownCitadel: Fix an issue where Deathbringer Saurfang's exit door could get stuck in a closed state. Fixes and closes #15018.

This commit is contained in:
treeston
2016-09-22 15:22:54 +02:00
committed by Aokromes
parent 22c51f4e02
commit 80741d92ac

View File

@@ -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();