FW Variable

Events


Time - Elapsed game time is 0.00 seconds

Conditions

Actions


Set FW_Ability = Fire Wave


Set FW_DistanceTraveled = 35.00


Set FW_FireWaveDummy = Dummy (fire wave)


Set FW_Loop_Interval = 0.03125


Trigger - Add to FW Loop <gen> the event (Time - Every (Real(FW_Loop_Interval)) seconds of game time)
FW Cast

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to FW_Ability

Actions


Set FW_Index = (FW_Index + 1)


Set FW_Caster[FW_Index] = (Triggering unit)


Set FW_TargetPoint[FW_Index] = (Target point of ability being cast)


Set FW_OwnerOfUnit[FW_Index] = (Triggering player)


Set tempPoints[1] = (Position of FW_Caster[FW_Index])


Set FW_Angle[FW_Index] = (Angle from tempPoints[1] to FW_TargetPoint[FW_Index])


Unit - Hide FW_Caster[FW_Index]


Unit - Create 1 FW_FireWaveDummy for FW_OwnerOfUnit[FW_Index] at tempPoints[1] facing FW_Angle[FW_Index] degrees


Set FW_FireWave[FW_Index] = (Last created unit)


Unit - Turn collision for FW_FireWave[FW_Index] Off


Custom script: call RemoveLocation ( udg_tempPoints[1])


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




FW_Index Equal to 1



Then - Actions




Trigger - Turn on FW Loop <gen>



Else - Actions
FW Loop

Events

Conditions

Actions


For each (Integer tempInt) from 1 to FW_Index, do (Actions)



Loop - Actions




Set tempPoints[2] = (Position of FW_FireWave[tempInt])




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






(Distance between tempPoints[2] and FW_TargetPoint[tempInt]) Greater than or equal to FW_DistanceTraveled





Then - Actions






Set tempPoints[3] = (tempPoints[2] offset by FW_DistanceTraveled towards FW_Angle[tempInt] degrees)






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








((Playable map area) contains tempPoints[3]) Equal to True







Then - Actions








Unit - Move FW_FireWave[tempInt] instantly to tempPoints[3]








Custom script: call RemoveLocation ( udg_tempPoints[3])







Else - Actions








Set tempPoints[4] = (tempPoints[3] offset by FW_DistanceTraveled towards 270.00 degrees)








Unit - Kill FW_FireWave[tempInt]








Unit - Move FW_Caster[tempInt] instantly to tempPoints[4]








Custom script: call RemoveLocation ( udg_tempPoints[4])








Unit - Unhide FW_Caster[tempInt]








Selection - Add FW_Caster[tempInt] to selection for FW_OwnerOfUnit[tempInt]








Set FW_Caster[tempInt] = FW_Caster[FW_Index]








Set FW_Angle[tempInt] = FW_Angle[FW_Index]








Set FW_FireWave[tempInt] = FW_FireWave[FW_Index]








Custom script: call RemoveLocation ( udg_FW_TargetPoint[udg_tempInt])








Set FW_TargetPoint[tempInt] = FW_TargetPoint[FW_Index]








Set FW_OwnerOfUnit[tempInt] = FW_OwnerOfUnit[FW_Index]








Set FW_Caster[FW_Index] = No unit








Set FW_FireWave[FW_Index] = No unit








Set FW_Index = (FW_Index - 1)








Set tempInt = (tempInt - 1)








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










FW_Index Equal to 0









Then - Actions










Trigger - Turn off (This trigger)









Else - Actions





Else - Actions






Unit - Kill FW_FireWave[tempInt]






Unit - Move FW_Caster[tempInt] instantly to FW_TargetPoint[tempInt]






Unit - Unhide FW_Caster[tempInt]






Selection - Add FW_Caster[tempInt] to selection for FW_OwnerOfUnit[tempInt]






Set FW_Caster[tempInt] = FW_Caster[FW_Index]






Set FW_Angle[tempInt] = FW_Angle[FW_Index]






Set FW_FireWave[tempInt] = FW_FireWave[FW_Index]






Custom script: call RemoveLocation ( udg_FW_TargetPoint[udg_tempInt])






Set FW_TargetPoint[tempInt] = FW_TargetPoint[FW_Index]






Set FW_OwnerOfUnit[tempInt] = FW_OwnerOfUnit[FW_Index]






Set FW_Caster[FW_Index] = No unit






Set FW_FireWave[FW_Index] = No unit






Set FW_Index = (FW_Index - 1)






Set tempInt = (tempInt - 1)






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








FW_Index Equal to 0







Then - Actions








Trigger - Turn off (This trigger)







Else - Actions




Custom script: call RemoveLocation ( udg_tempPoints[2])