Example #1
0
    public static void Handle(ReceivablePacket packet)
    {
        switch (packet.ReadShort())
        {
        case 1:
            AccountAuthenticationResult.Process(packet);
            break;

        case 2:
            CharacterSelectionInfoResult.Process(packet);
            break;

        case 3:
            CharacterCreationResult.Process(packet);
            break;

        case 4:
            CharacterDeletionResult.Process(packet);
            break;

        case 5:
            PlayerOptionsInformation.Process(packet);
            break;

        case 6:
            PlayerInformation.Process(packet);
            break;

        case 7:
            NpcInformation.Process(packet);
            break;

        case 8:
            DeleteObject.Process(packet);
            break;

        case 9:
            Logout.Process(packet);
            break;

        case 10:
            LocationUpdate.Process(packet);
            break;

        case 11:
            AnimatorUpdate.Process(packet);
            break;

        case 12:
            ChatResult.Process(packet);
            break;

        case 13:
            PlayerInventoryUpdate.Process(packet);
            break;
        }
    }
Example #2
0
    public AnimatorUpdateRequest(GameClient client, ReceivablePacket packet)
    {
        // Read data.
        float velocityX   = packet.ReadFloat();
        float velocityZ   = packet.ReadFloat();
        bool  triggerJump = packet.ReadByte() == 1;
        bool  isInWater   = packet.ReadByte() == 1;
        bool  isGrounded  = packet.ReadByte() == 1;

        // Set last known world object animations.
        Player player = client.GetActiveChar();

        player.SetAnimations(new AnimationHolder(velocityX, velocityZ, triggerJump, isInWater, isGrounded));

        // Broadcast movement.
        AnimatorUpdate animatorUpdate = new AnimatorUpdate(player.GetObjectId(), velocityX, velocityZ, triggerJump, isInWater, isGrounded);

        foreach (Player nearby in WorldManager.GetVisiblePlayers(player))
        {
            nearby.ChannelSend(animatorUpdate);
        }
    }