Как я написал выше, придётся переносить структуру героя, а кроме того, она вырастет в размере в (2 * кол-во новых заклов) байт. А это означает, что работы гораздо больше. Можно ещё попробовать заменить массивы:
_byte_ spell[70]; // +1002
_byte_ spell_level[70]; // +1072
на указатели, но в этом случае придётся научить код игры, работающий с этими полями, работать с указателями. Этот вариант был бы полегче, если бы не сейвы (в сейв указатель не запихнёшь). И это, скорее всего, не все подводные камни... Есть ещё вариант сжать эти массивы, превратив в битовые поля, но, опять же, придётся учить игру с ними работать. По-хорошему, нужно увеличивать размер _Hero_.
Так как работы много, поэтому разобью её на этапы: первый - сделать так, чтобы новые заклинания попадали в гильдию магов (уже что-то).