diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp index 160734e6ba..ed45d9e98e 100644 --- a/src/server/game/Movement/MotionMaster.cpp +++ b/src/server/game/Movement/MotionMaster.cpp @@ -1186,7 +1186,7 @@ void MotionMaster::MoveFormation(Unit* leader, float range, float angle, uint32 } } -void MotionMaster::LaunchMoveSpline(std::function&& initializer, uint32 id/*= 0*/, MovementGeneratorPriority priority/* = MOTION_PRIORITY_NORMAL*/, MovementGeneratorType type/*= EFFECT_MOTION_TYPE*/) +void MotionMaster::LaunchMoveSpline(std::function&& initializer, uint32 id/*= 0*/, MovementGeneratorPriority priority/* = MOTION_PRIORITY_NORMAL*/, MovementGeneratorType type/*= EFFECT_MOTION_TYPE*/, Scripting::v2::ActionResultSetter&& scriptResult /*= {}*/) { if (IsInvalidMovementGeneratorType(type)) { @@ -1196,7 +1196,7 @@ void MotionMaster::LaunchMoveSpline(std::functionGetGUID(), id, type, priority); - GenericMovementGenerator* movement = new GenericMovementGenerator(std::move(initializer), type, id); + GenericMovementGenerator* movement = new GenericMovementGenerator(std::move(initializer), type, id, { .ScriptResult = scriptResult }); movement->Priority = priority; Add(movement); } diff --git a/src/server/game/Movement/MotionMaster.h b/src/server/game/Movement/MotionMaster.h index 438267011b..23d48d0b6e 100644 --- a/src/server/game/Movement/MotionMaster.h +++ b/src/server/game/Movement/MotionMaster.h @@ -237,7 +237,7 @@ class TC_GAME_API MotionMaster Scripting::v2::ActionResultSetter&& scriptResult = {}); void MoveFormation(Unit* leader, float range, float angle, uint32 point1, uint32 point2); - void LaunchMoveSpline(std::function&& initializer, uint32 id = 0, MovementGeneratorPriority priority = MOTION_PRIORITY_NORMAL, MovementGeneratorType type = EFFECT_MOTION_TYPE); + void LaunchMoveSpline(std::function&& initializer, uint32 id = 0, MovementGeneratorPriority priority = MOTION_PRIORITY_NORMAL, MovementGeneratorType type = EFFECT_MOTION_TYPE, Scripting::v2::ActionResultSetter&& scriptResult = {}); private: typedef std::unique_ptr MovementGeneratorPointer; diff --git a/src/server/game/Scripting/v2/ScriptActions.h b/src/server/game/Scripting/v2/ScriptActions.h index b02d2df185..4308c7e16f 100644 --- a/src/server/game/Scripting/v2/ScriptActions.h +++ b/src/server/game/Scripting/v2/ScriptActions.h @@ -19,6 +19,7 @@ #define TRINITYCORE_SCRIPT_ACTIONS_H #include "ScriptActionResult.h" +#include "Define.h" #include "Duration.h" namespace Scripting::v2 @@ -28,7 +29,7 @@ class ActionBase; template class ActionResultSetter; -class ActionBase +class TC_GAME_API ActionBase { public: ActionBase();