From 7bc8e31be0a16939439621e02f66031f8564b384 Mon Sep 17 00:00:00 2001 From: Meji Date: Wed, 18 Oct 2023 21:40:57 +0200 Subject: [PATCH] Core/Misc: Use DBCManager::IsInArea for area-related criterias and conditions --- src/server/game/Achievements/AchievementMgr.cpp | 8 ++------ src/server/game/Conditions/ConditionMgr.cpp | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index 5729239cc5..ee3b4cd338 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -2853,9 +2853,7 @@ bool AchievementMgr::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::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; } diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index 1a570d49c7..15993d233a 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -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: {