* Scripts/Misc: Change IsSummonedBy(Unit*) to IsSummonedBy(WorldObject*)
* Scripts/Misc: Fix build
* Core/TempSummons: Rename GetSummoner() to GetSummonerUnit()
* Core/TempSummons: Add support to TempSummons::GetSummoner() to return GameObject too
* Fix build
* Core/TempSummons: Allow GameObject to be owner of TempSummon
* Core/TempSummons: Add support to SAI for GameObject owner of TempSummon
* Scripts/Misc: Fix no-pch build
* Core/TempSummons: Implement PR comments
(cherry picked from commit 797fba98e95da1236465a15061ec4122d7ec33fe)
Fix SMART_EVENT_SUMMON_DESPAWNED not working when event_param1 was set to any value other than 0
(cherry picked from commit 457fc224733cc78cedc5e956442a9f5d7bd2f049)
* Properly restore react state after possession expires. Closes#20769.
* Possessed creatures now don't override player control with random/waypoint motion
* SmartAI creatures now properly re-aggress charmer after charm expires
(cherry picked from commit da21ca80fc35a325df0fb0ef2f687a91121d42de)
Internal structure and handling changes, nothing behavioural (or thats the intention at least).
(cherry picked from commit 982643cd96790ffc54e7a3e507469649f3b074d2)
- AI hook will now receive the result by copy, as modifying it had no effect
- Some renaming: result->spellClickHandled, clickPair is actually clickBounds, the clickPair is the pair <creatureID, SpellClickInfo>
(cherry picked from commit 98d6258efdc07b53808ba6177e5427c65163bc0d)
Note that a lot of these scripts may either not currently work, not work reliably, or may be prone to breaking unexpectedly when core internals change. SMART_TARGET_INVOKER is undefined behavior on any event that doesn't directly specify its invoker.
(We are considering options for allowing INVOKER to make sense in timed action lists in a reliable fashion, so they are exempted at this time.)
(cherry picked from commit 482328bddf1c5fcd367268525d2f904793239bc9)
- 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 e10d7dd45cfc073c791cd5e5f3f964d14b37df3d)
mistake introduced in 15f2706acaa that was masqueraded by other checks in combat start, till recent related commits
(cherry picked from commit d117a0e4d4aa29960c04d09ba90d2d0798a5c1b6)
remove home position set from creature PauseMovement, and use it when necessary
change log level on DelayedDelete
(cherry picked from commit cd4775420a4894012616d54467eb3827430245b5)
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 7fff83d67526efff63867d41b9e036a19a9287b3)
- Rename JustRespawned to JustAppeared, which better matches its behavior anyway.
- Properly invoke JustAppeared for new (re-)spawns - fixes#20111.
- Fix Thaddius script to work with dynamic_spawning (mostly unrelated to the above) - Feugen/Stalagg should really be a summon group, but I don't have time to fix that right now.
- Fix default value for DynamicEscortNPC to match worldserver.conf.dist.
(cherry picked from commit 184c45cfe0fbe4f3e4fb701f0f99994df98bdc8a)