1: /*
2: * Copyright (c) 1980 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: */
6:
7: #ifndef lint
8: static char sccsid[] = "@(#)ram.c 5.1 (Berkeley) 5/30/85";
9: #endif not lint
10:
11: # include "trek.h"
12:
13: /*
14: ** RAM SOME OBJECT
15: **
16: ** You have run into some sort of object. It may be a Klingon,
17: ** a star, or a starbase. If you run into a star, you are really
18: ** stupid, because there is no hope for you.
19: **
20: ** If you run into something else, you destroy that object. You
21: ** also rack up incredible damages.
22: */
23:
24: ram(ix, iy)
25: int ix, iy;
26: {
27: register int i;
28: register char c;
29:
30: printf("RED ALERT: collision imminent\n");
31: c = Sect[ix][iy];
32: switch (c)
33: {
34:
35: case KLINGON:
36: printf("%s rams Klingon at %d,%d\n", Ship.shipname, ix, iy);
37: killk(ix, iy);
38: break;
39:
40: case STAR:
41: case INHABIT:
42: printf("Yeoman Rand: Captain, isn't it getting hot in here?\n");
43: sleep(2);
44: printf("Spock: Hull temperature approaching 550 Degrees Kelvin.\n");
45: lose(L_STAR);
46:
47: case BASE:
48: printf("You ran into the starbase at %d,%d\n", ix, iy);
49: killb(Ship.quadx, Ship.quady);
50: /* don't penalize the captain if it wasn't his fault */
51: if (!damaged(SINS))
52: Game.killb += 1;
53: break;
54: }
55: sleep(2);
56: printf("%s heavily damaged\n", Ship.shipname);
57:
58: /* select the number of deaths to occur */
59: i = 10 + ranf(20 * Game.skill);
60: Game.deaths += i;
61: Ship.crew -= i;
62: printf("McCoy: Take it easy Jim; we had %d casualties.\n", i);
63:
64: /* damage devices with an 80% probability */
65: for (i = 0; i < NDEV; i++)
66: {
67: if (ranf(100) < 20)
68: continue;
69: damage(i, (2.5 * (franf() + franf()) + 1.0) * Param.damfac[i]);
70: }
71:
72: /* no chance that your shields remained up in all that */
73: Ship.shldup = 0;
74: }
Defined functions
ram
defined in line
24; used 1 times
Defined variables
sccsid
defined in line
8;
never used