First spell submission go easy on me. And plz post back and tell me if my spell leaks, how to get it approved, if you like the spell, how i could improve, and how i could make it MUI thxs.
JASS: No
MUI: No
GUI: Yes
Fun to use: YES =D
Flame Strike
The Flame Master changes into an form of energy, damaging every unit in his way, moving to where ever he chooses. When the Flame Master takes off he creates an explosion.
Range 500 Level 1 - 200 Damage, Explosion Damage 100
Range 600 Level 2 - 400 Damage, Explosion Damage 200
Range 700 Level 3 - 600 Damage, Explosion Damage 300
JASS: No
MUI: No
GUI: Yes
Fun to use: YES =D
Flame Strike
The Flame Master changes into an form of energy, damaging every unit in his way, moving to where ever he chooses. When the Flame Master takes off he creates an explosion.
Range 500 Level 1 - 200 Damage, Explosion Damage 100
Range 600 Level 2 - 400 Damage, Explosion Damage 200
Range 700 Level 3 - 600 Damage, Explosion Damage 300
Code:
Untitled Trigger 001
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Flame Strike
Actions
Set FlameStrikeCaster = (Triggering unit)
Set FlameStrikeCasterPoint = (Position of FlameStrikeCaster)
Set FlameStrikeEndPoint = (Target point of ability being cast)
Set FlameStrikeDummyRegion = (Region centered at FlameStrikeEndPoint with size (50.00, 50.00))
Animation - Play FlameStrikeCaster's attack animation
Unit - Make FlameStrikeCaster Invulnerable
Trigger - Turn on Untitled Trigger 002 <gen>
Wait 0.30 seconds
Animation - Change FlameStrikeCaster's animation speed to 0.00% of its original speed
Unit - Hide FlameStrikeCaster
Unit - Pause FlameStrikeCaster
Set FlameStrikeDummyInteger = 1
For each (Integer A) from 1 to 1, do (Actions)
Loop - Actions
Unit - Create 1 Blademaster2 for (Owner of FlameStrikeCaster) at (FlameStrikeCasterPoint offset by 100.00 towards 0.00 degrees) facing ((X of FlameStrikeEndPoint) + 200.00) degrees
Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
Unit - Cause FlameStrikeCaster to damage circular area after 0.00 seconds of radius 200.00 at FlameStrikeCasterPoint, dealing (100.00 x (Real((Level of Flame Strike for FlameStrikeCaster)))) damage of attack type Spells and damage type Normal
Unit - Create 1 Blademaster for (Owner of FlameStrikeCaster) at (FlameStrikeCasterPoint offset by 100.00 towards 0.00 degrees) facing (X of FlameStrikeEndPoint) degrees
Set FlameDummy = (Last created unit)
Unit - Order FlameDummy to Move To FlameStrikeEndPoint
Unit - Set FlameDummy movement speed to 999.00
Unit - Set the custom value of FlameDummy to (Integer(((Default turn speed of FlameDummy) - 10000.00)))
Unit - Turn collision for FlameDummy Off
Code:
Untitled Trigger 002
Events
Time - Every 0.10 seconds of game time
Conditions
Actions
Selection - Remove FlameStrikeCaster from selection for (Owner of FlameStrikeCaster)
Set FlameDummyCasterPoint = (Position of FlameDummy)
Set FlameDummyCasterRegion = (Region centered at FlameDummyCasterPoint with size (200.00, 200.00))
Unit Group - Pick every unit in (Units in FlameDummyCasterRegion) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(FlameDummyCasterRegion contains (Picked unit)) Equal to True
((Picked unit) belongs to an enemy of (Owner of FlameStrikeCaster)) Equal to True
((Picked unit) is in FlameStrikeGroup) Equal to False
Then - Actions
Unit - Cause FlameStrikeCaster to damage (Picked unit), dealing (200.00 x (Real((Level of Flame Strike for FlameStrikeCaster)))) damage of attack type Spells and damage type Normal
Unit Group - Add (Picked unit) to FlameStrikeGroup
Else - Actions
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(FlameStrikeDummyRegion contains FlameDummy) Equal to True
FlameStrikeDummyInteger Equal to 1
Then - Actions
Unit - Add a 0.10 second Generic expiration timer to FlameDummy
Set FlameStrikeDummyInteger = 0
Unit - Move FlameStrikeCaster instantly to FlameStrikeEndPoint
Unit - Make FlameStrikeCaster Vulnerable
Unit - Unpause FlameStrikeCaster
Unit Group - Pick every unit in (Units within 200.00 of FlameStrikeEndPoint) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) belongs to an enemy of (Owner of FlameStrikeCaster)) Equal to True
((Picked unit) is in FlameStrikeGroup) Equal to False
Then - Actions
Unit - Cause FlameStrikeCaster to damage (Picked unit), dealing (200.00 x (Real((Level of Flame Strike for FlameStrikeCaster)))) damage of attack type Spells and damage type Normal
Wait 0.02 seconds
Else - Actions
Do nothing
Custom script: call RemoveLocation (udg_FlameStrikeCasterPoint)
Custom script: call RemoveLocation (udg_FlameStrikeEndPoint)
Custom script: call RemoveLocation (udg_FlameDummyCasterPoint)
Custom script: call RemoveRect(udg_FlameDummyCasterRegion)
Custom script: call RemoveRect(udg_FlameStrikeDummyRegion)
Unit Group - Remove all units from FlameStrikeGroup
Animation - Change FlameStrikeCaster's animation speed to 100.00% of its original speed
Unit - Unhide FlameStrikeCaster
Selection - Select FlameStrikeCaster for (Owner of FlameStrikeCaster)
Trigger - Turn off (This trigger)
Else - Actions
Do nothing