- Joined
- Jul 14, 2007
- Messages
- 713
Hello all, i dont normally have a problem with this spell. But it is quite old, so i thought i would go back to it on my computer and try and make it better.
So its Blink Strike (an old concept i know)
Basically Deals 150 base damge + 15 x (level of ability)
Level 1 - Attacks one unit
Level 2 - Attacks two units
Level 3 - Attacks three units
So i have made the trigger, and it runs smoothly, but the problem i get is it doesn't seem to be able to be casted again once it has been cast.
Here are the triggers...
So its Blink Strike (an old concept i know)
Basically Deals 150 base damge + 15 x (level of ability)
Level 1 - Attacks one unit
Level 2 - Attacks two units
Level 3 - Attacks three units
So i have made the trigger, and it runs smoothly, but the problem i get is it doesn't seem to be able to be casted again once it has been cast.
Here are the triggers...
-
Blink Strike
-

Events
-


Unit - A unit Begins casting an ability
-
-

Conditions
-


(Ability being cast) Equal to Blink Strike
-
-

Actions
-


-------- --------
-


-------- VARIABLE START --------
-


Set Key = (Custom value of (Triggering unit))
-


Set SpellIndex = (SpellIndex + 1)
-


Set Caster[Key] = (Triggering unit)
-


Set Target[Key] = (Target unit of ability being cast)
-


Set SpellPower[Key] = (Level of Blink Strike for Caster[Key])
-


Set Damage[Key] = ((15.00 x (Real(SpellPower[Key]))) + 150.00)
-


Set Angle[Key] = (Random angle)
-


Set Distance[Key] = 0.00
-


Set SpellRan[Key] = True
-


Set BS_LoopStrikes[Key] = 0
-


Set BS_MaxLoopStrikes[Key] = SpellPower[Key]
-


Unit Group - Add Caster[Key] to SpellGroup
-


-------- --------
-


-------- VARIABLE FINISH --------
-


Trigger - Turn on Blink Strike loop <gen>
-
-
-
Blink Strike loop
-

Events
-


Time - Every 0.20 seconds of game time
-
-

Conditions
-

Actions
-


Unit Group - Pick every unit in SpellGroup and do (Actions)
-



Loop - Actions
-




Set TempKey = (Custom value of (Picked unit))
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






SpellRan[TempKey] Equal to True
-
-





Then - Actions
-






If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








BS_LoopStrikes[TempKey] Less than BS_MaxLoopStrikes[TempKey]
-
-







Then - Actions
-








Set BS_LoopStrikes[TempKey] = (BS_LoopStrikes[TempKey] + 1)
-








Set TempPoint = (Position of Target[TempKey])
-








Set TempPoint2 = (TempPoint offset by Distance[TempKey] towards Angle[TempKey] degrees)
-








-------- Effects --------
-








Set TempPoint3 = (Position of Caster[TempKey])
-








Special Effect - Create a special effect at TempPoint3 using BS_Effects[1]
-








Special Effect - Destroy (Last created special effect)
-








Special Effect - Create a special effect at TempPoint3 using BS_Effects[2]
-








Special Effect - Destroy (Last created special effect)
-








Custom script: call RemoveLocation(udg_TempPoint3)
-








-------- Move Unit --------
-








Unit - Move Caster[TempKey] instantly to TempPoint2, facing TempPoint
-








Animation - Play Caster[TempKey]'s attack animation
-








Unit - Cause Caster[TempKey] to damage Target[TempKey], dealing Damage[TempKey] damage of attack type Spells and damage type Normal
-








-------- Effects --------
-








Set TempPoint3 = (Position of Caster[TempKey])
-








Special Effect - Create a special effect at TempPoint3 using BS_Effects[1]
-








Special Effect - Destroy (Last created special effect)
-








Special Effect - Create a special effect at TempPoint3 using BS_Effects[2]
-








Special Effect - Destroy (Last created special effect)
-








-------- Set Next Unit --------
-








Set TempGroup = (Units within 500.00 of TempPoint3 matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is Magic Immune) Not equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Caster[Key])) Equal to True) and ((((Matching
-








If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-









If - Conditions
-










(TempGroup is empty) Equal to True
-
-









Then - Actions
-










Custom script: call RemoveLocation(udg_TempPoint)
-










Custom script: call RemoveLocation(udg_TempPoint2)
-










Custom script: call RemoveLocation(udg_TempPoint3)
-










Custom script: call DestroyGroup(udg_TempGroup)
-










Set SpellRan[TempKey] = False
-










Unit Group - Remove Caster[TempKey] from SpellGroup
-










Set SpellIndex = (SpellIndex - 1)
-










If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-











If - Conditions
-












SpellIndex Equal to 0
-
-











Then - Actions
-












Trigger - Turn off (This trigger)
-












If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-













If - Conditions
-














(SpellGroup is empty) Equal to True
-
-













Then - Actions
-














Custom script: call DestroyGroup(udg_SpellGroup)
-
-













Else - Actions
-
-
-











Else - Actions
-
-
-









Else - Actions
-
-








Set Target[TempKey] = (Random unit from TempGroup)
-








Custom script: call RemoveLocation(udg_TempPoint)
-








Custom script: call RemoveLocation(udg_TempPoint2)
-








Custom script: call RemoveLocation(udg_TempPoint3)
-








Custom script: call DestroyGroup(udg_TempGroup)
-
-







Else - Actions
-








Set SpellRan[TempKey] = False
-








Unit Group - Remove Caster[TempKey] from SpellGroup
-








Set SpellIndex = (SpellIndex - 1)
-








If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-









If - Conditions
-










SpellIndex Equal to 0
-
-









Then - Actions
-










Trigger - Turn off (This trigger)
-










If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-











If - Conditions
-












(SpellGroup is empty) Equal to True
-
-











Then - Actions
-












Custom script: call DestroyGroup(udg_SpellGroup)
-
-











Else - Actions
-
-
-









Else - Actions
-
-
-
-
-





Else - Actions
-
-
-
-
-




