-
Unit - A unit Enters Entire Map Area
-
Trigger - Add the event ((Triggering Unit) gets damaged) to MyTrigger <gen>
do that if you want event leaks ;P
the absolute most efficient one (not even close in similarity to the others as far as the back design goes) is the one I wrote. One of the challenges in a DamageEvent system is cleaning up the event leaks when units go out of scope (remove, decayed, etc). Some of them create 1 trigger for every unit (wtfx), otherwise will reregister all of the units on the entire map (spike much?), mine creates multiple triggers for groups of units and refreshes only when it is not costly to do so. This means no spikes, save on memory, and get great performance. It registers to triggers with the least units registered to them as well ; ).
Not only can you do all of this, but it has 1 very simple variable for modifying damage, and that is modifiedAmount. If you want the damage to be 0, set modifiedAmount to 0. If you want to access original damage, you can as well ; ). If you want the damage 100% absorbed, modifiedAmount = -modifiedAmount.
It doesn't get much easier than that.
edit
Not only do you get a great core and an easy to use system, but you get prioritized damage. If you want cold damage to run before absorb damage, you can do that easily with priorities! : D.
edit
Also has this absolutely fantastic system written for it, which will allow you to create the most complex things very easily
http://www.hiveworkshop.com/forums/submissions-414/system-damage-modification-effect-213608/
You create damage modifiers for units. For example, if you want a unit to reduce fire damage by 5, you create a modifier for it.