-#ifdef SERGEEV
-#include <conio.h>
-#include "sstlinux.h"
-#endif /* SERGEEV */
#include <unistd.h>
+#include "sstlinux.h"
+#include "conio.h"
#include "sst.h"
static void getcd(int, int);
(iy-game.ky[l])*(double)(iy-game.ky[l]));
game.kavgd[l] = 0.5 * (finald+game.kdist[l]);
}
-#ifdef SERGEEV
+ /*
+ * Stas Sergeev added the condition
+ * that attacks only happen if Klingons
+ * are present and your skill is > 3.
+ */
if (skill > 3 && klhere > 0 && game.state.galaxy[quadx][quady] != 1000)
attack(0);
-#else
- if (game.state.galaxy[quadx][quady] != 1000) attack(0);
-#endif /* SERGEEV */
if (alldone) return;
}
/* compute final position -- new quadrant and sector */
quady = (iy+9)/10;
sectx = ix - 10*(quadx-1);
secty = iy - 10*(quady-1);
- proutn("\n\rEntering %s.",
+ prout("\n\rEntering %s.",
cramlc(quadrant, quadx, quady));
game.quad[sectx][secty] = ship;
newqad(0);
}
newcnd();
iattak = 0;
-#ifdef SERGEEV
drawmaps(0);
-#endif /* SERGEEV */
return;
}
if (!isprobe) {
if (itemp) {
if (iprompt) {
- proutn("Helmsman Sulu- \"Course locked in for %s.\"",
+ prout("Helmsman Sulu- \"Course locked in for %s.\"",
cramlc(sector, irows, icols));
}
}
game.damage[DRADIO] += Time;
}
newqad(0);
-#ifdef SERGEEV
- events();
-#endif /* SERGEEV */
+ events(); /* Stas Sergeev added this -- do pending events */
}
void probe(void) {
/* There's more than one way to move in this game! */
double ddist, xdist, probf;
int line = 0, l, ix, iy;
-#ifdef SERGEEV
- int posx, posy;
-#endif /* SERGEEV */
chew();
/* Test for conditions which prevent calling for help */
}
proutn(" attempt to re-materialize ");
crmshp();
- prouts(" . . . . . ");
+ warble();
if (Rand() > probf) break;
+ switch (l){
+ case 1: game.quad[ix][iy]=IHMATER1;
+ break;
+ case 2: game.quad[ix][iy]=IHMATER2;
+ break;
+ case 3: game.quad[ix][iy]=IHQUEST;
+ break;
+ }
+ textcolor(RED);
prout("fails.");
+ delay(500);
+ textcolor(LIGHTGRAY);
}
if (l > 3) {
finish(FMATERIALIZE);
return;
}
- /* Rematerialization attempt should succeed if can get adj to base */
- for (l = 1; l <= 5; l++) {
- ix = basex+3.0*Rand()-1;
- iy = basey+3.0*Rand()-1;
- if (ix>=1 && ix<=10 && iy>=1 && iy<=10 && game.quad[ix][iy]==IHDOT) {
- /* found one -- finish up */
- prout("succeeds.");
- sectx=ix;
- secty=iy;
- game.quad[ix][iy]=ship;
- dock(0);
- skip(1);
- prout("Lt. Uhura- \"Captain, we made it!\"");
- return;
- }
- }
- finish(FMATERIALIZE);
- return;
+ game.quad[ix][iy]=ship;
+ textcolor(WHITE);
+ prout("succeeds.");
+ textcolor(LIGHTGRAY);
+ dock(0);
+ skip(1);
+ prout("Lt. Uhura- \"Captain, we made it!\"");
}