Modify Spell Cooldown
Description
Modifies the cooldown of a learned spell on the target player. The result is always clamped to >= 0.
Three modes are supported via the mode attribute:
Mode (mode=) |
Behavior |
|---|---|
SET (default) |
Replaces the current remaining cooldown with the configured value. |
ADD |
Adds the configured value to the current remaining cooldown. Negative values reduce. |
MULTIPLY |
Scales the current remaining cooldown by the configured factor. <1.0 reduces, >1.0 increases. |
The cooldown attribute is parsed as a PlaceholderDouble, so it supports placeholders and math expressions.
Use this for one-shot events — cooldown resets on kill, procs that bump a single cooldown, boss abilities that double a player's cooldowns, etc. For stackable passive cooldown reduction, this is the wrong tool: chained
MULTIPLYcalls compound (0.8 × 0.4 = 0.32, not the additive1 - 0.8 = 0.2players expect), and the order in which different sources apply is non-deterministic. The right pattern is to define aCOOLDOWN_REDUCTIONstat, let CDR sources stack additively into it, and reference it from the spell'sCooldown:math expression.
Attributes
| Attribute | Aliases | Description | Default |
|---|---|---|---|
| spell | id, s | The spell whose cooldown is being modified | required |
| cooldown | amount, value, seconds, a, v, c | The value used by the chosen mode (seconds for SET/ADD, factor for MULTIPLY). Supports placeholders and math expressions. |
0 |
| mode | operation, op, m | SET, ADD, or MULTIPLY |
SET |
Examples
Reset Fireball's cooldown when an enemy is killed:
Skills:
- modifySpellCooldown{spell=Fireball;cooldown=0} @self ~onKill
Apply a 5-second cooldown bump on the spell that was just cast (negative ADD reduces):
Skills:
- modifySpellCooldown{spell=Fireball;mode=ADD;cooldown=5} @self
Halve all cooldowns on a one-shot proc:
Skills:
- modifySpellCooldown{spell=Fireball;mode=MULTIPLY;cooldown=0.5} @self
- modifySpellCooldown{spell=IceLance;mode=MULTIPLY;cooldown=0.5} @self
Drive cooldown reduction from a stat (one-shot recompute):
Skills:
- modifySpellCooldown{spell=Fireball;mode=MULTIPLY;cooldown=1-<caster.stat.COOLDOWN_REDUCTION>} @self
Aliases
- spellCooldown