Core/Misc: Use DBCManager::IsInArea for area-related criterias and conditions

This commit is contained in:
Meji authored and Ovahlord committed 2023-10-18 21:40:57 +02:00
1 parent e4a33bd4df
commit 7bc8e31be0
2 files changed
+3 -7

No files matched your search

@@ -2853,9 +2853,7 @@ bool AchievementMgr<T>::AdditionalRequirementsSatisfied(AchievementCriteriaEntry
}
case ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_AREA_OR_ZONE: // 17
{
uint32 zoneId, areaId;
referencePlayer->GetZoneAndAreaId(zoneId, areaId);
if (zoneId != reqValue && areaId != reqValue)
if (!DBCManager::IsInArea(referencePlayer->GetAreaId(), reqValue))
return false;
break;
}
@@ -2863,9 +2861,7 @@ bool AchievementMgr<T>::AdditionalRequirementsSatisfied(AchievementCriteriaEntry
{
if (!ref)
return false;
uint32 zoneId, areaId;
ref->GetZoneAndAreaId(zoneId, areaId);
if (zoneId != reqValue && areaId != reqValue)
if (!DBCManager::IsInArea(ref->GetAreaId(), reqValue))
return false;
break;
}
+1 -1
View File
@@ -327,7 +327,7 @@ bool Condition::Meets(ConditionSourceInfo& sourceInfo) const
break;
}
case CONDITION_AREAID:
condMeets = object->GetAreaId() == ConditionValue1;
condMeets = DBCManager::IsInArea(object->GetAreaId(), ConditionValue1);
break;
case CONDITION_SPELL:
{