From 16a06346aea16ffd6ee84081cedfdb0c75ac0b38 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 23 Jul 2022 19:13:33 +0200 Subject: Core/Maps: Move terrain data handling out of Map class Partial port of cmangos/mangos-wotlk@ff5232c64809207b5fa59d62e9870f58a36b6f3f --- src/server/game/Phasing/PhasingHandler.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/server/game/Phasing/PhasingHandler.cpp') diff --git a/src/server/game/Phasing/PhasingHandler.cpp b/src/server/game/Phasing/PhasingHandler.cpp index 50e7afe586f..92e2995a514 100644 --- a/src/server/game/Phasing/PhasingHandler.cpp +++ b/src/server/game/Phasing/PhasingHandler.cpp @@ -29,6 +29,7 @@ #include "PhaseShift.h" #include "Player.h" #include "SpellAuraEffects.h" +#include "TerrainMgr.h" #include "Vehicle.h" #include #include @@ -72,7 +73,7 @@ public: for (ObjectGuid summonGuid : unit->m_SummonSlot) if (!summonGuid.IsEmpty()) - if (Creature* summon = unit->GetMap()->GetCreature(summonGuid)) + if (Creature* summon = ObjectAccessor::GetCreature(*unit, summonGuid)) if (_visited.insert(summon).second) func(summon); @@ -562,10 +563,10 @@ bool PhasingHandler::InDbPhaseShift(WorldObject const* object, uint8 phaseUseFla return object->GetPhaseShift().CanSee(phaseShift); } -uint32 PhasingHandler::GetTerrainMapId(PhaseShift const& phaseShift, Map const* map, float x, float y) +uint32 PhasingHandler::GetTerrainMapId(PhaseShift const& phaseShift, TerrainInfo const* terrain, float x, float y) { if (phaseShift.VisibleMapIds.empty()) - return map->GetId(); + return terrain->GetId(); if (phaseShift.VisibleMapIds.size() == 1) return phaseShift.VisibleMapIds.begin()->first; @@ -575,10 +576,10 @@ uint32 PhasingHandler::GetTerrainMapId(PhaseShift const& phaseShift, Map const* int32 gy = (MAX_NUMBER_OF_GRIDS - 1) - gridCoord.y_coord; for (std::pair const& visibleMap : phaseShift.VisibleMapIds) - if (map->HasChildMapGridFile(visibleMap.first, gx, gy)) + if (terrain->HasChildTerrainGridFile(visibleMap.first, gx, gy)) return visibleMap.first; - return map->GetId(); + return terrain->GetId(); } void PhasingHandler::SetAlwaysVisible(WorldObject* object, bool apply, bool updateVisibility) -- cgit v1.2.3