yea apparently ability hash is not finished so use an array you can have all of your abilities preput in a table or something and then just add and remove whatever you need
for example you can have an ability array like this:
Add Ability_array_1[1] = war stomp
Add Ability_array_1[2] = bloodlust .......
then whatever abilities you need to add or remove depends on what unit you want to add them to.
you can use and If/Then/Else to know what unit is gaining the abilities
[trigger= lol]
Untitled Trigger 001
Events
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Unit-type of (Triggering unit)) Equal to Footman
Then - Actions
Unit - Add Ability_array_1[44] to (Triggering unit)
Unit - Add Ability_array_1[45] to (Triggering unit)
Unit - Add Ability_array_1[46] to (Triggering unit)
Unit - Add Ability_array_1[47] to (Triggering unit)
Else - Actions
[/trigger]
you can save units the same way as well as remove abilities i have no idea what events you intend to have so this is all i got