Feu-Secret/Tokenmagic

Include language to make macros toggleable or include examples of toggle FX.

Closed this issue · 4 comments

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);
    }
  }
}

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.

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();```

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! :)