> For the complete documentation index, see [llms.txt](https://enchantedmobs.superiormc.cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://enchantedmobs.superiormc.cn/configs/power-modifiers.md).

# Power Modifiers

EnchantedMobs registers **10 built-in modifier keys**. Modifiers run in YAML order after trigger conditions and before abilities.

## Reference pages

* [Result and Resource Modifiers](/configs/power-modifiers/result-values.md)
* [Combat and State Modifiers](/configs/power-modifiers/combat-state.md)
* [Event and Drop Modifiers](/configs/power-modifiers/event-drops.md)
* [Projectile Modifiers](/configs/power-modifiers/projectiles.md)
* [Fishing and Trading Modifiers](/configs/power-modifiers/fishing-trading.md)

## Common format

```yaml
modifiers:
  unique-entry-id:
    type: damage
    conditions: {}
    random: 1
    cooldown: 0
    operation: MULTIPLY
    value: 1.25
```

## Common fields

| Field        | Default  | Description                                                                      |
| ------------ | -------- | -------------------------------------------------------------------------------- |
| `type`       | required | Registered modifier key. Keys are case-insensitive and `-` is normalized to `_`. |
| `conditions` | empty    | Typed Power Conditions; every child must pass.                                   |
| `random`     | `1`      | Application probability.                                                         |
| `cooldown`   | `0`      | Per-source, per-power, per-config-path cooldown in seconds.                      |

Common checks run in this order: conditions, probability, then cooldown acquisition. A modifier whose event-specific implementation later finds incompatible context may still have acquired its common cooldown.

## Shared numeric operations

| Operation  | Result                                  |
| ---------- | --------------------------------------- |
| `SET`      | operand                                 |
| `ADD`      | original + operand                      |
| `SUBTRACT` | original - operand                      |
| `MULTIPLY` | original × operand                      |
| `DIVIDE`   | original ÷ operand; zero keeps original |
| `MIN`      | minimum of original and operand         |
| `MAX`      | maximum of original and operand         |

## Type index

| Type                    | Reference                                                                                    |
| ----------------------- | -------------------------------------------------------------------------------------------- |
| `damage`                | [Result and Resource Modifiers](/configs/power-modifiers/result-values.md#damage)            |
| `heal`                  | [Result and Resource Modifiers](/configs/power-modifiers/result-values.md#heal)              |
| `duration`              | [Result and Resource Modifiers](/configs/power-modifiers/result-values.md#duration)          |
| `yield`                 | [Result and Resource Modifiers](/configs/power-modifiers/result-values.md#yield)             |
| `radius`                | [Result and Resource Modifiers](/configs/power-modifiers/result-values.md#radius)            |
| `armor_pierce`          | [Combat and State Modifiers](/configs/power-modifiers/combat-state.md#armor-pierce)          |
| `stack_damage_modifier` | [Combat and State Modifiers](/configs/power-modifiers/combat-state.md#stack-damage-modifier) |
| `revive`                | [Combat and State Modifiers](/configs/power-modifiers/combat-state.md#revive)                |
| `modify_projectile`     | [Projectile Modifiers](/configs/power-modifiers/projectiles.md#modify-projectile)            |
| `replace_projectile`    | [Projectile Modifiers](/configs/power-modifiers/projectiles.md#replace-projectile)           |
