Starchart and base-attack tweaks.
[super-star-trek.git] / src / moving.c
index 2ee44367afd1417e41fb897ebb11a060f446814e..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);
@@ -250,7 +251,7 @@ void dock(bool verbose)
 /* 
  * This program originally required input in terms of a (clock)
  * direction and distance. Somewhere in history, it was changed to
- * cartesian coordinates. So we need to convert. I think
+ * cartesian coordinates. So we need to convert.  Probably
  * "manual" input should still be done this way -- it's a real
  * pain if the computer isn't working! Manual mode is still confusing
  * because it involves giving x and y motions, yet the coordinates
@@ -268,9 +269,8 @@ static void getcd(bool isprobe, int akey)
     coord incr;
     bool iprompt = false;
 
-    /* Get course direction and distance. If user types bad values, return
-       with DIREC = -1.0. */
-
+    // Get course direction and distance. If user types bad values, return
+    // with DIREC = -1.0.
     game.direc = -1.0;
        
     if (game.landed && !isprobe) {
@@ -325,7 +325,7 @@ static void getcd(bool isprobe, int akey)
                prout(_("(Manual navigation assumed.)"));
            else
                prout(_("(Manual movement assumed.)"));
-           navmode = automatic;
+           navmode = manual;
            break;
        }
     }
@@ -511,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) {
@@ -759,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);
@@ -793,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. */
 }
 
@@ -836,8 +835,8 @@ void timwrp()
                }
            }
        }
-       /* Likewise, if in the original time the Galileo was abandoned, but
-          was on ship earlier, it would have vanished -- lets restore it */
+       // Likewise, if in the original time the Galileo was abandoned, but
+       // was on ship earlier, it would have vanished -- let's restore it.
        if (game.iscraft == offship && !gotit && game.damage[DSHUTTL] >= 0.0) {
            prout(_("Checkov-  \"Security reports the Galileo has reappeared in the dock!\""));
            game.iscraft = onship;
@@ -990,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;
@@ -1066,25 +1065,25 @@ void mayday(void)
 }
 
 /*
-**  Abandon Ship
-**
-**     The ship is abandoned.  If your current ship is the Faire
-**     Queene, or if your shuttlecraft is dead, you're out of
-**     luck.  You need the shuttlecraft in order for the captain
-**     (that's you!!) to escape.
-**
-**     Your crew can beam to an inhabited starsystem in the
-**     quadrant, if there is one and if the transporter is working.
-**     If there is no inhabited starsystem, or if the transporter
-**     is out, they are left to die in outer space.
-**
-**     If there are no starbases left, you are captured by the
-**     Klingons, who torture you mercilessly.  However, if there
-**     is at least one starbase, you are returned to the
-**     Federation in a prisoner of war exchange.  Of course, this
-**     can't happen unless you have taken some prisoners.
-**
-*/
+ *  Abandon Ship
+ *
+ *     The ship is abandoned.  If your current ship is the Faire
+ *     Queene, or if your shuttlecraft is dead, you're out of
+ *     luck.  You need the shuttlecraft in order for the captain
+ *     (that's you!!) to escape.
+ *
+ *     Your crew can beam to an inhabited starsystem in the
+ *     quadrant, if there is one and if the transporter is working.
+ *     If there is no inhabited starsystem, or if the transporter
+ *     is out, they are left to die in outer space.
+ *
+ *     If there are no starbases left, you are captured by the
+ *     Klingons, who torture you mercilessly.  However, if there
+ *     is at least one starbase, you are returned to the
+ *     Federation in a prisoner of war exchange.  Of course, this
+ *     can't happen unless you have taken some prisoners.
+ *
+ */
 
 void abandon(void) 
 /* abandon ship */
@@ -1139,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);
@@ -1164,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) &&