Im trying to make a dummy unit that orbits around the caster. The orbiting seems fine but there are 2 problems:
1. How do I make the orbiting dummy unit face where it is going?
2. When the spell is spammed and the spell buff expires , only 1 orbiting dummy is removed. How do I remove all of them?
Here are the triggers I have so far:
1. How do I make the orbiting dummy unit face where it is going?
2. When the spell is spammed and the spell buff expires , only 1 orbiting dummy is removed. How do I remove all of them?
Here are the triggers I have so far:
Trigger:
- Sight Cast
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Sight
- Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- MUI_1 Equal to 0
- Then - Actions
- Trigger - Turn on Sight Loop <gen>
- Else - Actions
- If - Conditions
- Set MUI_1 = (MUI_1 + 1)
- Set MUI_2 = (MUI_2 + 1)
- Set Sight_Caster[MUI_2] = (Triggering unit)
- Set Sight_Caster_Point[MUI_2] = (Position of Sight_Caster[MUI_2])
- Set Sight_Level[MUI_2] = (Level of Sight for Sight_Caster[MUI_2])
- Set Sight_Buff[MUI_2] = Sight
- Unit - Create 1 Orb of Sight (Dummy) for (Owner of Sight_Caster[MUI_2]) at Sight_Caster_Point[MUI_2] facing Default building facing degrees
- Set Sight_Dummy[MUI_2] = (Last created unit)
- Set Sight_Distance[MUI_2] = 0.00
- Set Sight_Final_Distance[MUI_2] = 375.00
- Custom script: call RemoveLocation ( udg_Sight_Caster_Point[udg_MUI_2] )
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Events
Trigger:
- Sight Loop
- Events
- Time - Every 0.03 seconds of game time
- Conditions
- Actions
- For each (Integer MUI_3) from 1 to MUI_2, do (Actions)
- Loop - Actions
- Set Sight_Temp_Point[MUI_3] = (Position of Sight_Caster[MUI_3])
- Set Sight_Angle[MUI_3] = (Sight_Angle[MUI_3] + 8.00)
- Set Sight_Point[MUI_3] = (Sight_Temp_Point[MUI_3] offset by Sight_Distance[MUI_3] towards Sight_Angle[MUI_3] degrees)
- Set Sight_Distance[MUI_3] = (Sight_Distance[MUI_3] + 2.00)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- Sight_Distance[MUI_3] Greater than or equal to Sight_Final_Distance[MUI_3]
- Then - Actions
- Set Sight_Distance[MUI_3] = Sight_Final_Distance[MUI_3]
- Else - Actions
- If - Conditions
- Unit - Move Sight_Dummy[MUI_3] instantly to Sight_Point[MUI_3], facing ((Distance between Sight_Point[MUI_3] and Sight_Temp_Point[MUI_3]) - 90.00) degrees
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Sight_Caster[MUI_3] has buff Sight_Buff[MUI_3]) Equal to False
- Then - Actions
- Unit - Kill Sight_Dummy[MUI_3]
- Set MUI_1 = (MUI_1 - 1)
- Else - Actions
- If - Conditions
- Custom script: call RemoveLocation ( udg_Sight_Temp_Point[udg_MUI_3] )
- Custom script: call RemoveLocation ( udg_Sight_Point[udg_MUI_3] )
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- MUI_1 Equal to 0
- Then - Actions
- Set MUI_2 = 0
- Trigger - Turn off (This trigger)
- Else - Actions
- If - Conditions
- For each (Integer MUI_3) from 1 to MUI_2, do (Actions)
- Events