Spell permission checks & Use the usable-spells rule