> For the complete documentation index, see [llms.txt](https://lethium.gitbook.io/lethium-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lethium.gitbook.io/lethium-docs/gameplay/achievements.md).

# Achievements

One-time milestones, categories, reward-bonuses, long ladders (chains) and crate keys.

File: `plugins/ClickEmCore/modules/achievements.yml`. Module id: `achievements`. Commands: `/achievements`, `/achievement`, `/ach`.

Achievements are **one-time milestones** unlocked permanently. Each must be **claimed** for its reward. An unlocked achievement is also how some zones and boosts are gated (`required-achievement`).

### An achievement

```yaml
achievements:
  thousand_kills:
    rarity: RARE
    display-name: "clickem.achievements.thousand_kills.name"
    description: "clickem.achievements.thousand_kills.description"
    type: KILLS
    threshold: 1000
    reward-currency: 707
    reward-essence: 47
    reward-gems: 28
    reward-keys: {starter: 1}
    reward-bonus:
      damage-mult: 2.0
```

| Key                                                | Meaning                                                                                                                                                            |
| -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `type`                                             | What is tracked.                                                                                                                                                   |
| `threshold`                                        | The value that unlocks it.                                                                                                                                         |
| `reward-currency`, `reward-essence`, `reward-gems` | Rewards. Coins and Essence are **units scaled** at the moment the achievement becomes ready (see [Reward scaling](/lethium-docs/configuration/reward-scaling.md)). |
| `reward-bonus`                                     | A **one-time permanent stat bonus**, for the biggest milestones.                                                                                                   |
| `reward-keys`                                      | Crate keys `{key id: amount}` (`afk`, `vote`, `starter`, `hero`, `celestial`, `cosmetic`, `grandcosmetic`).                                                        |
| `rarity`                                           | Tooltip frame. Higher thresholds get higher rarities.                                                                                                              |

#### Achievement types

`KILLS`, `BOSS_KILLS`, `CRIT_HITS`, `DAMAGE_DEALT`, `ZONES_UNLOCKED`, `GEAR_TIER_TOTAL`, `STAT_DAMAGE`, `STAT_CRIT_CHANCE`, `STAT_CRIT_DAMAGE`, `STAT_BOSS_DAMAGE`, `PETS_OWNED`, `HIGHEST_PET_LEVEL`, `PET_PRESTIGE_TOTAL`, `ECHOES_OWNED`, `CURRENCY_EARNED`, `REBIRTHS`, `ARTIFACT_LEVELS`, `SKILL_LEVELS`, `MASTERY_LEVELS`.

They are grouped by category in the file (Kills, Boss Kills, Crit Hits, Damage, Zones, Gear, Power, Crit Chance, Crit Damage, Boss Damage, Pets, Pet Level, Pet Prestige, Echoes, Currency, Rebirths, Artifacts, Skills, Masteries).

### Chains

A `chains:` section writes a long repeating ladder of the same achievement at rising thresholds without writing every tier.

```yaml
chains:
  boss_slayer:
    type: BOSS_KILLS
    tiers: 25
    final-tier-keys: {hero: 1, cosmetic: 1}
    threshold-base: 5
    threshold-curve: GEOMETRIC
    threshold-growth: 1.4
    reward-currency-base: 40
    reward-currency-curve: GEOMETRIC
    reward-currency-growth: 1.05
    reward-essence-base: 5
    reward-essence-curve: GEOMETRIC
    reward-essence-growth: 1.05
    reward-bonus-per-tier:
      boss-damage-mult: 0.05
```

| Key                                                     | Meaning                                |
| ------------------------------------------------------- | -------------------------------------- |
| `tiers`                                                 | How many achievements the chain makes. |
| `threshold-base`, `threshold-curve`, `threshold-growth` | First threshold and how it grows.      |
| `reward-*-base/-curve/-growth`                          | Rewards per tier.                      |
| `reward-bonus-per-tier`                                 | A stat bonus added per tier.           |
| `final-tier-keys`                                       | Keys for the last tier only.           |

Chain tiers get their rarity from their position (first Common, last Ancient).

### Crate key budget

The two best keys, `celestial` and `grandcosmetic`, are **capped on purpose**. Across the whole game a player can earn at most **10 celestial** and **15 grandcosmetic** keys (achievements have 4 and 6, the Season Pass the rest). Re-check the [Season Pass](/lethium-docs/gameplay/season-pass.md) budget before adding more.

### Boosts

Unlocking an achievement gives Boost Charges (`charges.per-achievement-unlock` in `boosts.yml`).

### Staff commands

`/ceadmin achievements unlock|lock|claim <player> <achievement>`, `/ceadmin achievements reset <player>`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://lethium.gitbook.io/lethium-docs/gameplay/achievements.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
