Starchart and base-attack tweaks.
[super-star-trek.git] / src / moving.c
index a8eb87b3ab6769876c61efb262865576e3408cd1..0d41dd18f10950eac57bfe95845f30a2ffe0de2f 100644 (file)
@@ -53,7 +53,7 @@ void imove(bool novapush)
                /* Don't do it if being pushed by Nova */
                if (game.nenhere != 0 && !novapush) {
                    newcnd();
-                   for_local_enemies(m) {
+                   for (m = 1; m <= game.nenhere; m++) {
                        finald = distance(w, game.ks[m]);
                        game.kavgd[m] = 0.5 * (finald + game.kdist[m]);
                    }
@@ -195,7 +195,7 @@ no_quad_change:
     /* No quadrant change -- compute new avg enemy distances */
     game.quad[game.sector.x][game.sector.y] = game.ship;
     if (game.nenhere) {
-       for_local_enemies(m) {
+       for (m = 1; m <= game.nenhere; m++) {
            finald = distance(w, game.ks[m]);
            game.kavgd[m] = 0.5 * (finald+game.kdist[m]);
            game.kdist[m] = finald;
@@ -203,7 +203,8 @@ no_quad_change:
        sortklings();
        if (!game.state.galaxy[game.quadrant.x][game.quadrant.y].supernova)
            attack(false);
-       for_local_enemies(m) game.kavgd[m] = game.kdist[m];
+       for (m = 1; m <= game.nenhere; m++)
+           game.kavgd[m] = game.kdist[m];
     }
     newcnd();
     drawmaps(0);
@@ -324,7 +325,7 @@ static void getcd(bool isprobe, int akey)
                prout(_("(Manual navigation assumed.)"));
            else
                prout(_("(Manual movement assumed.)"));
-           navmode = automatic;
+           navmode = manual;
            break;
        }
     }
@@ -510,7 +511,7 @@ void warp(bool timewarp)
        if (game.damage[DWARPEN] > 10.0) {
            chew();
            skip(1);
-           prout(_("Engineer Scott- \"The impulse engines are damaged, Sir.\""));
+           prout(_("Engineer Scott- \"The warp engines are damaged, Sir.\""));
            return;
        }
        if (damaged(DWARPEN) && game.warpfac > 4.0) {
@@ -758,8 +759,7 @@ void atover(bool igrab)
        crmshp();
        skip(1);
        prout(_("safely out of quadrant."));
-       if (!damaged(DRADIO))
-           game.state.galaxy[game.quadrant.x][game.quadrant.y].charted = true;
+       game.state.galaxy[game.quadrant.x][game.quadrant.y].charted = true;
        /* Try to use warp engines */
        if (damaged(DWARPEN)) {
            skip(1);
@@ -792,7 +792,7 @@ void atover(bool igrab)
     } while 
        /* Repeat if another snova */
        (game.state.galaxy[game.quadrant.x][game.quadrant.y].supernova);
-    if (KLINGREM==0) 
+    if ((game.state.remkl + game.state.remcom + game.state.nscrem)==0) 
        finish(FWON); /* Snova killed remaining enemy. */
 }
 
@@ -989,7 +989,7 @@ void mayday(void)
     }
     else {
        ddist = FOREVER;
-       for_starbases(m) {
+       for (m = 1; m <= game.state.rembase; m++) {
            xdist = QUADSIZE * distance(game.state.baseq[m], game.quadrant);
            if (xdist < ddist) {
                ddist = xdist;
@@ -1138,8 +1138,8 @@ void abandon(void)
            prout(_("Remainder of ship's complement beam down"));
            prout(_("to nearest habitable planet."));
        } else if (q->planet != NOPLANET && !damaged(DTRANSP)) {
-           prout(_("Remainder of ship's complement beam down"));
-           prout(_("to %s."), systnames[q->planet]);
+           prout(_("Remainder of ship's complement beam down to %s."),
+                   systnames[q->planet]);
        } else {
            prout(_("Entire crew of %d left to die in outer space."),
                    game.state.crew);
@@ -1163,7 +1163,7 @@ void abandon(void)
        for (;;) {
            /* position next to base by trial and error */
            game.quad[game.sector.x][game.sector.y] = IHDOT;
-           for_sectors(l) {
+           for (l = 1; l <= QUADSIZE; l++) {
                game.sector.x = 3.0*Rand() - 1.0 + game.base.x;
                game.sector.y = 3.0*Rand() - 1.0 + game.base.y;
                if (VALID_SECTOR(game.sector.x, game.sector.y) &&