diff --git a/src/game/AI/ScriptDevAI/scripts/northrend/ulduar/ulduar/boss_hodir.cpp b/src/game/AI/ScriptDevAI/scripts/northrend/ulduar/ulduar/boss_hodir.cpp index 0864626deec..f689c2d0f8d 100644 --- a/src/game/AI/ScriptDevAI/scripts/northrend/ulduar/ulduar/boss_hodir.cpp +++ b/src/game/AI/ScriptDevAI/scripts/northrend/ulduar/ulduar/boss_hodir.cpp @@ -182,6 +182,13 @@ struct boss_hodirAI : public BossAI } } + void KilledUnit(Unit* victim) override + { + BossAI::KilledUnit(victim); + if (!m_instance->GetPlayerInMap(true, false)) + EnterEvadeMode(); + } + void JustPreventedDeath(Unit* attacker) override { // Inform the faction helpers that the fight is over @@ -415,14 +422,13 @@ struct FlashFreeze : public AuraScript, public SpellScript Unit* target = aura->GetTarget(); if (!target) return; - if (aura->GetAuraTicks() == 1 && !target->HasAura(SPELL_AURA_SAFE_AREA)) - { - if (target->IsCreature() && (target->HasAura(SPELL_FLASH_FREEZE_AURA) || target->HasAura(SPELL_FLASH_FREEZE_AURA_NPC))) - return; - else - target->CastSpell(nullptr, SPELL_FLASH_FREEZE_SUMMON, TRIGGERED_INSTANT_CAST | - TRIGGERED_IGNORE_CURRENT_CASTED_SPELL | TRIGGERED_IGNORE_CASTER_AURA_STATE | TRIGGERED_IGNORE_GCD, nullptr, aura); - } + if (aura->GetAuraTicks() != 1 || target->HasAura(SPELL_AURA_SAFE_AREA) || target->HasAura(SPELL_FLASH_FREEZE_AURA)) + return; + if (target->IsCreature() && target->HasAura(SPELL_FLASH_FREEZE_AURA_NPC)) + return; + else + target->CastSpell(nullptr, SPELL_FLASH_FREEZE_SUMMON, TRIGGERED_INSTANT_CAST | + TRIGGERED_IGNORE_CURRENT_CASTED_SPELL | TRIGGERED_IGNORE_CASTER_AURA_STATE | TRIGGERED_IGNORE_GCD, nullptr, aura); } };