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