*Fix a crash bug caused by motionmaster.

*Fix charge movement.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-01-17 17:46:28 -06:00
parent ff3157eeb3
commit 9f1409c557
12 changed files with 81 additions and 106 deletions
+9 -3
View File
@@ -95,10 +95,16 @@ DestinationHolder<TRAVELLER>::StartTravel(TRAVELLER &traveller, bool sendMove)
dist = sqrt((dx*dx) + (dy*dy) + (dz*dz));
else //Walking on the ground
dist = sqrt((dx*dx) + (dy*dy));
float speed = traveller.Speed();
speed *= 0.001f; // speed is in seconds so convert from second to millisecond
i_totalTravelTime = static_cast<uint32>(dist/speed);
if(traveller.GetTraveller().hasUnitState(UNIT_STAT_CHARGING))
i_totalTravelTime = 1000;
else
{
float speed = traveller.Speed();
speed *= 0.001f; // speed is in seconds so convert from second to millisecond
i_totalTravelTime = static_cast<uint32>(dist/speed);
}
i_timeElapsed = 0;
if(sendMove)
traveller.MoveTo(i_destX, i_destY, i_destZ, i_totalTravelTime);