vagabond-rpg-foundryvtt/docs/active-effect-reference.md
Cal Corum 0eb258d2c1 Add trained toggle to attack skills (Melee, Brawl, Ranged, Finesse)
Attack skills now have trained/untrained status like regular skills:
- Untrained: difficulty = 20 - stat
- Trained: difficulty = 20 - (stat × 2)

Includes UI toggle button, data model fields, and matching styling.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 10:33:35 -06:00

14 KiB

Active Effect Attribute Reference

Quick reference for attribute keys when creating Active Effects in the Vagabond RPG system.

Attribute Key Format

All attribute keys use the format: system.<path>.<property>

Character Attributes

Core Stats

Key Type Range Description
system.stats.might.value Number 1-10 Might stat
system.stats.dexterity.value Number 1-10 Dexterity stat
system.stats.awareness.value Number 1-10 Awareness stat
system.stats.reason.value Number 1-10 Reason stat
system.stats.presence.value Number 1-10 Presence stat
system.stats.luck.value Number 1-10 Luck stat

Level & XP

Key Type Range Description
system.level Number 1-10 Character level
system.xp Number 0+ Experience points

Resources

Key Type Range Description
system.resources.hp.value Number 0+ Current HP
system.resources.hp.max Number 0+ Max HP (derived: Might x Level)
system.resources.hp.bonus Number any Bonus to max HP
system.resources.mana.value Number 0+ Current Mana
system.resources.mana.max Number 0+ Max Mana
system.resources.mana.castingMax Number 0+ Max Mana per spell cast
system.resources.mana.bonus Number any Bonus to max Mana
system.resources.luck.value Number 0+ Current Luck pool
system.resources.luck.max Number 0+ Max Luck (derived: Luck stat)
system.resources.fatigue.value Number 0-5 Fatigue level (death at 5)
system.resources.studiedDice.value Number 0+ Current Studied Dice
system.resources.studiedDice.max Number 0+ Max Studied Dice

Skills

Each skill has trained, difficulty, and critThreshold properties.

Skills: arcana, brawl, craft, detect, finesse, influence, leadership, medicine, mysticism, performance, sneak, survival

Key Pattern Type Range Description
system.skills.<skill>.trained Boolean true/false Is skill trained?
system.skills.<skill>.difficulty Number 1-20 Roll target (derived)
system.skills.<skill>.critThreshold Number 1-20 Crit on this roll or higher

Examples:

  • system.skills.arcana.trained - Train Arcana skill
  • system.skills.melee.critThreshold - Modify melee crit threshold
  • system.skills.sneak.critThreshold - Modify sneak crit threshold

Attack Skills

Each attack skill has trained, difficulty, and critThreshold properties.

Attack Skills: melee, brawl, ranged, finesse

Key Pattern Type Range Description
system.attacks.<attack>.trained Boolean true/false Is attack skill trained?
system.attacks.<attack>.difficulty Number 1-20 Roll target (derived)
system.attacks.<attack>.critThreshold Number 1-20 Crit on this roll or higher

Examples:

  • system.attacks.melee.trained - Train Melee attack skill
  • system.attacks.ranged.trained - Train Ranged attack skill
  • system.attacks.melee.critThreshold - Modify melee crit threshold

Saves

Key Type Description
system.saves.reflex.difficulty Number Reflex save difficulty (derived: 20 - DEX - AWR)
system.saves.reflex.bonus Number Bonus to Reflex saves
system.saves.endure.difficulty Number Endure save difficulty (derived: 20 - MIT x 2)
system.saves.endure.bonus Number Bonus to Endure saves
system.saves.will.difficulty Number Will save difficulty (derived: 20 - RSN - PRS)
system.saves.will.bonus Number Bonus to Will saves

Movement & Speed

Key Type Description
system.speed.walk Number Walking speed (derived from DEX)
system.speed.bonus Number Bonus to walking speed
system.movement.climb Boolean Can climb at full speed
system.movement.cling Boolean Can move on ceilings
system.movement.fly Boolean Can fly
system.movement.phase Boolean Can move through occupied spaces
system.movement.swim Boolean Can swim at full speed

Senses

Key Type Description
system.senses.allsight Boolean Can see everything
system.senses.blindsight Boolean Can sense without sight
system.senses.darkvision Boolean Can see in darkness
system.senses.echolocation Boolean Echolocation sense
system.senses.seismicsense Boolean Can sense vibrations
system.senses.telepathy Boolean Telepathic communication

Armor & Defense

Key Type Description
system.armor Number Armor value

Item Slots

Key Type Description
system.itemSlots.used Number Currently used slots
system.itemSlots.max Number Maximum slots (derived: 8 + MIT - Fatigue + bonus)
system.itemSlots.bonus Number Total bonus to slots

Character Details

