Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
The unit leaps facing to the point you're moving, not your face angle, so you can do some ninja jumps.
There are two kinds of bouncing jumps, one that goes up and help you at climbing, and the other which makes you re-jump to the place you right click, but from a higher place, making you go further.
I recommend start testing with a level 2 leap, it's kinda hard to handle.
Also, if you try to jump over a really high cliff, you will be sent back.
I would keep explaining how to control it, but i'd rather let you have some fun.
v0.01 Initial release
v0.07 Now you can't get stuck on cliffs
v0.09 Overall update, mana cost added
-------- Before bouncing: Real Speed per second = LeapSpeed x 33.33 ------- After bouncing: Real Speed per second = ( LeapSpeed / ( JumpRateBounce / 2 ) ) x 33.33 --------
Hashtable - Save Handle OfLeapPoint as (Key position) of LeapHandle in LeapHash
Unit - Order LeapUnit to Stop
Hashtable - Save Handle OfLeapPoint as (Key position) of LeapHandle in LeapHash
Custom script: set udg_LeapZOffset = GetLocationZ(udg_LeapPoint)
Hashtable - Save LeapZOffset as (Key zoffsetbase) of LeapHandle in LeapHash
Hashtable - Save (LeapBaseDistance + (LeapDistancePerLevel x (Real((Level of Leap for LeapUnit))))) as (Key leapdistance) of LeapHandle in LeapHash
Hashtable - Save (Load (Key leapdistance) of LeapHandle from LeapHash) as (Key leapbasedistance) of LeapHandle in LeapHash
Hashtable - Save 0.00 as (Key distance) of LeapHandle in LeapHash
Hashtable - Save LeapSpeed as (Key basespeed) of LeapHandle in LeapHash
Hashtable - Save LeapSpeed as (Key speed) of LeapHandle in LeapHash
Hashtable - Save LeapJumpRate as (Key basejumprate) of LeapHandle in LeapHash
Hashtable - Save LeapJumpRate as (Key jumprate) of LeapHandle in LeapHash
Hashtable - Save False as (Key jumpback) of LeapHandle in LeapHash
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Load (Key underorder) of LeapHandle from LeapHash) Equal to True
Then - Actions
Set LeapPoint = (Point((Load (Key orderpointX) of LeapHandle from LeapHash), (Load (Key orderpointY) of LeapHandle from LeapHash)))
Hashtable - Save (Angle from (Load (Key position) of LeapHandle in LeapHash) to LeapPoint) as (Key angle) of LeapHandle in LeapHash
Else - Actions
Hashtable - Save (Facing of LeapUnit) as (Key angle) of LeapHandle in LeapHash
Hashtable - Save False as (Key underorder) of LeapHandle in LeapHash
Hashtable - Save ((((-1.00 x LeapJumpRate) / (Load (Key leapdistance) of LeapHandle from LeapHash)) x (Power(((Load (Key leapdistance) of LeapHandle from LeapHash) / 2.00), 2.00))) + (LeapJumpRate x ((Load (Key leapdistance) of LeapHandle from LeapHash) / 2.00))) as (Key heightbounce) of LeapHandle in LeapHash
Hashtable - Save True as (Key bounce) of LeapHandle in LeapHash
Custom script: if UnitAddAbility(udg_LeapUnit,'Amrf') then
Unit Group - Pick every unit in LeapGP and do (Actions)
Loop - Actions
Set LeapUnit = (Picked unit)
Unit - Turn collision for LeapUnit Off
Set LeapHandle = (Key (Picked unit))
Set LeapPoint1 = (Position of LeapUnit)
Set LeapPoint = (LeapPoint1 offset by (Load (Key speed) of LeapHandle from LeapHash) towards (Load (Key angle) of LeapHandle from LeapHash) degrees)
Hashtable - Save Handle OfLeapPoint as (Key nextposition) of LeapHandle in LeapHash
Hashtable - Save ((Load (Key distance) of LeapHandle from LeapHash) + (Load (Key speed) of LeapHandle from LeapHash)) as (Key distance) of LeapHandle in LeapHash
Hashtable - Save ((((-1.00 x (Load (Key jumprate) of LeapHandle from LeapHash)) / (Load (Key leapdistance) of LeapHandle from LeapHash)) x (Power((Load (Key distance) of LeapHandle from LeapHash), 2.00))) + ((Load (Key jumprate) of LeapHandle from LeapHash) x (Load (Key dista as (Key height) of LeapHandle in LeapHash
Hashtable - Save (((Load (Key distance) of LeapHandle from LeapHash) x 100.00) / (Load (Key leapdistance) of LeapHandle from LeapHash)) as (Key parabola) of LeapHandle in LeapHash
Custom script: set udg_LeapZOffset = GetLocationZ(udg_LeapPoint)
Hashtable - Save LeapZOffset as (Key zoffsetnp) of LeapHandle in LeapHash
Hashtable - Save ((Load (Key zoffsetnp) of LeapHandle from LeapHash) - (Load (Key zoffsetbase) of LeapHandle from LeapHash)) as (Key zoffset) of LeapHandle in LeapHash
Animation - Change LeapUnit flying height to ((Load (Key height) of LeapHandle from LeapHash) - (Load (Key zoffset) of LeapHandle from LeapHash)) at 0.00
Unit - Move LeapUnit instantly to (Load (Key nextposition) of LeapHandle in LeapHash), facing (Load (Key angle) of LeapHandle from LeapHash) degrees
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
(Terrain pathing at LeapPoint of type Walkability is off) Equal to True
And - All (Conditions) are true
Conditions
(Load (Key bounce) of LeapHandle from LeapHash) Equal to True
(Load (Key zoffsetnp) of LeapHandle from LeapHash) Greater than or equal to ((Load (Key heightbounce) of LeapHandle from LeapHash) + (Load (Key zoffsetbase) of LeapHandle from LeapHash))
((Load (Key height) of LeapHandle from LeapHash) - (Load (Key zoffset) of LeapHandle from LeapHash)) Less than or equal to 0.00
Special Effect - Create a special effect at LeapPoint using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl
Special Effect - Destroy (Last created special effect)
Hashtable - Save Handle OfLeapPoint as (Key position) of LeapHandle in LeapHash
Hashtable - Save 0.00 as (Key distance) of LeapHandle in LeapHash
Custom script: set udg_LeapZOffset = GetLocationZ(udg_LeapPoint)
Hashtable - Save LeapZOffset as (Key zoffsetbase) of LeapHandle in LeapHash
Set LeapPoint2 = ((Position of LeapUnit) offset by ((Load (Key leapbasedistance) of LeapHandle from LeapHash) x (LeapBounceRate / 8.00)) towards (Load (Key angle) of LeapHandle from LeapHash) degrees)
Custom script: set udg_LeapZOffset2 = GetLocationZ(udg_LeapPoint2)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
And - All (Conditions) are true
Conditions
(Load (Key saveorder) of LeapHandle from LeapHash) Equal to True
Then - Actions
Set LeapPoint = (Point((Load (Key orderpointX) of LeapHandle from LeapHash), (Load (Key orderpointY) of LeapHandle from LeapHash)))
Hashtable - Save (Angle from (Load (Key position) of LeapHandle in LeapHash) to LeapPoint) as (Key angle) of LeapHandle in LeapHash
Hashtable - Save (Load (Key basespeed) of LeapHandle from LeapHash) as (Key speed) of LeapHandle in LeapHash
Hashtable - Save (Load (Key basejumprate) of LeapHandle from LeapHash) as (Key jumprate) of LeapHandle in LeapHash
Hashtable - Save (Load (Key leapbasedistance) of LeapHandle from LeapHash) as (Key leapdistance) of LeapHandle in LeapHash
Hashtable - Save False as (Key saveorder) of LeapHandle in LeapHash
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
LeapZOffset2 Greater than or equal to (LeapZOffset + 50.00)
Then - Actions
Hashtable - Save True as (Key jumpback) of LeapHandle in LeapHash
Else - Actions
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Terrain pathing at LeapPoint2 of type Walkability is off) Equal to False
LeapZOffset2 Greater than or equal to (LeapZOffset + 50.00)
Then - Actions
Hashtable - Save ((Load (Key basespeed) of LeapHandle from LeapHash) / (LeapJumpRateBounce / 2.00)) as (Key speed) of LeapHandle in LeapHash
Hashtable - Save ((Load (Key basejumprate) of LeapHandle from LeapHash) x (LeapJumpRateBounce / 1.00)) as (Key jumprate) of LeapHandle in LeapHash
Hashtable - Save ((Load (Key leapbasedistance) of LeapHandle from LeapHash) x (LeapBounceRate / 2.00)) as (Key leapdistance) of LeapHandle in LeapHash
Hashtable - Save True as (Key jumpback) of LeapHandle in LeapHash
Else - Actions
Hashtable - Save ((Load (Key basespeed) of LeapHandle from LeapHash) / (LeapJumpRateBounce / 2.00)) as (Key speed) of LeapHandle in LeapHash
Hashtable - Save ((Load (Key basejumprate) of LeapHandle from LeapHash) x (LeapJumpRateBounce / 2.00)) as (Key jumprate) of LeapHandle in LeapHash
Hashtable - Save ((Load (Key leapbasedistance) of LeapHandle from LeapHash) x (LeapBounceRate / 1.33)) as (Key leapdistance) of LeapHandle in LeapHash
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Load (Key jumpback) of LeapHandle from LeapHash) Equal to True
Then - Actions
Hashtable - Save (Angle from LeapPoint2 to LeapPoint) as (Key angle) of LeapHandle in LeapHash
Hashtable - Save False as (Key jumpback) of LeapHandle in LeapHash
Else - Actions
Hashtable - Save True as (Key jumpback) of LeapHandle in LeapHash
You still have a lot of location leaks. Fix them.
I also added more issues to my last comment.
Leap 2.0 - v0.08 | Reviewed by Maker | 5th Aug 2013
NEEDS FIX
Use a variable for the ability
Use a proper way to give the unit the...
u have a ton of leaks in ur triggers.
anything used twice or more should be stored into a variable and the variable should be used to increase speed and efficiency
all the comments in the triggers make the code harder to read.
Leaks locations, they way you use the hashtable with the positions is not good
Don't submit v0.01 stuff [*]The unit can bounce back from hills created with apply height tool
[*]You can get stuck on cliffs when jumping from hills created with apply heigh tool
Set LeapPoint = (Position of (Picked unit) offset by (Load (Key speed) of LeapHandle from Hash) towards (Load (Key angle) of LeapHandle from Hash) degrees)
But now i use
Set LeapPoint1 = (Position of (Picked unit))
Set LeapPoint = (LeapPoint1 offset by (Load (Key speed) of LeapHandle from Hash) towards (Load (Key angle) of LeapHandle from Hash) degrees)
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.