This is about equalizing the value of attack skills to the "tier level" (skill level * tier) of the skill itself so we have an actual rationale for balance.
Here we see some bonuses that cleave and a couple similar skills get:
case SKILL_CLEAVE:
return cleave_mult ( HPLEFT ( vict ), tier ) + ( total_chance ( ch, SKILL_CLEAVE ) /100.0f );
case SKILL_BEHEAD:
return cleave_mult ( HPLEFT ( vict ), tier ) + ( total_chance ( ch, SKILL_BEHEAD ) /100.0f );
case SKILL_THRUST:
return cleave_mult ( HPLEFT ( vict ), tier ) + ( total_chance ( ch, SKILL_THRUST ) /100.0f );
total_chance appears to add up your skill in the skill and any pre-requisites and then divide by the number of skills/pre-reqs. So if you have Dropkick which is based off of kick you have both at 100 that's 100 total_chance. If kick is at 100 and dropkick is at 50 though that'd be 75. Of course this is documented no-where, just had to go look up the code
HPLEFT is: #define HPLEFT(vict) ((GET_HIT(vict)*100)/GET_MAX_HIT(vict)) but is only used for this particular function for some reason.
Here we see the actual cleave formula:
float cleave_mult ( int level, int tier )
{
switch ( tier )
{
default:
return 1.1f + ( level < 10 );
case 1:
return 1.55f + ( level < 10 );
case 2:
return 1.7f + ( level < 10 );
case 3:
return 1.9f + ( level < 10 );
case 4:
return 2.0f + ( level < 10 );
}
}
This is all used in: dam = FTOI ( dam * ( GET_SKILLMULTI ( ch ) = skill_type_multi ( ch, vict, type ) ) );
Which is saying that the damage is current damage times multiplier.
-----
So with the current system cleave_mult will return a multiplier based on your current tier, if you're tier4 you get a 2.0 multiplier, if you're tier1 in your current class you get a 1.55f multiplier. This is also given an extra 1x if your opponent is below 10% hp left.
As we can see from this, the actual bonus from these skills has nothing to do with the level or tier they're set at, but with your own particular tier. It also looks so far like each skill is as valuable as the other, so most the perceived differences are likely either defined elsewhere, or are based on the accuracy or damage bonuses that individual classes get either by virtue of being a class, or from class mastery (which is another ball of wax altogether
).
More research shortly.