Key Type Values Description
system.details.size String small, medium, large, huge, giant, colossal Size category
system.details.unitsOccupied Number 1+ Grid units occupied
system.details.allowsMovementThrough Boolean Small creatures flag
system.details.beingType String humanlike, fae, cryptid, artificial, undead, primordial, hellspawn, beast Being type

Combat

Key Type Description
system.combat.isFlanked Boolean Currently flanked
system.combat.ignoresFlankingPenalty Boolean Ignores flanking (Situational Awareness)
system.combat.currentZone String frontline, midline, backline, or null
system.combat.isDualWielding Boolean Currently dual-wielding

Casting

Key Type Description
system.casting.canCastThroughWeapon Boolean Gish perk
system.casting.canCastThroughInstrument Boolean Harmonic Resonance

Focus

Key Type Description
system.focus.maxConcurrent Number Max concurrent focus (default 1, Ancient Growth = 2)

Travel

Key Type Description
system.travel.canForage Boolean Can forage at normal pace

NPC Attributes

Core Stats

Key Type Description
system.hd Number Hit Dice
system.hp.value Number Current HP
system.hp.max Number Max HP
system.tl Number Threat Level
system.armor Number Armor value
system.morale Number Morale score (2-12)

Movement

Key Type Description
system.speed.value Number Base speed
system.movement.climb Boolean Can climb
system.movement.cling Boolean Can cling to ceilings
system.movement.fly Boolean Can fly
system.movement.phase Boolean Can phase
system.movement.swim Boolean Can swim

Senses (same as Character)

Key Type Description
system.senses.darkvision Boolean Darkvision
system.senses.blindsight Boolean Blindsight
etc.

Combat

Key Type Values Description
system.zone String frontline, midline, backline Preferred combat zone
system.size String Size category
system.beingType String Being type

Damage Modifiers

Key Type Description
system.immunities Array Damage immunities
system.weaknesses Array Damage vulnerabilities
system.resistances Array Damage resistances

Flag-Based Effects (Favor/Hinder)

Favor and Hinder are handled via Active Effect flags, not data attributes.

Flag Format

flags.vagabond.favor.<category>.<type>
flags.vagabond.hinder.<category>.<type>

Skill Favor/Hinder

Flag Key Description
flags.vagabond.favor.skills.arcana Favor on Arcana checks
flags.vagabond.hinder.skills.arcana Hinder on Arcana checks
flags.vagabond.favor.skills.melee Favor on Melee attacks
etc.

Attack Favor/Hinder

Flag Key Description
flags.vagabond.favor.attacks Favor on all attacks
flags.vagabond.hinder.attacks Hinder on all attacks

Save Favor/Hinder

Flag Key Description
flags.vagabond.favor.saves.reflex Favor on Reflex saves
flags.vagabond.hinder.saves.reflex Hinder on Reflex saves
flags.vagabond.favor.saves.endure Favor on Endure saves
flags.vagabond.hinder.saves.endure Hinder on Endure saves
flags.vagabond.favor.saves.will Favor on Will saves
flags.vagabond.hinder.saves.will Hinder on Will saves

Active Effect Change Modes

Mode Value Description
CUSTOM 0 Custom handling
MULTIPLY 1 Multiply the value
ADD 2 Add to the value
DOWNGRADE 3 Use lower of current or new
UPGRADE 4 Use higher of current or new
OVERRIDE 5 Replace the value

Common Patterns

Add bonus to stat:

{
  "key": "system.stats.might.value",
  "mode": 2,
  "value": "1"
}

Set boolean flag:

{
  "key": "system.senses.darkvision",
  "mode": 5,
  "value": "true"
}

Reduce crit threshold:

{
  "key": "system.attacks.melee.critThreshold",
  "mode": 2,
  "value": "-1"
}

Grant Favor on skill:

{
  "key": "flags.vagabond.favor.skills.detect",
  "mode": 5,
  "value": "Keen Senses"
}

Grant trained skill:

{
  "key": "system.skills.survival.trained",
  "mode": 5,
  "value": "true"
}

Examples by Class Feature

Fighter - Valor (Crit Reduction)

[
  {
    "key": "system.attacks.melee.critThreshold",
    "mode": 2,
    "value": "-1"
  },
  {
    "key": "system.attacks.brawl.critThreshold",
    "mode": 2,
    "value": "-1"
  },
  {
    "key": "system.attacks.ranged.critThreshold",
    "mode": 2,
    "value": "-1"
  },
  {
    "key": "system.attacks.finesse.critThreshold",
    "mode": 2,
    "value": "-1"
  }
]

Orc - Hulking (+2 Item Slots)

{
  "key": "system.itemSlots.bonus",
  "mode": 2,
  "value": "2"
}

Dwarf - Darkvision

{
  "key": "system.senses.darkvision",
  "mode": 5,
  "value": "true"
}

Grant Mana

{
  "key": "system.resources.mana.bonus",
  "mode": 2,
  "value": "3"
}

Speed Bonus

{
  "key": "system.speed.bonus",
  "mode": 2,
  "value": "5"
}