internal static void SpellBegin(object sender, Packet e) { var client = Collections.AttachedClients[(int)sender]; client.IsCurrentlyCasting = true; CallHelper.Reset(); CasterHelper.Reset(); }
public static void ClientPlayerWalked(object sender, Packet packet) { var client = Collections.AttachedClients[(int)sender]; var direction = packet.ReadByte(); var x = packet.ReadInt16(); var y = packet.ReadInt16(); Position oldPosition = new Position(x, y); Position newPosition; switch ((Direction)direction) { case Direction.South: y++; break; case Direction.West: x--; break; case Direction.East: x++; break; case Direction.North: y--; break; } client.Attributes.ServerPosition = newPosition = new Position(x, y); client.Attributes.Direction = (Direction)direction; var obj = client.FieldMap.GetObject(i => i.Serial == client.Attributes.Serial); if (obj != null) { obj.ServerPosition = newPosition; obj.OnPositionUpdated(client, oldPosition, newPosition); } client.Steps++; CasterHelper.Reset(); }