aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r--src/game/Player.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 4b4f444471c..b00dadc98dd 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -18764,8 +18764,16 @@ void Player::RemovePossess(bool attack)
else
{
target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE);
+ // Reinitialize the pet bar and make the pet come back to the owner
if(((Creature*)target)->isPet())
+ {
PetSpellInitialize();
+ if (!target->getVictim())
+ {
+ target->GetMotionMaster()->MoveFollow(this, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE);
+ target->GetCharmInfo()->SetCommandState(COMMAND_FOLLOW);
+ }
+ }
else if (target->isAlive())
{
// If we're still hostile to our target, continue attacking otherwise reset threat and go home