Spellcasting Refactor
Refactors the entire spellcasting system per #182
Currently working on re-writing the entire spellbook organization system, this will replace both calls in the organizeSpellbook method:
organizeSpellbooks(spells) {
this.data.spellbook = this.sheet._prepareSpellbook(this.data, spells);
this.data.innateSpellbook = new InnateSpellbookPrep(this.data.spellbook, this.sheet).prepare();
}
The InnateSpellbookPrep class will be dropped, and reliance on the system-level _prepareSepllbook method will be dropped.
Currently, if you open a sheet the new spellbook data structures will be logged to the console, but the displayed info on the sheet is still unchanged.
I've started working on the new templates to handle the new spellcasting format, so far I just have really basic stuff in place so that something prints out using the new spellbook organization.
Alright, I've got it to the point where spellcasting features show up again, and they have descriptions and spell lists that work. Pretty close to parity with old features.
I don't think resources are working correctly yet, and I still need to implement some of the new complicated sorting logic. But the basics are now working.