{
    "category":  "Movement",
    "packets":  [
                    {
                        "id":  "0x02",
                        "name":  "Movement Request",
                        "description":  "Sent by the client when the player attempts to move in a direction. The server responds with either MovementAck (0x22) if successful or MovementRej (0x21) if blocked.",
                        "direction":  "incoming",
                        "isDynamic":  false,
                        "size":  7,
                        "fields":  [
                                       {
                                           "name":  "Packet ID",
                                           "type":  "byte",
                                           "size":  1,
                                           "value":  "0x02",
                                           "description":  "Packet identifier"
                                       },
                                       {
                                           "name":  "Direction",
                                           "type":  "byte",
                                           "size":  1,
                                           "description":  "Movement direction (0-7). Bit 0x80 indicates running."
                                       },
                                       {
                                           "name":  "Sequence",
                                           "type":  "byte",
                                           "size":  1,
                                           "description":  "Movement sequence number (1-255, wraps). Used for ack/rej matching."
                                       },
                                       {
                                           "name":  "Fastwalk Key",
                                           "type":  "uint",
                                           "size":  4,
                                           "description":  "Anti-speedhack prevention key. Set to 0 if fastwalk prevention is disabled."
                                       }
                                   ],
                        "related":  [
                                        {
                                            "id":  "0x21",
                                            "relationship":  "rej",
                                            "note":  "Sent if movement is blocked"
                                        },
                                        {
                                            "id":  "0x22",
                                            "relationship":  "ack",
                                            "note":  "Sent if movement is successful"
                                        }
                                    ],
                        "source":  {
                                       "file":  "Projects/UOContent/Network/Packets/IncomingMovementPackets.cs",
                                       "line":  83
                                   }
                    }
                ]
}
