Noch ein Bug in sp_kampfzauber, diesmal ein total anderer

This commit is contained in:
Enno Rehling 2004-02-19 00:19:25 +00:00
parent d996889339
commit 1dbf48b5b4
2 changed files with 7 additions and 12 deletions

View File

@ -148,12 +148,12 @@ sp_kampfzauber(fighter * fi, int level, double power, spell * sp)
scat(":"); scat(":");
battlerecord(b, buf); battlerecord(b, buf);
do { while (force>0 && killed < enemies) {
dt = select_enemy(b, fi, minrow, maxrow); dt = select_enemy(b, fi, minrow, maxrow);
assert(dt.fighter); assert(dt.fighter);
--force; --force;
killed += terminate(dt, at, AT_COMBATSPELL, damage, false); killed += terminate(dt, at, AT_COMBATSPELL, damage, false);
} while (force && killed < enemies); }
sprintf(buf, "%d Personen %s getötet", sprintf(buf, "%d Personen %s getötet",
killed, killed == 1 ? "wurde" : "wurden"); killed, killed == 1 ? "wurde" : "wurden");

View File

@ -1910,8 +1910,7 @@ firstregion (faction * f)
plane * p = rplane(r); plane * p = rplane(r);
for (u = r->units; u; u = u->next) { for (u = r->units; u; u = u->next) {
if (u->faction == f) { if (u->faction == f) {
f->first = r; return f->first = r;
return r;
} }
} }
if (f->first == r->next) if (f->first == r->next)
@ -1919,21 +1918,17 @@ firstregion (faction * f)
for (ru = a_find(r->attribs, &at_travelunit); ru; ru = ru->nexttype) { for (ru = a_find(r->attribs, &at_travelunit); ru; ru = ru->nexttype) {
u = (unit*)ru->data.v; u = (unit*)ru->data.v;
if (u->faction == f) { if (u->faction == f) {
f->first = r; return f->first = r;
return r;
} }
} }
if (check_leuchtturm(r, f)) { if (check_leuchtturm(r, f)) {
f->first = r; return f->first = r;
return r;
} }
if (p && is_watcher(p, f)) { if (p && is_watcher(p, f)) {
f->first = r; return f->first = r;
return r;
} }
} }
f->first = regions; return f->first = regions;
return regions;
} }
void ** blk_list[1024]; void ** blk_list[1024];