the-infocom-files/suspended

END-GAME uses a hard-coded 75 moves when calculating casualties, but should perhaps use RTD-KILLS instead?

eriktorbjorn opened this issue · 0 comments

When the game starts (see GO) it queues the two secondary tremors like this:

	 <ENABLE <QUEUE I-TREMOR1 ,ACID-KILLS>>
	 <ENABLE <QUEUE I-TREMOR2 ,RTD-KILLS>>;"Includes resetting food levers"

The second tremor is when the surface systems really start to go haywire. It checks if this has happened, not by setting a global variable but by comparing MOVES to RTD-KILLS:

  • Water, Minerals and Lighting no longer correspond to their settings. See I-FOOD.
  • Food shortage starts killing people. See I-SCORE.
  • Floaters begin to crash, if they're still active, which can kill people. See DO-RTD.
  • Taxis begin to crash, if they're still active, which can kill people. See DO-RTD.
  • Ramps speeds increase, which can kill people. See DO-RTD.

The default value for RTD-KILLS is 75, but advanced mode lowers it to 2. You can also set it with the "CONFIGURE" command.

But when you win the game, END-GAME doesn't use RTD-KILLS to see how bad things are when calculating projected casualties. It uses a hard-coded 75 moves:

	 <TELL "  Projected casualties during recovery: ">
	 <SETG DEGREES <* ,SCORE ,WINDS>>
	 <COND (<G? ,MOVES 75>
		<SETG DEGREES <+ ,DEGREES <- ,FOOD-OPT ,FOOD-TONS>>>)>
	 <BIG-NUM-PRINT ,DEGREES>
	 <SETG TOTAL-SCORE <+ ,TOTAL-SCORE ,DEGREES>>

Shouldn't it use RTD-KILLS instead? Maybe. It could have a pretty big impact on your final ranking in advanced mode, assuming it can be solved in 75 moves or less. It would also affect your final ranking in configured mode.

So maybe it should be left unchanged?