Galactic Bloodshed
shipdata.h
Go to the documentation of this file.
1 // Copyright 2014 The Galactic Bloodshed Authors. All rights reserved.
2 // Use of this source code is governed by a license that can be
3 // found in the COPYING file.
4 
5 #ifndef SHIPDATA_H
6 #define SHIPDATA_H
7 
8 const char Shipltrs[] = {'p', 's', 'X', 'D', 'B', 'I', 'C', 'd', 'f', 'e',
9  'H', 'S', 'O', 'c', 't', '!', '+', 'M', '=', '\\',
10  '-', 'a', 'g', 'h', 'v', 'V', '@', 'l', 'w', ':',
11  'G', 'F', 'T', ';', 'Z', '[', '^', 'P', 'q', 'K',
12  'Y', 'W', 'J', '&', 'R', 'b', 'L'};
13 
14 // table for [ABIL_BUILD]. (bd). sum the numbers to get the correct value.
15 // 1 To allow it to be built on a planet.
16 // 2 For building by warships (d, B, C,..). Currently only for Space Probe.
17 // Mines used to be this way too. Built in hanger of building ship.
18 // 4 For building by Shuttles, Cargo ship, Habitats, etc.
19 // Also forces construction on the outside of the ship. Not in hanger.
20 // 8 For building in Factories. Built on planet, or in hanger of carrying
21 // ship (Habitat).
22 // 16 For building in Habitats. Used by Pods for instance. Also used by
23 // Factories. Built inside Habitat. */
24 
25 // table for [ABIL_CONSTRUCT]. (cn). sum the numbers to get the correct value.
26 // 1 To allow it to build like a planet.
27 // 2 For building like warships (d, B, C,..).
28 // 4 For building like Shuttles, Cargo ship, Habitats, etc.
29 // 8 For building like Factories.
30 // 16 For building like Habitats. */
31 
32 // Changes here to use the new build routine using above tables. Maarten
33 // Also changed:
34 // - Pods, Factories, Weapons Plants, Terraforming Devices,
35 // Orbital Mind Control Lasers and Government Centers can
36 // be built inside Habitats.
37 // - Probes, and other type 2 ships (currently none), are now built inside
38 // ships, requiring hanger space. This gives more incentive to keep some
39 // hanger space in the big warships.
40 // - The big space stations (Habitats, Stations, and Orbital Assault
41 // Platforms) can now build Probes as well.
42 
43 // - Habitats and Stations had their ability to use a crystal mount removed.
44 // Since they cannot use it in any way, it was rather useless. It only
45 // confused the required resources to build the ship, though this has been
46 // taken care of too.
47 // - Orbital Mind Control Lasers having 10 guns of caliber 0 seemed strange.
48 // Now 0 guns. Also removed the 100 destruct carrying capacity. Added 25
49 // cargo space so it can repair itself. */
50 
51 const unsigned long Shipdata[NUMSTYPES][NUMABILS] = {
52  /* tech carg bay dest guns prim sec fuelcap crw arm cst mt jp ld sw sp
53  dm bd cn mod las cew clk god prg port rep pay */
54  /*SPd*/ {0, 0, 0, 0, 0, 0, 0, 20, 1, 0, 1, 0, 0, 1,
55  0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0},
56  /*Shu*/ {10, 25, 2, 2, 1, 1, 0, 20, 10, 0, 2, 0, 0, 1,
57  0, 4, 0, 8, 4, 1, 0, 0, 0, 0, 1, 0, 0, 1},
58  /*Car*/ {250, 600, 200, 800, 30, 3, 2, 1000, 30, 5, 30, 1, 1, 0,
59  0, 4, 50, 20, 2, 1, 1, 1, 0, 0, 1, 0, 1, 1},
60  /*Drn*/ {300, 500, 10, 500, 60, 3, 2, 500, 60, 10, 40, 1, 1, 1,
61  0, 6, 50, 8, 2, 1, 1, 1, 0, 0, 1, 0, 0, 1},
62  /*BB */ {200, 235, 10, 400, 30, 3, 2, 200, 30, 7, 20, 1, 1, 1,
63  0, 6, 50, 8, 2, 1, 1, 1, 0, 0, 1, 0, 0, 1},
64  /*Int*/ {150, 110, 5, 120, 20, 2, 2, 200, 20, 3, 15, 1, 1, 1,
65  0, 6, 50, 8, 2, 1, 1, 1, 0, 0, 1, 0, 0, 1},
66  /*CA */ {150, 165, 5, 300, 20, 3, 2, 120, 20, 5, 10, 1, 1, 1,
67  0, 6, 50, 8, 2, 1, 1, 1, 0, 0, 1, 0, 0, 1},
68  /*DD */ {100, 110, 5, 120, 15, 2, 2, 80, 15, 3, 5, 1, 1, 1,
69  0, 6, 50, 8, 2, 1, 1, 1, 0, 0, 1, 0, 0, 1},
70  /*FF */ {100, 0, 0, 40, 20, 2, 1, 10, 1, 2, 1, 1, 1, 1,
71  0, 9, 0, 8, 2, 1, 1, 1, 0, 0, 1, 0, 1, 1},
72  /*Exp*/ {40, 10, 0, 15, 5, 2, 0, 35, 5, 1, 2, 1, 1, 1,
73  0, 6, 0, 8, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1},
74  /*Hab*/ {100, 5000, 10, 500, 20, 2, 1, 2000, 2000, 3, 50, 0, 0, 0,
75  1, 4, 75, 20, 18, 1, 0, 0, 0, 0, 1, 1, 1, 1},
76  /*Stn*/ {100, 5000, 10, 250, 20, 2, 0, 2000, 50, 1, 10, 0, 0, 0,
77  0, 4, 75, 20, 6, 1, 0, 0, 0, 0, 1, 1, 1, 1},
78  /*OSP*/ {200, 1400, 20, 1000, 50, 3, 2, 2000, 200, 5, 40, 1, 1, 0,
79  0, 4, 75, 20, 6, 1, 1, 1, 0, 0, 1, 0, 1, 1},
80  /*Crg*/ {100, 1000, 5, 1000, 10, 1, 0, 1000, 100, 2, 10, 1, 1, 1,
81  0, 4, 0, 8, 4, 1, 0, 0, 0, 0, 1, 0, 0, 1},
82  /*Tnk*/ {100, 200, 5, 200, 10, 1, 0, 5000, 10, 2, 10, 1, 1, 1,
83  0, 4, 0, 8, 2, 1, 0, 0, 0, 0, 1, 0, 0, 1},
84  /*GOD*/ {9999, 20000, 1000, 20000, 1000, 3, 3, 20000, 1000, 100,
85  10, 1, 1, 1, 0, 9, 0, 1, 6, 1,
86  1, 1, 0, 1, 1, 1, 1, 0},
87  /*SMn*/ {50, 0, 0, 25, 0, 0, 0, 20, 0, 1, 30, 0, 0, 1,
88  1, 2, 0, 8, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
89  /* tech carg bay dest guns prim sec fuelcap crw arm cst mt jp ld sw sp
90  dm bd cn mod las cew clk god prg port*/
91  /*mir*/ {100, 200, 0, 10, 1, 1, 0, 20, 5, 0, 100, 0, 0, 0,
92  0, 2, 75, 20, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1},
93  /*Stc*/ {50, 0, 0, 0, 0, 0, 0, 20, 2, 0, 20, 1, 1, 1,
94  0, 4, 0, 8, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1},
95  /*Tsc*/ {5, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 1,
96  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0},
97  /*T-R*/ {200, 0, 0, 0, 0, 0, 0, 1000, 5, 0, 20, 1, 0, 1,
98  1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
99  /*APr*/ {80, 0, 0, 0, 0, 0, 0, 200, 10, 1, 20, 0, 0, 1,
100  1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0},
101  /* CD*/ {40, 0, 0, 0, 0, 0, 0, 1, 0, 0, 10, 0, 0, 1,
102  1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0},
103  /*Grn*/ {40, 0, 0, 0, 0, 0, 0, 1, 0, 0, 10, 0, 0, 1,
104  0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0},
105  /*VN */ {80, 20, 0, 0, 0, 0, 0, 50, 0, 1, 100, 0, 0, 1,
106  0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
107  /*Bers*/ {999, 50, 0, 500, 40, 3, 2, 1000, 0, 15, 100, 0, 0, 1,
108  1, 6, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0},
109  /*Gov*/ {0, 500, 0, 100, 10, 1, 0, 1000, 10, 20, 500, 0, 0, 1,
110  0, 0, 75, 17, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0},
111  /*OMCL*/ {350, 25, 0, 0, 0, 0, 0, 100, 2, 1, 50, 0, 0, 1,
112  1, 4, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
113  /*TWC*/ {0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 5, 0, 0, 1,
114  0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
115  /*Prb*/ {150, 0, 0, 0, 0, 0, 0, 20, 0, 0, 10, 0, 0, 1,
116  0, 9, 0, 19, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
117  /* tech carg bay dest guns prim sec fuelcap crw arm cst mt jp ld sw sp
118  dm bd cn mod las cew clk god prg port*/
119  /*GRL */ {100, 50, 0, 120, 20, 1, 0, 0, 40, 3, 30, 0, 0, 1,
120  1, 0, 75, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1},
121  /*Fac*/ {0, 50, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 0, 1,
122  1, 0, 75, 17, 8, 0, 0, 0, 0, 0, 1, 0, 1, 1},
123  /*TFD*/ {50, 40, 5, 0, 0, 0, 0, 200, 20, 1, 20, 1, 1, 1,
124  1, 4, 0, 17, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1},
125  /*BCC*/ {9999, 200, 0, 50, 0, 3, 0, 0, 0, 10, 3, 0, 0, 1,
126  1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0},
127  /*BAf*/ {9999, 1000, 0, 1000, 0, 0, 0, 1000, 0, 10, 8, 0, 0, 1,
128  1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0},
129  /*TD */ {200, 1000, 0, 1000, 0, 0, 0, 1000, 100, 0, 300, 0, 0, 1,
130  1, 0, 50, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0},
131  /*Mis*/ {50, 0, 0, 10, 0, 0, 0, 5, 0, 0, 5, 0, 0, 0,
132  1, 6, 0, 8, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
133  /*PDN*/ {200, 50, 0, 500, 20, 3, 0, 0, 50, 10, 100, 0, 0, 1,
134  1, 0, 75, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1},
135  /* tech carg bay dest guns prim sec fuelcap crw arm cst mt jp ld sw sp
136  dm bd cn mod las cew clk god prg port*/
137  /*Qua*/ {0, 0, 0, 0, 0, 0, 0, 200, 50, 1, 10, 0, 0, 1,
138  1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1},
139  /*Plo*/ {5, 0, 0, 0, 0, 0, 0, 200, 10, 1, 10, 0, 0, 1,
140  1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
141  /*Dom*/ {10, 100, 0, 0, 0, 0, 0, 0, 20, 1, 10, 0, 0, 1,
142  1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0},
143  /*Wea*/ {0, 500, 0, 0, 0, 0, 0, 500, 20, 5, 20, 0, 0, 1,
144  0, 0, 75, 17, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0},
145  /*Port*/ {0, 0, 0, 0, 0, 0, 0, 0, 100, 3, 50, 0, 0, 1,
146  0, 0, 75, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1},
147  /*ABM*/ {100, 5, 0, 50, 5, 1, 0, 0, 5, 5, 50, 0, 0, 1,
148  1, 0, 50, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1},
149  /* tech carg bay dest guns prim sec fuelcap crw arm cst mt jp ld sw sp
150  dm bd cn mod las cew clk god prg port*/
151  /*AFV*/ {50, 5, 0, 20, 2, 1, 0, 20, 1, 2, 20, 0, 0, 0,
152  0, 0, 0, 8, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1},
153  /*Bun*/ {10, 100, 20, 100, 0, 0, 0, 100, 100, 15, 100, 0, 0, 0,
154  0, 0, 50, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1},
155  /*Lnd*/ {150, 100, 10, 200, 10, 3, 0, 100, 500, 7, 50, 1, 1, 1,
156  0, 2, 50, 8, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1}};
157 
158 const char *Shipnames[NUMSTYPES] = {"Spore pod",
159  "Shuttle",
160  "Carrier",
161  "Dreadnaught",
162  "Battleship",
163  "Interceptor",
164  "Cruiser",
165  "Destroyer",
166  "Fighter Group",
167  "Explorer",
168  "Habitat",
169  "Station",
170  "Ob Asst Pltfrm",
171  "Cargo Ship",
172  "Tanker",
173  "GODSHIP",
174  "Space Mine",
175  "Space Mirror",
176  "Space Telescope",
177  "Ground Telescope",
178  "* T-R beam",
179  "Atmosph Processor",
180  "Dust Canister",
181  "Greenhouse Gases",
182  "V.Neumann Machine",
183  "Berserker",
184  "Govrnmnt. Center",
185  "Mind Control Lsr",
186  "Tox Waste Canistr",
187  "Space Probe",
188  "Gamma Ray Laser",
189  "Factory",
190  "Terraform Device",
191  "Bers Cntrl Center",
192  "Bers Autofac",
193  "AVPM Transporter",
194  "Missile",
195  "Planet Def Net",
196  "Quarry",
197  "Space Plow",
198  "Dome",
199  "Weapons Plant",
200  "Space Port",
201  "ABM Battery",
202  "Mech",
203  "Bunker",
204  "Lander"};
205 
206 #endif // SHIPDATA_H
const unsigned long Shipdata[NUMSTYPES][NUMABILS]
Definition: shipdata.h:51
const char Shipltrs[]
Definition: shipdata.h:8
const char * Shipnames[NUMSTYPES]
Definition: shipdata.h:158