Bugfix Schiffsresistenz: Wenn ein Schiff resistent war, wurde der ganze Zauber nicht gesprochen

This commit is contained in:
Enno Rehling 2004-02-20 21:44:05 +00:00
parent 5276354493
commit c9a8fad508

View file

@ -3083,7 +3083,7 @@ magic(void)
{ /* einige oder alle Ziele waren magieresistent */
spellparameter *pa = co->par;
int n;
for (n = 0; n < pa->length; n++) {
for (n=0; n!=pa->length;++n) {
if(pa->param[n]->flag != TARGET_RESISTS
&& pa->param[n]->flag != TARGET_NOTFOUND)
{ /* mindestens ein erfolgreicher Zauberversuch, wir machen
@ -3091,16 +3091,19 @@ magic(void)
break;
}
}
if (n==pa->length) {
/* zwar wurde mindestens ein Ziel gefunden, das widerstand
* jedoch dem Zauber. Kosten abziehen und abbrechen. */
pay_spell(u, sp, level, co->distance);
countspells(u,1);
countspells(u, 1);
sprintf(buf, "%s gelingt es %s zu zaubern, doch der Spruch zeigt "
"keine Wirkung.", unitname(u),
spell_name(sp, u->faction->locale));
addmessage(0, u->faction, buf, MSG_MAGIC, ML_MISTAKE);
continue; /* äußere Schleife, nächster Zauberer */
}
break;
}
case 2:
default:
/* Zauber war erfolgreich */
@ -3113,7 +3116,7 @@ magic(void)
/* zuerst bezahlen, dann evt in do_fumble alle Aura verlieren */
pay_spell(u, sp, level, co->distance);
do_fumble(co);
countspells(u,1);
countspells(u, 1);
continue;
}
success = ((nspell_f)sp->sp_function)(co);