-
Notifications
You must be signed in to change notification settings - Fork 5
Conditions and updaters
Conditions are things that trigger delayed or over time effects of spells and abilities. Updaters are what update or somehow affect the state of the game as a result. The two always go together, but most of the conditions and updates can be combined freely.
Conditions can be placed on either the item (below the damage, saves and such) or on the effect (on the details tab). This decision matters a lot, so give it a thought.
A word about disposition: Where conditions specify creature, ally or enemy, the determination is done like this: Each disposition is allied to itself, so effects cast by friendlies only affect friendlies if the condition specifies "ally" and so on. Friendly is an enemy of hostile and the other way around, neutrals aren't enemies to anyone else in either direction. Creature conditions affect everyone regardless of disposition.
Every time an actor starts its turn, its list of currently occupied area templates is updated. The condition triggers when a new template is first entered, and the area is then added to the list, preventing another trigger during the current turn.
Those who don't get this aren't probably reading this.
Triggered when first entered and on every consequent move inside the area. This triggers once per update ending inside the area, so if you are dragging a token multiple squares, this will not trigger for each square. Use the arrow keys while inside a Spike Growth or don't end up in one in the first place.
Trying to say a lot in one piece of text that fits inside a drop-down. This is triggered once when a token first enters an area completely, but is repeatedly triggered if the actor moves in and out multiple times. The idea is to use this mostly for effects that cause a condition while inside, like Darkness or give a passive bonus or penalty like some aura-type effects. Entering completely means that large and bigger creatures need to have all their squares inside. You should typically use the next one as well whenever using this.
A counterpart to the above and should most of the time be coupled with it. This is triggered when a token is no longer completely under an area, repeatedly if that is how the token moves.
Here's a trick: Some effects last until the target's next turn or are triggered on the target's turn and last until the caster's next turn. The duration is not quite a round, but the number of turns varies so it's hard to determine. These are best to set up as having a duration of 1 round, and then adding in a condition to end the effect at the relevant point.
Effects that have this flag are specifically tagged on the caster and work even if there is no concentration.
If this is set on an effect, it is pretty self-explanatory and will affect the actor with the effect at the start or end of their turn.
If it is set on the item, it will be copied onto the caster's concentration effect, and will affect the target of the concentration effect, which is the caster. This could be reworked to work like the "start/end of caster's turn" condition and trigger every time an actor that was targeted by the spell being concentrated on gets their turn, but I didn't see much use for that. If you find a spell that needs this, let me know. In the mean time, don't use this on the item because I might change my mind later on the issue!
I'm including this in this category because it always happens at the start of a turn.
When this is on an effect, it happens on the turn of the actor with the effect. When this is on an item, it happens on the turn of the caster (see discussion above on concentration). However, on the caster's turn, it targets the original targets of the activation.
When it triggers, a separate card is created:
Care should be taken to not press the button just because it is there. Pressing it usually means your character uses up an action or a bonus action. It's always an option to just take a step back and do something else instead.
Just trying it is enough, doesn't need to land.
Actually lands the attack, as in the attack roll is a success.
Counterpart to "Make an attack", doesn't need to actually hit.
Only triggers when an attack manages to land on the effect holder.
This is not triggered as a result of an item roll, but as a result of damage being applied from the damage card.
This is only meaningful on an item, and is triggered if an attack item completes a successful attack. Its primary purpose is triggering secondary effects for monster attacks like poisonous bites, and should usually be accompanied by the "Activate immediate/delayed/over time damage and effects" updater.
These are triggered whenever any save or skill check is rolled.
Create a new activation + chat message and process it. Only applies damage and effects of the selected application type, which does not really have much meaning outside convention. Speaking about convention, you should generally:
- Use immediate when the damage and effects happen directly as a result of the initial item roll or are exactly identical to those (Magic Missile)
- Use delayed when the damage and effects happen as a result of a condition, but only once (like Acid Arrow)
- Use over time when the damage and/or effects can happen repeatedly (like Moonbeam or Heat Metal)
This applies effects only, without a new chat message or a chance to do saves or attack rolls. It is intended for things like Darkness that should activate a passive condition or bonus/penalty.
You have been warned, do not select this over "Activate ... damage and effects" most of the time. I have and it's confusing.
End the effect, optionally as a result of a successful save or check. The save or check will get a chat message. If this is put on the item, it will operate on the concentration/master effect, ending the whole spell.
The ultimate in customization are custom updaters. These are for the situations where the effect calls for something so specialised that using the standard flow of things is not adequate. You use custom updaters by specifying them in the item macro and adding a condition on the item or on an effect from the item and have the condition trigger the custom updater.
Here is an example from Warding Bond.
this.registerUpdater("Take Warding Bond damage", false, async (condition, item, effect, details) => {
const actor = item.actor;
console.log("Damage", actor.name, details.damageAmount);
game.wire.DamageCard.makeForActor(actor, actor, details.damageAmount);
});
The updater is registered using the registerUpdater
method. The parameters it takes are:
- The string displayed in the updater drop down
- Whether the updater needs to be ran as the GM (if
true
, make sure you don't use any dialogs, targets or selection info) - A callback to invoke when the condition is triggered
The parameters to the callback are:
- The identifier of the condition which triggered the updater
- The item in question
- The effect containing the condition (can be null in some immediately triggering cases)
- An object containing extra information related to the triggering condition
Once the registration is done and the macro saved, it can be selected as an updater: