Thats wayne, you just need a passive, for example evasion, each time the hero who has that customized evasion kills a enemy a integer is taken + 1 and there you have a ability array with 30 places. Then you make 30 abilities, first adds 2 damage, second adds 4 etc and set them in the given array places ([1] = 2, [2] = 4 etc) and then remove each time he kills the current integer-1 (so you remove the last ability) and add the current arrays size as ability.
For example: Hero kills a unit and he has already 12 (which is array place [6]) + damage, then add 1 to the integer for the array which is now 7, now you remove integer-1 (which is [6]) and add [7] which is 14.