---
title: "Packet 10: UseOrientedItem"
description: "Uses an oriented item such as a legacy grenade-family object. The server validates the active tool, cadence, and stock before accepting or relaying it."
canonical: "https://aosplay.net/protocol-168/packets/10"
markdown: "https://aosplay.net/docs/protocol-168/packets/10.md"
last_updated: "2026-07-16"
protocol: "Ace of Spades Battle Builder 168"
packet_id_decimal: "10"
packet_id_hex: "0x0A"
direction: "Both"
family: "Combat"
implementation_status: "Handled + sent"
evidence: "Implementation-backed"
wire_size: "21 bytes"
---

# Packet 10: UseOrientedItem

> Uses an oriented item such as a legacy grenade-family object. The server validates the active tool, cadence, and stock before accepting or relaying it.

- **Decimal ID:** 10
- **Hex ID:** 0x0A
- **Direction:** Both
- **Family:** Combat
- **Status:** Handled + sent
- **Evidence:** Implementation-backed
- **Wire size:** 21 bytes

## Implementation note

Entity-backed projectiles use CreateEntity (21). Do not relay tool 55 into the retail client's stale GLGrenade constructor.

## 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 10 (0x0A). | — |
| 1 | `loop_count` | i32 LE | 4 | Simulation-loop stamp used for ordering, prediction, or reconciliation. | — |
| 2 | `player_id` | u8 | 1 | Compact player-slot identifier. | — |
| 3 | `tool` | u8 | 1 | Tool/object identifier. | — |
| 4 | `value` | sign-magnitude fixed16 LE (1/64) | 2 | Item-specific scalar, commonly fuse or charge. | — |
| 5 | `position` | 3 × fixed16 LE | 6 | X, Y, and Z components at 1/64-unit precision. | — |
| 6 | `velocity` | 3 × fixed16 LE | 6 | X, Y, and Z components at 1/64-unit precision. | — |

## 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/10)
- [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)
