Sure i guess if that works and its easier then do it lol maybe i was making it too complicated >.<
My friend ... This time I know the answer you not... hehe
Make 2 skills
1- spell book that has the skill item permanent add hp with levels (any level is how much u want to add)
2 - dummy spell that has requirements of custom dummy unit called "fucking 2"
Make 2 dummy units
1 - called fucking 1 that is actually timer
2 - called fucking 2 that is the requirements for the spell
Make 3 Triggers:
Trigger 1 of 3:
Trigger - game instalation
Action - Disable Spell Book (addited with a skill of an item that adds permanent hp)
For each integer from 1 to max players
Create one dummy unit (type 2) for each [Integer A]
go make a spell book with skill: permanent hit point adding. make the adding with a levels of the skill you want!.
Trigger 2 of 3
Trigger - unit cast a spell
condition - ability being cast is a dummy spell that do nothing - that gives his buff (you can add effects and stuff so it has more attributes or has better visuals)
Actions -
kill one random unit from unitgroup = the random is a unit type of fucking 2
set "playernumber" = (player number of casting unit)
set shithead [player number] = target of ability been cast.
create Dummy unit that the player cant see named "FUCKING1" (no need to set it into an value)
Add (the seconds you want this to last) time to shithead[playernumber] time to its timed life
Add spell book to "shithead[player number of casting unit]"
Trigger 3/3
trigger Unit dies
condition unit type equals to shit head
remove the skills spell book from "shithead"
create 1 dummy2 unit that called "FUCKING 2" for the player that the unit was dead in his army
Notes:
1 - I made it so you cant add hit points once for each player , this 3 triggers works perfectly if you attend to use it for one hero for each player (even if u cast this skill twise on same unit the extra hit points will stay as it should and not twise hit points.
2 - work with leak checker to make it leak less.
3 - you can addit it to make it work for many units but in that case you will have big difficulty to set the target unit for the removal, you will need "unit[100]" and each time save in [number + 1 from the trigger use before] and when it reachs "number = 100" set it back to zero.
since its complecated that much I just used one hero use to save the trouble of culculating all of this.
Enjoy.