Um.. okay. Change the dummy death 'if' from yours to this:
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(DSB_Dummy[DSB_Current_Index] is dead) Equal to True
Then - Actions
Custom script: call DestroyGroup(udg_DSB_UnDamage_Group[udg_DSB_Current_Index])
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DSB_Shdow[DSB_Current_Index] Equal to True
Then - Actions
Set DSB_Shdow[DSB_Current_Index] = False
Custom script: set udg_DSB_UnDamage_Group[udg_DSB_Max_Index] = CreateGroup()
Set TempPoint2 = (Position of DSB_Caster[DSB_Current_Index])
Unit - Create 1 DSB_Dummy_Type2 for DSB_Owner[DSB_Current_Index] at TempPoint facing TempPoint2
Set DSB_Dummy[DSB_Current_Index] = (Last created unit)
Unit - Add a DSB_Dummy2_Lifetime second Generic expiration timer to DSB_Dummy[DSB_Current_Index]
Animation - Change DSB_Dummy[DSB_Current_Index]'s animation speed to DSB_Animation_Speed% of its original speed
Animation - Change DSB_Dummy[DSB_Current_Index]'s vertex coloring to (DSB_Dummy2_RED%, DSB_Dummy2_GREEN%, DSB_Dummy2_BLUE%) with DSB_Dummy2_Transparency% transparency
Animation - Play DSB_Dummy[DSB_Current_Index]'s DSB_Dummy2_Animation animation
Set TempPoint = (Position of DSB_Dummy[DSB_Current_Index])
Set DSB_Angle[DSB_Current_Index] = (Angle from TempPoint to TempPoint2)
Custom script: call RemoveLocation(udg_TempPoint2)
Set TempPoint3 = (TempPoint offset by DSB_Start_Range towards DSB_Angle[DSB_Current_Index] degrees)
Unit - Remove DSB_Dummy[DSB_Current_Index] from the game
Unit - Create 1 DSB_Dummy_Type for DSB_Owner[DSB_Current_Index] at TempPoint3 facing DSB_Angle[DSB_Current_Index] degrees
Set DSB_Dummy[DSB_Current_Index] = (Last created unit)
Unit - Add a ((DSB_Distance x 0.03) x 0.03) second Generic expiration timer to DSB_Dummy[DSB_Current_Index]
Custom script: call RemoveLocation(udg_TempPoint)
Custom script: call RemoveLocation(udg_TempPoint3)
Else - Actions
Unit - Remove DSB_Dummy[DSB_Current_Index] from the game
Set DSB_Shdow[DSB_Current_Index] = DSB_Shdow[DSB_Max_Index]
Set DSB_Dummy[DSB_Current_Index] = DSB_Dummy[DSB_Max_Index]
Set DSB_Dummy[DSB_Max_Index] = No unit
Set DSB_Caster[DSB_Current_Index] = DSB_Caster[DSB_Max_Index]
Set DSB_Caster[DSB_Max_Index] = No unit
Set DSB_Angle[DSB_Current_Index] = DSB_Angle[DSB_Max_Index]
Set DSB_Angle[DSB_Max_Index] = 0.00
Set DSB_Ability_Level[DSB_Current_Index] = DSB_Ability_Level[DSB_Max_Index]
Set DSB_Ability_Level[DSB_Max_Index] = 0
Set DSB_Stage[DSB_Current_Index] = DSB_Stage[DSB_Max_Index]
Set DSB_Stage[DSB_Max_Index] = 0
Set DSB_Current_Index = (DSB_Current_Index - 1)
Set DSB_Max_Index = (DSB_Max_Index - 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DSB_Max_Index Equal to 0
Then - Actions
Trigger - Turn off (This trigger)
Else - Actions
Else - Actions
I removed everything that references Phase 2.