Incorporate BSD-Trek visual-scan code, just in case.
[super-star-trek.git] / src / sst.c
index f0ee5f9b6c9403853b0fceb967bdb57ab4d846c4..0ae5598fda18feb55d90af6e39fc5e25ce446751 100644 (file)
--- a/src/sst.c
+++ b/src/sst.c
@@ -168,6 +168,11 @@ for a lot of magic numbers and refactored the heck out of it.
       worlds enabled, they must have one in the quadrant to beam down
       to; otherwise they die in space and this counts heavily against
       your score.  Docking at a starbase replenishes your crew.
+
+   8. Still more BSD-Trek: we now have a weighted damage table.
+      Also, the nav subsystem (enabling automatic course
+      setting) can be damaged separately from the main computer (which
+      handles weapons targeting, ETA calculation, and self-destruct).
 */
 
 /* the input queue */
@@ -196,6 +201,7 @@ char *device[NDEVICES] = {
        "Subspace Radio",
        "Shuttle Craft",
        "Computer",
+       "Navigation System",
        "Transporter",
        "Shield Control",
        "Death Ray",
@@ -285,6 +291,10 @@ commands[] = {
        {"HELP",        HELP,           0},
 #define SEED   37
        {"SEED",        SEED,           0},
+#if BSD_BUG_FOR_BUG
+#define VISUAL 38
+       {"VISUAL",      VISUAL,         0},
+#endif
 };
 
 #define NUMCOMMANDS    sizeof(commands)/sizeof(commands[0])
@@ -462,8 +472,8 @@ static void makemoves(void)
        case SHIELDS:                   // shields
            doshield(false);
            if (game.ididit) {
-               hitme=true;
-               game.shldchg = 0;
+               hitme = true;
+               game.shldchg = false;
            }
            break;
        case DOCK:                      // dock
@@ -566,6 +576,11 @@ static void makemoves(void)
            if (key == IHREAL)
                seed = (int)aaitem;
            break;
+#if BSD_BUG_FOR_BUG
+       case VISUAL:
+           visual();                   // perform visual scan
+           break;
+#endif
        }
        commandhook(commands[i].name, false);
        for (;;) {