From 8f5eef7a4dcbfd3fa8ee33e1f50ae4b0c53efc9c Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 20 Sep 2006 09:45:17 +0000 Subject: [PATCH] A bit of documentation swiped and edited from the BSD code. --- TODO | 15 +++++++++++++++ doc/sst-doc.xml | 3 ++- src/events.c | 8 ++++++++ src/moving.c | 20 ++++++++++++++++++++ 4 files changed, 45 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index 5d5eebc..19769b0 100644 --- a/TODO +++ b/TODO @@ -18,3 +18,18 @@ Long-term items: * Wandering planet-killer as in "The Doomsday Machine"; see . +BSD-Trek features we haven't swiped yet: + +* The cloaking device. + +* Summoning Klingons to surrender and taking captives. + +* Automatic bugout sets your warp factor to > 6. + +* Smarter computer, with multiple requests. + +* There is a small probility that a nova event will leave a black hole. + +* Multiple laser banks and beam spreading. + +* Visual scans for when sensors are out. diff --git a/doc/sst-doc.xml b/doc/sst-doc.xml index 7cd86db..ef76268 100644 --- a/doc/sst-doc.xml +++ b/doc/sst-doc.xml @@ -1102,7 +1102,8 @@ Mnemonic: DESTRUCT You may self-destruct, thus killing yourself and ending the game. If there are nearby Klingons, you may take a few of them with you (the -more energy you have left, the bigger the bang). +more energy you have left, the bigger the bang). It is possible to +win this way, if you kill off your last adversaries with the blast. In order to self-destruct you must remember the password you typed in at the beginning of the game. diff --git a/src/events.c b/src/events.c index 1cf1492..f7831a6 100644 --- a/src/events.c +++ b/src/events.c @@ -602,6 +602,14 @@ void wait(void) game.optime = 0; } +/* + * A nova occurs. It is the result of having a star hit with a + * photon torpedo, or possibly of a probe warhead going off. + * Stars that go nova cause stars which surround them to undergo + * the same probabilistic process. Klingons next to them are + * destroyed. And if the starship is next to it, it gets zapped. + * If the zap is too much, it gets destroyed. + */ void nova(coord nov) /* star goes nova */ { diff --git a/src/moving.c b/src/moving.c index 3e243a4..cb6e197 100644 --- a/src/moving.c +++ b/src/moving.c @@ -907,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 */ { -- 2.31.1