diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-09-10 11:54:09 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-09-10 11:54:09 +0200 |
commit | a667d723bf18ffba9b7b25c4fff1223d23e55524 (patch) | |
tree | 3c30f5668407de815cdb6448c3932dfab98b89cf /src/server/game/Handlers/MovementHandler.cpp | |
parent | edb103eadbee04aa2cd6746409e0fe297ba15958 (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.cpp | 3 |
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); |