diff options
author | Ovahlord <dreadkiller@gmx.de> | 2024-04-26 02:22:24 +0200 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2024-04-26 14:21:09 +0200 |
commit | 5a169f6eae45a7578d6e312cdba9825f6fc24fa5 (patch) | |
tree | f752671ae38f286d050d15116a203f68660c6c71 /src/server/game/Handlers/MovementHandler.cpp | |
parent | c2fedbb6cc89510002e9f56751e7f8427e306487 (diff) |
Core/Player: moved indoors/outdoors aura interrupting mechanic into heartbeat and movement handling
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 d988364cbac..6a375051013 100644 --- a/src/server/game/Handlers/MovementHandler.cpp +++ b/src/server/game/Handlers/MovementHandler.cpp @@ -471,6 +471,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; + } } } |