* updated Concussion Blow spellscript and use proper calculation for damage values
* fixed Eviscerate and Ferocious Bite damage bonus calculation
* converted Warrior's Shockwave and Victory Rush damage bonus to spellscript and calculate values properly
* fixed Death and Decay threat generation amount
The code in Creature::Update() should be modified to wait a few seconds before resetting the hp. PATHFIND_NOPATH / PATHFIND_INCOMPLETE don't really mean that the Creature can't attack the player anyway either.
# Conflicts:
# src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp
Fix a memory leak in Metric happening only when enabling/disabling Metric from configs at runtime, leaking the metric added between last SendBatch() call and the ScheduleSend() call in the same function. The only way to reproduce this is to actually freeze the thread calling SendBatch(), disable metric, reload config, unfreeze the thread.
Fix .cheat god command still letting you die with Area Aura like Slime near Thaddius, broken since 777b287dff
# Conflicts:
# src/server/game/Entities/Unit/Unit.cpp
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).
As a result, inheriting scripts calling Start in on-create hooks (like JustSummoned) will now work properly again.
Tagging #20310.
# Conflicts:
# src/server/game/AI/ScriptedAI/ScriptedEscortAI.h
It is already called for every creature in SmartAI::InitializeAI(), removing the one from SmartAI::JustAppeared to keep as much as possible of the old behavior, because JustAppeared is called on the next tick after InitializeAI
Closes#20881Closes#20771