feat: Expand packet documentation with enums, bitfields, and detailed formats

- Add 42 new packet JSON definitions (assistant, book, chat, gump, house, etc.)
- Convert inline enum/bitflag descriptions to structured enum arrays
- Add planeFormat section for 0xD8 house customization packet
- Add Plane Format rendering in HTML template
- Standardize field descriptions and remove inline value lists
- Add comprehensive gump layout command documentation
- Document boat, mahjong, party, secure trade, and weapon ability packets

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Kamron Batman 2026-01-01 15:28:05 -08:00
parent f0b65fecb7
commit 0d3dc75330
No known key found for this signature in database
GPG key ID: 7D81DF26D9A5D94A
51 changed files with 18827 additions and 3924 deletions

View file

@ -1,61 +1,120 @@
{
"category": "Combat",
"packets": [
{
"id": "0x2F",
"name": "Swing",
"description": "Notifies client of a melee swing between two mobiles.",
"direction": "outgoing",
"isDynamic": false,
"size": 10,
"fields": [
{ "name": "packetId", "type": "byte", "size": 1, "value": "0x2F", "description": "Packet identifier" },
{ "name": "unknown", "type": "byte", "size": 1, "value": "0x00", "description": "Unknown" },
{ "name": "attackerSerial", "type": "uint", "size": 4, "description": "Serial of attacker" },
{ "name": "defenderSerial", "type": "uint", "size": 4, "description": "Serial of defender" }
],
"source": {
"file": "Projects/Server/Network/Packets/OutgoingCombatPackets.cs",
"line": 23
}
},
{
"id": "0x72",
"name": "Set War Mode",
"description": "Sets the client's war/peace mode state.",
"direction": "outgoing",
"isDynamic": false,
"size": 5,
"fields": [
{ "name": "packetId", "type": "byte", "size": 1, "value": "0x72", "description": "Packet identifier" },
{ "name": "warmode", "type": "bool", "size": 1, "description": "True = war mode, False = peace mode" },
{ "name": "unknown1", "type": "byte", "size": 1, "value": "0x00", "description": "Unknown" },
{ "name": "unknown2", "type": "byte", "size": 1, "value": "0x32", "description": "Unknown (50)" },
{ "name": "unknown3", "type": "byte", "size": 1, "value": "0x00", "description": "Unknown" }
],
"related": [
{ "id": "0x72", "relationship": "request", "note": "Set War Mode from client" }
],
"source": {
"file": "Projects/Server/Network/Packets/OutgoingCombatPackets.cs",
"line": 40
}
},
{
"id": "0xAA",
"name": "Change Combatant",
"description": "Notifies client of current combat target.",
"direction": "outgoing",
"isDynamic": false,
"size": 5,
"fields": [
{ "name": "packetId", "type": "byte", "size": 1, "value": "0xAA", "description": "Packet identifier" },
{ "name": "combatantSerial", "type": "uint", "size": 4, "description": "Serial of current combatant (0 = none)" }
],
"source": {
"file": "Projects/Server/Network/Packets/OutgoingCombatPackets.cs",
"line": 43
}
}
]
}
{
"category": "Combat",
"packets": [
{
"id": "0x2F",
"name": "Swing",
"description": "Notifies client of a melee swing between two mobiles.",
"direction": "outgoing",
"isDynamic": false,
"size": 10,
"fields": [
{
"name": "Packet ID",
"type": "byte",
"size": 1,
"value": "0x2F",
"description": "Packet identifier"
},
{
"name": "Unknown",
"type": "byte",
"size": 1,
"value": "0x00",
"description": "Unknown"
},
{
"name": "Attacker Serial",
"type": "uint",
"size": 4,
"description": "Serial of attacker"
},
{
"name": "Defender Serial",
"type": "uint",
"size": 4,
"description": "Serial of defender"
}
],
"source": {
"file": "Projects/Server/Network/Packets/OutgoingCombatPackets.cs",
"line": 23
}
},
{
"id": "0x72",
"name": "Set War Mode",
"description": "Sets the client\u0027s war/peace mode state.",
"direction": "outgoing",
"isDynamic": false,
"size": 5,
"fields": [
{
"name": "Packet ID",
"type": "byte",
"size": 1,
"value": "0x72",
"description": "Packet identifier"
},
{
"name": "Warmode",
"type": "bool",
"size": 1,
"description": "True = war mode, False = peace mode"
},
{
"name": "Unknown1",
"type": "byte",
"size": 1,
"value": "0x00",
"description": "Unknown"
},
{
"name": "Unknown2",
"type": "byte",
"size": 1,
"value": "0x32",
"description": "Unknown (50)"
},
{
"name": "Unknown3",
"type": "byte",
"size": 1,
"value": "0x00",
"description": "Unknown"
}
],
"source": {
"file": "Projects/Server/Network/Packets/OutgoingCombatPackets.cs",
"line": 40
}
},
{
"id": "0xAA",
"name": "Change Combatant",
"description": "Notifies client of current combat target.",
"direction": "outgoing",
"isDynamic": false,
"size": 5,
"fields": [
{
"name": "Packet ID",
"type": "byte",
"size": 1,
"value": "0xAA",
"description": "Packet identifier"
},
{
"name": "Combatant Serial",
"type": "uint",
"size": 4,
"description": "Serial of current combatant (0 = none)"
}
],
"source": {
"file": "Projects/Server/Network/Packets/OutgoingCombatPackets.cs",
"line": 43
}
}
]
}