* 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 797fba98e9)
Fix crash caused by WorldObject::setActive(false) called after WorldObject::DespawnOrUnsummon() happening because the WorldObject would be set as not active but then Map::RemoveFromActiveHelper() would not be called because of not being in world anymore.
Whenever setActive() gets desync'd with what Map actually contains a rare crash would happen since Map only reads a few values of the active WorldObject, making it hard to reproduce. If this happens again some ASSERT calls should be added (or a check in Map::RemoveFromMap() could be added about if the WorldObject is in Map::m_activeNonPlayers container).
(cherry picked from commit 1c833f28e4)
* Core/Movement:
- Only move to point if there is a path that is not a shortcut (which will make the unit move through terrain)
- Added new function to check if there is a vmap floor without search distance
- Units that can fly, are underground but far above the vmap floor will stay underground (bronze drakes in tanaris)
- Don't remove PATHFIND_SHORTCUT from path type in some cases
* Core/Object: Ignore UpdateAllowedPositionZ for flying units.
- This will make flying units go through mountains instead of going to the top and back to the bottom to reach you.
* Core/Object: Revert some changes and let MovePositionToFirstCollision deal with a position without ground
* Missing groundZ change for objects on transport
* use CanFly instead of IsFlying
(cherry picked from commit 9fcbd8f15d)
* Core/Misc: Log more information in asserts
Add a new function GetDebugInfos() to types that could trigger an ASSERT() to easily include more useful information in crashlogs.
This is an initial commit that requires many more commits to implement the new GetDebugInfos() function in all required types.
If the type doesn't have the function, the global default one is picked which doesn't log anything.
* Core/Misc: Fix dynamic build
Add missing attribute for dynamic build
* Core/Misc: Fix gcc/clang build
* Core/Misc: Rename GetDebugInfos() to GetDebugInfo()
* Core/Misc: Fix FormatAssertionMessage() adding an extra '\0'
* Core/Misc: Add GetDebugInfo support to Unit
* Core/Misc: Add GetDebugInfo support to Creature
* Core/Misc: Add more info to GetDebugInfo for Creature
* Core/Misc: Add GetDebugInfo support to GameObject
* Core/Misc: Add GetDebugInfo support to Player
* Core/Misc: Add more GetDebugInfo info
* Core/Misc: Add GetDebugInfo support to Item
* Core/Misc: Add GetDebugInfo support to Bag
* Core/Misc: Add GetDebugInfo support to Transport
* Core/Misc: Add GetDebugInfo support to TempSummon, Minion, Guardian, Pet
* Core/Misc: Add GetDebugInfo support to Map, InstanceMap
* Core/Misc: Add GetDebugInfo support to Spell
* Core/Misc: Fix build warning
* Core/Misc: Add GetDebugInfo support to Aura
* Core/Misc: Add GetDebugInfo support to UnitAI
(cherry picked from commit 9a924fb9d5)
* Rename WorldPackets::BattlePet::BattlePet::CollarID to WorldPackets::BattlePet::BattlePet::DisplayID
* Use the DisplayID field to store the model of the battle pet. If the species has BattlePetSpeciesFlags::RandomDisplay, nothing is stored. Otherwise a random model is chosen from those available
* Stored DisplayID in ITEM_MODIFIER_BATTLE_PET_DISPLAY_ID when caging the battle pet (previously the CreatureID was being stored)
* Modified SendPlaySpellVisual function to allow sending Target and TargetPosition at the same time
* Added SpellVisual when uncaging
- Aura will be applied at last moment possible (after damage) to prevent regressions on #18395
- Partial revert of 9b38a6352c as it wasnt handling correctly checks without spells
Closes#21578Closes#21579Closes#21581
(cherry picked from commit d6b9f148a7)
Reduce the probabilty of going under the map
(cherry picked from commit 9e0faace9a)
Revert "Core/Entities: Reduce the probability of units dropping under the map (#21322)"
(cherry picked from commit 2dadbda24a)