#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("¯®ª- \"âç¥â ¯® ¯« ¥â¥, ¯¨â .\"");
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(" ª« áá ");/*class*/
proutn(classes[d.plnets[i].pclass]);
proutn(" ");
if (d.plnets[i].crystals == 0) proutn("¥â ");/*no*/
/* prout("dilithium crystals present."); */
prout("¤¨«¨â¨¥¢ëå ªà¨áâ ««®¢ ®¡ à㦥®.");
if (d.plnets[i].known==2)
/* prout(" Shuttle Craft Galileo on surface."); */
prout(" ââ« «¨«¥® ¯®¢¥àå®áâ¨.");
}
}
/* if (iknow==0) prout("No information available."); */
if (iknow==0) prout("ä®à¬ æ¨ï ®âáãâáâ¢ã¥â.");
}
void orbit(void) {
double asave;
skip(1);
chew();
ididit=0;
if (inorbit!=0) {
/* prout("Already in standard orbit."); */
prout("¦¥ 室¨¬áï áâ ¤ à⮩ ®à¡¨â¥.");
return;
}
if (damage[DWARPEN] != 0 && damage[DIMPULS] != 0) {
/* prout("Both warp and impulse engines damaged."); */
prout("®¢à¥¦¤¥ë ¨ ¢ à¯- ¨ ¨¬¯ã«ìáë¥ ¤¢¨£ ⥫¨.");
return;
}
if (plnetx
== 0 || abs(sectx
-plnetx
) > 1 || abs(secty
-plnety
) > 1) {
crmshp();
/* prout(" not adjacent to planet.\n"); */
prout(" ¥ à冷¬ á ¯« ¥â®©.\n");
return;
}
Time = 0.02+0.03*Rand();
/* prout("Helmsman Sulu- \"Entering standard orbit, Sir.\""); */
prout("ã«¥¢®© ã«ã- \"ë室¨¬ áâ ¤ àâãî ®à¡¨âã, íà.\"");
newcnd();
if (consumeTime()) return;
/* proutn("Sulu- \"Entered orbit at altitude "); */
proutn("ã«ã- \"ë諨 ®à¡¨âã ¢ëá®â¥ ");
cramf(height = (1400.+7200.*Rand()), 0, 2);
prout(" ª¨«®¬¥â஢.\"");/*kilometers*/
inorbit = 1;
return;
}
void sensor(void) {
skip(1);
chew();
if (damage[DSRSENS] != 0.0) {
/* prout("Short range sensors damaged."); */
prout("¥á®àë ¡«¨¦¥£® à ¤¨ãá ¤¥©áâ¢¨ï ¯®¢à¥¦¤¥ë.");
return;
}
if (plnetx == 0) {
/* prout("No planet in this quadrant."); */
prout(" í⮬ ª¢ ¤à ⥠¥â ¯« ¥â.");
return;
}
/* proutn("Spock- \"Sensor scan for"); */
proutn("¯®ª- \"ª ¨à®¢ ¨¥");
cramlc(1, quadx, quady);
prout("-");
skip(1);
/* proutn(" Planet at"); */
proutn(" « ¥â ¢");
cramlc(2, plnetx, plnety);
/* proutn(" is of class "); */
proutn(" ª« áá ");
proutn(classes[d.plnets[iplnet].pclass]);
prout(".");
if (d.plnets[iplnet].known==2)
/* prout(" Sensors show Galileo still on surface."); */
prout(" ¥á®àë ¯®ª §ë¢ îâ, çâ® «¨«¥® ¥é¥ ¯®¢¥àå®áâ¨.");
/* proutn(" Readings indicate"); */
proutn(" ®«ãç¥ë¥ ¤ ë¥ ¯®ª §ë¢ îâ");
if (d.plnets[iplnet].crystals == 0) proutn(" ¥â"); /*no*/
else proutn(" «¨ç¨¥");
/* prout(" dilithium crystals present.\""); */
prout(" ¤¨«¨â¨¥¢ëå ªà¨áâ ««®¢.\"");
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("à ᯮàâ â®à ¯®¢à¥¦¤¥.");
if (damage[DSHUTTL]==0 && (d.plnets[iplnet].known==2 || iscraft == 1)) {
skip(1);
/* prout("Spock- \"May I suggest the shuttle craft, Sir?\" "); */
prout("¯®ª- \"®£ã ¯à¥¤«®¦¨âì ¨á¯®«ì§®¢ âì è ââ«, íà?\" ");
if (ja() != 0) shuttle();
}
return;
}
if (inorbit==0) {
crmshp();
/* prout(" not in standard orbit."); */
prout(" ¥ 室¨¬áï áâ ¤ à⮩ ®à¡¨â¥.");
return;
}
if (shldup!=0) {
/* prout("Impossible to transport through shields."); */
prout("à ᯮàâ¨à®¢ª ¥¢®§¬®¦ ᪢®§ì é¨âë.");
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("¯®ª- \" ¯¨â , ã á ¥â ¨ä®à¬ 樨 ¯® ¤ ®© ¯« ¥â¥");
prout(" ¨ áâ ¢ ¢¥§¤®£® «®â ®¤®§ ç® ®¯¨áë¢ ¥â ¤ ãî á¨âã æ¨î - ");
prout(" ¢ëá ¤ª § ¯à¥é¥ .\"");
return;
}
if (landed==1) {
/* Coming from planet */
if (d.plnets[iplnet].known==2) {
/* proutn("Spock- \"Wouldn't you rather take the Galileo?\" "); */
proutn("¯®ª- \"®¦¥â ë ¢®§ì¬¥â¥ «¨«¥®?\" ");
if (ja() != 0) {
chew();
return;
}
/* prout("Your crew hides the Galileo to prevent capture by aliens."); */
prout(" è ª®¬ ¤ á¯àïâ « «¨«¥® ®â ¡®à¨£¥®¢.");
}
/* 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("à㯯 ¢ëá ¤ª¨ £®â®¢ ª âà ᯮàâ¨à®¢ª¥.");
skip(1);
prout("¨àª ¢ª«î稫 ª®¬¬ã¨ª â®à...");
prouts(" ");
skip(2);
prout("\"¨àª - â¥à¯à ©§ã - å¢ â ¯® ª®®à¤¨ â ¬...¢ª«îç ©â¥.\"");
}
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("¯®ª- \" ¯¨â , ¥ ¢¨¦ã ¨ª ª®© «®£¨ª¨ ¢ ⮬,");
prout(" çâ®¡ë ¨áá«¥¤®¢ âì ¯« ¥âã ¡¥§ ¤¨«¨â¨¥¢ëå ªà¨áâ ««®¢.");
proutn(" ë 㢥à¥ë, çâ® íâ® ¬ã¤à®?\" ");
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("ª®ââ¨- \"à ᯮàâ â®à ï £®â®¢ , íà.\"");
skip(1);
prout("¨àª ¨ £à㯯 ¢ëá ¤ª¨ £®â®¢ ª âà ᯮàâ 樨 ¯®¢¥àå®áâì.");
skip(1);
prout("¨àª- \"ª«îç ©.\"");
}
skip(1);
/* prouts("WWHOOOIIIIIRRRRREEEE.E.E. . . . . . ."); */
prouts("
.
.
. . . . . . .");
skip(2);
if (Rand() > 0.98) {
/* prouts("BOOOIIIOOOIIOOOOIIIOIING . . ."); */
prouts(" . . .");
skip(2);
/* prout("Scotty- \"Oh my God! I've lost them.\""); */
prout("ª®ââ¨- \"®¦¥ ¬®©! ¯®â¥àï« ¨å.\"");
finish(FLOST);
return;
}
/* prouts(". . . . . . .E.E.EEEERRRRRIIIIIOOOHWW"); */
prouts(". . . . . . .
.
.
.
");
skip(2);
prout("à ᯮàâ¨à®¢ª § ¢¥àè¥ .");/*Transport complete*/
landed = -landed;
if (landed==1 && d.plnets[iplnet].known==2) {
/* prout("The shuttle craft Galileo is here!"); */
prout(" ââ« «¨«¥® ¬¥áâ¥!");
}
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(" åâ¥àë ¥ 室ïâáï ¯« ¥â¥.");
return;
}
if (d.plnets[iplnet].crystals == 0) {
/* prout("No dilithium crystals on this planet."); */
prout(" ¯« ¥â¥ ¥â ¤¨«¨â¨¥¢ëå ªà¨áâ ««®¢.");
return;
}
if (imine == 1) {
/* prout("You've already mined enough crystals for this trip."); */
prout("ë 㦥 ¤®¡ë«¨ ¬ ªá¨¬ã¬ ªà¨áâ ««®¢ ¤«ï ®¤®£® ३á .");
return;
}
if (icrystl == 1 && cryprob == 0.05) {
/* proutn("With all those fresh crystals aboard the "); */
proutn(" á ¯®«® ᢥ¦¨å ªà¨áâ ««®¢ ¡®àâã ");
crmshp();
skip(1);
/* prout("there's no reason to mine more at this time."); */
prout("¥â ¨ª ª®£® á¬ëá« ¤®¡ë¢ âì ¥é¥.");
return;
}
Time = (0.1+0.2*Rand())*d.plnets[iplnet].pclass;
if (consumeTime()) return;
/* prout("Mining operation complete."); */
prout("¯¥à æ¨ï ¤®¡ëç¨ ªà¨áâ ««®¢ § ¢¥àè¥ .");
imine = 1;
return;
}
void usecrystals(void) {
skip(1);
chew();
if (icrystl!=1) {
/* prout("No dilithium crystals available."); */
prout("¨«¨â¨¥¢ë¥ ªà¨áâ ««ë ®âáãâáâ¢ãîâ.");
return;
}
if (energy >= 1000) {
/* prout("Spock- \"Captain, Starfleet Regulations prohibit such an operation");
prout(" except when condition Yellow exists.");
*/ prout("¯®ª- \" ¯¨â , áâ ¢ ¢¥§¤®£® «®â § ¯à¥é ¥â â ª¨¥ ®¯¥à 樨");
prout(" ªà®¬¥ ª ª ¯à¨ ¦¥«â®¬ ª®¤¥ ®¯ á®áâ¨.");
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("¯®ª- \" ¯¨â , ï ¤®«¦¥ ¯à¥¤ã¯à¥¤¨âì á - ");
prout(" § £à㧪 ¢ í¥à£®á¨á⥬㠥®¡à ¡®â ëå ¤¨«¨â¨¥¢ëå");
prout(" ªà¨áâ ««®¢ ¬®¦¥â ¯à¨¢¥á⨠ª ¢§àë¢ã.");
proutn(" ë 㢥à¥ë?\" ");
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("¦¥¥à-®ä¨æ¥à ª®ââ \"(£«®âã¢) ª â®ç®, íà.");
prout(" ¨áâ¥à ¯®ª ¨ ï ¯®¯à®¡ã¥¬ ᤥ« âì íâ®.\"");
skip(1);
prout("¯®ª- \"à¨áâ ««ë § £à㦥ë, íà.");
prout(" ®â®¢ë ª ªâ¨¢ 樨 ॠªâ®à .\"");
skip(1);
prouts("ª®ââ¨- \"ªà¥áâ¨â¥ ¯ «ìæë 㤠çã, íà!\"");
skip(1);
if (Rand() <= cryprob) {
/* prouts(" \"Activating now! - - No good! It's***"); */
prouts(" \"ªâ¨¢ æ¨ï ¯à®¨§¢¥¤¥ ! - - â® â® ¥ â ª! â® ¦¥***");
skip(2);
/* prouts("***RED ALERT! RED A*L********************************"); */
prouts("***! *********************************");
skip(1);
stars();
/* prouts("****************** KA-BOOM!!!! *******************"); */
prouts("****************** -!!!! *******************");
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(" \"ªâ¨¢ æ¨ï ¯à®¨§¢¥¤¥ ! - - ");
prout(" ¥«ì ¯à¨¡®à®¢");
prout(" ¢á¡¥á¨« áì, ® ï ¤ã¬ î, çâ® ¢á¥");
prout(" ¡ã¤¥â à ¡®â âì!! ®§¤à ¢«ïî, íà!\"");
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("®à®«¥¢ ¥© ¥ ¨¬¥¥â ¯®á ¤®ç®£® ®âᥪ ¤«ï è ââ« .");
else
/* prout("Ye Faerie Queene had no shuttle craft."); */
prout(" ®à®«¥¢¥ ¥© ¥â è ââ« .");
}
else if (damage[DSHUTTL] > 0)
/* prout("The Galileo is damaged."); */
prout(" «¨«¥® ¯à®¢à¥¦¤¥.");
/* else prout("Shuttle craft is now serving Big Mac's."); */
else prout(" â⫠ᥩç á à §¢®§¨â ¨£ ª¨.");
return;
}
if (inorbit==0) {
crmshp();
/* prout(" not in standard orbit."); */
prout(" ¥ 室¨¬áï áâ ¤ à⮩ ®à¡¨â¥.");
return;
}
if ((d.plnets[iplnet].known != 2) && iscraft != 1) {
/* prout("Shuttle craft not currently available."); */
prout(" ââ« ¢ ¤ ë© ¬®¬¥â ¥¤®áâ㯥.");
return;
}
if (landed==-1 && d.plnets[iplnet].known==2) {
/* prout("You will have to beam down to retrieve the shuttle craft."); */
prout(" ¬ 㦮 ªâ¨¢¨à®¢ âì ᨫ®¢®© «ãç, çâ®¡ë ¯®¤ïâì è ââ« á ¯®¢¥àå®áâ¨.");
return;
}
if (shldup!=0 || condit == IHDOCKED) {
/* prout("Shuttle craft cannot pass through shields."); */
prout(" ââ« ¥¢®§¬®¦® âà ᯮàâ¨à®¢ âì ᪢®§ì é¨âë.");
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("¯®ª- \" ¯¨â , ã á ¥â ¨ä®à¬ 樨 ¯® ¤ ®© ¯« ¥â¥");
prout(" ¨ áâ ¢ ¢¥§¤®£® «®â ®¤®§ ç® ®¯¨áë¢ ¥â ¤ ãî á¨âã æ¨î - ");
prout(" ¢ëá ¤ª § ¯à¥é¥ .\"");
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("¥à¢ë© ®ä¨æ¥à ¯®ª- \" ¯¨â , ï à ááç¨â «, çâ® íâ®â");
prout(" ¬ ¥¢à § ©¬¥â ¯à¨¡«¨§¨â¥«ì® ");
cramf(100*Time/d.remtime,0,4);
/* prout("% of our");
prout("remaining time.");
prout("Are you sure this is wise?\" ");
*/ prout("% ®â 襣®");
prout("®á⠢襣®áï ¢à¥¬¥¨.");
prout("ë 㢥à¥ë?\" ");
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("¯®ª- \"®¦¥â, «ãçè¥ ¨á¯®«ì§®¢ âì âà ᯮàâ â®à?\" ");
if (ja() != 0) {
beam();
return;
}
proutn("®¬ ¤ è ââ« ");/*Shuttle crew*/
}
else
proutn("¯ á ⥫ì ï ª®¬ ¤ ");/*Rescue party*/
/* prout(" boards Galileo and swoops toward planet surface."); */
prout(" ᥫ «¨«¥® ¨ ®â¯à ¢¨« áâì ¯®¢¥àå®áâì.");
iscraft = 0;
skip(1);
if (consumeTime()) return;
d.plnets[iplnet].known=2;
prout("®á ¤ª § ¢¥àè¥ .");/*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("ë á ¯ à⨥© è åâ¥à®¢ ᥫ¨ ¢ è ââ«");
prout("¤«ï ¢®§¢à 饨ï â¥à¯à ©§.");
skip(1);
/* prout("The short hop begins . . ."); */
prout("¡à âë© ®âáç¥â ¯®è¥« . . .");
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("®«¥â § ¢¥àè¥.");
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(" àâ¨ï è åâ¥à®¢ á®¡à « áì ¢ £ à¥,");
prout("£®â®¢ë¥ ª ¯®á ¤ª¥ è ââ« \" «¨«¥®\".");
skip(1);
prouts("¢¥à¨ £ à ®âªàë¢ îâáï; ¯®«¥â ç¨ ¥âáï.");
skip(1);
icraft = 1;
iscraft = 0;
if (consumeTime()) return;
d.plnets[iplnet].known = 2;
landed = 1;
icraft = 0;
prout("®á ¤ª § ¢¥àè¥ ");
return;
}
}
void deathray(void) {
double r = Rand();
ididit = 0;
skip(1);
chew();
if (ship != IHE) {
/* prout("Ye Faerie Queene has no death ray."); */
prout(" ®à®«¥¢¥ ¥© ¥â ãç ¬¥àâ¨.");
return;
}
if (nenhere==0) {
/* prout("Sulu- \"But Sir, there are no enemies in this quadrant.\""); */
prout("ã«ã- \"® íà, ¢ í⮬ ª¢ ¤à ⥠¢à £¨ ®âáãâáâ¢ãîâ.\"");
return;
}
if (damage[DDRAY] > 0.0) {
/* prout("Death Ray is damaged."); */
prout("ãç ¬¥à⨠¯®¢à¥¦¤¥.");
return;
}
/* prout("Spock- \"Captain, the 'Experimental Death Ray'");
prout(" is highly unpredictable. Considering the alternatives,");
prout(" are you sure this is wise?\" ");
*/ prout("¯®ª- \" ¯¨â , 'ªá¯¥à¨¬¥â «ìë© ãç ¬¥àâ¨'");
prout(" ¢¥áì¬ ¥¯à¥¤áª §ã¥¬. áᬮâà¨â¥ «ìâ¥à ⨢ë,");
prout(" ë 㢥à¥ë ¢ à §ã¬®á⨠í⮣®?\" ");
if (ja()==0) return;
/* prout("Spock- \"Acknowledged.\""); */
prout("¯®ª- \"®¤â¢¥à¦¥¨¥ ¯à¨ïâ®.\"");
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(" ... ... ... ");
skip(1);
prout("®¬ ¤ ¯à¨£®â®¢¨« áì ¯® ¢ ਩®¬ã ¯à®â®ª®«ã.");
prout("¯®ª ¨ ª®â⨠¯à¨£®â®¢¨«¨ ãç ¬¥à⨠¨");
prout("¯à¨£®â®¢¨«¨ ª « ¯®¤ ç¨ í¥à£¨¨ ãáâனá⢮.");
skip(1);
prout("¯®ª- \"®¤£®â®¢ª ãç § ¢¥àè¥ , íà.\"");
prout("¨àª- \"ª«îç ©!\"");
skip(1);
prouts("");
skip(1);
if (r > .30) {
/* prouts("Sulu- \"Captain! It's working!\""); */
prouts("ã«ã- \" ¯¨â ! áà ¡®â «!\"");
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("¨ç¬ ¥å®¢- \"®§¤à ¢«¥¨ï, ¯¨â !\"");
if (d.remkl == 0) finish(FWON);
/* prout("Spock- \"Captain, I believe the `Experimental Death Ray'"); */
prout("¯®ª- \" ¯¨â , ï ¤ã¬ î, `ªá¯¥à¨¬¥â «ìë© ãç ¬¥àâ¨'");
if (Rand() <= 0.05) {
/* prout(" is still operational.\""); */
prout(" ¯®«®áâìî à ¡®â®á¯®á®¡¥.\"");
}
else {
/* prout(" has been rendered dysfunctional.\""); */
prout(" ¢ë襫 ¨§ áâà®ï.\"");
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("ã«ã- \" ¯¨â ! ® à ¡®â ¥â!\"");
skip(1);
prouts("***! !");
skip(1);
prout("***
!");
skip(1);
prouts("***! *********************************");
skip(1);
stars();
prouts("****************** -!!!! *******************");
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("ã«ã- \" ¯¨â ! £ ¡ ¤ £å à£à ¯«, ¡à å¨à¨¨£à¨£« ¡« !\"");
skip(1);
prout("¥©â¥ â åãà - \"à ¥¥ª! à ¥¥ª!\"");
skip(1);
prout("¯®ª- \"¥«¨ª®«¥¯®! . . . ᥠ«î¤¨ ¡®àâã");
prout(" ¢¥§ ¯® ¯®¤¢¥à£«¨áì áâà ë¬ ¬ãâ æ¨ï¬.");
prout(" 㫪 æë ¥ ¯®¤¢¥à¦¥ë â ª®¬ã ¢®§¤¥©á⢨î ãç .");
skip(1);
prout("¨àª- \" ãå! ãå!\"");
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("ã«ã- \" ¯¨â ! â® --?!?!\"");
skip(2);
proutn("¯®ª- \" ¤ã¬ î ¯®¤å®¤ï饥 á«®¢®");
prouts(" *
*");
prout(" ¨áâ¥à ã«ã.");
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(" ¯¨â , è ª¢ ¤à â § ᥫ¥");
prouts(" - - - - - - *
*.");
skip(1);
prout(" ¬¥ï ¥â «®£¨ç¥áª®£® ®¡êïᥨï.\"");
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("ã«ã- \" ¯¨â ! ãç ¬¥à⨠ᮧ¤ « âਡ¡«®¢!\"");
skip(1);
prout("ª®ââ¨- \"â® â® ¨å ᫨誮¬ 㦠¬®£®");
prout(" ¢ ¨¦¥¥à®¬ ®âᥪ¥, ¬ë ¥ ¬®¦¥¬ ¤¢¨£ âìáï ¨§-§ ¨å, ¯¨â .\"");
finish(FTRIBBLE);
return;
}