-
Frost Tomb
-

Events
-


Unit - A unit Starts the effect of an ability
-
-

Conditions
-


(Ability being cast) Equal to Frost Tomb (text not done)
-
-

Actions
-


-------- Start of Index --------
-


Set VariableSet FrostTomb_Index = (FrostTomb_Index + 1)
-


Set VariableSet FrostTomb_Loop = (FrostTomb_Loop + 1)
-


-------- ------ --------
-


Set VariableSet FrostTomb_Caster[FrostTomb_Index] = (Triggering unit)
-


Set VariableSet FrostTomb_Loc[FrostTomb_Index] = (Target point of ability being cast)
-


-------- ----- --------
-


Set VariableSet FrostTomb_Level[FrostTomb_Index] = (Level of Frost Tomb (text not done) for FrostTomb_Caster[FrostTomb_Index])
-


Set VariableSet FrostTomb_Time[FrostTomb_Index] = (75.00 + (25.00 x (Real(FrostTomb_Level[FrostTomb_Index]))))
-


-------- ----- --------
-


Set VariableSet FrostTomb_Damage[FrostTomb_Index] = ((Real(FrostTomb_Level[FrostTomb_Index])) x (60.00 + ((Real((Intelligence of FrostTomb_Caster[FrostTomb_Index] (Include bonuses)))) x 0.25)))
-


Game - Display to (All players) the text: (String(FrostTomb_Damage[FrostTomb_Index]))
-


Set VariableSet FrostTomb_Group[FrostTomb_Index] = (Units within 725.00 of FrostTomb_Loc[FrostTomb_Index].)
-


Unit Group - Pick every unit in FrostTomb_Group[FrostTomb_Index] and do (Actions)
-



Loop - Actions
-




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





If - Conditions
-






((Picked unit) is alive) Equal to True
-






((Picked unit) belongs to an enemy of (Owner of FrostTomb_Caster[FrostTomb_Index]).) Equal to True
-






((Picked unit) is A structure) Equal to False
-






((Picked unit) is Mechanical) Equal to False
-






((Picked unit) is Magic Immune) Equal to False
-
-





Then - Actions
-





Else - Actions
-






Unit Group - Remove (Picked unit) from FrostTomb_Group[FrostTomb_Index].
-
-
-
-
-


Unit Group - Pick every unit in FrostTomb_Group[FrostTomb_Index] and do (Actions)
-



Loop - Actions
-




Set VariableSet FrostTomb_Target[FrostTomb_Index] = (Picked unit)
-




Unit - Cause FrostTomb_Caster[FrostTomb_Index] to damage FrostTomb_Target[FrostTomb_Index], dealing FrostTomb_Damage[FrostTomb_Index] damage of attack type Spells and damage type Magic
-




Animation - Change FrostTomb_Target[FrostTomb_Index]'s animation speed to 0.00% of its original speed
-




Unit - Pause FrostTomb_Target[FrostTomb_Index]
-




Special Effect - Create a special effect attached to the chest of FrostTomb_Target[FrostTomb_Index] using Abilities\Spells\Undead\FreezingBreath\FreezingBreathTargetArt.mdl
-




Set VariableSet FrostTomb_SFX[FrostTomb_Index] = (Last created special effect)
-
-
-


Custom script: call RemoveLocation (udg_FrostTomb_Loc[udg_FrostTomb_Index])
-


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



If - Conditions
-




FrostTomb_Index Equal to 1
-
-



Then - Actions
-




Trigger - Turn on Frost Tomb Loop <gen>
-
-



Else - Actions
-
-
-
-
Frost Tomb Loop
-

Events
-


Time - Every 0.03 seconds of game time
-
-

Conditions
-

Actions
-


For each (Integer FrostTomb_Loop) from 1 to FrostTomb_Index, do (Actions)
-



Loop - Actions
-




Set VariableSet FrostTomb_Time[FrostTomb_Loop] = (FrostTomb_Time[FrostTomb_Loop] - 1.00)
-




Set VariableSet FrostTomb_SFX[FrostTomb_Loop] = FrostTomb_SFX[FrostTomb_Index]
-




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





