}
game.shldup = false;
prout(_("***Shields are down."));
- if (KLINGREM) {
- pause_game(true);
+ if (game.state.remkl + game.state.remcom + game.state.nscrem) {
+ announce();
damagereport();
}
else
prout(_(" destroyed."));
game.state.nplankl++;
q->planet = NOPLANET;
- DESTROY(&game.state.planets[game.iplnet]);
+ game.state.planets[game.iplnet].pclass = destroyed;
game.iplnet = 0;
invalidate(game.plnet);
game.quad[w.x][w.y] = IHDOT;
prout(_(" destroyed."));
game.state.nworldkl++;
q->planet = NOPLANET;
- DESTROY(&game.state.planets[game.iplnet]);
+ game.state.planets[game.iplnet].pclass = destroyed;
game.iplnet = 0;
invalidate(game.plnet);
game.quad[w.x][w.y] = IHDOT;
r = (Rand()+Rand())*0.5 -0.5;
r += 0.002*game.kpower[loop]*r;
torpedo(course, r, jay, &hit, 1, 1);
- if (KLINGREM==0)
+ if ((game.state.remkl + game.state.remcom + game.state.nscrem)==0)
finish(FWON); /* Klingons did themselves in! */
if (game.state.galaxy[game.quadrant.x][game.quadrant.y].supernova || game.alldone)
return; /* Supernova or finished */
/* For each kind of enemy, finish message to player */
prout(_(" destroyed."));
game.quad[w.x][w.y] = IHDOT;
- if (KLINGREM==0)
+ if ((game.state.remkl + game.state.remcom + game.state.nscrem)==0)
return;
- game.state.remtime = game.state.remres/(game.state.remkl + 4*game.state.remcom);
+ game.state.remtime = game.state.remkl + game.state.remcom > 0 ?
+ game.state.remres/(game.state.remkl + 4*game.state.remcom) : 99;
/* Remove enemy ship from arrays describing local conditions */
if (is_scheduled(FCDBAS) && same(game.battle, game.quadrant) && type==IHC)
if (game.alldone || game.state.galaxy[game.quadrant.x][game.quadrant.y].supernova)
return;
}
- if (KLINGREM==0)
+ if ((game.state.remkl + game.state.remcom + game.state.nscrem)==0)
finish(FWON);
}
skip(1);
if (kpow == 0) {
deadkl(w, ienm, w);
- if (KLINGREM==0)
+ if ((game.state.remkl + game.state.remcom + game.state.nscrem)==0)
finish(FWON);
if (game.alldone)
return;