Interestingly, though, there is no representation of neophyte level (i.e., level 1) in this system.
The relevant code is in Character.cpp, right here:
Code: Select all
D4W = sw(*(A2++) - 'A');
if (D4W > 0)
{
D0L = 125 << D4W;
pcA3->skills92[D6W].experience = D0L;
};
However, if the value is B, D4W is 1, which is immediately applied to 125 << 1 and we get a result of 250. BBBB results in a sum of 1000 which is a novice.
Is it a bug in CSBwin? I don't think so. I think this what FTL intended. Perhaps why there are almost no neophyte anythings in the DM mirrors. Daroou is a neophyte wizard because he is AABB: he has 0 levels in two subskills and 2 levels in the other two, resulting in a total of 0+0+250+250=500 xp.
As far as I know, all current sources got this wrong, including CSBuild.