Skip to content

Macro Recipes

await FXMASTER.api.presets.toggle("hurricane", {
topDown: true,
soundFx: true,
background: true,
tokenTrails: true
});
await FXMASTER.api.presets.switch("drizzle", {
density: "low",
speed: "low",
belowTokens: false
});
await FXMASTER.api.stopSceneEffects({
skipFading: true
});

This affects scene-wide FXMaster rows. Region documents and their behaviors remain in place.

const disabled = await FXMASTER.api.stopRegionEffects({
scene: canvas.scene
});

Re-enable the FXMaster Region behaviors later:

const enabled = await FXMASTER.api.startRegionEffects({
scene: canvas.scene
});

Suppression behaviors are not changed by these methods.

const scene = game.scenes.getName("Harbor");
await FXMASTER.api.presets.play("fog", {
scene
});
const valid = new Set(
FXMASTER.api.presets.listValid({ topDown: false })
);
if (valid.has("luminous-sky")) {
await FXMASTER.api.presets.play("luminous-sky");
} else {
ui.notifications.warn(
"Luminous Sky is not available with the active FXMaster modules."
);
}
await FXMASTER.api.effects.play({
filters: [
{
id: "apiMacro_ritualBloom_f",
type: "bloom",
options: {
blur: 2,
bloomScale: 1,
threshold: 0.45
}
}
]
});
await FXMASTER.api.effects.filters.stop([
"apiMacro_ritualBloom_f"
]);
await FXMASTER.api.effects.toggle({
toggleKey: "crypt-ambience",
effects: [
{
kind: "particle",
type: "fog",
options: {
density: 0.25,
speed: 0.2
}
},
{
kind: "filter",
type: "color",
options: {
color: {
apply: true,
value: "#6f7d96"
},
saturation: 0.75
}
}
]
});
await FXMASTER.api.presets.play("gravewind", {
darknessActivationEnabled: true,
darknessActivationMin: 0.6,
darknessActivationMax: 1,
direction: "west"
});
console.table(
FXMASTER.api.presets.listActive({
scene: canvas.scene
})
);