Core/Objects: Treat areas that have ParentAreaID filled but dont have IsSubzone flag as zones instead of areas

Port From (https://github.com/TrinityCore/TrinityCore/commit/0ce96adb7a8ae29a577cce268c8bd3742253cf69)
This commit is contained in:
hondacrx
2024-02-01 09:51:04 -05:00
parent b48f777dc6
commit a436f7b2d1
8 changed files with 28 additions and 20 deletions
+2 -2
View File
@@ -785,7 +785,7 @@ namespace Game.Maps
uint areaId = GetAreaId(phaseShift, mapId, x, y, z, dynamicMapTree);
var area = CliDB.AreaTableStorage.LookupByKey(areaId);
if (area != null)
if (area.ParentAreaID != 0)
if (area.ParentAreaID != 0 && area.GetFlags().HasFlag(AreaFlags.IsSubzone))
return area.ParentAreaID;
return areaId;
@@ -798,7 +798,7 @@ namespace Game.Maps
areaid = zoneid = GetAreaId(phaseShift, mapId, x, y, z, dynamicMapTree);
var area = CliDB.AreaTableStorage.LookupByKey(areaid);
if (area != null)
if (area.ParentAreaID != 0)
if (area.ParentAreaID != 0 && area.GetFlags().HasFlag(AreaFlags.IsSubzone))
zoneid = area.ParentAreaID;
}