#include "PointMovementGenerator.h" #include "Errors.h" #include "Creature.h" #include "CreatureAI.h" #include "MapManager.h" #include "DestinationHolderImp.h" //----- Point Movement Generator void PointMovementGenerator::MovementInform(Creature &unit) { unit.AI()->MovementInform(POINT_MOTION_TYPE, id); } bool PointMovementGenerator::Update(Creature &unit, const uint32 &diff) { if(!&unit) return false; if(unit.hasUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNDED)) return true; Traveller traveller(unit); i_destinationHolder.UpdateTraveller(traveller, diff, false); if(i_destinationHolder.HasArrived()) { unit.StopMoving(); MovementInform(unit); return false; } return true; } void PointMovementGenerator::Initialize(Creature &unit) { unit.StopMoving(); Traveller traveller(unit); i_destinationHolder.SetDestination(traveller,x,y,z); }