Hello, i've starting to learn making MUI, and i'm just curious if this is correct. When i use a lot of points i get a bit confused so i just want to check if i made this the right way.
-
Free Fire Cast
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to Free Fire (Huntress)
-
-
Actions
-
-------- --------
-
Set VariableSet FreeFire_Index = (FreeFire_Index + 1)
-
Set VariableSet FreeFire_Caster[FreeFire_Index] = (Triggering unit)
-
Set VariableSet FreeFire_Point[FreeFire_Index] = (Target point of ability being cast)
-
-------- --------
-
Unit - Pause FreeFire_Caster[FreeFire_Index]
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
FreeFire_Index Equal to 1
-
-
Then - Actions
-
Trigger - Turn on Free Fire Loop <gen>
-
-
Else - Actions
-
-
-
-
Free Fire Loop
-
Events
-
Time - Every 0.10 seconds of game time
-
-
Conditions
-
Actions
-
For each (Integer FreeFire_Loop) from 1 to FreeFire_Index, do (Actions)
-
Loop - Actions
-
Animation - Play FreeFire_Caster[FreeFire_Loop]'s attack animation
-
Set VariableSet FreeFire_Counter[FreeFire_Loop] = (FreeFire_Counter[FreeFire_Loop] + 0.10)
-
-------- --------
-
Set VariableSet FreeFire_DummyPoint = (Position of FreeFire_Caster[FreeFire_Loop])
-
-------- --------
-
Unit - Create 1 Ability Dummy for (Owner of FreeFire_Caster[FreeFire_Loop]) at FreeFire_DummyPoint facing Default building facing degrees
-
Set VariableSet FreeFire_Dummy[FreeFire_Loop] = (Last created unit)
-
Custom script: call RemoveLocation(udg_FreeFire_DummyPoint)
-
Unit - Add a 1.00 second Generic expiration timer to FreeFire_Dummy[FreeFire_Loop]
-
Unit - Add Free Fire Dummy Ability to FreeFire_Dummy[FreeFire_Loop]
-
-------- --------
-
Set VariableSet FreeFire_Point2 = (FreeFire_Point[FreeFire_Loop] offset by ((Random real number between -300.00 and 300.00), (Random real number between -300.00 and 300.00)))
-
Unit - Order FreeFire_Dummy[FreeFire_Loop] to Orc Tauren Chieftain - Shockwave FreeFire_Point2
-
Custom script: call RemoveLocation(udg_FreeFire_Point2)
-
-------- --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
FreeFire_Counter[FreeFire_Loop] Greater than or equal to 10.00
-
-
Then - Actions
-
Animation - Reset FreeFire_Caster[FreeFire_Loop]'s animation
-
Unit - Unpause FreeFire_Caster[FreeFire_Loop]
-
-------- --------
-
Set VariableSet FreeFire_Caster[FreeFire_Loop] = FreeFire_Caster[FreeFire_Index]
-
Set VariableSet FreeFire_Counter[FreeFire_Loop] = FreeFire_Counter[FreeFire_Index]
-
Set VariableSet FreeFire_Index = (FreeFire_Index - 1)
-
Set VariableSet FreeFire_Loop = (FreeFire_Loop - 1)
-
-------- --------
-
Custom script: call RemoveLocation(udg_FreeFire_Point[udg_FreeFire_Index])
-
-------- --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
FreeFire_Index Equal to 0
-
-
Then - Actions
-
Trigger - Turn off (This trigger)
-
-
Else - Actions
-
-
-
Else - Actions
-
-
-
-
-