Why so complicated...
If CLNE(LIGH) has tmp 0, it makes LIGH as it is now in the current official version.
If tmp of CLNE(LIGH) is 1, it works as it is now and creates that mega-flashes.
If you set the ctype of the CLNE per hand by drawing with LIGH over it or a LIGH collides the first time with a CLNE(), it would get CLNE(LIGH) with tmp 1. All current saves are NOT affected because they have CLNE with tmp 0.
I think this is possible, because if molten salt for example gets on a CLNE(), it clones not just LAVA, but LAVA(SALT) = molten salt.
With LIGH it would be similar.
it already clones molten salt and ETC.