aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-07-24 18:56:40 +0200
committerShauren <shauren.trinity@gmail.com>2022-07-24 18:56:40 +0200
commitfbe0b8efebca3bc2662b477bdf45627f9783d6c2 (patch)
tree6f5662045be0c4e5f06d8a97f9669b7f93cf2df1 /src/server/game/Movement
parent8f2c5413d7a3775a304c793653d41caabf3ba997 (diff)
Core/Maps: Removed MapInstanced - no longer neccessary for grid data reference counting (moved to TerrainInfo)
Diffstat (limited to 'src/server/game/Movement')
-rw-r--r--src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp12
-rw-r--r--src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.h2
-rw-r--r--src/server/game/Movement/Waypoints/WaypointManager.cpp1
3 files changed, 9 insertions, 6 deletions
diff --git a/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp
index a58b6b7f824..b34809b2f51 100644
--- a/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp
@@ -19,7 +19,7 @@
#include "DB2Stores.h"
#include "GameEventSender.h"
#include "Log.h"
-#include "MapManager.h"
+#include "Map.h"
#include "MovementDefines.h"
#include "MoveSpline.h"
#include "MoveSplineInit.h"
@@ -132,7 +132,7 @@ bool FlightPathMovementGenerator::DoUpdate(Player* owner, uint32 /*diff*/)
break;
if (_currentNode == _preloadTargetNode)
- PreloadEndGrid();
+ PreloadEndGrid(owner);
_currentNode += departureEvent ? 1 : 0;
departureEvent = !departureEvent;
@@ -284,14 +284,18 @@ void FlightPathMovementGenerator::InitEndGridInfo()
_preloadTargetNode = 0;
else
_preloadTargetNode = nodeCount - 3;
+
+ while (_path[_preloadTargetNode]->ContinentID != _endMapId)
+ ++_preloadTargetNode;
+
_endGridX = _path[nodeCount - 1]->Loc.X;
_endGridY = _path[nodeCount - 1]->Loc.Y;
}
-void FlightPathMovementGenerator::PreloadEndGrid()
+void FlightPathMovementGenerator::PreloadEndGrid(Player* owner)
{
// Used to preload the final grid where the flightmaster is
- Map* endMap = sMapMgr->FindBaseNonInstanceMap(_endMapId);
+ Map* endMap = owner->GetMap();
// Load the grid
if (endMap)
diff --git a/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.h b/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.h
index 7252b1effe1..10bbab589e2 100644
--- a/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.h
@@ -54,7 +54,7 @@ class FlightPathMovementGenerator : public MovementGeneratorMedium<Player, Fligh
void SkipCurrentNode() { ++_currentNode; }
void DoEventIfAny(Player* owner, TaxiPathNodeEntry const* node, bool departure);
void InitEndGridInfo();
- void PreloadEndGrid();
+ void PreloadEndGrid(Player* owner);
std::string GetDebugInfo() const override;
diff --git a/src/server/game/Movement/Waypoints/WaypointManager.cpp b/src/server/game/Movement/Waypoints/WaypointManager.cpp
index a7c76ad3c90..182f7c35065 100644
--- a/src/server/game/Movement/Waypoints/WaypointManager.cpp
+++ b/src/server/game/Movement/Waypoints/WaypointManager.cpp
@@ -18,7 +18,6 @@
#include "WaypointManager.h"
#include "DatabaseEnv.h"
#include "GridDefines.h"
-#include "MapManager.h"
#include "Log.h"
void WaypointMgr::Load()