In that case, why not write the class substitutions as follows:
Both are level independent.
The medium armor proficiency has no prereq.
The heavy armor one has a prereq of medium armor proficiency without heavy armor proficiency (testing for the normal proficiency tags on the hero), and a prereq that its minimum level is 3. Both grant their proficiency without requiring anything else.
Because of the prereqs, the user won't be able to add those class variants without validation errors until the class is legal to use them (this is, admittedly, somewhat different from the other class variants, which are designed to be something that can be added anytime before you become eligible for them, but it saves a whole lot of time and trouble in the coding).
|