I could do this for you right now, if you haven't already got somebody working on it for you. I think I understand what you want.
Note that this will be done in vJass. If you aren't using the NewGen world editor then you won't be able to use it :S
When simply running the test-map, remember that you can play around with the values (in the constants) if you look into the script. I'll show you an example:
JASS:
scope RollingThunder initializer init
globals
// config
//
// DEFAULT_FREQUENCY - the period (seconds) between each 'thunderclap'.
// DEFAULT_SPIN_RATE - the rotation that occurs per second in radians.
// DEFAULT_RADIUS - the default radius of the electric surges.
//
public constant real DEFAULT_FREQUENCY = 0.085
public constant real DEFAULT_SPIN_RATE = bj_PI
public constant real DEFAULT_RADIUS = 500
This is at the top of the script. You can change the frequency between each "thunder clap" by changing the
DEFAULT_FREQUENCY
constant. The spin-rate basically determines the difference in angles between each period. The radius determines how far away from you each thunder clap will occur. You can play around with these constants to make the snake look different.
I've left it open so more options can be added to it. While it isn't very useful to alter the frequency or spin-rate during mid-cycle but altering the radius mid-cycle could have interesting effects. Having a wavy motion may throw more dynamics into the spell you're making.
Also notice that the faster your frequency is, the higher damage the spell will output. Currently each thunder-clap deals
75 damage at level 1. If this effect occurs 10 times a second, then the spell can potentially deal
750 damage in only a second. You can lower the damage of the spell by lowering the damage of
Rolling Thunder (dummy) in the Object Editor.
To copy this spell to your map (if you're using NewGen) simply copy the trigger (the script, above I posted a preview); once you've done that you can copy all of the Object Editor data over to your own map. Notice the ability raw-codes that I've used. If you change them, you'll have to change them in the script
config section similar to how you would change the functionality constants as I described above.