aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
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/Entities
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/Entities')
-rw-r--r--src/server/game/Entities/Object/Object.cpp2
-rw-r--r--src/server/game/Entities/Player/Player.cpp5
2 files changed, 4 insertions, 3 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 3678284124f..1a141a7203d 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -992,7 +992,7 @@ void WorldObject::ProcessPositionDataChanged(PositionFullTerrainStatus const& da
{
m_zoneId = m_areaId = data.areaId;
if (AreaTableEntry const* area = sAreaTableStore.LookupEntry(m_areaId))
- if (area->ParentAreaID)
+ if (area->ParentAreaID && area->GetFlags().HasFlag(AreaFlags::IsSubzone))
m_zoneId = area->ParentAreaID;
m_outdoors = data.outdoors;
m_staticFloorZ = data.floorZ;
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 9184adfb473..c49a21ead31 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -29006,8 +29006,9 @@ std::string Player::GetMapAreaAndZoneString() const
if (AreaTableEntry const* area = sAreaTableStore.LookupEntry(areaId))
{
areaName = area->AreaName[GetSession()->GetSessionDbcLocale()];
- if (AreaTableEntry const* zone = sAreaTableStore.LookupEntry(area->ParentAreaID))
- zoneName = zone->AreaName[GetSession()->GetSessionDbcLocale()];
+ if (area->GetFlags().HasFlag(AreaFlags::IsSubzone))
+ if (AreaTableEntry const* zone = sAreaTableStore.LookupEntry(area->ParentAreaID))
+ zoneName = zone->AreaName[GetSession()->GetSessionDbcLocale()];
}
std::ostringstream str;