Of all of the data used in character generation, the most complex to decode has been the formula to determine the cost of skills. With a bit of diligence, it was possible to discover the formulas involved. Most importantly for players, the formulas reveal a behaviour so extreme that its almost an exploit.
And this behaviour? Learning bonuses are cumulative. More, they gain in benefit as the skill increases in level. This makes even a single level of a learning bonus very valuable at higher levels, and three or more on a single skill almost absurd.
So let's explore the forumula based on the input variables.
| Cost | Increment | Skills |
|---|---|---|
| Low | 0 | wL, wPl, dAl, dSl, tI, tP |
| Low | 1 | wA, wT, wPh, dP, mMw, tD, tSn, xNj |
| Low | 2 | wM, dAm, dSm, xCs, xCb, xDl, xHe, xIn, xIr, xSp |
| Low | 3 | wH, dAh, dSh, mCh, mSc |
| Low | 4 | tBs |
| High | 0 | wDl, gA, gB, mA, mC, mN, mR |
| High | 1 | |
| High | 2 | wDh |
| Unimplemented | gR, gS, mI, mAl, tSt |
Low cost skills cost 1000 advancement points for level 1, high cost skills cost 3000 advancement points for level 1.
The increment number is an implied increase in the level of the skill to make it more expensive. This means that level 1 medium shield is calculated as if it were level 3 low cost skill instead, level 2 is a level 4 low cost skill, et cetera.
The base cost of the skill is determined by calculating the exponent of 2 raised to the power of the implied level - 1. This number is multipled by the starting cost for the skill (1000 for low cost skills and 3000 for high cost skills.)
base_cost = initial_cost * ( 2 ^ ( skill_level + level_increment - 1 ) )
Intelligence is worth half of a percent bonus per point over the base level of ten.
int_bonus = ( intelligence - 10 ) * 0.005
The learning bonus increases in value for each class that offers the bonus on a given skill. For example, a Fighter/Adept would have two learning bonuses on all light and medium armour and shield costs, while both have zero learning bonuses for arcane magic. The base value 0.74949 is raised to this value. (For those who'se math is rusty, this means that no learning bonuses at all gives a result of 1.0.)
learning_skill_factor = 0.74949 ^ num_learning_bonuses
This is the complex one. In addition to the benefit gained simply by having learning bonuses, a second benefit it gained based on the level of the skill to be gained. This means that the benefit for having a learning bonus is greater for a level 4 skill than that for a level 3 skill. Add in multiple learning bonuses and this number can become very impressive.
level_skill_factor = ( 0.9 ^ num_learning_bonuses ) ^ ( skill_level - 1 )
To determine the final advance cost, you need to multiply the various values together
cost = base_cost * int_bonus * learning_skill_factor * level_skill_factor
Now these results aren't perfect. In fact, they tend to be off by one or two points, but the numbers are very close. If anyone wants to fine-tune the results, please share the outcome of your efforts.
The following table shows the skill point costs for a low-cost skill from levels one through ten for a human male with an intelligence of twelve.
| Level | Normal | Single | Double | Triple | Quad | Quint |
|---|---|---|---|---|---|---|
| 1 | 990 | 742 | 556 | 416 | 312 | 234 |
| 2 | 1980 | 1336 | 901 | 608 | 410 | 277 |
| 3 | 3960 | 2404 | 1461 | 887 | 538 | 326 |
| 4 | 7920 | 4330 | 2367 | 1293 | 706 | 386 |
| 5 | 15840 | 7794 | 3835 | 1886 | 928 | 456 |
| 6 | 31680 | 14029 | 6213 | 2751 | 1217 | 539 |
| 7 | 63360 | 25253 | 10065 | 4011 | 1598 | 636 |
| 8 | 126720 | 45456 | 16306 | 5848 | 2097 | 752 |
| 9 | 253440 | 81822 | 26416 | 8527 | 2753 | 888 |
| 10 | 506880 | 147281 | 42794 | 12434 | 3612 | 1049 |
Pretty impressive results, no? Learning bonuses are the key to some absurdly powerful character builds.