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
-
If - Conditions
-
Events
-
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
-
If - Conditions
- Else - Actions
-
If - Conditions
-
Loop - Actions
-
For each (Integer FreeFire_Loop) from 1 to FreeFire_Index, do (Actions)
-
Events