X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=src%2Fevents.c;h=7acb042fa8ba76803a2e57773b68f6fcb51e9a1b;hp=f7831a6870e10fccec2ec58e9c29ff44dcd55d71;hb=4207ce95e80fe7e2d5114079fa4255e0ad506618;hpb=8f5eef7a4dcbfd3fa8ee33e1f50ae4b0c53efc9c diff --git a/src/events.c b/src/events.c index f7831a6..7acb042 100644 --- a/src/events.c +++ b/src/events.c @@ -162,7 +162,7 @@ void events(void) case FSPY: /* Check with spy to see if S.C. should tractor beam */ if (game.state.nscrem == 0 || ictbeam || istract || - game.condition==docked || game.isatb==1 || game.iscate==1) return; + game.condition==docked || game.isatb==1 || game.iscate) return; if (game.ientesc || (game.energy < 2000 && game.torps < 4 && game.shield < 1250) || (damaged(DPHASER) && (damaged(DPHOTON) || game.torps < 4)) || @@ -195,7 +195,7 @@ void events(void) if (!ipage) pause_game(true); ipage=true; game.optime = (10.0/(7.5*7.5))*yank; /* 7.5 is yank rate (warp 7.5) */ - ictbeam = 1; + ictbeam = true; skip(1); proutn("***"); crmshp(); @@ -208,13 +208,13 @@ void events(void) return; } /* Check to see if shuttle is aboard */ - if (game.iscraft==0) { + if (game.iscraft == offship) { skip(1); if (Rand() > 0.5) { prout(_("Galileo, left on the planet surface, is captured")); prout(_("by aliens and made into a flying McDonald's.")); game.damage[DSHUTTL] = -10; - game.iscraft = -1; + game.iscraft = removed; } else { prout(_("Galileo, left on the planet surface, is well hidden.")); @@ -237,20 +237,20 @@ void events(void) if (!game.shldup) { if (!damaged(DSHIELD) && game.shield > 0) { doshield(true); /* raise shields */ - game.shldchg=0; + game.shldchg=false; } else prout(_("(Shields not currently useable.)")); } newqad(false); /* Adjust finish time to time of tractor beaming */ fintim = game.state.date+game.optime; - attack(0); + attack(false); if (game.state.remcom <= 0) unschedule(FTBEAM); else schedule(FTBEAM, game.optime+expran(1.5*game.intime/game.state.remcom)); break; case FSNAP: /* Snapshot of the universe (for time warp) */ game.snapsht = game.state; - game.state.snap = 1; + game.state.snap = true; schedule(FSNAP, expran(0.5 * game.intime)); break; case FBATTAK: /* Commander attacks starbase */ @@ -317,7 +317,7 @@ void events(void) if (i > game.state.remcom || game.state.rembase == 0 || !game.state.galaxy[game.battle.x][game.battle.y].starbase) { /* No action to take after all */ - game.battle.x = game.battle.y = 0; + invalidate(game.battle); break; } } @@ -358,14 +358,13 @@ void events(void) game.battle = hold; game.isatb = 0; } - else { - game.battle.x = game.battle.y = 0; - } + else + invalidate(game.battle); break; case FSCMOVE: /* Supercommander moves */ schedule(FSCMOVE, 0.2777); if (!game.ientesc && !istract && game.isatb != 1 && - (game.iscate != 1 || !game.justin)) + (!game.iscate || !game.justin)) scom(&ipage); break; case FDSPROB: /* Move deep space probe */ @@ -381,8 +380,8 @@ void events(void) game.state.galaxy[game.probec.x][game.probec.y].supernova) { // Left galaxy or ran into supernova if (!damaged(DRADIO) || game.condition == docked) { - if (ipage==0) pause_game(true); - ipage = 1; + if (!ipage) pause_game(true); + ipage = true; skip(1); proutn(_("Lt. Uhura- \"The deep space probe ")); if (!VALID_QUADRANT(j, i)) @@ -395,8 +394,8 @@ void events(void) break; } if (!damaged(DRADIO) || game.condition == docked) { - if (ipage==0) pause_game(true); - ipage = 1; + if (!ipage) pause_game(true); + ipage = true; skip(1); proutn(_("Lt. Uhura- \"The deep space probe is now in ")); proutn(cramlc(quadrant, game.probec)); @@ -453,7 +452,7 @@ void events(void) if (!damaged(DRADIO) || game.condition == docked) { prout("Uhura- Captain, %s in %s reports it is under attack", - systemname(q->planet), cramlc(quadrant, w)); + systnames[q->planet], cramlc(quadrant, w)); prout("by a Klingon invasion fleet."); if (cancelrest()) return; @@ -477,7 +476,7 @@ void events(void) if (!damaged(DRADIO) || game.condition == docked) { prout("Uhura- We've lost contact with starsystem %s", - systemname(q->planet)); + systnames[q->planet]); prout("in %s.\n", cramlc(quadrant, ev->quadrant)); } break; @@ -531,11 +530,11 @@ void events(void) { if (same(game.quadrant, w)) { prout("Spock- sensors indicate the Klingons have"); - prout("launched a warship from %s.",systemname(q->planet)); + prout("launched a warship from %s.", systnames[q->planet]); } else { prout("Uhura- Starfleet reports increased Klingon activity"); if (q->planet != NOPLANET) - proutn("near %s", systemname(q->planet)); + proutn("near %s", systnames[q->planet]); prout("in %s.\n", cramlc(quadrant, w)); } } @@ -585,7 +584,7 @@ void wait(void) if (rtime < temp) temp = rtime; game.optime = temp; } - if (game.optime < delay) attack(0); + if (game.optime < delay) attack(false); if (game.alldone) return; events(); game.ididit = true; @@ -676,8 +675,9 @@ void nova(coord nov) crmena(true, IHP, sector, scratch); prout(_(" destroyed.")); DESTROY(&game.state.plnets[game.iplnet]); - game.iplnet = game.plnet.x = game.plnet.y = 0; - if (game.landed == 1) { + game.iplnet = 0; + invalidate(game.plnet); + if (game.landed) { finish(FPNOVA); return; } @@ -690,7 +690,7 @@ void nova(coord nov) break; game.state.baseq[i] = game.state.baseq[game.state.rembase]; game.state.rembase--; - game.base.x = game.base.y = 0; + invalidate(game.base); game.state.basekl++; newcnd(); crmena(true, IHB, sector, scratch); @@ -784,8 +784,7 @@ void nova(coord nov) game.optime = 10.0*game.dist/16.0; skip(1); prout(_("Force of nova displaces starship.")); - game.iattak=2; /* Eliminates recursion problem */ - imove(); + imove(true); game.optime = 10.0*game.dist/16.0; return; } @@ -866,7 +865,8 @@ void snova(bool induced, coord *w) game.state.galaxy[nq.x][nq.y].klingons = 0; if (same(nq, game.state.kscmdr)) { /* did in the Supercommander! */ - game.state.nscrem = game.state.kscmdr.x = game.state.kscmdr.y = game.isatb = game.iscate = 0; + game.state.nscrem = game.state.kscmdr.x = game.state.kscmdr.y = game.isatb = 0; + game.iscate = false; unschedule(FSCMOVE); unschedule(FSCDBAS); } @@ -875,7 +875,7 @@ void snova(bool induced, coord *w) for (l = 1; l <= maxloop; l++) { if (same(game.state.kcmdr[l], nq)) { game.state.kcmdr[l] = game.state.kcmdr[game.state.remcom]; - game.state.kcmdr[game.state.remcom].x = game.state.kcmdr[game.state.remcom].y = 0; + invalidate(game.state.kcmdr[game.state.remcom]); game.state.remcom--; kldead--; if (game.state.remcom==0) unschedule(FTBEAM); @@ -902,7 +902,7 @@ void snova(bool induced, coord *w) for (loop = 1; loop <= maxloop; loop++) if (same(game.state.baseq[loop], nq)) { game.state.baseq[loop] = game.state.baseq[game.state.rembase]; - game.state.baseq[game.state.rembase].x = game.state.baseq[game.state.rembase].y = 0; + invalidate(game.state.baseq[game.state.rembase]); game.state.rembase--; break; }