X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=moving.c;h=a5d11b3e25b7fba12bacd3d2726b8456365a220c;hp=f44aff4c2bd98f98ac10409bfd9b1a9f8e2d9464;hb=1268b882a9dc50ce93658979aaf1147b1cfbe11a;hpb=797f0f77ccdfd001fff39396ceae760478c2b920 diff --git a/moving.c b/moving.c index f44aff4..a5d11b3 100644 --- a/moving.c +++ b/moving.c @@ -97,9 +97,10 @@ void imove(void) 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 */ @@ -107,7 +108,8 @@ void imove(void) 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); @@ -151,7 +153,7 @@ void imove(void) 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); @@ -207,6 +209,7 @@ no_quad_change: newcnd(); iattak = 0; drawmaps(0); + setwnd(message_window); return; } @@ -233,8 +236,8 @@ void dock(int l) 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); @@ -639,8 +642,8 @@ void setwrp(void) 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) { @@ -760,7 +763,7 @@ void atover(int igrab) } 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. */ } @@ -783,7 +786,7 @@ void timwrp() 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 @@ -842,7 +845,7 @@ void probe(void) 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) { @@ -928,7 +931,7 @@ void help(void) 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) { @@ -955,7 +958,6 @@ void help(void) /* found one -- finish up */ sectx=ix; secty=iy; - game.quad[ix][iy]=IHMATER0; break; } } @@ -974,22 +976,26 @@ void help(void) } 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; }