From f78105d262eb01fa74daecca450945c067bd73c7 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Thu, 14 Jul 2005 18:37:16 +0000 Subject: [PATCH] =?UTF-8?q?http://eressea.upb.de/mantis/view.php=3Fid=3D60?= =?UTF-8?q?0=20Pr=C3=A4kampfzauber=20beim=20Einrundenkampf=20kostet=20Aura?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ab sofort kosten Präkampfzauber immer Aura. Wer nicht will, dass sie gezaubert werden, möge sie abschalten, dafür gibt es einen Befehl. Ausserdem werden sie gezaubert, auch wenn der Magier auf KÄMPFE NICHT steht. Ein Mechanismus zur Verhinderung von Präkampfzaubern sollte reichen, zwei führen nur zu Fehlern und Verwirrung. --- src/common/kernel/battle.c | 23 ----------------------- src/common/kernel/magic.h | 2 -- 2 files changed, 25 deletions(-) diff --git a/src/common/kernel/battle.c b/src/common/kernel/battle.c index 31f13382a..43b6a00a3 100644 --- a/src/common/kernel/battle.c +++ b/src/common/kernel/battle.c @@ -1480,9 +1480,7 @@ do_combatmagic(battle *b, combatmagic_t was) for (fi = b->fighters.begin; fi != b->fighters.end; ++fi) { fighter * fig = *fi; unit * mage = fig->unit; - int row = get_unitrow(fig); - if (row>BEHIND_ROW) continue; if (fig->alive <= 0) continue; /* fighter kann im Kampf getötet worden sein */ level = eff_skill(mage, SK_MAGIC, r); @@ -1549,9 +1547,6 @@ do_combatmagic(battle *b, combatmagic_t was) level = ((cspell_f)sp->sp_function)(fig, level, power, sp); if (level > 0) { pay_spell(fig->unit, sp, level, 1); - if (was == DO_PRECOMBATSPELL) { - get_mage(fig->unit)->precombataura = level; - } } } } @@ -2433,24 +2428,6 @@ aftermath(battle * b) #endif } - /* Wenn die Schlacht kurz war, dann gib Aura für den Präcombatzauber - * zurück. Nicht logisch, aber die einzige Lösung, den Verlust der - * Aura durch Dummy-Angriffe zu verhindern. */ - - cv_foreach(s, b->sides) { - if (s->bf->lastturn+(b->has_tactics_turn?1:0)<=1) continue; - /* Prüfung, ob faction angegriffen hat. Geht nur über die Faction */ - if (!s->bf->attacker) { - fighter *fig; - cv_foreach(fig, s->fighters) { - sc_mage * mage = get_mage(fig->unit); - if (mage) - mage->spellpoints += mage->precombataura; - } cv_next(fig); - } - /* Alle Fighter durchgehen, Mages suchen, Precombataura zurück */ - } cv_next(s); - /* validate_sides(b); */ /* POSTCOMBAT */ do_combatmagic(b, DO_POSTCOMBATSPELL); diff --git a/src/common/kernel/magic.h b/src/common/kernel/magic.h index 16256af3d..def6c9a45 100644 --- a/src/common/kernel/magic.h +++ b/src/common/kernel/magic.h @@ -117,8 +117,6 @@ typedef struct sc_mage { int spellcount; spellid_t combatspell[MAXCOMBATSPELLS]; int combatspelllevel[MAXCOMBATSPELLS]; - int precombataura; /* Merker, wieviel Aura in den Präcombatzauber - gegangen ist. Nicht speichern. */ struct spell_ptr *spellptr; } sc_mage;