]> 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-2004, 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 "var.h"
38 #include "land.h"
39
40 struct lchrstr lchr[] = {
41
42 /* name
43    lcm, hcm, mil, gun, shell, tech,   $,
44    att, def, vul, spd, vis, spy, rad, frg, acc, dam, amm, aaf, fc, fu, xpl, mxl
45    flags, nv
46    cargo
47 */
48
49     {{0,   0,  20,   0,   0,   0,   0,   0,   0,  12,   0,   0,   0,   0,   0},
50      "cav  cavalry",
51      10, 5, 0, 0, 0, 30, 500,
52      1.2, 0.5, 80, 32, 18, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
53      L_RECON | L_LIGHT,
54      },
55
56     {{0,   0,  25,   1,   0,   0,   0,   0,   0,  15,   0,   0,   0,   0,   0},
57      "linf light infantry",
58      8, 4, 0, 0, 0, 40, 300,
59      1.0, 1.5, 60, 28, 15, 2, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0,
60      L_ASSAULT | L_LIGHT,
61      },
62
63     {{0,   0, 100,   0,   0,   0,   0,   0,   0,  24,   0,   0,   0,   0,   0},
64      "inf  infantry",
65      10, 5, 0, 0, 0, 50, 500,
66      1.0, 1.5, 60, 25, 15, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
67      L_ASSAULT | L_LIGHT,
68      },
69
70     {{0,   0, 100,   8,   0,   0,   0,   0,   0,  60,   0,   0,   0,   0,   0},
71      "mtif motor inf",
72      15, 10, 0, 0, 0, 190, 400,
73      1.2, 2.2, 60, 33, 17, 1, 3, 0, 0, 0, 2, 3, 13, 1, 0, 0,
74      L_LIGHT,
75      },
76
77     {{0,   0, 100,   8,   0,   0,   0,   0,   0,  60,   0,   0,   0,   0,   0},
78      "mif  mech inf",
79      15, 10, 0, 0, 0, 190, 800,
80      1.5, 2.5, 50, 33, 17, 1, 3, 0, 0, 0, 2, 3, 13, 1, 0, 0,
81      L_LIGHT,
82      },
83
84     {{0,   0, 100,   4,   0,   0,   0,   0,   0,  60,   0,   0,   0,   0,   0},
85      "mar  marines",
86      10, 5, 0, 0, 0, 140, 1000,
87      1.4, 2.4, 60, 25, 14, 2, 1, 0, 0, 0, 1, 2, 0, 0, 0, 0,
88      L_MARINE | L_ASSAULT | L_LIGHT,
89      },
90
91     {{0,   0,  25, 200,  10, 300, 100, 100,  10, 300,   0, 200, 100,   0,   0},
92      "sup  supply",
93      10, 5, 0, 0, 0, 50, 500,
94      0.1, 0.2, 80, 25, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
95      L_LIGHT | L_SUPPLY,
96      },
97
98     {{0,   0, 990, 990, 200, 990, 500, 500, 100, 990, 990, 990, 990,   0, 150},
99      "tra  train",
100      100, 50, 0, 0, 0, 40, 3500,
101      0.0, 0.0, 120, 10, 25, 3, 0, 0, 0, 0, 0, 0, 0, 0, 5, 12,
102      L_XLIGHT | L_TRAIN | L_HEAVY | L_SUPPLY,
103      },
104
105     {{0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
106      "spy  infiltrator",
107      10, 5, 0, 0, 0, 40, 750,
108      0.0, 0.0, 80, 32, 18, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
109      L_ASSAULT | L_RECON | L_LIGHT | L_SPY,
110      },
111
112     {{0,   0,   0,   3,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
113      "com  commando",
114      10, 5, 0, 0, 0, 55, 1500,
115      0.0, 0.0, 80, 32, 18, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
116      L_ASSAULT | L_RECON | L_LIGHT | L_SPY,
117      },
118
119     {{0,   0,  20,   5,   0,   0,   0,   0,   0,  12,   0,   0,   0,   0,   0},
120      "aau  aa unit",
121      20, 10, 0, 0, 0, 70, 500,
122      0.5, 1.0, 60, 18, 20, 1, 1, 0, 0, 0, 1, 2, 0, 0, 0, 0,
123      L_FLAK | L_LIGHT,
124      },
125
126     {{0,   0,  25,  40,  10,   0,   0,   0,   0,  24,   0,   0,   0,   0,   0},
127      "art  artillery",
128      20, 10, 0, 0, 0, 35, 800,
129      0.1, 0.4, 70, 18, 20, 1, 0, 8, 50, 5, 2, 1, 0, 0, 0, 0,
130      L_LIGHT,
131      },
132
133     {{0,   0,  25,  20,   6,   0,   0,   0,   0,  12,   0,   0,   0,   0,   0},
134      "lat  lt artillery",
135      20, 10, 0, 0, 0, 70, 500,
136      0.2, 0.6, 60, 30, 18, 1, 1, 5, 10, 3, 1, 1, 0, 0, 0, 0,
137      L_LIGHT,
138      },
139
140     {{0,   0,  25,  80,  12,   0,   0,   0,   0,  24,   0,   0,   0,   0,   0},
141      "hat  hvy artillery",
142      40, 20, 0, 0, 0, 100, 800,
143      0.0, 0.2, 60, 12, 20, 1, 0, 11, 99, 8, 4, 1, 0, 0, 0, 0,
144      0,
145      },
146
147     {{0,   0,  25,  40,  10,   0,   0,   0,   0,  15,   0,   0,   0,   0,   0},
148      "mat  mech artillery",
149      20, 10, 0, 0, 0, 200, 1000,
150      0.2, 0.6, 50, 35, 17, 1, 1, 8, 35, 6, 3, 3, 13, 1, 0, 0,
151      L_LIGHT,
152      },
153
154     {{0,   0,  20,   3,   0,   0,   0,   0,   0,  12,   0,   0,   0,   0,   0},
155      "eng  engineer",
156      10, 5, 0, 0, 0, 130, 3000,
157      1.2, 2.4, 50, 25, 14, 2, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0,
158      L_ENGINEER | L_ASSAULT | L_LIGHT,
159      },
160
161     {{0,   0,  20,   4,   0,   0,   0,   0,   0,  15,   0,   0,   0,   0,   0},
162      "meng mech engineer",
163      10, 5, 0, 0, 0, 260, 4500,
164      1.8, 3.5, 45, 33, 15, 3, 3, 0, 0, 0, 1, 5, 25, 2, 0, 0,
165      L_ENGINEER | L_ASSAULT | L_LIGHT,
166      },
167
168     {{0,   0,  50,   4,   0,   0,   0,   0,   0,  30,   0,   0,   0,   0,   0},
169      "lar  lt armor",
170      10, 5, 0, 0, 0, 150, 600,
171      2.0, 1.0, 50, 42, 15, 4, 4, 0, 0, 0, 1, 2, 25, 1, 0, 0,
172      L_RECON | L_LIGHT,
173      },
174
175     {{0,   0, 100,   3,   0,   0,   0,   0,   0,  48,   0,   0,   0,   0,   0},
176      "har  hvy armor",
177      20, 10, 0, 0, 0, 120, 500,
178      2.0, 0.8, 50, 18, 17, 1, 1, 0, 0, 0, 2, 1, 10, 2, 0, 0,
179      0,
180      },
181
182     {{0,   0,  50,   4,   0,   0,   0,   0,   0,  30,   0,   0,   0,   0,   0},
183      "arm  armor",
184      20, 10, 0, 0, 0, 170, 1000,
185      3.0, 1.5, 40, 33, 16, 2, 2, 0, 0, 0, 1, 2, 13, 1, 0, 0,
186      L_LIGHT,
187      },
188
189     {{0,   0,  50,   4,   0,   0,   0,   0,   0,  30,   0,   0,   0,   0,   0},
190      "sec  security",
191      10, 5, 0, 0, 0, 170, 600,
192      1.0, 2.0, 60, 25, 15, 2, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0,
193      L_SECURITY | L_LIGHT,
194      },
195
196     {{0,   0,  10,   0,   0,   0,   0,   0,   0,   7,   0,   0,   0,   0,   0},
197      "rad  radar unit",
198      10, 5, 0, 0, 0, 270, 1000,
199      0.0, 0.0, 50, 33, 15, 3, 0, 0, 0, 0, 0, 2, 25, 2, 1, 0,
200      L_XLIGHT | L_RADAR | L_LIGHT,
201      },
202
203 /* name
204    lcm, hcm, mil, gun, shell, tech,   $,
205    att, def, vul, spd, vis, spy, rad, frg, acc, dam, amm, aaf, fc, fu, xpl,
206    flags, nv
207    cargo
208 */
209
210     {{0},
211      "",
212      0, 0, 0, 0, 0, 0, 0,
213      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
214      0,
215      }
216 };
217
218 int lnd_maxno = (sizeof(lchr) / sizeof(struct lchrstr)) - 1;