Hook Loop
Events
Time - Every 0.02 seconds of game time
Conditions
Actions
For each (Integer PH_Index[3]) from 1 to PH_Index[2], do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PH_Counter[PH_Index[3]] Less than PH_Distance
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PH_Hooked_Is[PH_Index[3]] Equal to False
Then - Actions
Set PH_Counter[PH_Index[3]] = (PH_Counter[PH_Index[3]] + 1)
Set PH_Dummy_Point[PH_Index[3]] = (Position of PH_Dummy[PH_Index[3]])
[COLOR="Lime"]Set PH_Hook_Point[PH_Index[3]] = (PH_Dummy_Point[PH_Index[3]] offset by [COLOR="Red"]45.00[/COLOR] towards PH_Hook_Angle[PH_Index[3]] degrees)[/COLOR]
Unit - Move PH_Dummy[PH_Index[3]] instantly to PH_Hook_Point[PH_Index[3]]
Unit - Create 1 Effect for (Owner of PH_Caster[PH_Index[3]]) at PH_Dummy_Point[PH_Index[3]] facing PH_Hook_Angle[PH_Index[3]] degrees
Unit - Turn collision for (Last created unit) Off
Hashtable - Save Handle Of(Last created unit) as PH_Counter[PH_Index[3]] of PH_Index[3] in PH_Table
Custom script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in (Units within 64.00 of PH_Hook_Point[PH_Index[3]] matching (((Matching unit) is alive) Equal to True)) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is Magic Immune) Equal to False
((Picked unit) is A structure) Equal to False
PH_Hooked_Is[PH_Index[3]] Equal to False
Then - Actions
Set PH_Hooked_Unit[PH_Index[3]] = (Picked unit)
Set PH_Hooked_Is[PH_Index[3]] = True
Unit - Pause (Picked unit)
Unit - Turn collision for (Picked unit) Off
Unit - Cause PH_Caster[PH_Index[3]] to damage (Picked unit), dealing (Real(PH_Damage)) damage of attack type Spells and damage type Lightning
Else - Actions
Custom script: call RemoveLocation(udg_PH_Dummy_Point[udg_PH_Index[3]])
Custom script: call RemoveLocation(udg_PH_Hook_Point[udg_PH_Index[3]])
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PH_Counter[PH_Index[3]] Equal to PH_Distance
Then - Actions
Set PH_Hooked_Is[PH_Index[3]] = True
Unit - Unpause PH_Caster[PH_Index[3]]
Else - Actions
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PH_Hooked_Is[PH_Index[3]] Equal to True
Then - Actions
Set PH_Counter[PH_Index[3]] = (PH_Counter[PH_Index[3]] - 1)
Set PH_Dummy_Point[PH_Index[3]] = (Position of PH_Dummy[PH_Index[3]])
[COLOR="Lime"] Set PH_Hook_Point[PH_Index[3]] = (PH_Dummy_Point[PH_Index[3]] offset by [COLOR="Red"]45.00[/COLOR] towards (PH_Hook_Angle[PH_Index[3]] - 180.00) degrees)[/COLOR]
Set PH_Effect = (Load (PH_Counter[PH_Index[3]] + 1) of PH_Index[3] in PH_Table)
Unit - Kill PH_Effect
Unit - Remove PH_Effect from the game
Unit - Move PH_Dummy[PH_Index[3]] instantly to PH_Hook_Point[PH_Index[3]]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PH_Hooked_Unit[PH_Index[3]] Not equal to No unit
Then - Actions
Unit - Move PH_Hooked_Unit[PH_Index[3]] instantly to PH_Dummy_Point[PH_Index[3]]
Else - Actions
Custom script: call RemoveLocation(udg_PH_Dummy_Point[udg_PH_Index[3]])
Custom script: call RemoveLocation(udg_PH_Hook_Point[udg_PH_Index[3]])
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PH_Counter[PH_Index[3]] Equal to 0
Then - Actions
Unit - Kill PH_Dummy[PH_Index[3]]
Unit - Remove PH_Dummy[PH_Index[3]] from the game
Unit - Unpause PH_Caster[PH_Index[3]]
Animation - Reset PH_Caster[PH_Index[3]]'s animation
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PH_Hooked_Unit[PH_Index[3]] Not equal to No unit
Then - Actions
Unit - Unpause PH_Hooked_Unit[PH_Index[3]]
Unit - Turn collision for PH_Hooked_Unit[PH_Index[3]] On
Else - Actions
Set PH_Index[1] = (PH_Index[1] - 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PH_Index[1] Equal to 0
Then - Actions
Set PH_Index[2] = 0
Trigger - Turn off (This trigger)
Else - Actions
Else - Actions
Else - Actions