Include language to make macros toggleable or include examples of toggle FX.
Closed this issue · 4 comments
DeviousHearts commented
I am trying to make a macro that turns the effect on on the first button press then off on the second.
I apologize and I am new to macro writing.
Could you provide an example for me of say a glow toggle macro?
Aedif commented
const filterId = 'glow';
for(const token of canvas.tokens.controlled) {
if(TokenMagic.hasFilterId(token, filterId)) {
TokenMagic.deleteFilters(token, filterId);
} else {
const preset = TokenMagic.getPreset(filterId);
if(preset) {
TokenMagic.addUpdateFilters(token, preset);
}
}
}
DeviousHearts commented
Thank you so much! Where would I put the parameters in this to change color and such? I needed it to be a slower blue glow.
DeviousHearts commented
EUREKA!!! I got it. It is a toggle that combines three animations all at once and each is animated!
const myTokens = canvas.tokens.controlled;
for (const myToken of myTokens ){
if (myToken.TMFXhasFilterId("BlueGlow")) {
await myToken.TMFXdeleteFilters("BlueGlow");
} else {
let params =
[{
filterType: "outline",
filterId: "BlueGlow",
padding: 10,
color: 0xc4c4FF,
thickness: 1,
quality: 5,
zOrder: 9,
animated :
{
thickness:
{
active: true,
loopDuration: 6000,
animType: "syncCosOscillation",
val1: 1,
val2: 6
}
}
},
{
filterType: "glow",
filterId: "BlueGlow",
outerStrength: 5,
innerStrength: .5,
color: 0x9999FF,
quality: 0.5,
padding: 10,
animated:
{
outerStrength:
{
active: true,
loopDuration: 3000,
animType: "colorOscillation",
val1:30,
val2:1
}
}
},
{
filterType: "adjustment",
filterId: "BlueGlow",
saturation: 1,
brightness: 1.5,
contrast: 1.2,
gamma: 1,
red: 1,
green: 1,
blue: 1.25,
alpha: 1.25,
animated:
{
brightness:
{
active: true,
loopDuration: 3000,
animType: "syncCosOscillation",
val1: 1.5,
val2: 5 }
}
}
];
await myToken.TMFXaddUpdateFilters(params);
}
}
};
glowFunc();```
DeviousHearts commented
Now if I can only figure out how to make the token actually emit light on the canvas at the same time and toggle off as well, I will be set! :)