Ehhhhh, this is still beyond me.
Put the re-writing to a hold and just used the existing blade code to whip up a new blade style in my config.
Changed the fire configs to bump up speed and minimum brightness while preventing it getting too yellow:
// Fire speed, valid values are 1 - 10
#define FIRE1_SPEED 3 //default 2
// How long to wait before firing up crossguards.
#define FIRE1_DELAY 800
// Each of these have three values: A, B, C
// A = non-random intensity
// B = random intensity
// C = cooling
// The first two control temperature, and as we add
// A + rnd(B) to the base of the blade each animation frame.
// The second controls how rapidly the fire cools down
// This is used during normal operation.
//#define FIRE1_NORMAL 0, 1000, 2
#define FIRE1_NORMAL 150, 900, 2
// This is used when a clash occurs
//#define FIRE1_CLASH 3000, 0, 0
#define FIRE1_CLASH 3000, 1000, 0
// This is used during lockup.
//#define FIRE1_LOCKUP 0, 5000, 10
#define FIRE1_LOCKUP 0, 5000, 10
// Helper
#define FIRE1PTR(NUM, DELAY) \
StyleFirePtr<RED, Orange, NUM, DELAY, FIRE1_SPEED, \
FIRE1_NORMAL, FIRE1_CLASH, FIRE1_LOCKUP>()
And using a random-flicker main blade with fire crossguards to keep most of the blade effects.
{ "font01", "tracks/Intro.wav",
StylePtr<InOutSparkTip<EasyBlade<RandomPerLEDFlicker<Rgb<160,0,0>, Rgb<255,32,0> >, WHITE>, 300, 800, YELLOW> >(),
FIRE1PTR(1, FIRE1_DELAY),
FIRE1PTR(2, FIRE1_DELAY)
},
Going to try and figure out how to mess with the single-button input so it's hold-while-on to Shutoff and tap-while-on for Blaster Block.