Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 7184 → Rev 7185

/programs/games/sstartrek/ru/planets.c
0,0 → 1,660
#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;
}