xref: /csrg-svn/games/sail/globals.c (revision 33695)
118699Sedward /*
221235Sdist  * Copyright (c) 1983 Regents of the University of California.
3*33695Sbostic  * All rights reserved.
4*33695Sbostic  *
5*33695Sbostic  * Redistribution and use in source and binary forms are permitted
6*33695Sbostic  * provided that this notice is preserved and that due credit is given
7*33695Sbostic  * to the University of California at Berkeley. The name of the University
8*33695Sbostic  * may not be used to endorse or promote products derived from this
9*33695Sbostic  * software without specific prior written permission. This software
10*33695Sbostic  * is provided ``as is'' without express or implied warranty.
1118699Sedward  */
1218699Sedward 
1311593Sleres #ifndef lint
14*33695Sbostic static char sccsid[] = "@(#)globals.c	5.2 (Berkeley) 03/09/88";
15*33695Sbostic #endif /* not lint */
1615171Sedward 
1712629Sedward #include "externs.h"
1811593Sleres 
1914014Sedward struct scenario scene[] = {
2014014Sedward 	/*
2114014Sedward 	 * int winddir;
2214014Sedward 	 * int windspeed;
2314014Sedward 	 * int windchange;
2414014Sedward 	 * int vessels;
2514014Sedward 	 * char *name;
2614014Sedward 	 * struct ship ship[NSHIP];
2714014Sedward 	 */
2815203Sedward 	5, 3, 5, 2, "Ranger vs. Drake",
2911593Sleres 	{
3015171Sedward 		{ "Ranger",		specs+0,  N_A,  7, 20, 4, 0 },
3115171Sedward 		{ "Drake",		specs+1,  N_B,  7, 31, 5, 0 }
3211593Sleres 	},
3315203Sedward 	1, 3, 6, 2, "The Battle of Flamborough Head",
3411593Sleres 	{
3515171Sedward 		{ "Bonhomme Rich",	specs+2,  N_A, 13, 40, 2, 0 },
3615171Sedward 		{ "Serapis",		specs+3,  N_B,  2, 42, 2, 0 }
3711593Sleres 	},
3815203Sedward 	5, 5, 5, 10, "Arbuthnot and Des Touches",
3911593Sleres 	{
4015171Sedward 		{ "America",		specs+4,  N_B,  7, 37, 4, 0 },
4115171Sedward 		{ "Befford",		specs+5,  N_B,  5, 35, 4, 0 },
4215171Sedward 		{ "Adamant",		specs+6,  N_B,  3, 33, 4, 0 },
4315171Sedward 		{ "London",		specs+7,  N_B,  1, 31, 4, 0 },
4415171Sedward 		{ "Royal Oak",		specs+8,  N_B, -1, 29, 4, 0 },
4515171Sedward 		{ "Neptune",		specs+9,  N_F,  6, 44, 4, 0 },
4615171Sedward 		{ "Duc Bougogne",	specs+10, N_F,  8, 46, 4, 0 },
4715171Sedward 		{ "Conquerant",		specs+48, N_F, 10, 48, 4, 0 },
4815171Sedward 		{ "Provence",		specs+11, N_F, 12, 50, 4, 0 },
4915171Sedward 		{ "Romulus",		specs+12, N_F, 20, 58, 4, 0 }
5011593Sleres 	},
5115203Sedward 	1, 3, 5, 10, "Suffren and Hughes",
5211593Sleres 	{
5315171Sedward 		{ "Monmouth",		specs+52, N_B,  9, 45, 2, 0 },
5415171Sedward 		{ "Hero",		specs+5,  N_B, 13, 49, 2, 0 },
5515171Sedward 		{ "Isis",		specs+6,  N_B, 12, 48, 2, 0 },
5615171Sedward 		{ "Superb",		specs+50, N_B, 10, 46, 2, 0 },
5715171Sedward 		{ "Burford",		specs+48, N_B, 11, 47, 2, 0 },
5815171Sedward 		{ "Flamband",		specs+13, N_F,  7, 59, 4, 0 },
5915171Sedward 		{ "Annibal",		specs+9,  N_F,  4, 56, 4, 0 },
6015171Sedward 		{ "Severe",		specs+11, N_F,  2, 54, 4, 0 },
6115171Sedward 		{ "Brilliant",		specs+49, N_F, -1, 51, 4, 0 },
6215171Sedward 		{ "Sphinx",		specs+51, N_F, -5, 47, 4, 0 }
6311593Sleres 	},
6415203Sedward 	1, 3, 4, 2, "Nymphe vs. Cleopatre",
6511593Sleres 	{
6615171Sedward 		{ "Nymphe",		specs+14, N_B, 13, 30, 2, 0 },
6715171Sedward 		{ "Cleopatre",		specs+15, N_F,  3, 41, 2, 0 }
6811593Sleres 	},
6915203Sedward 	1, 3, 5, 2, "Mars vs. Hercule",
7011593Sleres 	{
7115171Sedward 		{ "Mars",		specs+16, N_B, 13, 30, 2, 0 },
7215171Sedward 		{ "Hercule",		specs+17, N_F,  3, 41, 2, 0 }
7311593Sleres 	},
7415203Sedward 	5, 3, 5, 2, "Ambuscade vs. Baionnaise",
7511593Sleres 	{
7615171Sedward 		{ "Ambuscade",		specs+18, N_B, 13, 30, 2, 0 },
7715171Sedward 		{ "Baionnaise",		specs+19, N_F,  3, 41, 2, 0 }
7811593Sleres 	},
7915203Sedward 	1, 5, 6, 2, "Constellation vs. Insurgent",
8011593Sleres 	{
8115171Sedward 		{ "Constellation",	specs+20, N_A,  9, 50, 8, 0 },
8215171Sedward 		{ "Insurgent",		specs+22, N_F,  4, 24, 2, 0 }
8311593Sleres 	},
8415203Sedward 	1, 3, 5, 2, "Constellation vs. Vengeance",
8511593Sleres 	{
8615171Sedward 		{ "Constellation",	specs+20, N_A, 12, 40, 2, 0 },
8715171Sedward 		{ "Vengeance",		specs+21, N_F,  1, 43, 2, 0 }
8811593Sleres 	},
8915203Sedward 	1, 3, 6, 10, "The Battle of Lissa",
9011593Sleres 	{
9115171Sedward 		{ "Amphion",		specs+23, N_B,  8, 50, 4, 0 },
9215171Sedward 		{ "Active",		specs+24, N_B,  6, 48, 4, 0 },
9315171Sedward 		{ "Volage",		specs+25, N_B,  4, 46, 4, 0 },
9415171Sedward 		{ "Cerberus",		specs+26, N_B,  2, 44, 4, 0 },
9515171Sedward 		{ "Favorite",		specs+27, N_F,  9, 34, 2, 0 },
9615171Sedward 		{ "Flore",		specs+21, N_F, 13, 39, 2, 0 },
9715171Sedward 		{ "Danae",		specs+64, N_F, 15, 37, 2, 0 },
9815171Sedward 		{ "Bellona",		specs+28, N_F, 17, 35, 2, 0 },
9915171Sedward 		{ "Corona",		specs+29, N_F, 12, 31, 2, 0 },
10015171Sedward 		{ "Carolina",		specs+30, N_F, 15, 28, 2, 0 }
10111593Sleres 	},
10215203Sedward 	2, 5, 6, 2, "Constitution vs. Guerriere",
10311593Sleres 	{
10415171Sedward 		{ "Constitution",	specs+31, N_A,  7, 35, 1, 0 },
10515171Sedward 		{ "Guerriere",		specs+32, N_B,  7, 47, 4, 0 }
10611593Sleres 	},
10715203Sedward 	1, 3, 5, 2, "United States vs. Macedonian",
10811593Sleres 	{
10915171Sedward 		{ "United States",	specs+33, N_A,  1, 52, 6, 0 },
11015171Sedward 		{ "Macedonian",		specs+34, N_B, 14, 40, 1, 0 }
11111593Sleres 	},
11215203Sedward 	1, 3, 6, 2, "Constitution vs. Java",
11311593Sleres 	{
11415171Sedward 		{ "Constitution",	specs+31, N_A,  1, 40, 2, 0 },
11515171Sedward 		{ "Java",		specs+35, N_B, 11, 40, 2, 0 }
11611593Sleres 	},
11715203Sedward 	1, 3, 5, 2, "Chesapeake vs. Shannon",
11811593Sleres 	{
11915171Sedward 		{ "Chesapeake",		specs+36, N_A, 13, 40, 2, 0 },
12015171Sedward 		{ "Shannon",		specs+37, N_B,  1, 42, 2, 0 }
12111593Sleres 	},
12215203Sedward 	1, 1, 6, 5, "The Battle of Lake Erie",
12311593Sleres 	{
12415171Sedward 		{ "Lawrence",		specs+38, N_A,  4, 55, 8, 0 },
12515171Sedward 		{ "Niagara",		specs+42, N_A,  7, 61, 8, 0 },
12615171Sedward 		{ "Lady Prevost",	specs+39, N_B,  4, 25, 2, 0 },
12715171Sedward 		{ "Detroit",		specs+40, N_B,  7, 22, 2, 0 },
12815171Sedward 		{ "Q. Charlotte",	specs+41, N_B, 10, 19, 2, 0 }
12911593Sleres 	},
13015203Sedward 	1, 1, 5, 2, "Wasp vs. Reindeer",
13111593Sleres 	{
13215171Sedward 		{ "Wasp",		specs+42, N_A,  3, 41, 2, 0 },
13315171Sedward 		{ "Reindeer",		specs+43, N_B, 10, 48, 2, 0 }
13411593Sleres 	},
13515203Sedward 	1, 2, 5, 3, "Constitution vs. Cyane and Levant",
13611593Sleres 	{
13715171Sedward 		{ "Constitution",	specs+31, N_A, 10, 45, 2, 0 },
13815171Sedward 		{ "Cyane",		specs+44, N_B,  3, 37, 2, 0 },
13915171Sedward 		{ "Levant",		specs+45, N_B,  5, 35, 2, 0 }
14011593Sleres 	},
14115203Sedward 	5, 5, 5, 3, "Pellew vs. Droits de L'Homme",
14211593Sleres 	{
14315171Sedward 		{ "Indefatigable",	specs+46, N_B, 12, 45, 6, 0 },
14415171Sedward 		{ "Amazon",		specs+47, N_B,  9, 48, 6, 0 },
14515171Sedward 		{ "Droits L'Hom",	specs+48, N_F,  3, 28, 5, 0 }
14611593Sleres 	},
14715203Sedward 	2, 2, 3, 10, "Algeciras",
14811593Sleres 	{
14915171Sedward 		{ "Caesar",		specs+49, N_B,  7, 70, 6, 0 },
15015171Sedward 		{ "Pompee",		specs+50, N_B,  5, 72, 6, 0 },
15115171Sedward 		{ "Spencer",		specs+5,  N_B,  3, 74, 6, 0 },
15215171Sedward 		{ "Hannibal",		specs+7,  N_B,  1, 76, 6, 0 },
15315171Sedward 		{ "Real-Carlos",	specs+53, N_S,  9, 20, 3, 0 },
15415171Sedward 		{ "San Fernando",	specs+54, N_S, 11, 16, 3, 0 },
15515171Sedward 		{ "Argonauta",		specs+55, N_S, 10, 14, 4, 0 },
15615171Sedward 		{ "San Augustine",	specs+56, N_S,  6, 22, 4, 0 },
15715171Sedward 		{ "Indomptable",	specs+51, N_F,  7, 23, 5, 0 },
15815171Sedward 		{ "Desaix",		specs+52, N_F,  7, 27, 7, 0 }
15911593Sleres 	},
16015203Sedward 	5, 3, 6, 7, "Lake Champlain",
16111593Sleres 	{
16215171Sedward 		{ "Saratoga",		specs+60, N_A,  8, 10, 1, 0 },
16315171Sedward 		{ "Eagle",		specs+61, N_A,  9, 13, 2, 0 },
16415171Sedward 		{ "Ticonderoga",	specs+62, N_A, 12, 17, 3, 0 },
16515171Sedward 		{ "Preble",		specs+63, N_A, 14, 20, 2, 0 },
16615171Sedward 		{ "Confiance",		specs+57, N_B,  4, 70, 6, 0 },
16715171Sedward 		{ "Linnet",		specs+58, N_B,  7, 68, 6, 0 },
16815171Sedward 		{ "Chubb",		specs+59, N_B, 10, 65, 6, 0 }
16911593Sleres 	},
17015203Sedward 	5, 3, 6, 4, "Last Voyage of the USS President",
17111593Sleres 	{
17215171Sedward 		{ "President",		specs+67, N_A, 12, 42, 5, 0 },
17315171Sedward 		{ "Endymion",		specs+64, N_B,  5, 42, 5, 0 },
17415171Sedward 		{ "Pomone",		specs+65, N_B,  7, 82, 6, 0 },
17515171Sedward 		{ "Tenedos",		specs+66, N_B,  7, -1, 4, 0 }
17611593Sleres 	},
17715203Sedward 	7, 5, 5, 2, "Hornblower and the Natividad",
17811593Sleres 	{
17915171Sedward 		{ "Lydia",		specs+68, N_B, 12, 40, 2, 0 },
18015171Sedward 		{ "Natividad",		specs+69, N_S,  2, 40, 4, 0 }
18111593Sleres 	},
18215203Sedward 	1, 3, 6, 2, "Curse of the Flying Dutchman",
18311593Sleres 	{
18415171Sedward 		{ "Piece of Cake",	specs+19, N_S,  7, 40, 2, 0 },
18515171Sedward 		{ "Flying Dutchy",	specs+71, N_F,  7, 41, 1, 0 }
18611593Sleres 	},
18715203Sedward 	1, 4, 1, 4, "The South Pacific",
18811593Sleres 	{
18915171Sedward 		{ "USS Scurvy",		specs+70, N_A,  7, 40, 1, 0 },
19015171Sedward 		{ "HMS Tahiti",		specs+71, N_B, 12, 60, 1, 0 },
19115171Sedward 		{ "Australian",		specs+18, N_S,  5, 20, 8, 0 },
19215171Sedward 		{ "Bikini Atoll",	specs+63, N_F,  2, 60, 4, 0 }
19311593Sleres 	},
19415203Sedward 	7, 3, 6, 5, "Hornblower and the battle of Rosas bay",
19511593Sleres 	{
19615171Sedward 		{ "Sutherland",		specs+5,  N_B, 13, 30, 2, 0 },
19715171Sedward 		{ "Turenne",		specs+10, N_F,  9, 35, 6, 0 },
19815171Sedward 		{ "Nightmare",		specs+9,  N_F,  7, 37, 6, 0 },
19915171Sedward 		{ "Paris",		specs+53, N_F,  3, 45, 4, 0 },
20015171Sedward 		{ "Napolean",		specs+56, N_F,  1, 40, 6, 0 }
20111593Sleres 	},
20215203Sedward 	6, 4, 7, 5, "Cape Horn",
20311593Sleres 	{
20415171Sedward 		{ "Concord",		specs+51, N_A,  3, 20, 4, 0 },
20515171Sedward 		{ "Berkeley",		specs+7,  N_A,  5, 50, 5, 0 },
20615171Sedward 		{ "Thames",		specs+71, N_B, 10, 40, 1, 0 },
20715171Sedward 		{ "Madrid",		specs+53, N_S, 13, 60, 8, 0 },
20815171Sedward 		{ "Musket",		specs+10, N_F, 10, 60, 7, 0 }
20911593Sleres 	},
21015203Sedward 	8, 3, 7, 3, "New Orleans",
21111593Sleres 	{
21215171Sedward 		{ "Alligator",		specs+71, N_A, 13,  5, 1, 0 },
21315171Sedward 		{ "Firefly",		specs+50, N_B, 10, 20, 8, 0 },
21415171Sedward 		{ "Cypress",		specs+46, N_B,  5, 10, 6, 0 }
21511593Sleres 	},
21615203Sedward 	5, 3, 7, 3, "Botany Bay",
21711593Sleres 	{
21815171Sedward 		{ "Shark",		specs+11, N_B,  6, 15, 4, 0 },
21915171Sedward 		{ "Coral Snake",	specs+31, N_F,  3, 30, 6, 0 },
22015171Sedward 		{ "Sea Lion",		specs+33, N_F, 13, 50, 8, 0 }
22111593Sleres 	},
22215203Sedward 	4, 3, 6, 4, "Voyage to the Bottom of the Sea",
22311593Sleres 	{
22415171Sedward 		{ "Seaview",		specs+71, N_A,  6, 3,  3, 0 },
22515171Sedward 		{ "Flying Sub",		specs+64, N_A,  8, 3,  3, 0 },
22615171Sedward 		{ "Mermaid",		specs+70, N_B,  2, 5,  5, 0 },
22715171Sedward 		{ "Giant Squid",	specs+53, N_S, 10, 30, 8, 0 }
22811593Sleres 	},
22915203Sedward 	7, 3, 6, 3, "Frigate Action",
23011593Sleres 	{
23115171Sedward 		{ "Killdeer",		specs+21, N_A,  7, 20, 8, 0 },
23215171Sedward 		{ "Sandpiper",		specs+27, N_B,  5, 40, 8, 0 },
23315171Sedward 		{ "Curlew",		specs+34, N_S, 10, 60, 8, 0 }
23411593Sleres 	},
23515203Sedward 	7, 2, 5, 6, "The Battle of Midway",
23611593Sleres 	{
23714014Sedward 		{ "Enterprise",		specs+49, N_A, 10, 70, 8, 0 },
23815171Sedward 		{ "Yorktown",		specs+51, N_A,  3, 70, 7, 0 },
23915171Sedward 		{ "Hornet",		specs+52, N_A,  6, 70, 7, 0 },
24015171Sedward 		{ "Akagi",		specs+53, N_J,  6, 10, 4, 0 },
24115171Sedward 		{ "Kaga",		specs+54, N_J,  4, 12, 4, 0 },
24215171Sedward 		{ "Soryu",		specs+55, N_J,  2, 14, 4, 0 }
24311593Sleres 	},
24415319Sedward 	1, 3, 4, 8, "Star Trek",
24511593Sleres 	{
24615319Sedward 		{ "Enterprise",		specs+76, N_D,-10, 60, 7, 0 },
24715319Sedward 		{ "Yorktown",		specs+77, N_D,  0, 70, 7, 0 },
24815319Sedward 		{ "Reliant",		specs+78, N_D, 10, 70, 7, 0 },
24915319Sedward 		{ "Galileo",		specs+79, N_D, 20, 60, 7, 0 },
25015319Sedward 		{ "Kobayashi Maru",	specs+80, N_K,  0,120, 7, 0 },
25115319Sedward 		{ "Klingon II",		specs+81, N_K, 10,120, 7, 0 },
25215319Sedward 		{ "Red Orion",		specs+82, N_O,  0,  0, 3, 0 },
25315319Sedward 		{ "Blue Orion",		specs+83, N_O, 10,  0, 3, 0 }
25411593Sleres 	}
25511593Sleres };
25615319Sedward int nscene = sizeof scene / sizeof (struct scenario);
25711593Sleres 
25812629Sedward struct shipspecs specs[] = {
25915171Sedward /*      bs fs ta guns   hull  crew1   crew3    gunR  carR   rig2  rig4 pts */
26015171Sedward /*                 class   qual   crew2    gunL   carL   rig1  rig3        */
26115171Sedward /*00*/	4, 7, 3,  19, 5,  5, 4,  2,  2,  2,  2,  2, 0, 0,  4, 4, 4,  4,  7,
26215171Sedward /*01*/	4, 7, 3,  17, 5,  5, 4,  2,  2,  2,  0,  0, 4, 4,  3, 3, 3,  3,  6,
26315171Sedward /*02*/	3, 5, 2,  42, 4,  7, 4,  2,  2,  2,  2,  2, 0, 0,  5, 5, 5, -1, 11,
26415171Sedward /*03*/	4, 6, 3,  44, 3,  7, 4,  2,  2,  2,  3,  3, 0, 0,  5, 5, 5,  5, 12,
26515171Sedward /*04*/	3, 5, 2,  64, 2, 17, 4,  8,  6,  6, 12, 12, 2, 2,  7, 7, 7, -1, 20,
26615171Sedward /*05*/	3, 5, 2,  74, 2, 20, 4,  8,  8,  8, 16, 16, 2, 2,  7, 7, 7, -1, 26,
26715171Sedward /*06*/	3, 5, 2,  50, 2, 12, 4,  6,  4,  4,  8,  8, 2, 2,  6, 6, 6, -1, 17,
26815171Sedward /*07*/	3, 5, 1,  98, 1, 23, 4, 10, 10, 10, 18, 18, 2, 2,  8, 8, 8, -1, 28,
26915171Sedward /*08*/	3, 5, 2,  74, 2, 20, 4,  8,  8,  8, 16, 16, 2, 2,  7, 7, 7, -1, 26,
27015171Sedward /*09*/	3, 5, 2,  74, 2, 21, 3, 10, 10,  8, 20, 20, 0, 0,  7, 7, 7, -1, 24,
27115171Sedward /*10*/	3, 5, 1,  80, 1, 23, 3, 12, 12, 10, 22, 22, 0, 0,  7, 7, 7, -1, 27,
27215171Sedward /*11*/	3, 5, 2,  64, 2, 18, 3,  8,  8,  6, 12, 12, 0, 0,  7, 7, 7, -1, 18,
27315171Sedward /*12*/	3, 5, 2,  44, 2, 11, 3,  4,  4,  4,  6,  6, 2, 2,  5, 5, 5, -1, 10,
27415171Sedward /*13*/	3, 5, 2,  50, 2, 14, 3,  6,  6,  4,  8,  8, 0, 0,  6, 6, 6, -1, 14,
27515171Sedward /*14*/	4, 6, 3,  36, 3, 11, 4,  4,  4,  2,  4,  4, 2, 2,  5, 5, 5,  5, 11,
27615171Sedward /*15*/	4, 6, 3,  36, 3, 11, 3,  4,  4,  4,  4,  4, 2, 2,  5, 5, 5,  5, 10,
27715171Sedward /*16*/	3, 5, 2,  74, 2, 21, 4, 10,  8,  8, 18, 18, 2, 2,  7, 7, 7, -1, 26,
27815171Sedward /*17*/	3, 5, 2,  74, 2, 21, 3, 10, 10,  8, 20, 20, 2, 2,  7, 7, 7, -1, 23,
27915171Sedward /*18*/	4, 6, 3,  32, 3,  8, 3,  4,  2,  2,  4,  4, 2, 2,  5, 5, 5,  5,  9,
28015171Sedward /*19*/	4, 6, 3,  24, 4,  6, 3,  4,  4,  4,  2,  2, 0, 0,  4, 4, 4,  4,  9,
28115171Sedward /*20*/	4, 7, 3,  38, 4, 14, 5,  6,  4,  4,  4,  4, 6, 6,  5, 5, 5,  5, 17,
28215171Sedward /*21*/	4, 6, 3,  40, 3, 15, 3,  8,  6,  6,  6,  6, 4, 4,  5, 5, 5,  5, 15,
28315171Sedward /*22*/	4, 7, 3,  36, 4, 11, 3,  6,  6,  4,  4,  4, 2, 2,  5, 5, 5,  5, 11,
28415171Sedward /*23*/	4, 6, 3,  32, 3, 11, 5,  4,  4,  2,  4,  4, 2, 2,  5, 5, 5,  5, 13,
28515171Sedward /*24*/	4, 6, 3,  38, 3, 14, 5,  4,  4,  4,  6,  6, 4, 4,  5, 5, 5,  5, 18,
28615171Sedward /*25*/	4, 6, 3,  22, 3,  6, 5,  2,  2,  2,  0,  0, 8, 8,  4, 4, 4,  4, 11,
28715171Sedward /*26*/	4, 6, 3,  32, 3, 11, 5,  4,  4,  2,  4,  4, 2, 2,  5, 5, 5,  5, 13,
28815171Sedward /*27*/	4, 6, 3,  40, 3, 14, 3,  6,  6,  4,  6,  6, 4, 4,  5, 5, 5,  5, 15,
28915171Sedward /*28*/	4, 6, 3,  32, 3, 11, 2,  4,  4,  4,  4,  4, 0, 0,  5, 5, 5,  5,  9,
29015171Sedward /*29*/	4, 6, 3,  40, 3, 14, 2,  6,  6,  4,  6,  6, 4, 4,  5, 5, 5,  5, 12,
29115171Sedward /*30*/	4, 6, 3,  32, 3,  8, 2,  4,  4,  1,  2,  2, 0, 0,  4, 4, 4,  4,  7,
29215171Sedward /*31*/	4, 7, 3,  44, 4, 18, 5,  6,  6,  6,  8,  8, 6, 6,  6, 6, 6,  6, 24,
29315171Sedward /*32*/	4, 6, 3,  38, 3, 14, 4,  4,  4,  2,  6,  6, 4, 4,  5, 5, 5,  5, 15,
29415171Sedward /*33*/	4, 5, 3,  44, 3, 18, 5,  8,  6,  6,  8,  8, 8, 8,  6, 6, 6,  6, 24,
29515171Sedward /*34*/	4, 6, 3,  38, 3, 14, 4,  4,  4,  4,  6,  6, 4, 4,  5, 5, 5,  5, 16,
29615171Sedward /*35*/	4, 7, 3,  38, 4, 14, 4,  6,  6,  6,  6,  6, 6, 6,  5, 5, 5,  5, 19,
29715171Sedward /*36*/	4, 6, 3,  38, 3, 14, 3,  6,  6,  4,  6,  6, 6, 6,  5, 5, 5,  5, 14,
29815171Sedward /*37*/	4, 6, 3,  38, 3, 14, 5,  6,  4,  4,  6,  6, 6, 6,  5, 5, 5,  5, 17,
29915171Sedward /*38*/	4, 7, 3,  20, 5,  6, 4,  4,  2,  2,  0,  0, 6, 6,  4, 4, 4,  4,  9,
30015171Sedward /*39*/	4, 7, 3,  13, 6,  3, 4,  0,  2,  2,  0,  0, 2, 2,  2, 2, 2,  2,  5,
30115171Sedward /*40*/	4, 7, 3,  19, 5,  5, 4,  2,  2,  2,  2,  2, 0, 0,  4, 4, 4,  4,  7,
30215171Sedward /*41*/	4, 7, 3,  17, 5,  5, 4,  2,  2,  2,  2,  2, 0, 0,  3, 3, 3,  3,  6,
30315171Sedward /*42*/	4, 7, 3,  20, 5,  6, 5,  4,  2,  2,  0,  0, 6, 6,  4, 4, 4,  4, 12,
30415171Sedward /*43*/	4, 7, 3,  18, 5,  5, 5,  2,  2,  2,  0,  0, 6, 6,  4, 4, 4,  4,  9,
30515171Sedward /*44*/	4, 7, 3,  24, 5,  6, 4,  4,  2,  2,  0,  0,10,10,  4, 4, 4,  4, 11,
30615171Sedward /*45*/	4, 7, 3,  20, 5,  6, 4,  2,  2,  2,  0,  0, 8, 8,  4, 4, 4,  4, 10,
30715171Sedward /*46*/	4, 6, 3,  44, 3, 11, 5,  4,  4,  4,  4,  4, 2, 2,  5, 5, 5,  5, 14,
30815171Sedward /*47*/	4, 6, 3,  36, 3, 12, 4,  4,  4,  4,  6,  6, 2, 2,  5, 5, 5,  5, 14,
30915171Sedward /*48*/	3, 5, 2,  74, 2, 21, 3, 10,  8,  8, 20, 20, 2, 2,  4, 4, 7, -1, 24,
31015171Sedward /*49*/	3, 5, 2,  80, 2, 24, 4, 10,  8,  8, 20, 20, 2, 2,  8, 8, 8, -1, 31,
31115171Sedward /*50*/	3, 5, 2,  74, 2, 21, 4,  8,  8,  6, 16, 16, 4, 4,  7, 7, 7, -1, 27,
31215171Sedward /*51*/	3, 5, 2,  80, 2, 24, 3, 12, 12, 10, 22, 22, 2, 2,  7, 7, 7, -1, 27,
31315171Sedward /*52*/	3, 5, 2,  74, 2, 21, 3, 10, 10,  8, 20, 20, 2, 2,  7, 7, 7, -1, 24,
31415171Sedward /*53*/	3, 5, 1, 112, 1, 27, 2, 12, 12, 12, 24, 24, 0, 0,  9, 9, 9, -1, 27,
31515171Sedward /*54*/	3, 5, 1,  96, 1, 24, 2, 12, 12, 10, 20, 20, 0, 0,  8, 8, 8, -1, 24,
31615171Sedward /*55*/	3, 5, 2,  80, 2, 23, 2, 10, 10,  8, 20, 20, 0, 0,  7, 7, 7, -1, 23,
31715171Sedward /*56*/	3, 5, 2,  74, 2, 21, 2, 10,  8,  8, 16, 16, 4, 4,  7, 7, 7, -1, 20,
31815171Sedward /*57*/	4, 6, 3,  37, 3, 12, 4,  4,  4,  2,  6,  6, 4, 4,  5, 5, 5,  5, 14,
31915171Sedward /*58*/	4, 7, 3,  16, 5,  5, 5,  2,  2,  2,  0,  0, 4, 4,  4, 4, 4,  4, 10,
32015171Sedward /*59*/	4, 7, 3,  11, 6,  3, 4,  2,  2,  2,  0,  0, 2, 2,  2, 2, 2,  2,  5,
32115171Sedward /*60*/	4, 7, 3,  26, 5,  6, 4,  4,  2,  2,  2,  2, 6, 6,  4, 4, 4,  4, 12,
32215171Sedward /*61*/	4, 7, 3,  20, 5,  6, 4,  4,  2,  2,  0,  0, 6, 6,  4, 4, 4,  4, 11,
32315171Sedward /*62*/	4, 7, 3,  17, 5,  5, 4,  2,  2,  2,  0,  0, 6, 6,  4, 4, 4,  4,  9,
32415171Sedward /*63*/	4, 7, 3,   7, 6,  3, 4,  0,  2,  2,  0,  0, 2, 2,  2, 2, 2,  2,  4,
32515171Sedward /*64*/	4, 6, 3,  40, 3, 15, 4,  4,  4,  4,  8,  8, 6, 6,  5, 5, 5,  5, 17,
32615171Sedward /*65*/	4, 6, 3,  44, 3, 15, 4,  8,  8,  6, 10, 10, 2, 2,  6, 6, 6,  6, 20,
32715171Sedward /*66*/	4, 6, 3,  38, 3, 14, 4,  4,  4,  4,  6,  6, 6, 6,  5, 5, 5,  5, 15,
32815171Sedward /*67*/	4, 5, 3,  44, 3, 18, 5,  8,  6,  6,  8,  8, 8, 8,  6, 6, 6,  6, 24,
32915171Sedward /*68*/	4, 6, 3,  36, 3,  9, 5,  4,  4,  2,  4,  4, 2, 2,  5, 5, 5,  5, 13,
33015171Sedward /*69*/	3, 5, 2,  50, 2, 14, 2,  6,  6,  6,  8,  8, 0, 0,  6, 6, 6, -1, 14,
33115171Sedward /*70*/	3, 5, 1, 136, 1, 30, 1,  8, 14, 14, 28, 28, 0, 0,  9, 9, 9, -1, 27,
33215171Sedward /*71*/	3, 5, 1, 120, 1, 27, 5, 16, 14, 14, 28, 28, 2, 2,  9, 9, 9, -1, 43,
33315171Sedward /*72*/	3, 5, 1, 120, 2, 21, 5, 15, 17, 15, 25, 25, 7, 7,  9, 9, 9, -1, 36,
33415171Sedward /*73*/	3, 5, 1,  90, 3, 18, 4, 13, 15, 13, 20, 20, 6, 6,  5, 5, 5,  5, 28,
33515171Sedward /*74*/	4, 7, 3,   6, 6,  3, 4,  2,  2,  2, 20, 20, 6, 6,  2, 2, 3,  3,  5,
33615171Sedward /*75*/	3, 5, 1, 110, 2, 20, 4, 14, 15, 11, 26, 26, 8, 8,  7, 8, 9, -1, 34,
33715331Sedward /*76*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
33815331Sedward /*77*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
33915331Sedward /*78*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
34015331Sedward /*79*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
34115331Sedward /*80*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
34215331Sedward /*81*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
34315331Sedward /*82*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
34415331Sedward /*83*/	4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25,  9, 9, 9, -1, 75,
34515319Sedward /*      bs fs ta guns   hull  crew1   crew3    gunR  carR   rig2  rig4 pts */
34615319Sedward /*                 class   qual   crew2    gunL   carL   rig1  rig3        */
34711593Sleres };
34811593Sleres 
34912629Sedward struct windeffects WET[7][6] = {
35011593Sleres 	{ {9,9,9,9}, {9,9,9,9}, {9,9,9,9}, {9,9,9,9}, {9,9,9,9}, {9,9,9,9} },
35111593Sleres 	{ {3,2,2,0}, {3,2,1,0}, {3,2,1,0}, {3,2,1,0}, {2,1,0,0}, {2,1,0,0} },
35211593Sleres 	{ {1,1,1,0}, {1,1,0,0}, {1,0,0,0}, {1,0,0,0}, {1,0,0,0}, {1,0,0,0} },
35311593Sleres 	{ {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
35411593Sleres 	{ {0,0,0,0}, {1,0,0,0}, {1,1,0,0}, {1,1,0,0}, {2,2,1,0}, {2,2,1,0} },
35511593Sleres 	{ {1,0,0,0}, {1,1,0,0}, {1,1,1,0}, {1,1,1,0}, {3,2,2,0}, {3,2,2,0} },
35611593Sleres 	{ {2,1,1,0}, {3,2,1,0}, {3,2,1,0}, {3,2,1,0}, {3,3,2,0}, {3,3,2,0} }
35711593Sleres };
35815171Sedward 
35912629Sedward struct Tables RigTable[11][6] = {
36015171Sedward 	{ {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,1}, {0,0,1,0} },
36115171Sedward 	{ {0,0,0,0}, {0,0,0,0}, {0,0,0,1}, {0,0,1,0}, {1,0,0,1}, {0,1,1,1} },
36215171Sedward 	{ {0,0,0,0}, {0,0,0,1}, {0,0,1,1}, {0,1,0,1}, {0,1,0,1}, {1,0,1,2} },
36315171Sedward 	{ {0,0,0,0}, {0,0,1,1}, {0,1,0,1}, {0,0,0,2}, {0,1,0,2}, {1,0,1,2} },
36415171Sedward 	{ {0,1,0,1}, {1,0,0,1}, {0,1,1,2}, {0,1,0,2}, {0,0,1,3}, {1,0,1,4} },
36515171Sedward 	{ {0,0,1,1}, {0,1,0,2}, {1,0,0,3}, {0,1,1,3}, {1,0,0,4}, {1,1,1,4} },
36615171Sedward 	{ {0,0,1,2}, {0,1,1,2}, {1,1,0,3}, {0,1,0,4}, {1,0,0,4}, {1,0,1,5} },
36715171Sedward 	{ {0,0,1,2}, {0,1,0,3}, {1,1,0,3}, {1,0,2,4}, {0,2,1,5}, {2,1,0,5} },
36815171Sedward 	{ {0,2,1,3}, {1,0,0,3}, {2,1,0,4}, {0,1,1,4}, {0,1,0,5}, {1,0,2,6} },
36915171Sedward 	{ {1,1,0,4}, {1,0,1,4}, {2,0,0,5}, {0,2,1,5}, {0,1,2,6}, {0,2,0,7} },
37015171Sedward 	{ {1,0,1,5}, {0,2,0,6}, {1,2,0,6}, {1,1,1,6}, {2,0,2,6}, {1,1,2,7} }
37111593Sleres };
37211593Sleres struct Tables HullTable[11][6] = {
37315171Sedward 	{ {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {1,0,0,0}, {0,1,0,0} },
37415171Sedward 	{ {0,0,0,0}, {0,0,0,0}, {0,1,0,0}, {1,1,0,0}, {1,0,1,0}, {1,0,1,1} },
37515171Sedward 	{ {0,1,0,0}, {1,0,0,0}, {1,1,0,0}, {1,0,1,0}, {1,0,1,1}, {2,1,0,0} },
37615171Sedward 	{ {0,1,1,0}, {1,0,0,0}, {1,1,1,0}, {2,0,0,1}, {2,0,1,0}, {2,2,0,0} },
37715171Sedward 	{ {0,1,1,0}, {1,0,0,1}, {2,1,0,1}, {2,2,1,0}, {3,0,1,0}, {3,1,0,0} },
37815171Sedward 	{ {1,1,1,0}, {2,0,2,1}, {2,1,1,0}, {2,2,0,0}, {3,1,0,1}, {3,1,1,0} },
37915171Sedward 	{ {1,2,2,0}, {2,0,2,1}, {2,1,0,1}, {2,2,0,0}, {3,1,1,0}, {4,2,1,0} },
38015171Sedward 	{ {2,1,1,0}, {2,0,1,1}, {3,2,2,0}, {3,2,0,0}, {4,2,1,0}, {4,2,1,1} },
38115171Sedward 	{ {2,1,2,0}, {3,1,1,1}, {3,2,2,0}, {4,2,1,0}, {4,1,0,2}, {4,2,2,0} },
38215171Sedward 	{ {2,3,1,0}, {3,2,2,0}, {3,2,2,1}, {4,2,2,0}, {4,1,0,3}, {5,1,2,0} },
38315171Sedward 	{ {2,2,4,0}, {3,3,1,1}, {4,2,1,1}, {5,1,0,2}, {5,1,2,1}, {6,2,2,0} },
38411593Sleres };
38511593Sleres 
38615171Sedward char AMMO[9][4] = {
38715171Sedward 	{ -1, 1, 0, 1 },
38815171Sedward 	{ -1, 1, 0, 1 },
38915171Sedward 	{ -1, 1, 0, 1 },
39015319Sedward 	{ -2, 1, 0, 2 },
39115171Sedward 	{ -2, 2, 0, 2 },
39215171Sedward 	{ -2, 2, 0, 2 },
39315319Sedward 	{ -3, 2, 0, 2 },
39415319Sedward 	{ -3, 2, 0, 3 },
39515319Sedward 	{ -3, 2, 0, 3 }
39611593Sleres };
39711593Sleres 
39815171Sedward char HDT[9][10] = {
39915171Sedward 	{ 1, 0,-1,-2,-3,-3,-4,-4,-4,-4 },
40015171Sedward 	{ 1, 1, 0,-1,-2,-2,-3,-3,-3,-3 },
40115171Sedward 	{ 2, 1, 0,-1,-2,-2,-3,-3,-3,-3 },
40215171Sedward 	{ 2, 2, 1, 0,-1,-1,-2,-2,-2,-2 },
40315171Sedward 	{ 3, 2, 1, 0,-1,-1,-2,-2,-2,-2 },
40415171Sedward 	{ 3, 3, 2, 1, 0, 0,-1,-1,-1,-1 },
40515171Sedward 	{ 4, 3, 2, 1, 0, 0,-1,-1,-1,-1 },
40615171Sedward 	{ 4, 4, 3, 2, 1, 1, 0, 0, 0, 0 },
40715171Sedward 	{ 5, 4, 3, 2, 1, 1, 0, 0, 0, 0 }
40811593Sleres };
40911593Sleres 
41015171Sedward char HDTrake[9][10] = {
41115171Sedward 	{ 2, 1, 0,-1,-2,-2,-3,-3,-3,-3 },
41215171Sedward 	{ 2, 2, 1, 0,-1,-1,-2,-2,-2,-2 },
41315171Sedward 	{ 3, 2, 1, 0,-1,-1,-2,-2,-2,-2 },
41415171Sedward 	{ 4, 3, 2, 1, 0, 0,-1,-1,-1,-1 },
41515171Sedward 	{ 5, 4, 3, 2, 1, 1, 0, 0, 0, 0 },
41615171Sedward 	{ 6, 5, 4, 3, 2, 2, 1, 1, 1, 1 },
41715171Sedward 	{ 7, 6, 5, 4, 3, 3, 2, 2, 2, 2 },
41815171Sedward 	{ 8, 7, 6, 5, 4, 4, 3, 3, 3, 3 },
41915171Sedward 	{ 9, 8, 7, 6, 5, 5, 4, 4, 4, 4 }
42011593Sleres };
42111593Sleres 
42215171Sedward char QUAL[9][5] = {
42315171Sedward 	{ -1, 0, 0, 1, 1 },
42415171Sedward 	{ -1, 0, 0, 1, 1 },
42515171Sedward 	{ -1, 0, 0, 1, 2 },
42615171Sedward 	{ -1, 0, 0, 1, 2 },
42715171Sedward 	{ -1, 0, 0, 2, 2 },
42815171Sedward 	{ -1,-1, 0, 2, 2 },
42915171Sedward 	{ -2,-1, 0, 2, 2 },
43015171Sedward 	{ -2,-1, 0, 2, 2 },
43115171Sedward 	{ -2,-1, 0, 2, 3 }
43211593Sleres };
43311593Sleres 
43415171Sedward char MT[9][3] = {
43515171Sedward 	{ 1, 0, 0 },
43615171Sedward 	{ 1, 1, 0 },
43715171Sedward 	{ 2, 1, 0 },
43815171Sedward 	{ 2, 1, 1 },
43915171Sedward 	{ 2, 2, 1 },
44015171Sedward 	{ 3, 2, 1 },
44115171Sedward 	{ 3, 2, 2 },
44215171Sedward 	{ 4, 3, 2 },
44315171Sedward 	{ 4, 4, 2 }
44411593Sleres };
44511593Sleres 
44615171Sedward char rangeofshot[] = {
44714014Sedward 	0,
44814014Sedward 	1,		/* grape */
44914014Sedward 	3,		/* chain */
45014014Sedward 	10,		/* round */
45114014Sedward 	1		/* double */
45214014Sedward };
45314014Sedward 
45414014Sedward char *countryname[] = {
45515319Sedward 	"American", "British", "Spanish", "French", "Japanese",
45615319Sedward 	"Federation", "Klingon", "Orion"
45714014Sedward };
45814014Sedward 
45914014Sedward char *classname[] = {
46014014Sedward 	"Drift wood",
46114014Sedward 	"Ship of the Line",
46214014Sedward 	"Ship of the Line",
46314014Sedward 	"Frigate",
46414014Sedward 	"Corvette",
46514014Sedward 	"Sloop",
46614014Sedward 	"Brig"
46714014Sedward };
46814014Sedward 
46914014Sedward char *directionname[] = {
47014014Sedward 	"dead ahead",
47114014Sedward 	"off the starboard bow",
47214014Sedward 	"off the starboard beam",
47314014Sedward 	"off the starboard quarter",
47414014Sedward 	"dead astern",
47514014Sedward 	"off the port quarter",
47614014Sedward 	"off the port beam",
47714014Sedward 	"off the port bow",
47814014Sedward 	"dead ahead"
47914014Sedward };
48014014Sedward 
48115171Sedward char *qualname[] = { "dead", "mutinous", "green", "mundane", "crack", "elite" };
48214014Sedward 
48315171Sedward char loadname[] = { '-', 'G', 'C', 'R', 'D', 'E' };
48414014Sedward 
48515171Sedward char dr[] = { 0, 1, 1, 0, -1, -1, -1, 0, 1 };
48615171Sedward char dc[] = { 0, 0, -1, -1, -1, 0, 1, 1, 1 };
487