aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Combat/CombatManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Combat/CombatManager.cpp')
-rw-r--r--src/server/game/Combat/CombatManager.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/server/game/Combat/CombatManager.cpp b/src/server/game/Combat/CombatManager.cpp
index bd2f1f5b7ac..b36eb2ddd6e 100644
--- a/src/server/game/Combat/CombatManager.cpp
+++ b/src/server/game/Combat/CombatManager.cpp
@@ -294,13 +294,8 @@ void CombatManager::EndAllPvPCombat()
/*static*/ void CombatManager::NotifyAICombat(Unit* me, Unit* other)
{
- if (!me->IsAIEnabled())
- return;
- me->GetAI()->JustEnteredCombat(other);
-
- if (Creature* cMe = me->ToCreature())
- if (!cMe->CanHaveThreatList())
- cMe->AI()->JustEngagedWith(other);
+ if (UnitAI* ai = me->GetAI())
+ ai->JustEnteredCombat(other);
}
void CombatManager::PutReference(ObjectGuid const& guid, CombatReference* ref)
@@ -337,14 +332,14 @@ bool CombatManager::UpdateOwnerCombatState() const
{
_owner->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT);
_owner->AtEnterCombat();
- if (!_owner->CanHaveThreatList() && !_owner->IsEngaged())
+ if (_owner->GetTypeId() == TYPEID_UNIT)
_owner->AtEngage(GetAnyTarget());
}
else
{
_owner->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT);
_owner->AtExitCombat();
- if (_owner->IsEngaged() && !(_owner->ToCreature() && _owner->CanHaveThreatList() && _owner->ToCreature()->IsAIEnabled()))
+ if (_owner->GetTypeId() != TYPEID_UNIT)
_owner->AtDisengage();
}