Hate to ask, but might I get a second pair of eyes to find where the issue is in this? Hate to ask, thought I could do it, but no matter where I look I cannot spot the fault. Maybe none and it's just a limitation I don't know. Idk...
Essentially it is a custom spell made from channel that jumps in the direction of the target point, then damages the first target/targets it hits along the way. It was checking for closest enemy before, but I simplified it to only check all units in the area and damage them before turning off the ability to do damage with Booleans; so it doesn't damage anymore along its way.
The problem is that sometimes, it literally just jumps over the unit and never deals damage...
This is my first adventure into custom spells, and I thought I had it all on my own, but apparently im missing something...
This begins the ability. Sets values and all that.
Essentially it is a custom spell made from channel that jumps in the direction of the target point, then damages the first target/targets it hits along the way. It was checking for closest enemy before, but I simplified it to only check all units in the area and damage them before turning off the ability to do damage with Booleans; so it doesn't damage anymore along its way.
The problem is that sometimes, it literally just jumps over the unit and never deals damage...
This is my first adventure into custom spells, and I thought I had it all on my own, but apparently im missing something...
This begins the ability. Sets values and all that.
-
Begin Leap
-

Events
-


Unit - A unit Starts the effect of an ability
-
-

Conditions
-


(Ability being cast) Equal to Panther Leap [Huntress]
-
-

Actions
-


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


-------- Set Variables --------
-


Set VariableSet Abilities_CastingUnit = (Casting unit)
-


Set VariableSet Abilities_Loc00 = (Position of Abilities_CastingUnit)
-


Set VariableSet Abilities_Real00 = (Angle from (Position of Abilities_CastingUnit) to (Target point of ability being cast))
-


Set VariableSet Abilities_Real01 = 400.00
-


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


-------- Prepare and then start leap --------
-


Unit - Make Abilities_CastingUnit face Abilities_Real00 over 0.02 seconds
-


Unit - Turn collision for Abilities_CastingUnit Off.
-


Trigger - Turn on Leap <gen>
-


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


-------- Add flight and begin leaping into air. --------
-


Unit - Add Crow Form [Adds Flying then removed as no longer is needed] to Abilities_CastingUnit
-


Unit - Remove Crow Form [Adds Flying then removed as no longer is needed] from Abilities_CastingUnit
-


Animation - Change Abilities_CastingUnit flying height to 150.00 at 300.00
-
-
-
Leap
-

Events
-


Time - Every 0.03 seconds of game time
-
-

Conditions
-

Actions
-


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


-------- Set Variables --------
-


Set VariableSet Abilities_Loc01 = ((Position of Abilities_CastingUnit) offset by 30.00 towards Abilities_Real00 degrees.)
-


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


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


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


Unit - Move Abilities_CastingUnit instantly to Abilities_Loc01
-


Animation - Play Abilities_CastingUnit's Walk animation
-


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


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


-------- Checks for closest enemy to deal damage to. --------
-


Set VariableSet Abilities_Real02 = 80.00
-


Set VariableSet Abilities_UnitGroup00 = (Units within Abilities_Real02 of Abilities_Loc01.)
-


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



Loop - Actions
-




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





If - Conditions
-






Abilities_Bool00 Equal to False
-






((Picked unit) is A structure) Equal to False
-






((Picked unit) belongs to an enemy of (Owner of Abilities_CastingUnit).) Equal to True
-
-





Then - Actions
-






Set VariableSet Abilities_Bool00 = True
-






Unit - Cause Abilities_CastingUnit to damage (Picked unit), dealing 500.00 damage of attack type Spells and damage type Normal
-
-





Else - Actions
-
-
-
-


Custom script: call DestroyGroup (udg_Abilities_UnitGroup00)
-


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


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


-------- Lower unit back to ground --------
-


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



If - Conditions
-




(Distance between Abilities_Loc00 and Abilities_Loc01) Greater than or equal to (Abilities_Real01 / 2.00)
-
-



Then - Actions
-




Animation - Change Abilities_CastingUnit flying height to 0.00 at 300.00
-
-



Else - Actions
-




Do nothing
-
-
-


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


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


-------- Finished Leaping --------
-


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



If - Conditions
-




(Distance between Abilities_Loc00 and Abilities_Loc01) Greater than or equal to Abilities_Real01
-
-



Then - Actions
-




Set VariableSet Abilities_Bool00 = False
-




Unit - Turn collision for Abilities_CastingUnit On.
-




Custom script: call RemoveLocation(udg_Abilities_Loc00)
-




Custom script: call RemoveLocation(udg_Abilities_Loc01)
-




Trigger - Turn off (This trigger)
-
-



Else - Actions
-




Custom script: call RemoveLocation(udg_Abilities_Loc01)
-
-
-
-

