Well there is an easyer way (for me)
Take a curse with effects which you can easily nullify the start triggering. I haven't tested it but it should be something like this:
Events
Unit - A unit is attacked (Unit - Generic Unit Event)
Conditions
((Attacking unit) has buff [buff]) Equal to True (Boolean Comparison) (the part in () is Unit - Unit has specific buff and (Attacking unit) is Event Response - Attacking Unit)
Actions
Set life of (Attacking unit) to (Life of (Attacking unit)) - (Damage taken)) (This is Unit - Set Life (To Value)) (the (Attacking unit)s type can be seen above) (Use Arithmetic for the "-" and set the values to (Unit property) - (Event Response - Damage Taken))
Like I said I haven't tested it and it's as detailed as I could make it so here is a clean version:
Events
Unit - A unit is attacked
Conditions
((Attacking unit) has buff [buff]) Equal to True
Actions
Set life of (Attacking unit) to (Life of (Attacking unit)) - (Damage taken))
Short, simple and probably working
