907 lines
50 KiB
JSON
907 lines
50 KiB
JSON
{
|
|
"category": "Mahjong",
|
|
"packets": [
|
|
{
|
|
"id": "0xDA",
|
|
"name": "Mahjong Game",
|
|
"description": "Mahjong game packets for controlling the in-game Mahjong table. Used for both client commands and server updates.",
|
|
"direction": "both",
|
|
"isDynamic": true,
|
|
"size": "var",
|
|
"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,
|
|
"description": "Command ID (incoming uses byte prefix + byte command)"
|
|
},
|
|
{
|
|
"name": "Data",
|
|
"type": "byte[]",
|
|
"description": "Command-specific data"
|
|
}
|
|
],
|
|
"subpackets": [
|
|
{
|
|
"subId": "0x02",
|
|
"name": "Players Info",
|
|
"description": "Sends player information for all seats",
|
|
"direction": "outgoing"
|
|
},
|
|
{
|
|
"subId": "0x03",
|
|
"name": "Tile Info",
|
|
"description": "Sends information about a single tile",
|
|
"direction": "outgoing"
|
|
},
|
|
{
|
|
"subId": "0x04",
|
|
"name": "Tiles Info",
|
|
"description": "Sends information about all tiles",
|
|
"direction": "outgoing"
|
|
},
|
|
{
|
|
"subId": "0x05",
|
|
"name": "General Info",
|
|
"description": "Sends game state (dice, dealer, wall break)",
|
|
"direction": "outgoing"
|
|
},
|
|
{
|
|
"subId": "0x06",
|
|
"name": "Exit Game",
|
|
"description": "Client exits the game",
|
|
"direction": "incoming"
|
|
},
|
|
{
|
|
"subId": "0x0A",
|
|
"name": "Give Points",
|
|
"description": "Transfer points to another player",
|
|
"direction": "incoming"
|
|
},
|
|
{
|
|
"subId": "0x0B",
|
|
"name": "Roll Dice",
|
|
"description": "Client requests to roll dice",
|
|
"direction": "incoming"
|
|
},
|
|
{
|
|
"subId": "0x0C",
|
|
"name": "Build Walls",
|
|
"description": "Dealer builds/resets tile walls",
|
|
"direction": "incoming"
|
|
},
|
|
{
|
|
"subId": "0x0D",
|
|
"name": "Reset Scores",
|
|
"description": "Dealer resets all scores",
|
|
"direction": "incoming"
|
|
},
|
|
{
|
|
"subId": "0x0F",
|
|
"name": "Assign Dealer",
|
|
"description": "Assign a new dealer",
|
|
"direction": "incoming"
|
|
},
|
|
{
|
|
"subId": "0x10",
|
|
"name": "Open Seat",
|
|
"description": "Open a seat for new players",
|
|
"direction": "incoming"
|
|
},
|
|
{
|
|
"subId": "0x11",
|
|
"name": "Change Option",
|
|
"description": "Change game options",
|
|
"direction": "incoming"
|
|
},
|
|
{
|
|
"subId": "0x15",
|
|
"name": "Move Wall Break",
|
|
"description": "Move wall break indicator",
|
|
"direction": "incoming"
|
|
},
|
|
{
|
|
"subId": "0x16",
|
|
"name": "Toggle Public Hand",
|
|
"description": "Toggle hand visibility",
|
|
"direction": "incoming"
|
|
},
|
|
{
|
|
"subId": "0x17",
|
|
"name": "Move Tile",
|
|
"description": "Move a tile on the board",
|
|
"direction": "incoming"
|
|
},
|
|
{
|
|
"subId": "0x18",
|
|
"name": "Move Dealer Indicator",
|
|
"description": "Move dealer indicator",
|
|
"direction": "incoming"
|
|
},
|
|
{
|
|
"subId": "0x19",
|
|
"name": "Join Game",
|
|
"description": "Server opens game interface",
|
|
"direction": "outgoing"
|
|
},
|
|
{
|
|
"subId": "0x1A",
|
|
"name": "Relieve",
|
|
"description": "Server closes game interface",
|
|
"direction": "outgoing"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 46
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x06",
|
|
"name": "Mahjong Exit Game",
|
|
"description": "Client requests to exit the Mahjong game.",
|
|
"direction": "incoming",
|
|
"isDynamic": false,
|
|
"size": 9,
|
|
"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": "Unknown",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Unknown byte"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0x06",
|
|
"description": "Exit Game command"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 108
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x0A",
|
|
"name": "Mahjong Give Points",
|
|
"description": "Client transfers points to another player.",
|
|
"direction": "incoming",
|
|
"isDynamic": false,
|
|
"size": 14,
|
|
"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": "Unknown",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Unknown byte"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0x0A",
|
|
"description": "Give Points command"
|
|
},
|
|
{
|
|
"name": "To Position",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Target player seat position"
|
|
},
|
|
{
|
|
"name": "Amount",
|
|
"type": "int",
|
|
"size": 4,
|
|
"description": "Points to transfer"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 120
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x0B",
|
|
"name": "Mahjong Roll Dice",
|
|
"description": "Client requests to roll the dice.",
|
|
"direction": "incoming",
|
|
"isDynamic": false,
|
|
"size": 9,
|
|
"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": "Unknown",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Unknown byte"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0x0B",
|
|
"description": "Roll Dice command"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 133
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x0C",
|
|
"name": "Mahjong Build Walls",
|
|
"description": "Dealer requests to reset and build the tile walls.",
|
|
"direction": "incoming",
|
|
"isDynamic": false,
|
|
"size": 9,
|
|
"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": "Unknown",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Unknown byte"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0x0C",
|
|
"description": "Build Walls command"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 143
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x0D",
|
|
"name": "Mahjong Reset Scores",
|
|
"description": "Dealer requests to reset all player scores to base value.",
|
|
"direction": "incoming",
|
|
"isDynamic": false,
|
|
"size": 9,
|
|
"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": "Unknown",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Unknown byte"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0x0D",
|
|
"description": "Reset Scores command"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 153
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x0F",
|
|
"name": "Mahjong Assign Dealer",
|
|
"description": "Dealer assigns another player as the new dealer.",
|
|
"direction": "incoming",
|
|
"isDynamic": false,
|
|
"size": 10,
|
|
"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": "Unknown",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Unknown byte"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0x0F",
|
|
"description": "Assign Dealer command"
|
|
},
|
|
{
|
|
"name": "Position",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Seat position of new dealer"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 163
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x10",
|
|
"name": "Mahjong Open Seat",
|
|
"description": "Dealer opens a seat, removing the current player.",
|
|
"direction": "incoming",
|
|
"isDynamic": false,
|
|
"size": 10,
|
|
"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": "Unknown",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Unknown byte"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0x10",
|
|
"description": "Open Seat command"
|
|
},
|
|
{
|
|
"name": "Position",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Seat position to open"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 175
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x11",
|
|
"name": "Mahjong Change Option",
|
|
"description": "Dealer changes game options (show scores, spectator vision).",
|
|
"direction": "incoming",
|
|
"isDynamic": false,
|
|
"size": 13,
|
|
"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": "Unknown",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Unknown byte"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0x11",
|
|
"description": "Change Option command"
|
|
},
|
|
{
|
|
"name": "Reserved",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Reserved (not used)"
|
|
},
|
|
{
|
|
"name": "Reserved 2",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Reserved (not used)"
|
|
},
|
|
{
|
|
"name": "Options",
|
|
"type": "bitflags",
|
|
"size": 1,
|
|
"description": "Game options",
|
|
"values": [
|
|
{ "value": "0x01", "name": "Show Scores", "description": "Display player scores" },
|
|
{ "value": "0x02", "name": "Spectator Vision", "description": "Spectators can see all tiles" }
|
|
]
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 192
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x15",
|
|
"name": "Mahjong Move Wall Break Indicator",
|
|
"description": "Dealer moves the wall break indicator position.",
|
|
"direction": "incoming",
|
|
"isDynamic": false,
|
|
"size": 13,
|
|
"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": "Unknown",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Unknown byte"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0x15",
|
|
"description": "Move Wall Break Indicator command"
|
|
},
|
|
{
|
|
"name": "Y Position",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "New Y coordinate"
|
|
},
|
|
{
|
|
"name": "X Position",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "New X coordinate"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 208
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x16",
|
|
"name": "Mahjong Toggle Public Hand",
|
|
"description": "Player toggles whether their hand is visible to others.",
|
|
"direction": "incoming",
|
|
"isDynamic": false,
|
|
"size": 13,
|
|
"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": "Unknown",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Unknown byte"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0x16",
|
|
"description": "Toggle Public Hand command"
|
|
},
|
|
{
|
|
"name": "Reserved",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Reserved (not used)"
|
|
},
|
|
{
|
|
"name": "Reserved 2",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Reserved (not used)"
|
|
},
|
|
{
|
|
"name": "Public Hand",
|
|
"type": "bool",
|
|
"size": 1,
|
|
"description": "True to show hand publicly"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 221
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x17",
|
|
"name": "Mahjong Move Tile",
|
|
"description": "Player moves a tile to a new position with direction and flip state.",
|
|
"direction": "incoming",
|
|
"isDynamic": false,
|
|
"size": 22,
|
|
"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": "Unknown",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Unknown byte"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0x17",
|
|
"description": "Move Tile command"
|
|
},
|
|
{
|
|
"name": "Tile Number",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Tile index number"
|
|
},
|
|
{
|
|
"name": "Current Direction",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Current tile direction (unused)"
|
|
},
|
|
{
|
|
"name": "New Direction",
|
|
"type": "enum",
|
|
"size": 1,
|
|
"description": "New tile direction",
|
|
"values": [
|
|
{ "value": "0", "name": "Up", "description": "Facing up" },
|
|
{ "value": "1", "name": "Left", "description": "Facing left" },
|
|
{ "value": "2", "name": "Down", "description": "Facing down" },
|
|
{ "value": "3", "name": "Right", "description": "Facing right" }
|
|
]
|
|
},
|
|
{
|
|
"name": "Reserved",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Reserved byte"
|
|
},
|
|
{
|
|
"name": "Flip",
|
|
"type": "bool",
|
|
"size": 1,
|
|
"description": "True to flip tile face-up"
|
|
},
|
|
{
|
|
"name": "Current Y",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Current Y position (unused)"
|
|
},
|
|
{
|
|
"name": "Current X",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "Current X position (unused)"
|
|
},
|
|
{
|
|
"name": "Reserved 2",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Reserved byte"
|
|
},
|
|
{
|
|
"name": "New Y",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "New Y position"
|
|
},
|
|
{
|
|
"name": "New X",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "New X position"
|
|
},
|
|
{
|
|
"name": "Reserved 3",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Reserved byte"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 236
|
|
}
|
|
},
|
|
{
|
|
"id": "0xDA",
|
|
"subId": "0x18",
|
|
"name": "Mahjong Move Dealer Indicator",
|
|
"description": "Dealer moves the dealer indicator with direction and wind.",
|
|
"direction": "incoming",
|
|
"isDynamic": false,
|
|
"size": 15,
|
|
"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": "Unknown",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"description": "Unknown byte"
|
|
},
|
|
{
|
|
"name": "Command",
|
|
"type": "byte",
|
|
"size": 1,
|
|
"value": "0x18",
|
|
"description": "Move Dealer Indicator command"
|
|
},
|
|
{
|
|
"name": "Direction",
|
|
"type": "enum",
|
|
"size": 1,
|
|
"description": "Indicator direction",
|
|
"values": [
|
|
{ "value": "0", "name": "Up", "description": "Facing up" },
|
|
{ "value": "1", "name": "Left", "description": "Facing left" },
|
|
{ "value": "2", "name": "Down", "description": "Facing down" },
|
|
{ "value": "3", "name": "Right", "description": "Facing right" }
|
|
]
|
|
},
|
|
{
|
|
"name": "Wind",
|
|
"type": "enum",
|
|
"size": 1,
|
|
"description": "Wind direction displayed",
|
|
"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": "Y Position",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "New Y position"
|
|
},
|
|
{
|
|
"name": "X Position",
|
|
"type": "short",
|
|
"size": 2,
|
|
"description": "New X position"
|
|
}
|
|
],
|
|
"source": {
|
|
"file": "Projects/UOContent/Items/Games/Mahjong/MahjongPackets.cs",
|
|
"line": 271
|
|
}
|
|
}
|
|
]
|
|
}
|