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 78540a5c6eb..b040b78c18a 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -6921,7 +6921,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()))
@@ -6930,15 +6930,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)