501 lines
No EOL
31 KiB
JSON
501 lines
No EOL
31 KiB
JSON
{
|
|
"category": "Mahjong",
|
|
"packets": [
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x19",
|
|
"name": "Mahjong Join Game",
|
|
"description": "Notifies client to open the Mahjong game interface.",
|
|
"direction": "outgoing",
|
|
"isDynamic": false,
|
|
"size": 9,
|
|
"fields": [
|
|
{
|
|
"name": "Packet ID",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0xDA",
|
|
"description": "Packet identifier"
|
|
},
|
|
{
|
|
"name": "Length",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"value": "0x0009",
|
|
"description": "Packet length (9)"
|
|
},
|
|
{
|
|
"name": "Game Serial",
|
|
"type": "uint",
|
|
"size": 4,
|
|
"description": "Serial of the Mahjong game"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"value": "0x0019",
|
|
"description": "Join Game command"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 288
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x03",
|
|
"name": "Mahjong Tile Info",
|
|
"description": "Sends information about a single Mahjong tile.",
|
|
"direction": "outgoing",
|
|
"isDynamic": false,
|
|
"size": 18,
|
|
"fields": [
|
|
{
|
|
"name": "Packet ID",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0xDA",
|
|
"description": "Packet identifier"
|
|
},
|
|
{
|
|
"name": "Length",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"value": "0x0012",
|
|
"description": "Packet length (18)"
|
|
},
|
|
{
|
|
"name": "Game Serial",
|
|
"type": "uint",
|
|
"size": 4,
|
|
"description": "Serial of the Mahjong game"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"value": "0x0003",
|
|
"description": "Tile Info command"
|
|
},
|
|
{
|
|
"name": "Tile Number",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Tile index number"
|
|
},
|
|
{
|
|
"name": "Tile Value",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Tile face value (0 if hidden)"
|
|
},
|
|
{
|
|
"name": "Y Position",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Tile Y coordinate"
|
|
},
|
|
{
|
|
"name": "X Position",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Tile X coordinate"
|
|
},
|
|
{
|
|
"name": "Stack Level",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Stack level for overlapping tiles"
|
|
},
|
|
{
|
|
"name": "Direction",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Tile direction (0=Up, 1=Left, 2=Down, 3=Right)"
|
|
},
|
|
{
|
|
"name": "Flipped",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "0x10 if flipped/face-up, 0x00 if face-down"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 362
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x04",
|
|
"name": "Mahjong Tiles Info",
|
|
"description": "Sends information about all tiles in the Mahjong game.",
|
|
"direction": "outgoing",
|
|
"isDynamic": true,
|
|
"size": "11+",
|
|
"fields": [
|
|
{
|
|
"name": "Packet ID",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0xDA",
|
|
"description": "Packet identifier"
|
|
},
|
|
{
|
|
"name": "Length",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"description": "Packet length"
|
|
},
|
|
{
|
|
"name": "Game Serial",
|
|
"type": "uint",
|
|
"size": 4,
|
|
"description": "Serial of the Mahjong game"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"value": "0x0004",
|
|
"description": "Tiles Info command"
|
|
},
|
|
{
|
|
"name": "Tile Count",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Number of tiles"
|
|
},
|
|
{
|
|
"name": "Tiles",
|
|
"type": "loop",
|
|
"description": "Tile data for each tile",
|
|
"loop": {
|
|
"countField": "Tile Count",
|
|
"fields": [
|
|
{
|
|
"name": "Tile Number",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Tile index number"
|
|
},
|
|
{
|
|
"name": "Tile Value",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Tile face value (0 if hidden)"
|
|
},
|
|
{
|
|
"name": "Y Position",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Tile Y coordinate"
|
|
},
|
|
{
|
|
"name": "X Position",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Tile X coordinate"
|
|
},
|
|
{
|
|
"name": "Stack Level",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Stack level"
|
|
},
|
|
{
|
|
"name": "Direction",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Tile direction"
|
|
},
|
|
{
|
|
"name": "Flipped",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "0x10 if flipped, 0x00 otherwise"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 408
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x02",
|
|
"name": "Mahjong Players Info",
|
|
"description": "Sends information about all players in the Mahjong game.",
|
|
"direction": "outgoing",
|
|
"isDynamic": true,
|
|
"size": "11+",
|
|
"fields": [
|
|
{
|
|
"name": "Packet ID",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0xDA",
|
|
"description": "Packet identifier"
|
|
},
|
|
{
|
|
"name": "Length",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"description": "Packet length"
|
|
},
|
|
{
|
|
"name": "Game Serial",
|
|
"type": "uint",
|
|
"size": 4,
|
|
"description": "Serial of the Mahjong game"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"value": "0x0002",
|
|
"description": "Players Info command"
|
|
},
|
|
{
|
|
"name": "Seat Count",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"description": "Number of seats with data"
|
|
},
|
|
{
|
|
"name": "Players",
|
|
"type": "loop",
|
|
"description": "Player data for each seat",
|
|
"loop": {
|
|
"countField": "Seat Count",
|
|
"fields": [
|
|
{
|
|
"name": "Player Serial",
|
|
"type": "uint",
|
|
"size": 4,
|
|
"description": "Serial of player (0 if empty)"
|
|
},
|
|
{
|
|
"name": "Dealer Flag",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "1=Dealer, 2=Not dealer"
|
|
},
|
|
{
|
|
"name": "Position",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Seat position index"
|
|
},
|
|
{
|
|
"name": "Score",
|
|
"type": "int",
|
|
"size": 4,
|
|
"description": "Player\u0027s current score"
|
|
},
|
|
{
|
|
"name": "Reserved",
|
|
"type": "short",
|
|
"size": 2,
|
|
"value": "0",
|
|
"description": "Reserved (always 0)"
|
|
},
|
|
{
|
|
"name": "Reserved 2",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0",
|
|
"description": "Reserved (always 0)"
|
|
},
|
|
{
|
|
"name": "Public Hand",
|
|
"type": "bool",
|
|
"size": 1,
|
|
"description": "True if hand is visible to others"
|
|
},
|
|
{
|
|
"name": "Name",
|
|
"type": "ascii",
|
|
"size": 30,
|
|
"description": "Player name"
|
|
},
|
|
{
|
|
"name": "Empty Seat",
|
|
"type": "bool",
|
|
"size": 1,
|
|
"description": "True if seat is empty or not in game"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 304
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x05",
|
|
"name": "Mahjong General Info",
|
|
"description": "Sends general game state including dice values, dealer indicator, and wall break position.",
|
|
"direction": "outgoing",
|
|
"isDynamic": false,
|
|
"size": 25,
|
|
"fields": [
|
|
{
|
|
"name": "Packet ID",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0xDA",
|
|
"description": "Packet identifier"
|
|
},
|
|
{
|
|
"name": "Length",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"value": "0x0019",
|
|
"description": "Packet length (25)"
|
|
},
|
|
{
|
|
"name": "Game Serial",
|
|
"type": "uint",
|
|
"size": 4,
|
|
"description": "Serial of the Mahjong game"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"value": "0x0005",
|
|
"description": "General Info command"
|
|
},
|
|
{
|
|
"name": "Reserved",
|
|
"type": "short",
|
|
"size": 2,
|
|
"value": "0",
|
|
"description": "Reserved"
|
|
},
|
|
{
|
|
"name": "Reserved 2",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0",
|
|
"description": "Reserved"
|
|
},
|
|
{
|
|
"name": "Options",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Bit 0: Show Scores, Bit 1: Spectator Vision"
|
|
},
|
|
{
|
|
"name": "Dice 1",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "First dice value"
|
|
},
|
|
{
|
|
"name": "Dice 2",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Second dice value"
|
|
},
|
|
{
|
|
"name": "Dealer Wind",
|
|
"type": "enum",
|
|
"size": 1,
|
|
"description": "Dealer indicator wind direction",
|
|
"values": [
|
|
{ "value": "0", "name": "North", "description": "North wind" },
|
|
{ "value": "1", "name": "East", "description": "East wind" },
|
|
{ "value": "2", "name": "South", "description": "South wind" },
|
|
{ "value": "3", "name": "West", "description": "West wind" }
|
|
]
|
|
},
|
|
{
|
|
"name": "Dealer Y",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Dealer indicator Y position"
|
|
},
|
|
{
|
|
"name": "Dealer X",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Dealer indicator X position"
|
|
},
|
|
{
|
|
"name": "Dealer Direction",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Dealer indicator direction"
|
|
},
|
|
{
|
|
"name": "Wall Break Y",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Wall break indicator Y position"
|
|
},
|
|
{
|
|
"name": "Wall Break X",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Wall break indicator X position"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 461
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x1A",
|
|
"name": "Mahjong Relieve",
|
|
"description": "Notifies client to close the Mahjong game interface.",
|
|
"direction": "outgoing",
|
|
"isDynamic": false,
|
|
"size": 9,
|
|
"fields": [
|
|
{
|
|
"name": "Packet ID",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0xDA",
|
|
"description": "Packet identifier"
|
|
},
|
|
{
|
|
"name": "Length",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"value": "0x0009",
|
|
"description": "Packet length (9)"
|
|
},
|
|
{
|
|
"name": "Game Serial",
|
|
"type": "uint",
|
|
"size": 4,
|
|
"description": "Serial of the Mahjong game"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "ushort",
|
|
"size": 2,
|
|
"value": "0x001A",
|
|
"description": "Relieve command"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 504
|
|
}
|
|
}
|
|
]
|
|
} |