aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index d04ff396c13..b61f8c7e4b5 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -6900,7 +6900,7 @@ WorldSafeLocsEntry const* ObjectMgr::GetClosestGraveyardInZone(WorldLocation con
if (conditionObject)
{
- if (!sConditionMgr->IsObjectMeetToConditions(conditionSource, data.Conditions))
+ if (!data.Conditions.Meets(conditionSource))
continue;
if (int16(entry->Loc.GetMapId()) == mapEntry->ParentMapID && !conditionObject->GetPhaseShift().HasVisibleMapId(entry->Loc.GetMapId()))
@@ -6909,15 +6909,18 @@ WorldSafeLocsEntry const* ObjectMgr::GetClosestGraveyardInZone(WorldLocation con
else if (team != 0)
{
bool teamConditionMet = true;
- for (Condition const* cond : data.Conditions)
+ if (std::shared_ptr<std::vector<Condition>> conditions = data.Conditions.Conditions.lock())
{
- if (cond->ConditionType != CONDITION_TEAM)
- continue;
+ for (Condition const& cond : *conditions)
+ {
+ if (cond.ConditionType != CONDITION_TEAM)
+ continue;
- if (cond->ConditionValue1 == team)
- continue;
+ if (cond.ConditionValue1 == team)
+ continue;
- teamConditionMet = false;
+ teamConditionMet = false;
+ }
}
if (!teamConditionMet)