Mr. Johnson (talk | contribs) (→Add) |
Mr. Johnson (talk | contribs) (→Test) |
||
(140 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Needs Improvement|This | {{Needs Improvement|This article is currently a work in progress.}}[[Category:Content]] | ||
{{Imagebox|sr5-actor-effects.webp|Character Actor Sheet Effects Tab|f=11.315|s=0.18.4|float=right|width=390px}} | |||
{{Imagebox|sr5-actor-effects.webp|Character Actor Sheet Effects Tab|f=11.315|s=0. | |||
{{Imagebox|sr5-item-action-effect.png|Action Item Effect Tab|f=11.315|s=0.16.1|float=right|width=390px}} | {{Imagebox|sr5-item-action-effect.png|Action Item Effect Tab|f=11.315|s=0.16.1|float=right|width=390px}} | ||
The | {{Whitebox|Helpful Modules|The [https://foundryvtt.com/packages/autocomplete-inline-properties Autocomplete Inline Properties] module is highly recommended. It integrates directly with the Active Effect editor window, and eases identifying data fields and their corresponding values. It helps greatly with traversal of the data structures.|float=none|width=calc(100% - 440px)}} | ||
* | 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 {{Category|Actor}}'s values dynamically with easily toggleable options. You can add an Active Effect to an Actor by either: | ||
* | * Creating it directly on the {{Tab|Actor|Effects}} by clicking {{Code|+ 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 {{Category|Item}} that supports Active Effects, adding it there, then giving the Actor the Item. They will show up in the "Item Effects" category. | |||
There are a number of | Regardless of where the effect is created, it is configured via fundamentally same interface. There are also a small number of {{Category|Active Effect Example}}s available. | ||
==Details Tab== | |||
{{Imagebox|fvtt-active-effect-details.webp|Active Effect Details Tab|f=11.315|s=0.18.4|float=right}} | |||
The '''Details Tab''' includes fields to control the appearance plus how and if the effect is enabled. | |||
{{Imagebox|fvtt-active-effect- | * {{Anchor|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 {{Tab|Actor|Effects}}, the name of the source Item will also be included. | ||
* {{Anchor|Effect Icon}} will be displayed on the Actor's Effect Tab and in the Token if the effect has a non-zero Duration. | |||
{{Anchor| | * {{Anchor|Effect Suspended}} 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.{{Issue|1099}} | ||
* {{Anchor|Effect Origin}} is a display-only field that appears on Actor-specific Effects.{{Explain|I'm not sure how it's useful information to the vast majority of end users. It probably shouldn't appear at all.}} | |||
* {{Anchor|Apply for wireless active only}} controls whether the Effect requires the corresponding Item to have it's "Wireless" checkbox enabled. | |||
* {{Anchor|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== | |||
{{Imagebox|fvtt-active-effect-applyto.webp|Active Effect Apply-To Tab|f=12.331|s=0.22.1|float=right}} | |||
The '''Apply-To Tab''' is where the magic starts, beginning with the {{Anchor|Apply-To}} field itself. | |||
{{Whitebox|Important|This tab '''must''' be configured '''before''' moving on to the Effects Tab. If there are any entries on the Effects tab, you won't be able to alter what the Active Effect applies to on this tab.|float=none|width=calc(100% - 495px)}} | |||
===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. | |||
Note that Active Effects generated by modules 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=== | |||
Instead of applying to the Actor where the Effect is activated, the changes are applied to the Actor the player currently has Targeted. See the [[Weapon Workflow]] for how to Target a token and an example of what it looks like. | |||
===Test=== | |||
Selecting '''Test''' reveals options to filter what kind of Tests the adjustments apply to. Generally speaking, these will be tests performed from the {{Tab|Character|Skill}} or other items; see '''Test Via Item''' for comparison. | |||
* {{Anchor|Tests Filter}} includes all of the pre-canned Test types. | |||
* {{Anchor|Skills Filter}} allows filtering to specific Active Skills.{{Issue|1101}} | |||
* {{Anchor|Action Categories Filter}} works in conjunction with the [[Action Item#Category|Category]] selector on an [[Action Item]]. | |||
* {{Anchor|Attributes Filter}} does the same for an Actor's Attributes, including some matrix properties and things like Initiate/Submersion grades. | |||
* {{Anchor|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, e.g. a [[Medkit#Medkit in Autonomous Mode|medkit in autonomous mode]]. | |||
===Modifier=== | |||
The '''Modifier Mode''' interacts with [[Situational Modifiers]] dialog to control the penalties applied to the character. Specifically, it covers the Environmental Modifiers in {{source|sr5|173-175}}. The other modifiers in that section of the text (such as Range and Recoil) are handled via [[Weapon Workflow]]. | |||
==Duration Tab== | |||
{{Imagebox|fvtt-active-effect-duration.webp|Active Effect Duration Tab|f=11.315|s=0.18.4|float=right}} | |||
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 {{Ver|0.18.4}}, the system doesn't actually track time, so they have very little effect. Only the {{Anchor|Rounds}} value of {{Anchor|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. | |||
{{clear}} | |||
==Effects Tab== | |||
{{Imagebox|fvtt-active-effect-effects.webp|Active Effect Effects Tab|f=11.315|s=0.18.4|float=right}} | |||
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 {{Here|Apply-To}} mode. | |||
====Actor Data Structure==== | |||
If the Apply-To mode is {{Code|Actor}} or {{Code|Targeted Actor}}, you'll be working in the '''Actor Data Structure'''. As mentioned {{Here|Helpful Modules|above}}, [https://foundryvtt.com/packages/autocomplete-inline-properties 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 {{Here|Change Mode}}, as it can impact what the valid choices are. | |||
* {{Code|system.attributes.<attributeName>}} contains all attributes. | |||
* {{Code|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. | |||
* {{Code|system.limits.<limitName>}} contains all limits.{{Explain|Why are limits in {{Code|system.modifiers}}, too?}} | |||
* {{Code|system.modifiers}} contains all global modifiers that can be directly adjusted. Many of these values also appear on an {{Tab|Actor|Misc}}. | |||
====Test Data Structure==== | |||
For {{Code|Test}} or {{Code|Test via Item}}, see the '''Test Data Structure'''. | |||
* {{Code|data.damage}} | |||
* {{Code|data.limit}} | |||
* {{Code|data.modifiers}} | |||
* {{Code|data.options}} | |||
* {{Code|data.pool}} | |||
* {{Code|data.threshold}} | |||
* {{Code|data.values}} | |||
If you select a specific type of test under Apply-To, you'll also see options from those special test types. | |||
Some of the visible options are used internally or can't be usefully modified via Active Effects. | |||
* {{Code|data.title}} | |||
* {{Code|data.evaluated}} | |||
* {{Code|data.opposed}} | |||
* {{Code|data.pushTheLimit}} | |||
* {{Code|data.secondChance}} | |||
* {{Code|data.type}} | |||
* {{Code|data.manualGlitches}} | |||
* {{Code|data.manualHits}} | |||
====Environmental Data Structure==== | |||
For {{Code|Modifier}}, consult the '''Environmental Data Structure'''. Each available Attribute Key corresponds to the adjustments described in {{source|sr5|175}}. | |||
{{Whitebox|So I Can, So I Can...|"Flare Compensation" and "Sunglasses" are not included because the rules blend Light and Glare onto the same column. Flare Compensation only deals with Glare, and Sunglasses interact with both. Apologies to Corey Hart.|width=50%|float=right}} | |||
The available options are: | |||
* {{code|environmental.ultrasound}} — It does not take into account the 50 meter maximum range of such a system. | |||
* {{code|environmental.tracer_rounds}} | |||
* {{code|environmental.smartlink}} — This is specifically covers the benefit against wind. It doesn't affect the general Die Pool or Accuracy benefits of a smartlink; those modifiers come from a {{Item|Gear Modification}}. | |||
* {{code|environmental.low_light_vision}} | |||
* {{code|environmental.thermographic_vision}} | |||
* {{code|environmental.image_magnification}} — This does not take into account needing{{source|sr5|ref=178}} the Take Aim action to leverage image magnification. If the AE is enabled, the adjustment will be applied. | |||
===Change Mode=== | |||
{{Imagebox|fvtt-active-effect-modes.webp|Active Effect Modes|f=11.315|s=0.17.1|float=right}} | |||
There are a number of different '''Change Modes''' available to control how the Active Effect interacts with the Actor's properties. | |||
If {{Here|Apply-To}} is set to {{Code|Modifier}}, this option does not appear. | |||
====Modify==== | |||
{{Imagebox|sr5-effect-mod-sample.webp|Active Effect using Modify|f=11.315|s=0.17.1|width=350px}} | {{Imagebox|sr5-effect-mod-sample.webp|Active Effect using Modify|f=11.315|s=0.17.1|width=350px}} | ||
If the value choosen | '''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 {{Code|.mod}} value, it technically doesn't matter if a general value as a whole or any of it's fields are choosen (such as {{Code|.value}}, {{Code|.base}}, {{Code|.mod}} or {{Code|.temp}}). Modify mode will always act on the base node (such as {{Code|syste.attributes.willpower}}) — specifying other fields at the same level as {{Code|.mod}} will be ignored. If the value choosen includes a {{Code|.mod}} field the system will display the effect in the calculation hover tip, where available. | |||
If the value doesn't include a {{Code|.mod}} node the Modify mode it will fall back to using the Add mode. | |||
====Multiply==== | |||
{{Whitebox|Speed Freaks|float=left|width=400px}} | |||
Like '''Add''' (below), there is very little reason to use '''Multiply'''. It does properly functions with some values feature elements like {{Code|.base}}, but there are few places in the game rules where this is desirable. Use with caution, if at all. | |||
=== | ====Add==== | ||
== | |||
{{Imagebox|sr5-effect-add-sample.webp|Active Effect using Add|f=11.315|s=0.17.1|width=350px}} | {{Imagebox|sr5-effect-add-sample.webp|Active Effect using Add|f=11.315|s=0.17.1|width=350px}} | ||
There is no good reason to use the {{Anchor|Add}} mode directly — anything it can do, '''Modify''' can do, and returns more detail back to the user. | There is no good reason to use the {{Anchor|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'''{{Issue|1058}} 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 {{Code|.base}} nodes, rather than {{Code|.mod}} or {{Code|.value}}. If the desired element has no {{Code|.base}} node, they may not behave as desired or at all. | |||
== | ====Override==== | ||
=== | {{Imagebox|sr5-effect-over-sample.webp|Active Effect using Override|f=11.315|s=0.17.1|width=350px}} | ||
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 {{Code|.mod}} field. | |||
The | |||
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. | |||
<!-- Does work with .attribute and .limit, but didn't before. --> | |||
== | ===Effect Value=== | ||
If {{Here|Apply-To}} is set to {{Code|Modifier}}, this option does not appear. | |||
{{References}} | {{References}} |
Latest revision as of 13:18, 14 October 2024
This article was last edited Monday, October 14, 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. There are also a small number of Active Effect Examples available.
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 Suspended 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.
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 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
Instead of applying to the Actor where the Effect is activated, the changes are applied to the Actor the player currently has Targeted. See the Weapon Workflow for how to Target a token and an example of what it looks like.
Test
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 2]
- Action Categories Filter works in conjunction with the Category selector on an Action Item.
- 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, e.g. a medkit in autonomous mode.
Modifier
The Modifier Mode interacts with Situational Modifiers dialog to control the penalties applied to the character. Specifically, it covers the Environmental Modifiers in Shadowrun Fifth Edition Core Rulebook (p. 173-175). The other modifiers in that section of the text (such as Range and Recoil) are handled via Weapon Workflow.
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 that can be directly adjusted. Many of these values also appear on an Actor's Misc Tab.
Test Data Structure
For Test
or Test via Item
, see the Test Data Structure.
data.damage
data.limit
data.modifiers
data.options
data.pool
data.threshold
data.values
If you select a specific type of test under Apply-To, you'll also see options from those special test types.
Some of the visible options are used internally or can't be usefully modified via Active Effects.
data.title
data.evaluated
data.opposed
data.pushTheLimit
data.secondChance
data.type
data.manualGlitches
data.manualHits
Environmental Data Structure
For Modifier
, consult the Environmental Data Structure. Each available Attribute Key corresponds to the adjustments described in Shadowrun Fifth Edition Core Rulebook (p. 175).
The available options are:
environmental.ultrasound
— It does not take into account the 50 meter maximum range of such a system.environmental.tracer_rounds
environmental.smartlink
— This is specifically covers the benefit against wind. It doesn't affect the general Die Pool or Accuracy benefits of a smartlink; those modifiers come from a Gear Modification.environmental.low_light_vision
environmental.thermographic_vision
environmental.image_magnification
— This does not take into account needing[sr 1] the Take Aim action to leverage image magnification. If the AE is enabled, the adjustment will be applied.
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 3] 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. 178)
- ↑ Chrome Flesh (p. 88)