* New database table `vehicle_template` holds info for despawn delay with option to extend it in the future
(cherry picked from commit c7b10d3c5f)
# Conflicts:
# src/server/game/Entities/Unit/Unit.cpp
# src/server/game/Entities/Vehicle/Vehicle.cpp
# src/server/game/Globals/ObjectMgr.cpp
# src/server/game/Globals/ObjectMgr.h
* Core/SAI: Fix SMART_EVENT_FLAG_NOT_REPEATABLE flag being ignored when specifying a chance
Fix SMART_EVENT_FLAG_NOT_REPEATABLE flag being ignored when specifying a chance, always making the action trigger.
* Fix SMART_ACTION_CAST with SMART_EVENT_FLAG_NOT_REPEATABLE not casting the spell at all if rolled chance was successful but creature couldn't cast the spell
* Prevent linked actions if SMART_ACTION_CAST couldn't be completed and will be retried later
Use the same logic of (CENTER_GRID_ID - x / SIZE_OF_GRIDS) in GridMap::getMinHeight() as Map::GetGrid() to avoid coord grid mismatches caused by floating point precision, i.e. getting the wrong grid.
Replace defines with constexpr in grids to make debugging easier.
Closes#25652
Turned out almost all spells from BM were copied to create Violet Hold. Not only serverside spells and not only their effects but also attributes and icons. The scripts were also copied, possibly unchanged
* Core/SAI: implement new smart actions to change AI Animkits and to enable/disable hover movement for units
SMART_ACTION_SET_AI_ANIM_KIT (parameter 1: animKitId)
SMART_ACTION_SET_HOVER (parameter1: enable/disable)
* Update SmartScriptMgr.cpp
* Update SmartScript.cpp
* removed SMART_ACTION_SET_AI_ANIM_KIT since it's reserved for master
* Build/Misc: Add a few *San CMake flags
Add the following flags for the related tools:
- MSAN for Memory Sanitizer
- UBSAN for Undefined Behavior Sanitizer
- TSAN for Thread Sanitizer
* Remove unused parameter
* Fix UBSan reported issue
* Disable G3D buffer pools when using Thread Sanitizer as it has its custom locking mechanisms
* Code cleanup
* Move threads from maps to tiles
* Move tile building logic to TileBuilder class
* Fix memory leak in TileBuilder
* Fix build
* Store TileBuilder as raw pointer for now, it will be changed later on to use modern C++ constructs
* Fix crash on shutdown
* Revert pvs-studio change
* Fix generating 1 single tile not closing the program
- Fixed Reliquary of Souls ignoring boundary
- Fixed Maiev texts timer
- Fixed Shadow Prison hitting every single npc on black temple
Many thanks to Ovahlord
Add player parameter to the `Talk()` command to resolve an issue where
the creature_text `SAY_TYRION_1` shows $n in-game during the course of
events of the quest "The Attack!" in Stormwind City.
Soon to be replaced by SAI scripting. This is a temp solution.
Ref. #25608 & #24735
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>