diff options
author | ccrs <ccrs@users.noreply.github.com> | 2017-04-27 15:34:01 +0200 |
---|---|---|
committer | funjoker <funjoker109@gmail.com> | 2020-04-28 17:51:25 +0200 |
commit | 104e745edfb89f95e34cad7840eae0b6e183bf94 (patch) | |
tree | be0706413fed53fc248aea9909426e2b99d7693a /src/server/game/Handlers/PetHandler.cpp | |
parent | 2d4549023a6655d19671f7f7e6b4f7c9b71ae632 (diff) |
Core/Misc: cleanup SetInFront uses
Set in front modifies only the serverside orientation, use with care.
Also check for current focus to prevent things like incorrect damage on casting creatures (ie dragon breath direction change in your face because of some taunt missclick)
(cherry picked from commit 229444b74a7e2176db142e0446d4268995c5aad6)
Diffstat (limited to 'src/server/game/Handlers/PetHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/PetHandler.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index 8dc2523afcc..73bc95f2caf 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -331,13 +331,15 @@ void WorldSession::HandlePetActionHelper(Unit* pet, ObjectGuid guid1, uint32 spe { if (unit_target) { - pet->SetInFront(unit_target); + if (!pet->IsFocusing()) + pet->SetInFront(unit_target); if (Player* player = unit_target->ToPlayer()) pet->SendUpdateToPlayer(player); } else if (Unit* unit_target2 = spell->m_targets.GetUnitTarget()) { - pet->SetInFront(unit_target2); + if (!pet->IsFocusing()) + pet->SetInFront(unit_target2); if (Player* player = unit_target2->ToPlayer()) pet->SendUpdateToPlayer(player); } |