WingOver said:
Earlier you talked about "exceptions" which I assume you meant (for example):
Humans may pick "any" language as a bonus language except secret languages such as "druidic". I can see how that could become problematic, especially later if the user was to add more normal/secret languages to his campaign.
The exception problem doesn't sound the same as the extensibility problem. Can you give a specific example of the extensibility problem?
They are related; often, the extensions contain NEW exceptions.
Example: In the Core rules, may Prestige Classes add to the spellcasting ability of a "Previous Spellcasting Class". Others have their own progressions, which are separate no matter what you had before.
Someone coding a tool would look at that and say, "Ok, I need to make the tool able to recognize spellcasting classes and be able to allow you to specify which one gets advanced when there's a choice."
Then, along comes the 3.5 revisions, and the Mystic Theurge. Wait a minute ! TWO classes get improved ? It is an EXCEPTION to the normal "set" of rules.
With a little foresight, the coder *might* be able to predict "It is not too unreasonable that some PrC might boost a specific prior class, or grant it if you did not already have it, I suppose. So I should write in stuff to handle that. "
So, Complete Warrior's "Stalker of Kharrash" PrC is handled (gives +1 Ranger spellcasting per level).
Now, some 3.0 expansions gave 1/2 spellcaster advancement.
But I don't think most people would have predicted that Complete Divine would add classes that give two different versions of 8 levels out of 10 (+1, +1, +1, +1, NO, +1, +1, +1, +1, NO as Seeker of the Misty Isle, or +1, +1, +1, NO, +1, +1, +1. NO, +1, +1 as Sacred Fist), an arcane class with 6 out of 10 (Rainbow Servant), another Divine class with 7 out of 10 (Hospitaler), and another with 8 out of 13 (Void Disciple).
These are exceptions that don't fit any prior patterns. Under the original rules, giving 10-for-10 would be normal and the Eldritch Knight's 9-for-10 a singular exception. Giving #-for-10 would be fine, if the same number had the same pattern, but the two 8-for-10 progressions don't, and the 13-level PrC is just "waaay out in left field" as far as exceptions go.
Most programs use internal rules to make sure the data gets in correctly. PrCs had 5 or 10 levels in the core rules, not 13. Trying to add "Level 11" to a Prestige Class would, in user-friendly software, trigger an error message, because up until the release of this class, it WOULD be a mistake (the individual DM's creations excluded).
Other Exceptions:
Rule: Only characters with 4 levels of Fighter can select the Weapon Specialization feat.
Exception: Favored Soul gets the feat for free at 12th level.
Based on that, one could write a tool that allows only characters with 4 levels of Fighter to have the Weapon Specialization feat. Trying to add the Favored Soul class would require more than just listing the levels, though; you'd need some way *around* the built-in limitation so they could get Weapon Specialization at 12th.