forked from github/server
Bugfix Schiffsresistenz: Wenn ein Schiff resistent war, wurde der ganze Zauber nicht gesprochen
This commit is contained in:
parent
5276354493
commit
c9a8fad508
1 changed files with 14 additions and 11 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue