-
Notifications
You must be signed in to change notification settings - Fork 5
Recipes
This page will contain some example setups to illustrate the capabilities of the system. I strongly recommend grabbing the WIRE-SRD module though and checking out some examples from there after the basic principle becomes familiar. It is likely that the module will be better up to date than this document.
This page is current to version 0.10.4, but some screenshots may be from older versions and differ in some details from the latest version.
The idea of this page is to contain ready-to-cut-and-paste bits of macros and to help set up some more complicated abilities.
Passive effects are ones that should not need to be explicitly activated. The more complicated ones are usually on monsters, but PCs might gather some as well. Here are some tips for crafting them.
When you create the item (ability) on the actor (character), it can be activated but it does not have a passive effect. To do this, you need to create an active effect (often times called simply "effect" as well, but don't confuse it with individual changes on an effect, see below) on the item. Once done, the active effect is on the item, not the actor and still won't do anything initially.
To get it to work, you need to enable transfer on the active effect on the item. What this does is it automatically copies the active effect from the item to the actor. Once the active effect is on the actor, it has an effect on the world through the actor's token.
To make it a bit more confusing in practice, the DAE module (recommended) changes the name of the transfer checkbox. The checkbox is labeled either "Transfer effect to actor" or "Transfer to actor on item equip". Both do the same thing and affect the same property, so either is good. Note that actual inventory items (gear, equipment) need to be equipped for transfer to work, but special abilities/features will transfer immediately when the option is selected, despite the label possibly saying something different.
When the active effect is created on the actor, it initially causes only the changes specified on the third tab (confusingly called "Effects") to affect the actor. These are things like advantage flags or various bonuses.
To make them do something more complex, a condition needs to be added to the active effect. Note that for passives, adding conditions to the item usually does nothing. These are used when you actually click on an activated ability and you get a concentration effect or similar.
Sometimes the item will need multiple active effects to operate properly. For example, the Ghast Stench needs the "Stench" to do all described above and a separate "Ghast Stench Poison" active effect that is NOT transfer that will be applied to the adventurer to make them poisoned.
For passives the activation should be empty. The Target and Range properties will only show up if the item has at least one transfer effect, so it needs to come first.
Create the passive effect
- Go on the item effects tab, click "+ Add" in the "Passive Effects" header
- Click the edit button on the created effect row
- Add a condition row by clicking the plus after "Conditions and effects"
- Select the "transfer" check box (see above for a note about the label)
- Select "Takes damage" in the first dropdown of the condition you added and "Activate immediate damage and effects" in the second.
Now every time the Mephit takes damage, it causes a 5' area effect damage burst around itself. We need to constrain it to only when it hits 0 hp.
- Go back to the item
- Click "Item Macro" in the header bar (install the Item Macro module if you don't see it)
- Type in the following:
this.registerFlowStep("checkDeath", true, async (activation, details) => {
console.log("DEATH BURST CHECK");
if (details?.hp > 0) {
return false;
}
});
return this.performCustomStep("checkDeath",
this.areaEffectFlow({ removeSelfTarget: true })
);
What this does is
- It registers a custom step in the processing flow that checks if the Mephit is actually at 0 hp
- It overrides the entire normal processing flow for this ability and replaces it with the following:
- First, run the check above. Abort the whole thing if necessary (
return false
) - Second, do a predetermined set of area effect actions that includes
- Placing a template
- Figuring out the affected targets (the
removeSelfTarget
parameter makes it so the Mephit is not affected) - Roll and apply damage (and effects, if we had any)
- First, run the check above. Abort the whole thing if necessary (
Finish by setting up the basic properties
- Make sure the activation is empty
- Give it a target of "5 Feet Radius"
- Give it a range of "Self"
- Add a damage row for 1d8 slashing damage, half on a save (immediate application)
- Enter in the Dexterity DC 10 save
For passives the activation should be empty. The Target and Range properties will only show up if the item has at least one transfer effect, so it needs to come first.
Create the ability and the effects.
First, the transfer effect:
- On the effects tab of the item, add a passive
- It should be called "Stench". Enable transfer.
- Add two conditions
- The effect is created → Activate immediate damage and effects (this will create the template)
- An enemy starts its turn inside the area → Activate over time damage and effects (this will cause the enemy to get poisoned)
- Save the effect
Second, the target effect:
- On the effects tab of the item, add a passive
- Call it "Ghast Stench Poison", do NOT enable transfer
- Important: Set Application phase to "Over time"
- On the duration tab, check "Track duration independently from concentration or master effect". Give it a duration of 1 round.
- On the effects tab add a row by hitting the plus button cleverly concealed on the header row
- Type in "wire.custom.statusEffect" for Attribute key, change mode "Add" and effect value "Poisoned".
- Save the effect
Activated items create their templates as part of the activation process, but passives can't do this, so they need to be told to. Create a macro on the item:
- Go back to the item
- Click "Item Macro" in the header bar (install the Item Macro module if you don't see it)
- Type in the following:
return this.pick(
this.isImmediateApplication(
this.placeTemplate()
),
this.defaultFlow()
)
What this does is
- When something is doing activation of immediate damage and effects (see the condition above, the one triggered on the creation of the effect), it places down a template. This will happen automatically since we entered in a circular template with a range of Self.
- In all other cases, it does what usually needs to happen, i.e. applies targets, does damage rolls and ultimately applies the damage and effects to affected tokens. This is what will happen when other actors enter the template (the condition for that was used earlier).
This should now work. The effect is recreated and restarted every time you create a new Ghast token or change some values on the item. If you don't like the players to see the template before they get stenched, you can deactivate the effect on the Ghast. I strongly recommend Visual Active Effects for this since it includes options for both inactivating and removing active effects, both of which have their place.
Enter in basic properties
- Make sure activation is empty
- Target: 5 Feet Radius
- Range: Self
- Saving throw Con DC 10
- Successful save gives immunity: checked
For passives the activation should be empty. The Target and Range properties will only show up if the item has at least one transfer effect, so it needs to come first.
Create the passive effect
- Go on the item effects tab, click "+ Add" in the "Passive Effects" header
- Click the edit button on the created effect row
- Add a condition row by clicking the plus after "Conditions and effects"
- Select the "transfer" check box (see above for a note about the label)
- Select "Start of target's turn" in the first dropdown of the condition you added and "Activate over time damage and effects" in the second. Note that the target here is the Balor. The one with the effect.
This time we don't need a macro to trigger everything since the condition already works based on turns changing. But we need to place down a template for targeting, and that needs some help.
- Go back to the item
- Click "Item Macro" in the header bar (install the Item Macro module if you don't see it)
- Type in the following:
return this.pick(
this.isOverTimeApplication(
this.areaEffectFlow({ removeSelfTarget: true })
),
this.defaultFlow()
);
See how this is almost the same as the Ghast Stench above. The difference is that the Ghast Stench needed a template up front (isImmediateApplication
) and the Fire Aura needs it every turn when the damage is triggered (isOverTimeApplication
).
Enter in basic properties
- Make sure activation is empty
- Target: 5 Feet Radius
- Range: Self
- Add a damage row: 3d6 fire. Make sure the row is set to over time.