Leap problem with Windwalk & Storm Crow Form

Maelbog

Member
Reaction score
3
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:

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
 

Maelbog

Member
Reaction score
3
Thanks for the reply. I don't want it to become invulnerable during the whole jump.
I still want the leaper to take damage when it leaps towards a Shockwave for example.

Solved!
I tried adding a 0.01 second wait before starting the rest of the actions and i get 1-4. :)
 

Maelbog

Member
Reaction score
3
Why don't you just use Blink?

Many reasons.
I want my hero to Leap the moment i press the skill's hot key with the least casting delay as possible. Therefore I'm limited to Fan of Knives, Berserk, and the like.

Blink requires you to target a point which I don't want for my Leap.
Also just like the other skills, Blink has a slight cast delay even if it's casting time is set to 0.
And i still don't have the knowledge to make the parabolic path of a jump from Blink.
 

Varine

And as the moon rises, we shall prepare for war
Reaction score
803
Yeah, it's true. There's probably a whole bunch of them on Hive. But, I usually make all my stuff myself so I don't have to share credit.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top