{ "category": "Targeting", "packets": [ { "id": "0x6C", "name": "Target Request", "description": "Requests the client to select a target.", "direction": "outgoing", "isDynamic": false, "size": 19, "fields": [ { "name": "Packet ID", "type": "byte", "size": 1, "value": "0x6C", "description": "Packet identifier" }, { "name": "Allow Ground", "type": "bool", "size": 1, "description": "True = allow ground targeting" }, { "name": "Target ID", "type": "int", "size": 4, "description": "Target cursor ID for matching response" }, { "name": "Flags", "type": "enum", "enumType": "sequential", "size": 1, "description": "Target cursor flags", "values": [ { "value": 0, "name": "Neutral", "description": "Neutral targeting (gray cursor)" }, { "value": 1, "name": "Harmful", "description": "Harmful action (red cursor)" }, { "value": 2, "name": "Beneficial", "description": "Beneficial action (green cursor)" }, { "value": 3, "name": "Cancel", "description": "Cancel targeting" } ] }, { "name": "Padding", "type": "byte[]", "size": 12, "description": "Padding (zeros)" } ], "source": { "file": "Projects/Server/Network/Packets/OutgoingTargetPackets.cs", "line": 57 } }, { "id": "0x99", "name": "Multi Target Request", "description": "Requests the client to place a multi (house/boat) structure.", "direction": "outgoing", "isDynamic": false, "size": "Varies", "variants": [ { "version": "pre-HighSeas", "name": "Pre-HighSeas (26 bytes)", "size": 26, "fields": [ { "name": "Packet ID", "type": "byte", "size": 1, "value": "0x99", "description": "Packet identifier" }, { "name": "Allow Ground", "type": "bool", "size": 1, "description": "Allow ground targeting" }, { "name": "Target ID", "type": "int", "size": 4, "description": "Target cursor ID" }, { "name": "Flags", "type": "byte", "size": 1, "description": "Target cursor flags" }, { "name": "Padding", "type": "byte[]", "size": 11, "description": "Padding (zeros)" }, { "name": "Multi ID", "type": "short", "size": 2, "description": "Multi graphic ID" }, { "name": "Offset X", "type": "short", "size": 2, "description": "X offset for placement" }, { "name": "Offset Y", "type": "short", "size": 2, "description": "Y offset for placement" }, { "name": "Offset Z", "type": "short", "size": 2, "description": "Z offset for placement" } ] }, { "version": "HighSeas+", "name": "HighSeas / Enhanced (30 bytes)", "condition": "Classic >= 7.0.9.0, or Enhanced Client (any version)", "size": 30, "fields": [ { "name": "Packet ID", "type": "byte", "size": 1, "value": "0x99", "description": "Packet identifier" }, { "name": "Allow Ground", "type": "bool", "size": 1, "description": "Allow ground targeting" }, { "name": "Target ID", "type": "int", "size": 4, "description": "Target cursor ID" }, { "name": "Flags", "type": "byte", "size": 1, "description": "Target cursor flags" }, { "name": "Padding", "type": "byte[]", "size": 11, "description": "Padding (zeros)" }, { "name": "Multi ID", "type": "short", "size": 2, "description": "Multi graphic ID" }, { "name": "Offset X", "type": "short", "size": 2, "description": "X offset for placement" }, { "name": "Offset Y", "type": "short", "size": 2, "description": "Y offset for placement" }, { "name": "Offset Z", "type": "short", "size": 2, "description": "Z offset for placement" }, { "name": "Unknown", "type": "int", "size": 4, "description": "Unknown (HighSeas extension)" } ] } ], "clientVersion": { "classic": {}, "enhanced": {}, "notes": "HighSeas (7.0.9.0+) adds 4 bytes. EC always uses 30-byte variant." }, "source": { "file": "Projects/Server/Network/Packets/OutgoingTargetPackets.cs", "line": 23 } } ] }