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
-
-
-
-
-


