]> git.pond.sub.org Git - empserver/blob - src/lib/global/land.c
Update copyright notice.
[empserver] / src / lib / global / land.c
1 /*
2  *  Empire - A multi-player, client/server Internet based war game.
3  *  Copyright (C) 1986-2005, Dave Pare, Jeff Bailey, Thomas Ruschak,
4  *                           Ken Stevens, Steve McClure
5  *
6  *  This program is free software; you can redistribute it and/or modify
7  *  it under the terms of the GNU General Public License as published by
8  *  the Free Software Foundation; either version 2 of the License, or
9  *  (at your option) any later version.
10  *
11  *  This program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *  GNU General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with this program; if not, write to the Free Software
18  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  *
20  *  ---
21  *
22  *  See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
23  *  related information and legal notices. It is expected that any future
24  *  projects/authors will amend these files as needed.
25  *
26  *  ---
27  *
28  *  land.c: Land unit characteristics
29  * 
30  *  Known contributors to this file:
31  *     Thomas Ruschak, 1992
32  *     Ken Stevens, 1995
33  *     Steve McClure, 1998-2000
34  */
35
36 #include "misc.h"
37 #include "land.h"
38
39 struct lchrstr lchr[] = {
40
41 /* name
42    lcm, hcm, mil, gun, shell, tech,   $,
43    att, def, vul, spd, vis, spy, rad, frg, acc, dam, amm, aaf, fc, fu, xpl, mxl
44    flags, nv
45    cargo
46 */
47
48     {{0,  20,   0,   0,   0,   0,   0,   0,  12,   0,   0,   0,   0,   0},
49      "cav  cavalry",
50      10, 5, 0, 0, 0, 30, 500,
51      1.2, 0.5, 80, 32, 18, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
52      L_RECON | L_LIGHT,
53      },
54
55     {{0,  25,   1,   0,   0,   0,   0,   0,  15,   0,   0,   0,   0,   0},
56      "linf light infantry",
57      8, 4, 0, 0, 0, 40, 300,
58      1.0, 1.5, 60, 28, 15, 2, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0,
59      L_ASSAULT | L_LIGHT,
60      },
61
62     {{0, 100,   0,   0,   0,   0,   0,   0,  24,   0,   0,   0,   0,   0},
63      "inf  infantry",
64      10, 5, 0, 0, 0, 50, 500,
65      1.0, 1.5, 60, 25, 15, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
66      L_ASSAULT | L_LIGHT,
67      },
68
69     {{0, 100,   8,   0,   0,   0,   0,   0,  60,   0,   0,   0,   0,   0},
70      "mtif motor inf",
71      15, 10, 0, 0, 0, 190, 400,
72      1.2, 2.2, 60, 33, 17, 1, 3, 0, 0, 0, 2, 3, 13, 1, 0, 0,
73      L_LIGHT,
74      },
75
76     {{0, 100,   8,   0,   0,   0,   0,   0,  60,   0,   0,   0,   0,   0},
77      "mif  mech inf",
78      15, 10, 0, 0, 0, 190, 800,
79      1.5, 2.5, 50, 33, 17, 1, 3, 0, 0, 0, 2, 3, 13, 1, 0, 0,
80      L_LIGHT,
81      },
82
83     {{0, 100,   4,   0,   0,   0,   0,   0,  60,   0,   0,   0,   0,   0},
84      "mar  marines",
85      10, 5, 0, 0, 0, 140, 1000,
86      1.4, 2.4, 60, 25, 14, 2, 1, 0, 0, 0, 1, 2, 0, 0, 0, 0,
87      L_MARINE | L_ASSAULT | L_LIGHT,
88      },
89
90     {{0,  25, 200,  10, 300, 100, 100,  10, 300,   0, 200, 100,   0,   0},
91      "sup  supply",
92      10, 5, 0, 0, 0, 50, 500,
93      0.1, 0.2, 80, 25, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
94      L_LIGHT | L_SUPPLY,
95      },
96
97     {{0, 990, 990, 200, 990, 500, 500, 100, 990, 990, 990, 990,   0, 150},
98      "tra  train",
99      100, 50, 0, 0, 0, 40, 3500,
100      0.0, 0.0, 120, 10, 25, 3, 0, 0, 0, 0, 0, 0, 0, 0, 5, 12,
101      L_XLIGHT | L_TRAIN | L_HEAVY | L_SUPPLY,
102      },
103
104     {{0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
105      "spy  infiltrator",
106      10, 5, 0, 0, 0, 40, 750,
107      0.0, 0.0, 80, 32, 18, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
108      L_ASSAULT | L_RECON | L_LIGHT | L_SPY,
109      },
110
111     {{0,   0,   3,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
112      "com  commando",
113      10, 5, 0, 0, 0, 55, 1500,
114      0.0, 0.0, 80, 32, 18, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
115      L_ASSAULT | L_RECON | L_LIGHT | L_SPY,
116      },
117
118     {{0,  20,   5,   0,   0,   0,   0,   0,  12,   0,   0,   0,   0,   0},
119      "aau  aa unit",
120      20, 10, 0, 0, 0, 70, 500,
121      0.5, 1.0, 60, 18, 20, 1, 1, 0, 0, 0, 1, 2, 0, 0, 0, 0,
122      L_FLAK | L_LIGHT,
123      },
124
125     {{0,  25,  40,  10,   0,   0,   0,   0,  24,   0,   0,   0,   0,   0},
126      "art  artillery",
127      20, 10, 0, 0, 0, 35, 800,
128      0.1, 0.4, 70, 18, 20, 1, 0, 8, 50, 5, 2, 1, 0, 0, 0, 0,
129      L_LIGHT,
130      },
131
132     {{0,  25,  20,   6,   0,   0,   0,   0,  12,   0,   0,   0,   0,   0},
133      "lat  lt artillery",
134      20, 10, 0, 0, 0, 70, 500,
135      0.2, 0.6, 60, 30, 18, 1, 1, 5, 10, 3, 1, 1, 0, 0, 0, 0,
136      L_LIGHT,
137      },
138
139     {{0,  25,  80,  12,   0,   0,   0,   0,  24,   0,   0,   0,   0,   0},
140      "hat  hvy artillery",
141      40, 20, 0, 0, 0, 100, 800,
142      0.0, 0.2, 60, 12, 20, 1, 0, 11, 99, 8, 4, 1, 0, 0, 0, 0,
143      0,
144      },
145
146     {{0,  25,  40,  10,   0,   0,   0,   0,  15,   0,   0,   0,   0,   0},
147      "mat  mech artillery",
148      20, 10, 0, 0, 0, 200, 1000,
149      0.2, 0.6, 50, 35, 17, 1, 1, 8, 35, 6, 3, 3, 13, 1, 0, 0,
150      L_LIGHT,
151      },
152
153     {{0,  20,   3,   0,   0,   0,   0,   0,  12,   0,   0,   0,   0,   0},
154      "eng  engineer",
155      10, 5, 0, 0, 0, 130, 3000,
156      1.2, 2.4, 50, 25, 14, 2, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0,
157      L_ENGINEER | L_ASSAULT | L_LIGHT,
158      },
159
160     {{0,  20,   4,   0,   0,   0,   0,   0,  15,   0,   0,   0,   0,   0},
161      "meng mech engineer",
162      10, 5, 0, 0, 0, 260, 4500,
163      1.8, 3.5, 45, 33, 15, 3, 3, 0, 0, 0, 1, 5, 25, 2, 0, 0,
164      L_ENGINEER | L_ASSAULT | L_LIGHT,
165      },
166
167     {{0,  50,   4,   0,   0,   0,   0,   0,  30,   0,   0,   0,   0,   0},
168      "lar  lt armor",
169      10, 5, 0, 0, 0, 150, 600,
170      2.0, 1.0, 50, 42, 15, 4, 4, 0, 0, 0, 1, 2, 25, 1, 0, 0,
171      L_RECON | L_LIGHT,
172      },
173
174     {{0, 100,   3,   0,   0,   0,   0,   0,  48,   0,   0,   0,   0,   0},
175      "har  hvy armor",
176      20, 10, 0, 0, 0, 120, 500,
177      2.0, 0.8, 50, 18, 17, 1, 1, 0, 0, 0, 2, 1, 10, 2, 0, 0,
178      0,
179      },
180
181     {{0,  50,   4,   0,   0,   0,   0,   0,  30,   0,   0,   0,   0,   0},
182      "arm  armor",
183      20, 10, 0, 0, 0, 170, 1000,
184      3.0, 1.5, 40, 33, 16, 2, 2, 0, 0, 0, 1, 2, 13, 1, 0, 0,
185      L_LIGHT,
186      },
187
188     {{0,  50,   4,   0,   0,   0,   0,   0,  30,   0,   0,   0,   0,   0},
189      "sec  security",
190      10, 5, 0, 0, 0, 170, 600,
191      1.0, 2.0, 60, 25, 15, 2, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0,
192      L_SECURITY | L_LIGHT,
193      },
194
195     {{0,  10,   0,   0,   0,   0,   0,   0,   7,   0,   0,   0,   0,   0},
196      "rad  radar unit",
197      10, 5, 0, 0, 0, 270, 1000,
198      0.0, 0.0, 50, 33, 15, 3, 0, 0, 0, 0, 0, 2, 25, 2, 1, 0,
199      L_XLIGHT | L_RADAR | L_LIGHT,
200      },
201
202 /* name
203    lcm, hcm, mil, gun, shell, tech,   $,
204    att, def, vul, spd, vis, spy, rad, frg, acc, dam, amm, aaf, fc, fu, xpl,
205    flags, nv
206    cargo
207 */
208
209     {{0},
210      "",
211      0, 0, 0, 0, 0, 0, 0,
212      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
213      0,
214      }
215 };
216
217 int lnd_maxno = (sizeof(lchr) / sizeof(struct lchrstr)) - 1;