xref: /original-bsd/games/sail/globals.c (revision 2301fdfb)
1 /*
2  * Copyright (c) 1983 Regents of the University of California.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms are permitted
6  * provided that the above copyright notice and this paragraph are
7  * duplicated in all such forms and that any documentation,
8  * advertising materials, and other materials related to such
9  * distribution and use acknowledge that the software was developed
10  * by the University of California, Berkeley.  The name of the
11  * University may not be used to endorse or promote products derived
12  * from this software without specific prior written permission.
13  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16  */
17 
18 #ifndef lint
19 static char sccsid[] = "@(#)globals.c	5.3 (Berkeley) 06/18/88";
20 #endif /* not lint */
21 
22 #include "externs.h"
23 
24 struct scenario scene[] = {
25 	/*
26 	 * int winddir;
27 	 * int windspeed;
28 	 * int windchange;
29 	 * int vessels;
30 	 * char *name;
31 	 * struct ship ship[NSHIP];
32 	 */
33 	5, 3, 5, 2, "Ranger vs. Drake",
34 	{
35 		{ "Ranger",		specs+0,  N_A,  7, 20, 4, 0 },
36 		{ "Drake",		specs+1,  N_B,  7, 31, 5, 0 }
37 	},
38 	1, 3, 6, 2, "The Battle of Flamborough Head",
39 	{
40 		{ "Bonhomme Rich",	specs+2,  N_A, 13, 40, 2, 0 },
41 		{ "Serapis",		specs+3,  N_B,  2, 42, 2, 0 }
42 	},
43 	5, 5, 5, 10, "Arbuthnot and Des Touches",
44 	{
45 		{ "America",		specs+4,  N_B,  7, 37, 4, 0 },
46 		{ "Befford",		specs+5,  N_B,  5, 35, 4, 0 },
47 		{ "Adamant",		specs+6,  N_B,  3, 33, 4, 0 },
48 		{ "London",		specs+7,  N_B,  1, 31, 4, 0 },
49 		{ "Royal Oak",		specs+8,  N_B, -1, 29, 4, 0 },
50 		{ "Neptune",		specs+9,  N_F,  6, 44, 4, 0 },
51 		{ "Duc Bougogne",	specs+10, N_F,  8, 46, 4, 0 },
52 		{ "Conquerant",		specs+48, N_F, 10, 48, 4, 0 },
53 		{ "Provence",		specs+11, N_F, 12, 50, 4, 0 },
54 		{ "Romulus",		specs+12, N_F, 20, 58, 4, 0 }
55 	},
56 	1, 3, 5, 10, "Suffren and Hughes",
57 	{
58 		{ "Monmouth",		specs+52, N_B,  9, 45, 2, 0 },
59 		{ "Hero",		specs+5,  N_B, 13, 49, 2, 0 },
60 		{ "Isis",		specs+6,  N_B, 12, 48, 2, 0 },
61 		{ "Superb",		specs+50, N_B, 10, 46, 2, 0 },
62 		{ "Burford",		specs+48, N_B, 11, 47, 2, 0 },
63 		{ "Flamband",		specs+13, N_F,  7, 59, 4, 0 },
64 		{ "Annibal",		specs+9,  N_F,  4, 56, 4, 0 },
65 		{ "Severe",		specs+11, N_F,  2, 54, 4, 0 },
66 		{ "Brilliant",		specs+49, N_F, -1, 51, 4, 0 },
67 		{ "Sphinx",		specs+51, N_F, -5, 47, 4, 0 }
68 	},
69 	1, 3, 4, 2, "Nymphe vs. Cleopatre",
70 	{
71 		{ "Nymphe",		specs+14, N_B, 13, 30, 2, 0 },
72 		{ "Cleopatre",		specs+15, N_F,  3, 41, 2, 0 }
73 	},
74 	1, 3, 5, 2, "Mars vs. Hercule",
75 	{
76 		{ "Mars",		specs+16, N_B, 13, 30, 2, 0 },
77 		{ "Hercule",		specs+17, N_F,  3, 41, 2, 0 }
78 	},
79 	5, 3, 5, 2, "Ambuscade vs. Baionnaise",
80 	{
81 		{ "Ambuscade",		specs+18, N_B, 13, 30, 2, 0 },
82 		{ "Baionnaise",		specs+19, N_F,  3, 41, 2, 0 }
83 	},
84 	1, 5, 6, 2, "Constellation vs. Insurgent",
85 	{
86 		{ "Constellation",	specs+20, N_A,  9, 50, 8, 0 },
87 		{ "Insurgent",		specs+22, N_F,  4, 24, 2, 0 }
88 	},
89 	1, 3, 5, 2, "Constellation vs. Vengeance",
90 	{
91 		{ "Constellation",	specs+20, N_A, 12, 40, 2, 0 },
92 		{ "Vengeance",		specs+21, N_F,  1, 43, 2, 0 }
93 	},
94 	1, 3, 6, 10, "The Battle of Lissa",
95 	{
96 		{ "Amphion",		specs+23, N_B,  8, 50, 4, 0 },
97 		{ "Active",		specs+24, N_B,  6, 48, 4, 0 },
98 		{ "Volage",		specs+25, N_B,  4, 46, 4, 0 },
99 		{ "Cerberus",		specs+26, N_B,  2, 44, 4, 0 },
100 		{ "Favorite",		specs+27, N_F,  9, 34, 2, 0 },
101 		{ "Flore",		specs+21, N_F, 13, 39, 2, 0 },
102 		{ "Danae",		specs+64, N_F, 15, 37, 2, 0 },
103 		{ "Bellona",		specs+28, N_F, 17, 35, 2, 0 },
104 		{ "Corona",		specs+29, N_F, 12, 31, 2, 0 },
105 		{ "Carolina",		specs+30, N_F, 15, 28, 2, 0 }
106 	},
107 	2, 5, 6, 2, "Constitution vs. Guerriere",
108 	{
109 		{ "Constitution",	specs+31, N_A,  7, 35, 1, 0 },
110 		{ "Guerriere",		specs+32, N_B,  7, 47, 4, 0 }
111 	},
112 	1, 3, 5, 2, "United States vs. Macedonian",
113 	{
114 		{ "United States",	specs+33, N_A,  1, 52, 6, 0 },
115 		{ "Macedonian",		specs+34, N_B, 14, 40, 1, 0 }
116 	},
117 	1, 3, 6, 2, "Constitution vs. Java",
118 	{
119 		{ "Constitution",	specs+31, N_A,  1, 40, 2, 0 },
120 		{ "Java",		specs+35, N_B, 11, 40, 2, 0 }
121 	},
122 	1, 3, 5, 2, "Chesapeake vs. Shannon",
123 	{
124 		{ "Chesapeake",		specs+36, N_A, 13, 40, 2, 0 },
125 		{ "Shannon",		specs+37, N_B,  1, 42, 2, 0 }
126 	},
127 	1, 1, 6, 5, "The Battle of Lake Erie",
128 	{
129 		{ "Lawrence",		specs+38, N_A,  4, 55, 8, 0 },
130 		{ "Niagara",		specs+42, N_A,  7, 61, 8, 0 },
131 		{ "Lady Prevost",	specs+39, N_B,  4, 25, 2, 0 },
132 		{ "Detroit",		specs+40, N_B,  7, 22, 2, 0 },
133 		{ "Q. Charlotte",	specs+41, N_B, 10, 19, 2, 0 }
134 	},
135 	1, 1, 5, 2, "Wasp vs. Reindeer",
136 	{
137 		{ "Wasp",		specs+42, N_A,  3, 41, 2, 0 },
138 		{ "Reindeer",		specs+43, N_B, 10, 48, 2, 0 }
139 	},
140 	1, 2, 5, 3, "Constitution vs. Cyane and Levant",
141 	{
142 		{ "Constitution",	specs+31, N_A, 10, 45, 2, 0 },
143 		{ "Cyane",		specs+44, N_B,  3, 37, 2, 0 },
144 		{ "Levant",		specs+45, N_B,  5, 35, 2, 0 }
145 	},
146 	5, 5, 5, 3, "Pellew vs. Droits de L'Homme",
147 	{
148 		{ "Indefatigable",	specs+46, N_B, 12, 45, 6, 0 },
149 		{ "Amazon",		specs+47, N_B,  9, 48, 6, 0 },
150 		{ "Droits L'Hom",	specs+48, N_F,  3, 28, 5, 0 }
151 	},
152 	2, 2, 3, 10, "Algeciras",
153 	{
154 		{ "Caesar",		specs+49, N_B,  7, 70, 6, 0 },
155 		{ "Pompee",		specs+50, N_B,  5, 72, 6, 0 },
156 		{ "Spencer",		specs+5,  N_B,  3, 74, 6, 0 },
157 		{ "Hannibal",		specs+7,  N_B,  1, 76, 6, 0 },
158 		{ "Real-Carlos",	specs+53, N_S,  9, 20, 3, 0 },
159 		{ "San Fernando",	specs+54, N_S, 11, 16, 3, 0 },
160 		{ "Argonauta",		specs+55, N_S, 10, 14, 4, 0 },
161 		{ "San Augustine",	specs+56, N_S,  6, 22, 4, 0 },
162 		{ "Indomptable",	specs+51, N_F,  7, 23, 5, 0 },
163 		{ "Desaix",		specs+52, N_F,  7, 27, 7, 0 }
164 	},
165 	5, 3, 6, 7, "Lake Champlain",
166 	{
167 		{ "Saratoga",		specs+60, N_A,  8, 10, 1, 0 },
168 		{ "Eagle",		specs+61, N_A,  9, 13, 2, 0 },
169 		{ "Ticonderoga",	specs+62, N_A, 12, 17, 3, 0 },
170 		{ "Preble",		specs+63, N_A, 14, 20, 2, 0 },
171 		{ "Confiance",		specs+57, N_B,  4, 70, 6, 0 },
172 		{ "Linnet",		specs+58, N_B,  7, 68, 6, 0 },
173 		{ "Chubb",		specs+59, N_B, 10, 65, 6, 0 }
174 	},
175 	5, 3, 6, 4, "Last Voyage of the USS President",
176 	{
177 		{ "President",		specs+67, N_A, 12, 42, 5, 0 },
178 		{ "Endymion",		specs+64, N_B,  5, 42, 5, 0 },
179 		{ "Pomone",		specs+65, N_B,  7, 82, 6, 0 },
180 		{ "Tenedos",		specs+66, N_B,  7, -1, 4, 0 }
181 	},
182 	7, 5, 5, 2, "Hornblower and the Natividad",
183 	{
184 		{ "Lydia",		specs+68, N_B, 12, 40, 2, 0 },
185 		{ "Natividad",		specs+69, N_S,  2, 40, 4, 0 }
186 	},
187 	1, 3, 6, 2, "Curse of the Flying Dutchman",
188 	{
189 		{ "Piece of Cake",	specs+19, N_S,  7, 40, 2, 0 },
190 		{ "Flying Dutchy",	specs+71, N_F,  7, 41, 1, 0 }
191 	},
192 	1, 4, 1, 4, "The South Pacific",
193 	{
194 		{ "USS Scurvy",		specs+70, N_A,  7, 40, 1, 0 },
195 		{ "HMS Tahiti",		specs+71, N_B, 12, 60, 1, 0 },
196 		{ "Australian",		specs+18, N_S,  5, 20, 8, 0 },
197 		{ "Bikini Atoll",	specs+63, N_F,  2, 60, 4, 0 }
198 	},
199 	7, 3, 6, 5, "Hornblower and the battle of Rosas bay",
200 	{
201 		{ "Sutherland",		specs+5,  N_B, 13, 30, 2, 0 },
202 		{ "Turenne",		specs+10, N_F,  9, 35, 6, 0 },
203 		{ "Nightmare",		specs+9,  N_F,  7, 37, 6, 0 },
204 		{ "Paris",		specs+53, N_F,  3, 45, 4, 0 },
205 		{ "Napolean",		specs+56, N_F,  1, 40, 6, 0 }
206 	},
207 	6, 4, 7, 5, "Cape Horn",
208 	{
209 		{ "Concord",		specs+51, N_A,  3, 20, 4, 0 },
210 		{ "Berkeley",		specs+7,  N_A,  5, 50, 5, 0 },
211 		{ "Thames",		specs+71, N_B, 10, 40, 1, 0 },
212 		{ "Madrid",		specs+53, N_S, 13, 60, 8, 0 },
213 		{ "Musket",		specs+10, N_F, 10, 60, 7, 0 }
214 	},
215 	8, 3, 7, 3, "New Orleans",
216 	{
217 		{ "Alligator",		specs+71, N_A, 13,  5, 1, 0 },
218 		{ "Firefly",		specs+50, N_B, 10, 20, 8, 0 },
219 		{ "Cypress",		specs+46, N_B,  5, 10, 6, 0 }
220 	},
221 	5, 3, 7, 3, "Botany Bay",
222 	{
223 		{ "Shark",		specs+11, N_B,  6, 15, 4, 0 },
224 		{ "Coral Snake",	specs+31, N_F,  3, 30, 6, 0 },
225 		{ "Sea Lion",		specs+33, N_F, 13, 50, 8, 0 }
226 	},
227 	4, 3, 6, 4, "Voyage to the Bottom of the Sea",
228 	{
229 		{ "Seaview",		specs+71, N_A,  6, 3,  3, 0 },
230 		{ "Flying Sub",		specs+64, N_A,  8, 3,  3, 0 },
231 		{ "Mermaid",		specs+70, N_B,  2, 5,  5, 0 },
232 		{ "Giant Squid",	specs+53, N_S, 10, 30, 8, 0 }
233 	},
234 	7, 3, 6, 3, "Frigate Action",
235 	{
236 		{ "Killdeer",		specs+21, N_A,  7, 20, 8, 0 },
237 		{ "Sandpiper",		specs+27, N_B,  5, 40, 8, 0 },
238 		{ "Curlew",		specs+34, N_S, 10, 60, 8, 0 }
239 	},
240 	7, 2, 5, 6, "The Battle of Midway",
241 	{
242 		{ "Enterprise",		specs+49, N_A, 10, 70, 8, 0 },
243 		{ "Yorktown",		specs+51, N_A,  3, 70, 7, 0 },
244 		{ "Hornet",		specs+52, N_A,  6, 70, 7, 0 },
245 		{ "Akagi",		specs+53, N_J,  6, 10, 4, 0 },
246 		{ "Kaga",		specs+54, N_J,  4, 12, 4, 0 },
247 		{ "Soryu",		specs+55, N_J,  2, 14, 4, 0 }
248 	},
249 	1, 3, 4, 8, "Star Trek",
250 	{
251 		{ "Enterprise",		specs+76, N_D,-10, 60, 7, 0 },
252 		{ "Yorktown",		specs+77, N_D,  0, 70, 7, 0 },
253 		{ "Reliant",		specs+78, N_D, 10, 70, 7, 0 },
254 		{ "Galileo",		specs+79, N_D, 20, 60, 7, 0 },
255 		{ "Kobayashi Maru",	specs+80, N_K,  0,120, 7, 0 },
256 		{ "Klingon II",		specs+81, N_K, 10,120, 7, 0 },
257 		{ "Red Orion",		specs+82, N_O,  0,  0, 3, 0 },
258 		{ "Blue Orion",		specs+83, N_O, 10,  0, 3, 0 }
259 	}
260 };
261 int nscene = sizeof scene / sizeof (struct scenario);
262 
263 struct shipspecs specs[] = {
264 /*      bs fs ta guns   hull  crew1   crew3    gunR  carR   rig2  rig4 pts */
265 /*                 class   qual   crew2    gunL   carL   rig1  rig3        */
266 /*00*/	4, 7, 3,  19, 5,  5, 4,  2,  2,  2,  2,  2, 0, 0,  4, 4, 4,  4,  7,
267 /*01*/	4, 7, 3,  17, 5,  5, 4,  2,  2,  2,  0,  0, 4, 4,  3, 3, 3,  3,  6,
268 /*02*/	3, 5, 2,  42, 4,  7, 4,  2,  2,  2,  2,  2, 0, 0,  5, 5, 5, -1, 11,
269 /*03*/	4, 6, 3,  44, 3,  7, 4,  2,  2,  2,  3,  3, 0, 0,  5, 5, 5,  5, 12,
270 /*04*/	3, 5, 2,  64, 2, 17, 4,  8,  6,  6, 12, 12, 2, 2,  7, 7, 7, -1, 20,
271 /*05*/	3, 5, 2,  74, 2, 20, 4,  8,  8,  8, 16, 16, 2, 2,  7, 7, 7, -1, 26,
272 /*06*/	3, 5, 2,  50, 2, 12, 4,  6,  4,  4,  8,  8, 2, 2,  6, 6, 6, -1, 17,
273 /*07*/	3, 5, 1,  98, 1, 23, 4, 10, 10, 10, 18, 18, 2, 2,  8, 8, 8, -1, 28,
274 /*08*/	3, 5, 2,  74, 2, 20, 4,  8,  8,  8, 16, 16, 2, 2,  7, 7, 7, -1, 26,
275 /*09*/	3, 5, 2,  74, 2, 21, 3, 10, 10,  8, 20, 20, 0, 0,  7, 7, 7, -1, 24,
276 /*10*/	3, 5, 1,  80, 1, 23, 3, 12, 12, 10, 22, 22, 0, 0,  7, 7, 7, -1, 27,
277 /*11*/	3, 5, 2,  64, 2, 18, 3,  8,  8,  6, 12, 12, 0, 0,  7, 7, 7, -1, 18,
278 /*12*/	3, 5, 2,  44, 2, 11, 3,  4,  4,  4,  6,  6, 2, 2,  5, 5, 5, -1, 10,
279 /*13*/	3, 5, 2,  50, 2, 14, 3,  6,  6,  4,  8,  8, 0, 0,  6, 6, 6, -1, 14,
280 /*14*/	4, 6, 3,  36, 3, 11, 4,  4,  4,  2,  4,  4, 2, 2,  5, 5, 5,  5, 11,
281 /*15*/	4, 6, 3,  36, 3, 11, 3,  4,  4,  4,  4,  4, 2, 2,  5, 5, 5,  5, 10,
282 /*16*/	3, 5, 2,  74, 2, 21, 4, 10,  8,  8, 18, 18, 2, 2,  7, 7, 7, -1, 26,
283 /*17*/	3, 5, 2,  74, 2, 21, 3, 10, 10,  8, 20, 20, 2, 2,  7, 7, 7, -1, 23,
284 /*18*/	4, 6, 3,  32, 3,  8, 3,  4,  2,  2,  4,  4, 2, 2,  5, 5, 5,  5,  9,
285 /*19*/	4, 6, 3,  24, 4,  6, 3,  4,  4,  4,  2,  2, 0, 0,  4, 4, 4,  4,  9,
286 /*20*/	4, 7, 3,  38, 4, 14, 5,  6,  4,  4,  4,  4, 6, 6,  5, 5, 5,  5, 17,
287 /*21*/	4, 6, 3,  40, 3, 15, 3,  8,  6,  6,  6,  6, 4, 4,  5, 5, 5,  5, 15,
288 /*22*/	4, 7, 3,  36, 4, 11, 3,  6,  6,  4,  4,  4, 2, 2,  5, 5, 5,  5, 11,
289 /*23*/	4, 6, 3,  32, 3, 11, 5,  4,  4,  2,  4,  4, 2, 2,  5, 5, 5,  5, 13,
290 /*24*/	4, 6, 3,  38, 3, 14, 5,  4,  4,  4,  6,  6, 4, 4,  5, 5, 5,  5, 18,
291 /*25*/	4, 6, 3,  22, 3,  6, 5,  2,  2,  2,  0,  0, 8, 8,  4, 4, 4,  4, 11,
292 /*26*/	4, 6, 3,  32, 3, 11, 5,  4,  4,  2,  4,  4, 2, 2,  5, 5, 5,  5, 13,
293 /*27*/	4, 6, 3,  40, 3, 14, 3,  6,  6,  4,  6,  6, 4, 4,  5, 5, 5,  5, 15,
294 /*28*/	4, 6, 3,  32, 3, 11, 2,  4,  4,  4,  4,  4, 0, 0,  5, 5, 5,  5,  9,
295 /*29*/	4, 6, 3,  40, 3, 14, 2,  6,  6,  4,  6,  6, 4, 4,  5, 5, 5,  5, 12,
296 /*30*/	4, 6, 3,  32, 3,  8, 2,  4,  4,  1,  2,  2, 0, 0,  4, 4, 4,  4,  7,
297 /*31*/	4, 7, 3,  44, 4, 18, 5,  6,  6,  6,  8,  8, 6, 6,  6, 6, 6,  6, 24,
298 /*32*/	4, 6, 3,  38, 3, 14, 4,  4,  4,  2,  6,  6, 4, 4,  5, 5, 5,  5, 15,
299 /*33*/	4, 5, 3,  44, 3, 18, 5,  8,  6,  6,  8,  8, 8, 8,  6, 6, 6,  6, 24,
300 /*34*/	4, 6, 3,  38, 3, 14, 4,  4,  4,  4,  6,  6, 4, 4,  5, 5, 5,  5, 16,
301 /*35*/	4, 7, 3,  38, 4, 14, 4,  6,  6,  6,  6,  6, 6, 6,  5, 5, 5,  5, 19,
302 /*36*/	4, 6, 3,  38, 3, 14, 3,  6,  6,  4,  6,  6, 6, 6,  5, 5, 5,  5, 14,
303 /*37*/	4, 6, 3,  38, 3, 14, 5,  6,  4,  4,  6,  6, 6, 6,  5, 5, 5,  5, 17,
304 /*38*/	4, 7, 3,  20, 5,  6, 4,  4,  2,  2,  0,  0, 6, 6,  4, 4, 4,  4,  9,
305 /*39*/	4, 7, 3,  13, 6,  3, 4,  0,  2,  2,  0,  0, 2, 2,  2, 2, 2,  2,  5,
306 /*40*/	4, 7, 3,  19, 5,  5, 4,  2,  2,  2,  2,  2, 0, 0,  4, 4, 4,  4,  7,
307 /*41*/	4, 7, 3,  17, 5,  5, 4,  2,  2,  2,  2,  2, 0, 0,  3, 3, 3,  3,  6,
308 /*42*/	4, 7, 3,  20, 5,  6, 5,  4,  2,  2,  0,  0, 6, 6,  4, 4, 4,  4, 12,
309 /*43*/	4, 7, 3,  18, 5,  5, 5,  2,  2,  2,  0,  0, 6, 6,  4, 4, 4,  4,  9,
310 /*44*/	4, 7, 3,  24, 5,  6, 4,  4,  2,  2,  0,  0,10,10,  4, 4, 4,  4, 11,
311 /*45*/	4, 7, 3,  20, 5,  6, 4,  2,  2,  2,  0,  0, 8, 8,  4, 4, 4,  4, 10,
312 /*46*/	4, 6, 3,  44, 3, 11, 5,  4,  4,  4,  4,  4, 2, 2,  5, 5, 5,  5, 14,
313 /*47*/	4, 6, 3,  36, 3, 12, 4,  4,  4,  4,  6,  6, 2, 2,  5, 5, 5,  5, 14,
314 /*48*/	3, 5, 2,  74, 2, 21, 3, 10,  8,  8, 20, 20, 2, 2,  4, 4, 7, -1, 24,
315 /*49*/	3, 5, 2,  80, 2, 24, 4, 10,  8,  8, 20, 20, 2, 2,  8, 8, 8, -1, 31,
316 /*50*/	3, 5, 2,  74, 2, 21, 4,  8,  8,  6, 16, 16, 4, 4,  7, 7, 7, -1, 27,
317 /*51*/	3, 5, 2,  80, 2, 24, 3, 12, 12, 10, 22, 22, 2, 2,  7, 7, 7, -1, 27,
318 /*52*/	3, 5, 2,  74, 2, 21, 3, 10, 10,  8, 20, 20, 2, 2,  7, 7, 7, -1, 24,
319 /*53*/	3, 5, 1, 112, 1, 27, 2, 12, 12, 12, 24, 24, 0, 0,  9, 9, 9, -1, 27,
320 /*54*/	3, 5, 1,  96, 1, 24, 2, 12, 12, 10, 20, 20, 0, 0,  8, 8, 8, -1, 24,
321 /*55*/	3, 5, 2,  80, 2, 23, 2, 10, 10,  8, 20, 20, 0, 0,  7, 7, 7, -1, 23,
322 /*56*/	3, 5, 2,  74, 2, 21, 2, 10,  8,  8, 16, 16, 4, 4,  7, 7, 7, -1, 20,
323 /*57*/	4, 6, 3,  37, 3, 12, 4,  4,  4,  2,  6,  6, 4, 4,  5, 5, 5,  5, 14,
324 /*58*/	4, 7, 3,  16, 5,  5, 5,  2,  2,  2,  0,  0, 4, 4,  4, 4, 4,  4, 10,
325 /*59*/	4, 7, 3,  11, 6,  3, 4,  2,  2,  2,  0,  0, 2, 2,  2, 2, 2,  2,  5,
326 /*60*/	4, 7, 3,  26, 5,  6, 4,  4,  2,  2,  2,  2, 6, 6,  4, 4, 4,  4, 12,
327 /*61*/	4, 7, 3,  20, 5,  6, 4,  4,  2,  2,  0,  0, 6, 6,  4, 4, 4,  4, 11,
328 /*62*/	4, 7, 3,  17, 5,  5, 4,  2,  2,  2,  0,  0, 6, 6,  4, 4, 4,  4,  9,
329 /*63*/	4, 7, 3,   7, 6,  3, 4,  0,  2,  2,  0,  0, 2, 2,  2, 2, 2,  2,  4,
330 /*64*/	4, 6, 3,  40, 3, 15, 4,  4,  4,  4,  8,  8, 6, 6,  5, 5, 5,  5, 17,
331 /*65*/	4, 6, 3,  44, 3, 15, 4,  8,  8,  6, 10, 10, 2, 2,  6, 6, 6,  6, 20,
332 /*66*/	4, 6, 3,  38, 3, 14, 4,  4,  4,  4,  6,  6, 6, 6,  5, 5, 5,  5, 15,
333 /*67*/	4, 5, 3,  44, 3, 18, 5,  8,  6,  6,  8,  8, 8, 8,  6, 6, 6,  6, 24,
334 /*68*/	4, 6, 3,  36, 3,  9, 5,  4,  4,  2,  4,  4, 2, 2,  5, 5, 5,  5, 13,
335 /*69*/	3, 5, 2,  50, 2, 14, 2,  6,  6,  6,  8,  8, 0, 0,  6, 6, 6, -1, 14,
336 /*70*/	3, 5, 1, 136, 1, 30, 1,  8, 14, 14, 28, 28, 0, 0,  9, 9, 9, -1, 27,
337 /*71*/	3, 5, 1, 120, 1, 27, 5, 16, 14, 14, 28, 28, 2, 2,  9, 9, 9, -1, 43,
338 /*72*/	3, 5, 1, 120, 2, 21, 5, 15, 17, 15, 25, 25, 7, 7,  9, 9, 9, -1, 36,
339 /*73*/	3, 5, 1,  90, 3, 18, 4, 13, 15, 13, 20, 20, 6, 6,  5, 5, 5,  5, 28,
340 /*74*/	4, 7, 3,   6, 6,  3, 4,  2,  2,  2, 20, 20, 6, 6,  2, 2, 3,  3,  5,
341 /*75*/	3, 5, 1, 110, 2, 20, 4, 14, 15, 11, 26, 26, 8, 8,  7, 8, 9, -1, 34,
342 /*76*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
343 /*77*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
344 /*78*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
345 /*79*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
346 /*80*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
347 /*81*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
348 /*82*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
349 /*83*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
350 /*      bs fs ta guns   hull  crew1   crew3    gunR  carR   rig2  rig4 pts */
351 /*                 class   qual   crew2    gunL   carL   rig1  rig3        */
352 };
353 
354 struct windeffects WET[7][6] = {
355 	{ {9,9,9,9}, {9,9,9,9}, {9,9,9,9}, {9,9,9,9}, {9,9,9,9}, {9,9,9,9} },
356 	{ {3,2,2,0}, {3,2,1,0}, {3,2,1,0}, {3,2,1,0}, {2,1,0,0}, {2,1,0,0} },
357 	{ {1,1,1,0}, {1,1,0,0}, {1,0,0,0}, {1,0,0,0}, {1,0,0,0}, {1,0,0,0} },
358 	{ {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
359 	{ {0,0,0,0}, {1,0,0,0}, {1,1,0,0}, {1,1,0,0}, {2,2,1,0}, {2,2,1,0} },
360 	{ {1,0,0,0}, {1,1,0,0}, {1,1,1,0}, {1,1,1,0}, {3,2,2,0}, {3,2,2,0} },
361 	{ {2,1,1,0}, {3,2,1,0}, {3,2,1,0}, {3,2,1,0}, {3,3,2,0}, {3,3,2,0} }
362 };
363 
364 struct Tables RigTable[11][6] = {
365 	{ {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,1}, {0,0,1,0} },
366 	{ {0,0,0,0}, {0,0,0,0}, {0,0,0,1}, {0,0,1,0}, {1,0,0,1}, {0,1,1,1} },
367 	{ {0,0,0,0}, {0,0,0,1}, {0,0,1,1}, {0,1,0,1}, {0,1,0,1}, {1,0,1,2} },
368 	{ {0,0,0,0}, {0,0,1,1}, {0,1,0,1}, {0,0,0,2}, {0,1,0,2}, {1,0,1,2} },
369 	{ {0,1,0,1}, {1,0,0,1}, {0,1,1,2}, {0,1,0,2}, {0,0,1,3}, {1,0,1,4} },
370 	{ {0,0,1,1}, {0,1,0,2}, {1,0,0,3}, {0,1,1,3}, {1,0,0,4}, {1,1,1,4} },
371 	{ {0,0,1,2}, {0,1,1,2}, {1,1,0,3}, {0,1,0,4}, {1,0,0,4}, {1,0,1,5} },
372 	{ {0,0,1,2}, {0,1,0,3}, {1,1,0,3}, {1,0,2,4}, {0,2,1,5}, {2,1,0,5} },
373 	{ {0,2,1,3}, {1,0,0,3}, {2,1,0,4}, {0,1,1,4}, {0,1,0,5}, {1,0,2,6} },
374 	{ {1,1,0,4}, {1,0,1,4}, {2,0,0,5}, {0,2,1,5}, {0,1,2,6}, {0,2,0,7} },
375 	{ {1,0,1,5}, {0,2,0,6}, {1,2,0,6}, {1,1,1,6}, {2,0,2,6}, {1,1,2,7} }
376 };
377 struct Tables HullTable[11][6] = {
378 	{ {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {1,0,0,0}, {0,1,0,0} },
379 	{ {0,0,0,0}, {0,0,0,0}, {0,1,0,0}, {1,1,0,0}, {1,0,1,0}, {1,0,1,1} },
380 	{ {0,1,0,0}, {1,0,0,0}, {1,1,0,0}, {1,0,1,0}, {1,0,1,1}, {2,1,0,0} },
381 	{ {0,1,1,0}, {1,0,0,0}, {1,1,1,0}, {2,0,0,1}, {2,0,1,0}, {2,2,0,0} },
382 	{ {0,1,1,0}, {1,0,0,1}, {2,1,0,1}, {2,2,1,0}, {3,0,1,0}, {3,1,0,0} },
383 	{ {1,1,1,0}, {2,0,2,1}, {2,1,1,0}, {2,2,0,0}, {3,1,0,1}, {3,1,1,0} },
384 	{ {1,2,2,0}, {2,0,2,1}, {2,1,0,1}, {2,2,0,0}, {3,1,1,0}, {4,2,1,0} },
385 	{ {2,1,1,0}, {2,0,1,1}, {3,2,2,0}, {3,2,0,0}, {4,2,1,0}, {4,2,1,1} },
386 	{ {2,1,2,0}, {3,1,1,1}, {3,2,2,0}, {4,2,1,0}, {4,1,0,2}, {4,2,2,0} },
387 	{ {2,3,1,0}, {3,2,2,0}, {3,2,2,1}, {4,2,2,0}, {4,1,0,3}, {5,1,2,0} },
388 	{ {2,2,4,0}, {3,3,1,1}, {4,2,1,1}, {5,1,0,2}, {5,1,2,1}, {6,2,2,0} },
389 };
390 
391 char AMMO[9][4] = {
392 	{ -1, 1, 0, 1 },
393 	{ -1, 1, 0, 1 },
394 	{ -1, 1, 0, 1 },
395 	{ -2, 1, 0, 2 },
396 	{ -2, 2, 0, 2 },
397 	{ -2, 2, 0, 2 },
398 	{ -3, 2, 0, 2 },
399 	{ -3, 2, 0, 3 },
400 	{ -3, 2, 0, 3 }
401 };
402 
403 char HDT[9][10] = {
404 	{ 1, 0,-1,-2,-3,-3,-4,-4,-4,-4 },
405 	{ 1, 1, 0,-1,-2,-2,-3,-3,-3,-3 },
406 	{ 2, 1, 0,-1,-2,-2,-3,-3,-3,-3 },
407 	{ 2, 2, 1, 0,-1,-1,-2,-2,-2,-2 },
408 	{ 3, 2, 1, 0,-1,-1,-2,-2,-2,-2 },
409 	{ 3, 3, 2, 1, 0, 0,-1,-1,-1,-1 },
410 	{ 4, 3, 2, 1, 0, 0,-1,-1,-1,-1 },
411 	{ 4, 4, 3, 2, 1, 1, 0, 0, 0, 0 },
412 	{ 5, 4, 3, 2, 1, 1, 0, 0, 0, 0 }
413 };
414 
415 char HDTrake[9][10] = {
416 	{ 2, 1, 0,-1,-2,-2,-3,-3,-3,-3 },
417 	{ 2, 2, 1, 0,-1,-1,-2,-2,-2,-2 },
418 	{ 3, 2, 1, 0,-1,-1,-2,-2,-2,-2 },
419 	{ 4, 3, 2, 1, 0, 0,-1,-1,-1,-1 },
420 	{ 5, 4, 3, 2, 1, 1, 0, 0, 0, 0 },
421 	{ 6, 5, 4, 3, 2, 2, 1, 1, 1, 1 },
422 	{ 7, 6, 5, 4, 3, 3, 2, 2, 2, 2 },
423 	{ 8, 7, 6, 5, 4, 4, 3, 3, 3, 3 },
424 	{ 9, 8, 7, 6, 5, 5, 4, 4, 4, 4 }
425 };
426 
427 char QUAL[9][5] = {
428 	{ -1, 0, 0, 1, 1 },
429 	{ -1, 0, 0, 1, 1 },
430 	{ -1, 0, 0, 1, 2 },
431 	{ -1, 0, 0, 1, 2 },
432 	{ -1, 0, 0, 2, 2 },
433 	{ -1,-1, 0, 2, 2 },
434 	{ -2,-1, 0, 2, 2 },
435 	{ -2,-1, 0, 2, 2 },
436 	{ -2,-1, 0, 2, 3 }
437 };
438 
439 char MT[9][3] = {
440 	{ 1, 0, 0 },
441 	{ 1, 1, 0 },
442 	{ 2, 1, 0 },
443 	{ 2, 1, 1 },
444 	{ 2, 2, 1 },
445 	{ 3, 2, 1 },
446 	{ 3, 2, 2 },
447 	{ 4, 3, 2 },
448 	{ 4, 4, 2 }
449 };
450 
451 char rangeofshot[] = {
452 	0,
453 	1,		/* grape */
454 	3,		/* chain */
455 	10,		/* round */
456 	1		/* double */
457 };
458 
459 char *countryname[] = {
460 	"American", "British", "Spanish", "French", "Japanese",
461 	"Federation", "Klingon", "Orion"
462 };
463 
464 char *classname[] = {
465 	"Drift wood",
466 	"Ship of the Line",
467 	"Ship of the Line",
468 	"Frigate",
469 	"Corvette",
470 	"Sloop",
471 	"Brig"
472 };
473 
474 char *directionname[] = {
475 	"dead ahead",
476 	"off the starboard bow",
477 	"off the starboard beam",
478 	"off the starboard quarter",
479 	"dead astern",
480 	"off the port quarter",
481 	"off the port beam",
482 	"off the port bow",
483 	"dead ahead"
484 };
485 
486 char *qualname[] = { "dead", "mutinous", "green", "mundane", "crack", "elite" };
487 
488 char loadname[] = { '-', 'G', 'C', 'R', 'D', 'E' };
489 
490 char dr[] = { 0, 1, 1, 0, -1, -1, -1, 0, 1 };
491 char dc[] = { 0, 0, -1, -1, -1, 0, 1, 1, 1 };
492