* Core/Objects: MovePositonToFirstCollision will now use detour raycasts to determine terrain obstacles
* Added missing includes
* Update Object.cpp
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
* Core/Misc: More coding standards
* revert part
* "void " or more to "void "
* fix? reject
* remove more double whitespaces
* remove more double whitespaces
* more standards
* more coding standards
* More standards
* more coding
* more coding standards
* more coding standards
* And more standards
* 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
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).
* 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
* 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
Bad English grammar previously used in the error log:
"Attempt get value from non-existed value field"
After the change:
"Attempt to get value from non-existing value field"
- 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