|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)checkcond.c 4.1 (Berkeley) 3/23/83"; ! 3: #endif not lint ! 4: ! 5: # include "trek.h" ! 6: ! 7: /* ! 8: ** Check for Condition After a Move ! 9: ** ! 10: ** Various ship conditions are checked. First we check ! 11: ** to see if we have already lost the game, due to running ! 12: ** out of life support reserves, running out of energy, ! 13: ** or running out of crew members. The check for running ! 14: ** out of time is in events(). ! 15: ** ! 16: ** If we are in automatic override mode (Etc.nkling < 0), we ! 17: ** don't want to do anything else, lest we call autover ! 18: ** recursively. ! 19: ** ! 20: ** In the normal case, if there is a supernova, we call ! 21: ** autover() to help us escape. If after calling autover() ! 22: ** we are still in the grips of a supernova, we get burnt ! 23: ** up. ! 24: ** ! 25: ** If there are no Klingons in this quadrant, we nullify any ! 26: ** distress calls which might exist. ! 27: ** ! 28: ** We then set the condition code, based on the energy level ! 29: ** and battle conditions. ! 30: */ ! 31: ! 32: checkcond() ! 33: { ! 34: register int i, j; ! 35: ! 36: /* see if we are still alive and well */ ! 37: if (Ship.reserves < 0.0) ! 38: lose(L_NOLIFE); ! 39: if (Ship.energy <= 0) ! 40: lose(L_NOENGY); ! 41: if (Ship.crew <= 0) ! 42: lose(L_NOCREW); ! 43: /* if in auto override mode, ignore the rest */ ! 44: if (Etc.nkling < 0) ! 45: return; ! 46: /* call in automatic override if appropriate */ ! 47: if (Quad[Ship.quadx][Ship.quady].stars < 0) ! 48: autover(); ! 49: if (Quad[Ship.quadx][Ship.quady].stars < 0) ! 50: lose(L_SNOVA); ! 51: /* nullify distress call if appropriate */ ! 52: if (Etc.nkling <= 0) ! 53: killd(Ship.quadx, Ship.quady, 1); ! 54: ! 55: /* set condition code */ ! 56: if (Ship.cond == DOCKED) ! 57: return; ! 58: ! 59: if (Etc.nkling > 0) ! 60: { ! 61: Ship.cond = RED; ! 62: return; ! 63: } ! 64: if (Ship.energy < Param.energylow) ! 65: { ! 66: Ship.cond = YELLOW; ! 67: return; ! 68: } ! 69: Ship.cond = GREEN; ! 70: return; ! 71: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.