aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/AI/CreatureAI.cpp5
-rw-r--r--src/server/game/Combat/CombatManager.cpp9
-rw-r--r--src/server/game/Combat/CombatManager.h1
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; }