finish(FNEG3);
return;
}
- prout("\n\rYOU HAVE ATTEMPTED TO CROSS THE NEGATIVE ENERGY BARRIER\n\r"
- "AT THE EDGE OF THE GALAXY. THE THIRD TIME YOU TRY THIS,\n\r"
- "YOU WILL BE DESTROYED.\n\r");
+ skip(1);
+ prout("YOU HAVE ATTEMPTED TO CROSS THE NEGATIVE ENERGY BARRIER");
+ prout("AT THE EDGE OF THE GALAXY. THE THIRD TIME YOU TRY THIS,");
+ prout("YOU WILL BE DESTROYED.");
}
/* Compute final position in new quadrant */
if (trbeam) return; /* Don't bother if we are to be beamed */
quady = (iy+(QUADSIZE-1))/QUADSIZE;
sectx = ix - QUADSIZE*(quadx-1);
secty = iy - QUADSIZE*(quady-1);
- prout("\n\rEntering %s.",
+ skip(1);
+ prout("Entering %s.",
cramlc(quadrant, quadx, quady));
game.quad[sectx][secty] = ship;
newqad(0);
if (game.damage[l]>0)
n++;
probf=pow(1.4,(energy+shield)/5000.0-1.0)*pow(1.3,1.0/(n+1)-1.0);
- if (Rand()>probf)
+ if ((game.options & OPTION_BLKHOLE) && Rand()>probf)
timwrp();
else
finish(FHOLE);
newcnd();
iattak = 0;
drawmaps(0);
+ setwnd(message_window);
return;
}
shield = inshld;
torps = intorps;
lsupres = inlsr;
- if (stdamtim != 1e30 &&
- (game.future[FCDBAS] < 1e30 || isatb == 1) && iseenit == 0) {
+ if (game.damage[DRADIO] == 0.0 &&
+ (game.future[FCDBAS] < FOREVER || isatb == 1) && iseenit == 0) {
/* get attack report from base */
prout("Lt. Uhura- \"Captain, an important message from the starbase:\"");
attakreport(0);
return;
}
if (game.damage[DWARPEN] > 0.0 && aaitem > 4.0) {
- prout("Engineer Scott- \"I'm doing my best, Captain,\n"
- " but right now we can only go warp 4.\"");
+ prout("Engineer Scott- \"I'm doing my best, Captain,");
+ prout(" but right now we can only go warp 4.\"");
return;
}
if (aaitem > 10.0) {
} while
/* Repeat if another snova */
(game.state.galaxy[quadx][quady].supernova);
- if (game.state.remkl==0)
+ if (KLINGREM==0)
finish(FWON); /* Snova killed remaining enemy. */
}
be sooner */
if (game.state.nscrem) game.future[FSCMOVE] = 0.2777;
isatb = 0;
- game.future[FCDBAS] = game.future[FSCDBAS] = 1e30;
+ game.future[FCDBAS] = game.future[FSCDBAS] = FOREVER;
batx = baty = 0;
/* Make sure Galileo is consistant -- Snapshot may have been taken
prout("Engineer Scott- \"The probe launcher is damaged, Sir.\"");
return;
}
- if (game.future[FDSPROB] != 1e30) {
+ if (game.future[FDSPROB] != FOREVER) {
chew();
skip(1);
if (game.damage[DRADIO] != 0 && condit != IHDOCKED) {
ddist = sqrt(square(basex-sectx)+square(basey-secty));
}
else {
- ddist = 1e30;
+ ddist = FOREVER;
for_starbases(l) {
xdist=10.0*sqrt(square(game.state.baseqx[l]-quadx)+square(game.state.baseqy[l]-quady));
if (xdist < ddist) {
/* found one -- finish up */
sectx=ix;
secty=iy;
- game.quad[ix][iy]=IHMATER0;
break;
}
}
}
proutn(" attempt to re-materialize ");
crmshp();
- warble();
- if (Rand() > probf) break;
switch (l){
- case 1: game.quad[ix][iy]=IHMATER1;
+ case 1: game.quad[ix][iy]=IHMATER0;
break;
- case 2: game.quad[ix][iy]=IHMATER2;
+ case 2: game.quad[ix][iy]=IHMATER1;
break;
- case 3: game.quad[ix][iy]=IHQUEST;
+ case 3: game.quad[ix][iy]=IHMATER2;
break;
}
textcolor(RED);
+ warble();
+ if (Rand() > probf) break;
prout("fails.");
delay(500);
textcolor(DEFAULT);
}
if (l > 3) {
+ game.quad[ix][iy]=IHQUEST;
+ alive = 0;
+ drawmaps(1);
+ setwnd(message_window);
finish(FMATERIALIZE);
return;
}