diff options
| author | Ovahlord <dreadkiller@gmx.de> | 2024-05-02 22:50:20 +0200 |
|---|---|---|
| committer | Ovahlord <dreadkiller@gmx.de> | 2024-05-28 16:49:26 +0200 |
| commit | 228ae7e885898184bde9fc484e35aa9109de2bc1 (patch) | |
| tree | 8a831b77c00cea3e4bc7857dc8cb8dadfcaac8e5 /src/server/game/Entities | |
| parent | 2ceae541cc1e998e2404495a99061c652bc05de4 (diff) | |
Core/Combat: reset the ThreatManager update interval upon engaging the creature and move ThreatClear packet sending into the update cycle to mimic retail behavior (#29949)
(cherry picked from commit 24bda9c73dcd89d4da4e871e00fd83a24b8275d2)
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 935af2e4a6d..33f2d0b4ea6 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -733,6 +733,8 @@ void Creature::Update(uint32 diff) UpdateMovementCapabilities(); + GetThreatManager().Update(diff); + switch (m_deathState) { case JUST_RESPAWNED: @@ -819,7 +821,6 @@ void Creature::Update(uint32 diff) if (!IsAlive()) break; - GetThreatManager().Update(diff); if (_spellFocusInfo.Delay) { if (_spellFocusInfo.Delay <= diff) @@ -3477,6 +3478,8 @@ void Creature::AtEngage(Unit* target) { Unit::AtEngage(target); + GetThreatManager().ResetUpdateTimer(); + if (!HasFlag(CREATURE_STATIC_FLAG_2_ALLOW_MOUNTED_COMBAT)) Dismount(); |
