mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-12-04 22:32:05 +03:00
661 lines
21 KiB
C
661 lines
21 KiB
C
|
#include "sst.h"
|
|||
|
|
|||
|
static char classes[4][2]={"","M","N","O"};
|
|||
|
static int height;
|
|||
|
|
|||
|
static int consumeTime(void) {
|
|||
|
/* I think most of this avoidance was caused by overlay scheme.
|
|||
|
Let's see what happens if all events can occur here */
|
|||
|
|
|||
|
// double asave;
|
|||
|
ididit = 1;
|
|||
|
#if 0
|
|||
|
/* Don't wory about this */
|
|||
|
if (future[FTBEAM] <= d.date+Time && d.remcom != 0 && condit != IHDOCKED) {
|
|||
|
/* We are about to be tractor beamed -- operation fails */
|
|||
|
return 1;
|
|||
|
}
|
|||
|
#endif
|
|||
|
// asave = future[FSNOVA];
|
|||
|
// future[FSNOVA] = 1e30; /* defer supernovas */
|
|||
|
events(); /* Used to avoid if future[FSCMOVE] within time */
|
|||
|
// future[FSNOVA] = asave;
|
|||
|
/*fails if game over, quadrant super-novas or we've moved to new quadrant*/
|
|||
|
if (alldone || d.galaxy[quadx][quady] == 1000 || justin != 0) return 1;
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
void preport(void) {
|
|||
|
int iknow = 0, i;
|
|||
|
skip(1);
|
|||
|
chew();
|
|||
|
/* prout("Spock- \"Planet report follows, Captain.\""); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>⠭.\"");
|
|||
|
skip(1);
|
|||
|
for (i = 1; i <= inplan; i++) {
|
|||
|
if (d.plnets[i].known
|
|||
|
#ifdef DEBUG
|
|||
|
|| ( idebug && d.plnets[i].x !=0)
|
|||
|
#endif
|
|||
|
) {
|
|||
|
iknow = 1;
|
|||
|
#ifdef DEBUG
|
|||
|
if (idebug && d.plnets[i].known==0) proutn("(Unknown) ");
|
|||
|
#endif
|
|||
|
cramlc(1, d.plnets[i].x, d.plnets[i].y);
|
|||
|
proutn(" <20><><EFBFBD><EFBFBD><EFBFBD> ");/*class*/
|
|||
|
proutn(classes[d.plnets[i].pclass]);
|
|||
|
proutn(" ");
|
|||
|
if (d.plnets[i].crystals == 0) proutn("<EFBFBD><EFBFBD><EFBFBD> ");/*no*/
|
|||
|
/* prout("dilithium crystals present."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠫<EFBFBD><E2A0AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㦥<EFBFBD><E3A6A5>.");
|
|||
|
if (d.plnets[i].known==2)
|
|||
|
/* prout(" Shuttle Craft Galileo on surface."); */
|
|||
|
prout(" <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>孮<EFBFBD><E5ADAE><EFBFBD>.");
|
|||
|
}
|
|||
|
}
|
|||
|
/* if (iknow==0) prout("No information available."); */
|
|||
|
if (iknow==0) prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ଠ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
}
|
|||
|
|
|||
|
void orbit(void) {
|
|||
|
double asave;
|
|||
|
|
|||
|
skip(1);
|
|||
|
chew();
|
|||
|
ididit=0;
|
|||
|
if (inorbit!=0) {
|
|||
|
/* prout("Already in standard orbit."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><> <20>⠭<EFBFBD><E2A0AD><EFBFBD>⭮<EFBFBD> <20>ࡨ<EFBFBD><E0A1A8>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (damage[DWARPEN] != 0 && damage[DIMPULS] != 0) {
|
|||
|
/* prout("Both warp and impulse engines damaged."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>- <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (plnetx == 0 || abs(sectx-plnetx) > 1 || abs(secty-plnety) > 1) {
|
|||
|
crmshp();
|
|||
|
/* prout(" not adjacent to planet.\n"); */
|
|||
|
prout(" <20><> <20>冷<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>⮩.\n");
|
|||
|
return;
|
|||
|
}
|
|||
|
Time = 0.02+0.03*Rand();
|
|||
|
/* prout("Helmsman Sulu- \"Entering standard orbit, Sir.\""); */
|
|||
|
prout("<EFBFBD>㫥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD>室<EFBFBD><EFBFBD> <20><> <20>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ࡨ<EFBFBD><E0A1A8>, <20><><EFBFBD>.\"");
|
|||
|
newcnd();
|
|||
|
if (consumeTime()) return;
|
|||
|
/* proutn("Sulu- \"Entered orbit at altitude "); */
|
|||
|
proutn("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD>諨 <20><> <20>ࡨ<EFBFBD><E0A1A8> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ");
|
|||
|
cramf(height = (1400.+7200.*Rand()), 0, 2);
|
|||
|
prout(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\"");/*kilometers*/
|
|||
|
inorbit = 1;
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
void sensor(void) {
|
|||
|
skip(1);
|
|||
|
chew();
|
|||
|
if (damage[DSRSENS] != 0.0) {
|
|||
|
/* prout("Short range sensors damaged."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠤ<><E0A0A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⢨<EFBFBD> <20><><EFBFBD>०<EFBFBD><E0A5A6><EFBFBD><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (plnetx == 0) {
|
|||
|
/* prout("No planet in this quadrant."); */
|
|||
|
prout("<EFBFBD> <20>⮬ <20><><EFBFBD><EFBFBD>࠭<EFBFBD><E0A0AD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
/* proutn("Spock- \"Sensor scan for"); */
|
|||
|
proutn("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
cramlc(1, quadx, quady);
|
|||
|
prout("-");
|
|||
|
skip(1);
|
|||
|
/* proutn(" Planet at"); */
|
|||
|
proutn(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>");
|
|||
|
cramlc(2, plnetx, plnety);
|
|||
|
/* proutn(" is of class "); */
|
|||
|
proutn(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ");
|
|||
|
proutn(classes[d.plnets[iplnet].pclass]);
|
|||
|
prout(".");
|
|||
|
if (d.plnets[iplnet].known==2)
|
|||
|
/* prout(" Sensors show Galileo still on surface."); */
|
|||
|
prout(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>孮<EFBFBD><E5ADAE><EFBFBD>.");
|
|||
|
/* proutn(" Readings indicate"); */
|
|||
|
proutn(" <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0>");
|
|||
|
if (d.plnets[iplnet].crystals == 0) proutn(" <20><><EFBFBD>"); /*no*/
|
|||
|
else proutn(" <20><><EFBFBD><EFBFBD>稥");
|
|||
|
/* prout(" dilithium crystals present.\""); */
|
|||
|
prout(" <20><><EFBFBD><EFBFBD>⨥<EFBFBD><E2A8A5><EFBFBD> <20><><EFBFBD><EFBFBD>⠫<EFBFBD><E2A0AB><EFBFBD>.\"");
|
|||
|
if (d.plnets[iplnet].known == 0) d.plnets[iplnet].known = 1;
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
void beam(void) {
|
|||
|
chew();
|
|||
|
skip(1);
|
|||
|
if (damage[DTRANSP] != 0) {
|
|||
|
/* prout("Transporter damaged."); */
|
|||
|
prout("<EFBFBD>࠭ᯮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>०<EFBFBD><E0A5A6><EFBFBD>.");
|
|||
|
if (damage[DSHUTTL]==0 && (d.plnets[iplnet].known==2 || iscraft == 1)) {
|
|||
|
skip(1);
|
|||
|
/* prout("Spock- \"May I suggest the shuttle craft, Sir?\" "); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>?\" ");
|
|||
|
if (ja() != 0) shuttle();
|
|||
|
}
|
|||
|
return;
|
|||
|
}
|
|||
|
if (inorbit==0) {
|
|||
|
crmshp();
|
|||
|
/* prout(" not in standard orbit."); */
|
|||
|
prout(" <20><> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><> <20>⠭<EFBFBD><E2A0AD><EFBFBD>⭮<EFBFBD> <20>ࡨ<EFBFBD><E0A1A8>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (shldup!=0) {
|
|||
|
/* prout("Impossible to transport through shields."); */
|
|||
|
prout("<EFBFBD>࠭ᯮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪢<><E1AAA2><EFBFBD> <20><><EFBFBD><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (d.plnets[iplnet].known==0) {
|
|||
|
/* prout("Spock- \"Captain, we have no information on this planet");
|
|||
|
prout(" and Starfleet Regulations clearly state that in this situation");
|
|||
|
prout(" you may not go down.\"");
|
|||
|
*/ prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭, <20> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ樨 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
prout(" <20> <20><>⠢ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮 <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - ");
|
|||
|
prout(" <20><>ᠤ<EFBFBD><E1A0A4> <20><><EFBFBD><EFBFBD><EFBFBD>饭<EFBFBD>.\"");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (landed==1) {
|
|||
|
/* Coming from planet */
|
|||
|
if (d.plnets[iplnet].known==2) {
|
|||
|
/* proutn("Spock- \"Wouldn't you rather take the Galileo?\" "); */
|
|||
|
proutn("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>쬥<EFBFBD><ECACA5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?\" ");
|
|||
|
if (ja() != 0) {
|
|||
|
chew();
|
|||
|
return;
|
|||
|
}
|
|||
|
/* prout("Your crew hides the Galileo to prevent capture by aliens."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>ਣ<EFBFBD><E0A8A3><EFBFBD><EFBFBD>.");
|
|||
|
}
|
|||
|
/* prout("Landing party assembled, ready to beam up.");
|
|||
|
skip(1);
|
|||
|
prout("Kirk whips out communicator...");
|
|||
|
prouts("BEEP BEEP BEEP");
|
|||
|
skip(2);
|
|||
|
prout("\"Kirk to enterprise- Lock on coordinates...energize.\"");
|
|||
|
*/ prout("<EFBFBD><EFBFBD>㯯<EFBFBD> <20><>ᠤ<EFBFBD><E1A0A4> <20><>⮢<EFBFBD> <20> <20>࠭ᯮ<E0A0AD><E1AFAE><EFBFBD><EFBFBD><E0AEA2>.");
|
|||
|
skip(1);
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>稫 <20><><EFBFBD><EFBFBD>㭨<EFBFBD><E3ADA8><EFBFBD><EFBFBD><EFBFBD>...");
|
|||
|
prouts("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>");
|
|||
|
skip(2);
|
|||
|
prout("\"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ࠩ<EFBFBD><E0A0A9> - <20><>墠<EFBFBD> <20><> <20><><EFBFBD>न<EFBFBD><E0A4A8>⠬...<2E><><EFBFBD><EFBFBD>砩<EFBFBD><E7A0A9>.\"");
|
|||
|
}
|
|||
|
else {
|
|||
|
/* Going to planet */
|
|||
|
if (d.plnets[iplnet].crystals==0) {
|
|||
|
/* prout("Spock- \"Captain, I fail to see the logic in");
|
|||
|
prout(" exploring a planet with no dilithium crystals.");
|
|||
|
proutn(" Are you sure this is wise?\" ");
|
|||
|
*/ prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭, <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ⮬,");
|
|||
|
prout(" <20>⮡<EFBFBD> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨥<EFBFBD><E2A8A5><EFBFBD> <20><><EFBFBD><EFBFBD>⠫<EFBFBD><E2A0AB><EFBFBD>.");
|
|||
|
proutn(" <20><> 㢥७<E3A2A5>, <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>?\" ");
|
|||
|
if (ja()==0) {
|
|||
|
chew();
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
/* prout("Scotty- \"Transporter room ready, Sir.\"");
|
|||
|
skip(1);
|
|||
|
prout("Kirk, and landing party prepare to beam down to planet surface.");
|
|||
|
skip(1);
|
|||
|
prout("Kirk- \"Energize.\"");
|
|||
|
*/ prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD>࠭ᯮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ୠ<EFBFBD> <20><>⮢<EFBFBD>, <20><><EFBFBD>.\"");
|
|||
|
skip(1);
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>㯯<EFBFBD> <20><>ᠤ<EFBFBD><E1A0A4> <20><>⮢<EFBFBD> <20> <20>࠭ᯮ<E0A0AD><E1AFAE><EFBFBD>樨 <20><> <20><><EFBFBD><EFBFBD><EFBFBD>孮<EFBFBD><E5ADAE><EFBFBD>.");
|
|||
|
skip(1);
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砩.\"");
|
|||
|
}
|
|||
|
skip(1);
|
|||
|
/* prouts("WWHOOOIIIIIRRRRREEEE.E.E. . . . . . ."); */
|
|||
|
prouts("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E>.<2E>. . . . . . .");
|
|||
|
skip(2);
|
|||
|
if (Rand() > 0.98) {
|
|||
|
/* prouts("BOOOIIIOOOIIOOOOIIIOIING . . ."); */
|
|||
|
prouts("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> . . .<2E><><EFBFBD><EFBFBD>");
|
|||
|
skip(2);
|
|||
|
/* prout("Scotty- \"Oh my God! I've lost them.\""); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>! <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>.\"");
|
|||
|
finish(FLOST);
|
|||
|
return;
|
|||
|
}
|
|||
|
/* prouts(". . . . . . .E.E.EEEERRRRRIIIIIOOOHWW"); */
|
|||
|
prouts(". . . . . . .<2E>.<2E>.<2E>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
skip(2);
|
|||
|
prout("<EFBFBD>࠭ᯮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD>.");/*Transport complete*/
|
|||
|
landed = -landed;
|
|||
|
if (landed==1 && d.plnets[iplnet].known==2) {
|
|||
|
/* prout("The shuttle craft Galileo is here!"); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>!");
|
|||
|
}
|
|||
|
if (landed!=1 && imine==1) {
|
|||
|
icrystl = 1;
|
|||
|
cryprob = 0.05;
|
|||
|
}
|
|||
|
imine = 0;
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
void mine(void) {
|
|||
|
|
|||
|
ididit = 0;
|
|||
|
skip(1);
|
|||
|
chew();
|
|||
|
if (landed!= 1) {
|
|||
|
/* prout("Mining party not on planet."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (d.plnets[iplnet].crystals == 0) {
|
|||
|
/* prout("No dilithium crystals on this planet."); */
|
|||
|
prout("<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨥<EFBFBD><E2A8A5><EFBFBD> <20><><EFBFBD><EFBFBD>⠫<EFBFBD><E2A0AB><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (imine == 1) {
|
|||
|
/* prout("You've already mined enough crystals for this trip."); */
|
|||
|
prout("<EFBFBD><EFBFBD> 㦥 <20><><EFBFBD>뫨 <20><><EFBFBD>ᨬ<EFBFBD><E1A8AC> <20><><EFBFBD><EFBFBD>⠫<EFBFBD><E2A0AB><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ३<><E0A5A9>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (icrystl == 1 && cryprob == 0.05) {
|
|||
|
/* proutn("With all those fresh crystals aboard the "); */
|
|||
|
proutn("<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ᢥ<><E1A2A5><EFBFBD> <20><><EFBFBD><EFBFBD>⠫<EFBFBD><E2A0AB><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ");
|
|||
|
crmshp();
|
|||
|
skip(1);
|
|||
|
/* prout("there's no reason to mine more at this time."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
Time = (0.1+0.2*Rand())*d.plnets[iplnet].pclass;
|
|||
|
if (consumeTime()) return;
|
|||
|
/* prout("Mining operation complete."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠫<EFBFBD><E2A0AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD>.");
|
|||
|
imine = 1;
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
void usecrystals(void) {
|
|||
|
|
|||
|
skip(1);
|
|||
|
chew();
|
|||
|
if (icrystl!=1) {
|
|||
|
/* prout("No dilithium crystals available."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠫<EFBFBD><E2A0AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (energy >= 1000) {
|
|||
|
/* prout("Spock- \"Captain, Starfleet Regulations prohibit such an operation");
|
|||
|
prout(" except when condition Yellow exists.");
|
|||
|
*/ prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭, <20><>⠢ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> ⠪<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD>樨");
|
|||
|
prout(" <20><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>⮬ <20><><EFBFBD><EFBFBD> <20><><EFBFBD>᭮<EFBFBD><E1ADAE><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
/* prout("Spock- \"Captain, I must warn you that loading");
|
|||
|
prout(" raw dilithium crystals into the ship's power");
|
|||
|
prout(" system may risk a severe explosion.");
|
|||
|
proutn(" Are you sure this is wise?\" ");
|
|||
|
*/ prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>।<EFBFBD><E0A5A4>।<EFBFBD><E0A5A4><EFBFBD> <20><><EFBFBD> - ");
|
|||
|
prout(" <20><><EFBFBD><EFBFBD>㧪<EFBFBD> <20> <20><><EFBFBD>࣮<EFBFBD><E0A3AE><EFBFBD>⥬<EFBFBD> <20><><EFBFBD><EFBFBD>ࠡ<EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD> <20><><EFBFBD><EFBFBD>⨥<EFBFBD><E2A8A5><EFBFBD>");
|
|||
|
prout(" <20><><EFBFBD><EFBFBD>⠫<EFBFBD><E2A0AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>ਢ<EFBFBD><E0A8A2><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
proutn(" <20><> 㢥७<E3A2A5>?\" ");
|
|||
|
if (ja()==0) {
|
|||
|
chew();
|
|||
|
return;
|
|||
|
}
|
|||
|
skip(1);
|
|||
|
/* prout("Engineering Officer Scott- \"(GULP) Aye Sir.");
|
|||
|
prout(" Mr. Spock and I will try it.\"");
|
|||
|
skip(1);
|
|||
|
prout("Spock- \"Crystals in place, Sir.");
|
|||
|
prout(" Ready to activate circuit.\"");
|
|||
|
skip(1);
|
|||
|
prouts("Scotty- \"Keep your fingers crossed, Sir!\"");
|
|||
|
*/ prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> \"(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD> <20><>筮, <20><><EFBFBD>.");
|
|||
|
prout(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20> <20><><EFBFBD>㥬 ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><><EFBFBD>.\"");
|
|||
|
skip(1);
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠫<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㦥<EFBFBD><E3A6A5>, <20><><EFBFBD>.");
|
|||
|
prout(" <20><>⮢<EFBFBD> <20> <20><>⨢<EFBFBD>樨 ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD>.\"");
|
|||
|
skip(1);
|
|||
|
prouts("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 㤠<><E3A4A0>, <20><><EFBFBD>!\"");
|
|||
|
skip(1);
|
|||
|
if (Rand() <= cryprob) {
|
|||
|
/* prouts(" \"Activating now! - - No good! It's***"); */
|
|||
|
prouts(" \"<EFBFBD><EFBFBD>⨢<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! - - <20><><EFBFBD> <20><> <20><> ⠪! <20><><EFBFBD> <20><>***");
|
|||
|
skip(2);
|
|||
|
/* prouts("***RED ALERT! RED A*L********************************"); */
|
|||
|
prouts("***<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD>*<2A><><EFBFBD>********************************");
|
|||
|
skip(1);
|
|||
|
stars();
|
|||
|
/* prouts("****************** KA-BOOM!!!! *******************"); */
|
|||
|
prouts("****************** <20><>-<2D><><EFBFBD>!!!! *******************");
|
|||
|
skip(1);
|
|||
|
kaboom();
|
|||
|
return;
|
|||
|
}
|
|||
|
energy += 5000.0*(1.0 + 0.9*Rand());
|
|||
|
/* prouts(" \"Activating now! - - ");
|
|||
|
prout("The instruments");
|
|||
|
prout(" are going crazy, but I think it's");
|
|||
|
prout(" going to work!! Congratulations, Sir!\"");
|
|||
|
*/ prouts(" \"<EFBFBD><EFBFBD>⨢<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! - - ");
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਡ<EFBFBD>");
|
|||
|
prout(" <20>ᡥᨫ<E1A1A5><E1A8AB><EFBFBD>, <20><> <20> <20>㬠<EFBFBD>, <20><><EFBFBD> <20><><EFBFBD>");
|
|||
|
prout(" <20>㤥<EFBFBD> ࠡ<><E0A0A1><EFBFBD><EFBFBD><EFBFBD>!! <20><><EFBFBD><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD>, <20><><EFBFBD>!\"");
|
|||
|
cryprob *= 2.0;
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
void shuttle(void) {
|
|||
|
|
|||
|
chew();
|
|||
|
skip(1);
|
|||
|
ididit = 0;
|
|||
|
if(damage[DSHUTTL] != 0.0) {
|
|||
|
if (damage[DSHUTTL] == -1.0) {
|
|||
|
if (inorbit && d.plnets[iplnet].known == 2)
|
|||
|
/* prout("Ye Faerie Queene has no shuttle craft bay to dock it at."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ᠤ<EFBFBD>筮<EFBFBD><E7ADAE> <20><>ᥪ<EFBFBD> <20><><EFBFBD> <20><><EFBFBD>⫠.");
|
|||
|
else
|
|||
|
/* prout("Ye Faerie Queene had no shuttle craft."); */
|
|||
|
prout("<EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>⫠.");
|
|||
|
}
|
|||
|
else if (damage[DSHUTTL] > 0)
|
|||
|
/* prout("The Galileo is damaged."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>०<E0AEA2><E0A5A6><EFBFBD>.");
|
|||
|
/* else prout("Shuttle craft is now serving Big Mac's."); */
|
|||
|
else prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᥩ<><E1A5A9><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (inorbit==0) {
|
|||
|
crmshp();
|
|||
|
/* prout(" not in standard orbit."); */
|
|||
|
prout(" <20><> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><> <20>⠭<EFBFBD><E2A0AD><EFBFBD>⭮<EFBFBD> <20>ࡨ<EFBFBD><E0A1A8>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if ((d.plnets[iplnet].known != 2) && iscraft != 1) {
|
|||
|
/* prout("Shuttle craft not currently available."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㯥<EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (landed==-1 && d.plnets[iplnet].known==2) {
|
|||
|
/* prout("You will have to beam down to retrieve the shuttle craft."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD> <20>㦭<EFBFBD> <20><>⨢<EFBFBD><EFBFBD><E0AEA2><EFBFBD> ᨫ<><E1A8AB><EFBFBD><EFBFBD> <20><><EFBFBD>, <20>⮡<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>孮<EFBFBD><E5ADAE><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (shldup!=0 || condit == IHDOCKED) {
|
|||
|
/* prout("Shuttle craft cannot pass through shields."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>࠭ᯮ<E0A0AD><E1AFAE><EFBFBD><EFBFBD><E0AEA2><EFBFBD> ᪢<><E1AAA2><EFBFBD> <20><><EFBFBD><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (d.plnets[iplnet].known==0) {
|
|||
|
/* prout("Spock- \"Captain, we have no information on this planet");
|
|||
|
prout(" and Starfleet Regulations clearly state that in this situation");
|
|||
|
prout(" you may not fly down.\"");
|
|||
|
*/ prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭, <20> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ樨 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
prout(" <20> <20><>⠢ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮 <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - ");
|
|||
|
prout(" <20><>ᠤ<EFBFBD><E1A0A4> <20><><EFBFBD><EFBFBD><EFBFBD>饭<EFBFBD>.\"");
|
|||
|
return;
|
|||
|
}
|
|||
|
Time = 3.0e-5*height;
|
|||
|
if (Time >= 0.8*d.remtime) {
|
|||
|
/* prout("First Officer Spock- \"Captain, I compute that such");
|
|||
|
prout(" a maneuver would require approximately ");
|
|||
|
*/ prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠫, <20><><EFBFBD> <20><><EFBFBD><EFBFBD>");
|
|||
|
prout(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਡ<EFBFBD><E0A8A1><EFBFBD><EFBFBD>⥫쭮 ");
|
|||
|
cramf(100*Time/d.remtime,0,4);
|
|||
|
/* prout("% of our");
|
|||
|
prout("remaining time.");
|
|||
|
prout("Are you sure this is wise?\" ");
|
|||
|
*/ prout("% <20><> <20><>襣<EFBFBD>");
|
|||
|
prout("<EFBFBD><EFBFBD>⠢襣<EFBFBD><EFBFBD><EFBFBD> <20>६<EFBFBD><E0A5AC><EFBFBD>.");
|
|||
|
prout("<EFBFBD><EFBFBD> 㢥७<E3A2A5>?\" ");
|
|||
|
if (ja()==0) {
|
|||
|
Time = 0.0;
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
if (landed == 1) {
|
|||
|
/* Kirk on planet */
|
|||
|
if (iscraft==1) {
|
|||
|
/* Galileo on ship! */
|
|||
|
if (damage[DTRANSP]==0) {
|
|||
|
/* proutn("Spock- \"Would you rather use the transporter?\" "); */
|
|||
|
proutn("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20>࠭ᯮ<E0A0AD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?\" ");
|
|||
|
if (ja() != 0) {
|
|||
|
beam();
|
|||
|
return;
|
|||
|
}
|
|||
|
proutn("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⫠");/*Shuttle crew*/
|
|||
|
}
|
|||
|
else
|
|||
|
proutn("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫쭠<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");/*Rescue party*/
|
|||
|
/* prout(" boards Galileo and swoops toward planet surface."); */
|
|||
|
prout(" ᥫ<> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>孮<EFBFBD><E5ADAE><EFBFBD>.");
|
|||
|
iscraft = 0;
|
|||
|
skip(1);
|
|||
|
if (consumeTime()) return;
|
|||
|
d.plnets[iplnet].known=2;
|
|||
|
prout("<EFBFBD><EFBFBD>ᠤ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD>.");/*Trip complete*/
|
|||
|
return;
|
|||
|
}
|
|||
|
else {
|
|||
|
/* Ready to go back to ship */
|
|||
|
/* prout("You and your mining party board the");
|
|||
|
prout("shuttle craft for the trip back to the Enterprise.");
|
|||
|
skip(1);
|
|||
|
prout("The short hop begins . . .");
|
|||
|
*/ prout("<EFBFBD><EFBFBD> <20> <20><><EFBFBD>⨥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ᥫ<> <20> <20><><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饭<EFBFBD><E9A5AD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ࠩ<EFBFBD>.");
|
|||
|
skip(1);
|
|||
|
/* prout("The short hop begins . . ."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>襫 . . .");
|
|||
|
d.plnets[iplnet].known=1;
|
|||
|
icraft = 1;
|
|||
|
skip(1);
|
|||
|
landed = -1;
|
|||
|
if (consumeTime()) return;
|
|||
|
iscraft = 1;
|
|||
|
icraft = 0;
|
|||
|
if (imine!=0) {
|
|||
|
icrystl = 1;
|
|||
|
cryprob = 0.05;
|
|||
|
}
|
|||
|
imine = 0;
|
|||
|
/* prout("Trip complete."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭.");
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
/* Kirk on ship */
|
|||
|
/* and so is Galileo */
|
|||
|
/* prout("Mining party assembles in the hangar deck,");
|
|||
|
prout("ready to board the shuttle craft \"Galileo\".");
|
|||
|
skip(1);
|
|||
|
prouts("The hangar doors open; the trip begins.");
|
|||
|
*/ prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ᮡࠫ<E1AEA1><E0A0AB><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,");
|
|||
|
prout("<EFBFBD><EFBFBD>⮢<EFBFBD><EFBFBD> <20> <20><>ᠤ<EFBFBD><E1A0A4> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\".");
|
|||
|
skip(1);
|
|||
|
prouts("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD> <20><>稭<EFBFBD><E7A8AD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
skip(1);
|
|||
|
icraft = 1;
|
|||
|
iscraft = 0;
|
|||
|
if (consumeTime()) return;
|
|||
|
d.plnets[iplnet].known = 2;
|
|||
|
landed = 1;
|
|||
|
icraft = 0;
|
|||
|
prout("<EFBFBD><EFBFBD>ᠤ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD>");
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void deathray(void) {
|
|||
|
double r = Rand();
|
|||
|
|
|||
|
ididit = 0;
|
|||
|
skip(1);
|
|||
|
chew();
|
|||
|
if (ship != IHE) {
|
|||
|
/* prout("Ye Faerie Queene has no death ray."); */
|
|||
|
prout("<EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (nenhere==0) {
|
|||
|
/* prout("Sulu- \"But Sir, there are no enemies in this quadrant.\""); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD> <20><><EFBFBD>, <20> <20>⮬ <20><><EFBFBD><EFBFBD>࠭<EFBFBD><E0A0AD> <20>ࠣ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\"");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (damage[DDRAY] > 0.0) {
|
|||
|
/* prout("Death Ray is damaged."); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>०<EFBFBD><E0A5A6><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
/* prout("Spock- \"Captain, the 'Experimental Death Ray'");
|
|||
|
prout(" is highly unpredictable. Considering the alternatives,");
|
|||
|
prout(" are you sure this is wise?\" ");
|
|||
|
*/ prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭, '<27><>ᯥਬ<E1AFA5><E0A8AC>⠫<EFBFBD><E2A0AB><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'");
|
|||
|
prout(" <20><><EFBFBD>쬠 <20><><EFBFBD>।᪠<E0A5A4>㥬. <20><><EFBFBD>ᬮ<EFBFBD><E1ACAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ୠ⨢<E0ADA0>,");
|
|||
|
prout(" <20><> 㢥७<E3A2A5> <20> ࠧ㬭<E0A0A7><E3ACAD><EFBFBD><EFBFBD> <20>⮣<EFBFBD>?\" ");
|
|||
|
if (ja()==0) return;
|
|||
|
/* prout("Spock- \"Acknowledged.\""); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD>⢥থ<EFBFBD><EFBFBD><EFBFBD> <20>ਭ<EFBFBD><E0A8AD><EFBFBD>.\"");
|
|||
|
skip(1);
|
|||
|
ididit=1;
|
|||
|
/* prouts("WHOOEE ... WHOOEE ... WHOOEE ... WHOOEE");
|
|||
|
skip(1);
|
|||
|
prout("Crew scrambles in emergency preparation.");
|
|||
|
prout("Spock and Scotty ready the death ray and");
|
|||
|
prout("prepare to channel all ship's power to the device.");
|
|||
|
skip(1);
|
|||
|
prout("Spock- \"Preparations complete, sir.\"");
|
|||
|
prout("Kirk- \"Engage!\"");
|
|||
|
skip(1);
|
|||
|
prouts("WHIRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR");
|
|||
|
*/ prouts("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ... <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ... <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ... <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
skip(1);
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਣ<EFBFBD>⮢<EFBFBD><E2AEA2><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E0A8A9><EFBFBD><EFBFBD> <20><><EFBFBD>⮪<EFBFBD><E2AEAA><EFBFBD>.");
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਣ<EFBFBD>⮢<EFBFBD><E2AEA2><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>");
|
|||
|
prout("<EFBFBD>ਣ<EFBFBD>⮢<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ࣨ<EFBFBD> <20><> <20><><EFBFBD>ன<EFBFBD>⢮.");
|
|||
|
skip(1);
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD>, <20><><EFBFBD>.\"");
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砩!\"");
|
|||
|
skip(1);
|
|||
|
prouts("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
skip(1);
|
|||
|
if (r > .30) {
|
|||
|
/* prouts("Sulu- \"Captain! It's working!\""); */
|
|||
|
prouts("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭! <20><> <20>ࠡ<EFBFBD>⠫!\"");
|
|||
|
skip(2);
|
|||
|
while (nenhere > 0) {
|
|||
|
deadkl(kx[1],ky[1],quad[kx[1]][ky[1]],kx[1],ky[1]);
|
|||
|
}
|
|||
|
/* prout("Ensign Chekov- \"Congratulations, Captain!\""); */
|
|||
|
prout("<EFBFBD><EFBFBD>笠<EFBFBD> <20><>客- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>⠭!\"");
|
|||
|
if (d.remkl == 0) finish(FWON);
|
|||
|
/* prout("Spock- \"Captain, I believe the `Experimental Death Ray'"); */
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭, <20> <20>㬠<EFBFBD>, `<60><>ᯥਬ<E1AFA5><E0A8AC>⠫<EFBFBD><E2A0AB><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'");
|
|||
|
if (Rand() <= 0.05) {
|
|||
|
/* prout(" is still operational.\""); */
|
|||
|
prout(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD>ᯮᮡ<E1AFAE><E1AEA1>.\"");
|
|||
|
}
|
|||
|
else {
|
|||
|
/* prout(" has been rendered dysfunctional.\""); */
|
|||
|
prout(" <20><>襫 <20><> <20><><EFBFBD><EFBFBD><EFBFBD>.\"");
|
|||
|
damage[DDRAY] = 39.95;
|
|||
|
}
|
|||
|
return;
|
|||
|
}
|
|||
|
r = Rand(); // Pick failure method
|
|||
|
if (r <= .30) {
|
|||
|
/* prouts("Sulu- \"Captain! It's working!\"");
|
|||
|
skip(1);
|
|||
|
prouts("***RED ALERT! RED ALERT!");
|
|||
|
skip(1);
|
|||
|
prout("***MATTER-ANTIMATTER IMPLOSION IMMINENT!");
|
|||
|
skip(1);
|
|||
|
prouts("***RED ALERT! RED A*L********************************");
|
|||
|
skip(1);
|
|||
|
stars();
|
|||
|
prouts("****************** KA-BOOM!!!! *******************");
|
|||
|
*/ prouts("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭! <20><><EFBFBD> ࠡ<>⠥<EFBFBD>!\"");
|
|||
|
skip(1);
|
|||
|
prouts("***<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
|||
|
skip(1);
|
|||
|
prout("***<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
|||
|
skip(1);
|
|||
|
prouts("***<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD>*<2A><><EFBFBD>********************************");
|
|||
|
skip(1);
|
|||
|
stars();
|
|||
|
prouts("****************** <20><>-<2D><><EFBFBD>!!!! *******************");
|
|||
|
skip(1);
|
|||
|
kaboom();
|
|||
|
return;
|
|||
|
}
|
|||
|
if (r <= .55) {
|
|||
|
/* prouts("Sulu- \"Captain! Yagabandaghangrapl, brachriigringlanbla!\"");
|
|||
|
skip(1);
|
|||
|
prout("Lt. Uhura- \"Graaeek! Graaeek!\"");
|
|||
|
skip(1);
|
|||
|
prout("Spock- \"Fascinating! . . . All humans aboard");
|
|||
|
prout(" have apparently been transformed into strange mutations.");
|
|||
|
prout(" Vulcans do not seem to be affected.");
|
|||
|
skip(1);
|
|||
|
prout("Kirk- \"Raauch! Raauch!\"");
|
|||
|
*/ prouts("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>堠<EFBFBD><E5A0A0><EFBFBD>, <20>࠭<EFBFBD><E0A0AD>ਨ<EFBFBD>ਭ<EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\"");
|
|||
|
skip(1);
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD>⥭<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD>ࠠ<EFBFBD><EFBFBD><EFBFBD>! <20>ࠠ<EFBFBD><E0A0A0><EFBFBD>!\"");
|
|||
|
skip(1);
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! . . . <20><><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
prout(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>࣫<EFBFBD><E0A3AB><EFBFBD> <20><>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
prout(" <20>㫪<EFBFBD><E3ABAA><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>থ<EFBFBD><E0A6A5> ⠪<><E2A0AA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢨<EFBFBD> <20><><EFBFBD><EFBFBD>.");
|
|||
|
skip(1);
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD><EFBFBD>!\"");
|
|||
|
finish(FDRAY);
|
|||
|
return;
|
|||
|
}
|
|||
|
if (r <= 0.75) {
|
|||
|
int i,j;
|
|||
|
/* prouts("Sulu- \"Captain! It's --WHAT?!?!\"");
|
|||
|
skip(2);
|
|||
|
proutn("Spock- \"I believe the word is");
|
|||
|
prouts(" *ASTONISHING*");
|
|||
|
prout(" Mr. Sulu.");
|
|||
|
*/ prouts("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭! <20><><EFBFBD> --<2D><><EFBFBD>?!?!\"");
|
|||
|
skip(2);
|
|||
|
proutn("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD> <20>㬠<EFBFBD> <20><><EFBFBD>室<EFBFBD>饥 <><E1ABAE>");
|
|||
|
prouts(" *<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*");
|
|||
|
prout(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.");
|
|||
|
for (i=1; i<=10; i++)
|
|||
|
for (j=1; j<=10; j++)
|
|||
|
if (quad[i][j] == IHDOT) quad[i][j] = IHQUEST;
|
|||
|
/* prout(" Captain, our quadrant is now infested with");
|
|||
|
prouts(" - - - - - - *THINGS*.");
|
|||
|
skip(1);
|
|||
|
prout(" I have no logical explanation.\"");
|
|||
|
*/ prout(" <20><><EFBFBD><EFBFBD>⠭, <20><><EFBFBD> <20><><EFBFBD><EFBFBD>࠭<EFBFBD> <20><>ᥫ<EFBFBD><E1A5AB>");
|
|||
|
prouts(" - - - - - - *<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*.");
|
|||
|
skip(1);
|
|||
|
prout(" <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AAAE> <20><><EFBFBD><EFBFBD>᭥<EFBFBD><E1ADA5><EFBFBD>.\"");
|
|||
|
return;
|
|||
|
}
|
|||
|
/* prouts("Sulu- \"Captain! The Death Ray is creating tribbles!\"");
|
|||
|
skip(1);
|
|||
|
prout("Scotty- \"There are so many tribbles down here");
|
|||
|
prout(" in Engineering, we can't move for 'em, Captain.\"");
|
|||
|
*/ prouts("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭! <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮧ<><E1AEA7><EFBFBD> <20>ਡ<EFBFBD><E0A8A1><EFBFBD><EFBFBD>!\"");
|
|||
|
skip(1);
|
|||
|
prout("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>- \"<EFBFBD><EFBFBD><EFBFBD> <20><> <20><> 誮<E1ABA8> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
prout(" <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>୮<EFBFBD> <20><>ᥪ<EFBFBD>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>-<2D><> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD>⠭.\"");
|
|||
|
finish(FTRIBBLE);
|
|||
|
return;
|
|||
|
}
|