X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=src%2Fmoving.c;h=cb6e197b51e5c5625693382f65f9fd830767e42f;hp=e7e90af01a9cf04057f7005eeb212414f3b204ee;hb=8f5eef7a4dcbfd3fa8ee33e1f50ae4b0c53efc9c;hpb=c0682ebb9ae828d035d59892a65e1849d85963b7 diff --git a/src/moving.c b/src/moving.c index e7e90af..cb6e197 100644 --- a/src/moving.c +++ b/src/moving.c @@ -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; @@ -33,7 +34,7 @@ void imove(void) /* If tractor beam is to occur, don't move full distance */ if (game.state.date+game.optime >= scheduled(FTBEAM)) { trbeam = true; - game.condit = IHRED; + game.condition = red; game.dist = game.dist*(scheduled(FTBEAM)-game.state.date)/game.optime + 0.1; game.optime = scheduled(FTBEAM) - game.state.date + 1e-5; } @@ -57,7 +58,7 @@ void imove(void) game.kavgd[m] = 0.5 * (finald + game.kdist[m]); } /* - * Stas Sergeev added the game.condition + * Stas Sergeev added the condition * that attacks only happen if Klingons * are present and your skill is good. */ @@ -211,7 +212,7 @@ void dock(bool verbose) /* dock our ship at a starbase */ { chew(); - if (game.condit == IHDOCKED && verbose) { + if (game.condition == docked && verbose) { prout(_("Already docked.")); return; } @@ -224,7 +225,7 @@ void dock(bool verbose) prout(_(" not adjacent to base.")); return; } - game.condit = IHDOCKED; + game.condition = docked; if (verbose) prout(_("Docked.")); game.ididit = true; if (game.energy < game.inenrg) game.energy = game.inenrg; @@ -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 @@ -857,7 +858,7 @@ void probe(void) if (is_scheduled(FDSPROB)) { chew(); skip(1); - if (damaged(DRADIO) && game.condit != IHDOCKED) { + if (damaged(DRADIO) && game.condition != docked) { prout(_("Spock- \"Records show the previous probe has not yet")); prout(_(" reached its destination.\"")); } @@ -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 */ { @@ -914,8 +935,8 @@ void mayday(void) int line = 0, m, ix, iy; chew(); - /* Test for game.conditions which prevent calling for help */ - if (game.condit == IHDOCKED) { + /* Test for conditions which prevent calling for help */ + if (game.condition == docked) { prout(_("Lt. Uhura- \"But Captain, we're already docked.\"")); return; }