aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/TerrainMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-10-06 20:22:14 +0200
committerShauren <shauren.trinity@gmail.com>2023-10-06 20:22:14 +0200
commit0ce96adb7a8ae29a577cce268c8bd3742253cf69 (patch)
tree11baa1795dd2258c7dc4047b536ccdfd9314eaa4 /src/server/game/Maps/TerrainMgr.cpp
parentf774c4e855b372676190279b2bc1ba12ed15f028 (diff)
Core/Objects: Treat areas that have ParentAreaID filled but dont have IsSubzone flag as zones instead of areas
Diffstat (limited to 'src/server/game/Maps/TerrainMgr.cpp')
-rw-r--r--src/server/game/Maps/TerrainMgr.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Maps/TerrainMgr.cpp b/src/server/game/Maps/TerrainMgr.cpp
index 10151fa4127..4e9a0c65e92 100644
--- a/src/server/game/Maps/TerrainMgr.cpp
+++ b/src/server/game/Maps/TerrainMgr.cpp
@@ -646,7 +646,7 @@ uint32 TerrainInfo::GetZoneId(PhaseShift const& phaseShift, uint32 mapId, float
{
uint32 areaId = GetAreaId(phaseShift, mapId, x, y, z, dynamicMapTree);
if (AreaTableEntry const* area = sAreaTableStore.LookupEntry(areaId))
- if (area->ParentAreaID)
+ if (area->ParentAreaID && area->GetFlags().HasFlag(AreaFlags::IsSubzone))
return area->ParentAreaID;
return areaId;
@@ -656,7 +656,7 @@ void TerrainInfo::GetZoneAndAreaId(PhaseShift const& phaseShift, uint32 mapId, u
{
areaid = zoneid = GetAreaId(phaseShift, mapId, x, y, z, dynamicMapTree);
if (AreaTableEntry const* area = sAreaTableStore.LookupEntry(areaid))
- if (area->ParentAreaID)
+ if (area->ParentAreaID && area->GetFlags().HasFlag(AreaFlags::IsSubzone))
zoneid = area->ParentAreaID;
}