A bit of documentation swiped and edited from the BSD code.
[super-star-trek.git] / src / moving.c
index 3ed56a4d8517f9d184360f1406db377749cfaf04..cb6e197b51e5c5625693382f65f9fd830767e42f 100644 (file)
@@ -9,7 +9,8 @@ void imove(void)
 {
     double angle, deltax, deltay, bigger, x, y,
         finald, stopegy, probf;
-    int n, m, kink, kinks, iquad;
+    int n, m, kink, kinks;
+    feature iquad;
     coord w, final;
     bool trbeam = false;
 
@@ -276,7 +277,7 @@ static void getcd(bool isprobe, int akey)
        return;
     }
     while (navmode == unspecified) {
-       if (damaged(DCOMPTR)) {
+       if (damaged(DNAVSYS)) {
            if (isprobe)
                prout(_("Computer damaged; manual navigation only"));
            else
@@ -906,6 +907,26 @@ void probe(void)
     return;
 }
 
+/*
+ *     Here's how the mayday code works:
+ *
+ *     First, the closest starbase is selected.  If there is a
+ *     a starbase in your own quadrant, you are in good shape.
+ *     This distance takes quadrant distances into account only.
+ *
+ *     A magic number is computed based on the distance which acts
+ *     as the probability that you will be rematerialized.  You
+ *     get three tries.
+ *
+ *     When it is determined that you should be able to be remater-
+ *     ialized (i.e., when the probability thing mentioned above
+ *     comes up positive), you are put into that quadrant (anywhere).
+ *     Then, we try to see if there is a spot adjacent to the star-
+ *     base.  If not, you can't be rematerialized!!!  Otherwise,
+ *     it drops you there.  It only tries five times to find a spot
+ *     to drop you.  After that, it's your problem.
+ */
+
 void mayday(void) 
 /* yell for help from nearest starbase */
 {