diff --git a/src/common/gamecode/study.c b/src/common/gamecode/study.c index e576b6ba9..ebd9c8a11 100644 --- a/src/common/gamecode/study.c +++ b/src/common/gamecode/study.c @@ -542,10 +542,10 @@ learn(void) /* Vertraute zählen nicht zu den Magiern einer Partei, * können aber nur Graue Magie lernen */ mtyp = M_GRAU; - if (!has_skill(u, SK_MAGIC)) { + if (!has_skill(u, SK_MAGIC) || !is_mage(u)) { create_mage(u, mtyp); } - } else if (!has_skill(u, SK_MAGIC)){ + } else if (!has_skill(u, SK_MAGIC)) { /* Die Einheit ist noch kein Magier */ if (count_skill(u->faction, SK_MAGIC) + u->number > max_skill(u->faction, SK_MAGIC)) diff --git a/src/eressea/korrektur.c b/src/eressea/korrektur.c index 9a3f41796..9e1d582cd 100644 --- a/src/eressea/korrektur.c +++ b/src/eressea/korrektur.c @@ -1047,6 +1047,9 @@ fix_familiars(void) unitid(u), racename(lang, u, u->race), unitid(mage), factionid(u->faction))); } + if (has_skill(u, SK_MAGIC) && !is_mage(u)) { + create_mage(u, M_GRAU); + } } } }