chore: Fixes 0x78 and min client version for packets.html (#2322)
This commit is contained in:
parent
3e8f14a0ac
commit
91a553b0bc
8 changed files with 477 additions and 544 deletions
|
|
@ -50,7 +50,6 @@
|
|||
"size": "Varies",
|
||||
"variants": [
|
||||
{
|
||||
"version": "pre-6017",
|
||||
"name": "Classic",
|
||||
"size": 14,
|
||||
"fields": [
|
||||
|
|
@ -94,7 +93,6 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"version": "6017+",
|
||||
"name": "Container Grid Lines",
|
||||
"condition": "Client version \u003e= 6.0.1.7 (ContainerGridLines)",
|
||||
"size": 15,
|
||||
|
|
@ -146,11 +144,9 @@
|
|||
}
|
||||
],
|
||||
"clientVersion": {
|
||||
"classic": {
|
||||
"min": "6.0.1.7"
|
||||
},
|
||||
"classic": {},
|
||||
"enhanced": {},
|
||||
"notes": "ContainerGridLines adds gridLocation byte"
|
||||
"notes": "ContainerGridLines (6.0.1.7+) adds gridLocation byte"
|
||||
},
|
||||
"source": {
|
||||
"file": "Projects/UOContent/Network/Packets/IncomingItemPackets.cs",
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
"variants": [
|
||||
{
|
||||
"name": "Pre-High Seas Set Arrow",
|
||||
"version": "pre-HS",
|
||||
"condition": "command == 1 (Set), pre-HighSeas client",
|
||||
"size": 6,
|
||||
"fields": [
|
||||
|
|
@ -45,7 +44,6 @@
|
|||
},
|
||||
{
|
||||
"name": "Pre-High Seas Cancel Arrow",
|
||||
"version": "pre-HS",
|
||||
"condition": "command == 0 (Cancel), pre-HighSeas client",
|
||||
"size": 6,
|
||||
"fields": [
|
||||
|
|
@ -81,7 +79,6 @@
|
|||
},
|
||||
{
|
||||
"name": "High Seas",
|
||||
"version": "HS+",
|
||||
"condition": "HighSeas client (7.0.9.0+)",
|
||||
"size": 10,
|
||||
"fields": [
|
||||
|
|
@ -127,11 +124,9 @@
|
|||
}
|
||||
],
|
||||
"clientVersion": {
|
||||
"classic": {
|
||||
"min": "7.0.9.0"
|
||||
},
|
||||
"classic": {},
|
||||
"enhanced": {},
|
||||
"notes": "HighSeas (7.0.9.0+) adds target serial. Pre-HS clients use 6-byte variant (max 7.0.8.x), HS+ clients use 10-byte variant."
|
||||
"notes": "HighSeas (7.0.9.0+) adds target serial. Pre-HS clients use 6-byte variant, HS+ clients use 10-byte variant."
|
||||
},
|
||||
"source": {
|
||||
"file": "Projects/UOContent/Skills/Tracking/OutgoingArrowPackets.cs",
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
"variants": [
|
||||
{
|
||||
"name": "Display Board",
|
||||
"version": "0x00",
|
||||
"condition": "command == 0x00",
|
||||
"size": 38,
|
||||
"fields": [
|
||||
|
|
@ -52,7 +51,6 @@
|
|||
},
|
||||
{
|
||||
"name": "Message Header",
|
||||
"version": "0x01",
|
||||
"condition": "command == 0x01",
|
||||
"size": "22+",
|
||||
"fields": [
|
||||
|
|
@ -131,7 +129,6 @@
|
|||
},
|
||||
{
|
||||
"name": "Message Content",
|
||||
"version": "0x02",
|
||||
"condition": "command == 0x02",
|
||||
"size": "22+",
|
||||
"fields": [
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
"size": "Varies",
|
||||
"variants": [
|
||||
{
|
||||
"version": "pre-HighSeas",
|
||||
"name": "Classic",
|
||||
"size": 7,
|
||||
"fields": [
|
||||
|
|
@ -36,7 +35,6 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"version": "HighSeas+",
|
||||
"name": "High Seas Extended",
|
||||
"condition": "Client version \u003e= 7.0.9.0 (HighSeas)",
|
||||
"size": 9,
|
||||
|
|
@ -71,11 +69,9 @@
|
|||
}
|
||||
],
|
||||
"clientVersion": {
|
||||
"classic": {
|
||||
"min": "7.0.9.0"
|
||||
},
|
||||
"classic": {},
|
||||
"enhanced": {},
|
||||
"notes": "HighSeas adds containerType field"
|
||||
"notes": "HighSeas (7.0.9.0+) adds containerType field"
|
||||
},
|
||||
"source": {
|
||||
"file": "Projects/Server/Network/Packets/OutgoingContainerPackets.cs",
|
||||
|
|
@ -91,7 +87,6 @@
|
|||
"size": "Varies",
|
||||
"variants": [
|
||||
{
|
||||
"version": "pre-6017",
|
||||
"name": "Classic",
|
||||
"size": 20,
|
||||
"fields": [
|
||||
|
|
@ -154,7 +149,6 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"version": "6017+",
|
||||
"name": "Container Grid Lines",
|
||||
"condition": "Client version \u003e= 6.0.1.7 (ContainerGridLines)",
|
||||
"size": 21,
|
||||
|
|
@ -225,11 +219,9 @@
|
|||
}
|
||||
],
|
||||
"clientVersion": {
|
||||
"classic": {
|
||||
"min": "6.0.1.7"
|
||||
},
|
||||
"classic": {},
|
||||
"enhanced": {},
|
||||
"notes": "ContainerGridLines adds gridLocation byte"
|
||||
"notes": "ContainerGridLines (6.0.1.7+) adds gridLocation byte"
|
||||
},
|
||||
"source": {
|
||||
"file": "Projects/Server/Network/Packets/OutgoingContainerPackets.cs",
|
||||
|
|
@ -246,7 +238,6 @@
|
|||
"tags": ["Spellbook", "Corpse"],
|
||||
"variants": [
|
||||
{
|
||||
"version": "pre-6017",
|
||||
"name": "Classic Format",
|
||||
"condition": "Client version \u003c 6.0.1.7",
|
||||
"size": "5 + (itemCount x 19)",
|
||||
|
|
@ -332,7 +323,6 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"version": "6017+ (ContainerGridLines)",
|
||||
"name": "Grid Location Format",
|
||||
"condition": "Client version \u003e= 6.0.1.7 (ContainerGridLines)",
|
||||
"size": "5 + (itemCount x 20)",
|
||||
|
|
@ -437,9 +427,7 @@
|
|||
}
|
||||
],
|
||||
"clientVersion": {
|
||||
"classic": {
|
||||
"min": "6.0.1.7"
|
||||
},
|
||||
"classic": {},
|
||||
"enhanced": {},
|
||||
"notes": "ContainerGridLines (6.0.1.7+) adds gridLocation byte per item"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
"variants": [
|
||||
{
|
||||
"name": "Old Format",
|
||||
"version": "0x01",
|
||||
"condition": "command == 0x01 (pre-NewHaven)",
|
||||
"fields": [
|
||||
{
|
||||
|
|
@ -115,7 +114,6 @@
|
|||
},
|
||||
{
|
||||
"name": "New Format",
|
||||
"version": "0x02",
|
||||
"condition": "command == 0x02 (NewHaven+)",
|
||||
"fields": [
|
||||
{
|
||||
|
|
@ -201,9 +199,7 @@
|
|||
}
|
||||
],
|
||||
"clientVersion": {
|
||||
"classic": {
|
||||
"min": "6.0.0.0"
|
||||
},
|
||||
"classic": {},
|
||||
"enhanced": {},
|
||||
"notes": "NewHaven clients (6.0.0.0+) use command 0x02"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1104,506 +1104,474 @@
|
|||
},
|
||||
{
|
||||
"id": "0x78",
|
||||
"name": "Mobile Incoming (Old)",
|
||||
"description": "Full mobile information including equipped items. Sent when a mobile enters view range. Pre-Stygian Abyss version.",
|
||||
"name": "Mobile Incoming",
|
||||
"description": "Full mobile information including equipped items. Sent when a mobile enters view range. Structure varies by client version.",
|
||||
"direction": "outgoing",
|
||||
"isDynamic": true,
|
||||
"size": "23+",
|
||||
"fields": [
|
||||
{
|
||||
"name": "Packet ID",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"value": "0x78",
|
||||
"description": "Packet identifier"
|
||||
},
|
||||
{
|
||||
"name": "Length",
|
||||
"type": "ushort",
|
||||
"size": 2,
|
||||
"description": "Packet length"
|
||||
},
|
||||
{
|
||||
"name": "Serial",
|
||||
"type": "uint",
|
||||
"size": 4,
|
||||
"description": "Mobile serial"
|
||||
},
|
||||
{
|
||||
"name": "Body",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Body/graphic ID"
|
||||
},
|
||||
{
|
||||
"name": "X",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "X coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Y",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Y coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Z",
|
||||
"type": "sbyte",
|
||||
"size": 1,
|
||||
"description": "Z coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Direction",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Facing direction"
|
||||
},
|
||||
{
|
||||
"name": "Hue",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Hue/color"
|
||||
},
|
||||
{
|
||||
"name": "Flags",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Packet flags"
|
||||
},
|
||||
{
|
||||
"name": "Notoriety",
|
||||
"type": "enum",
|
||||
"enumType": "sequential",
|
||||
"size": 1,
|
||||
"description": "Notoriety flag",
|
||||
"values": [
|
||||
{
|
||||
"value": 0,
|
||||
"name": "Innocent",
|
||||
"description": "Blue - innocent player"
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"name": "Friend",
|
||||
"description": "Green - ally/friend"
|
||||
},
|
||||
{
|
||||
"value": 2,
|
||||
"name": "Attackable",
|
||||
"description": "Gray - can be attacked"
|
||||
},
|
||||
{
|
||||
"value": 3,
|
||||
"name": "Criminal",
|
||||
"description": "Gray - criminal flag"
|
||||
},
|
||||
{
|
||||
"value": 4,
|
||||
"name": "Enemy",
|
||||
"description": "Orange - enemy"
|
||||
},
|
||||
{
|
||||
"value": 5,
|
||||
"name": "Murderer",
|
||||
"description": "Red - murderer"
|
||||
},
|
||||
{
|
||||
"value": 6,
|
||||
"name": "Invulnerable",
|
||||
"description": "Yellow - invulnerable"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Equipment",
|
||||
"type": "array",
|
||||
"description": "Equipped items (terminated by 0x00000000)",
|
||||
"loop": {
|
||||
"countField": "variable (until terminator)",
|
||||
"fields": [
|
||||
{
|
||||
"name": "Item Serial",
|
||||
"type": "uint",
|
||||
"size": 4,
|
||||
"description": "Item serial (0 = end of list)"
|
||||
},
|
||||
{
|
||||
"name": "Item ID",
|
||||
"type": "ushort",
|
||||
"size": 2,
|
||||
"description": "Item graphic ID (15-bit, 0x7FFF mask). Bit 0x8000 indicates hue follows."
|
||||
},
|
||||
{
|
||||
"name": "Layer",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Equipment layer"
|
||||
},
|
||||
{
|
||||
"name": "Hue",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Item hue (only present if bit 0x8000 set on Item ID)",
|
||||
"condition": "Item ID & 0x8000"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Terminator",
|
||||
"type": "int",
|
||||
"size": 4,
|
||||
"value": "0x00000000",
|
||||
"description": "Equipment list terminator"
|
||||
}
|
||||
],
|
||||
"clientVersion": {
|
||||
"classic": { "max": "6.x.x.x" },
|
||||
"notes": "Pre-Stygian Abyss. Equipment hue only sent when non-zero (indicated by 0x8000 flag on ItemID)."
|
||||
},
|
||||
"related": [
|
||||
{ "id": "0x78", "relationship": "variant", "note": "Mobile Incoming (SA) for 7.0.0.0+" },
|
||||
{ "id": "0x78", "relationship": "variant", "note": "Mobile Incoming (New) for 7.0.33.1+" }
|
||||
],
|
||||
"source": {
|
||||
"file": "Projects/Server/Network/Packets/OutgoingMobilePackets.cs",
|
||||
"line": 601
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "0x78",
|
||||
"name": "Mobile Incoming (SA)",
|
||||
"description": "Full mobile information including equipped items. Sent when a mobile enters view range. Stygian Abyss version with updated packet flags.",
|
||||
"direction": "outgoing",
|
||||
"isDynamic": true,
|
||||
"size": "23+",
|
||||
"fields": [
|
||||
{
|
||||
"name": "Packet ID",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"value": "0x78",
|
||||
"description": "Packet identifier"
|
||||
},
|
||||
{
|
||||
"name": "Length",
|
||||
"type": "ushort",
|
||||
"size": 2,
|
||||
"description": "Packet length"
|
||||
},
|
||||
{
|
||||
"name": "Serial",
|
||||
"type": "uint",
|
||||
"size": 4,
|
||||
"description": "Mobile serial"
|
||||
},
|
||||
{
|
||||
"name": "Body",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Body/graphic ID"
|
||||
},
|
||||
{
|
||||
"name": "X",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "X coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Y",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Y coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Z",
|
||||
"type": "sbyte",
|
||||
"size": 1,
|
||||
"description": "Z coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Direction",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Facing direction"
|
||||
},
|
||||
{
|
||||
"name": "Hue",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Hue/color"
|
||||
},
|
||||
{
|
||||
"name": "Flags",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Packet flags"
|
||||
},
|
||||
{
|
||||
"name": "Notoriety",
|
||||
"type": "enum",
|
||||
"enumType": "sequential",
|
||||
"size": 1,
|
||||
"description": "Notoriety flag",
|
||||
"values": [
|
||||
{
|
||||
"value": 0,
|
||||
"name": "Innocent",
|
||||
"description": "Blue - innocent player"
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"name": "Friend",
|
||||
"description": "Green - ally/friend"
|
||||
},
|
||||
{
|
||||
"value": 2,
|
||||
"name": "Attackable",
|
||||
"description": "Gray - can be attacked"
|
||||
},
|
||||
{
|
||||
"value": 3,
|
||||
"name": "Criminal",
|
||||
"description": "Gray - criminal flag"
|
||||
},
|
||||
{
|
||||
"value": 4,
|
||||
"name": "Enemy",
|
||||
"description": "Orange - enemy"
|
||||
},
|
||||
{
|
||||
"value": 5,
|
||||
"name": "Murderer",
|
||||
"description": "Red - murderer"
|
||||
},
|
||||
{
|
||||
"value": 6,
|
||||
"name": "Invulnerable",
|
||||
"description": "Yellow - invulnerable"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Equipment",
|
||||
"type": "array",
|
||||
"description": "Equipped items (terminated by 0x00000000)",
|
||||
"loop": {
|
||||
"countField": "variable (until terminator)",
|
||||
"fields": [
|
||||
{
|
||||
"name": "Item Serial",
|
||||
"type": "uint",
|
||||
"size": 4,
|
||||
"description": "Item serial (0 = end of list)"
|
||||
},
|
||||
{
|
||||
"name": "Item ID",
|
||||
"type": "ushort",
|
||||
"size": 2,
|
||||
"description": "Item graphic ID (15-bit, 0x7FFF mask). Bit 0x8000 indicates hue follows."
|
||||
},
|
||||
{
|
||||
"name": "Layer",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Equipment layer"
|
||||
},
|
||||
{
|
||||
"name": "Hue",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Item hue (only present if bit 0x8000 set on Item ID)",
|
||||
"condition": "Item ID & 0x8000"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Terminator",
|
||||
"type": "int",
|
||||
"size": 4,
|
||||
"value": "0x00000000",
|
||||
"description": "Equipment list terminator"
|
||||
}
|
||||
],
|
||||
"clientVersion": {
|
||||
"classic": { "min": "7.0.0.0", "max": "7.0.33.0" },
|
||||
"enhanced": {},
|
||||
"notes": "Stygian Abyss clients. Equipment hue only sent when non-zero (indicated by 0x8000 flag on ItemID)."
|
||||
},
|
||||
"related": [
|
||||
{ "id": "0x78", "relationship": "variant", "note": "Mobile Incoming (Old) for pre-7.0.0.0" },
|
||||
{ "id": "0x78", "relationship": "variant", "note": "Mobile Incoming (New) for 7.0.33.1+" }
|
||||
],
|
||||
"source": {
|
||||
"file": "Projects/Server/Network/Packets/OutgoingMobilePackets.cs",
|
||||
"line": 601
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "0x78",
|
||||
"name": "Mobile Incoming (New)",
|
||||
"description": "Full mobile information including equipped items. Sent when a mobile enters view range. NewMobileIncoming version with full 16-bit ItemID and always-present hue field.",
|
||||
"direction": "outgoing",
|
||||
"isDynamic": true,
|
||||
"size": "23+",
|
||||
"fields": [
|
||||
{
|
||||
"name": "Packet ID",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"value": "0x78",
|
||||
"description": "Packet identifier"
|
||||
},
|
||||
{
|
||||
"name": "Length",
|
||||
"type": "ushort",
|
||||
"size": 2,
|
||||
"description": "Packet length"
|
||||
},
|
||||
{
|
||||
"name": "Serial",
|
||||
"type": "uint",
|
||||
"size": 4,
|
||||
"description": "Mobile serial"
|
||||
},
|
||||
{
|
||||
"name": "Body",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Body/graphic ID"
|
||||
},
|
||||
{
|
||||
"name": "X",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "X coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Y",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Y coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Z",
|
||||
"type": "sbyte",
|
||||
"size": 1,
|
||||
"description": "Z coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Direction",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Facing direction"
|
||||
},
|
||||
{
|
||||
"name": "Hue",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Hue/color"
|
||||
},
|
||||
{
|
||||
"name": "Flags",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Packet flags"
|
||||
},
|
||||
{
|
||||
"name": "Notoriety",
|
||||
"type": "enum",
|
||||
"enumType": "sequential",
|
||||
"size": 1,
|
||||
"description": "Notoriety flag",
|
||||
"values": [
|
||||
{
|
||||
"value": 0,
|
||||
"name": "Innocent",
|
||||
"description": "Blue - innocent player"
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"name": "Friend",
|
||||
"description": "Green - ally/friend"
|
||||
},
|
||||
{
|
||||
"value": 2,
|
||||
"name": "Attackable",
|
||||
"description": "Gray - can be attacked"
|
||||
},
|
||||
{
|
||||
"value": 3,
|
||||
"name": "Criminal",
|
||||
"description": "Gray - criminal flag"
|
||||
},
|
||||
{
|
||||
"value": 4,
|
||||
"name": "Enemy",
|
||||
"description": "Orange - enemy"
|
||||
},
|
||||
{
|
||||
"value": 5,
|
||||
"name": "Murderer",
|
||||
"description": "Red - murderer"
|
||||
},
|
||||
{
|
||||
"value": 6,
|
||||
"name": "Invulnerable",
|
||||
"description": "Yellow - invulnerable"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Equipment",
|
||||
"type": "array",
|
||||
"description": "Equipped items (terminated by 0x00000000)",
|
||||
"loop": {
|
||||
"countField": "variable (until terminator)",
|
||||
"fields": [
|
||||
{
|
||||
"name": "Item Serial",
|
||||
"type": "uint",
|
||||
"size": 4,
|
||||
"description": "Item serial (0 = end of list)"
|
||||
},
|
||||
{
|
||||
"name": "Item ID",
|
||||
"type": "ushort",
|
||||
"size": 2,
|
||||
"description": "Item graphic ID (full 16-bit, 0xFFFF mask)"
|
||||
},
|
||||
{
|
||||
"name": "Layer",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Equipment layer"
|
||||
},
|
||||
{
|
||||
"name": "Hue",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Item hue (always present)"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Terminator",
|
||||
"type": "int",
|
||||
"size": 4,
|
||||
"value": "0x00000000",
|
||||
"description": "Equipment list terminator"
|
||||
}
|
||||
],
|
||||
"clientVersion": {
|
||||
"classic": { "min": "7.0.33.1" },
|
||||
"notes": "NewMobileIncoming clients. Equipment always includes hue field (no 0x8000 flag needed). ItemID uses full 16-bit range."
|
||||
},
|
||||
"related": [
|
||||
{ "id": "0x78", "relationship": "variant", "note": "Mobile Incoming (Old) for pre-7.0.0.0" },
|
||||
{ "id": "0x78", "relationship": "variant", "note": "Mobile Incoming (SA) for 7.0.0.0-7.0.33.0" }
|
||||
],
|
||||
"variants": [
|
||||
{
|
||||
"name": "Pre-Stygian Abyss",
|
||||
"condition": "Classic client < 7.0.0.0",
|
||||
"size": "23+",
|
||||
"fields": [
|
||||
{
|
||||
"name": "Packet ID",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"value": "0x78",
|
||||
"description": "Packet identifier"
|
||||
},
|
||||
{
|
||||
"name": "Length",
|
||||
"type": "ushort",
|
||||
"size": 2,
|
||||
"description": "Packet length"
|
||||
},
|
||||
{
|
||||
"name": "Serial",
|
||||
"type": "uint",
|
||||
"size": 4,
|
||||
"description": "Mobile serial"
|
||||
},
|
||||
{
|
||||
"name": "Body",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Body/graphic ID"
|
||||
},
|
||||
{
|
||||
"name": "X",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "X coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Y",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Y coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Z",
|
||||
"type": "sbyte",
|
||||
"size": 1,
|
||||
"description": "Z coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Direction",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Facing direction"
|
||||
},
|
||||
{
|
||||
"name": "Hue",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Hue/color"
|
||||
},
|
||||
{
|
||||
"name": "Flags",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Packet flags"
|
||||
},
|
||||
{
|
||||
"name": "Notoriety",
|
||||
"type": "enum",
|
||||
"enumType": "sequential",
|
||||
"size": 1,
|
||||
"description": "Notoriety flag",
|
||||
"values": [
|
||||
{
|
||||
"value": 0,
|
||||
"name": "Innocent",
|
||||
"description": "Blue - innocent player"
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"name": "Friend",
|
||||
"description": "Green - ally/friend"
|
||||
},
|
||||
{
|
||||
"value": 2,
|
||||
"name": "Attackable",
|
||||
"description": "Gray - can be attacked"
|
||||
},
|
||||
{
|
||||
"value": 3,
|
||||
"name": "Criminal",
|
||||
"description": "Gray - criminal flag"
|
||||
},
|
||||
{
|
||||
"value": 4,
|
||||
"name": "Enemy",
|
||||
"description": "Orange - enemy"
|
||||
},
|
||||
{
|
||||
"value": 5,
|
||||
"name": "Murderer",
|
||||
"description": "Red - murderer"
|
||||
},
|
||||
{
|
||||
"value": 6,
|
||||
"name": "Invulnerable",
|
||||
"description": "Yellow - invulnerable"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Equipment",
|
||||
"type": "array",
|
||||
"description": "Equipped items (terminated by 0x00000000)",
|
||||
"loop": {
|
||||
"countField": "variable (until terminator)",
|
||||
"fields": [
|
||||
{
|
||||
"name": "Item Serial",
|
||||
"type": "uint",
|
||||
"size": 4,
|
||||
"description": "Item serial (0 = end of list)"
|
||||
},
|
||||
{
|
||||
"name": "Item ID",
|
||||
"type": "ushort",
|
||||
"size": 2,
|
||||
"description": "Item graphic ID (15-bit, 0x7FFF mask). Bit 0x8000 indicates hue follows."
|
||||
},
|
||||
{
|
||||
"name": "Layer",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Equipment layer"
|
||||
},
|
||||
{
|
||||
"name": "Hue",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Item hue (only present if bit 0x8000 set on Item ID)",
|
||||
"condition": "Item ID & 0x8000"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Terminator",
|
||||
"type": "int",
|
||||
"size": 4,
|
||||
"value": "0x00000000",
|
||||
"description": "Equipment list terminator"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Stygian Abyss",
|
||||
"condition": "Classic client 7.0.0.0 - 7.0.33.0, or Enhanced Client",
|
||||
"size": "23+",
|
||||
"fields": [
|
||||
{
|
||||
"name": "Packet ID",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"value": "0x78",
|
||||
"description": "Packet identifier"
|
||||
},
|
||||
{
|
||||
"name": "Length",
|
||||
"type": "ushort",
|
||||
"size": 2,
|
||||
"description": "Packet length"
|
||||
},
|
||||
{
|
||||
"name": "Serial",
|
||||
"type": "uint",
|
||||
"size": 4,
|
||||
"description": "Mobile serial"
|
||||
},
|
||||
{
|
||||
"name": "Body",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Body/graphic ID"
|
||||
},
|
||||
{
|
||||
"name": "X",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "X coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Y",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Y coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Z",
|
||||
"type": "sbyte",
|
||||
"size": 1,
|
||||
"description": "Z coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Direction",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Facing direction"
|
||||
},
|
||||
{
|
||||
"name": "Hue",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Hue/color"
|
||||
},
|
||||
{
|
||||
"name": "Flags",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Packet flags (SA format)"
|
||||
},
|
||||
{
|
||||
"name": "Notoriety",
|
||||
"type": "enum",
|
||||
"enumType": "sequential",
|
||||
"size": 1,
|
||||
"description": "Notoriety flag",
|
||||
"values": [
|
||||
{
|
||||
"value": 0,
|
||||
"name": "Innocent",
|
||||
"description": "Blue - innocent player"
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"name": "Friend",
|
||||
"description": "Green - ally/friend"
|
||||
},
|
||||
{
|
||||
"value": 2,
|
||||
"name": "Attackable",
|
||||
"description": "Gray - can be attacked"
|
||||
},
|
||||
{
|
||||
"value": 3,
|
||||
"name": "Criminal",
|
||||
"description": "Gray - criminal flag"
|
||||
},
|
||||
{
|
||||
"value": 4,
|
||||
"name": "Enemy",
|
||||
"description": "Orange - enemy"
|
||||
},
|
||||
{
|
||||
"value": 5,
|
||||
"name": "Murderer",
|
||||
"description": "Red - murderer"
|
||||
},
|
||||
{
|
||||
"value": 6,
|
||||
"name": "Invulnerable",
|
||||
"description": "Yellow - invulnerable"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Equipment",
|
||||
"type": "array",
|
||||
"description": "Equipped items (terminated by 0x00000000)",
|
||||
"loop": {
|
||||
"countField": "variable (until terminator)",
|
||||
"fields": [
|
||||
{
|
||||
"name": "Item Serial",
|
||||
"type": "uint",
|
||||
"size": 4,
|
||||
"description": "Item serial (0 = end of list)"
|
||||
},
|
||||
{
|
||||
"name": "Item ID",
|
||||
"type": "ushort",
|
||||
"size": 2,
|
||||
"description": "Item graphic ID (15-bit, 0x7FFF mask). Bit 0x8000 indicates hue follows."
|
||||
},
|
||||
{
|
||||
"name": "Layer",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Equipment layer"
|
||||
},
|
||||
{
|
||||
"name": "Hue",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Item hue (only present if bit 0x8000 set on Item ID)",
|
||||
"condition": "Item ID & 0x8000"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Terminator",
|
||||
"type": "int",
|
||||
"size": 4,
|
||||
"value": "0x00000000",
|
||||
"description": "Equipment list terminator"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "NewMobileIncoming",
|
||||
"condition": "Classic client >= 7.0.33.1",
|
||||
"size": "23+",
|
||||
"fields": [
|
||||
{
|
||||
"name": "Packet ID",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"value": "0x78",
|
||||
"description": "Packet identifier"
|
||||
},
|
||||
{
|
||||
"name": "Length",
|
||||
"type": "ushort",
|
||||
"size": 2,
|
||||
"description": "Packet length"
|
||||
},
|
||||
{
|
||||
"name": "Serial",
|
||||
"type": "uint",
|
||||
"size": 4,
|
||||
"description": "Mobile serial"
|
||||
},
|
||||
{
|
||||
"name": "Body",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Body/graphic ID"
|
||||
},
|
||||
{
|
||||
"name": "X",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "X coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Y",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Y coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Z",
|
||||
"type": "sbyte",
|
||||
"size": 1,
|
||||
"description": "Z coordinate"
|
||||
},
|
||||
{
|
||||
"name": "Direction",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Facing direction"
|
||||
},
|
||||
{
|
||||
"name": "Hue",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Hue/color"
|
||||
},
|
||||
{
|
||||
"name": "Flags",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Packet flags (SA format)"
|
||||
},
|
||||
{
|
||||
"name": "Notoriety",
|
||||
"type": "enum",
|
||||
"enumType": "sequential",
|
||||
"size": 1,
|
||||
"description": "Notoriety flag",
|
||||
"values": [
|
||||
{
|
||||
"value": 0,
|
||||
"name": "Innocent",
|
||||
"description": "Blue - innocent player"
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"name": "Friend",
|
||||
"description": "Green - ally/friend"
|
||||
},
|
||||
{
|
||||
"value": 2,
|
||||
"name": "Attackable",
|
||||
"description": "Gray - can be attacked"
|
||||
},
|
||||
{
|
||||
"value": 3,
|
||||
"name": "Criminal",
|
||||
"description": "Gray - criminal flag"
|
||||
},
|
||||
{
|
||||
"value": 4,
|
||||
"name": "Enemy",
|
||||
"description": "Orange - enemy"
|
||||
},
|
||||
{
|
||||
"value": 5,
|
||||
"name": "Murderer",
|
||||
"description": "Red - murderer"
|
||||
},
|
||||
{
|
||||
"value": 6,
|
||||
"name": "Invulnerable",
|
||||
"description": "Yellow - invulnerable"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Equipment",
|
||||
"type": "array",
|
||||
"description": "Equipped items (terminated by 0x00000000). Always includes hue field.",
|
||||
"loop": {
|
||||
"countField": "variable (until terminator)",
|
||||
"fields": [
|
||||
{
|
||||
"name": "Item Serial",
|
||||
"type": "uint",
|
||||
"size": 4,
|
||||
"description": "Item serial (0 = end of list)"
|
||||
},
|
||||
{
|
||||
"name": "Item ID",
|
||||
"type": "ushort",
|
||||
"size": 2,
|
||||
"description": "Item graphic ID (full 16-bit, 0xFFFF mask)"
|
||||
},
|
||||
{
|
||||
"name": "Layer",
|
||||
"type": "byte",
|
||||
"size": 1,
|
||||
"description": "Equipment layer"
|
||||
},
|
||||
{
|
||||
"name": "Hue",
|
||||
"type": "short",
|
||||
"size": 2,
|
||||
"description": "Item hue (always present)"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Terminator",
|
||||
"type": "int",
|
||||
"size": 4,
|
||||
"value": "0x00000000",
|
||||
"description": "Equipment list terminator"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": {
|
||||
"file": "Projects/Server/Network/Packets/OutgoingMobilePackets.cs",
|
||||
"line": 601
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
"variants": [
|
||||
{
|
||||
"name": "Member List",
|
||||
"version": "0x01",
|
||||
"condition": "command == 0x01",
|
||||
"size": "7 + (memberCount x 4)",
|
||||
"fields": [
|
||||
|
|
@ -69,7 +68,6 @@
|
|||
},
|
||||
{
|
||||
"name": "Remove Member",
|
||||
"version": "0x02",
|
||||
"condition": "command == 0x02",
|
||||
"size": "11 + (memberCount x 4)",
|
||||
"fields": [
|
||||
|
|
@ -132,7 +130,6 @@
|
|||
},
|
||||
{
|
||||
"name": "Private Message",
|
||||
"version": "0x03",
|
||||
"condition": "command == 0x03",
|
||||
"size": "12 + (text.Length x 2)",
|
||||
"fields": [
|
||||
|
|
@ -178,7 +175,6 @@
|
|||
},
|
||||
{
|
||||
"name": "Public Message",
|
||||
"version": "0x04",
|
||||
"condition": "command == 0x04",
|
||||
"size": "12 + (text.Length x 2)",
|
||||
"fields": [
|
||||
|
|
@ -224,7 +220,6 @@
|
|||
},
|
||||
{
|
||||
"name": "Party Invitation",
|
||||
"version": "0x07",
|
||||
"condition": "command == 0x07",
|
||||
"size": 10,
|
||||
"fields": [
|
||||
|
|
|
|||
|
|
@ -210,11 +210,9 @@
|
|||
}
|
||||
],
|
||||
"clientVersion": {
|
||||
"classic": {
|
||||
"min": "7.0.9.0"
|
||||
},
|
||||
"classic": {},
|
||||
"enhanced": {},
|
||||
"notes": "HighSeas expansion adds 4 bytes. EC always uses 30-byte variant."
|
||||
"notes": "HighSeas (7.0.9.0+) adds 4 bytes. EC always uses 30-byte variant."
|
||||
},
|
||||
"source": {
|
||||
"file": "Projects/Server/Network/Packets/OutgoingTargetPackets.cs",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue