-
-
Notifications
You must be signed in to change notification settings - Fork 3
Active Effect Variables
This page documents the system variables that can be modified by active effects. Unless specified otherwise, all modifiers are assumed to support all change modes.
FaDe has two separate sets of mod fields: actor modifiers and item modifiers. Both are stored under the same system.mod key, so which object actually gets modified is decided by where the effect lives and by its Transfer to Owner checkbox.
Everything below is entered through Foundry's normal UI — you never need to touch JSON. There are two places effects come from:
- The Effects tab on an actor or item sheet. The + button creates an effect, and clicking the effect opens Foundry's standard Active Effect window. That window's Changes section is where you set the attribute key, the change mode, and the value.
- The GM-only tab on weapon, armor, and ammo sheets. Several item modifiers are plain number fields there and never need an effect at all.
Actor modifiers live in system.mod.* on the actor's data. They are global: they affect every roll or calculation the actor makes, regardless of which item is used.
Actor mods are applied in one of three ways:
- Effects with Transfer to Owner checked on an item, condition, or class/special ability. The effect lives on the item but is applied to the actor that carries it. This is how most magical equipment and conditions work.
- Effects added directly to the actor (the Effects tab on the actor sheet).
- Typing into the actor's data directly — the mod fields also appear on the actor sheet.
Item modifiers live in system.mod.* on an item's data. They are local: they only apply when that item is used — a weapon is swung, armor is worn, ammunition is fired.
Item mods are entered in two ways:
-
Typed directly into the item's GM-only tab. Weapons, armor, and ammunition each have mod fields right on the sheet. For example, a Dagger +1 just gets its four mod fields set to
1. -
Effects with Transfer to Owner unchecked. FaDe folds these into the item's own data (see
FDItem._processNonTransferActiveEffects()), which is useful when the modifier should vary by state or is granted by another item.
Which fields an item modifier can target depends on the item type — see Item Modifiers below.
[!note] The Transfer to Owner checkbox decides the target With Transfer to Owner checked,
system.mod.acmodifies the actor. With it unchecked, the same key on a weapon modifies the weapon.
Actor modifiers use the system.mod object on the actor.
The ability scores all follow the same pattern. Replace key with the ability key.
Ability keys: str, int, dex, wis, con, cha
system.abilities.key.total — Sets the score used to derive the ability's adjustment (mod). total is computed as value + tempMod, so this is the field to target to change a score's effective value.
This one is a bit trickier, because the key will depend on the saving throw item. To find the key, open the item sheet for the saving throw you wish to target and find the value for Save Type.
Change modes supported: Add
system.mod.save.key — Added to the roll for the matching save type. Replace key with the save type from the saving throw item's Save Type field.
Saving throws also have an additional mod that applies to all saving throws.
system.mod.save.all — Added to every saving throw roll.
There are several modifier variables related to armor class. It's important to understand that each is a modifier and not the AC value itself.
Note: Ascending armor class (AAC) values always derive from descending armor class values. There is no manual entry of AAC.
system.mod.ac — A flat improvement to the actor's armor class (descending AC, where lower is better). Applied to both melee and ranged AC.
system.mod.rangedAc — A flat improvement to ranged AC only, on top of system.mod.ac.
system.mod.baseAc — Modifies the actor's base armor class, sometimes called naked AC — the AC before any armor is applied.
system.mod.upgradeAc — Replaces the actor's AC only if the value is better (provides more protection) than the current AC; otherwise does nothing. Applies to both total and naked AC.
system.mod.upgradeRangedAc — Replaces the actor's ranged AC only if the value is better (provides more protection) than the current ranged AC; otherwise does nothing. Unlike system.mod.ac, it does not also apply to melee AC.
These modify attack rolls.
system.mod.combat.toHit — Added to the actor's melee attack rolls.
system.mod.combat.toHitRanged — Added to the actor's ranged attack rolls.
These modify attack rolls made against the actor itself, instead of modifying the actor's own attack rolls.
system.mod.combat.selfToHit — Added to melee attack rolls made against this actor.
system.mod.combat.selfToHitRanged — Added to ranged attack rolls made against this actor.
These modify attack damage.
system.mod.combat.dmg — Added to the actor's melee damage rolls.
system.mod.combat.dmgRanged — Added to the actor's ranged damage rolls.
system.mod.combat.dmgScale — Multiplies the actor's total melee damage after modifiers are applied. Defaults to 1; a value of 0.5 halves melee damage.
These reduce the damage the actor takes.
Note: Not all of these are currently implemented.
system.mod.combat.selfDmg — Reduces physical damage taken (physical, fire, frost, piercing and corrosive).
system.mod.combat.selfDmgBreath — Reduces breath damage taken.
system.mod.combat.selfDmgBreathScale — Multiplies breath damage taken. You can use this one to halve damage by supplying a value of 0.5.
system.mod.combat.selfDmgMagic — Reduces magic damage taken.
system.mod.combat.selfDmgRanged — Reduces ranged physical damage taken. Not yet applied.
system.mod.combat.selfDmgFrost — Reduces frost damage taken. Not yet applied. Frost damage is currently mitigated as a physical type.
system.mod.combat.selfDmgFire — Reduces fire damage taken. Not yet applied. Fire damage is currently mitigated as a physical type.
system.mod.initiative — Added to the actor's initiative rolls.
system.mod.wrestling — Added to the actor's wrestling rating.
system.mod.masteryLevelOverride — Overrides the effective level of all of the actor's weapon mastery items.
Weapon mods live in the weapon item's system.mod object. They apply whenever that weapon is used, and only then. These are the weapon keys — note they are not under system.mod.combat like the actor equivalents.
They are entered as plain number fields on the weapon sheet's GM-only tab:
system.mod.toHit — Added to the weapon's melee attack rolls. Labeled To-Hit Modifier.
system.mod.dmg — Added to the weapon's melee damage rolls. Labeled Damage Modifier.
system.mod.toHitRanged — Added to the weapon's ranged attack rolls. Labeled Ranged To-Hit Modifier.
system.mod.dmgRanged — Added to the weapon's ranged damage rolls. Labeled Ranged Damage Modifier.
system.mod.rangeMultiplier — Multiplies the weapon's range values. Labeled Range Multiplier.
system.mod.vsGroup — Adds per-target-group attack and damage modifiers, keyed by target group. Edited in a table on the weapon sheet.
Armor items use a single numeric system.mod for their enhancement bonus. It is folded into the AC the armor provides, rather than added to the actor's mods. The base AC is typed on the armor sheet's header (Base AC); the bonus comes from an effect on the armor itself.
system.mod — Enhancement bonus on the armor (shown as AC Mod on the sheet). For non-shields, total AC = ac - mod (a +1 bonus improves AC from 5 to 4).
system.modRanged — Additional bonus to the armor's ranged AC only. Labeled Ranged AC Mod.
Ammo mods live in the ammo item's system.mod object and apply when that ammo is fired. They are entered on the ammo sheet's GM-only tab.
system.mod.toHitRanged — Added to ranged attack rolls using this ammunition.
system.mod.dmgRanged — Added to ranged damage rolls using this ammunition.
system.mod.vsGroup — Adds per-target-group modifiers, keyed by target group.
All of these can be done entirely in the UI.
- Open the item sheet (a plain ring) and go to the Effects tab.
- Click + to add an effect, then click the new effect to open the Active Effect window.
- Name it
+2 AC, and leave Transfer to Owner checked. In Changes, add:- Attribute key:
system.mod.ac— Change mode: Add — Value:2
- Attribute key:
- Add a second effect named
+2 Saving Throws, also with Transfer to Owner checked:- Attribute key:
system.mod.save.all— Change mode: Add — Value:2
- Attribute key:
Because both effects transfer, a character carrying the ring gains +2 AC and +2 to all saving throws.
- Open the weapon sheet and go to the Effects tab.
- Add an effect named
Damage/To-hit +1and open it. -
Uncheck Transfer to Owner so the effect stays on the weapon. In Changes, add:
- Attribute key:
system.mod.dmgRanged— Change mode: Add — Value:1 - Attribute key:
system.mod.toHitRanged— Change mode: Add — Value:1
- Attribute key:
Because the effect does not transfer, it modifies the weapon — so +1 to hit and damage applies only to ranged attacks with this crossbow. Note the keys are the weapon's own system.mod.dmgRanged/system.mod.toHitRanged, not the actor's system.mod.combat.dmgRanged.
For a fixed-bonus weapon you don't need an effect at all. Open the weapon sheet's GM-only tab and type the numbers straight into the modifier fields:
-
To-Hit Modifier:
1 -
Damage Modifier:
1 -
Ranged To-Hit Modifier:
1 -
Ranged Damage Modifier:
1
This is the simplest way to make a magic weapon, and it works exactly like the crossbow effect above.
The armor's base AC is typed in the header (Base AC = 5). The magical bonus is an effect on the armor, just like the crossbow:
- Armor sheet → Effects tab → add an effect named
Armor +1and open it. -
Uncheck Transfer to Owner. In Changes, add:
- Attribute key:
system.mod— Change mode: Add — Value:1
- Attribute key:
The armor's total AC becomes 5 − 1 = 4. (The armor's AC Mod summary on the sheet reflects this.)
Conditions are items too, and their effects transfer when the condition is applied to a token.
- Open the condition item sheet → Effects tab → add an effect and open it.
- Leave Transfer to Owner checked. In Changes, add:
- Attribute key:
system.mod.combat.dmgScale— Change mode: Upgrade — Value:2
- Attribute key:
The scale starts at the default 1 and is raised to 2, so the affected actor's melee damage is doubled. Upgrade is the right mode here because it only ever raises the value, so other effects that lower dmgScale still work.
The Transfer to Owner checkbox is what decides which side gets modified:
- Actor mods — effects with Transfer to Owner checked (on equipment, conditions, or class abilities), effects on the actor itself, or direct data edits.
- Item mods — effects with Transfer to Owner unchecked, or static values typed on the item's GM-only tab.
If an effect that should affect the actor is left unchecked, the change is applied to the item's own data instead, where an unknown system.mod.ac path has no visible effect. Check the box based on whether you want to affect the actor or the item.