Effect (Asset)

From FetishQuest Wiki
Revision as of 16:58, 19 February 2025 by JasX (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

An effect is a block of data that describes something that should affect a player, such as modifying HP or stats. Effects are tied to Wrappers which may contain multiple effects. Effects are always triggered by events.

Field Type Default Description
Label String A unique label for your effect. Do not change this after setting up your effect!
Description String Describe your effect. This is not used in game, but helps search in the editor.
Type String Effect type. When you change this value, the description below will change.
Don't multiply by stacks Boolean False By default, most integer values will be multiplied by the nr of stacks in the parent wrapper. Checking this sets the stack count to a fixed 1.
Debug Boolean False Used to output debug output. Only use if you're modifying the FQ source code.
Targets Array Sets what targets the effects should affect. Auto is usually the parent wrapper target.
Events Array List of events that should trigger the effect. internalWrapperTick is triggered when an instant wrapper is triggered, or a duration wrapper ticks. For most instant effects, you just want internalWrapperTick. You can use as many as you want.
Effect Data JSON A JSON object which changes based on the type of effect you're editing. Above the editor is a description of the fields you can use, and what the effect does.
Tags Tag Tags to apply to the target(s) while affected by the effect.
Conditions Conditions Conditions required for the effect to trigger, or in the case of modifier effects (such as stat modifiers), to apply to the target(s).
Subconditions Conditions Conditions are always checked with sender/target being the same as the event that triggered the effect. However, if you use a target other than sender/target, and want to check conditions on the recipient, then you can use a subcondition. Sender of the subcondition is always the parent wrapper's owner.

Notes

  • If the target of the event that triggered the effect is the holder of the wrapper this effect is attached to, then it flips target/sender. So generally you want to flip so ta_ vars target the owner of the effect, whereas se_ will target the target of the effect. I don't remember why I made it this way, but I think it was important.
  • By default, mathVar targets will be the target(s) set in the targets section. If you want to access the parent wrapper's sender or target, you have access to pws_ and pwt_. These stand for parentWrapperSender and parentWrapperTarget, and contain data about the effect parent wrapper\'s send and target.