ModernUO/Distribution/Data/packets/incoming/mobile.json
Kamron Batman f0b65fecb7
feat: Add interactive packet documentation system
- Create JSON-based packet documentation for 145 packets (66 incoming, 79 outgoing)
- Add HTML template with search, filtering, and navigation
- Support enum/bitfield field display with values and descriptions
- Support packet variants for version-specific structures
- Include 0xBF extended command subpackets documentation
- Add PowerShell build script to generate final HTML

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 11:47:31 -08:00

132 lines
4.9 KiB
JSON

{
"category": "Mobile",
"packets": [
{
"id": "0x6F",
"name": "Secure Trade",
"description": "Client interacts with a secure trade window.",
"direction": "incoming",
"isDynamic": true,
"size": "Dynamic",
"fields": [
{ "name": "packetId", "type": "byte", "size": 1, "value": "0x6F", "description": "Packet identifier" },
{ "name": "length", "type": "ushort", "size": 2, "description": "Packet length" },
{
"name": "action",
"type": "enum",
"enumType": "sequential",
"size": 1,
"description": "Trade action type",
"values": [
{ "value": 1, "name": "Cancel", "description": "Cancel the trade" },
{ "value": 2, "name": "Check", "description": "Toggle accept checkbox" },
{ "value": 3, "name": "UpdateGold", "description": "Update virtual gold/platinum amounts" }
]
},
{ "name": "containerSerial", "type": "uint", "size": 4, "description": "Serial of the trade container" },
{
"name": "checkData",
"type": "conditional",
"condition": "action == 2",
"fields": [
{ "name": "accepted", "type": "int", "size": 4, "description": "Non-zero if accepting trade" }
]
},
{
"name": "goldData",
"type": "conditional",
"condition": "action == 3",
"fields": [
{ "name": "gold", "type": "int", "size": 4, "description": "Gold amount to trade" },
{ "name": "platinum", "type": "int", "size": 4, "description": "Platinum amount to trade" }
]
}
],
"related": [
{ "id": "0x6F", "relationship": "response", "note": "Server sends Secure Trade packet updates" }
],
"source": {
"file": "Projects/UOContent/Network/Packets/IncomingMobilePackets.cs",
"line": 93
}
},
{
"id": "0x75",
"name": "Rename Request",
"description": "Client requests to rename a mobile (pet).",
"direction": "incoming",
"isDynamic": false,
"size": 35,
"fields": [
{ "name": "packetId", "type": "byte", "size": 1, "value": "0x75", "description": "Packet identifier" },
{ "name": "targetSerial", "type": "uint", "size": 4, "description": "Serial of mobile to rename" },
{ "name": "newName", "type": "ascii", "size": 30, "description": "New name for the mobile" }
],
"source": {
"file": "Projects/UOContent/Network/Packets/IncomingMobilePackets.cs",
"line": 32
}
},
{
"id": "0x98",
"name": "Mobile Name Request",
"description": "Client requests the name of a mobile.",
"direction": "incoming",
"isDynamic": true,
"size": "Dynamic",
"fields": [
{ "name": "packetId", "type": "byte", "size": 1, "value": "0x98", "description": "Packet identifier" },
{ "name": "length", "type": "ushort", "size": 2, "description": "Packet length" },
{ "name": "mobileSerial", "type": "uint", "size": 4, "description": "Serial of mobile to query" }
],
"related": [
{ "id": "0x98", "relationship": "response", "note": "Server sends Mobile Name response" }
],
"source": {
"file": "Projects/UOContent/Network/Packets/IncomingMobilePackets.cs",
"line": 43
}
},
{
"id": "0xB8",
"name": "Profile Request",
"description": "Client requests to view or edit a mobile's profile.",
"direction": "incoming",
"isDynamic": true,
"size": "Dynamic",
"fields": [
{ "name": "packetId", "type": "byte", "size": 1, "value": "0xB8", "description": "Packet identifier" },
{ "name": "length", "type": "ushort", "size": 2, "description": "Packet length" },
{
"name": "mode",
"type": "enum",
"enumType": "sequential",
"size": 1,
"description": "Request mode",
"values": [
{ "value": 0, "name": "Display", "description": "Request to view profile" },
{ "value": 1, "name": "Edit", "description": "Request to edit profile" }
]
},
{ "name": "mobileSerial", "type": "uint", "size": 4, "description": "Serial of target mobile" },
{
"name": "editData",
"type": "conditional",
"condition": "mode == 1",
"fields": [
{ "name": "padding", "type": "short", "size": 2, "description": "Unused padding" },
{ "name": "textLength", "type": "ushort", "size": 2, "description": "Length of text in characters" },
{ "name": "text", "type": "unicode-be", "description": "New profile text" }
]
}
],
"related": [
{ "id": "0xB8", "relationship": "response", "note": "Display Profile packet" }
],
"source": {
"file": "Projects/UOContent/Network/Packets/IncomingMobilePackets.cs",
"line": 53
}
}
]
}