aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement/MovementDefines.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-11-28 00:05:38 +0100
committerShauren <shauren.trinity@gmail.com>2021-11-28 00:05:38 +0100
commita809932f5017c98092a02694e86e276add03f8b9 (patch)
tree1ba76f989a3082339832c2e50ad40d138f8d386d /src/server/game/Movement/MovementDefines.h
parent684cd9d9681466019dcd06ad6f994890cff8cb2e (diff)
Core/Spells: Implemented spell effect 254 (SPELL_EFFECT_JUMP_CHARGE)
Diffstat (limited to 'src/server/game/Movement/MovementDefines.h')
-rw-r--r--src/server/game/Movement/MovementDefines.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/server/game/Movement/MovementDefines.h b/src/server/game/Movement/MovementDefines.h
index 3600e349aab..224d1399a31 100644
--- a/src/server/game/Movement/MovementDefines.h
+++ b/src/server/game/Movement/MovementDefines.h
@@ -20,6 +20,7 @@
#include "Common.h"
#include "ObjectGuid.h"
+#include "Optional.h"
#define SPEED_CHARGE 42.0f // assume it is 25 yard per 0.6 second
@@ -100,10 +101,27 @@ struct TC_GAME_API ChaseAngle
struct JumpArrivalCastArgs
{
- uint32 SpellId;
+ uint32 SpellId = 0;
ObjectGuid Target;
};
+struct JumpChargeParams
+{
+ union
+ {
+ float Speed;
+ float MoveTimeInSec;
+ };
+
+ bool TreatSpeedAsMoveTimeSeconds = false;
+
+ float JumpGravity = 0.0f;
+
+ Optional<uint32> SpellVisualId;
+ Optional<uint32> ProgressCurveId;
+ Optional<uint32> ParabolicCurveId;
+};
+
inline bool IsInvalidMovementGeneratorType(uint8 const type) { return type == MAX_DB_MOTION_TYPE || type >= MAX_MOTION_TYPE; }
inline bool IsInvalidMovementSlot(uint8 const slot) { return slot >= MAX_MOTION_SLOT; }