aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/MovementHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-09-10 11:54:09 +0200
committerShauren <shauren.trinity@gmail.com>2023-09-10 11:54:09 +0200
commita667d723bf18ffba9b7b25c4fff1223d23e55524 (patch)
tree3c30f5668407de815cdb6448c3932dfab98b89cf /src/server/game/Handlers/MovementHandler.cpp
parentedb103eadbee04aa2cd6746409e0fe297ba15958 (diff)
Core/Pets: Improved pet despawn behavior when mounting
* Pets will now only be despawned when starting to fly * Fixed crash when summoning a pet that is different than the one that was despawned by flying Closes #29303
Diffstat (limited to 'src/server/game/Handlers/MovementHandler.cpp')
-rw-r--r--src/server/game/Handlers/MovementHandler.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp
index 6f9dfa69337..103daba53d3 100644
--- a/src/server/game/Handlers/MovementHandler.cpp
+++ b/src/server/game/Handlers/MovementHandler.cpp
@@ -401,6 +401,9 @@ void WorldSession::HandleMovementOpcode(OpcodeClient opcode, MovementInfo& movem
if (opcode == CMSG_MOVE_FALL_LAND || opcode == CMSG_MOVE_START_SWIM || opcode == CMSG_MOVE_SET_FLY)
mover->RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags::LandingOrFlight); // Parachutes
+ if (opcode == CMSG_MOVE_SET_FLY || opcode == CMSG_MOVE_SET_ADV_FLY)
+ _player->UnsummonPetTemporaryIfAny(); // always do the pet removal on current client activeplayer only
+
/* process position-change */
movementInfo.guid = mover->GetGUID();
movementInfo.time = AdjustClientMovementTime(movementInfo.time);