]> git.pond.sub.org Git - empserver/blobdiff - src/lib/global/ship.c
(mchrstr, lchrstr): Change from variable-style storage of load
[empserver] / src / lib / global / ship.c
index b4be4826c62e25d0fbeaf9147a94401f40f67e4e..44f396b0fbfbb6766a57d6ba587b5019a5405422 100644 (file)
@@ -56,297 +56,158 @@ struct mchrstr mchr[] = {
 /* 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},
+    {{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, 0, 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, 0, 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},
+
+    {{0,  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},
+
+    {{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},
+
+    {{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,   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},
+
+    {{0,  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, 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},
+     40, 800, M_OIL, 0, 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,   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, 0, 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,   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,   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,   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,   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},
+
+    {{0,  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,   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, 0, 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},
+
+    {{0,   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},
+
+    {{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,   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,   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,
-     },
-
-    {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},
+     160, 4500, M_FLY, 40, 0},
+
+    {{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,   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,   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,   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,   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,   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,   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,   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,   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,   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,   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,   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,   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,   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,
-     },
-
-    {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,
-     }
+     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 */
+    {{0,  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, "",
+     0, 0, 0, 0, 0}
 };
 
 int shp_maxno = (sizeof(mchr) / sizeof(struct mchrstr)) - 1;