I made a Leap ability based from abilities with no target and does not interrupt orders and has 0 casting time. (Fan of Knives, Wind Walk, Berserk, etc.)
It moves the caster x units towards facing direction every fraction of a second for y seconds.
Crow form is added and removed to perform the fly trick.
When leap starts, collision is off.
When leap ends, collision is on.
Fly height is varied every fraction of a second for a smooth flight path.
All i want:
1) I want my Leap to move the caster across impassable terrain such as cliffs, doodads, units.
2) I want my Leap ability to dodge missiles from Storm Bolts, etc. and from normal attacks that are already launched. (If a unit manages to cast a Storm Bolt during the Leap, it should hit.)
3) The base ability should not interrupt orders, and has no casting time. (Fan of Knives, Berserk, etc.)
4) I'm just a starter so GUI please.
I made a few tests:
Wind Walk as base allows Leap to do 2) but not 1).
Fan of Knives, Berserk, Divine Shield, etc. as base allows Leap to do 1) but not 2).
If I use Fan of Knives, Berserk, etc., as base and give a tome that grants 0.01 Wind Walk to the caster, it allows 2) but not 1).
It appears that the Storm Crow Form trick doesn't work with Wind-walked units.
Please enlighten me.
Is it possible to do all 1-4? and how?
Here are my Leap triggers so far:
It moves the caster x units towards facing direction every fraction of a second for y seconds.
Crow form is added and removed to perform the fly trick.
When leap starts, collision is off.
When leap ends, collision is on.
Fly height is varied every fraction of a second for a smooth flight path.
All i want:
1) I want my Leap to move the caster across impassable terrain such as cliffs, doodads, units.
2) I want my Leap ability to dodge missiles from Storm Bolts, etc. and from normal attacks that are already launched. (If a unit manages to cast a Storm Bolt during the Leap, it should hit.)
3) The base ability should not interrupt orders, and has no casting time. (Fan of Knives, Berserk, etc.)
4) I'm just a starter so GUI please.
I made a few tests:
Wind Walk as base allows Leap to do 2) but not 1).
Fan of Knives, Berserk, Divine Shield, etc. as base allows Leap to do 1) but not 2).
If I use Fan of Knives, Berserk, etc., as base and give a tome that grants 0.01 Wind Walk to the caster, it allows 2) but not 1).
It appears that the Storm Crow Form trick doesn't work with Wind-walked units.
Please enlighten me.
Is it possible to do all 1-4? and how?
Here are my Leap triggers so far:
Code:
Leap Cast
Events
Unit - A unit Begins casting an ability
Conditions
(Ability being cast) Equal to ThirdSkillArray[5]
Actions
Unit Group - Add (Triggering unit) to LeapingGroup
Countdown Timer - Start LeapCountdown[(Player number of (Owner of (Triggering unit)))] as a One-shot timer that will expire in 1.00 seconds
Unit - Turn collision for (Triggering unit) Off
Unit - Add Storm Crow Form to (Triggering unit)
Unit - Remove Storm Crow Form from (Triggering unit)
Code:
Leaping Periodic
Events
Time - Every 0.03 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in LeapingGroup and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Remaining time for LeapCountdown[(Player number of (Picked player))]) Greater than 0.40
Then - Actions
Set Temp_Point = (Position of (Picked unit))
Set Temp_Point2 = (Temp_Point offset by (510.00 + (60.00 x (Real((Level of ThirdSkillArray[5] for (Picked unit)))))) towards (Facing of (Picked unit)) degrees)
Set Temp_Point3 = (Temp_Point offset by ((Distance between Temp_Point and Temp_Point2) / 20.00) towards (Angle from Temp_Point to Temp_Point2) degrees)
Set Temp_Point4 = (Temp_Point offset by 100.00 towards (Angle from Temp_Point to Temp_Point2) degrees)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Terrain type at Temp_Point4) Not equal to Sunken Ruins - Dark Grass
Then - Actions
Unit - Move (Picked unit) instantly to Temp_Point3
Else - Actions
Set Altitude = (225.00 - (Power((15.00 - (50.00 x (Elapsed time for LeapCountdown[(Player number of (Owner of (Picked unit)))]))), 2.00)))
Animation - Change (Picked unit) flying height to Altitude at 0.00
Custom script: call RemoveLocation (udg_Temp_Point)
Custom script: call RemoveLocation (udg_Temp_Point2)
Custom script: call RemoveLocation (udg_Temp_Point3)
Custom script: call RemoveLocation (udg_Temp_Point4)
Else - Actions
Animation - Change (Picked unit) flying height to 0.00 at 0.00
Unit - Turn collision for (Picked unit) On
Unit Group - Remove (Picked unit) from LeapingGroup