If - Conditions
-






FrostTomb_Time[FrostTomb_Loop] Greater than 0.00
-
-





Then - Actions
-






Unit Group - Pick every unit in FrostTomb_Group[FrostTomb_Loop] and do (Actions)
-







Loop - Actions
-








Set VariableSet FrostTomb_Target[FrostTomb_Loop] = (Picked unit)
-








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









If - Conditions
-










(FrostTomb_Target[FrostTomb_Loop] is dead) Equal to True
-
-









Then - Actions
-










Unit Group - Remove FrostTomb_Target[FrostTomb_Loop] from FrostTomb_Group[FrostTomb_Loop].
-










Unit - Unpause FrostTomb_Target[FrostTomb_Loop]
-










Animation - Change FrostTomb_Target[FrostTomb_Loop]'s animation speed to 100.00% of its original speed
-










Special Effect - Destroy FrostTomb_SFX[FrostTomb_Loop]
-










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











If - Conditions
-












(Number of units in FrostTomb_Group[FrostTomb_Loop]) Equal to 0
-
-











Then - Actions
-












Set VariableSet FrostTomb_Caster[FrostTomb_Loop] = FrostTomb_Caster[FrostTomb_Index]
-












Set VariableSet FrostTomb_Time[FrostTomb_Loop] = FrostTomb_Time[FrostTomb_Index]
-












Unit Group - Remove all units from FrostTomb_Group[FrostTomb_Loop].
-












Custom script: call DestroyGroup (udg_FrostTomb_Group[udg_FrostTomb_Loop])
-












Set VariableSet FrostTomb_Group[FrostTomb_Loop] = FrostTomb_Group[FrostTomb_Index]
-












-------- - --------
-












Set VariableSet FrostTomb_Index = (FrostTomb_Index - 1)
-












Set VariableSet FrostTomb_Loop = (FrostTomb_Loop - 1)
-
-











Else - Actions
-
-
-









Else - Actions
-
-
-
-
-





Else - Actions
-






Unit Group - Pick every unit in FrostTomb_Group[FrostTomb_Loop] and do (Actions)
-







Loop - Actions
-








Set VariableSet FrostTomb_Target[FrostTomb_Loop] = (Picked unit)
-








Unit Group - Remove FrostTomb_Target[FrostTomb_Loop] from FrostTomb_Group[FrostTomb_Loop].
-








Unit - Unpause FrostTomb_Target[FrostTomb_Loop]
-








Animation - Change FrostTomb_Target[FrostTomb_Loop]'s animation speed to 100.00% of its original speed
-








Special Effect - Destroy FrostTomb_SFX[FrostTomb_Loop]
-








Set VariableSet FrostTomb_Caster[FrostTomb_Loop] = FrostTomb_Caster[FrostTomb_Index]
-








Set VariableSet FrostTomb_Time[FrostTomb_Loop] = FrostTomb_Time[FrostTomb_Index]
-








Unit Group - Remove all units from FrostTomb_Group[FrostTomb_Loop].
-








Custom script: call DestroyGroup (udg_FrostTomb_Group[udg_FrostTomb_Loop])
-








Set VariableSet FrostTomb_Group[FrostTomb_Loop] = FrostTomb_Group[FrostTomb_Index]
-








-------- - --------
-








Set VariableSet FrostTomb_Index = (FrostTomb_Index - 1)
-








Set VariableSet FrostTomb_Loop = (FrostTomb_Loop - 1)
-
-
-
-
-
-
-


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



If - Conditions
-




FrostTomb_Index Equal to 0
-
-



Then - Actions
-




Game - Display to (All players) the text: Loop turned off
-




Trigger - Turn off (This trigger)
-
-



Else - Actions
-
-
-
List of issues:
1) Special effects are not destroyed.
2) There is something wrong with loop, returning the initial trigger to set the damage of FrostTomb_Damage to 0.00, as long as the loop is running.
3) Units don't unpause.
The idea of this spell was a point target AoE spell, dealing initial damage and then freezing units for a period of time. I know using pause is bad, but forgot how to get the defaultpropwindow of a unit.

