]> git.pond.sub.org Git - empserver/blobdiff - src/lib/global/ship.c
COPYING duplicates information from README. Remove. Move GPL from
[empserver] / src / lib / global / ship.c
index 8a14dfab9341ba8c222e3a69296c77dc1294be04..cf912200473469ac2a89ac22fef71f55562a3920 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *  Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak,
  *                           Ken Stevens, Steve McClure
  *
  *  This program is free software; you can redistribute it and/or modify
@@ -19,9 +19,9 @@
  *
  *  ---
  *
- *  See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
- *  related information and legal notices. It is expected that any future
- *  projects/authors will amend these files as needed.
+ *  See files README, COPYING and CREDITS in the root of the source
+ *  tree for related information and legal notices.  It is expected
+ *  that future projects/authors will amend these files as needed.
  *
  *  ---
  *
 /*
  * marine characteristics -- ship capabilities descriptions
  * 
- * Note, that you should not set the flags M_XLIGHT, M_UNIT, or M_CHOPPER
+ * Note, that you should not set the flags M_XLIGHT or M_CHOPPER
  * here.  They will be automatically set by init_global() when the server
  * starts if the ship can carry a non-zero amount of those things.
  * Also note that if nplanes > 0 and M_FLY is not set, then M_MSL will
  * automatically be set.
  */
 
+#include <config.h>
+
 #include "misc.h"
-#include "var.h"
 #include "ship.h"
 
