Mr. Johnson (talk | contribs) (→Actor) |
Mr. Johnson (talk | contribs) (→Actor) |
||
Line 22: | Line 22: | ||
===Actor=== | ===Actor=== | ||
'''Actor''' is the simplest option. The values calculated on the Effects Tab will be applied directly to the {{Here|Actor Data Structure|Actor's data}}. The conditions from the {{Here|Details Tab}} control whether it works or not. | '''Actor''' is the simplest option. The values calculated on the Effects Tab will be applied directly to the {{Here|Actor Data Structure|Actor's data}}. The conditions from the {{Here|Details Tab}} control whether it works or not. | ||
Note that Active Effects generated by modules' interally, such as [https://foundryvtt.com/packages/condition-lab-triggler Condition Lab & Triggler], will use this mode. Active Effects generated via JS macro scripting (like those used with ) [https://foundryvtt.com/packages/effectmacro Effect Macro]) can access the other modes by code. | |||
===Targeted Actor=== | ===Targeted Actor=== |
Revision as of 17:33, 13 January 2024
This article was last edited Saturday, January 13, 2024 by Mr. Johnson.
The system implements Active Effects as they're used in other systems like DnD5e, with extended capabilities specific to SR5's needs. Active Effects allow you to change an Actor's values dynamically with easily toggleable options. You can add an Active Effect to an Actor by either:
- creating it directly on the Actor's Effects Tab by clicking
+ Add
. They will show up in the "Effects" category on the actor (the example to the right doesn't currently have any Actor-specific effects). - creating an Item that supports Active Effects, adding it there, then giving the Actor the Item. They will show up in the "Item Effects" category.
Regardless of where the effect is created, it is configured via fundamentally same interface.
Details Tab
The Details Tab includes fields to control the appearance plus how and if the effect is enabled.
- Effect Name can be any text string you'd like; it appears on the Effects tab and in Test Dialogs the Active Effect alters. When viewed from an Actor's Effects Tab, the name of the source Item will also be included.
- Effect Icon will be displayed on the Actor's Effect Tab and in the Token if the effect has a non-zero Duration.
- Effect Suspsended controls whether or not the item's benefits are applied — it supersedes the "Apply for" options. Note that it is backwards, relative to the Effect Tab; checked here is unchecked on the Actor.[git 1]
- Effect Origin is a display-only field that appears on Actor-specific Effects.[explain 1]
- Apply for wireless active only controls whether the Effect requires the corresponding Item to have it's "Wireless" checkbox enabled.
- Apply for wireless active only controls whether the effect requires the corresponding Item to be equiped on the Actor's Gear Tab for the effect to be applied.
Apply-To Tab
The Apply-To Tab is where the magic starts, beginning with the Apply-To field itself. Note that making changes here resets unsaved changes on other tabs.[git 2]
Actor
Actor is the simplest option. The values calculated on the Effects Tab will be applied directly to the Actor's data. The conditions from the Details Tab control whether it works or not.
Note that Active Effects generated by modules' interally, such as Condition Lab & Triggler, will use this mode. Active Effects generated via JS macro scripting (like those used with ) Effect Macro) can access the other modes by code.
Targeted Actor
Test
The humble Medkit[sr 1] is an example of an Equipment Item that uses different Apply-To modes and multiple Active Effects to allow for all it's operating modes. You'll need three:
- Medkit in Autonomous Mode set to
Test Via Item
. - Medkit Limit Increase set to
Test
with a Skills Filter ofFirst Aid
. You'll also need to set "Apply for equipped item only" activated on the Details Tab. - Medkit Wireless Bonus set to
Test
with a Skills Filter ofFirst Aid
. You'll need to set both "Apply for [...]" options activated on the Details Tab.
Selecting Test reveals options to filter what kind of Tests the adjustments apply to. Generally speaking, these will be tests performed from the Character's Skill Tab or other items; see Test Via Item for comparison.
- Tests Filter includes all of the pre-canned Test types.
- Skills Filter allows filtering to specific Active Skills.[git 3]
- Attributes Filter does the same for an Actor's Attributes, including some matrix properties and things like Initiate/Submersion grades.
- Limits Filter lets you filter the test based on the limit used.
The test must meet all the criteria selected for the adjustments to apply.
Test Via Item
Selecting this option will only apply the contents of the Effects Tab to Tests specifically triggered from the Item.
Modifier
This mode allows you to make changes to specific canned modifers.[git 4]
Duration Tab
The Duration Tab has a variety of fields that relate to when the Active Effect was started and how long it's meant to last. As of SR5 v0.18.4, the system doesn't actually track time, so they have very little effect. Only the Rounds value of Effect Duration (Turns) does anything. If present, the configured Effect Icon will appear on the Actor's Token.
Modules may hook into these values, as they're inherited from the D&D5E reference implementation the code here is based on, but you'll have to consult that module's documentation for guidance.
Effects Tab
The Effects Tab is where you assign what values will be changed and how much they will be changed.
Attribute Key
Attribute Key controls that value will be changed. The available values depend on the Apply-To mode.
Actor Data Structure
If the Apply-To mode is Actor
or Targeted Actor
, you'll be working in the Actor Data Structure. As mentioned above, Autocomplete Inline Properties is highly recommended for helping find the right key to target.
If you can't find what you're looking for, check if a global modifier for it exists. Some values contain temp fields, that can be modified by Active Effects. Make sure you consider the Change Mode, as it can impact what the valid choices are.
system.attributes.<attributeName>
contains all attributes.system.skills.active.<skillName>
contains all active skills. Custom skills will be shown with a random ID. To see the actual custom name of the skill traverse into it and read it's name field.system.limits.<limitName>
contains all limits.[explain 2]system.modifiers
contains all global modifiers and can be directly modified.
Test Data Structure
For Test
or Test via Item
, see the Test Data Structure.
data.evaluated
data.opposed
data.pushTheLimit
data.secondChance
data.title
data.type
data.damage
data.limit
data.manualGlitches
data.manualHits
data.modifiers
data.options
data.pool
data.threshold
data.values
Environmental Data Structure
For Modifier
, consult the Environmental Data Structure.
Change Mode
There are a number of different Change Modes available to control how the Active Effect interacts with the Actor's properties.
If Apply-To is set to Modifier
, this option does not appear.
Modify
Modify is the "custom" mode for the SR5 system. This mode will either add a modifier to a value or add directly to it if a modifier can't be applied. Select this mode unless you've determined a specific reason one of the other modes is more appropriate.
If the value has a .mod
value, it technically doesn't matter if a general value as a whole or any of it's fields are choosen (such as .value
, .base
, .mod
or .temp
). Modify mode will always act on the base node (such as syste.attributes.willpower
) — specifying other fields at the same level as .mod
will be ignored. If the value choosen includes a .mod
field the system will display the effect in the calculation hover tip, where available.
If the value doesn't include a .mod
node the Modify mode it will fall back to using the Add mode.
Multiply
For example, one might thing to use Multiply and target system.movement.*
for equipment like Skates or Skimmers[sr 2], but it won't have the intended effect. Instead, adjust the multipliers by targetting system.modifiers.walk
and system.modifiers.run
with Modify. Use an Effect Value of "+1" on .walk
to change the math from "Agility × 2" to "Agility × 3" and "+2" on .run
to change the multiplier from ×4 to ×6.
Like Add (below), there is very little reason to use Multiply. It does properly functions with some values feature elements like .base
, but there are few places in the game rules where this is desirable. Use with caution, if at all.
Add
There is no good reason to use the Add mode directly — anything it can do, Modify can do, and returns more detail back to the user. Using Add over Modify bypasses the system's logic, and can lead to errors including corrupt sheet appearance.
Downgrade & Upgrade
The Downgrade and Upgrade[git 5] modes adjust a value, lowering the targetted value if above the effect value on Downgrade, or the opposite for Upgrade. They do not interact with or override calculated values — they should only be used with .base
nodes, rather than .mod
or .value
. If the desired element has no .base
node, they may not behave as desired or at all.
Override
The Override mode has been heavily modified from other systems and functions with similar logic to the Modify mode, but the target node must contain a .mod
field.
The Override mode is applied last and will replace any calculated value with the value specified in the Active Effect. It will show in the calculation overview popup, identifying that it is replacing the normally calculated value by showing it crossed out.
Should you define multiple Override effects on the same value, only the last one applied will take effect.
Effect Value
If Apply-To is set to Modifier
, this option does not appear.
References
Explanation Needed
GitHub Issues
Sourcebook
- ↑ Shadowrun Fifth Edition Core Rulebook (p. 450)
- ↑ Chrome Flesh (p. 88)