forked from KolibriOS/kolibrios
3a4ccc4ac4
git-svn-id: svn://kolibrios.org@7185 a494cfbc-eb01-0410-851d-a64ba20cac60
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("‘¯®ª- \"Žâç¥â ¯® ¯« ¥â¥, Š ¯¨â .\"");
|
||
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("<EFBFBD>®¢à¥¦¤¥ë ¨ ¢ à¯- ¨ ¨¬¯ã«ìáë¥ ¤¢¨£ ⥫¨.");
|
||
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("<EFBFBD>ã«¥¢®© ‘ã«ã- \"‚ë室¨¬ áâ ¤ àâãî ®à¡¨âã, ‘íà.\"");
|
||
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(" <20>« ¥â ¢");
|
||
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(" <20>®«ãç¥ë¥ ¤ ë¥ ¯®ª §ë¢ îâ");
|
||
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("<EFBFBD>ˆˆ<EFBFBD> <20>ˆˆ<CB86> <20>ˆˆ<CB86>");
|
||
skip(2);
|
||
prout("\"Š¨àª - <20>â¥à¯à ©§ã - ‡ å¢ â ¯® ª®®à¤¨ â ¬...¢ª«îç ©â¥.\"");
|
||
}
|
||
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("<EFBFBD>““ˆˆˆŽŽˆˆˆ<EFBFBD>ƒ . . .<2E>‹ŸŒ");
|
||
skip(2);
|
||
/* prout("Scotty- \"Oh my God! I've lost them.\""); */
|
||
prout("‘ª®ââ¨- \"<EFBFBD>®¦¥ ¬®©! Ÿ ¯®â¥àï« ¨å.\"");
|
||
finish(FLOST);
|
||
return;
|
||
}
|
||
/* prouts(". . . . . . .E.E.EEEERRRRRIIIIIOOOHWW"); */
|
||
prouts(". . . . . . .….….….……………<E280A6><E280A6><EFBFBD><EFBFBD><EFBFBD>‰‰‰‰ˆˆˆˆŽŽŽŽŽ<C5BD>‘");
|
||
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("<EFBFBD> ¯« ¥â¥ ¥â ¤¨«¨â¨¥¢ëå ªà¨áâ ««®¢.");
|
||
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("<EFBFBD>¥â ¨ª ª®£® á¬ëá« ¤®¡ë¢ âì ¥é¥.");
|
||
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(" \"€ªâ¨¢ æ¨ï ¯à®¨§¢¥¤¥ ! - - —â® â® ¥ â ª! <20>â® ¦¥***");
|
||
skip(2);
|
||
/* prouts("***RED ALERT! RED A*L********************************"); */
|
||
prouts("***Ž<>€‘<E282AC>Ž‘’œ! Ž<>€*‘<>Ž********************************");
|
||
skip(1);
|
||
stars();
|
||
/* prouts("****************** KA-BOOM!!!! *******************"); */
|
||
prouts("****************** Š€-<2D>“Œ!!!! *******************");
|
||
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("<EFBFBD> ¥«ì ¯à¨¡®à®¢");
|
||
prout(" ¢á¡¥á¨« áì, ® ï ¤ã¬ î, çâ® ¢á¥");
|
||
prout(" ¡ã¤¥â à ¡®â âì!! <20>®§¤à ¢«ïî, ‘íà!\"");
|
||
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("<EFBFBD> Š®à®«¥¢¥ ”¥© ¥â è ââ« .");
|
||
}
|
||
else if (damage[DSHUTTL] > 0)
|
||
/* prout("The Galileo is damaged."); */
|
||
prout("ƒ «¨«¥® ¯à®¢à¥¦¤¥.");
|
||
/* else prout("Shuttle craft is now serving Big Mac's."); */
|
||
else prout("˜ â⫠ᥩç á à §¢®§¨â <20>¨£Œ ª¨.");
|
||
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("<EFBFBD>¥à¢ë© ®ä¨æ¥à ‘¯®ª- \"Š ¯¨â , ï à ááç¨â «, çâ® íâ®â");
|
||
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("<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("‚ë á ¯ à⨥© è åâ¥à®¢ ᥫ¨ ¢ è ââ«");
|
||
prout("¤«ï ¢®§¢à 饨ï <20>â¥à¯à ©§.");
|
||
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("<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> àâ¨ï è åâ¥à®¢ á®¡à « áì ¢ £ à¥,");
|
||
prout("£®â®¢ë¥ ª ¯®á ¤ª¥ è ââ« \"ƒ «¨«¥®\".");
|
||
skip(1);
|
||
prouts("„¢¥à¨ £ à ®âªàë¢ îâáï; ¯®«¥â ç¨ ¥âáï.");
|
||
skip(1);
|
||
icraft = 1;
|
||
iscraft = 0;
|
||
if (consumeTime()) return;
|
||
d.plnets[iplnet].known = 2;
|
||
landed = 1;
|
||
icraft = 0;
|
||
prout("<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> Š®à®«¥¢¥ ”¥© ¥â ‹ãç ‘¬¥àâ¨.");
|
||
return;
|
||
}
|
||
if (nenhere==0) {
|
||
/* prout("Sulu- \"But Sir, there are no enemies in this quadrant.\""); */
|
||
prout("‘ã«ã- \"<EFBFBD>® ‘íà, ¢ í⮬ ª¢ ¤à ⥠¢à £¨ ®âáãâáâ¢ãîâ.\"");
|
||
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("‘¯®ª- \"Š ¯¨â , '<27>ªá¯¥à¨¬¥â «ìë© ‹ãç ‘¬¥àâ¨'");
|
||
prout(" ¢¥áì¬ ¥¯à¥¤áª §ã¥¬. <20> áᬮâà¨â¥ «ìâ¥à ⨢ë,");
|
||
prout(" ‚ë 㢥à¥ë ¢ à §ã¬®á⨠í⮣®?\" ");
|
||
if (ja()==0) return;
|
||
/* prout("Spock- \"Acknowledged.\""); */
|
||
prout("‘¯®ª- \"<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("“““ˆˆˆ ... “““ˆˆˆ ... “““ˆˆˆ ... “““ˆˆˆ");
|
||
skip(1);
|
||
prout("Š®¬ ¤ ¯à¨£®â®¢¨« áì ¯® ¢ ਩®¬ã ¯à®â®ª®«ã.");
|
||
prout("‘¯®ª ¨ ‘ª®â⨠¯à¨£®â®¢¨«¨ ‹ãç ‘¬¥à⨠¨");
|
||
prout("¯à¨£®â®¢¨«¨ ª « ¯®¤ ç¨ í¥à£¨¨ ãáâனá⢮.");
|
||
skip(1);
|
||
prout("‘¯®ª- \"<EFBFBD>®¤£®â®¢ª ‹ãç § ¢¥àè¥ , ‘íà.\"");
|
||
prout("Š¨àª- \"‚ª«îç ©!\"");
|
||
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>");
|
||
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("Œ¨ç¬ —¥å®¢- \"<EFBFBD>®§¤à ¢«¥¨ï, Š ¯¨â !\"");
|
||
if (d.remkl == 0) finish(FWON);
|
||
/* prout("Spock- \"Captain, I believe the `Experimental Death Ray'"); */
|
||
prout("‘¯®ª- \"Š ¯¨â , ï ¤ã¬ î, `<60>ªá¯¥à¨¬¥â «ìë© ‹ãç ‘¬¥àâ¨'");
|
||
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("***Ž<>€‘<E282AC>Ž‘’œ! Ž<>€‘<E282AC>Ž‘’œ!");
|
||
skip(1);
|
||
prout("***<2A>…ˆ‡<CB86>…†…<E280A0> ‚‡<E2809A>›‚ €<>’ˆŒ€’…<E28099>ˆˆ!");
|
||
skip(1);
|
||
prouts("***Ž<>€‘<E282AC>Ž‘’œ! Ž<>€*‘<>Ž********************************");
|
||
skip(1);
|
||
stars();
|
||
prouts("****************** Š€-<2D>“Œ!!!! *******************");
|
||
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("Š¨àª- \"<EFBFBD> ãå! <20> ãå!\"");
|
||
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("‘ã«ã- \"Š ¯¨â ! <20>â® --—’Ž?!?!\"");
|
||
skip(2);
|
||
proutn("‘¯®ª- \"Ÿ ¤ã¬ î ¯®¤å®¤ï饥 á«®¢®");
|
||
prouts(" *“„ˆ‚ˆ’…‹œ<E280B9>Ž*");
|
||
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(" - - - - - - *<2A>…—’ŽŒ*.");
|
||
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;
|
||
}
|