- 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>
90 lines
4.2 KiB
JSON
90 lines
4.2 KiB
JSON
{
|
|
"category": "Targeting",
|
|
"packets": [
|
|
{
|
|
"id": "0x6C",
|
|
"name": "Target Request",
|
|
"description": "Requests the client to select a target.",
|
|
"direction": "outgoing",
|
|
"isDynamic": false,
|
|
"size": 19,
|
|
"fields": [
|
|
{ "name": "packetId", "type": "byte", "size": 1, "value": "0x6C", "description": "Packet identifier" },
|
|
{ "name": "allowGround", "type": "bool", "size": 1, "description": "True = allow ground targeting" },
|
|
{ "name": "targetId", "type": "int", "size": 4, "description": "Target cursor ID for matching response" },
|
|
{
|
|
"name": "flags",
|
|
"type": "enum",
|
|
"enumType": "sequential",
|
|
"size": 1,
|
|
"description": "Target cursor flags",
|
|
"values": [
|
|
{ "value": 0, "name": "Neutral", "description": "Neutral targeting (gray cursor)" },
|
|
{ "value": 1, "name": "Harmful", "description": "Harmful action (red cursor)" },
|
|
{ "value": 2, "name": "Beneficial", "description": "Beneficial action (green cursor)" },
|
|
{ "value": 3, "name": "Cancel", "description": "Cancel targeting" }
|
|
]
|
|
},
|
|
{ "name": "padding", "type": "byte[]", "size": 12, "description": "Padding (zeros)" }
|
|
],
|
|
"related": [
|
|
{ "id": "0x6C", "relationship": "response", "note": "Target Response from client" }
|
|
],
|
|
"source": {
|
|
"file": "Projects/Server/Network/Packets/OutgoingTargetPackets.cs",
|
|
"line": 57
|
|
}
|
|
},
|
|
{
|
|
"id": "0x99",
|
|
"name": "Multi Target Request",
|
|
"description": "Requests the client to place a multi (house/boat) structure.",
|
|
"direction": "outgoing",
|
|
"isDynamic": false,
|
|
"size": "26 (pre-HS) or 30 (HS+)",
|
|
"variants": [
|
|
{
|
|
"version": "pre-HighSeas",
|
|
"name": "Classic",
|
|
"size": 26,
|
|
"fields": [
|
|
{ "name": "packetId", "type": "byte", "size": 1, "value": "0x99", "description": "Packet identifier" },
|
|
{ "name": "allowGround", "type": "bool", "size": 1, "description": "Allow ground targeting" },
|
|
{ "name": "targetId", "type": "int", "size": 4, "description": "Target cursor ID" },
|
|
{ "name": "flags", "type": "byte", "size": 1, "description": "Target cursor flags" },
|
|
{ "name": "padding", "type": "byte[]", "size": 11, "description": "Padding (zeros)" },
|
|
{ "name": "multiId", "type": "short", "size": 2, "description": "Multi graphic ID" },
|
|
{ "name": "offsetX", "type": "short", "size": 2, "description": "X offset for placement" },
|
|
{ "name": "offsetY", "type": "short", "size": 2, "description": "Y offset for placement" },
|
|
{ "name": "offsetZ", "type": "short", "size": 2, "description": "Z offset for placement" }
|
|
]
|
|
},
|
|
{
|
|
"version": "HighSeas+",
|
|
"name": "High Seas Extended",
|
|
"condition": "Client version >= 7.0.9.0 (HighSeas)",
|
|
"size": 30,
|
|
"fields": [
|
|
{ "name": "packetId", "type": "byte", "size": 1, "value": "0x99", "description": "Packet identifier" },
|
|
{ "name": "allowGround", "type": "bool", "size": 1, "description": "Allow ground targeting" },
|
|
{ "name": "targetId", "type": "int", "size": 4, "description": "Target cursor ID" },
|
|
{ "name": "flags", "type": "byte", "size": 1, "description": "Target cursor flags" },
|
|
{ "name": "padding", "type": "byte[]", "size": 11, "description": "Padding (zeros)" },
|
|
{ "name": "multiId", "type": "short", "size": 2, "description": "Multi graphic ID" },
|
|
{ "name": "offsetX", "type": "short", "size": 2, "description": "X offset for placement" },
|
|
{ "name": "offsetY", "type": "short", "size": 2, "description": "Y offset for placement" },
|
|
{ "name": "offsetZ", "type": "short", "size": 2, "description": "Z offset for placement" },
|
|
{ "name": "unknown", "type": "int", "size": 4, "description": "Unknown (HighSeas extension)" }
|
|
]
|
|
}
|
|
],
|
|
"clientVersion": {
|
|
"feature": "HighSeas adds 4 bytes"
|
|
},
|
|
"source": {
|
|
"file": "Projects/Server/Network/Packets/OutgoingTargetPackets.cs",
|
|
"line": 23
|
|
}
|
|
}
|
|
]
|
|
}
|