static char *classes[] = {"M","N","O"};
-static int consumeTime(void)
+static bool consumeTime(void)
+/* abort a lengthy operation if an event interrupts it */
{
-/* I think most of this avoidance was caused by overlay scheme.
- Let's see what happens if all events can occur here */
-
-// double asave;
- game.ididit = 1;
-#if 0
- /* Don't worry about this */
- if (scheduled(FTBEAM) <= game.state.date+game.optime && game.state.remcom != 0 && game.condit != IHDOCKED) {
- /* We are about to be tractor beamed -- operation fails */
- return 1;
- }
-#endif
-// asave = scheduled(FSNOVA);
-// unschedule(FSNOVA); /* defer supernovas */
- events(); /* Used to avoid if FSCMOVE is scheduled within time */
-// schedule(FSNOVA, asave-game.state.time);
- /*fails if game over, quadrant super-novas or we've moved to new quadrant*/
- if (game.alldone || game.state.galaxy[game.quadrant.x][game.quadrant.y].supernova || game.justin != 0) return 1;
- return 0;
+ game.ididit = true;
+ events();
+ if (game.alldone || game.state.galaxy[game.quadrant.x][game.quadrant.y].supernova || game.justin)
+ return true;
+ return false;
}
void preport(void)
+/* report on (uninhabited) planets in the galaxy */
{
bool iknow = false;
int i;
prout(_(" Shuttle Craft Galileo on surface."));
}
}
- if (iknow==0) prout(_("No information available."));
+ if (!iknow) prout(_("No information available."));
}
-void orbit(void)
+void orbit(void)
+/* enter standard orbit */
{
skip(1);
chew();
game.ididit = true;
}
-void sensor(void)
+void sensor(void)
+/* examine planets in this quadrant */
{
skip(1);
chew();
}
void beam(void)
+/* use the transporter */
{
chew();
skip(1);
if (damaged(DTRANSP)) {
prout(_("Transporter damaged."));
- if (!damaged(DSHUTTL) && (game.state.plnets[game.iplnet].known==shuttle_down || game.iscraft == 1)) {
+ if (!damaged(DSHUTTL) && (game.state.plnets[game.iplnet].known==shuttle_down || game.iscraft == onship)) {
skip(1);
proutn(_("Spock- \"May I suggest the shuttle craft, Sir?\" "));
if (ja() == true) shuttle();
prout(_(" you may not go down.\""));
return;
}
- if (game.landed==1) {
+ if (game.landed) {
/* Coming from planet */
if (game.state.plnets[game.iplnet].known==shuttle_down) {
proutn(_("Spock- \"Wouldn't you rather take the Galileo?\" "));
skip(1);
prout(_("Kirk- \"Energize.\""));
}
- game.ididit=1;
+ game.ididit = true;
skip(1);
prouts("WWHOOOIIIIIRRRRREEEE.E.E. . . . . . .");
skip(2);
prouts(". . . . . . .E.E.EEEERRRRRIIIIIOOOHWW");
skip(2);
prout(_("Transport complete."));
- game.landed = -game.landed;
- if (game.landed==1 && game.state.plnets[game.iplnet].known==shuttle_down) {
+ game.landed = !game.landed;
+ if (game.landed && game.state.plnets[game.iplnet].known==shuttle_down) {
prout(_("The shuttle craft Galileo is here!"));
}
- if (game.landed!=1 && game.imine==1) {
- game.icrystl = 1;
+ if (!game.landed && game.imine) {
+ game.icrystl = true;
game.cryprob = 0.05;
}
- game.imine = 0;
+ game.imine = false;
return;
}
void mine(void)
+/* strip-mine a world for dilithium */
{
skip(1);
chew();
- if (game.landed!= 1) {
+ if (!game.landed) {
prout(_("Mining party not on planet."));
return;
}
prout(_("No dilithium crystals on this planet."));
return;
}
- if (game.imine == 1) {
+ if (game.imine) {
prout(_("You've already mined enough crystals for this trip."));
return;
}
- if (game.icrystl == 1 && game.cryprob == 0.05) {
+ if (game.icrystl && game.cryprob == 0.05) {
proutn(_("With all those fresh crystals aboard the "));
crmshp();
skip(1);
if (consumeTime()) return;
prout(_("Mining operation complete."));
game.state.plnets[game.iplnet].crystals = MINED;
- game.imine = 1;
- game.ididit=1;
+ game.imine = game.ididit = true;
}
-void usecrystals(void)
+void usecrystals(void)
+/* use dilithium crystals */
{
- game.ididit=0;
+ game.ididit = false;
skip(1);
chew();
- if (game.icrystl!=1) {
+ if (!game.icrystl) {
prout(_("No dilithium crystals available."));
return;
}
if (game.energy >= 1000) {
prout(_("Spock- \"Captain, Starfleet Regulations prohibit such an operation"));
- prout(_(" except when condition Yellow exists."));
+ prout(_(" except when Condition Yellow exists."));
return;
}
prout(_("Spock- \"Captain, I must warn you that loading"));
prout(_(" are going crazy, but I think it's"));
prout(_(" going to work!! Congratulations, Sir!\""));
game.cryprob *= 2.0;
- game.ididit=1;
+ game.ididit = true;
}
void shuttle(void)
+/* use shuttlecraft for planetary jaunt */
{
chew();
skip(1);
prout(_(" not in standard orbit."));
return;
}
- if ((game.state.plnets[game.iplnet].known != shuttle_down) && game.iscraft != 1) {
+ if ((game.state.plnets[game.iplnet].known != shuttle_down) && game.iscraft != onship) {
prout(_("Shuttle craft not currently available."));
return;
}
- if (game.landed==-1 && game.state.plnets[game.iplnet].known==shuttle_down) {
+ if (!game.landed && game.state.plnets[game.iplnet].known==shuttle_down) {
prout(_("You will have to beam down to retrieve the shuttle craft."));
return;
}
- if (game.shldup || game.condit == IHDOCKED) {
+ if (game.shldup || game.condition == docked) {
prout(_("Shuttle craft cannot pass through shields."));
return;
}
return;
}
}
- if (game.landed == 1) {
+ if (game.landed) {
/* Kirk on planet */
- if (game.iscraft==1) {
+ if (game.iscraft == onship) {
/* Galileo on ship! */
if (!damaged(DTRANSP)) {
proutn(_("Spock- \"Would you rather use the transporter?\" "));
else
proutn(_("Rescue party"));
prout(_(" boards Galileo and swoops toward planet surface."));
- game.iscraft = 0;
+ game.iscraft = offship;
skip(1);
if (consumeTime()) return;
game.state.plnets[game.iplnet].known=shuttle_down;
skip(1);
prout(_("The short hop begins . . ."));
game.state.plnets[game.iplnet].known=known;
- game.icraft = 1;
+ game.icraft = true;
skip(1);
- game.landed = -1;
+ game.landed = false;
if (consumeTime()) return;
- game.iscraft = 1;
- game.icraft = 0;
- if (game.imine!=0) {
- game.icrystl = 1;
+ game.iscraft = onship;
+ game.icraft = false;
+ if (game.imine) {
+ game.icrystl = true;
game.cryprob = 0.05;
}
- game.imine = 0;
+ game.imine = false;
prout(_("Trip complete."));
return;
}
skip(1);
prouts(_("The hangar doors open; the trip begins."));
skip(1);
- game.icraft = 1;
- game.iscraft = 0;
+ game.icraft = true;
+ game.iscraft = offship;
if (consumeTime()) return;
game.state.plnets[game.iplnet].known = shuttle_down;
- game.landed = 1;
- game.icraft = 0;
+ game.landed = true;
+ game.icraft = false;
prout(_("Trip complete"));
return;
}
}
-void deathray(void)
+void deathray(void)
+/* use the big zapper */
{
double dprob, r = Rand();
- game.ididit = 0;
+ game.ididit = false;
skip(1);
chew();
if (game.ship != IHE) {
if (ja() == false) return;
prout(_("Spock- \"Acknowledged.\""));
skip(1);
- game.ididit=1;
+ game.ididit = true;
prouts(_("WHOOEE ... WHOOEE ... WHOOEE ... WHOOEE"));
skip(1);
prout(_("Crew scrambles in emergency preparation."));
prouts(_("Sulu- \"Captain! It's working!\""));
skip(2);
while (game.nenhere > 0)
- deadkl(game.ks[1], game.quad[game.ks[1].x][game.ks[1].y],game.ks[1].x,game.ks[1].y);
+ deadkl(game.ks[1], game.quad[game.ks[1].x][game.ks[1].y],game.ks[1]);
prout(_("Ensign Chekov- \"Congratulations, Captain!\""));
if (KLINGREM == 0) finish(FWON);
if ((game.options & OPTION_PLAIN) == 0) {
}
char *systemname(int pindx)
+/* return the name of a given solar system */
{
static char copy[BUFSIZ];
/* the below array should not be static, or it won't gettextize