Did I remove the leaks properly

afisakov

You can change this now in User CP.
Reaction score
37
Ok, I found a map I like and am trying to clean up some memory leaks in it to make it run smoother. The question is, did I effectively remove the leaks from this trigger and will it still do what it is supposed to do?

trigger supposed function: every 5 seconds damage every unit (not building) on the map by 80 damage for every pestilence unit that has at least 100 mana. I included the original trigger as a reference.

my version
Code:
Pestilence 2
    Events
        Time - Every 5.00 seconds of game time
    Conditions
    Actions
        Set Temp_Group = (Units of type Pestilence)
        Unit Group - Pick every unit in Temp_Group and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Integer((Mana of (Picked unit)))) Greater than or equal to 100
                    Then - Actions
                        Unit - Set mana of (Picked unit) to ((Mana of (Picked unit)) - 100.00)
                        Set Pest = (Units in (Playable map area))
                        Unit Group - Pick every unit in Pest and do (Actions)
                            Loop - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        ((Picked unit) is A structure) Equal to False
                                        ((Picked unit) is alive) Equal to True
                                    Then - Actions
                                        Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - 80.00)
                                        Special Effect - Create a special effect attached to the overhead of (Triggering unit) using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
                                        Special Effect - Destroy (Last created special effect)
                                    Else - Actions
                        Custom script:   call DestroyGroup(udg_Regen)
                        If ((ReverseDamage effect <gen> is on) Equal to True) then do (Unit - Set life of Mage 0001 <gen> to ((Life of Mage 0001 <gen>) - 80.00)) else do (Do nothing)
                        If ((ReverseDamage effect <gen> is on) Equal to True) then do (Unit - Set life of Mage 0004 <gen> to (Real(Life_before_Reverse))) else do (Do nothing)
                    Else - Actions
        Custom script:   call DestroyGroup(udg_Temp_Group)

original trigger
Code:
Pestilence Auto
    Events
        Time - Every 5.00 seconds of game time
    Conditions
        (Number of units in (Units of type Pestilence)) Greater than 0
    Actions
        Unit Group - Pick every unit in (Units of type Pestilence) and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Integer((Mana of (Picked unit)))) Greater than or equal to 100
                    Then - Actions
                        Unit - Set mana of (Picked unit) to ((Mana of (Picked unit)) - 100.00)
                        Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
                            Loop - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        ((Picked unit) is A structure) Equal to False
                                        ((Picked unit) is alive) Equal to True
                                    Then - Actions
                                        Unit Group - Add (Picked unit) to Pest
                                    Else - Actions
                        Unit Group - Pick every unit in (Units of type Pestilence) and do (Actions)
                            Loop - Actions
                                Unit Group - Pick every unit in Pest and do (Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - 80.00))
                                Unit Group - Pick every unit in Pest and do (Special Effect - Create a special effect attached to the overhead of (Picked unit) using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl)
                                If ((ReverseDamage effect <gen> is on) Equal to True) then do (Unit - Set life of Mage 0001 <gen> to ((Life of Mage 0001 <gen>) - 80.00)) else do (Do nothing)
                                If ((ReverseDamage effect <gen> is on) Equal to True) then do (Unit - Set life of Mage 0004 <gen> to (Real(Life_before_Reverse))) else do (Do nothing)
                                Unit Group - Remove all units from Pest
                    Else - Actions
 

afisakov

You can change this now in User CP.
Reaction score
37
If setting a unit group to units in map area leaks then how do I remove the leak? I thought the unit group would solve that leak? or is there a third unit group being used somewhere that I failed to spot. Can u please point out the spot if that is the case.
 

Tru_Power22

You can change this now in User CP.
Reaction score
144
Set a variable (Units in playable map area) to something. Then use that instead of units in playable map area.
 

afisakov

You can change this now in User CP.
Reaction score
37
I thought I did, only see one in the code, did I not do it properly
Code:
Pestilence 2
    Events
        Time - Every 5.00 seconds of game time
    Conditions
    Actions
        Set Temp_Group = (Units of type Pestilence)
        Unit Group - Pick every unit in Temp_Group and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Integer((Mana of (Picked unit)))) Greater than or equal to 100
                    Then - Actions
                        Unit - Set mana of (Picked unit) to ((Mana of (Picked unit)) - 100.00)
                        [B]Set Pest = (Units in (Playable map area))
                        Unit Group - Pick every unit in Pest and do (Actions)[/B]
                            Loop - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        ((Picked unit) is A structure) Equal to False
                                        ((Picked unit) is alive) Equal to True
                                    Then - Actions
                                        Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - 80.00)
                                        Special Effect - Create a special effect attached to the overhead of (Triggering unit) using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
                                        Special Effect - Destroy (Last created special effect)
                                    Else - Actions
                        Custom script:   call DestroyGroup(udg_Regen)
                        If ((ReverseDamage effect <gen> is on) Equal to True) then do (Unit - Set life of Mage 0001 <gen> to ((Life of Mage 0001 <gen>) - 80.00)) else do (Do nothing)
                        If ((ReverseDamage effect <gen> is on) Equal to True) then do (Unit - Set life of Mage 0004 <gen> to (Real(Life_before_Reverse))) else do (Do nothing)
                    Else - Actions
        Custom script:   call DestroyGroup(udg_Temp_Group)
 

afisakov

You can change this now in User CP.
Reaction score
37
oops, good catch. I copied and modified another trigger and forgot to change the text from "Regen" to "Pest". Removed it now
Code:
Pestilence 2
    Events
        Time - Every 5.00 seconds of game time
    Conditions
    Actions
        Set Temp_Group = (Units of type Pestilence)
        Unit Group - Pick every unit in Temp_Group and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Integer((Mana of (Picked unit)))) Greater than or equal to 100
                    Then - Actions
                        Unit - Set mana of (Picked unit) to ((Mana of (Picked unit)) - 100.00)
                        Set Pest = (Units in (Playable map area))
                        Unit Group - Pick every unit in Pest and do (Actions)
                            Loop - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        ((Picked unit) is A structure) Equal to False
                                        ((Picked unit) is alive) Equal to True
                                    Then - Actions
                                        Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - 80.00)
                                        Special Effect - Create a special effect attached to the overhead of (Triggering unit) using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
                                        Special Effect - Destroy (Last created special effect)
                                    Else - Actions
                        Custom script:   call DestroyGroup(udg_[B]Pest[/B])
                        If ((ReverseDamage effect <gen> is on) Equal to True) then do (Unit - Set life of Mage 0001 <gen> to ((Life of Mage 0001 <gen>) - 80.00)) else do (Do nothing)
                        If ((ReverseDamage effect <gen> is on) Equal to True) then do (Unit - Set life of Mage 0004 <gen> to (Real(Life_before_Reverse))) else do (Do nothing)
                    Else - Actions
        Custom script:   call DestroyGroup(udg_Temp_Group)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top