Exemple #1
0
        internal static void SpellBegin(object sender, Packet e)
        {
            var client = Collections.AttachedClients[(int)sender];

            client.IsCurrentlyCasting = true;

            CallHelper.Reset();
            CasterHelper.Reset();
        }
Exemple #2
0
        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();
        }