aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp7
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp2
2 files changed, 4 insertions, 5 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index c617066b375..8c9e6538ce0 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -702,6 +702,9 @@ void Creature::Update(uint32 diff)
if (m_deathState != CORPSE)
break;
+ if (IsEngaged())
+ Unit::AIUpdateTick(diff);
+
if (m_groupLootTimer && lootingGroupLowGUID)
{
if (m_groupLootTimer <= diff)
@@ -788,8 +791,6 @@ void Creature::Update(uint32 diff)
}
}
-
- // do not allow the AI to be changed during update
Unit::AIUpdateTick(diff);
// creature can be dead after UpdateAI call
@@ -3272,7 +3273,7 @@ void Creature::AtDisengage()
Unit::AtDisengage();
ClearUnitState(UNIT_STATE_ATTACK_PLAYER);
- if (HasFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED))
+ if (IsAlive() && HasFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED))
SetUInt32Value(UNIT_DYNAMIC_FLAGS, GetCreatureTemplate()->dynamicflags);
if (IsPet() || IsGuardian()) // update pets' speed for catchup OOC speed
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index b69b16b9f41..de289fa04f5 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -10950,8 +10950,6 @@ bool Unit::InitTamedPet(Pet* pet, uint8 level, uint32 spell_id)
if (!creature->IsPet())
{
- creature->GetThreatManager().ClearAllThreat();
-
// must be after setDeathState which resets dynamic flags
if (!creature->loot.isLooted())
creature->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);