So this is what I've been able to achieve so far...VIDEO I tested it by assigning the PalFX to Morrigan's Soul Phoenix Super and it works fine. But for some reason, her sprites have become all messed up and I'm not sure why. This is all the "new" code which I added into her system.cns file:; Var(1) - PalNo Time ; Var(2) - PalNo ; Var(40) - Ticks to Apply Super FX ; Var(41) - Super pause flag (0 = Off; 1 = On) [State -2, PalNo Time Add] type = VarAdd trigger1 = !var(40) trigger2 = ((GameTime % 14) = 0) && var(40) var(1) = 1 ignoreHitPause = 1 [State -2, RemapPal: 2 palettes, 2 tick interval] type = RemapPal triggerAll = var(2) != 4 triggerAll = var(1) % 2 = 0 trigger1 = !var(40) trigger2 = ((GameTime % 14) = 0) && var(40) source = 1,1 dest = var(2), floor((var(1) % 4) / 2) ignoreHitPause = 1 [State -2, RemapPal: 3 palettes, reversing, 4 tick interval] type = RemapPal triggerAll = var(2) = 4 triggerAll = var(1) % 4 = 0 trigger1 = !var(40) trigger2 = ((GameTime % 14) = 0) && var(40) source = 1,1 dest = var(2), cond(var(1) % 16 < 8, floor((var(1) % 16) / 4) , 2 - floor((var(1) % 16 - 8) / 4)) ignoreHitPause = 1 [State -3, EX FX Decrement] type = VarAdd trigger1 = var(40) > 0 var(40) = -1 [State -3, EX FX Reset] type = VarSet trigger1 = (StateNo != [3000,4999]) || MoveType = H var(40) = 0 [State -3, EX Flash] type = PalFX trigger1 = var(40) time = 1 mul = 256 + ceil(cos(GameTime / 10.0 * pi) * 128), 256 + ceil(sin(GameTime / 10.0 * pi) * 128), 256 + ceil(-cos(GameTime / 10.0 * pi) * 128) color = 0 ignoreHitPause = 1 [State -3, EX Flash Blink] type = PalFX trigger1 = ((GameTime % 14) = 0 || (GameTime % 14) = 13) && var(40) time = 1 ignoreHitPause = 1 And this is all I added into the Soul Phoenix section of her Supers.cns file:[State 3000, EX Flash] type = VarSet trigger1 = !Time var(40) = 40