Commit Graph

73 Commits

Author SHA1 Message Date
ccrs
bf12bae467 Core/Misc: waypoint movement
- Creature: update current waypoint to store nodeId and pathId
- MotionMaster: change variable type on GetMotionSlotType and GetMotionSlot to keep consistency and prevent errors (ASSERT is now no longer needed)
- UnitAI: add new waypoint hooks WaypointPathStarted and WaypointPathEnded
- SAI: handle WAYPOINT related events if creature is no escorting
* SMART_EVENT_WAYPOINT_RESUMED still not implemented for no escorting

TODO: the new hooks can save, now duplicated, logic on EscortAI and SAI

closes #20777
updates #20310
updates 21bd52cb99

(cherry picked from commit e10d7dd45c)
2021-01-29 19:23:53 +01:00
ccrs
97585597f0 Core/Movement: waypoint movement (#20121)
Following the work done in #19361 this is the cleanup and improvement of the related logic of waypoint management.

Ref 28050f3 #18020
(taking the good parts and ignoring the incomplete work)

(cherry picked from commit 7fff83d675)
2020-08-23 00:45:46 +02:00
ccrs
6209ceddb9 Core/Movement: ee2d7c1d53 followup
(cherry picked from commit 4f43f4d72f)
2020-08-22 20:50:56 +02:00
ccrs
4cf5cb9031 Core/Movement: add new helper that cleans the referenced MovementSlot
(cherry picked from commit ee2d7c1d53)
2020-08-22 20:49:13 +02:00
ccrs
84df2c57a3 Core/Movement: FormationMovementGenerator
Use own movement generator for creatures following on a formation.
First step of implementation, huge room for improvement.

Closes #19422

(cherry picked from commit 46221b6dc1)
2020-04-27 12:25:52 +02:00
ccrs
14c6a4d823 [3.3.5] Core/Movement: MotionMaster & MovementGenerators cleaning (#19361)
(cherry picked from commit 21b8c4997a)
2020-04-27 12:25:52 +02:00
ccrs
953cdbf205 Fix warning
field '_top' will be initialized after field '_owner'

(cherry picked from commit 2b5c765bcd)
2020-04-24 17:18:50 +02:00
ccrs
f135b7aea1 Core/Movement: 96f4c7c followup
(cherry picked from commit 9be7f5f57b)
2020-04-24 17:18:50 +02:00
ccrs
b2d1b11326 Core/MotionMaster: cleanup use of _expireList
And restore broken _cleanFlag check/use on update (eca3645d8b)

(cherry picked from commit 96f4c7c187)
2020-04-24 17:18:50 +02:00
ccrs
dbe54973fb Core/Movement: cleanup MovementGeneratorType
(cherry picked from commit fce974c3b3)
2020-04-24 17:18:49 +02:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Riztazz
2caec4f4d2 Revert "[3.3.5][master] Core/Movement: Smooth movement #13467 (#18020)"
This reverts commit 05fb27dae4.

(cherrypicked from a3c6880579)
2019-08-17 20:04:14 +02:00
vincent-michael
5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
Chaouki Dhib
91a70f9aa2 Core/Movement: minor MotionMaster refactor (#18367)
(cherry picked from commit eca3645d8b)
2018-03-12 10:32:04 +01:00
Riztazz
05fb27dae4 [3.3.5][master] Core/Movement: Smooth movement #13467 (#18020)
Implement smooth movement for all waypoint pathing and escortai

(cherry picked from commit 28050f338d)
2018-02-11 15:53:32 +01:00
Aokromes
b3e2684675 Merge pull request #18053 from ccrs/motion
Core/MotionMaster: cleanup, reordering and renaming

(cherry picked from commit fe68b2e998)

# Conflicts:
#	src/server/game/Movement/MotionMaster.cpp
#	src/server/game/Movement/MotionMaster.h
2018-02-11 14:43:04 +01:00
vincent-michael
7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
Shauren
b453e12423 Core/Game: Include cleanup part 5
* ObjectMgr.h
* Player.h
* Unit.h
* G3D should no longer propagate everywhere from Spline/MotionMaster
2017-06-04 01:00:45 +02:00
Shauren
f2039981e0 Core/Game: Include cleanup, part 3 2017-05-20 00:09:37 +02:00
Aokromes
d8fdc893ee Commit name: Add flying check to MoveSmoothPath
By Malcrom
2017-04-16 15:10:48 +02:00
Shauren
e927ce7385 Warning fix 2017-03-12 10:51:04 +01:00
Shauren
fd0d0f25a9 Core/Spells: Fixed extra charge effect visuals 2017-03-12 00:40:52 +01:00
treeston
205ec4c3bf Core/Unit: Standardize SetFacingTo and SetFacingToObject behavior while moving. Both now fail while moving unless arg2 bool is true.
Movement/SplineChain: Bump value range for DB chainId up to uint16 (0 to 65535) from uint8 (0 to 255). Turns out sniffs generate far more chains than I expected.

(cherry picked from commit 2170541a51)

Code style follow-up, I blame Notepad++.
(cherry picked from commit 7860da0de6)
2017-03-02 20:47:29 +01:00
treeston
59d48ce7e4 Core/Movement: Add new SplineChainMovementGenerator that allows accurate replication of sniffed waypoints in static sequences, along with DB facilities that allow loading of waypoints from DB.
(cherry picked from commit 6d00d3f283)

Merge remote-tracking branch 'Treeston/3.3.5-splinechains' into 3.3.5 (PR #17946)
(cherry picked from commit 20f483967f)

Core/Movement: Add a convenience default ctor to SplineChainResumeInfo, and fix PCH build in some configurations (zzz why do we even keep Appveyor and Travis around).
(cherry picked from commit 4fa646c0b2)

PCH build fix. Again.

(( Alright, you made me waste 20 minutes of my life on a full nonPCH rebuild of the core now. ))
(( I hope you're happy. ))
(cherry picked from commit 4a1a460241)
2017-03-01 22:03:35 +01:00
Shauren
5e437f5d3d Core/Movement: Implement SpellEffectExtraData curve modifiers 2017-02-18 21:55:28 +01:00
treeston
7b3b333dd5 Core/Position: Allow implicit casting to G3D::Vector. Also, add a utility overload to MotionMaster.
(cherry picked from commit 9f15482b84)
2017-02-18 17:55:40 +01:00
vincent-michael
86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01:00
Vincent-Michael
3cd19d3b30 Core: Removed Whitespaces 2016-04-16 12:19:23 +02:00
Chaouki Dhib
d26b0419c3 Core/Movement: Added a wrapper method in MotionMaster for a unit to move toward another unit and stop once it reaches the target at a certain distance. (#16806)
(cherry picked from commit 97b053d203)
2016-04-16 01:31:15 +01:00
treeston
73b917e122 Merge remote-tracking branch 'Eliminationzx/FixJumpDestOrientation' into 3.3.5 (PR #16450) with some minor CS adjustments
(cherry picked from commit cfed2d7a3d)
2016-04-05 19:02:11 +02:00
Naios
bf33159a70 Core/Game: Converted the game library to a shared library.
* There is still the possibility to static link against game.
2016-03-24 01:31:51 +01:00
Shauren
e0437ca494 Core/Spells: Implemented casting spells on movement finish from SPELL_EFFECT_JUMP, SPELL_EFFECT_JUMP_DEST and SPELL_EFFECT_CHARGE 2016-01-25 19:35:41 +01:00
Vincent-Michael
478cc756eb Update copyright note for 2016
Happy new year (Again new year with idiots ...)
2016-01-01 00:34:25 +01:00
joschiwald
92b08fc74b Scripts/VioletHold: rewrote the whole instance
thanks @MitchesD for help

(cherry picked from commit df21162fe4)
(cherry picked from commit 3a4f54197c)
(cherry picked from commit f50df72820)
(cherry picked from commit 95bae7143f)
(cherry picked from commit 5406f82044)
2015-11-01 13:09:30 +01:00
Daniel M. Weeks
b6e926fa2f Remove unnecessary semicolons 2015-05-27 21:16:06 -04:00
click
cc3387d984 Merge pull request #14371 from Kittnz/movecirclepath_003
Core: Move FillCirclePath function to MotionMaster
Closes #14371
(cherry picked from commit cf14e9051d)
2015-03-18 00:35:39 +00:00
Vincent-Michael
ab90f74486 Update copyright note for 2015
Happy new year
2015-01-01 00:28:09 +01:00
joschiwald
053beae172 Core/Spells: consider spell speed in SPELL_EFFECT_CHARGE
Misc: removed some duplicate guid words in logs
2014-09-17 23:24:31 +02:00
zengwf
23acf75d3b Core/Movement: Add LOS check for fleeingmovement target point.
Prevents fleeing or feared units from going to upper floor ignoring walls/ceilings with mmaps on(and usually get stucked).

Current implementation just randomly selects a distance and angle against the frighting unit, when in narrow circumstance such as underground caves, such targeting point would be at another floor.

Closes #11300
Ref #9475 (needs fixed confirmation)
2014-01-12 00:33:33 +00:00
Vincent_Michael
20004050bc Update copyright note for 2014.
Happy new year.
2014-01-01 00:07:53 +01:00
jackpoz
e28cc4660b Core/Movement: Fix invalid memory access
Fix the stack implementation used in MotionMaster and added few sanity checks to ensure no underflows will be made.

Valgrind log:
 Invalid read of size 8
  at : MotionMaster::top() const (MotionMaster.h:115)
  by : MotionMaster::pop() (MotionMaster.h:91)
  by : MotionMaster::~MotionMaster() (MotionMaster.cpp:74)
  by : Unit::~Unit() (Unit.cpp:296)
  by : Player::~Player() (Player.cpp:880)
  by : WorldSession::HandleCharCreateCallback(Trinity::AutoPtr<PreparedResultSet, ACE_Thread_Mutex>, CharacterCreateInfo*) (CharacterHandler.cpp:665)
  by : WorldSession::HandleCharCreateCallback(Trinity::AutoPtr<PreparedResultSet, ACE_Thread_Mutex>, CharacterCreateInfo*) (CharacterHandler.cpp:516)
2013-12-14 16:51:47 +01:00
Shauren
3a955f5141 Core/Movement: Added generatePath argument to MovePoint overload accepting Position arg 2013-05-30 20:29:49 +02:00
Shauren
d926ad63c0 Core/Spells: Fixed charge effects with non-explicit targets 2013-02-13 20:21:26 +01:00
Vincent_Michael
62adbdab99 Merge branch 'master' of github.com:TrinityCore/TrinityCore into mmaps
Conflicts:
	src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
2013-01-01 23:12:21 +01:00
Vincent_Michael
234f097120 Core: Fix build 2013-01-01 23:06:37 +01:00
Vincent_Michael
cc65aba789 Update copyright note for 2013.
Happy new year.
2013-01-01 00:41:01 +01:00
kaelima
0a88787dfc Merge git://github.com/TrinityCore/TrinityCore into mmaps
Conflicts:
	src/server/game/Entities/Vehicle/Vehicle.cpp
	src/server/game/Movement/MovementGenerator.h
	src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.h
	src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h
	src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/IdleMovementGenerator.h
	src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/PointMovementGenerator.h
	src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h
	src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
	src/server/game/Movement/Spline/MoveSpline.h
2012-12-21 00:00:16 +01:00
Spp
e954498560 Core/Misc: Random changes here and there to minimize differences with 4.3.4 branch 2012-11-27 13:03:12 +01:00
Spp
2251d1bfae Core/Misc: Set mode 0644 for files 2012-11-27 13:03:12 +01:00
Nay
b1c4118a33 Merge remote-tracking branch 'origin/master' into mmaps 2012-09-11 01:13:41 +01:00