From d8787c0d1bd9f73cefdd02ebfcbc086963a72cec Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sat, 18 May 2019 01:03:28 +0200 Subject: [PATCH] Core/Spells: moved updating channeled orientation for tracking channel spells to creature class --- src/server/game/Entities/Creature/Creature.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 368c470efb8..51df8503ca5 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -804,6 +804,13 @@ void Creature::Update(uint32 diff) m_regenTimer = CREATURE_REGEN_INTERVAL; } + // Update serverside orientation of channeled spells that are suposed to track the channel target + if (Spell const* spell = m_currentSpells[CURRENT_CHANNELED_SPELL]) + if (spell->GetSpellInfo()->HasAttribute(SPELL_ATTR1_CHANNEL_TRACK_TARGET)) + if (ObjectGuid guid = GetChannelObjectGuid()) + if (WorldObject* target = ObjectAccessor::GetWorldObject(*this, guid)) + SetOrientation(GetAngle(target)); + if (CanNotReachTarget() && !IsInEvadeMode() && !GetMap()->IsRaid()) { m_cannotReachTimer += diff;