game.damage[l] -= (game.damage[l]-repair > 0.0 ? repair : game.damage[l]);
/* If radio repaired, update star chart and attack reports */
if (radio_was_broken && game.damage[DRADIO] == 0.0) {
game.damage[l] -= (game.damage[l]-repair > 0.0 ? repair : game.damage[l]);
/* If radio repaired, update star chart and attack reports */
if (radio_was_broken && game.damage[DRADIO] == 0.0) {
prout("Lt. Uhura- \"Captain, the sub-space radio is working and");
prout(" surveillance reports are coming in.");
skip(1);
prout("Lt. Uhura- \"Captain, the sub-space radio is working and");
prout(" surveillance reports are coming in.");
skip(1);
else game.future[FTBEAM] = game.state.date+Time+expran(1.5*intime/game.state.remcom);
break;
case FSNAP: /* Snapshot of the universe (for time warp) */
else game.future[FTBEAM] = game.state.date+Time+expran(1.5*intime/game.state.remcom);
break;
case FSNAP: /* Snapshot of the universe (for time warp) */
for_commanders(k)
if (game.state.baseqx[j]==game.state.cx[k] && game.state.baseqy[j]==game.state.cy[k] &&
(game.state.baseqx[j]!=quadx || game.state.baseqy[j]!=quady) &&
for_commanders(k)
if (game.state.baseqx[j]==game.state.cx[k] && game.state.baseqy[j]==game.state.cy[k] &&
(game.state.baseqx[j]!=quadx || game.state.baseqy[j]!=quady) &&
if (j>game.state.rembase) {
/* no match found -- try later */
game.future[FBATTAK] = game.state.date + expran(0.3*intime);
if (j>game.state.rembase) {
/* no match found -- try later */
game.future[FBATTAK] = game.state.date + expran(0.3*intime);
/* did in the Supercommander! */
game.state.nscrem = game.state.isx = game.state.isy = isatb = iscate = 0;
iscdead = 1;
/* did in the Supercommander! */
game.state.nscrem = game.state.isx = game.state.isy = isatb = iscate = 0;
iscdead = 1;
if (game.state.remcom) {
int maxloop = game.state.remcom, l;
for (l = 1; l <= maxloop; l++) {
if (game.state.remcom) {
int maxloop = game.state.remcom, l;
for (l = 1; l <= maxloop; l++) {
/* destroy Romulans and planets in supernovaed quadrant */
nrmdead = game.state.galaxy[nqx][nqy].romulans;
game.state.galaxy[nqx][nqy].romulans = 0;
/* destroy Romulans and planets in supernovaed quadrant */
nrmdead = game.state.galaxy[nqx][nqy].romulans;
game.state.galaxy[nqx][nqy].romulans = 0;
if (insx) {
game.state.starkl += game.state.galaxy[nqx][nqy].stars;
game.state.basekl += game.state.galaxy[nqx][nqy].starbase;
if (insx) {
game.state.starkl += game.state.galaxy[nqx][nqy].stars;
game.state.basekl += game.state.galaxy[nqx][nqy].starbase;
condit == IHDOCKED)
game.state.galaxy[nqx][nqy].supernova = TRUE;
/* If supernova destroys last klingons give special message */
condit == IHDOCKED)
game.state.galaxy[nqx][nqy].supernova = TRUE;
/* If supernova destroys last klingons give special message */
skip(2);
if (insx == 0) prout("Lucky you!");
proutn("A supernova in %s has just destroyed the last Klingons.",
skip(2);
if (insx == 0) prout("Lucky you!");
proutn("A supernova in %s has just destroyed the last Klingons.",