diff options
Diffstat (limited to 'src/server/game')
| -rw-r--r-- | src/server/game/AI/CreatureAI.cpp | 5 | ||||
| -rw-r--r-- | src/server/game/Combat/CombatManager.cpp | 9 | ||||
| -rw-r--r-- | src/server/game/Combat/CombatManager.h | 1 |
3 files changed, 12 insertions, 3 deletions
diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp index 53020cf8e21..737ff5a3aa5 100644 --- a/src/server/game/AI/CreatureAI.cpp +++ b/src/server/game/AI/CreatureAI.cpp @@ -87,11 +87,10 @@ void CreatureAI::DoZoneInCombat(Creature* creature /*= nullptr*/) return; } - Map::PlayerList const& playerList = map->GetPlayers(); - if (playerList.isEmpty()) + if (!map->HavePlayers()) return; - for (auto const& ref : playerList) + for (MapReference const& ref : map->GetPlayers()) { if (Player* player = ref.GetSource()) { diff --git a/src/server/game/Combat/CombatManager.cpp b/src/server/game/Combat/CombatManager.cpp index 04525f02f1c..ba752dcc20b 100644 --- a/src/server/game/Combat/CombatManager.cpp +++ b/src/server/game/Combat/CombatManager.cpp @@ -141,6 +141,15 @@ void CombatManager::Update(uint32 tdiff) } } +bool CombatManager::HasPvECombatWithPlayers() const +{ + for (std::pair<ObjectGuid const, CombatReference*> const& reference : _pveRefs) + if (reference.second->GetOther(_owner)->GetTypeId() == TYPEID_PLAYER) + return true; + + return false; +} + bool CombatManager::HasPvPCombat() const { for (auto const& pair : _pvpRefs) diff --git a/src/server/game/Combat/CombatManager.h b/src/server/game/Combat/CombatManager.h index 85cb3b5e7f8..8dc3aef83c9 100644 --- a/src/server/game/Combat/CombatManager.h +++ b/src/server/game/Combat/CombatManager.h @@ -106,6 +106,7 @@ class TC_GAME_API CombatManager Unit* GetOwner() const { return _owner; } bool HasCombat() const { return HasPvECombat() || HasPvPCombat(); } bool HasPvECombat() const { return !_pveRefs.empty(); } + bool HasPvECombatWithPlayers() const; std::unordered_map<ObjectGuid, CombatReference*> const& GetPvECombatRefs() const { return _pveRefs; } bool HasPvPCombat() const; std::unordered_map<ObjectGuid, PvPCombatReference*> const& GetPvPCombatRefs() const { return _pvpRefs; } |
