- 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>
70 lines
2.7 KiB
JSON
70 lines
2.7 KiB
JSON
{
|
|
"category": "Vendor",
|
|
"packets": [
|
|
{
|
|
"id": "0x3B",
|
|
"name": "Vendor Buy Reply",
|
|
"description": "Client confirms items to purchase from a vendor.",
|
|
"direction": "incoming",
|
|
"isDynamic": true,
|
|
"size": "Dynamic",
|
|
"fields": [
|
|
{ "name": "packetId", "type": "byte", "size": 1, "value": "0x3B", "description": "Packet identifier" },
|
|
{ "name": "length", "type": "ushort", "size": 2, "description": "Packet length" },
|
|
{ "name": "vendorSerial", "type": "uint", "size": 4, "description": "Serial of the vendor" },
|
|
{ "name": "flag", "type": "byte", "size": 1, "description": "0x00 = buy, 0x02 = cancel" },
|
|
{
|
|
"name": "items",
|
|
"type": "loop",
|
|
"loop": {
|
|
"untilEnd": true,
|
|
"fields": [
|
|
{ "name": "layer", "type": "byte", "size": 1, "description": "Layer/container index" },
|
|
{ "name": "itemSerial", "type": "uint", "size": 4, "description": "Serial of item to buy" },
|
|
{ "name": "amount", "type": "short", "size": 2, "description": "Amount to purchase" }
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"related": [
|
|
{ "id": "0x74", "relationship": "request", "note": "Vendor Buy List packet that initiated this" }
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Network/Packets/IncomingVendorPackets.cs",
|
|
"line": 25
|
|
}
|
|
},
|
|
{
|
|
"id": "0x9F",
|
|
"name": "Vendor Sell Reply",
|
|
"description": "Client confirms items to sell to a vendor.",
|
|
"direction": "incoming",
|
|
"isDynamic": true,
|
|
"size": "Dynamic",
|
|
"fields": [
|
|
{ "name": "packetId", "type": "byte", "size": 1, "value": "0x9F", "description": "Packet identifier" },
|
|
{ "name": "length", "type": "ushort", "size": 2, "description": "Packet length" },
|
|
{ "name": "vendorSerial", "type": "uint", "size": 4, "description": "Serial of the vendor" },
|
|
{ "name": "itemCount", "type": "ushort", "size": 2, "description": "Number of items to sell" },
|
|
{
|
|
"name": "items",
|
|
"type": "loop",
|
|
"loop": {
|
|
"countField": "itemCount",
|
|
"fields": [
|
|
{ "name": "itemSerial", "type": "uint", "size": 4, "description": "Serial of item to sell" },
|
|
{ "name": "amount", "type": "short", "size": 2, "description": "Amount to sell" }
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"related": [
|
|
{ "id": "0x9E", "relationship": "request", "note": "Vendor Sell List packet that initiated this" }
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Network/Packets/IncomingVendorPackets.cs",
|
|
"line": 26
|
|
}
|
|
}
|
|
]
|
|
}
|