diff options
author | Ovahlord <dreadkiller@gmx.de> | 2024-04-26 02:22:24 +0200 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2024-05-28 16:45:03 +0200 |
commit | 69778a441411f073e8e1a959e8456d4178483c52 (patch) | |
tree | bd8f00eec9730a6baf4985bf6ef410f83ccd587d /src/server/game/Handlers/MovementHandler.cpp | |
parent | f7ea6f55dcdc0db8b8826f40cb59e584a1a99a48 (diff) |
Core/Player: moved indoors/outdoors aura interrupting mechanic into heartbeat and movement handling
(cherry picked from commit 5a169f6eae45a7578d6e312cdba9825f6fc24fa5)
Diffstat (limited to 'src/server/game/Handlers/MovementHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/MovementHandler.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp index 13f440e9c29..00a9582fbfa 100644 --- a/src/server/game/Handlers/MovementHandler.cpp +++ b/src/server/game/Handlers/MovementHandler.cpp @@ -466,6 +466,23 @@ void WorldSession::HandleMovementOpcode(OpcodeClient opcode, MovementInfo& movem plrMover->RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::Jump); Unit::ProcSkillsAndAuras(plrMover, nullptr, PROC_FLAG_JUMP, PROC_FLAG_NONE, PROC_SPELL_TYPE_MASK_ALL, PROC_SPELL_PHASE_NONE, PROC_HIT_NONE, nullptr, nullptr, nullptr); } + + // Whenever a player stops a movement action, an indoor/outdoor check is being performed + switch (opcode) + { + case CMSG_MOVE_SET_FLY: + case CMSG_MOVE_FALL_LAND: + case CMSG_MOVE_STOP: + case CMSG_MOVE_STOP_STRAFE: + case CMSG_MOVE_STOP_TURN: + case CMSG_MOVE_STOP_SWIM: + case CMSG_MOVE_STOP_PITCH: + case CMSG_MOVE_STOP_ASCEND: + plrMover->CheckOutdoorsAuraRequirements(); + break; + default: + break; + } } } |