From 5ad547d8d9d415affa589954ad11f5660bfd64bc Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sat, 10 Mar 2018 16:34:46 +0100 Subject: [PATCH] Core/Objects: use map to get area and zone id --- src/server/game/Entities/Object/Object.cpp | 15 +++++++++++++++ src/server/game/Entities/Object/Object.h | 6 +++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 4460dac48bc..2ec5a594fe4 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -1310,6 +1310,21 @@ void WorldObject::RemoveFromWorld() Object::RemoveFromWorld(); } +uint32 WorldObject::GetZoneId() const +{ + return GetBaseMap()->GetZoneId(GetPhaseShift(), m_positionX, m_positionY, m_positionZ); +} + +uint32 WorldObject::GetAreaId() const +{ + return GetBaseMap()->GetAreaId(GetPhaseShift(), m_positionX, m_positionY, m_positionZ); +} + +void WorldObject::GetZoneAndAreaId(uint32& zoneid, uint32& areaid) const +{ + GetBaseMap()->GetZoneAndAreaId(GetPhaseShift(), zoneid, areaid, m_positionX, m_positionY, m_positionZ); +} + InstanceScript* WorldObject::GetInstanceScript() const { Map* map = GetMap(); diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index 70e4c68acb5..23774198bc3 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -498,9 +498,9 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation // if negative it is used as PhaseGroupId void SetDBPhase(int32 p) { _dbPhase = p; } - uint32 GetZoneId() const { return m_zoneId; } - uint32 GetAreaId() const { return m_areaId; } - void GetZoneAndAreaId(uint32& zoneid, uint32& areaid) const { zoneid = m_zoneId, areaid = m_areaId; } + uint32 GetZoneId() const; + uint32 GetAreaId() const; + void GetZoneAndAreaId(uint32& zoneid, uint32& areaid) const; InstanceScript* GetInstanceScript() const;