-struct  mchrstr mchr[]  = {
+struct mchrstr mchr[] = {
 /*          a   s   v  v   f       E  K   f  f                               */
 /*          r   p   i  r   r   g   |  |   u  u                               */
 /* l   h    m   e   s  n   n   l   x  V   e  e                               */
 /* c   c    o   e   i  g   g   i   p  p   l  l                               */
 /* m   m    r   d   b  e   e   m   l  l   c  u  name                tech  Cost*/
 
-{  4,
-    { V_CIVIL, V_MILIT, V_FOOD, V_UW },
-    {     300,      10,    900,   15 },
-25, 15,  10, 10, 15, 2,  0,  0,  0, 0,  0, 0, "fb   fishing boat", 0,  180,
-    M_FOOD,  0, 0,
-},
-
-{  4,
-    { V_CIVIL, V_MILIT, V_FOOD, V_UW },
-    {     300,      10,    900,   15 },
-25, 15,  10, 25, 15, 2,  0,  0,  0, 0, 20, 1, "ft   fishing trawler", 35,  300,
-    M_FOOD,  0, 0,
-},
-
-{  8,
-    { V_CIVIL, V_MILIT, V_SHELL, V_GUN, V_FOOD, V_LCM, V_HCM, V_UW },
-    {     600,      50,     300,    50,    900,  1400,   900,  250 },
-60, 40,  20, 25, 35, 3,  0,  0,  1,  0,  0, 0, "cs   cargo ship", 20,  500,
-    M_SUPPLY, 0, 2,
-},
-
-{  7,
-    { V_CIVIL, V_MILIT, V_IRON, V_DUST, V_FOOD, V_UW, V_RAD },
-    {      30,       5,    990,    990,    200,   45,   990 },
-60, 40,  20, 25, 35, 3,  0,  0,  1,  0,  30, 1, "os   ore ship",   20,  500,
-    0,  0, 0,
-},
-
-{  4,
-    { V_CIVIL, V_MILIT, V_FOOD, V_UW },
-    {      20,      80,    200, 1200 },
-60, 40,  20, 10, 35, 3,  0,  0,  1,  0,   0, 0, "ss   slave ship",    0,  300,
-    0,  0, 0,
-},
-
-{  3,
-    { V_CIVIL, V_MILIT, V_FOOD },
-    {      50,      50,    100 },
-200, 100,  20, 25, 35, 3,  0,  0, 1, 0,  30, 1, "ts   trade ship", 30, 1750,
-    M_TRADE,  0, 0,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {      60,      10,     2,     60 },
-30, 30,  50, 25, 25, 3,  1,  1,  1,  0,   0, 0, "frg  frigate",         0,  600,
-    M_SEMILAND,  0, 2,
-},
-
-{  4,
-    { V_CIVIL, V_MILIT, V_FOOD, V_OIL },
-    {      10,       5,    100,     1 },
-25, 15,  10, 25, 15, 2,  0,  0,  0,  0,  20, 1, "oe   oil exploration boat", 40, 800,
-    M_OIL,  0, 0,
-},
-
-{  5,
-    { V_CIVIL, V_MILIT, V_FOOD, V_OIL, V_UW },
-    {     990,      80,   990,    990,  990 },
-60, 60,  30, 15, 65, 3,  0,  0,  2,  0,   0, 0, "od   oil derrick", 50, 1500,
-    M_OIL,  0, 0,
-},
-
-{  4,
-    { V_MILIT, V_GUN, V_SHELL, V_FOOD },
-    {       2,     2,      12,      5 },
-20, 10,  10, 38, 10, 2,  1,  1,  0,  0,   4, 1, "pt   patrol boat", 40, 300,
-    M_TORP,  0, 0,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {     100,      40,     5,    100 },
-30, 40,  50, 30, 30, 5, 6,  3,  1,  0,  40, 1, "lc   light cruiser", 45, 800,
-    M_MINE,  0, 2,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {     120,     100,     8,    200 },
-40, 50,  70, 30, 30, 5, 8, 4,  1,  0,  30, 1, "hc   heavy cruiser",    50, 1200,
-    0,  0, 4,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {     120,      20,     4,    120 },
-50, 50,  60, 20, 35, 3,  1,  2,  1,  0,   0, 0, "tt   troop transport",  10,  800,
-    M_SEMILAND,  0, 2,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {     200,     200,    10,    900 },
-50, 70,  95, 25, 35, 6, 10,  7,  1,  0,  50, 2, "bb   battleship", 45, 1800,
-    0,  0, 2,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {     180,     100,    10,    400 },
-50, 60,  55, 30, 35, 6, 10,  6,  1,  0,  60, 2, "bbc  battlecruiser",      75, 1500,
-    0,  0, 2,
-},
-
-{  6,
-    { V_CIVIL, V_MILIT, V_PETROL, V_FOOD, V_OIL, V_UW },
-    {      30,       5,      990,    200,   990,   25 },
-60, 40,  75, 25, 45, 3,  0,  0,  1,  0,  30, 1, "tk   tanker",  35,  600,
-    M_OILER|M_SUPPLY,  0, 0,
-},
-
-{  4, 
-    { V_MILIT, V_FOOD, V_SHELL, V_GUN },
-    {      10,     90,     100,   1  },
-25, 15,  10, 25, 15, 2,  0,  0,  0,  0,  20, 1, "ms   minesweeper", 40,  400,
-    M_MINE|M_SWEEP,  0, 0,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {      60,      40,     4,     80 },
-30, 30,  45, 35, 20, 4,  6,  3,  1,  0,  30, 1, "dd   destroyer",  70,  600,
-    M_MINE|M_DCH|M_SONAR,  0, 1,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {      25,      36,     5,     80 },
-30, 30,  25, 20,  5, 4,  3,  3,  0,  0,  30, 1, "sb   submarine", 60,  650,
-    M_TORP|M_SUB|M_MINE|M_SONAR,  0, 0,
-},
-
-{  8,
-    { V_CIVIL, V_MILIT, V_SHELL, V_GUN, V_FOOD, V_LCM, V_HCM, V_PETROL },
-    {       5,      10,     104,    20,    900,   500,   300,      100 },
-40, 40,  50, 30,  2, 3,  0,  0,  0,  0,  50, 2, "sbc  cargo submarine", 150, 1200,
-    M_SUPPLY|M_OILER|M_SUB|M_SONAR,  0, 0,
-},
-
-{  5,
-    { V_MILIT, V_SHELL, V_GUN, V_PETROL, V_FOOD },
-    {     175,     250,     4,      300,    180 },
-50, 60,  60, 30, 40, 5,  2,  2,  4, 20, 50, 2, "cal  light carrier", 80, 2700,
-    M_FLY, 20, 0,
-},
-
-{  5,
-    { V_MILIT, V_SHELL, V_GUN, V_PETROL, V_FOOD },
-    {     350,     500,     4,      500,    900 },
-60, 70,  80, 35, 40, 7,  2,  2, 10, 40, 120, 3, "car  aircraft carrier",   160, 4500,
-    M_FLY, 40, 0,
-},
-
-{  5,
-    { V_MILIT, V_SHELL, V_GUN, V_PETROL, V_FOOD },
-    {     350,     999,     4,      999,    900 },
-70, 80, 100, 45, 40, 9,  2,  2, 20,  4, 0, 0, "can  nuc carrier",  305, 8000,
-    M_OILER|M_FLY|M_SUPPLY, 60, 0,
-},
-
-{  4,
-    { V_MILIT, V_FOOD , V_GUN , V_SHELL },
-    {     400,    300 ,     1 ,      10 },
-60, 40,  40, 30, 30, 2,  0,  0,  2,  0, 30, 1, "ls   landing ship", 145, 1000,
-    M_LAND,  0, 6,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {      60,      60,     4,    120 },
-40, 30,  50, 35, 30, 5,  2,  2,  4,  0, 40, 1, "af   asw frigate", 220, 800,
-    M_TORP|M_SUBT|M_DCH|M_SONAR,  0, 0,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {      25,      60,     6,    500 },
-30, 40,  45, 40,  3, 6,  5,  3,  0,  0, 0, 0, "na   nuc attack sub", 260, 1200,
-    M_TORP|M_SUB|M_MINE|M_SONAR|M_SUBT,  0, 0,
-},
-
-{  5,
-    { V_MILIT, V_SHELL, V_GUN, V_PETROL, V_FOOD },
-    {     100,      80,     6,       40,    500 },
-40, 40,  60, 40, 35, 6,  8,  3, 10,  2,  80, 2, "ad   asw destroyer", 240, 1500,
-    M_TORP|M_SUBT|M_DCH|M_SONAR,  0, 0,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_FOOD, V_GUN },
-    {      25,     200,    500,     1  },
-30, 40,  55, 35,  2, 6,  0,  0,  0,  0,   0, 0, "nm   nuc miss sub", 270, 1500,
-    M_SUB|M_SONAR, 20, 0,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_FOOD, V_GUN },
-    {      25,     100,    500,     1  },
-30, 30,  35, 30,  3, 3,  0,  0,  0,  0, 30, 1, "msb  missile sub",   230, 1200,
-    M_SUB|M_SONAR, 10, 0,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {       5,     100,     3,    500 },
-20, 20,  15, 40, 15, 3,  2,  2,  0,  0,  7, 1, "mb   missile boat", 180,  500,
-    0, 10, 0,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {      60,     220,     4,    120 },
-40, 30,  50, 35, 30, 5,  2,  2,  2,  0, 30, 1, "mf   missile frigate",    280, 1000,
-    0, 20, 0,
-},
-
-{  5,
-    { V_MILIT, V_SHELL, V_GUN, V_PETROL, V_FOOD },
-    {     120,     500,     6,      160,    200 },
-50, 50,  70, 35, 35, 8,  8,  6,  8,  8, 35, 1, "mc   missile cruiser",    290, 1500,
-    M_ANTIMISSILE, 40, 0,
-},
-
-{  4,
-    { V_MILIT, V_SHELL, V_GUN, V_FOOD },
-    {     100,     100,    15,    200 },
-50, 60,  80, 35, 30, 6,  1, 8,  1,  0, 60, 2, "aac  aa cruiser", 130, 1500,
-    M_ANTIMISSILE,  0, 4,
-},
-
-{  5,
-    { V_MILIT, V_SHELL, V_GUN, V_PETROL, V_FOOD },
-    {     200,     400,    25,       40,    900 },
-50, 60,  80, 35, 30, 6,  1, 16, 30,  2,  0, 0, "agc  aegis cruiser",    265, 4000,
-    M_ANTIMISSILE, 32, 0,
-},
-
-{  5,
-    { V_MILIT, V_SHELL, V_GUN, V_PETROL, V_FOOD },
-    {     200,     400,     8,       40,    900 },
-50, 50, 100, 45, 35, 6, 14,  7, 10,  2,  0, 0, "ncr  nuc cruiser", 325, 1800,
-    M_ANTIMISSILE, 20, 0,
-},
-
-{  5,
-    { V_MILIT, V_SHELL, V_GUN, V_PETROL, V_FOOD },
-    {     200,     120,     6,      160,    500 },
-50, 50,  80, 45, 35, 9, 10,  4, 25,  8,  0, 0, "nas  nuc asw cruiser", 330, 1800,
-    M_TORP|M_SUBT|M_DCH|M_SONAR,  0, 0,
-},
-
-{  8,
-  { V_CIVIL, V_MILIT, V_SHELL, V_GUN, V_PETROL, V_FOOD, V_LCM, V_HCM },
-  {      50,      50,     600,    50,     999,     999,  1500,   900  },
-60, 40,  40, 45, 35, 6,  0,  0, 10, 2, 0, 0, "nsp  nuc supply ship",  360, 1500,
-    M_SUPPLY,0,2,
-},
-
-{  0, 
-    { 0 },
-    { 0 },
- 0,  0,   0,  0,  0, 0,  0,  0, 0, 0, 0, 0, "",                    0,    0,
-    0, 0, 0,
-}
-};
+    {{300,  10,   0,   0,   0,   0,   0,   0, 900,   0,   0,   0,  15,   0},
+     25, 15, 10, 10, 15, 2, 0, 0, 0, 0, 0, 0, "fb   fishing boat",
+     0, 180, M_FOOD | M_CANAL, 0, 0},
+
+    {{300,  10,   0,   0,   0,   0,   0,   0, 900,   0,   0,   0,  15,   0},
+     25, 15, 10, 25, 15, 2, 0, 0, 0, 0, 20, 1, "ft   fishing trawler",
+     35, 300, M_FOOD | M_CANAL, 0, 0},
+
+    {{600,  50, 300,  50,   0,   0,   0,   0, 900,   0,1400, 900, 250,   0},
+     60, 40, 20, 25, 35, 3, 0, 0, 1, 0, 0, 0, "cs   cargo ship",
+     20, 500, M_SUPPLY, 0, 2},
+
+    {{30,   5,   0,   0,   0, 990, 990,   0, 200,   0,   0,   0,  45, 990},
+     60, 40, 20, 25, 35, 3, 0, 0, 1, 0, 30, 1, "os   ore ship",
+     20, 500, 0, 0, 0},
+
+    {{20,  80,   0,   0,   0,   0,   0,   0, 200,   0,   0,   0,1200,   0},
+     60, 40, 20, 10, 35, 3, 0, 0, 1, 0, 0, 0, "ss   slave ship",
+     0, 300, 0, 0, 0},
+
+    {{50,  50,   0,   0,   0,   0,   0,   0, 100,   0,   0,   0,   0,   0},
+     200, 100, 20, 25, 35, 3, 0, 0, 1, 0, 30, 1, "ts   trade ship",
+     30, 1750, M_TRADE, 0, 0},
+
+    {{0,  60,  10,   2,   0,   0,   0,   0,  60,   0,   0,   0,   0,   0},
+     30, 30, 50, 25, 25, 3, 1, 1, 1, 0, 0, 0, "frg  frigate",
+     0, 600, M_SEMILAND, 0, 2},
+
+    {{10,   5,   0,   0,   0,   0,   0,   0, 100,   1,   0,   0,   0,   0},
+     25, 15, 10, 25, 15, 2, 0, 0, 0, 0, 20, 1, "oe   oil exploration boat",
+     40, 800, M_OIL | M_CANAL, 0, 0},
+
+    {{990,  80,   0,   0,   0,   0,   0,   0, 990, 990,   0,   0, 990,   0},
+     60, 60, 30, 15, 65, 3, 0, 0, 2, 0, 0, 0, "od   oil derrick",
+     50, 1500, M_OIL, 0, 0},
+
+    {{0,   2,  12,   2,   0,   0,   0,   0,   5,   0,   0,   0,   0,   0},
+     20, 10, 10, 38, 10, 2, 1, 1, 0, 0, 4, 1, "pt   patrol boat",
+     40, 300, M_TORP | M_CANAL, 0, 0},
+
+    {{0, 100,  40,   5,   0,   0,   0,   0, 100,   0,   0,   0,   0,   0},
+     30, 40, 50, 30, 30, 5, 6, 3, 1, 0, 40, 1, "lc   light cruiser",
+     45, 800, M_MINE, 0, 2 },
+
+    {{0, 120, 100,   8,   0,   0,   0,   0, 200,   0,   0,   0,   0,   0},
+     40, 50, 70, 30, 30, 5, 8, 4, 1, 0, 30, 1, "hc   heavy cruiser",
+     50, 1200, 0, 0, 4},
+
+    {{0, 120,  20,   4,   0,   0,   0,   0, 120,   0,   0,   0,   0,   0},
+     50, 50, 60, 20, 35, 3, 1, 2, 1, 0, 0, 0, "tt   troop transport",
+     10, 800, M_SEMILAND, 0, 2 },
+
+    {{0, 200, 200,  10,   0,   0,   0,   0, 900,   0,   0,   0,   0,   0},
+     50, 70, 95, 25, 35, 6, 10, 7, 1, 0, 50, 2, "bb   battleship",
+     45, 1800, 0, 0, 2},
+
+    {{0, 180, 100,  10,   0,   0,   0,   0, 400,   0,   0,   0,   0,   0},
+     50, 60, 55, 30, 35, 6, 10, 6, 1, 0, 60, 2, "bbc  battlecruiser",
+     75, 1500, 0, 0, 2},
+
+    {{30,   5,   0,   0, 990,   0,   0,   0, 200, 990,   0,   0,  25,   0},
+     60, 40, 75, 25, 45, 3, 0, 0, 1, 0, 30, 1, "tk   tanker",
+     35, 600, M_OILER | M_SUPPLY, 0, 0},
+
+    {{0,  10, 100,   1,   0,   0,   0,   0,  90,   0,   0,   0,   0,   0},
+     25, 15, 10, 25, 15, 2, 0, 0, 0, 0, 20, 1, "ms   minesweeper",
+     40, 400, M_MINE | M_SWEEP | M_CANAL, 0, 0},
+
+    {{0,  60,  40,   4,   0,   0,   0,   0,  80,   0,   0,   0,   0,   0},
+     30, 30, 45, 35, 20, 4, 6, 3, 1, 0, 30, 1, "dd   destroyer",
+     70, 600, M_MINE | M_DCH | M_SONAR, 0, 1},
 
