Moderator
M
Moderator
Maker, Delta Strike v1.0, 23rd Sep 2011
Approved.
Spell Descriptions![]()
Descriptions![]()
Pause the target unit and slash the target unit with triangle shape.Each slash deals damage,last strike deals AoE damage,total 4 strike,regeneration 100 hit points and mana when striking.
Level 1 - Deals 100 damage each strike.
Level 2 - Deals 200 damage each strike.
Level 3 - Deals 300 damage each strike.Changelog
Delta Strike v1.0 = UploadedTriggers
DS Cast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Delta Strike
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DS_IndexSize Equal to 0
Then - Actions
Trigger - Turn on DS Loop <gen>
Else - Actions
Set DS_IndexSize = (DS_IndexSize + 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DS_IndexSize Greater than DS_IndexMaxSize
Then - Actions
Set DS_Index[DS_IndexSize] = DS_IndexSize
Set DS_IndexMaxSize = DS_IndexSize
Else - Actions
Set DS_TempInt = DS_Index[DS_IndexSize]
Set DS_Caster[DS_TempInt] = (Triggering unit)
Set DS_Damage[DS_TempInt] = (100.00 x (Real((Level of Delta Strike for DS_Caster[DS_TempInt]))))
Set DS_TargetUnit[DS_TempInt] = (Target unit of ability being cast)
Set DS_Check1[DS_TempInt] = False
Set DS_SlashTime1[DS_TempInt] = 50.00
Set DS_SlashTime2[DS_TempInt] = 0.00
Set DS_SlashTime3[DS_TempInt] = 0.00
Set DS_SlashTime4[DS_TempInt] = 0.00
Set DS_SlashTime5[DS_TempInt] = 100.00
Set DS_SlashTime6[DS_TempInt] = 0.00
Set DS_Location1 = (Position of DS_TargetUnit[DS_TempInt])
Set DS_Points[DS_TempInt] = (Position of DS_TargetUnit[DS_TempInt])
Set DS_Boolean[DS_TempInt] = True
Set DS_Boolean1[DS_TempInt] = False
Set DS_Boolean2[DS_TempInt] = False
Set DS_Boolean3[DS_TempInt] = False
Lightning - Create a Drain Life lightning effect from source DS_Location1 to target DS_Location1
Set DS_LightningEffect1[DS_TempInt] = (Last created lightning effect)
Lightning - Change color of DS_LightningEffect1[DS_TempInt] to (1.00 0.00 0.00) with 1.00 alpha
Lightning - Create a Drain Life lightning effect from source DS_Location1 to target DS_Location1
Set DS_LightningEffect2[DS_TempInt] = (Last created lightning effect)
Lightning - Create a Drain Mana lightning effect from source DS_Location1 to target DS_Location1
Set DS_LightningEffect3[DS_TempInt] = (Last created lightning effect)
Unit - Pause DS_Caster[DS_TempInt]
Unit - Pause DS_TargetUnit[DS_TempInt]
Special Effect - Create a special effect attached to the weapon of DS_Caster[DS_TempInt] using Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
Set DS_SpecialEffect[DS_TempInt] = (Last created special effect)
Custom script: call RemoveLocation(udg_DS_Location1)
DS Loop
Events
Time - Every 0.03 seconds of game time
Conditions
Actions
For each (Integer DS_IndexLoop) from 1 to DS_IndexSize, do (Actions)
Loop - Actions
Set DS_TempInt = DS_Index[DS_IndexLoop]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(DS_Caster[DS_TempInt] is alive) Equal to True
(DS_TargetUnit[DS_TempInt] is alive) Equal to True
DS_Check1[DS_TempInt] Equal to False
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DS_SlashTime1[DS_TempInt] Greater than or equal to DS_SlashTime2[DS_TempInt]
Then - Actions
Set DS_Location1 = (DS_Points[DS_TempInt] offset by 300.00 towards 50.00 degrees)
Set DS_SlashTime2[DS_TempInt] = (DS_SlashTime2[DS_TempInt] + 5.00)
Unit - Move DS_Caster[DS_TempInt] instantly to DS_Location1
Custom script: call RemoveLocation(udg_DS_Location1)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DS_SlashTime1[DS_TempInt] Greater than or equal to DS_SlashTime3[DS_TempInt]
Then - Actions
Set DS_Location1 = (DS_Points[DS_TempInt] offset by 300.00 towards 180.00 degrees)
Set DS_Location2 = (DS_Points[DS_TempInt] offset by 300.00 towards 50.00 degrees)
Set DS_SlashTime3[DS_TempInt] = (DS_SlashTime3[DS_TempInt] + 5.00)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DS_Boolean1[DS_TempInt] Equal to False
Then - Actions
Set DS_Boolean1[DS_TempInt] = True
Unit - Cause DS_Caster[DS_TempInt] to damage DS_TargetUnit[DS_TempInt], dealing DS_Damage[DS_TempInt] damage of attack type Spells and damage type Normal
Animation - Play DS_Caster[DS_TempInt]'s attack animation
Else - Actions
Unit - Move DS_Caster[DS_TempInt] instantly to DS_Location1, facing 220.00 degrees
Lightning - Move DS_LightningEffect1[DS_TempInt] to source DS_Location1 and target DS_Location2
Custom script: call RemoveLocation(udg_DS_Location1)
Custom script: call RemoveLocation(udg_DS_Location2)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DS_SlashTime1[DS_TempInt] Greater than or equal to DS_SlashTime4[DS_TempInt]
Then - Actions
Set DS_Location1 = (DS_Points[DS_TempInt] offset by 300.00 towards 320.00 degrees)
Set DS_Location2 = (DS_Points[DS_TempInt] offset by 300.00 towards 180.00 degrees)
Set DS_SlashTime4[DS_TempInt] = (DS_SlashTime4[DS_TempInt] + 5.00)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DS_Boolean2[DS_TempInt] Equal to False
Then - Actions
Set DS_Boolean2[DS_TempInt] = True
Unit - Cause DS_Caster[DS_TempInt] to damage DS_TargetUnit[DS_TempInt], dealing DS_Damage[DS_TempInt] damage of attack type Spells and damage type Normal
Animation - Play DS_Caster[DS_TempInt]'s attack animation
Unit - Set life of DS_Caster[DS_TempInt] to ((Life of DS_Caster[DS_TempInt]) + 100.00)
Else - Actions
Unit - Move DS_Caster[DS_TempInt] instantly to DS_Location1, facing 320.00 degrees
Lightning - Move DS_LightningEffect2[DS_TempInt] to source DS_Location1 and target DS_Location2
Custom script: call RemoveLocation(udg_DS_Location1)
Custom script: call RemoveLocation(udg_DS_Location2)
Else - Actions
Set DS_Location1 = (DS_Points[DS_TempInt] offset by 300.00 towards 50.00 degrees)
Set DS_Location2 = (DS_Points[DS_TempInt] offset by 300.00 towards 320.00 degrees)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DS_Boolean3[DS_TempInt] Equal to False
Then - Actions
Set DS_Boolean3[DS_TempInt] = True
Unit - Cause DS_Caster[DS_TempInt] to damage DS_TargetUnit[DS_TempInt], dealing DS_Damage[DS_TempInt] damage of attack type Spells and damage type Normal
Animation - Play DS_Caster[DS_TempInt]'s attack animation
Unit - Set mana of DS_Caster[DS_TempInt] to ((Mana of DS_Caster[DS_TempInt]) + 100.00)
Else - Actions
Unit - Move DS_Caster[DS_TempInt] instantly to DS_Location1
Lightning - Move DS_LightningEffect3[DS_TempInt] to source DS_Location1 and target DS_Location2
Set DS_Check1[DS_TempInt] = True
Custom script: call RemoveLocation(udg_DS_Location1)
Custom script: call RemoveLocation(udg_DS_Location2)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DS_Boolean[DS_TempInt] Equal to True
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DS_SlashTime5[DS_TempInt] Greater than or equal to DS_SlashTime6[DS_TempInt]
Then - Actions
Set DS_SlashTime6[DS_TempInt] = (DS_SlashTime6[DS_TempInt] + 5.00)
Else - Actions
Animation - Play DS_Caster[DS_TempInt]'s slam animation
Unit - Unpause DS_TargetUnit[DS_TempInt]
Unit - Unpause DS_Caster[DS_TempInt]
Unit - Move DS_Caster[DS_TempInt] instantly to DS_Points[DS_TempInt]
Special Effect - Create a special effect at DS_Points[DS_TempInt] using Abilities\Spells\Other\Doom\DoomDeath.mdl
Special Effect - Destroy (Last created special effect)
Custom script: set bj_wantDestroyGroup=true
Unit Group - Pick every unit in (Units within 250.00 of DS_Points[DS_TempInt] matching ((((Matching unit) belongs to an enemy of (Owner of DS_Caster[DS_TempInt])) Equal to True) and ((((Matching unit) is Magic Immune) Not equal to True) and ((((Matching unit) is A structure) Not equal to Tr and do (Actions)
Loop - Actions
Unit - Cause DS_Caster[DS_TempInt] to damage (Picked unit), dealing DS_Damage[DS_TempInt] damage of attack type Spells and damage type Normal
Lightning - Destroy DS_LightningEffect1[DS_TempInt]
Lightning - Destroy DS_LightningEffect2[DS_TempInt]
Lightning - Destroy DS_LightningEffect3[DS_TempInt]
Special Effect - Destroy DS_SpecialEffect[DS_TempInt]
Set DS_Boolean[DS_TempInt] = False
Custom script: call RemoveLocation(udg_DS_Points[udg_DS_TempInt])
Set DS_Index[DS_IndexLoop] = DS_Index[DS_IndexSize]
Set DS_Index[DS_IndexSize] = DS_TempInt
Set DS_IndexLoop = (DS_IndexLoop - 1)
Set DS_IndexSize = (DS_IndexSize - 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DS_IndexSize Equal to 0
Then - Actions
Trigger - Turn off (This trigger)
Else - Actions
Else - Actions
Import Spell
Step 1: Copy the category of Delta Strike and paste to your map.
Step 2: Copy the ability of Delta Strike and paste to your map.
Step 3: CompletedCredits
Big thanks for mckill2009 help me fix the bugs.
Thanks for CRAZYRUSSIAN of the delta strike icon.