Esempio n. 1
0
        private void HandleJumping(GameClient Client, GeneralData* Packet)
        {
            ushort X1 = Packet->ValueA;
            ushort Y1 = Packet->ValueB;

            if ((X1 != Client.Entity.Location.X) || (Y1 != Client.Entity.Location.Y))
            {
                Client.Disconnect();
            }
            else
            {
                ushort X2 = Packet->ValueD_High;
                ushort Y2 = Packet->ValueD_Low;

                Client.Entity.Angle = ConquerMath.GetAngle(Client.Entity.Location, new Location() { X = X2, Y = Y2 });

                Client.Entity.Location.X = X2;
                Client.Entity.Location.Y = Y2;

                if (!Kernel.IsWalkable(Client.Entity.Location.MapID,
                    Client.Entity.Location.X, Client.Entity.Location.Y))
                {
                    Client.Disconnect();
                }
                else
                {

                    Client.Send(Packet, Packet->Size);

                    Client.SendScreen(Packet, Packet->Size);
                    Kernel.GetScreen(Client, ConquerCallbackKernel.GetScreenReply);
                }
            }
        }
Esempio n. 2
0
        private void HandleGetSurroundings(GameClient Client, GeneralData* Packet)
        {
            Database.LoadEquipment(Client);

            Client.Screen.Wipe();
            Kernel.GetScreen(Client, ConquerCallbackKernel.GetScreenReply);
        }
Esempio n. 3
0
        private void HandleChangeAvatar(GameClient Client, GeneralData* Packet)
        {
            if (Client.Entity.Money >= 500)
            {
                Client.Entity.BeginStatusUpdates();

                Client.Entity.Money -= 500;
                Client.Entity.Avatar = (byte)Packet->ValueD_High;

                Client.Entity.EndStatusUpdates();
            }
        }
Esempio n. 4
0
 private void HandleChangeAngle(GameClient Client, GeneralData* Packet)
 {
     Client.Entity.Angle = (ConquerAngle)Packet->ValueC;
     Client.SendScreen(Packet, Packet->Size);
 }
Esempio n. 5
0
 private void HandleChangeAction(GameClient Client, GeneralData* Packet)
 {
     Client.Entity.Action = (ConquerAction)Packet->ValueD_High;
     Client.SendScreen(Packet, Packet->Size);
 }
Esempio n. 6
0
        private void HandleSpells(GameClient Client, GeneralData* Packet)
        {
            Database.LoadSpells(Client);
            Database.LoadProfiencys(Client);

            Client.Send(Packet, Packet->Size);
        }
Esempio n. 7
0
 private void HandleSetLocation(GameClient Client, GeneralData* Packet)
 {
     Packet->ValueA = Client.Entity.Location.X;
     Packet->ValueB = Client.Entity.Location.Y;
     Packet->ValueD_High = Client.Entity.Location.MapID;
     Client.Send(Packet, Packet->Size);
 }
Esempio n. 8
0
 private void HandlePortal(GameClient Client, GeneralData* Packet)
 {
     Client.Teleport(1002, 400, 400);
 }