Skip to content

Buffs

A buff changes a number without changing what is written on the sheet. A ring of protection adds 1 to AC while it is worn; Shield of Faith adds 2 for as long as the cleric concentrates; Restrained drops speed to 0. Take the ring off, drop concentration or shake the condition, and the number goes back by itself. Nothing was edited, so there is nothing to undo.

Where buffs come from

  • Items — a buff on an item applies while it is equipped. 5e armour picked from the catalogue carries its Armor Class this way, and a shield its +2.
  • Feats — a feat's buffs apply unless it is switched off. A custom feat made on the sheet can be given buffs.
  • Powers — a power's buffs apply only while it is switched on.
  • Conditions — a condition can carry effects. In 5e, Grappled, Restrained, Paralyzed, Petrified, Stunned, Unconscious, Dying and Dead hold speed at 0.
  • Timed effects — an effect on the Timeline can carry effects too. That is what a spell like Shield of Faith or Mage Armor starts when cast, and what Does in the timed-effect dialogue sets by hand.

Adding a buff by hand

A buff you add yourself is a timed effect on a token. Choose Until ended when it should last until someone removes it. There are three ways in:

  • the + at the end of Mini-Me's row of conditions and effects (which also toggles conditions);
  • Add timed effect or buff… on a token's right-click menu;
  • Add buff in the Buffs panel of a 5e sheet opened from the token.

An item's, feat's or condition's buffs are edited where they live: the item's details in build mode, the custom feat or power dialogue, the campaign's conditions.

An item, a feat, a power or a condition belongs to the character, so its buffs show on every token of that character and on the character's sheet. A timed effect belongs to the token it is on, on the map it was started on. A sheet opened from that token counts it; the sheet opened from the library does not, and says what is running and where.

How a number is built

Every buffed number starts from its base — what the sheet says, or what the rules derive — and the effects that reach it are applied in a fixed order. The order they were added in never matters.

  1. Set replaces the base. When several do, the highest applies. In 5e this is how Armor Class formulas work: armour, Mage Armor (13 + Dex) and Unarmored Defense are each a set, your worn AC is one too, and the best one wins — just as the rules say you choose.
  2. Add and percent apply next. Percents add together first and are then taken of the value from step 1, so two "+100%" make three times the value, not four.
  3. At least (a floor): the highest applies. Barkskin holds AC at 16 or more; a Belt of Giant Strength holds Strength at 21 or more.
  4. At most (a ceiling): the lowest applies, and it applies last, so nothing undoes it — Restrained's speed of 0 stays 0 under Longstrider and Haste.

Stacking is the system's rule. In 5e, two effects of the same name do not combine: two castings of Shield of Faith give +2, not +4, and the most potent of two applies. Different effects always add up.

Seeing why

A buffed number is coloured — green when a buff raised it, red when one lowered it — and hovering it lists every part: the base, each effect that applied, and each one that did nothing and why ("a stronger one applies", "does not stack with itself"). The token bar's Buffs tab lists what is on a token and where each came from, and a 5e sheet has a Buffs panel that does the same (its conditions bar shows the timed ones).

Editing a number always edits its base. With Longstrider running, the speed stepper shows your own speed and the buffed one beside it; changing it changes yours, and the buff still applies on top.

Ending buffs

A timed effect ends when it runs out, when someone ends it, or when what it depends on ends: a concentration spell's buffs on every target end with the caster's concentration. Cleansing ends every running effect of a category on a token at once — Dispel Magic ends Magic, Lesser Restoration Poison and Disease. An action does it with api.timeline.endEffects.

Writing a buff from an action

An action starts a buff with api.timeline.startBuff:

const conc = await api.timeline.concentrate({ name: 'Shield of Faith', duration: 100 });
await api.timeline.startBuff({
  name: 'Shield of Faith',
  category: 'Magic',
  positivity: 'positive',
  duration: { type: 'timed', quantity: 10, unit: 'minute' },
  effects: [{ kind: 'attribute', target: 'ac', op: 'add', value: 2 }],
}, { tokenId: target.id, parent: conc });

target is a key from the system's vocabulary — the effects editor lists them (in 5e: ac, ac.base, ability.str, speed.walk, hp.max, save.dex, check.skill.stealth, attack.melee and more). A value may be a number or an expression the system works out for the creature it lands on, like '13 + @dex.mod'.

Not yet

Buffs that change a roll rather than a number — Bless's +1d4, advantage from a condition, Hunter's Mark's extra damage — come in the next release. Until then, add them to the roll by hand.