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!
Set Leap_Damage[Leap_Index_Temp] = ((1.00 x (Real((Agility of Leap_Caster[Leap_Index_Temp] (Include bonuses))))) x (Real((Level of (Ability being cast) for Leap_Caster[Leap_Index_Temp]))))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Leap_Range_Reached[Leap_Index_Temp] Less than or equal to Leap_Range_Half[Leap_Index_Temp]
Then - Actions
Set Leap_Height_Reached[Leap_Index_Temp] = (Leap_Height_Reached[Leap_Index_Temp] + Leap_Speed)
Else - Actions
Set Leap_Height_Reached[Leap_Index_Temp] = (Leap_Height_Reached[Leap_Index_Temp] - Leap_Speed)
Animation - Change Leap_Caster[Leap_Index_Temp] flying height to (((4.00 x Leap_Height) / Leap_Range[Leap_Index_Temp]) x ((Leap_Range[Leap_Index_Temp] - Leap_Range_Reached[Leap_Index_Temp]) x (Leap_Range_Reached[Leap_Index_Temp] / Leap_Range[Leap_Index_Temp]))) at 0.00
Special Effect - Create a special effect attached to the origin of Leap_Caster[Leap_Index_Temp] using Leap_Effect[2]
Special Effect - Destroy (Last created special effect)
Else - Actions
Set Leap_Caster_Loc = (Position of Leap_Caster[Leap_Index_Temp])
Special Effect - Create a special effect at Leap_Caster_Loc using Leap_Effect[4]
Special Effect - Destroy (Last created special effect)
Special Effect - Create a special effect at Leap_Caster_Loc using Leap_Effect[3]
Special Effect - Destroy (Last created special effect)
Set Leap_Range_Reached[Leap_Index_Temp] = 0.00
Set Leap_Boolean[Leap_Index_Temp] = False
Set Leap_Damage_Group = (Units within Leap_Damage_AoE[Leap_Index_Temp] of Leap_Caster_Loc)
Unit Group - Pick every unit in Leap_Damage_Group and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is A structure) Not equal to True
((Picked unit) is Magic Immune) Not equal to True
((Picked unit) is alive) Equal to True
((Picked unit) belongs to an enemy of (Owner of Leap_Caster[Leap_Index_Temp])) Equal to True
Then - Actions
Unit - Cause Leap_Caster[Leap_Index_Temp] to damage (Picked unit), dealing Leap_Damage[Leap_Index_Temp] damage of attack type Leap_Attack_Type and damage type Leap_Damage_Type
Special Effect - Create a special effect attached to the origin of (Picked unit) using Leap_Effect[3]
Special Effect - Destroy (Last created special effect)
Increase the loop by 0.03,this spell seems fine to me.
Also i forgot,put a configuration trigger
your arc sucks too.
Use this:
(((4xHeightBase)/MaxDistance)x((MaxDistance-Travelled)x(Travelled/Distance)))
In this case,the arc will be smooth
I have a cool suggestion for you to reduce the number of triggers.
When you change the period from 0.02 to 0.03, you can move the code inside your Leap Loop Anim trigger to the Leap Loop trigger, but you would have an integer called counter for the spell that would be incremented (increased by 1) inside the loop, and when (Counter Mod 5) equals 0, then set the animation of the caster.
This way, it will indeed only happen every 0.15 seconds
Also, you have several location/group leaks:
Set Leap_X = (X of ((Position of Leap_Caster[Leap_Integer[3]]) offset by Leap_Speed[Leap_Integer[3]] towards Leap_Angle degrees))
Set Leap_Y = (Y of ((Position of Leap_Caster[Leap_Integer[3]]) offset by Leap_Speed[Leap_Integer[3]] towards Leap_Angle degrees))
Set Leap_Loc = ((Position of Leap_Caster[Leap_Integer[3]]) offset by 15.00 towards Leap_Angle degrees)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Terrain pathing at Leap_Loc of type Flyability is off) Not equal to True
There are other leaks as well, such as the Leap_Damage_Group that never gets destroyed and this line:
Set Leap_Loc = ((Position of Leap_Caster[Leap_Integer[3]]) offset by 15.00 towards Leap_Angle degrees)
In the last Else code block of your Loop trigger.
Other improvements:
- Instead of using a rate of 1000000000.00 for the flying height change, use 0, because that's instant. 1000000000.00 isn't totally instant.
- You should make the Thunder Clap special effect configurable. You should also make the water elemental projectile effect configurable.
- Instead of setting all the constant variables like the special effects, the damage type, the attack type and all the other constants in the casting trigger, you should do it on map initialization. You don't need to use an arrayed variable to lookup the special effect used for example, you can do it from a constant variable that only gets set once.
So, Leap_Speed, Leap_Height, Leap_Range_Base, Leap_Range_Factor, Leap_Anim_Integer, Leap_Sfx_2, Leap_Sfx_3, Leap_Damage_AoE, Leap_Damage_Type_1 and Leap_Damage_Type_2 should all be changed to normal variables (not arrays) and be set on map initialization.
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.