220 Commits

Author SHA1 Message Date
Shauren
a83df0536c Core/Movement: Don't use MOTION_SLOT_DEFAULT for players in MovePath/MoveRandom 2026-01-10 14:28:23 +01:00
Shauren
00542ca800 Core/Scripts: Remove Optional<> wrapper from all Scripting::v2::ActionResultSetter uses 2026-01-09 00:37:42 +01:00
Shauren
1db1a0e57f Core/Movement: Enable MotionMaster::MovePath for players 2026-01-05 14:18:45 +01:00
Shauren
12743dd0e7 Core/Movement: Enable MotionMaster::MoveRandom for players 2026-01-04 21:47:46 +01:00
Shauren
0b85b1b0bc Core/Movement: Add forced speed and movement type parameters to random movement generator 2026-01-04 19:34:22 +01:00
Shauren
645da5a3f9 Core/Movement: Remove deprecated jump functions and update SAI scripts using them 2025-11-25 13:39:25 +01:00
Shauren
95ca714824 Core/Movement: Replace MotionMaster::MoveJumpWithGravity with new jump height based MoveJump 2025-11-24 12:07:19 +01:00
Shauren
ed599208ea Core/Movement: Change MoveJump to use min/max height argument instead of vertical speed 2025-11-23 11:54:42 +01:00
Shauren
7c5e6f695d Core/Movement: Use MotionMaster::MoveKnockbackFrom for creatures hit by SPELL_EFFECT_LEAP_BACK, SPELL_EFFECT_PULL_TOWARDS and SPELL_EFFECT_PULL_TOWARDS_DEST 2025-11-18 18:05:33 +01:00
Shauren
71ebbc60cc Core/Movement: Remove MotionMaster::MoveJump(x, y, z) overload 2025-11-18 00:32:06 +01:00
Shauren
f94a3e1487 GCC build fix 2 2025-11-17 16:37:01 +01:00
Shauren
93b0c4a317 GCC build fix 2025-11-17 16:27:42 +01:00
Shauren
e9dff62f33 Core/Movement: Implemented vertical-only knockbacks for creatures 2025-11-17 16:18:04 +01:00
Meji
c4bec744ad Core/Movement: Knockback improvements (#28081)
* Knockbacks with negative speeds will now be validated and processed.
* Creatures that cast knockback spells on themselves will use their orientation to determine the direction of movement.
2025-11-16 20:25:56 +01:00
Shauren
07e9f3e75e Core/Movement: Add new function allowing any tier transition animation to be used, not only land/takeoff 2025-11-11 23:45:06 +01:00
Shauren
e02e8a4742 Core/Movement: Spline code cleanup
* Remove unneccessary reserve in MoveSplineInitArgs constructor - MoveTo always resizes it
* Remove unused function computeDuration
* Split cyclic spline reinitialization to separate function
* Don't expose TransportPathTransform outside of MoveSplineInit
* Ensure function argument names are the same in declaration and definition
2025-06-17 23:09:08 +02:00
Shauren
d778d5ec7c Core/Misc: Include cleanup - remove MapUtils.h from Containers.h 2024-12-31 18:12:36 +01:00
ModoX
51872d50ff Core/Movement: Made fixed ChaseAngle optional and added possibility to ignore setting walk/run depending on target (#30101) 2024-08-02 22:46:29 +02:00
Shauren
bd9fb4a563 Core/Movement: Defined and implemented new spline flag - JumpOrientationFixed 2024-06-29 18:15:43 +02:00
Shauren
ac73edc268 Core/Movement: Allow setting position or object facing targets for jump movement 2024-06-21 15:35:12 +02:00
Shauren
dad976beb4 Core/Movement: Migrate scripts using GetMotionMaster()->MoveSmoothPath to GetMotionMaster()->MovePath and kill it (they now have the same capabilities) 2024-04-25 00:42:16 +02:00
Shauren
cf1ab7b414 Core/Movement: Implemented alternative method of smoothing waypoint paths (send new point 1.5 before arrival) and make that the default
* Sending whole path at once is still supported with WaypointPathFlags::ExactSplinePath
2024-04-21 00:16:57 +02:00
Shauren
be3ae90dc4 Core/Movement: Ensure land and takeoff animations even if gravity enabled/disabled state is not what spline generator expects 2024-04-07 00:05:46 +02:00
Shauren
b265c49977 Core/Scripts: Integrate new ActionResultSetter with movement generators and spells 2024-04-06 20:50:59 +02:00
Shauren
038f995ad6 Core/Movement: Allow overriding speed for taxi movement generator 2024-04-04 16:17:09 +02:00
Shauren
4131022f6c Core/Entities: Make ObjectGuid formattable with fmt without using ToString() 2024-03-31 19:32:39 +02:00
Shauren
ca656f4254 Core/Movement: FIxed followPathBackwardsFromEndToStart parameter of MotionMaster::MovePath 2024-03-12 11:49:42 +01:00
Shauren
59f92412d0 Core/Movement: MoveRotate improvements
* Allow overriding rotation speed
* Allow limiting rotation using total rotation angle instead of duration
2024-02-28 21:10:05 +01:00
Shauren
cc47fd75b4 Core/Movement: Removed template from FleeingMovementGenerator 2024-02-22 18:21:52 +01:00
Shauren
88242a42ce Core/Movement: MoveCirclePath new features
* Duration limit
* Customizable speed
2024-02-18 15:19:35 +01:00
ModoX
12186ef857 Core/Waypoints: Refactor to split data into path and node related info in db (#29506) 2024-01-05 17:56:19 +01:00
Shauren
295c8f6326 Core/Spells: Fixed effects targeting the caster not hitting him immediately on spell launch if the spell targets a dest
* Also improve hit timing for charge spells
2023-04-21 19:05:38 +02:00
Shauren
8bf3bc071b Core/Movement: Allow passing tier transition id (db2 id) to land/takeoff movement 2023-03-26 12:22:41 +02:00
Shauren
4300c3edd3 Core/Movement: Refactor TimedFleeingMovementGenerator to use chrono types 2023-03-11 13:35:46 +01:00
Shauren
cf2e0e2faa Core/Movement: New waypoint movement features
* Allow going backwards on a repeatable waypoint path (instead of going directly to first point)
* Allow triggering random movement on path ends
* Max duration of waypoint movement
* Skipping mmap usage
* Forced speed for whole path
* Forced run/walk for whole path
2023-03-07 20:13:28 +01:00
Shauren
705d5701bf Core/Movement: Refactor jump speed calculation out of spell code 2023-03-06 00:14:42 +01:00
Shauren
39b76cfbc2 Core/Movement: Allow specifying timeout for follow movement 2023-03-04 14:57:17 +01:00
Shauren
0026706e83 Core/Movement: Extend MovePoint with new arguments
* Forced speed
* Speed selection mode (walk, run or default)
* Distance from target point that is considered close enough to finalize movement
2023-03-02 23:24:42 +01:00
Shauren
66b29fba44 Core/Movement: Allow specifying timeout for random movement 2023-03-01 21:58:07 +01:00
Shauren
d791afae1d Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api) 2023-01-08 21:16:53 +01:00
Shauren
ba9bbbc9d0 Core/Misc: Fixed deprecation warnings for c++20 2023-01-01 00:26:53 +01:00
Teleqraph
96295cfc5f Core/Units: Removed spline speed limit for MoveJumpWithGravity (#28142) 2022-07-24 22:20:35 +02:00
Shauren
36dde87249 Core/Movement: Delay creating MoveSplineInit objects used by GenericMovementGenerator to spline launch time
* This fixes inconsistent transport state detection for players exiting vehicles that are on transport (ICC gunship battle), fixes players being telerpoted to middle of nowhere on that fight

(cherry picked from commit b1a94bf94c)
2022-06-10 15:16:39 +02:00
Giacomo Pozzoni
8111f50d03 Core/Movement: Add new flag MOVEMENTGENERATOR_FLAG_PERSIST_ON_DEATH (#26549)
* Core/Movement: Add new flag MOVEMENTGENERATOR_FLAG_PERSIST_ON_DEATH

Add new flag MOVEMENTGENERATOR_FLAG_PERSIST_ON_DEATH to keep movement generators even after death.

Fixes #23095
Could replace ff26027453

* Core/Movement: reorder new method MotionMaster::StopOnDeath

* Core/Movement: reorder new method MotionMaster::StopOnDeath

* Keep MoveJump movement generator after death

Co-authored-by: ccrs <ccrs@users.noreply.github.com>
(cherry picked from commit 9fe9dc087b)
2022-03-10 23:57:14 +01:00
ccrs
0e0deaefd4 Core/Movement: remove redundant method MovementGenerator::NotifyAIOnFinalize and use existing Finalize - MovementInform implementation
6fde051e4e follow up

(cherry picked from commit 303e01c834)
2022-03-10 23:53:54 +01:00
Ovah
eeac4a12f2 Core/Movement: add optional velocity argument for MoveLand and MoveTakeoff (PR #25516)
(cherry picked from commit 31abdc6ecf)
2022-02-28 14:08:22 +01:00
NoName
ee620856ad Core/Movement: Corrected Animation Tier handling (PR #24875)
Co-authored-by: Warpten <vertozor@gmail.com>
Co-authored-by: Ovahlord <dreadkiller@gmx.de>
Co-authored-by: Carbenium <carbenium@outlook.com>
(cherry picked from commit dad187615d)
2022-02-05 15:40:31 +01:00
Keader
91f6163858 Core/MotionMaster: Do not generate path to MoveLand
(cherry picked from commit 141d3d2718)
2022-02-05 14:44:18 +01:00
Ovah
a3d28efcfa Core/Movement: various improvements for creature knockbacks
* creature knockbacks will no longer generate a full path but instead only use a destination point to reflect sniff data
* calculate the destination by using a mmap raycast instead of using a mmap path which had the chance of creating weird movements when GetNearPosition failed to get a proper collision point (knocking arround a tree for example or just somewhere it should not go at all)

(cherry picked from commit cfd63c350f)
2022-01-01 19:17:05 +01:00
jackpoz
33e495983b Core/Movement: Add safety check to avoid C++ undefined behaviour
(cherry picked from commit 67f28adaf7)
2022-01-01 12:42:31 +01:00