diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-12-31 18:22:40 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-12-31 18:22:40 +0100 |
commit | 704142f15a51055c4fa064b1286b65d78b795e05 (patch) | |
tree | cccebbe29c3c7bf96fc90e0a1e6f34f19cda206e /src/server/game/Phasing | |
parent | 2c044ea9f558d5b181d56f1e318c7c96396f69d7 (diff) |
Core/Maps: Fixed retrieving terrain info when on child maps
Diffstat (limited to 'src/server/game/Phasing')
-rw-r--r-- | src/server/game/Phasing/PhasingHandler.cpp | 6 | ||||
-rw-r--r-- | src/server/game/Phasing/PhasingHandler.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Phasing/PhasingHandler.cpp b/src/server/game/Phasing/PhasingHandler.cpp index 01f996a5a11..ad2395fcb21 100644 --- a/src/server/game/Phasing/PhasingHandler.cpp +++ b/src/server/game/Phasing/PhasingHandler.cpp @@ -574,10 +574,10 @@ bool PhasingHandler::InDbPhaseShift(WorldObject const* object, uint8 phaseUseFla return object->GetPhaseShift().CanSee(phaseShift); } -uint32 PhasingHandler::GetTerrainMapId(PhaseShift const& phaseShift, TerrainInfo const* terrain, float x, float y) +uint32 PhasingHandler::GetTerrainMapId(PhaseShift const& phaseShift, uint32 mapId, TerrainInfo const* terrain, float x, float y) { if (phaseShift.VisibleMapIds.empty()) - return terrain->GetId(); + return mapId; if (phaseShift.VisibleMapIds.size() == 1) return phaseShift.VisibleMapIds.begin()->first; @@ -590,7 +590,7 @@ uint32 PhasingHandler::GetTerrainMapId(PhaseShift const& phaseShift, TerrainInfo if (terrain->HasChildTerrainGridFile(visibleMap.first, gx, gy)) return visibleMap.first; - return terrain->GetId(); + return mapId; } void PhasingHandler::SetAlwaysVisible(WorldObject* object, bool apply, bool updateVisibility) diff --git a/src/server/game/Phasing/PhasingHandler.h b/src/server/game/Phasing/PhasingHandler.h index 779cae19821..6da249558a7 100644 --- a/src/server/game/Phasing/PhasingHandler.h +++ b/src/server/game/Phasing/PhasingHandler.h @@ -65,7 +65,7 @@ public: static void InitDbVisibleMapId(PhaseShift& phaseShift, int32 visibleMapId); static bool InDbPhaseShift(WorldObject const* object, uint8 phaseUseFlags, uint16 phaseId, uint32 phaseGroupId); - static uint32 GetTerrainMapId(PhaseShift const& phaseShift, TerrainInfo const* terrain, float x, float y); + static uint32 GetTerrainMapId(PhaseShift const& phaseShift, uint32 mapId, TerrainInfo const* terrain, float x, float y); static void SetAlwaysVisible(WorldObject* object, bool apply, bool updateVisibility); static void SetInversed(WorldObject* object, bool apply, bool updateVisibility); |