I need help fixing leaks in this spell (it gets very laggy after a while
).
Im not so advanced in trigger leaks so you will probably have to explain alot.
Thanks in advance.
The Casting:
).Im not so advanced in trigger leaks so you will probably have to explain alot.
Thanks in advance.

The Casting:
-
Ring of Fire
-

Events
-


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

Conditions
-


(Ability being cast) Equal to Ring of Fire
-
-

Actions
-


Trigger - Turn on Ring of Fire Loop <gen>
-


Set CasterRingofFire = (Casting unit)
-


Wait (10.00 + (2.00 x (Real((Level of Ring of Fire for (Casting unit)))))) seconds
-


For each (Integer A) from 0 to Specialffectringoffirecount, do (Actions)
-



Loop - Actions
-




Special Effect - Destroy RingofFireSpecialEffect[(Integer A)]
-
-
-


Set Specialffectringoffirecount = 0
-


Trigger - Turn off Ring of Fire Loop <gen>
-
-
-
Ring of Fire Loop
-

Events
-


Time - Every 0.02 seconds of game time
-
-

Conditions
-

Actions
-


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



If - Conditions
-




DegreesRingofFire Greater than or equal to 350.00
-
-



Then - Actions
-




Set DegreesRingofFire = 0.00
-




Unit Group - Remove all units of AlreadyHitRingofFire from AlreadyHitRingofFire
-
-



Else - Actions
-




Set DegreesRingofFire = (DegreesRingofFire + 10.00)
-
-
-


Special Effect - Create a special effect at ((Position of CasterRingofFire) offset by 400.00 towards DegreesRingofFire degrees) using Objects\Spawnmodels\Human\FragmentationShards\FragBoomSpawn.mdl
-


Set RingofFireSpecialEffect[Specialffectringoffirecount] = (Last created special effect)
-


Set Specialffectringoffirecount = (Specialffectringoffirecount + 1)
-


Unit Group - Pick every unit in (Units within 75.00 of ((Position of CasterRingofFire) offset by 400.00 towards DegreesRingofFire degrees) matching (((Matching unit) is in AlreadyHitRingofFire) Equal to False)) and do (Actions)
-



Loop - Actions
-




Unit Group - Add (Picked unit) to AlreadyHitRingofFire
-




Unit - Cause CasterRingofFire to damage (Picked unit), dealing (15.00 x (Real((Level of Ring of Fire for CasterRingofFire)))) damage of attack type Spells and damage type Fire
-
-
-


Destructible - Pick every destructible within 75.00 of ((Position of CasterRingofFire) offset by 400.00 towards DegreesRingofFire degrees) and do (Actions)
-



Loop - Actions
-




Destructible - Kill (Picked destructible)
-
-
-


Unit - Cause CasterRingofFire to damage circular area after 0.00 seconds of radius 75.00 at ((Position of CasterRingofFire) offset by 400.00 towards DegreesRingofFire degrees), dealing (5.00 x (Real((Level of Ring of Fire for CasterRingofFire)))) damage of attack type Spells and damage type Fire
-
-





