Dang.. if u wouldof spent more time on it i'd +rep you.. but this is just atrocious... if you arent gonna make a quality spell that people can actually use, then dont bother posting a spell in this section..
But then, JASS users won't use it.
Flame Storm Cast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Flame Storm
Actions
Trigger - Turn off (This trigger)
Set DUMMY[11] = (Casting unit)
Wait 1.00 seconds
Animation - Play DUMMY[11]'s channel animation
Unit - Pause DUMMY[11]
For each (Integer A) from 1 to 5, do (Actions)
Loop - Actions
Unit - Create 1 DUMMY for (Owner of DUMMY[11]) at (Position of DUMMY[11]) facing Default building facing degrees
Unit - Make (Last created unit) Invulnerable
Unit - Turn collision for (Last created unit) Off
Set DUMMY[(Integer A)] = (Last created unit)
Unit - Move DUMMY[(Integer A)] instantly to ((Position of DUMMY[11]) offset by (100.00 x (Real((Integer A)))) towards 0.00 degrees)
Unit - Create 1 DUMMY for (Owner of DUMMY[11]) at (Position of DUMMY[11]) facing Default building facing degrees
Unit - Make (Last created unit) Invulnerable
Unit - Turn collision for (Last created unit) Off
Set DUMMY[(5 + (Integer A))] = (Last created unit)
Unit - Move DUMMY[(5 + (Integer A))] instantly to ((Position of DUMMY[11]) offset by (100.00 x (Real((Integer A)))) towards 180.00 degrees)
Wait 1.00 seconds
Unit - Unpause DUMMY[11]
Animation - Reset DUMMY[11]'s animation
Trigger - Turn on Flame Storm SFX <gen>
Wait 10.00 seconds
For each (Integer B) from 1 to 5, do (Actions)
Loop - Actions
Unit - Remove DUMMY[(Integer B)] from the game
Unit - Remove DUMMY[((Integer B) + 5)] from the game
Wait 1.00 seconds
Trigger - Turn off Flame Storm SFX <gen>
Trigger - Turn on (This trigger)
Flame Storm SFX
Events
Time - Every 0.05 seconds of game time
Conditions
Actions
Set REAL[1] = (REAL[1] + 4.00)
For each (Integer A) from 1 to 5, do (Actions)
Loop - Actions
Unit - Move DUMMY[(Integer A)] instantly to ((Position of DUMMY[11]) offset by (100.00 x (Real((Integer A)))) towards REAL[1] degrees)
Unit - Move DUMMY[((Integer A) + 5)] instantly to ((Position of DUMMY[11]) offset by (100.00 x (Real((Integer A)))) towards (REAL[1] + 180.00) degrees)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Number of units in (Units within 100.00 of (Position of DUMMY[(Integer A)]) matching ((Owner of (Matching unit)) Not equal to (Owner of DUMMY[11])))) Greater than or equal to 1
Then - Actions
Unit Group - Pick every unit in (Units within 100.00 of (Position of DUMMY[(Integer A)]) matching ((Owner of (Matching unit)) Not equal to (Owner of DUMMY[11]))) and do (Actions)
Loop - Actions
Unit - Cause DUMMY[(Integer A)] to damage (Picked unit), dealing (10.00 x (Real((Hero level of DUMMY[11])))) damage of attack type Chaos and damage type Normal
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Number of units in (Units within 100.00 of (Position of DUMMY[((Integer A) + 5)]) matching ((Owner of (Matching unit)) Not equal to (Owner of DUMMY[11])))) Greater than or equal to 1
Then - Actions
Unit Group - Pick every unit in (Units within 100.00 of (Position of DUMMY[((Integer A) + 5)]) matching ((Owner of (Matching unit)) Not equal to (Owner of DUMMY[11]))) and do (Actions)
Loop - Actions
Unit - Cause DUMMY[(Integer A)] to damage (Picked unit), dealing (10.00 x (Real((Hero level of DUMMY[11])))) damage of attack type Chaos and damage type Normal
Else - Actions