Simple. Everyone seems to have trouble to make own auras but the direct way is as straightforward as it gets.
Periodically pick all carrier's of the ability, pick all possible targets around them, put them inside a pickedTargets group. Have another activeTargets group that shall contain the units that are currently buffed. Iterate over activeTargets and distinguish the two cases:
unit is within pickedTargets: Can be left untouched, only remove it from the pickedTargets, so you can see the remaining units.
unit is not in pickedTargets: Unit is no longer the target of the aura, therefore unbuff it -> remove from activeTargets and everything you applied to the unit.
The remaining units are the ones to be freshly buffed -> add them to activeTargets and apply effects.
That's it for the aura framework, alternatively you can use a standard aura and pick units by the standard buff instead of caster+range variant.
For the bonus damage, you can use the passive item ability Item: Bonus Damage.
There is a function to check the race of a unit, too.