aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/PetHandler.cpp
diff options
context:
space:
mode:
authorccrs <ccrs@users.noreply.github.com>2017-04-27 15:34:01 +0200
committerfunjoker <funjoker109@gmail.com>2020-04-28 17:51:25 +0200
commit104e745edfb89f95e34cad7840eae0b6e183bf94 (patch)
treebe0706413fed53fc248aea9909426e2b99d7693a /src/server/game/Handlers/PetHandler.cpp
parent2d4549023a6655d19671f7f7e6b4f7c9b71ae632 (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.cpp6
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);
}