Exemplo n.º 1
0
        private void OnPlayerReassign(GameServerPacket packet)
        {
            PlayerReassignIn fromServer = new PlayerReassignIn(packet);

            if (fromServer.ID != clientPlayerId)
            {
                Log("Reassign from other client");
                return;
            }

            PositionX = fromServer.X;
            PositionY = fromServer.Y;
            Log(string.Format("Reassigned player to {0}, {1}", PositionX, PositionY));

            if (AlreadyDispersed)
            {
                return;
            }

            AlreadyDispersed = true;

            ushort moveToX = PositionX;
            ushort moveToY = PositionY;

            switch (CurrentAct)
            {
            case 1:
                moveToY -= 20;
                break;

            case 2:
                moveToY += 20;
                break;

            case 3:
                moveToX += 20;
                moveToY += 20;
                break;

            case 4:
                moveToX -= 40;
                moveToY += 20;
                break;

            case 5:
                moveToX += 20;
                break;
            }

            SendPacket(new RunToLocationOut(moveToX, moveToY));
        }
        private void OnPlayerReassign(GameServerPacket packet)
        {
            PlayerReassignIn fromServer = new PlayerReassignIn(packet);
            if (fromServer.ID != clientPlayerId)
            {
                Log("Reassign from other client");
                return;
            }

            PositionX = fromServer.X;
            PositionY = fromServer.Y;
            Log(string.Format("Reassigned player to {0}, {1}", PositionX, PositionY));

            if (AlreadyDispersed)
                return;

            AlreadyDispersed = true;

            ushort moveToX = PositionX;
            ushort moveToY = PositionY;

            switch (CurrentAct)
            {
                case 1:
                    moveToY -= 20;
                    break;
                case 2:
                    moveToY += 20;
                    break;
                case 3:
                    moveToX += 20;
                    moveToY += 20;
                    break;
                case 4:
                    moveToX -= 40;
                    moveToY += 20;
                    break;
                case 5:
                    moveToX += 20;
                    break;
            }

            SendPacket(new RunToLocationOut(moveToX, moveToY));
        }