aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/MovementHandler.cpp
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2024-04-26 02:22:24 +0200
committerOvahlord <dreadkiller@gmx.de>2024-04-26 14:21:09 +0200
commit5a169f6eae45a7578d6e312cdba9825f6fc24fa5 (patch)
treef752671ae38f286d050d15116a203f68660c6c71 /src/server/game/Handlers/MovementHandler.cpp
parentc2fedbb6cc89510002e9f56751e7f8427e306487 (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.cpp17
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;
+ }
}
}