aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement/MovementDefines.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-05-18 11:50:00 +0200
committerShauren <shauren.trinity@gmail.com>2024-05-18 11:50:00 +0200
commitf80f931e2bee9dbf08c3edee94d0c79dbbb64072 (patch)
treee83b6b14abb48a34a9baa85139e549e77af25897 /src/server/game/Movement/MovementDefines.h
parent2ad7c7829b17bb9e6e951632e8e0e68f68b9aa44 (diff)
Core/Spells: Prevent creatures from being able to cast all their spells while moving
Closes #26137
Diffstat (limited to 'src/server/game/Movement/MovementDefines.h')
-rw-r--r--src/server/game/Movement/MovementDefines.h15
1 files changed, 15 insertions, 0 deletions
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,