Styles for blasters

Hi! I want to make a series of styles that change based on effects. For example, I want to have an indicator of the clip. Thus, I would like it’s base color to be green, turn to black when EFFECT_CLIP_OUT is generated, and stay that way until EFFECT_CLIP_IN happens, where it is turned green again.
Another thing I would like to do, is with range. I have the variable of how many steps it has in #define BLASTER_RANGE_LEVELS, and I want to extend a blade proportionally each time I generate a EFFECT_RANGE_UP and decrease it with each EFFECT_RANGE_UP. Also I would like it to blink for 300ms when I reach EFFECT_RANGE_MAXIMUM or EFFECT_RANGE_MINIMUM.
Also, I would like to turn off the blades when the blaster turns off.

For the first one, I think what you want is something like:

ColorSelect<
   IncrementWithReset<
       EffectPulseF<EFFECT_CLIP_OUT>,
       EffectPulseF<EFFECT_CLIP_IN>, Int<1>>,
   TrFade<100>,
   Green,
   Black>

For the second one, it’s probably best to create a new function that returns a value between 0 and 32768 based on the currently selected range.

Blinking is done by adding additional layers that respond to EFFECT_RANGE_MAXIMUM / EFFECT_RANGE_MINIMUM.

I’m at a loss here. I can’t seem to wrap my mind around the concepts and I’m not quite getting through with the How-To. But alas, have other question: when doing a style as a function in CONFIG_STYLES, I have to call all the intermediate parameters, or can I just use RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>, RgbArg<ALT_COLOR_ARG,Rgb<0,0,255>> and RgbArg<BLAST_COLOR_ARG ,Rgb<64,16,16>>?

You can just use the ones you want to use, no need to use all of them.