> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/0x48lab/skills/llms.txt
> Use this file to discover all available pages before exploring further.

# Thief skills

> Hiding, Stealth, Detecting Hidden, Snooping, Stealing, and Poisoning — formulas, commands, and crime flag integration.

Six skills make up the thief archetype. They are designed to work together: Hiding enables Stealth, Snooping enables Stealing, and Poisoning adds a persistent damage-over-time threat to any melee weapon.

## Hiding

**Command:** `/hide`

**Effect:** Attempts to turn you invisible (Invisibility effect). Other players cannot see you.

**Success rate:** Hiding skill value % — at skill 50 you succeed 50 % of the time.

**Raises when:** You successfully hide.

### Reveal conditions

Hiding breaks immediately if you:

* Attack an entity
* Break a block
* Use an item
* Take damage
* Sprint

## Stealth

**Triggers:** Automatically activates after a successful hide when you start walking.

**Effect:** Lets you move while hidden, up to a distance limit.

```
stealth_distance = Stealth / 10 blocks   (max 10 blocks at skill 100)
```

| Skill | Walk distance while hidden |
| ----- | -------------------------- |
| 0     | 0 blocks                   |
| 50    | 5 blocks                   |
| 100   | 10 blocks                  |

**Raises when:** Moving while in stealth.

### Stealth cancellation

Stealth ends (and hiding is revealed) when you:

* Exceed your distance allowance
* Sprint
* Attack
* Break a block

<Note>
  Stealth does not let you walk indefinitely. Plan your route before hiding. A Stealth of 100 gives you 10 blocks of movement — enough to reposition in most situations.
</Note>

## Detecting Hidden

**Command:** `/detect`

**Effect:** Searches for hidden players within range and attempts to reveal them.

```
detect_range    = Detecting Hidden / 10 blocks   (max 10 blocks)
success_rate    = Detecting Hidden − target_Hiding + 50 %
                  (min 10 %, max 95 %)
```

**Raises when:** You attempt detection (success or failure).

On success: the target's Hiding is cancelled and their position is marked with particles.
On failure: nothing visible happens. The target is not notified.

<AccordionGroup>
  <Accordion title="Detection example">
    Your Detecting Hidden: 70. Target's Hiding: 60.

    ```
    success_rate = 70 - 60 + 50 = 60 %
    detect_range = 70 / 10 = 7 blocks
    ```

    You have a 60 % chance to reveal the target if they are within 7 blocks.
  </Accordion>
</AccordionGroup>

## Snooping

**Command:** `/snoop` → click a player in the targeting window.

**Effect:** On success, opens a read-only view of the target's inventory. On failure, the target receives a notification.

```
snooping_success = Snooping − (target_Detecting Hidden / 2) + 20 %
                  (min 5 %, max 95 %)
```

**Raises when:** You attempt to snoop (success or failure).

### Snooping → Stealing flow

<Steps>
  <Step title="Open Snooping">
    Run `/snoop` and click the target player. If the check succeeds, their inventory GUI opens.
  </Step>

  <Step title="Select an item">
    Left-click an item in the GUI to trigger a Stealing check. The item does not move until the check resolves.
  </Step>

  <Step title="Steal success">
    The item is copied to your inventory and removed from the target's. No notification.
  </Step>

  <Step title="Steal failure">
    The target receives a notification ("Someone tried to steal from you!"), the GUI closes, and you receive nothing.
  </Step>
</Steps>

## Stealing

**Triggered by:** Clicking an item in a Snooping GUI (see above).

```
stealing_success = Stealing
                 − (target_Detecting Hidden / 2)
                 − item_weight_penalty
                 + 10 %
                 (min 5 %, max 90 %)

item_weight_penalty = stack_size × 2 %
```

**Raises when:** You attempt to steal an item.

<AccordionGroup>
  <Accordion title="Stealing example">
    Your Stealing: 60. Target's Detecting Hidden: 40. Attempting to steal a stack of 10 items.

    ```
    weight_penalty   = 10 × 2    = 20 %
    stealing_success = 60 - 20 - 20 + 10 = 30 %
    ```
  </Accordion>
</AccordionGroup>

### Crime flag integration

If the **notoriety** plugin is installed, a successful steal records a crime against the victim:

```kotlin theme={null}
notoriety?.recordCrime(
    criminal = player.uniqueId,
    crimeType = CrimeType.THEFT,
    victim = target.uniqueId,
    location = player.location,
    detail = "Stealing: ${item.type.name}"
)
```

If notoriety is not installed, the crime step is silently skipped — the skill still works normally.

## Poisoning

**Command:** `/poison`

**Effect:** Coats your held weapon with poison. Each successful hit consumes one charge and applies a poison effect to the target.

```
poison_charges  = Poisoning / 20   (max 5 charges at skill 100)
success_rate    = Poisoning %
```

**Raises when:** You apply poison or land a poisoned hit.

### Poisoning flow

<Steps>
  <Step title="Prepare">
    Carry at least one Poison Potion in your inventory. Hold the weapon you want to coat in your main hand.
  </Step>

  <Step title="Apply">
    Run `/poison`. The plugin rolls against your Poisoning skill %.
  </Step>

  <Step title="Success">
    The weapon gains a poison coating with `Poisoning / 20` charges (max 5). One potion is consumed. Item lore shows "☠ Poison (X charges remaining)".
  </Step>

  <Step title="Failure">
    You receive a "Failed to apply poison" message. No potion is consumed.
  </Step>

  <Step title="Use in combat">
    Each hit that connects spends one charge and applies a 5-second poison to the target. When charges reach 0, the coating disappears.
  </Step>
</Steps>

| Skill | Charges per application |
| ----- | ----------------------- |
| 20    | 1                       |
| 40    | 2                       |
| 60    | 3                       |
| 80    | 4                       |
| 100   | 5                       |

Poison damage strength depends on the tier of potion used (Poison I vs. Poison II), not on your skill level.
