- Joined
- Jul 19, 2007
- Messages
- 931
I have imported the Dota Windrunners "Powershot" ability to my map from a spellpack and it seems like it stops working after I used it 2-3 times. Nothing is happening and I don't know why. Also I would like to increase the range the arrow travels to 2600 range. Anyone can help me?
-
Powershot Casting
-

Events
-


Unit - A unit Begins casting an ability
-
-

Conditions
-


(Ability being cast) Equal to Powershot
-
-

Actions
-


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



If - Conditions
-




PowerInstances Greater than or equal to 1000
-
-



Then - Actions
-




Set VariableSet FocusFireTargets = 0
-
-



Else - Actions
-
-


Set VariableSet PowerCasterPosition = (Position of (Triggering unit))
-


Set VariableSet PowerTargetPoint = (Target point of ability being cast)
-


Set VariableSet PowerAngle[PowerInstances] = (Angle from PowerCasterPosition to PowerTargetPoint)
-


Animation - Change (Triggering unit)'s animation speed to 80.00% of its original speed
-


Unit - Set the custom value of (Triggering unit) to PowerInstances
-


Countdown Timer - Start PowerTimer[PowerInstances] as a One-shot timer that will expire in 1.00 seconds
-


Set VariableSet PowerInstances = (PowerInstances + 1)
-


Custom script: call RemoveLocation(udg_PowerCasterPosition)
-


Custom script: call RemoveLocation(udg_PowerTargetPoint)
-
-
-
Powershot Shoot
-

Events
-


Unit - A unit Stops casting an ability
-
-

Conditions
-


(Ability being cast) Equal to Powershot
-
-

Actions
-


Animation - Change (Triggering unit)'s animation speed to 100.00% of its original speed
-


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



If - Conditions
-




(Elapsed time for PowerTimer[(Custom value of (Triggering unit))]) Greater than 0.30
-
-



Then - Actions
-




Set VariableSet PowerCasterPosition2 = (Position of (Triggering unit))
-




Unit - Create 1 Powershot Dummy for (Owner of (Triggering unit)) at PowerCasterPosition2 facing PowerAngle[(Custom value of (Triggering unit))] degrees
-




Unit - Add a 0.60 second Generic expiration timer to (Last created unit)
-




Unit - Set the custom value of (Last created unit) to (Custom value of (Triggering unit))
-




Unit Group - Add (Last created unit) to PowerGroup
-




Set VariableSet PowerDamage[(Custom value of (Triggering unit))] = ((40.00 + (80.00 x (Real((Level of Powershot for (Triggering unit)))))) x (Elapsed time for PowerTimer[(Custom value of (Triggering unit))]))
-




Set VariableSet PowerSpeed[(Custom value of (Triggering unit))] = 90.00
-




Unit - Set the custom value of (Triggering unit) to 0
-




Custom script: call RemoveLocation(udg_PowerCasterPosition2)
-
-



Else - Actions
-
-
-
-
Powershot Arrow
-

Events
-


Time - Every 0.03 seconds of game time
-
-

Conditions
-

Actions
-


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



Loop - Actions
-




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





If - Conditions
-






((Picked unit) is alive) Equal to True
-
-





Then - Actions
-






Set VariableSet PowerArrow = (Picked unit)
-






Set VariableSet PowerPosition = (Position of PowerArrow)
-






Set VariableSet PowerCustomValue = (Custom value of (Picked unit))
-






Special Effect - Create a special effect at PowerPosition using Tornado.mdx
-






Special Effect - Destroy (Last created special effect)
-






Set VariableSet PowerDamageArea = (Units within 150.00 of PowerPosition matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) belongs to an enemy of (Owner of (Picked unit)).) Equal to True) and (((Matching unit) Not equal to (Picked unit)) and ((((Matching unit)
-






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







Loop - Actions
-








Unit Group - Add (Picked unit) to PowerDamagedTargets[PowerCustomValue]
-








Unit - Cause PowerArrow to damage (Picked unit), dealing PowerDamage[PowerCustomValue] damage of attack type Hero and damage type Magic
-








Set VariableSet PowerDamage[PowerCustomValue] = (PowerDamage[PowerCustomValue] x 0.90)
-








Set VariableSet PowerSpeed[PowerCustomValue] = (PowerSpeed[PowerCustomValue] x 0.90)
-
-
-






Set VariableSet PowerPosition2 = (PowerPosition offset by PowerSpeed[PowerCustomValue] towards (Facing of (Picked unit)) degrees.)
-






Unit - Move (Picked unit) instantly to PowerPosition2
-






Custom script: call RemoveLocation(udg_PowerPosition)
-






Custom script: call RemoveLocation(udg_PowerPosition2)
-






Custom script: call DestroyGroup(udg_PowerDamageArea)
-
-





Else - Actions
-






Set VariableSet PowerCustomValue = (Custom value of (Picked unit))
-






Custom script: call DestroyGroup(udg_PowerDamagedTargets[udg_PowerCustomValue])
-






Unit Group - Remove (Picked unit) from PowerGroup.
-
-
-
-
-
-


