- Joined
- Dec 6, 2007
- Messages
- 233
This has been haunting me for a while: these triggers lag horrendously with more than 2 units fighting!
can anyone help??
-
apply
-
Events
-
Time - Every 0.03 seconds of game time
-
-
Conditions
-
Actions
-
Set Sheilds_Ready = (Units in (Playable map area) matching (((Custom value of (Matching unit)) Equal to 0) and ((Mana of (Matching unit)) Greater than or equal to 50.00)))
-
Unit Group - Pick every unit in Sheilds_Ready and do (Actions)
-
Loop - Actions
-
Unit - Set the custom value of (Picked unit) to 1
-
Unit Group - Add (Picked unit) to Sheild_Protectees
-
-
-
Custom script: call DestroyGroup(udg_Sheilds_Ready)
-
-
-
function
-
Events
-
Time - Every 0.03 seconds of game time
-
-
Conditions
-
Actions
-
Unit Group - Pick every unit in Sheild_Protectees and do (Actions)
-
Loop - Actions
-
Set Sheild_Violatee = (Picked unit)
-
Set Sheild_Violatee_Loc = (Position of Sheild_Violatee)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of Sheild_Violatee) Equal to Frigate
-
-
Then - Actions
-
Set Sheild_Radius = 300.00
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of Sheild_Violatee) Equal to Railgun Emplacement
-
-
Then - Actions
-
Set Sheild_Radius = 150.00
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of Sheild_Violatee) Equal to Carrier
-
-
Then - Actions
-
Set Sheild_Radius = 250.00
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of Sheild_Violatee) Equal to Cruiser
-
-
Then - Actions
-
Set Sheild_Radius = 500.00
-
-
Else - Actions
-
-
-
-
-
-
-
-
Set Sheild_Violators = (Units within Sheild_Radius of Sheild_Violatee_Loc matching ((((Matching unit) is A sapper) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of Sheild_Violatee)) Equal to True)))
-
Unit Group - Pick every unit in Sheild_Violators and do (Actions)
-
Loop - Actions
-
Set Sheild_Violator = (Picked unit)
-
Set Sheild_Violator_Loc = (Position of Sheild_Violator)
-
Set Sheild_Violatees = (Units within Sheild_Radius of Sheild_Violatee_Loc matching ((Custom value of (Matching unit)) Equal to 1))
-
Unit Group - Pick every unit in Sheild_Violatees and do (Actions)
-
Loop - Actions
-
Unit - Set mana of Sheild_Violatee to ((Mana of Sheild_Violatee) - (Life of Sheild_Violator))
-
Unit - Kill Sheild_Violator
-
-
-
Custom script: call RemoveLocation(udg_Sheild_Violator_Loc)
-
Custom script: call DestroyGroup(udg_Sheild_Violatees)
-
-
-
Custom script: call DestroyGroup(udg_Sheild_Violators)
-
Custom script: call RemoveLocation(udg_Sheild_Violatee_Loc)
-
-
-
-
-
effect
-
Events
-
Time - Every 1.00 seconds of game time
-
-
Conditions
-
Actions
-
Unit Group - Pick every unit in Sheild_Protectees and do (Actions)
-
Loop - Actions
-
Special Effect - Create a special effect attached to the overhead of (Picked unit) using Abilities\Spells\Undead\ReplenishMana\ReplenishManaCasterOverhead.mdl
-
Special Effect - Destroy (Last created special effect)
-
-
-
-
-
remove
-
Events
-
Time - Every 0.03 seconds of game time
-
-
Conditions
-
Actions
-
Set Sheilds_Dying = (Units in (Playable map area) matching (((Mana of (Matching unit)) Equal to 0.00) and ((Custom value of (Matching unit)) Equal to 1)))
-
Unit Group - Pick every unit in Sheilds_Dying and do (Actions)
-
Loop - Actions
-
Unit Group - Remove (Picked unit) from Sheild_Protectees
-
Unit - Set the custom value of (Picked unit) to 0
-
Special Effect - Create a special effect attached to the overhead of (Picked unit) using Abilities\Spells\NightElf\Blink\BlinkTarget.mdl
-
Special Effect - Destroy (Last created special effect)
-
-
-
Custom script: call DestroyGroup(udg_Sheilds_Dying)
-
-