diff --git a/src/common/kernel/battle.c b/src/common/kernel/battle.c index 7270185f2..a0da092ca 100644 --- a/src/common/kernel/battle.c +++ b/src/common/kernel/battle.c @@ -722,6 +722,7 @@ static int CavalryBonus(const unit * u, troop enemy) { static int mode = -1; + if (mode<0) { mode = get_param_int(global.parameters, "rules.cavalry.mode", 1); } diff --git a/src/common/kernel/magic.c b/src/common/kernel/magic.c index b56504569..9bcc1f99e 100644 --- a/src/common/kernel/magic.c +++ b/src/common/kernel/magic.c @@ -1081,6 +1081,8 @@ spellpower(region * r, unit * u, const spell * sp, int cast_level, struct order { curse * c; double force = cast_level; + int elf_power = -1; + if (sp==NULL) { return 0; } else { @@ -1091,6 +1093,12 @@ spellpower(region * r, unit * u, const spell * sp, int cast_level, struct order } if (get_item(u, I_RING_OF_POWER) > 0) ++force; + if (elf_power<0) { + elf_power = get_param_int(global.parameters, "rules.magic.elfpower", 0); + } + if (elf_power && u->race==new_race[RC_ELF] && r_isforest(r)) { + ++force; + } /* Antimagie in der Zielregion */ c = get_curse(r->attribs, ct_find("antimagiczone")); diff --git a/src/res/e2k9.xml b/src/res/e2k9.xml index 9aabedf20..5195995cc 100644 --- a/src/res/e2k9.xml +++ b/src/res/e2k9.xml @@ -138,6 +138,7 @@ +