aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2024-05-02 22:50:20 +0200
committerOvahlord <dreadkiller@gmx.de>2024-05-28 16:49:26 +0200
commit228ae7e885898184bde9fc484e35aa9109de2bc1 (patch)
tree8a831b77c00cea3e4bc7857dc8cb8dadfcaac8e5 /src/server/game/Entities
parent2ceae541cc1e998e2404495a99061c652bc05de4 (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.cpp5
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();