Ok, I went back to my original code for doing this, which works. It just isn't doing validity tests like I would like. But it works, and doesn't cause me the headaches that trying to do things across the hero does. Not the ideal solution, but a solution. Oh and I have to use the eval rules panel and set all these skill types to a class skill, then restrict their ranks. Something like this for Speak Languages on a Wizard.
@valid = 1
doneif (#levelcount[Bard] >= 1)
var genRanks as number
genRanks = (#totallevelcount[] + 3) / 2
if (#skillranks[kSpeakLang] > genRanks) then
@message = "Skill " & hero.child[kSpeakLang].field[name].text & " has too many ranks for a general skill."
@valid = 0
endif
Of course, the problem here is it happens within the class, making error validation on the skill difficult at best. As of now, it does a warning. Now I just have to do the same for all the other skills across the classes.
|