After looking and digging for Wild Axe in GUI, i found it, but it was so complicated that it contains the code x10 of mine.
It's a basic rather very lovely ability from DOTA and one of the most wanted abilities to be coded in GUI MUI.
Description -
The hero shoots out his two axes from his hands, they travel to the targeted area defining and rejecting all the rules of physics and gravity, then they come back to the hero.
The will Cut down trees on their path ofc.
I will implent to damage units, but just wanted to share my trigger with you people for now. ( DAMAGE ADDED )
If you don't beleive me, see by urself.
Start
BT On
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Blade
Actions
Set BT_Point[0] = (Position of (Casting unit))
Set BT_Point[1] = (Target point of ability being cast)
-------- ------------------------------------------------------------------------------------------------------------- --------
-------- ------------------------------------------------------------------------------------------------------------- --------
For each (Integer B1T) from 1 to 2, do (Actions)
Loop - Actions
-------- ------------------------------------------------------------------------------------------------------------- --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Then - Actions
Trigger - Turn on BT Loop <gen>
Else - Actions
Set BT_Times = (BT_Times + 1)
Set BT_Loop = (BT_Loop + 1)
Set BT_Off[BT_Times] = True
-------- ------------------------------------------------------------------------------------------------------------- --------
-------- ------------------------------------------------------------------------------------------------------------- --------
Set BT_Hero[BT_Times] = (Casting unit)
Set BT_Part[BT_Times] = 0
-------- ------------------------------------------------------------------------------------------------------------- --------
Set BT_Main_Point[BT_Times] = (Target point of ability being cast)
Set BT_Angle[BT_Times] = (Angle from BT_Point[0] to BT_Point[1])
Set BT_Positive[BT_Times] = B1T
Set BT_Max_Distance[BT_Times] = (Distance between BT_Point[0] and BT_Point[1])
Set BT_Take_Dist[BT_Times] = 0.00
-------- ------------------------------------------------------------------------------------------------------------- --------
-------- ------------------------------------------------------------------------------------------------------------- --------
Set BT_Speed[BT_Times] = ((Square root(BT_Max_Distance[BT_Times])) / 2.20)
Set BT_Offset[BT_Times] = ((10.00 / (Square root(BT_Max_Distance[BT_Times]))) x 500.00)
-------- ------------------------------------------------------------------------------------------------------------- --------
-------- ------------------------------------------------------------------------------------------------------------- --------
Unit - Create 1 Dummy_For_Map for (Owner of BT_Hero[BT_Times]) at BT_Point[0] facing Default building facing degrees
Set BT_Dummy[BT_Times] = (Last created unit)
Special Effect - Create a special effect attached to the chest of (Last created unit) using Abilities\Weapons\RexxarMissile\RexxarMissile.mdl
Set BT_Special[BT_Times] = (Last created special effect)
-------- ------------------------------------------------------------------------------------------------------------- --------
-------- ------------------------------------------------------------------------------------------------------------- --------
Custom script: call RemoveLocation(udg_BT_Point[0])
Custom script: call RemoveLocation(udg_BT_Point[1])
Loop
BT Loop
Events
Time - Every 0.02 seconds of game time
Conditions
Actions
For each (Integer BT2) from 1 to BT_Times, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BT_Off[BT2] Equal to True
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BT_Take_Dist[BT2] Greater than or equal to BT_Max_Distance[BT2]
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Then - Actions
Set BT_Off[BT2] = False
Set BT_Loop = (BT_Loop - 1)
Custom script: call RemoveLocation(udg_BT_Main_Point[udg_BT2])
-------- ------------------------------------------------------------------------------------------------------------- --------
Set BT_Point[4] = (Position of BT_Dummy[BT2])
Special Effect - Create a special effect at BT_Point[4] using Abilities\Weapons\GryphonRiderMissile\GryphonRiderMissileTarget.mdl
Special Effect - Destroy (Last created special effect)
Custom script: call RemoveLocation(udg_BT_Point[4])
Special Effect - Destroy BT_Special[BT2]
Unit - Add a 0.01 second Generic expiration timer to BT_Dummy[BT2]
-------- ------------------------------------------------------------------------------------------------------------- --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Then - Actions
Set BT_Times = 0
Trigger - Turn off BT Loop <gen>
Else - Actions
Else - Actions
Set BT_Part[BT2] = 1
Set BT_Take_Dist[BT2] = 0.00
Else - Actions
-------- ------------------------------------------------------------------------------------------------------------- --------
Set BT_Equation[BT2] = (((4.00 x BT_Offset[BT2]) / BT_Max_Distance[BT2]) x ((BT_Max_Distance[BT2] - BT_Take_Dist[BT2]) x (BT_Take_Dist[BT2] / BT_Max_Distance[BT2])))
-------- ------------------------------------------------------------------------------------------------------------- --------
-------- ------------------------------------------------------------------------------------------------------------- --------
Set BT_Point[2] = (Position of BT_Hero[BT2])
Set BT_Max_Distance[BT2] = (Distance between BT_Point[2] and BT_Main_Point[BT2])
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Then - Actions
Set BT_Angle[BT2] = (Angle from BT_Main_Point[BT2] to BT_Point[2])
Else - Actions
Set BT_Angle[BT2] = (Angle from BT_Point[2] to BT_Main_Point[BT2])
Set BT_Point[3] = (Position of BT_Dummy[BT2])
-------- ------------------------------------------------------------------------------------------------------------- --------
-------- ------------------------------------------------------------------------------------------------------------- --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Then - Actions
Set BT_Point[4] = (BT_Main_Point[BT2] offset by BT_Take_Dist[BT2] towards BT_Angle[BT2] degrees)
Else - Actions
Set BT_Point[4] = (BT_Point[2] offset by BT_Take_Dist[BT2] towards BT_Angle[BT2] degrees)
-------- ------------------------------------------------------------------------------------------------------------- --------
-------- ------------------------------------------------------------------------------------------------------------- --------
-------- ------------------------------------------------------------------------------------------------------------- --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BT_Positive[BT2] Equal to 1
Then - Actions
Set BT_Point[5] = (BT_Point[4] offset by BT_Equation[BT2] towards (BT_Angle[BT2] + 90.00) degrees)
Else - Actions
Set BT_Point[5] = (BT_Point[4] offset by BT_Equation[BT2] towards (BT_Angle[BT2] - 90.00) degrees)
Destructible - Pick every destructible within 125.00 of BT_Point[5] and do (Destructible - Kill (Picked destructible))
-------- ------------------------------------------------------------------------------------------------------------- --------
-------- ------------------------------------------------------------------------------------------------------------- --------
Unit - Move BT_Dummy[BT2] instantly to BT_Point[5], facing (Angle from BT_Point[3] to BT_Point[5]) degrees
Custom script: call RemoveLocation(udg_BT_Point[2])
Custom script: call RemoveLocation(udg_BT_Point[3])
Custom script: call RemoveLocation(udg_BT_Point[4])
Custom script: call RemoveLocation(udg_BT_Point[5])
-------- ------------------------------------------------------------------------------------------------------------- --------
-------- ------------------------------------------------------------------------------------------------------------- --------
Set BT_Take_Dist[BT2] = (BT_Take_Dist[BT2] + BT_Speed[BT2])
Else - Actions
Keywords:
Wild, Axes, Rexxar, Rmx, Cool, Physics !