{ "category": "Party", "packets": [ { "id": "0xBF", "subId": "0x06", "name": "Party Message", "description": "Party system messages with various subcommands.", "direction": "outgoing", "isDynamic": true, "size": "Varies", "variants": [ { "name": "Member List", "condition": "command == 0x01", "size": "7 + (memberCount x 4)", "fields": [ { "name": "Packet ID", "type": "byte", "size": 1, "value": "0xBF", "description": "Packet identifier" }, { "name": "Length", "type": "ushort", "size": 2, "description": "Packet length" }, { "name": "Sub-Command", "type": "ushort", "size": 2, "value": "0x0006", "description": "Party subcommand" }, { "name": "Command", "type": "byte", "size": 1, "value": "0x01", "description": "Member list command" }, { "name": "Member Count", "type": "byte", "size": 1, "description": "Number of party members" }, { "name": "Members", "type": "loop", "description": "Party members", "loop": { "countField": "memberCount", "fields": [ { "name": "Serial", "type": "uint", "size": 4, "description": "Member\u0027s serial" } ] } } ] }, { "name": "Remove Member", "condition": "command == 0x02", "size": "11 + (memberCount x 4)", "fields": [ { "name": "Packet ID", "type": "byte", "size": 1, "value": "0xBF", "description": "Packet identifier" }, { "name": "Length", "type": "ushort", "size": 2, "description": "Packet length" }, { "name": "Sub-Command", "type": "ushort", "size": 2, "value": "0x0006", "description": "Party subcommand" }, { "name": "Command", "type": "byte", "size": 1, "value": "0x02", "description": "Remove member command" }, { "name": "Member Count", "type": "byte", "size": 1, "description": "Number of remaining members" }, { "name": "Removed Serial", "type": "uint", "size": 4, "description": "Serial of removed member" }, { "name": "Members", "type": "loop", "description": "Remaining party members", "loop": { "countField": "memberCount", "fields": [ { "name": "Serial", "type": "uint", "size": 4, "description": "Member\u0027s serial" } ] } } ] }, { "name": "Private Message", "condition": "command == 0x03", "size": "12 + (text.Length x 2)", "fields": [ { "name": "Packet ID", "type": "byte", "size": 1, "value": "0xBF", "description": "Packet identifier" }, { "name": "Length", "type": "ushort", "size": 2, "description": "Packet length" }, { "name": "Sub-Command", "type": "ushort", "size": 2, "value": "0x0006", "description": "Party subcommand" }, { "name": "Command", "type": "byte", "size": 1, "value": "0x03", "description": "Private message command" }, { "name": "Sender Serial", "type": "uint", "size": 4, "description": "Serial of message sender" }, { "name": "Text", "type": "utf16be-t", "description": "Message text" } ] }, { "name": "Public Message", "condition": "command == 0x04", "size": "12 + (text.Length x 2)", "fields": [ { "name": "Packet ID", "type": "byte", "size": 1, "value": "0xBF", "description": "Packet identifier" }, { "name": "Length", "type": "ushort", "size": 2, "description": "Packet length" }, { "name": "Sub-Command", "type": "ushort", "size": 2, "value": "0x0006", "description": "Party subcommand" }, { "name": "Command", "type": "byte", "size": 1, "value": "0x04", "description": "Public message command" }, { "name": "Sender Serial", "type": "uint", "size": 4, "description": "Serial of message sender" }, { "name": "Text", "type": "utf16be-t", "description": "Message text" } ] }, { "name": "Party Invitation", "condition": "command == 0x07", "size": 10, "fields": [ { "name": "Packet ID", "type": "byte", "size": 1, "value": "0xBF", "description": "Packet identifier" }, { "name": "Length", "type": "ushort", "size": 2, "value": "10", "description": "Packet length" }, { "name": "Sub-Command", "type": "ushort", "size": 2, "value": "0x0006", "description": "Party subcommand" }, { "name": "Command", "type": "byte", "size": 1, "value": "0x07", "description": "Invitation command" }, { "name": "Leader Serial", "type": "uint", "size": 4, "description": "Serial of party leader" } ] } ], "related": [ { "id": "0xBF/0x06", "relationship": "request", "note": "Party Message from client" } ], "source": { "file": "Projects/UOContent/Engines/Party/PartyPackets.cs", "line": 28 } } ] }