diff options
-rwxr-xr-x | src/server/game/Spells/Spell.cpp | 1 | ||||
-rw-r--r-- | src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp | 13 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index dffdfad17e5..fd782519410 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -1825,6 +1825,7 @@ void Spell::SearchChainTarget(std::list<Unit*> &TagUnitMap, float max_range, uin && !m_caster->isInFrontInMap(*next, max_range)) || !m_caster->canSeeOrDetect(*next) || !cur->IsWithinLOSInMap(*next) + || (*next)->GetCreatureType() == CREATURE_TYPE_CRITTER || ((GetSpellInfo()->AttributesEx6 & SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED) && !(*next)->CanFreeMove())) { ++next; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index 44d608be46e..1688624be91 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -712,10 +712,6 @@ class boss_the_lich_king : public CreatureScript summon->SetReactState(REACT_PASSIVE); summon->CastSpell(summon, SPELL_DEFILE_AURA, false); break; - case NPC_VALKYR_SHADOWGUARD: - summon->CastSpell(summon, SPELL_WINGS_OF_THE_DAMNED, true); - summon->CastSpell(summon, SPELL_VALKYR_TARGET_SEARCH, true); - break; case NPC_FROSTMOURNE_TRIGGER: { summons.Summon(summon); @@ -1479,6 +1475,7 @@ class npc_valkyr_shadowguard : public CreatureScript { _events.Reset(); me->SetReactState(REACT_PASSIVE); + DoCast(me, SPELL_WINGS_OF_THE_DAMNED, false); me->SetSpeed(MOVE_FLIGHT, 0.642857f, true); } @@ -1558,7 +1555,6 @@ class npc_valkyr_shadowguard : public CreatureScript void SetGUID(uint64 guid, int32 /* = 0*/) { _grabbedPlayer = guid; - _events.Reset(); } void UpdateAI(uint32 const diff) @@ -1576,8 +1572,11 @@ class npc_valkyr_shadowguard : public CreatureScript switch (eventId) { case EVENT_GRAB_PLAYER: - DoCastAOE(SPELL_VALKYR_TARGET_SEARCH); - _events.ScheduleEvent(EVENT_GRAB_PLAYER, 2000); + if (!_grabbedPlayer) + { + DoCastAOE(SPELL_VALKYR_TARGET_SEARCH); + _events.ScheduleEvent(EVENT_GRAB_PLAYER, 2000); + } break; case EVENT_MOVE_TO_DROP_POS: me->GetMotionMaster()->MovePoint(POINT_DROP_PLAYER, _dropPoint); |