id | id | yes | | Id of the ability. |
name | string | yes | | Display name. |
description | string | | "" | What using it looks like. |
tags | id[] | | [] | Free labels for grouping and gating. |
actionType | rules.actionTypes | | | Action type it spends. Without one it costs nothing from the turn. |
costs | { rules.resources: expression } | | {} | Resources spent per use, each as an expression. |
range | number | | 0 | Distance units it reaches. 0 means touch. |
cooldown | number | | 0 | Rounds before the same creature may use it again. |
requires | object | | | Who may use it at all. The gating vocabulary. |
when | predicate | | | Predicate checked at the moment of use, on top of requires. |
targeting | selfsingleallEnemiesallAlliesallnone | | "single" | How many and which side it picks. |
attack | object | | | Makes it an attack roll, and says what it rolls against. |
swing | advantagedisadvantage | | | Which way this ability's own attack roll always leans, before circumstance. |
savingThrow | object | | | Makes it a save instead, and says what a success is worth. |
spellLevel | number | | | Slot level it is cast at. Absent means it is not a spell. |
concentration | boolean | | false | Whether holding it occupies the caster's concentration. |
ritual | boolean | | false | Whether it can be cast slowly without spending a slot. |
castingTime | string | | "" | Free text for the sheet. Timing in play comes from actionType. |
duration | string | | "" | Free text for the sheet. Timing in play comes from the conditions it applies. |
components | verbalsomaticmaterialfocus[] | | [] | What casting it needs. Verbal, somatic, material, or a focus. |
materialComponent | content.items | | | Item consumed or held as the material component. |
areaOfEffect | object | | | Shape and size when it covers ground rather than a target. |
upcast | effect[] | | [] | Extra effects per slot level above its own. |
onUse | effect[] | | [] | Effects run on a hit, a failed save, or unconditionally. |
onMiss | effect[] | | [] | Effects run when the attack roll misses. |
onCritical | effect[] | | [] | Effects run on a critical, in addition to the multiplied damage. |
extra | { string: any } | | {} | Open bag of your own data on this ability. |