forked from github/server
"Draigzauber Mächte des Todes ruft Skelette mit Talent Magie" added a one-time fix
This commit is contained in:
parent
4abaa699c4
commit
e5ce17b6ef
1 changed files with 38 additions and 1 deletions
|
@ -469,6 +469,43 @@ typedef struct gate_data {
|
||||||
struct region * target;
|
struct region * target;
|
||||||
} gate_data;
|
} gate_data;
|
||||||
|
|
||||||
|
static int
|
||||||
|
fix_undead(void)
|
||||||
|
{
|
||||||
|
region * r;
|
||||||
|
for (r=regions;r;r=r->next) {
|
||||||
|
unit * u;
|
||||||
|
for (u=r->units;u;u=u->next) {
|
||||||
|
if (u->race!=u->faction->race && u->skill_size>20) {
|
||||||
|
skill * sm = get_skill(u, SK_MAGIC);
|
||||||
|
skill * sa = get_skill(u, SK_HERBALISM);
|
||||||
|
|
||||||
|
if (sm && sa) {
|
||||||
|
int level = sm->level;
|
||||||
|
attrib * a = a_find(u->attribs, &at_mage);
|
||||||
|
if (a) {
|
||||||
|
a_remove(&u->attribs, a);
|
||||||
|
}
|
||||||
|
free(u->skills);
|
||||||
|
u->skills = 0;
|
||||||
|
u->skill_size = 0;
|
||||||
|
|
||||||
|
if (level>0) {
|
||||||
|
const race * rc = u->race;
|
||||||
|
skill_t sk;
|
||||||
|
for (sk=0;sk!=MAXSKILLS;++sk) {
|
||||||
|
if (rc->bonus[sk]>0) {
|
||||||
|
set_level(u, sk, level);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
fix_gates(void)
|
fix_gates(void)
|
||||||
{
|
{
|
||||||
|
@ -926,7 +963,7 @@ korrektur(void)
|
||||||
setup_locales();
|
setup_locales();
|
||||||
#endif
|
#endif
|
||||||
do_once("rdec", &road_decay);
|
do_once("rdec", &road_decay);
|
||||||
|
do_once("unfi", &fix_undead);
|
||||||
do_once("chgt", &fix_chaosgates);
|
do_once("chgt", &fix_chaosgates);
|
||||||
do_once("atrx", &fix_attribflags);
|
do_once("atrx", &fix_attribflags);
|
||||||
do_once("asfi", &fix_astral_firewalls);
|
do_once("asfi", &fix_astral_firewalls);
|
||||||
|
|
Loading…
Reference in a new issue