aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp25
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h14
2 files changed, 20 insertions, 19 deletions
diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
index 6171afc5274..a6d1d3b93d8 100755
--- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
@@ -30,17 +30,15 @@
#include "WaypointManager.h"
#include "World.h"
-WaypointMovementGenerator<Creature>::WaypointMovementGenerator(WaypointPath& path, bool repeating)
+WaypointMovementGenerator<Creature>::WaypointMovementGenerator(uint32 pathId, bool repeating) : _nextMoveTime(0), _recalculateSpeed(false), _isArrivalDone(false), _pathId(pathId),
+ _repeating(repeating), _loadedFromDB(true), _stalled(false), _done(false)
+{
+}
+
+WaypointMovementGenerator<Creature>::WaypointMovementGenerator(WaypointPath& path, bool repeating) : _nextMoveTime(0), _recalculateSpeed(false), _isArrivalDone(false), _pathId(0),
+ _repeating(repeating), _loadedFromDB(false), _stalled(false), _done(false)
{
_path = &path;
- _nextMoveTime = 0;
- _recalculateSpeed = false;
- _isArrivalDone = false;
- _pathId = 0;
- _repeating = repeating;
- _loadedFromDB = false;
- _stalled = false;
- _done = false;
}
void WaypointMovementGenerator<Creature>::LoadPath(Creature* creature)
@@ -322,6 +320,15 @@ bool WaypointMovementGenerator<Creature>::CanMove(Creature* creature)
#define SKIP_SPLINE_POINT_DISTANCE_SQ (40.f * 40.f)
#define PLAYER_FLIGHT_SPEED 32.0f
+FlightPathMovementGenerator::FlightPathMovementGenerator(uint32 startNode)
+{
+ _currentNode = startNode;
+ _endGridX = 0.0f;
+ _endGridY = 0.0f;
+ _endMapId = 0;
+ _preloadTargetNode = 0;
+}
+
uint32 FlightPathMovementGenerator::GetPathAtMapEnd() const
{
if (_currentNode >= _path.size())
diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
index a72122c63e1..e447bad7bb8 100755
--- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
@@ -28,10 +28,10 @@
#include "DBCStructure.h"
#include "MovementGenerator.h"
-#include "Player.h"
#include "Timer.h"
class Creature;
+class Player;
struct WaypointPath;
template<class Entity, class BasePath>
@@ -55,7 +55,7 @@ template<>
class WaypointMovementGenerator<Creature> : public MovementGeneratorMedium<Creature, WaypointMovementGenerator<Creature>>, public PathMovementBase<Creature, WaypointPath const*>
{
public:
- explicit WaypointMovementGenerator(uint32 pathId = 0, bool repeating = true) : _nextMoveTime(0), _recalculateSpeed(false), _isArrivalDone(false), _pathId(pathId), _repeating(repeating), _loadedFromDB(true), _stalled(false), _done(false) { }
+ explicit WaypointMovementGenerator(uint32 pathId = 0, bool repeating = true);
explicit WaypointMovementGenerator(WaypointPath& path, bool repeating = true);
~WaypointMovementGenerator() { _path = nullptr; }
@@ -102,14 +102,8 @@ class WaypointMovementGenerator<Creature> : public MovementGeneratorMedium<Creat
class FlightPathMovementGenerator : public MovementGeneratorMedium<Player, FlightPathMovementGenerator>, public PathMovementBase<Player, TaxiPathNodeList>
{
public:
- explicit FlightPathMovementGenerator(uint32 startNode = 0)
- {
- _currentNode = startNode;
- _endGridX = 0.0f;
- _endGridY = 0.0f;
- _endMapId = 0;
- _preloadTargetNode = 0;
- }
+ explicit FlightPathMovementGenerator(uint32 startNode = 0);
+
void LoadPath(Player* player);
void DoInitialize(Player*);
void DoReset(Player*);