X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Ffinish.c;h=9c518b6c4bfed28dfe2496ef8ea0fa63e85510e4;hb=a0afd227763655ee0ecd7ef5faea92d63d5c5ba6;hp=d23723b9813f4d491728a7f95815afbb7624592e;hpb=459d6afcbe13be588b29c8bd1fbffb39b13fdee1;p=super-star-trek.git diff --git a/src/finish.c b/src/finish.c index d23723b..9c518b6 100644 --- a/src/finish.c +++ b/src/finish.c @@ -6,7 +6,7 @@ void dstrct() { /* Finish with a BANG! */ chew(); - if (game.damage[DCOMPTR] != 0.0) { + if (damaged(DCOMPTR)) { prout(_("Computer damaged; cannot execute destruct sequence.")); return; } @@ -88,7 +88,7 @@ void finish(FINTYPE ifin) if (game.alive) { double badpt; badpt = 5.0*game.state.starkl + game.casual + 10.0*game.state.nplankl + - 45.*game.nhelp+100.*game.state.basekl; + 45.*game.nhelp+100.*game.state.basekl+3.*game.abandoned; if (game.ship == IHF) badpt += 100.0; else if (game.ship == 0) badpt += 200.0; if (badpt < 100.0) badpt = 0.0; // Close enough! @@ -278,6 +278,9 @@ void finish(FINTYPE ifin) prout(_("Your ship is drawn to the center of the black hole.")); prout(_("You are crushed into extremely dense matter.")); break; + case FCREW: + prout(_("Your last crew member has died.")); + break; } if (game.ship==IHF) game.ship= 0; else if (game.ship == IHE) game.ship = IHF; @@ -326,7 +329,7 @@ void score(void) if (game.gamewon == 0) game.state.nromrem = 0; // None captured if no win iscore = 10*NKILLK + 50*NKILLC + ithperd + iwon - 100*game.state.basekl - 100*klship - 45*game.nhelp -5*game.state.starkl - game.casual - + 20*NKILLROM + 200*NKILLSC - 10*game.state.nplankl + game.state.nromrem; + + 20*NKILLROM + 200*NKILLSC - 10*game.state.nplankl - 300*game.state.nworldkl + game.state.nromrem; if (game.alive == 0) iscore -= 200; skip(2); prout(_("Your score --")); @@ -354,6 +357,9 @@ void score(void) if (game.state.nplankl) prout(_("%6d planets destroyed by your action %5d"), game.state.nplankl, -10*game.state.nplankl); + if ((game.options & OPTION_WORLDS) && game.state.nworldkl) + prout(_("%6d inhabited planets destroyed by your action %5d"), + game.state.nplankl, -300*game.state.nworldkl); if (game.state.basekl) prout(_("%6d bases destroyed by your action %5d"), game.state.basekl, -100*game.state.basekl); @@ -363,6 +369,9 @@ void score(void) if (game.casual) prout(_("%6d casualties incurred %5d"), game.casual, -game.casual); + if (game.abandoned) + prout(_("%6d crew abandoned in space %5d"), + game.abandoned, -3*game.abandoned); if (klship) prout(_("%6d ship(s) lost or destroyed %5d"), klship, -100*klship);