Reference - Effects
The following sections details the conditions, modifiers and other components which can be used to create effects within the 2e ruleset. A number of examples are also provided to help users get started.
Combat Tracker
When an effect is applied to an actor in the combat tracker, some additional fields are available to the DM.
Active State: By default, an effect is set to always be active (i.e. On). The active state can be toggled to Skip or Off. If set to Skip, the next application of the effect will be skipped, and then the effect will be set to On again. If set to Off, the effect will no longer be applied to rolls, but will remain in the CT.
Duration: When the main duration field is set to Start/End Turn values, an additional field will be shown to track the initiative number when the duration should start/end.
Applied By: The active actor will be used as the source actor of an effect, and shown in the lower right of the effect entry. If no actor is active, then this field is hidden. To set the source actor of an effect, drag the name field of a CT actor onto the label field of a CT effect entry. The source is usually just informational, but may occasionally be used to support advanced effects (such as Marked). Click on the Applied By field to clear the source actor.
Targets: By default, effects are applied to relevant rolls for all targets. However, some effect components can be targeted (such as attack and damage modifiers). A targeting button is shown next to each effect entry, and can be dragged onto a CT entry or CT-linked token to specify that the effect is targeted to a specific actor or set of actors. Additional options to target all allies or enemies are available by right-clicking on the targeting button. The Targets field is hidden unless targets are defined. Click on the Targets field to clear the targets.
Effect Targeting
As described above in the dialog for Spell/Ability Effect there is a box for ‘Targeting’ which can be set either to ‘Targets’ or ‘Self’. It is important to understand that this isn’t asking you to tell Fantasy Grounds who the target of the effect is but rather where the effect should reside.
It needs to be noted that not every modifier can be used in this way.
Effect String Syntax
As has been seen from the notes above there is a syntax which must be followed so that effects will work successfully.
Modifiers need to be followed by a colon ':' if you intend to have anything after them such as a number, dice etc. If the colon is missed then Fantasy Grounds assumes that there is nothing to follow. Thus if the effect requires nothing after the modifier the colon can be missed out.
Some modifiers can accept descriptors. These must follow the dice or number separated by a comma. For example ATK: 1d6, melee
If the modifier is to be modified by a player stat then that should be enclosed in square brackets '[]'. For example STR: -[1d6] would apply a random 1-6 minus value to the strength of that n/pc.
Effects can be chained together but each must be separated by a semi colon ';'. For example AC: 1; ATK: 1; DMG: 1d6
You can add a description to an effect ending in a semi colon. For example Bless; SAVE: 1d4; ATK: 1d4. this is useful for reminding players what the effect is.
A special tag '!' can be used as a kind of logical NOT. For example the effect "RESIST: bludgeoning, piercing, !magic" creates an effect which allows whoever has the effect to resist damage from bludgeoning or piercing weapons provided they are not magical. If they are magical then all of the damage will get through. Other useful delimiters are !silver and !adamantine.
Effect Conditions
The following are built into the code and can be applied to a character or NPC either via an effect from the character sheet or Combat Tracker or by applying it from the effects button in the UI.
Not case-sensitive.
Condition | Modifiers Applied | Notes |
Status | ||
Blinded | ATK -4 (-2 with blind-fighting skill), SAVE -4, No Dexterity modifiers, AC -4 |
|
Charmed |
|
|
Charged | +2 to hit, AC reduced by 1, Dexterity and Shield ignored in armor calculations. |
|
Deafened |
|
|
Encumbered | Moderate: ATK -1; Heavy ATK -2, AC -1; Severe: ATK -4, AC -3 |
|
Frightened |
|
|
Incorporeal |
|
|
Intoxicated | ATK -1 |
|
Invisible | ATK +2, AC improved by 4 |
|
Paralyzed | No dexterity modifiers, No shield. |
|
Poisoned |
|
|
Prone | ATK -2, No dexterity modifiers, No shield, AC worsened by 4 if melee attacks. |
|
Restrained | No dexterity modifiers, No shield, AC worsened by 4 |
|
Stable |
|
|
Stunned | No dexterity modifiers, No shield, AC worsened by 4 |
|
Turned |
| Applied to a creature that has been turned. Does nothing mechanically. |
Unconscious |
|
|
Nodex | No dexterity modifiers. |
|
Effect Modifiers
Format: [tag]: [dice/number] [descriptors]
Case-sensitive
If colon missing, assume no dice, numerical modifier or descriptors.
Modifiers stack as long as their bonus type is blank or unique. If two modifiers have the same bonus type, only the larger value will be used.
Values between brackets [] will be mathematically processed when effect applied by an actor. For example “AC: [1d3+2]”, “ATK: [$LEVEL/3]”. $LEVEL = replaced with highest level of the character, $ARCANE or $DIVINE will be replaced with arcane or divine spell level. Class name can also be used such as $PALADIN, $BARD/etc and it will be replaced with the class that matches the name.
Modifier Macros
Macro | Result |
---|---|
$LEVEL | The highest level of the effect source will be inserted. |
$ARCANE | The arcane caster level of the effect source will be inserted. |
$DIVINE | The divine caster level of the effect source will be inserted. |
$[CLASSNAME] | Replace CLASSNAME with a class name such as PALADIN or BARD and the result will be the level of the named class from the effect source. |
$MAXHP | The total hitpoints for the target of effect will be inserted. |
$CURRENTHP | The current hitpoints for the target of effect will be inserted. |
$WOUNDS | The current wounds value for the target of effect will be inserted. |
Modifier | Value | Descriptors | Notes |
Combat | |||
INIT | (D) |
| Initiative rolls |
ATK | (D) | [range] | (T); Attack rolls |
AC | (N) | [range] | (T); Armor class |
BAC | (N) | [range] | Base armor class |
BRANGEAC | (N) | [range] | Base ranged armor class |
RANGEAC | (N) | [range] | Ranged armor class modifier. |
BMELEEAC | (N) | [range] | Base melee armor class |
MELEEAC | (N) | [range] | Melee armor class modifier. |
BMAC | (N) | [range] | Base Mental armor class |
DMG | (D) | [range], [damage type]*, critical | (T); Damage roll; If critical keyword, only applies to critical damage rolls. |
HEAL | (D) | Healing rolls | |
HEALX | (N) | [multiplier] | Healing multiplier. For example a 2 would double damage, 0.5 would reduce the damage by ½. |
HP | (N) | [range] | Modify actors total HPs this amount. |
SAVE | (D) | [range] | Saving throws |
POISON | (D) | [range] | Poison saving throw |
PARALYZATION | (D) | [range] | Paralyzation saving throw |
DEATH | (D) | [range] | Death saving throw |
ROD | (D) | [range] | Rod saving throw |
STAFF | (D) | [range] | Staff saving throw |
WAND | (D) | [range] | Wand saving throw |
PETRIFICATION | (D) | [range] | Petrification saving throw |
POLYMORPH | (D) | [range] | Polymorph saving throw |
BREATH | (D) | [range] | Breath saving throw |
SPELL | (D) | [range] | Spell saving throw |
SKILL | (D) | [range],[skill] | Skill checks (skill name in lower case) |
SURPRISE | (N) | [range] | Modify actor’s surprise chance. |
TURN | (N) | [range] | Modify actor’s turn dice roll by this amount. If using the automated turn feature this would modify the roll made. |
TURNLEVEL | (N) | [range] | Modify actor’s TURN level by this amount. When using the automated turn feature this would modify the level of turn ability. |
ARCANE | (N) | [range] | Modify actor’s Arcane level by this amount for use in spell/powers. |
DIVINE | (N) | [range] | Modify actor’s Divine level by this amount for use in spell/powers. |
CLASSNAME | (N) | [range] | Modify actor’s “CLASSNAME” level by this amount for use in spell/powers. Example: “BARD:1” or “PALADIN:3”. |
Abilities | |||
CHECK | (D) | [ability] | Ability and skill checks |
STR | (N) | [bonus] | PC Strength modifier |
DEX | (N) | [bonus] | PC Dexterity modifier |
CON | (N) | [bonus] | PC Constitution modifier |
INT | (N) | [bonus] | PC Intelligence modifier |
WIS | (N) | [bonus] | PC Wisdom modifier |
CHA | (N) | [bonus] | PC Charisma modifier |
BSTR | (N) | [bonus] | Base Strength score |
BDEX | (N) | [bonus] | Base Dexterity score |
BCON | (N) | [bonus] | Base Constitution score |
BINT | (N) | [bonus] | Base Intelligence score |
BWIS | (N) | [bonus] | Base Wisdom score |
BCHA | (N) | [bonus] | Base Charisma score |
PSTR | (N) | [bonus] | Strength percentile modifier |
PDEX | (N) | [bonus] | Dexterity percentile modifier |
PCON | (N) | [bonus] | Constitution percentile modifier |
PINT | (N) | [bonus] | Intelligence percentile modifier |
PWIS | (N) | [bonus] | Wisdom percentile modifier |
PCHA | (N) | [bonus] | Charisma percentile modifier |
BPSTR | (N) | [bonus] | Base percentile Strength |
BPDEX | (N) | [bonus] | Base percentile Dexterity |
BPCON | (N) | [bonus] | Base percentile Constitution |
BPINT | (N) | [bonus] | Base percentile Intelligence |
BPWIS | (N) | [bonus] | Base percentile Wisdom |
BPCHA | (N) | [bonus] | Base percentile Charisma |
Damage | |||
DMGTYPE | (-) | [damage type] | Adds damage type to all damage rolls. |
DMGO | (D) | [damage type]* | Damage (Ongoing) |
DMGX | (N) | [multiplier] | Damage multiplier. For example a 2 would double damage, 0.5 would reduce the damage by ½. |
REGEN | (D) | [special] | Regeneration. Use and/or clause to specify damage types which can overcome regeneration. |
IMMUNE | (-) | [damage type], all, [condition] | (T); Immune to damage type; Assumes all if no [damage type] descriptor. If condition specified this will prevent the condition from being applied to the actor |
RESIST | (N) | [damage type], all | (T); Resistance to damage type; Assumes all if no [damage type] descriptor. |
VULN | (N) | [damage type], all | (T); Vulnerability to damage type; Assumes all if no [damage type] descriptor. |
DT | (N) | (-) | Damage Threshold. Immunity to all damage from a single attack if the damage is less than the number specified; otherwise all damage is applied. |
DA | (N) | [damage type],all, none | Damage Absorb. Absorb (N) damage of a specific type. When the absorb amount reaches 0 the entire effect entry is removed. Using “none” type will track absorbed but will not absorb damage. Example usage for none is for the “Armor” spell. |
DDR | (N) | [damage type] | Damage Dice Reduction. Reduces the damage from type by listed amount. IF multiple values exist for the same damage type the “best” (highest) value will always be used. Example usage “DDR: 2 fire,cold” would reduce all cold and fire damage done per dice (minimum of 1). “DDR: -2 fire” would increase the damage taken from fire +2 per dice. |
Situational | |||
COVER25 | (-) | [range]* | (T); Cover; (ATK: -2, SAVE:2) |
COVER50 | (-) | [range]* | (T); Cover; (ATK: -4, SAVE:4) |
COVER75 | (-) | [range]* | (T); Cover; (ATK: -7, SAVE:7) |
COVER90 | (-) | [range]* | (T); Cover; (ATK: -10, SAVE:10) |
CONCEAL25 | (-) | [range]* | (T); Conceal; (ATK: -1, SAVE:1) |
CONCEAL50 | (-) | [range]* | (T); Conceal; (ATK: -2, SAVE:2) |
CONCEAL75 | (-) | [range]* | (T); Conceal; (ATK: -3, SAVE:3) |
CONCEAL90 | (-) | [range]* | (T); Conceal; (ATK: -4, SAVE:4) |
Misc | |||
MR | (N) |
| Magic Resistance. When present on an actor this effect will automatically roll a magic resistance check on saving throws. |
(D) = Dice and numbers supported for value attribute
(N) = Only numbers supported for value attribute
(-) = Neither number nor dice supported for value attribute
(T) = Effects can be targeted to only apply to modifiers against certain opponents
[range] = melee, ranged
[damage type] = acid, cold, fire, force, lightning, necrotic, poison, psychic, radiant, thunder, adamantine, bludgeoning, cold-forged iron, magic, piercing, silver, slashing
[stat] = strength, constitution, dexterity, intelligence, wisdom, charisma
[ability] = strength, constitution, dexterity, intelligence, wisdom, charisma
[skill] = any skill name
[condition] = Any condition as noted above except exhaustion. Note [condition] must be all lower case
*= Multiple entries of this descriptor type allowed.
Special Components
Unique format for each tag
Case-sensitive
Conditional Effects (IF/IFT)
What both these functions do is test a condition and if it is found to be true then the next part of the statement will be carried out, otherwise it will be ignored.
The difference between the two components is that IF looks at the source (i.e. the creature on which the effect is sitting) whilst IFT looks at the target of the creature on which the effect is sitting.
Not only can IF and IFT test conditions (such as paralyzed, blinded, invisible, etc.) but they can also test for conditional operators. There are five of these ALIGN, ARMOR, SIZE, TYPE. As their name suggests, the first three operators test for the alignment, armor, size and type of a creature.
Taken together the testing components and the conditions which they can test for mean that extremely powerful effects can be set up and these are particularly apposite to magic item creation and use. Some #Examples below.
Special Tag | Notes |
IF: [condition OR conditional operator] | Ignores the remainder of the effect components within the effect label, unless the source actor has the specified condition. |
IFT: [condition OR conditional operator] | Ignores the remainder of the effect components within the effect label, unless the opposing actor has the specified condition. |
Avoidance | If spell targeting creature with this effect allows half damage on a save, then this creature will be marked for no damage on successful save and half damage on failed save. |
Conditional Operators
Not case-sensitive
Operator | Notes |
ALIGN ([alignment]) | If the creature indicated by the conditional effect has the given alignment, then this operator returns true. |
ARMOR ([armor type]) | If the actor indicated by the conditional effect has the matching type of armor equipped then this operator returns true. |
CLASS ([class name] | If the actor indicated by the conditional effect has the matching class then this operator returns true. |
SIZE ([size]) | If the conditional effect target is of the correct size or larger/smaller based on the size greater/less than operation, then this operator returns true. |
TYPE ([creature type]*) | If the creature indicated by the conditional effect has the given creature type, then this operator returns true. |
CUSTOM () | Allows for testing of user created conditions, such as in the 'Hex' or 'Hunter's Mark' spells. The condition to be tested for is added in brackets after the CUSTOM keyword. Thus the syntax would be IF: CUSTOM(condition) or IFT: CUSTOM(condition). If the 'condition' is present on the target then the function will return true. |
[alignment] = LG, LN, LE, NG, NE, CG, CN, CE, lawful, lawful good, lawful neutral, lawful evil, neutral good, neutral evil, chaotic, chaotic good, chaotic neutral, chaotic evil, good, evil
[size] = T, S, M, L, H, G, tiny, small, medium, large, huge, gargantuan
[creature type] = aberration, beast, celestial, construct, dragon, elemental, fey, fiend, giant, humanoid, etc…
* = Multiple entries of this descriptor type allowed.
Examples
General Examples
ATK: 2
SAVE: 1
DMGO: 2d6
DMG: 1d6 cold
RESIST: fire; RESIST: cold
RESIST: 3 slashing, bludgeoning, piercing, !magic
CHECK: 10 dexterity
Conditional Examples
Effect Code | Notes |
IF: ALIGN (good); DMG: 1d8 radiant | If the character is good then deal an extra 1d8 radiant damage on any damage roll. Note this will return true for any good alignment (Chaotic Good, Neutral Good, and Lawful Good). You can test for any morality (Good, Evil and Neutral) or any order (Chaotic, Lawful or Neutral) or any combination you want (Chaotic Good, Lawful Evil, etc.). The parameter can also be abbreviated to CG, LE, NG etc. Note however that True Neutral is not supported. |
IFT: TYPE (giant); DMG: 1d8 | If the target of the damage roll is Giant then do an additional 1d8 damage. There is a complete list of what creature types the TYPE conditional operator will accept and you can find a list of acceptable types below. If you want to test for multiple types then you can separate the types by a comma e.g. IFT: TYPE (dragon, aberration, celestial) will return true if any of these types are the target. |
IFT: SIZE(>= medium); AC: 2 | If the target’s size is greater or equal to medium then get advantage on the attack roll. You can test for greater or equal (>=), less than or equal (<=), greater than (>), less than (<) or equal (=). The size can be abbreviated e.g. S = small, M = medium, etc.). |
DMG: 1d6 radiant: IFT: TYPE (dragon); DMG: 2d6, radiant | Deal an extra 1d6 radiant damage to any target, and only if the target is a dragon do an additional 2d6 radiant damage (i.e. for a total of 3d6 additional damage). As with other modifiers the IFT statement can be chained. Make sure however that it is the last statement in line since if the testing condition is false it will ignore everything after it. |
IFT: ARMOR(plate,platemail,plate mail); ATK: 2 | If the target is wearing armor matching these names the actor will get +2 ATK. |
Specific Ability/Trait Examples
Power [Source] | Effect Code | Duration/Target/Expend | Notes |
Race - Dwarf | IFT: TYPE(giant,troll,ogre,titan);AC: 4 |
|
|
Race - Dwarf | IFT: TYPE(orc,goblin);ATK: 1 |
|
|
Race – Gnome | IFT: TYPE(kobold,goblin);ATK: 1 |
|
|
Class – Paladin | Paladin Aura(SELF); IFT: ALIGN(good);AC: 1; |
|
|
Specific Magic Item Examples
Power [Source] | Effect Code | Notes |
Ring of Fire Resistance | RESIST: fire;DDR: 2 fire | Resist fire damage (take 1/2 of it) and reduce the damage per die by 2. |
Cloak of Displacement | DISPLACEMENT | First attack will generate message of a miss. |
Cloak of Protection +1 | AC:1;SAVE:1; |
|
Dragon Slayer | IFT: TYPE(dragon); DMG: 2d12 |
|
Flame Tongue | DMG: 2d6 fire |
|
Giant Slayer | IFT: TYPE(giant); DMG: 2d6 |
|
Gloves of Dexterity | DEX: 1;SKILL: 10 pick pockets;SKILL: 10 open locks |
|
Aura Effects
Aura’s are an effect that has a specific range and faction and color. The range is dependent on map scale. If you map uses 10 feet per grid and you would like to have the range of 10 foot, you would set the range on the aura to 10. The faction types can be all (anyone), foe (enemies of the target), friendly (same faction as target) and neutral (source is neutral). The color of the underlay. There are two ways to select a color. One is to enter one of the select pre-configured colors by using the listed options below. The other form is HTML color code in the format of 'rrggbb'. A good site to use to select HTML color codes can be found here.
Operator | Range | Faction | Color | Notes |
AURA | (N) | [faction] | [color code] | An aura effect will be used when the target is with N range of the source. |
Pre-configured color codes.
red
pink
orange
yellow
violet
purple
green
cyan
brown
white
grey
Aura Examples
Effect Code | Notes |
AURA:10 foe orange;IF:ALIGN(evil);ATK:-2 | Any “foe” within 10 of the target will have this effect applied during checks and if evil will have a -2 applied to attack rolls. |
AURA: 5 friend 00BFFF;AC: 2 | This would grant friendly targets near the source a AC bonus of 2. |
AURA: 10 foe A70D6;DMGO: 3 | When a target starts it’s initiative and is a foe it will take 3 damage if within 10 feet of source. |