ModernUO/Distribution/Data/packets/incoming/message.json
Kamron Batman 0d3dc75330
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>
2026-01-01 15:28:05 -08:00

225 lines
14 KiB
JSON

{
"category": "Message",
"packets": [
{
"id": "0x03",
"name": "ASCII Speech",
"description": "Client sends ASCII-encoded speech message.",
"direction": "incoming",
"isDynamic": true,
"size": "var",
"fields": [
{
"name": "Packet ID",
"type": "byte",
"size": 1,
"value": "0x03",
"description": "Packet identifier"
},
{
"name": "Length",
"type": "ushort",
"size": 2,
"description": "Packet length"
},
{
"name": "Type",
"type": "enum",
"enumType": "sequential",
"size": 1,
"description": "Message type",
"values": [
{
"value": 0,
"name": "Regular",
"description": "Normal speech"
},
{
"value": 1,
"name": "System",
"description": "System message"
},
{
"value": 2,
"name": "Emote",
"description": "Emote (*action*)"
},
{
"value": 6,
"name": "Label",
"description": "Object label"
},
{
"value": 7,
"name": "Focus",
"description": "Focused message"
},
{
"value": 8,
"name": "Whisper",
"description": "Whisper"
},
{
"value": 9,
"name": "Yell",
"description": "Yell"
},
{
"value": 10,
"name": "Spell",
"description": "Spell words"
},
{
"value": 13,
"name": "Guild",
"description": "Guild chat"
},
{
"value": 14,
"name": "Alliance",
"description": "Alliance chat"
},
{
"value": 15,
"name": "Command",
"description": "Command"
}
]
},
{
"name": "Hue",
"type": "short",
"size": 2,
"description": "Text color hue"
},
{
"name": "Font",
"type": "short",
"size": 2,
"description": "Font ID"
},
{
"name": "Text",
"type": "ascii-t",
"description": "Speech text (max 128 chars)"
}
],
"related": [
{
"id": "0x1C",
"relationship": "response",
"note": "ASCII Message sent to other clients"
}
],
"source": {
"file": "Projects/UOContent/Network/Packets/IncomingMessagePackets.cs",
"line": 31
}
},
{
"id": "0xAD",
"name": "Unicode Speech",
"description": "Client sends Unicode-encoded speech message with optional keywords.",
"direction": "incoming",
"isDynamic": true,
"size": "var",
"fields": [
{
"name": "Packet ID",
"type": "byte",
"size": 1,
"value": "0xAD",
"description": "Packet identifier"
},
{
"name": "Length",
"type": "ushort",
"size": 2,
"description": "Packet length"
},
{
"name": "Type",
"type": "bitfield",
"size": 1,
"description": "Message type with possible Encoded flag",
"flags": [
{
"bit": "3-0",
"name": "Message Type",
"description": "Base message type (see 0x03)"
},
{
"bit": "7-6",
"name": "Encoded",
"description": "If set, packet contains encoded keywords"
}
]
},
{
"name": "Hue",
"type": "short",
"size": 2,
"description": "Text color hue"
},
{
"name": "Font",
"type": "short",
"size": 2,
"description": "Font ID"
},
{
"name": "Language",
"type": "ascii",
"size": 4,
"description": "Language code (e.g., \u0027ENU\u0027)"
},
{
"name": "Encoded Keywords",
"type": "conditional",
"condition": "type \u0026 0xC0 != 0",
"fields": [
{
"name": "Keyword Value",
"type": "short",
"size": 2,
"description": "Keyword count (upper 12 bits) and first hold value (lower 4 bits)"
},
{
"name": "Keywords",
"type": "byte[]",
"description": "Packed keyword IDs"
},
{
"name": "Text",
"type": "utf8-t",
"description": "Speech text (UTF-8 when encoded)"
}
]
},
{
"name": "Unicode Text",
"type": "conditional",
"condition": "type \u0026 0xC0 == 0",
"fields": [
{
"name": "Text",
"type": "utf16be-t",
"description": "Speech text (Big Endian Unicode)"
}
]
}
],
"related": [
{
"id": "0xAE",
"relationship": "response",
"note": "Unicode Message sent to other clients"
}
],
"source": {
"file": "Projects/UOContent/Network/Packets/IncomingMessagePackets.cs",
"line": 58
}
}
]
}