---
title: "Packet 116: PositionData"
description: "A position-only input shape retained for compatibility tooling. The targeted retail 1.x client does not send it in normal play."
canonical: "https://aosplay.net/protocol-168/packets/116"
markdown: "https://aosplay.net/docs/protocol-168/packets/116.md"
last_updated: "2026-07-16"
protocol: "Ace of Spades Battle Builder 168"
packet_id_decimal: "116"
packet_id_hex: "0x74"
direction: "C→S"
family: "Input"
implementation_status: "Handled"
evidence: "Provisional"
wire_size: "7 or 13 bytes"
---

# Packet 116: PositionData

> A position-only input shape retained for compatibility tooling. The targeted retail 1.x client does not send it in normal play.

- **Decimal ID:** 116
- **Hex ID:** 0x74
- **Direction:** C→S
- **Family:** Input
- **Status:** Handled
- **Evidence:** Provisional
- **Wire size:** 7 or 13 bytes

## Implementation note

A handler is registered, but the known retail send path is a no-op; this packet must not replace ClientData/WorldUpdate ownership.

## Exact wire layout

The application packet ID is the first byte. The remaining rows are in decode order. Byte sizes exclude ENet headers, wrapper prefixes, LZF chunk framing, and compression effects.

| # | Field | Encoding | Bytes | Purpose | Condition |
| ---: | --- | --- | ---: | --- | --- |
| 0 | `packet_id` | u8 | 1 | Always 116 (0x74). | — |
| 1 | `position` | 3 × fixed16 LE or 3 × f32 LE | 6 or 12 | The tolerant runtime decoder selects raw floats when 12 payload bytes are available, otherwise fixed-point shorts. | — |

## Encoding conventions

- `LE` means least-significant byte first.
- `fixed16` is two-byte sign-magnitude at 1/64 precision.
- `orientation16` uses the measured 1/8192 orientation mapping.
- NUL strings consume their encoded byte length plus one `00` terminator.
- Counted arrays repeat immediately in the documented order.

## Related resources

- [HTML packet page](https://aosplay.net/protocol-168/packets/116)
- [Complete packet catalog](https://aosplay.net/protocol-168/packets)
- [Packet catalog in Markdown](https://aosplay.net/docs/protocol-168/packets.md)
- [Protocol 168 guide](https://aosplay.net/protocol-168)
