> ## Documentation Index
> Fetch the complete documentation index at: https://luau.limerence.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Apocalypse Rising 2

> AR2-only PlayerHandle methods and signals.

**Apocalypse Rising 2 only.** Guard with `if handle.x then` before calling on other games.

## Handle methods

| Method          | Returns   | What it tells you                                                 |
| --------------- | --------- | ----------------------------------------------------------------- |
| `getAmmo()`     | `number?` | Rounds in their current weapon. `nil` if unknown or empty-handed. |
| `getMaxAmmo()`  | `number?` | Magazine capacity of their current weapon. `nil` if unknown.      |
| `getVelocity()` | `Vector3` | Their current velocity.                                           |
| `isHealing()`   | `boolean` | `true` while they use a medical or consumable item.               |

AR2 notes: `getWeapon()` and `getItemName()` both return the held item name (a `string`), not a table. `getTeam()` is always `nil` and `isBlind()` / `isScoped()` are always `false` (the game has no such state to read for other players). Other players' health is predicted, not exact, so treat `getHealth()` as an estimate.

## Signals

Call `:Connect(callback)` on these; your callback gets `player` first. They get cleaned up when your script unloads.

| Signal             | Your callback receives        |
| ------------------ | ----------------------------- |
| `onAmmoChanged`    | `(player, rounds, maxRounds)` |
| `onHealingChanged` | `(player, healing)`           |

## Example

```luau theme={null}
if api.players.onHealingChanged then
    api.players.onHealingChanged:Connect(function(player, healing)
        if healing then
            print(player.Name, "is healing")
        end
    end)
end
```