-int    shp_maxno = (sizeof(mchr) / sizeof(struct mchrstr)) - 1;
+    {{0,  25,  36,   5,   0,   0,   0,   0,  80,   0,   0,   0,   0,   0},
+     30, 30, 25, 20, 5, 4, 3, 3, 0, 0, 30, 1, "sb   submarine",
+     60, 650, M_TORP | M_SUB | M_MINE | M_SONAR, 0, 0},
+
+    {{5,  10, 104,  20, 100,   0,   0,   0, 900,   0, 500, 300,   0,   0},
+     40, 40, 50, 30, 2, 3, 0, 0, 0, 0, 50, 2, "sbc  cargo submarine",
+     150, 1200, M_SUPPLY | M_OILER | M_SUB | M_SONAR, 0, 0},
+
+    {{0, 175, 250,   4, 300,   0,   0,   0, 180,   0,   0,   0,   0,   0},
+     50, 60, 60, 30, 40, 5, 2, 2, 4, 20, 50, 2, "cal  light carrier",
+     80, 2700, M_FLY, 20, 0},
+
+    {{0, 350, 500,   4, 500,   0,   0,   0, 900,   0,   0,   0,   0,   0},
+     60, 70, 80, 35, 40, 7, 2, 2, 10, 40, 120, 3, "car  aircraft carrier",
+     160, 4500, M_FLY, 40, 0},
+
+    {{0, 350, 999,   4, 999,   0,   0,   0, 900,   0,   0,   0,   0,   0},
+     70, 80, 100, 45, 40, 9, 2, 2, 20, 4, 0, 0, "can  nuc carrier",
+     305, 8000, M_OILER | M_FLY | M_SUPPLY, 60, 0},
+
+    {{0, 400,  10,   1,   0,   0,   0,   0, 300,   0,   0,   0,   0,   0},
+     60, 40, 40, 30, 30, 2, 0, 0, 2, 0, 30, 1, "ls   landing ship",
+     145, 1000, M_LAND, 0, 6},
+
+    {{0,  60,  60,   4,   0,   0,   0,   0, 120,   0,   0,   0,   0,   0},
+     40, 30, 50, 35, 30, 5, 2, 2, 4, 0, 40, 1, "af   asw frigate",
+     220, 800, M_TORP | M_SUBT | M_DCH | M_SONAR, 0, 0},
+
+    {{0,  25,  60,   6,   0,   0,   0,   0, 500,   0,   0,   0,   0,   0},
+     30, 40, 45, 40, 3, 6, 5, 3, 0, 0, 0, 0, "na   nuc attack sub",
+     260, 1200, M_TORP | M_SUB | M_MINE | M_SONAR | M_SUBT, 0, 0},
+
+    {{0, 100,  80,   6,  40,   0,   0,   0, 500,   0,   0,   0,   0,   0},
+     40, 40, 60, 40, 35, 6, 8, 3, 10, 2, 80, 2, "ad   asw destroyer",
+     240, 1500, M_TORP | M_SUBT | M_DCH | M_SONAR, 0, 0},
+
+    {{0,  25, 200,   1,   0,   0,   0,   0, 500,   0,   0,   0,   0,   0},
+     30, 40, 55, 35, 2, 6, 0, 0, 0, 0, 0, 0, "nm   nuc miss sub",
+     270, 1500, M_SUB | M_SONAR, 20, 0},
+
+    {{0,  25, 100,   1,   0,   0,   0,   0, 500,   0,   0,   0,   0,   0},
+     30, 30, 35, 30, 3, 3, 0, 0, 0, 0, 30, 1, "msb  missile sub",
+     230, 1200, M_SUB | M_SONAR, 10, 0},
+
+    {{0,   5, 100,   3,   0,   0,   0,   0, 500,   0,   0,   0,   0,   0},
+     20, 20, 15, 40, 15, 3, 2, 2, 0, 0, 7, 1, "mb   missile boat",
+     180, 500, 0, 10, 0},
+
+    {{0,  60, 220,   4,   0,   0,   0,   0, 120,   0,   0,   0,   0,   0},
+     40, 30, 50, 35, 30, 5, 2, 2, 2, 0, 30, 1, "mf   missile frigate",
+     280, 1000, 0, 20, 0},
+
+    {{0, 120, 500,   6, 160,   0,   0,   0, 200,   0,   0,   0,   0,   0},
+     50, 50, 70, 35, 35, 8, 8, 6, 8, 8, 35, 1, "mc   missile cruiser",
+     290, 1500, M_ANTIMISSILE, 40, 0},
+
+    {{0, 100, 100,  15,   0,   0,   0,   0, 200,   0,   0,   0,   0,   0},
+     50, 60, 80, 35, 30, 6, 1, 8, 1, 0, 60, 2, "aac  aa cruiser",
+     130, 1500, M_ANTIMISSILE, 0, 4},
+
+    {{0, 200, 400,  25,  40,   0,   0,   0, 900,   0,   0,   0,   0,   0},
+     50, 60, 80, 35, 30, 6, 1, 16, 30, 2, 0, 0, "agc  aegis cruiser",
+     265, 4000, M_ANTIMISSILE, 32, 0},
+
+    {{0, 200, 400,   8,  40,   0,   0,   0, 900,   0,   0,   0,   0,   0},
+     50, 50, 100, 45, 35, 6, 14, 7, 10, 2, 0, 0, "ncr  nuc cruiser",
+     325, 1800, M_ANTIMISSILE, 20, 0},
+
+    {{0, 200, 120,   6, 160,   0,   0,   0, 500,   0,   0,   0,   0,   0},
+     50, 50, 80, 45, 35, 9, 10, 4, 25, 8, 0, 0, "nas  nuc asw cruiser",
+     330, 1800, M_TORP | M_SUBT | M_DCH | M_SONAR, 0, 0},
+
+/*     c    m    s    g    p    i    d    b    f    o    l    h    u    r */
+    {{50,  50, 600,  50, 999,   0,   0,   0, 999,   0,1500, 900,   0,   0},
+     60, 40, 40, 45, 35, 6, 0, 0, 10, 2, 0, 0, "nsp  nuc supply ship",
+     360, 1500, M_SUPPLY, 0, 2},
+
+    {{0},
+     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL,
+     0, 0, 0, 0, 0}
+};