From f80f931e2bee9dbf08c3edee94d0c79dbbb64072 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 18 May 2024 11:50:00 +0200 Subject: Core/Spells: Prevent creatures from being able to cast all their spells while moving Closes #26137 --- src/server/game/Movement/MovementDefines.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/server/game/Movement/MovementDefines.h') diff --git a/src/server/game/Movement/MovementDefines.h b/src/server/game/Movement/MovementDefines.h index c00cb7a7b88..e2b2dc16e5d 100644 --- a/src/server/game/Movement/MovementDefines.h +++ b/src/server/game/Movement/MovementDefines.h @@ -49,6 +49,21 @@ enum MovementGeneratorType : uint8 MAX_MOTION_TYPE // SKIP }; +constexpr bool CanStopMovementForSpellCasting(MovementGeneratorType type) +{ + // MovementGenerators that don't check Unit::IsMovementPreventedByCasting + switch (type) + { + case HOME_MOTION_TYPE: + case FLIGHT_MOTION_TYPE: + case EFFECT_MOTION_TYPE: // knockbacks, jumps, falling, land/takeoff transitions + return false; + default: + break; + } + return true; +} + enum MovementGeneratorMode : uint8 { MOTION_MODE_DEFAULT = 0, -- cgit v1.2.3