I created a simple dash spell which pushes the caster 400 units in the direction it is facing, while also damaging all enemy units the caster passes through. One issue that I can't determine the cause of keeps pushing the caster endlessly forward. Can someone help me see where & why?
-
Cast
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to Shoulder Charge
-
-
Actions
-
Set Caster = (Casting unit)
-
Set Cast_Point = (Position of Caster)
-
Set End_Point = (Cast_Point offset by 400.00 towards (Facing of Caster) degrees)
-
Set Distance = (Distance between Cast_Point and End_Point)
-
Unit - Turn collision for Caster Off
-
Special Effect - Create a special effect attached to the weapon of Caster using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl
-
Set Charge_Effect = (Last created special effect)
-
Trigger - Turn on Charge Movement <gen>
-
-
-
Charge Movement
-
Events
-
Time - Every 0.01 seconds of game time
-
-
Conditions
-
Actions
-
Set Distance = (Distance - 16.00)
-
Unit Group - Pick every unit in (Units within 200.00 of (Position of Caster)) 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 Caster)) Equal to True
-
((Picked unit) is alive) Equal to True
-
((Picked unit) is in Charge_Targets) Equal to False
-
-
Then - Actions
-
Unit Group - Add (Picked unit) to Charge_Targets
-
Unit - Cause Caster to damage (Picked unit), dealing 350.00 damage of attack type Spells and damage type Normal
-
Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Weapons\Bolt\BoltImpact.mdl
-
Special Effect - Destroy (Last created special effect)
-
-
Else - Actions
-
Do nothing
-
-
-
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Distance Equal to 0.00
-
-
Then - Actions
-
Unit - Turn collision for Caster On
-
Special Effect - Destroy Charge_Effect
-
Unit Group - Remove all units from Charge_Targets
-
Set Distance = 0.00
-
Trigger - Turn off (This trigger)
-
-
Else - Actions
-
Unit - Move Caster instantly to (Cast_Point offset by (400.00 - Distance) towards (Facing of Caster) degrees)
-
-
-
-