Modify heroes to not have any attribute bonus at object editor.
-
Untitled Trigger 022
-

Events
-


Unit - A unit Gains a level
-

Conditions
-


((Level of (Triggering unit)) mod 3) Equal to 0
-

Actions
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Unit-type of (Triggering unit)) Equal to Paladin
-



Then - Actions
-




Hero - Modify Strength of (Triggering unit): Add 2
-




Hero - Modify Agility of (Triggering unit): Add 1
-




Hero - Modify Intelligence of (Triggering unit): Add 1
-



Else - Actions
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






(Unit-type of (Triggering unit)) Equal to Archmage
-





Then - Actions
-






Hero - Modify Strength of (Triggering unit): Add 1
-






Hero - Modify Agility of (Triggering unit): Add 1
-






Hero - Modify Strength of (Triggering unit): Add 3
-





Else - Actions
You can only add integers with triggers, but if you want to add 2.3 per level, you can kind of do that too. Use a real for the unit, then convert it to an integer and give that integer to the unit. Real -> integer will round it down, so then you take the amount that gets lost in the conversion and keep it saved. Then each time the unit gains attribute points, you keep adding the number that gets cut down due to the conversion to the previous number. Then check whether the number is over 1, if it is then give one additional attribute point to the unit.
For example, you want to give 2.6 str per level.
At first level up, he gains 2 str, 0.6 will be left over. Save that 0.6. The next time the unit gains str, it gets 2 str again, but now the "overfolw" is 0.6 + 0.6 = 1.2. Give one additional str point, and save that 0.2 and so on.'
EDIT: Ah, too late. Well I hope the decimal system helps.