The spellschools.2da is editable, you can add up to 1 opposition school (or none). Classes pick this if set to in the PickSchool column is set to 1. It provides some bonuses and some negatives.
Spell School Stat Changes
These are more obviously hardcoded (no 2da field for them)
- 1 additional spell slot per spell level.
- +2 spellcraft to identify spells of that school
- -5 spellcraft to identify spells of the opposing school
Opposition School Learning and Using Restrictions
There are some engine limitations on opposition schools, specifically:
- Spell scrolls cannot be learned from or cast from
- However any other item with spells on it, regardless of school, however can be used
- In addition cantrips can be used regardless of spell school
You can further restrict things using spell hooks but the AI won't be aware of this (and by default are not affected by spell hooks). In addition this may break some default modules that assume everyone can use a wand with unlimited uses of Summon Monster 1 for instance.
This means if you create another type of spell scroll it will not respect opposing spell school requirements.