*Movement Generators standardization.

- bool GetDestination(&x,&y,&z) added to all movement generators.(it is used by update of players view distance)
- Fixed when creature entering in combat not count this as StoppedByPlayer.
- Random Movement Generator - added support for creating custom spawndist during the game.
- Random Movement Generator - Db spawndist is checked only at initialize(NOT in each sellect of random location).
- Added Random Movement to motion master - it can be called now by MoveRandom(spawndist) e.g. for use in SD2.
- Home and Random movements no more using RespawnCoords(Home Position has implemented)
- Fixed bug when creature is moving on path and enter combat, after that returns to spawn position.
-Typo fix in Confused Movement Generator

--HG--
branch : trunk
This commit is contained in:
shadowu@mail.bg
2008-12-19 00:37:40 +02:00
parent 058db69e07
commit 51f0c70b7e
15 changed files with 85 additions and 36 deletions

View File

@@ -43,7 +43,6 @@ void
WaypointMovementGenerator<Creature>::Initialize(Creature &u)
{
i_currentNode = -1;
u.StopMoving();
if(!path_id)
path_id = u.GetWaypointPath();
waypoints = WaypointMgr.GetPath(path_id);
@@ -84,7 +83,11 @@ bool WaypointMovementGenerator<Player>::GetDestination(float &x, float &y, float
}
template<>
void WaypointMovementGenerator<Creature>::Reset(Creature &unit){}
void WaypointMovementGenerator<Creature>::Reset(Creature &unit)
{
StopedByPlayer = false;
i_nextMoveTime.Reset(0);
}
template<>
void WaypointMovementGenerator<Player>::Reset(Player &unit){}