aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/MovementHandler.cpp
diff options
context:
space:
mode:
authorxinef1 <w.szyszko2@gmail.com>2017-03-02 00:08:12 +0100
committerShauren <shauren.trinity@gmail.com>2019-08-17 20:04:14 +0200
commit825719c25ca82ee94af85d1a7f2e99ce7ef5c9df (patch)
tree2f3655ab31dea42de44053c1b1e632624471626d /src/server/game/Handlers/MovementHandler.cpp
parentaaefda61009f9375e82ee63cf0610adcd19b5d8d (diff)
Remove auras interrupted by falling when we fall to the ground or water (#19115)
(cherrypicked from 9b284ab329b55b0c41f47d171573780205a3a81a)
Diffstat (limited to 'src/server/game/Handlers/MovementHandler.cpp')
-rw-r--r--src/server/game/Handlers/MovementHandler.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp
index dade838586b..40609faa567 100644
--- a/src/server/game/Handlers/MovementHandler.cpp
+++ b/src/server/game/Handlers/MovementHandler.cpp
@@ -378,6 +378,10 @@ void WorldSession::HandleMovementOpcode(OpcodeClient opcode, MovementInfo& movem
if (opcode == CMSG_MOVE_FALL_LAND && plrMover && !plrMover->IsInFlight())
plrMover->HandleFall(movementInfo);
+ // interrupt parachutes upon falling or landing in water
+ if (opcode == CMSG_MOVE_FALL_LAND || opcode == CMSG_MOVE_START_SWIM)
+ mover->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_LANDING); // Parachutes
+
if (plrMover && ((movementInfo.flags & MOVEMENTFLAG_SWIMMING) != 0) != plrMover->IsInWater())
{
// now client not include swimming flag in case jumping under water