diff options
author | Treeston <treeston.mmoc@gmail.com> | 2018-08-23 14:33:28 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-10-22 23:47:51 +0200 |
commit | e4e8c1c59c8b37216814526b4d2551f23934f465 (patch) | |
tree | a135fb3fc2adff0bded65f29d0e165b668a63c5c /src/server/game/Combat/CombatManager.cpp | |
parent | 6a91fe3fbe28e3bf36ab6107b9c6cbb842f65262 (diff) |
Core/AI: Clean up charm AI handling, we now have two unique_ptr instead of a crapton of booleans
(cherry picked from commit 042f5515e4f3e52b0d2e23d9b9e147041849ce12)
Diffstat (limited to 'src/server/game/Combat/CombatManager.cpp')
-rw-r--r-- | src/server/game/Combat/CombatManager.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/server/game/Combat/CombatManager.cpp b/src/server/game/Combat/CombatManager.cpp index 18e4e011351..68233d45b64 100644 --- a/src/server/game/Combat/CombatManager.cpp +++ b/src/server/game/Combat/CombatManager.cpp @@ -70,10 +70,12 @@ void CombatReference::EndCombat() bool const needSecondAI = second->GetCombatManager().UpdateOwnerCombatState(); // ...and if that happened, also notify the AI of it... - if (needFirstAI && first->IsAIEnabled) - first->GetAI()->JustExitedCombat(); - if (needSecondAI && second->IsAIEnabled) - second->GetAI()->JustExitedCombat(); + if (needFirstAI) + if (UnitAI* firstAI = first->GetAI()) + firstAI->JustExitedCombat(); + if (needSecondAI) + if (UnitAI* secondAI = second->GetAI()) + secondAI->JustExitedCombat(); // ...and finally clean up the reference object delete this; @@ -113,8 +115,8 @@ void PvPCombatReference::SuppressFor(Unit* who) { Suppress(who); if (who->GetCombatManager().UpdateOwnerCombatState()) - if (who->IsAIEnabled) - who->GetAI()->JustExitedCombat(); + if (UnitAI* ai = who->GetAI()) + ai->JustExitedCombat(); } CombatManager::~CombatManager() @@ -270,8 +272,8 @@ void CombatManager::SuppressPvPCombat() for (auto const& pair : _pvpRefs) pair.second->Suppress(_owner); if (UpdateOwnerCombatState()) - if (_owner->IsAIEnabled) - _owner->GetAI()->JustExitedCombat(); + if (UnitAI* ownerAI = _owner->GetAI()) + ownerAI->JustExitedCombat(); } void CombatManager::EndAllPvECombat() @@ -291,7 +293,7 @@ void CombatManager::EndAllPvPCombat() /*static*/ void CombatManager::NotifyAICombat(Unit* me, Unit* other) { - if (!me->IsAIEnabled) + if (!me->IsAIEnabled()) return; me->GetAI()->JustEnteredCombat(other); |