I have a map in which players can have a lot of triggered items with a bunch of them responding to damage done. It's a hero survival, so every player has just a single hero.
I am using a damage detection system:
GUI-Friendly Damage Detection -- v1.2.1 -- by Weep
And now I wonder if having a shitload of trigers responding to damage instances will really hurt game performances.
Now I could keep track wether a player has one of the items, and turn the trigger off if nobody has the said item, or I can just not mind.
Example of a 'reduces all damage by 20%' item:
Keeping track of items:
Or I can just:
What would be better in regard to game performance?
I am using a damage detection system:
GUI-Friendly Damage Detection -- v1.2.1 -- by Weep
And now I wonder if having a shitload of trigers responding to damage instances will really hurt game performances.
Now I could keep track wether a player has one of the items, and turn the trigger off if nobody has the said item, or I can just not mind.
Example of a 'reduces all damage by 20%' item:
Keeping track of items:
-
EquilibriumAcquired
-
Events
- Unit - A unit Acquires an item
-
Conditions
- (Item-type of (Item being manipulated)) Equal to Equilibrium
-
Actions
- Set EquilibriumAmount[(Player number of (Owner of (Triggering unit)))] = (EquilibriumAmount[(Player number of (Owner of (Triggering unit)))] + 1)
- If (((Triggering unit) is in EquilibriumOwners) Equal to False) then do (Unit Group - Add (Triggering unit) to EquilibriumOwners) else do (Do nothing)
- Trigger - Turn on EquilibriumDamage <gen>
- Trigger - Turn on EquilibriumLost <gen>
-
Events
-
EquilibriumDamage
-
Events
- Game - GDD_Event becomes Equal to 0.00
-
Conditions
- (GDD_DamagedUnit is in EquilibriumOwners) Equal to True
-
Actions
- Unit - Set life of GDD_DamagedUnit to ((Life of GDD_DamagedUnit) + (0.20 x GDD_Damage))
-
Events
-
EquilibriumLost
-
Events
- Unit - A unit Loses an item
-
Conditions
- (Item-type of (Item being manipulated)) Equal to Equilibrium
-
Actions
- Set EquilibriumAmount[(Player number of (Owner of (Triggering unit)))] = (EquilibriumAmount[(Player number of (Owner of (Triggering unit)))] - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- EquilibriumAmount[(Player number of (Owner of (Triggering unit)))] Equal to 0
-
Then - Actions
- Unit Group - Remove (Triggering unit) from EquilibriumOwners
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (EquilibriumOwners is empty) Equal to True
-
Then - Actions
- Trigger - Turn off (This trigger)
- Trigger - Turn off EquilibriumDamage <gen>
- Else - Actions
-
If - Conditions
- Else - Actions
-
If - Conditions
-
Events
Or I can just:
-
EquilibriumDamage Copy
-
Events
- Game - GDD_Event becomes Equal to 0.00
-
Conditions
- (GDD_DamagedUnit has an item of type Equilibrium) Equal to True
-
Actions
- Unit - Set life of GDD_DamagedUnit to ((Life of GDD_DamagedUnit) + (0.20 x GDD_Damage))
-
Events
What would be better in regard to game performance?