diff options
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r-- | src/game/Player.cpp | 8 |
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 |