-
Frozen Start Effect
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Frozen Sphere
-
Actions
- Set Frozen_Caster = (Triggering unit)
- Set Frozen_Position = (Target point of ability being cast)
- Set Frozen_CasterPosition = (Position of Frozen_Caster)
- Unit - Create 1 Frozen Sphere for (Owner of Frozen_Caster) at (Position of Frozen_Caster) facing (Facing of Frozen_Caster) degrees
- Set Frozen_Sphere = (Last created unit)
- Unit - Add Frozen Slow to Frozen_Sphere
- Set Frozen_MaxDistance = (Distance between (Position of Frozen_Caster) and Frozen_Position)
- Set Frozen_SlowGroup = (Units within 0.00 of (Position of Frozen_Caster) matching (((Matching unit) belongs to an enemy of (Owner of Frozen_Caster)) Equal to True))
- Trigger - Turn on Frozen Loop <gen>
-
Events
-
Frozen Loop
-
Events
- Time - Every 0.03 seconds of game time
- Conditions
-
Actions
- Set Frozen_Distance = (Distance between (Position of Frozen_Sphere) and Frozen_CasterPosition)
- Set Frozen_Move = ((Position of Frozen_Sphere) offset by 20.00 towards (Angle from (Position of Frozen_Sphere) to Frozen_Position) degrees)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Frozen_Distance Less than Frozen_MaxDistance
-
Then - Actions
- Set Frozen_NonDamagedGroup = (Units within 150.00 of (Position of Frozen_Sphere) matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is in Frozen_SlowGroup) Equal to False) and (((Matching unit) belongs to an
-
Unit Group - Pick every unit in Frozen_NonDamagedGroup and do (Actions)
-
Loop - Actions
- Unit Group - Add (Picked unit) to Frozen_SlowGroup
- Unit - Cause Frozen_Caster to damage (Picked unit), dealing 50.00 damage of attack type Spells and damage type Normal
- Unit - Order Frozen_Sphere to Human Sorceress - Slow (Picked unit)
-
Loop - Actions
- Unit - Move Frozen_Sphere instantly to Frozen_Move
- Custom script: call RemoveLocation(udg_Frozen_Move)
- Custom script: call DestroyGroup(udg_Frozen_NonDamagedGroup)
-
Else - Actions
-
For each (Integer A) from 1 to 36, do (Actions)
-
Loop - Actions
- Set Frozen_Effect1 = ((Position of Frozen_Sphere) offset by 75.00 towards (10.00 x (Real((Integer A)))) degrees)
- Set Frozen_Effect2 = ((Position of Frozen_Sphere) offset by 150.00 towards (10.00 x (Real((Integer A)))) degrees)
- Unit - Create 1 Frozen Sphere for Player 1 (Red) at Frozen_Effect1 facing Default building facing degrees
- Unit - Add a 0.01 second Generic expiration timer to (Last created unit)
- Unit - Create 1 Frozen Sphere for Player 1 (Red) at Frozen_Effect2 facing Default building facing degrees
- Unit - Add a 0.01 second Generic expiration timer to (Last created unit)
-
Loop - Actions
- Unit - Add a 0.01 second Generic expiration timer to Frozen_Sphere
- Custom script: call RemoveLocation(udg_Frozen_Effect1)
- Custom script: call RemoveLocation(udg_Frozen_Effect2)
- Custom script: call RemoveLocation(udg_Frozen_Position)
- Custom script: call RemoveLocation(udg_Frozen_CasterPosition)
- Custom script: call DestroyGroup(udg_Frozen_SlowGroup)
- Trigger - Turn off (This trigger)
-
For each (Integer A) from 1 to 36, do (Actions)
-
If - Conditions
-
Events
So i think(pretty sure) that the Frozen_SlowGroups leaks but i dont know how to make it works...After 2 cast it lags like hell , anyone help =D
SO THIS IS SOLVED , THX Spinnaker
Last edited: