Scripts/Icecrown Citadel: Remove encounter specific auras when Blood-Queen Lana'thel fight ends (prevents exploits with Essence of the Blood Queen
Closes #6610
This commit is contained in:
@@ -149,7 +149,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_SWARMING_SHADOWS, 30500, EVENT_GROUP_NORMAL);
|
||||
events.ScheduleEvent(EVENT_TWILIGHT_BLOODBOLT, urand(20000, 25000), EVENT_GROUP_NORMAL);
|
||||
events.ScheduleEvent(EVENT_AIR_PHASE, 124000 + uint32(Is25ManRaid() ? 3000 : 0));
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_UNCONTROLLABLE_FRENZY);
|
||||
CleanAuras();
|
||||
me->SetSpeed(MOVE_FLIGHT, 0.642857f, true);
|
||||
_offtank = NULL;
|
||||
_vampires.clear();
|
||||
@@ -170,6 +170,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
DoZoneInCombat();
|
||||
Talk(SAY_AGGRO);
|
||||
instance->SetBossState(DATA_BLOOD_QUEEN_LANA_THEL, IN_PROGRESS);
|
||||
CleanAuras();
|
||||
|
||||
DoCast(me, SPELL_SHROUD_OF_SORROW, true);
|
||||
DoCast(me, SPELL_FRENZIED_BLOODTHIRST_VISUAL, true);
|
||||
@@ -180,15 +181,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
{
|
||||
_JustDied();
|
||||
Talk(SAY_DEATH);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(ESSENCE_OF_BLOOD_QUEEN);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(ESSENCE_OF_BLOOD_QUEEN_PLR);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(FRENZIED_BLOODTHIRST);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_UNCONTROLLABLE_FRENZY);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_BLOOD_MIRROR_DAMAGE);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_BLOOD_MIRROR_VISUAL);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_BLOOD_MIRROR_DUMMY);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(DELIRIOUS_SLASH);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_PACT_OF_THE_DARKFALLEN);
|
||||
CleanAuras();
|
||||
// Blah, credit the quest
|
||||
if (_creditBloodQuickening)
|
||||
{
|
||||
@@ -207,6 +200,19 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
}
|
||||
}
|
||||
|
||||
void CleanAuras()
|
||||
{
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(ESSENCE_OF_BLOOD_QUEEN);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(ESSENCE_OF_BLOOD_QUEEN_PLR);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(FRENZIED_BLOODTHIRST);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_UNCONTROLLABLE_FRENZY);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_BLOOD_MIRROR_DAMAGE);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_BLOOD_MIRROR_VISUAL);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_BLOOD_MIRROR_DUMMY);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(DELIRIOUS_SLASH);
|
||||
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_PACT_OF_THE_DARKFALLEN);
|
||||
}
|
||||
|
||||
void DoAction(int32 const action)
|
||||
{
|
||||
if (action != ACTION_KILL_MINCHAR)
|
||||
@@ -227,6 +233,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
void EnterEvadeMode()
|
||||
{
|
||||
_EnterEvadeMode();
|
||||
CleanAuras();
|
||||
if (_killMinchar)
|
||||
{
|
||||
_killMinchar = false;
|
||||
|
||||
@@ -631,9 +631,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_4, 24000); // cast
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_5, 30000); // move
|
||||
me->SetDisableGravity(false);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->Relocate(me->GetPositionX(), me->GetPositionY(), 539.2917f);
|
||||
me->MonsterMoveWithSpeed(me->GetPositionX(), me->GetPositionY(), 539.2917f, 0.0f);
|
||||
me->GetMotionMaster()->MoveFall();
|
||||
for (std::list<Creature*>::iterator itr = _guardList.begin(); itr != _guardList.end(); ++itr)
|
||||
(*itr)->AI()->DoAction(ACTION_DESPAWN);
|
||||
break;
|
||||
@@ -838,9 +836,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
|
||||
me->RemoveAurasDueToSpell(SPELL_GRIP_OF_AGONY);
|
||||
Talk(SAY_OUTRO_ALLIANCE_1);
|
||||
me->SetDisableGravity(false);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->Relocate(me->GetPositionX(), me->GetPositionY(), 539.2917f);
|
||||
me->MonsterMoveWithSpeed(me->GetPositionX(), me->GetPositionY(), 539.2917f, 0.0f);
|
||||
me->GetMotionMaster()->MoveFall();
|
||||
for (std::list<Creature*>::iterator itr = _guardList.begin(); itr != _guardList.end(); ++itr)
|
||||
(*itr)->AI()->DoAction(ACTION_DESPAWN);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user