void Player_Trace(int targetid)
{
try
{
if (Character.Action.Target != 0)
{
obj monster = GetObject(Character.Action.Target);
if (monster == null) return;
double distance = Formule.gamedistance(Character.Position.x, Character.Position.y, (float)monster.x, (float)monster.y);
if (distance >= 2)
{
Character.Position.wX = (float)monster.x - Character.Position.x;// -Data.ItemBase[Character.Information.Item.wID].ATTACK_DISTANCE;
Character.Position.wY = (float)monster.y - Character.Position.y;// -Data.ItemBase[Character.Information.Item.wID].ATTACK_DISTANCE;
if (!Character.InGame) return;
Send(Packet.Movement(new DarkEmu_GameServer.Global.vektor(Character.Information.UniqueID,
(float)Formule.packetx((float)monster.x, monster.xSec),
(float)Character.Position.z,
(float)Formule.packety((float)(float)monster.y, monster.ySec),
Character.Position.xSec,
Character.Position.ySec)));
Character.Position.Time = (distance / (Character.Speed.RunSpeed * 0.0768)) * 1000.0;
Character.Position.RecordedTime = Character.Position.Time;
StartMovementTimer((int)(Character.Position.Time * 0.1));
return;
}
}
}
catch (Exception ex)
{
Systems.Debugger.Write(ex);
}
}