Greetings, I made the custom ability for you. Let me explain how to use it and what you can change.
Basically in trigger CastHealWard the ability gets triggered, i do not recommend editing anything there except the Wait action, that action can be set to whatever number you need but it cannot be more than Duration of the ward.
-
CastHealWard
-

Events
-


Unit - A unit Spawns a summoned unit
-

Conditions
-


(Unit-type of (Summoned unit)) Equal to Healing Ward
-

Actions
-


Set HealCaster = (Summoning unit)
-


Set HealWard = (Summoned unit)
-


Set TempPoint = (Position of HealWard)
-


Trigger - Turn on Heal <gen>
-


Wait 10.00 game-time seconds <--Duration of ability, you can set it to whatever you want but it cannot be longer than Duration of the ward
-


Trigger - Turn off Heal <gen>
-


Custom script: call RemoveLocation(udg_TempPoint)
In Heal trigger you can edit almost anything you want, you can edit the event to change frequency of heals, range of the ward healing by editing that number, Attribute which affects the healing and multiplier (x 1.00) to fit the balance, you can set it to 0.50 if the healing is too much or 2.00 if its too low, the choice is yours.
-
Heal
-

Events
-


Time - Every 0.50 seconds of game time <-- Frequency of healing
-

Conditions
-

Actions
-


Set HealGroup = (Units within 500.00 of (Position of HealWard)) <-- Healing Range
-


Unit Group - Pick every unit in HealGroup and do (Actions)
-



Loop - Actions
-




Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + ((Real((Strength of HealCaster (Include bonuses)))) x 1.00)) <-- x 1.00 is multiplier, set it to whatever you want to fit the balance
-


Custom script: call DestroyGroup(udg_HealGroup)
Other stuff can be customisable in Object editor, If you have any questions then i'll try to answer them.
Note: only ONE ward can be active at the same time