For some reason I had always presumed that the stats.ids entries were limited to storing values 0-255. Many certainly are, as crashes and/or the creature file structure would indicate, but others (MAXHITPOINTS, XP) obviously had a higher limit, or we would never reach level 2.
So I did some testing with the proficiency stats, since they are always stored as effects and thus have no fixed place/size in the creature file, and aside from #99(Halberd), which consistently crashed, the other proficiency stats were accurately detected both by scripts and SPLPROT when using values >255. I was even able to create a learn as you go proficiency system, incrementing the 2nd/3rd byte of the stat as the weapon was used, then increasing the 1st byte at certain thresholds, granting/incrementing actual proficiency.
The proficiency system itself ignored these higher values entirely, even when dual-classing, probably due to how it separates active/original class values, meaning there could effectively be an extra 100 stats to assign values, provided they are checked bitwise through SPLPROT.
Most importantly, are these values used internally anywhere that will cause conflict? If not, is there any known information on which stats can have 2-4 byte values?
So I did some testing with the proficiency stats, since they are always stored as effects and thus have no fixed place/size in the creature file, and aside from #99(Halberd), which consistently crashed, the other proficiency stats were accurately detected both by scripts and SPLPROT when using values >255. I was even able to create a learn as you go proficiency system, incrementing the 2nd/3rd byte of the stat as the weapon was used, then increasing the 1st byte at certain thresholds, granting/incrementing actual proficiency.
The proficiency system itself ignored these higher values entirely, even when dual-classing, probably due to how it separates active/original class values, meaning there could effectively be an extra 100 stats to assign values, provided they are checked bitwise through SPLPROT.
Most importantly, are these values used internally anywhere that will cause conflict? If not, is there any known information on which stats can have 2-4 byte values?









