diff options
author | ccrs <ccrs@users.noreply.github.com> | 2017-04-27 15:34:01 +0200 |
---|---|---|
committer | ccrs <ccrs@users.noreply.github.com> | 2017-04-27 15:34:01 +0200 |
commit | 229444b74a7e2176db142e0446d4268995c5aad6 (patch) | |
tree | f5b767f57bf22894af6f471b8626da2a6848ff5f /src/server/game/Handlers/PetHandler.cpp | |
parent | c7a57e2a093ada2ece7a01eac2f627aeb26b08d5 (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)
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 98d15158abb..c618978dff0 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -325,13 +325,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); } |