diff --git a/src/common/kernel/save.c b/src/common/kernel/save.c index 07062b142..cd50adb2c 100644 --- a/src/common/kernel/save.c +++ b/src/common/kernel/save.c @@ -1539,11 +1539,15 @@ readgame(const char * filename, int mode, int backup) mage = get_mage(u); if (mage) { faction * f = u->faction; + int skl = effskill(u, SK_MAGIC); if (!is_monsters(f) && f->magiegebiet==M_GRAY) { log_error(("faction %s had magic=gray, fixing (%s)\n", factionname(f), magic_school[mage->magietyp])); f->magiegebiet = mage->magietyp; } + if (f->max_spelllevelmax_spelllevel = skl; + } if (mage->spellcount<0) { mage->spellcount = 0; updatespelllist(u);