Mercurial > ~darius > hgwebdir.cgi > paradise_server
comparison src/shipvals.c @ 6:8c6d5731234d
First entry of Paradise Server 2.9 patch 10 Beta
author | darius |
---|---|
date | Sat, 06 Dec 1997 04:37:04 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
5:054275999194 | 6:8c6d5731234d |
---|---|
1 /*-------------------------------------------------------------------------- | |
2 NETREK II -- Paradise | |
3 | |
4 Permission to use, copy, modify, and distribute this software and its | |
5 documentation, or any derivative works thereof, for any NON-COMMERCIAL | |
6 purpose and without fee is hereby granted, provided that this copyright | |
7 notice appear in all copies. No representations are made about the | |
8 suitability of this software for any purpose. This software is provided | |
9 "as is" without express or implied warranty. | |
10 | |
11 Xtrek Copyright 1986 Chris Guthrie | |
12 Netrek (Xtrek II) Copyright 1989 Kevin P. Smith | |
13 Scott Silvey | |
14 Paradise II (Netrek II) Copyright 1993 Larry Denys | |
15 Kurt Olsen | |
16 Brandon Gillespie | |
17 --------------------------------------------------------------------------*/ | |
18 | |
19 #include "config.h" | |
20 #include <stdio.h> | |
21 #include <sys/types.h> | |
22 #include <sys/ipc.h> | |
23 #include <sys/shm.h> | |
24 #include <string.h> | |
25 | |
26 #include "defs.h" | |
27 #include "struct.h" | |
28 #include "data.h" | |
29 #include "shmem.h" | |
30 | |
31 | |
32 /* This defines the core flags for a normal ship */ | |
33 #define SFNCORE \ | |
34 /*SFNCANDOCK|*/SFNCANORBIT | SFNARMYNEEDKILL|SFNCANWARP|SFNHASPHASERS|SFNARMYNEEDKILL | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 /*-------------------------------INTERNAL FUNCTONS------------------------*/ | |
42 | |
43 /*---------------------------------GETSHIPDEFAULTS------------------------*/ | |
44 /* | |
45 * This function loads the shipvals array with the default values for the | |
46 * ships. They can later be changed with the sysdefaults. | |
47 */ | |
48 | |
49 | |
50 void | |
51 getshipdefaults() | |
52 { | |
53 int i; | |
54 | |
55 for (i = 0; i < NUM_TYPES; i++) | |
56 shipvals[i].s_type = i; | |
57 | |
58 /* comprehensive definition of SCOUT */ | |
59 shipvals[SCOUT].s_alttype = 0; | |
60 strcpy(shipvals[SCOUT].s_name, "Scout"); | |
61 shipvals[SCOUT].s_turns = 570000; | |
62 shipvals[SCOUT].s_imp.acc = 200; | |
63 shipvals[SCOUT].s_imp.dec = 300; /* was: 270; (BG) */ | |
64 shipvals[SCOUT].s_imp.cost = 2; | |
65 shipvals[SCOUT].s_imp.maxspeed = 12; | |
66 shipvals[SCOUT].s_imp.etemp = 1000; | |
67 shipvals[SCOUT].s_after.acc = 700; | |
68 shipvals[SCOUT].s_after.dec = 270; | |
69 shipvals[SCOUT].s_after.cost = 40; | |
70 shipvals[SCOUT].s_after.maxspeed = 14; | |
71 shipvals[SCOUT].s_after.etemp = 35000; | |
72 if (configvals->bronco_shipvals) | |
73 { | |
74 shipvals[SCOUT].s_warp.acc = 10000; | |
75 shipvals[SCOUT].s_warp.dec = 200; | |
76 shipvals[SCOUT].s_warp.cost = 14; | |
77 shipvals[SCOUT].s_warp.maxspeed = 19; | |
78 shipvals[SCOUT].s_warp.etemp = 9000; | |
79 shipvals[SCOUT].s_warpinitcost = 909; | |
80 shipvals[SCOUT].s_warpinittime = 30; | |
81 shipvals[SCOUT].s_warpprepspeed = 2; | |
82 } | |
83 else | |
84 { | |
85 shipvals[SCOUT].s_warp.acc = 10000; | |
86 shipvals[SCOUT].s_warp.dec = 200; | |
87 shipvals[SCOUT].s_warp.cost = 13; /* was: 14; (BG) */ | |
88 shipvals[SCOUT].s_warp.maxspeed = 32; /* was: 27; (BG) */ | |
89 shipvals[SCOUT].s_warp.etemp = 9000; | |
90 shipvals[SCOUT].s_warpinitcost = 909; | |
91 shipvals[SCOUT].s_warpinittime = 30; | |
92 shipvals[SCOUT].s_warpprepspeed = 3; | |
93 } | |
94 shipvals[SCOUT].s_mass = 1500; | |
95 shipvals[SCOUT].s_tractstr = 2000; | |
96 shipvals[SCOUT].s_tractrng = 0.7; | |
97 shipvals[SCOUT].s_tractcost = 3; | |
98 shipvals[SCOUT].s_tractetemp = 1000; | |
99 shipvals[SCOUT].s_torp.damage = 25; | |
100 shipvals[SCOUT].s_torp.speed = 16; | |
101 shipvals[SCOUT].s_torp.cost = 175; | |
102 #ifndef OLDSHIPVALS | |
103 shipvals[SCOUT].s_torp.fuse = 16; | |
104 #else | |
105 shipvals[SCOUT].s_torp.fuse = 15; | |
106 #endif | |
107 shipvals[SCOUT].s_torp.wtemp = 7; | |
108 shipvals[SCOUT].s_torp.wtemp_halfarc = 32; | |
109 shipvals[SCOUT].s_torp.wtemp_factor = 9; | |
110 shipvals[SCOUT].s_torp.aux = 0; | |
111 shipvals[SCOUT].s_phaser.damage = 75; | |
112 shipvals[SCOUT].s_phaser.speed = 4500; | |
113 shipvals[SCOUT].s_phaser.cost = 525; | |
114 shipvals[SCOUT].s_phaser.fuse = 10; | |
115 #ifndef OLDSHIPVALS | |
116 shipvals[SCOUT].s_phaser.wtemp = 52; | |
117 #else | |
118 shipvals[SCOUT].s_phaser.wtemp = 50; | |
119 #endif | |
120 shipvals[SCOUT].s_missile.damage = 0; | |
121 shipvals[SCOUT].s_missile.speed = 0; | |
122 shipvals[SCOUT].s_missile.cost = 0; | |
123 shipvals[SCOUT].s_missile.fuse = 0; | |
124 shipvals[SCOUT].s_missile.wtemp = 0; | |
125 shipvals[SCOUT].s_missile.count = 0; | |
126 shipvals[SCOUT].s_missile.aux = 0; | |
127 shipvals[SCOUT].s_missilestored = 0; | |
128 shipvals[SCOUT].s_plasma.damage = -1; | |
129 shipvals[SCOUT].s_plasma.speed = 0; | |
130 shipvals[SCOUT].s_plasma.cost = 0; | |
131 shipvals[SCOUT].s_plasma.fuse = 0; | |
132 shipvals[SCOUT].s_plasma.wtemp = 50; | |
133 shipvals[SCOUT].s_plasma.aux = 0; | |
134 shipvals[SCOUT].s_maxwpntemp = 1000; | |
135 shipvals[SCOUT].s_wpncoolrate = 3; | |
136 if (configvals->bronco_shipvals) | |
137 shipvals[SCOUT].s_maxegntemp = 1000; | |
138 else | |
139 shipvals[SCOUT].s_maxegntemp = 1500; | |
140 shipvals[SCOUT].s_egncoolrate = 8; | |
141 shipvals[SCOUT].s_maxfuel = 5000; | |
142 shipvals[SCOUT].s_recharge = 16; | |
143 shipvals[SCOUT].s_mingivefuel = 0; | |
144 shipvals[SCOUT].s_takeonfuel = 150; | |
145 if (configvals->fuel_explosions) | |
146 { | |
147 shipvals[SCOUT].s_expldam = 35; /* was: 40; (BG) */ | |
148 shipvals[SCOUT].s_fueldam = 50; /* was: 45; (BG) */ | |
149 } | |
150 else | |
151 { | |
152 shipvals[SCOUT].s_expldam = 75; | |
153 shipvals[SCOUT].s_fueldam = 0; | |
154 } | |
155 shipvals[SCOUT].s_armyperkill = 2; | |
156 shipvals[SCOUT].s_maxarmies = 2; | |
157 if (configvals->bronco_shipvals) | |
158 shipvals[SCOUT].s_bomb = 10; | |
159 else | |
160 shipvals[SCOUT].s_bomb = 0; | |
161 shipvals[SCOUT].s_repair = 80; | |
162 shipvals[SCOUT].s_maxdamage = 75; | |
163 shipvals[SCOUT].s_maxshield = 75; | |
164 shipvals[SCOUT].s_shieldcost = 2; | |
165 shipvals[SCOUT].s_detcost = 100; | |
166 shipvals[SCOUT].s_detdist = 1750; | |
167 if (configvals->bronco_shipvals) | |
168 { | |
169 shipvals[SCOUT].s_cloakcost = 85; | |
170 shipvals[SCOUT].s_scanrange = -1; | |
171 } | |
172 else | |
173 { | |
174 shipvals[SCOUT].s_cloakcost = 50; | |
175 #ifdef LONG_SCANRANGE | |
176 shipvals[SCOUT].s_scanrange = 8000; | |
177 #else | |
178 shipvals[SCOUT].s_scanrange = 5000; | |
179 #endif | |
180 } | |
181 shipvals[SCOUT].s_numports = 0; | |
182 shipvals[SCOUT].s_letter = 's'; | |
183 shipvals[SCOUT].s_desig1 = 'S'; | |
184 shipvals[SCOUT].s_desig2 = 'C'; | |
185 shipvals[SCOUT].s_bitmap = 0; | |
186 shipvals[SCOUT].s_width = 20; | |
187 shipvals[SCOUT].s_height = 20; | |
188 shipvals[SCOUT].s_timer = 0; | |
189 shipvals[SCOUT].s_maxnum = 32; | |
190 shipvals[SCOUT].s_rank = 0; | |
191 shipvals[SCOUT].s_numdefn = 0; | |
192 shipvals[SCOUT].s_numplan = 0; | |
193 if (configvals->warpdrive) | |
194 shipvals[SCOUT].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; | |
195 else | |
196 shipvals[SCOUT].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS; | |
197 | |
198 | |
199 /* comprehensive definition of DESTROYER */ | |
200 shipvals[DESTROYER].s_alttype = 1; | |
201 strcpy(shipvals[DESTROYER].s_name, "Destroyer"); | |
202 shipvals[DESTROYER].s_turns = 310000; | |
203 shipvals[DESTROYER].s_imp.acc = 200; | |
204 shipvals[DESTROYER].s_imp.dec = 300; | |
205 shipvals[DESTROYER].s_imp.cost = 3; | |
206 shipvals[DESTROYER].s_imp.maxspeed = 10; | |
207 shipvals[DESTROYER].s_imp.etemp = 1000; | |
208 shipvals[DESTROYER].s_after.acc = 700; | |
209 shipvals[DESTROYER].s_after.dec = 270; | |
210 shipvals[DESTROYER].s_after.cost = 100; | |
211 shipvals[DESTROYER].s_after.maxspeed = 12; | |
212 shipvals[DESTROYER].s_after.etemp = 40000; | |
213 if (configvals->bronco_shipvals) | |
214 { | |
215 shipvals[DESTROYER].s_warp.acc = 10000; | |
216 shipvals[DESTROYER].s_warp.dec = 300; | |
217 shipvals[DESTROYER].s_warp.cost = 22; | |
218 shipvals[DESTROYER].s_warp.maxspeed = 15; | |
219 shipvals[DESTROYER].s_warp.etemp = 8000; | |
220 shipvals[DESTROYER].s_warpinitcost = 1272; | |
221 shipvals[DESTROYER].s_warpinittime = 50; | |
222 shipvals[DESTROYER].s_warpprepspeed = 2; | |
223 } | |
224 else | |
225 { | |
226 shipvals[DESTROYER].s_warp.acc = 10000; | |
227 shipvals[DESTROYER].s_warp.dec = 300; | |
228 shipvals[DESTROYER].s_warp.cost = 21; /* was: 22; (BG) */ | |
229 shipvals[DESTROYER].s_warp.maxspeed = 27; /* was: 22; (BG) */ | |
230 shipvals[DESTROYER].s_warp.etemp = 8000; | |
231 shipvals[DESTROYER].s_warpinitcost = 1272; | |
232 shipvals[DESTROYER].s_warpinittime = 50; | |
233 shipvals[DESTROYER].s_warpprepspeed = 3; | |
234 } | |
235 shipvals[DESTROYER].s_mass = 1800; | |
236 shipvals[DESTROYER].s_tractstr = 2500; | |
237 shipvals[DESTROYER].s_tractrng = 0.9; | |
238 shipvals[DESTROYER].s_tractcost = 4; | |
239 shipvals[DESTROYER].s_tractetemp = 1000; | |
240 shipvals[DESTROYER].s_torp.damage = 30; | |
241 shipvals[DESTROYER].s_torp.speed = 14; | |
242 shipvals[DESTROYER].s_torp.cost = 210; | |
243 shipvals[DESTROYER].s_torp.fuse = 30; | |
244 shipvals[DESTROYER].s_torp.wtemp = 11; | |
245 shipvals[DESTROYER].s_torp.wtemp_halfarc = 32; | |
246 shipvals[DESTROYER].s_torp.wtemp_factor = 9; | |
247 shipvals[DESTROYER].s_torp.aux = 0; | |
248 shipvals[DESTROYER].s_phaser.damage = 85; | |
249 shipvals[DESTROYER].s_phaser.speed = 5100; | |
250 shipvals[DESTROYER].s_phaser.cost = 595; | |
251 shipvals[DESTROYER].s_phaser.fuse = 10; | |
252 shipvals[DESTROYER].s_phaser.wtemp = 59; | |
253 shipvals[DESTROYER].s_missile.damage = 20; | |
254 shipvals[DESTROYER].s_missile.speed = 8; | |
255 shipvals[DESTROYER].s_missile.cost = 900; | |
256 shipvals[DESTROYER].s_missile.fuse = 100; | |
257 shipvals[DESTROYER].s_missile.wtemp = 100; | |
258 shipvals[DESTROYER].s_missile.count = 2; | |
259 shipvals[DESTROYER].s_missile.aux = 2; | |
260 shipvals[DESTROYER].s_missilestored = 8; | |
261 shipvals[DESTROYER].s_plasma.damage = 75; | |
262 shipvals[DESTROYER].s_plasma.speed = 15; | |
263 shipvals[DESTROYER].s_plasma.cost = 2250; | |
264 shipvals[DESTROYER].s_plasma.fuse = 30; | |
265 shipvals[DESTROYER].s_plasma.wtemp = 217; | |
266 shipvals[DESTROYER].s_plasma.aux = 1; | |
267 shipvals[DESTROYER].s_maxwpntemp = 1000; | |
268 shipvals[DESTROYER].s_wpncoolrate = 2; | |
269 if (configvals->bronco_shipvals) | |
270 shipvals[DESTROYER].s_maxegntemp = 1000; | |
271 else | |
272 shipvals[DESTROYER].s_maxegntemp = 1500; | |
273 shipvals[DESTROYER].s_egncoolrate = 7; | |
274 shipvals[DESTROYER].s_maxfuel = 7000; | |
275 shipvals[DESTROYER].s_recharge = 22; | |
276 shipvals[DESTROYER].s_mingivefuel = 0; | |
277 shipvals[DESTROYER].s_takeonfuel = 150; | |
278 if (configvals->fuel_explosions) | |
279 { | |
280 shipvals[DESTROYER].s_expldam = 65; /* was: 50; (BG) */ | |
281 shipvals[DESTROYER].s_fueldam = 45; /* was: 50; (BG) */ | |
282 } | |
283 else | |
284 { | |
285 shipvals[DESTROYER].s_expldam = 100; | |
286 shipvals[DESTROYER].s_fueldam = 0; | |
287 } | |
288 shipvals[DESTROYER].s_armyperkill = 2; | |
289 #ifndef OLDSHIPVALS | |
290 shipvals[DESTROYER].s_maxarmies = 4; | |
291 #else | |
292 shipvals[DESTROYER].s_maxarmies = 5; | |
293 #endif | |
294 if (configvals->bronco_shipvals) | |
295 shipvals[DESTROYER].s_bomb = 10; | |
296 else | |
297 shipvals[DESTROYER].s_bomb = 5; | |
298 shipvals[DESTROYER].s_repair = 100; | |
299 shipvals[DESTROYER].s_maxdamage = 85; | |
300 shipvals[DESTROYER].s_maxshield = 85; | |
301 shipvals[DESTROYER].s_shieldcost = 3; | |
302 shipvals[DESTROYER].s_detcost = 100; | |
303 shipvals[DESTROYER].s_detdist = 1750; | |
304 if (configvals->bronco_shipvals) | |
305 { | |
306 shipvals[DESTROYER].s_cloakcost = 105; | |
307 shipvals[DESTROYER].s_scanrange = -1; | |
308 } | |
309 else | |
310 { | |
311 shipvals[DESTROYER].s_cloakcost = 75; | |
312 shipvals[DESTROYER].s_scanrange = 1000; | |
313 } | |
314 shipvals[DESTROYER].s_numports = 0; | |
315 shipvals[DESTROYER].s_letter = 'd'; | |
316 shipvals[DESTROYER].s_desig1 = 'D'; | |
317 shipvals[DESTROYER].s_desig2 = 'D'; | |
318 shipvals[DESTROYER].s_bitmap = 1; | |
319 shipvals[DESTROYER].s_width = 20; | |
320 shipvals[DESTROYER].s_height = 20; | |
321 shipvals[DESTROYER].s_timer = 0; | |
322 shipvals[DESTROYER].s_maxnum = 32; | |
323 shipvals[DESTROYER].s_rank = 0; | |
324 shipvals[DESTROYER].s_numdefn = 0; | |
325 shipvals[DESTROYER].s_numplan = 0; | |
326 if (configvals->warpdrive) | |
327 shipvals[DESTROYER].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; | |
328 else | |
329 shipvals[DESTROYER].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS; | |
330 | |
331 /* comprehensive definition of CRUISER */ | |
332 shipvals[CRUISER].s_alttype = 2; | |
333 strcpy(shipvals[CRUISER].s_name, "Cruiser"); | |
334 shipvals[CRUISER].s_turns = 170000; | |
335 shipvals[CRUISER].s_imp.acc = 150; | |
336 shipvals[CRUISER].s_imp.dec = 200; | |
337 shipvals[CRUISER].s_imp.cost = 4; | |
338 shipvals[CRUISER].s_imp.maxspeed = 9; | |
339 shipvals[CRUISER].s_imp.etemp = 1000; | |
340 shipvals[CRUISER].s_after.acc = 550; | |
341 shipvals[CRUISER].s_after.dec = 270; | |
342 shipvals[CRUISER].s_after.cost = 200; | |
343 shipvals[CRUISER].s_after.maxspeed = 11; | |
344 shipvals[CRUISER].s_after.etemp = 50000; | |
345 if (configvals->bronco_shipvals) | |
346 { | |
347 shipvals[CRUISER].s_warp.acc = 10000; | |
348 shipvals[CRUISER].s_warp.dec = 500; | |
349 shipvals[CRUISER].s_warp.cost = 25; | |
350 shipvals[CRUISER].s_warp.maxspeed = 13; | |
351 shipvals[CRUISER].s_warp.etemp = 7000; | |
352 shipvals[CRUISER].s_warpinitcost = 1818; | |
353 shipvals[CRUISER].s_warpinittime = 60; | |
354 shipvals[CRUISER].s_warpprepspeed = 1; | |
355 } | |
356 else | |
357 { | |
358 shipvals[CRUISER].s_warp.acc = 10000; | |
359 shipvals[CRUISER].s_warp.dec = 500; | |
360 shipvals[CRUISER].s_warp.cost = 24; /* was: 25; (BG) */ | |
361 shipvals[CRUISER].s_warp.maxspeed = 24; /* was: 19; (BG) */ | |
362 shipvals[CRUISER].s_warp.etemp = 7000; | |
363 shipvals[CRUISER].s_warpinitcost = 1818; | |
364 shipvals[CRUISER].s_warpinittime = 60; | |
365 shipvals[CRUISER].s_warpprepspeed = 2; | |
366 } | |
367 shipvals[CRUISER].s_mass = 2000; | |
368 shipvals[CRUISER].s_tractstr = 3000; | |
369 shipvals[CRUISER].s_tractrng = 1.0; | |
370 shipvals[CRUISER].s_tractcost = 4; | |
371 shipvals[CRUISER].s_tractetemp = 1000; | |
372 shipvals[CRUISER].s_torp.damage = 40; | |
373 shipvals[CRUISER].s_torp.speed = 12; | |
374 shipvals[CRUISER].s_torp.cost = 280; | |
375 shipvals[CRUISER].s_torp.fuse = 40; | |
376 shipvals[CRUISER].s_torp.wtemp = 18; | |
377 shipvals[CRUISER].s_torp.wtemp_halfarc = 32; | |
378 shipvals[CRUISER].s_torp.wtemp_factor = 9; | |
379 shipvals[CRUISER].s_torp.aux = 0; | |
380 shipvals[CRUISER].s_phaser.damage = 100; | |
381 #ifndef OLDSHIPVALS | |
382 shipvals[CRUISER].s_phaser.speed = 6000; | |
383 #else | |
384 shipvals[CRUISER].s_phaser.speed = 5500; | |
385 #endif | |
386 shipvals[CRUISER].s_phaser.cost = 700; | |
387 shipvals[CRUISER].s_phaser.fuse = 10; | |
388 shipvals[CRUISER].s_phaser.wtemp = 70; | |
389 shipvals[CRUISER].s_missile.damage = 25; | |
390 shipvals[CRUISER].s_missile.speed = 7; | |
391 shipvals[CRUISER].s_missile.cost = 900; | |
392 shipvals[CRUISER].s_missile.fuse = 100; | |
393 shipvals[CRUISER].s_missile.wtemp = 105; | |
394 shipvals[CRUISER].s_missile.count = 3; | |
395 shipvals[CRUISER].s_missile.aux = 2; | |
396 shipvals[CRUISER].s_missilestored = 10; | |
397 shipvals[CRUISER].s_plasma.damage = 100; | |
398 shipvals[CRUISER].s_plasma.speed = 15; | |
399 shipvals[CRUISER].s_plasma.cost = 3000; | |
400 shipvals[CRUISER].s_plasma.fuse = 35; | |
401 shipvals[CRUISER].s_plasma.wtemp = 292; | |
402 shipvals[CRUISER].s_plasma.aux = 1; | |
403 shipvals[CRUISER].s_maxwpntemp = 1000; | |
404 shipvals[CRUISER].s_wpncoolrate = 2; | |
405 if (configvals->bronco_shipvals) | |
406 shipvals[CRUISER].s_maxegntemp = 1000; | |
407 else | |
408 shipvals[CRUISER].s_maxegntemp = 1500; | |
409 shipvals[CRUISER].s_egncoolrate = 6; | |
410 shipvals[CRUISER].s_maxfuel = 10000; | |
411 shipvals[CRUISER].s_recharge = 24; | |
412 shipvals[CRUISER].s_mingivefuel = 0; | |
413 shipvals[CRUISER].s_takeonfuel = 150; | |
414 if (configvals->fuel_explosions) | |
415 { | |
416 shipvals[CRUISER].s_expldam = 75; /* was: 50; (BG) */ | |
417 shipvals[CRUISER].s_fueldam = 40; /* was: 65; (BG) */ | |
418 } | |
419 else | |
420 { | |
421 shipvals[CRUISER].s_expldam = 100; | |
422 shipvals[CRUISER].s_fueldam = 0; | |
423 } | |
424 shipvals[CRUISER].s_armyperkill = 2; | |
425 #ifndef OLDSHIPVALS | |
426 shipvals[CRUISER].s_maxarmies = 6; | |
427 #else | |
428 shipvals[CRUISER].s_maxarmies = 10; | |
429 #endif | |
430 shipvals[CRUISER].s_bomb = 10; | |
431 shipvals[CRUISER].s_repair = 110; | |
432 shipvals[CRUISER].s_maxdamage = 100; | |
433 shipvals[CRUISER].s_maxshield = 100; | |
434 shipvals[CRUISER].s_shieldcost = 4; | |
435 shipvals[CRUISER].s_detcost = 100; | |
436 shipvals[CRUISER].s_detdist = 1750; | |
437 if (configvals->bronco_shipvals) | |
438 shipvals[CRUISER].s_cloakcost = 130; | |
439 else | |
440 shipvals[CRUISER].s_cloakcost = 100; | |
441 #ifdef LONG_SCANRANGE | |
442 shipvals[CRUISER].s_scanrange = 1000; | |
443 #else | |
444 shipvals[CRUISER].s_scanrange = -1; | |
445 #endif | |
446 shipvals[CRUISER].s_numports = 0; | |
447 shipvals[CRUISER].s_letter = 'c'; | |
448 shipvals[CRUISER].s_desig1 = 'C'; | |
449 shipvals[CRUISER].s_desig2 = 'A'; | |
450 shipvals[CRUISER].s_bitmap = 2; | |
451 shipvals[CRUISER].s_width = 20; | |
452 shipvals[CRUISER].s_height = 20; | |
453 shipvals[CRUISER].s_timer = 0; | |
454 shipvals[CRUISER].s_maxnum = 32; | |
455 shipvals[CRUISER].s_rank = 0; | |
456 shipvals[CRUISER].s_numdefn = 0; | |
457 shipvals[CRUISER].s_numplan = 0; | |
458 if (configvals->warpdrive) | |
459 shipvals[CRUISER].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; | |
460 else | |
461 shipvals[CRUISER].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS; | |
462 | |
463 /* comprehensive definition of BATTLESHIP */ | |
464 shipvals[BATTLESHIP].s_alttype = 3; | |
465 strcpy(shipvals[BATTLESHIP].s_name, "Battleship"); | |
466 shipvals[BATTLESHIP].s_turns = 75000; | |
467 shipvals[BATTLESHIP].s_imp.acc = 80; | |
468 shipvals[BATTLESHIP].s_imp.dec = 180; | |
469 shipvals[BATTLESHIP].s_imp.cost = 6; | |
470 shipvals[BATTLESHIP].s_imp.maxspeed = 8; | |
471 shipvals[BATTLESHIP].s_imp.etemp = 1000; | |
472 shipvals[BATTLESHIP].s_after.acc = 500; | |
473 shipvals[BATTLESHIP].s_after.dec = 270; | |
474 shipvals[BATTLESHIP].s_after.cost = 100; | |
475 shipvals[BATTLESHIP].s_after.maxspeed = 10; | |
476 shipvals[BATTLESHIP].s_after.etemp = 50000; | |
477 if (configvals->bronco_shipvals) | |
478 { | |
479 shipvals[BATTLESHIP].s_warp.acc = 10000; | |
480 shipvals[BATTLESHIP].s_warp.dec = 500; | |
481 shipvals[BATTLESHIP].s_warp.cost = 37; | |
482 shipvals[BATTLESHIP].s_warp.maxspeed = 11; | |
483 shipvals[BATTLESHIP].s_warp.etemp = 7000; | |
484 shipvals[BATTLESHIP].s_warpinitcost = 2545; | |
485 shipvals[BATTLESHIP].s_warpinittime = 70; | |
486 shipvals[BATTLESHIP].s_warpprepspeed = 0; | |
487 } | |
488 else | |
489 { | |
490 shipvals[BATTLESHIP].s_warp.acc = 10000; | |
491 shipvals[BATTLESHIP].s_warp.dec = 500; | |
492 shipvals[BATTLESHIP].s_warp.cost = 35; /* was: 37; (BG) */ | |
493 shipvals[BATTLESHIP].s_warp.maxspeed = 21; /* was: 16; (BG) */ | |
494 shipvals[BATTLESHIP].s_warp.etemp = 7000; | |
495 shipvals[BATTLESHIP].s_warpinitcost = 2545; | |
496 shipvals[BATTLESHIP].s_warpinittime = 70; | |
497 shipvals[BATTLESHIP].s_warpprepspeed = 1; | |
498 } | |
499 shipvals[BATTLESHIP].s_mass = 2300; | |
500 shipvals[BATTLESHIP].s_tractstr = 3700; | |
501 shipvals[BATTLESHIP].s_tractrng = 1.2; | |
502 shipvals[BATTLESHIP].s_tractcost = 4; | |
503 shipvals[BATTLESHIP].s_tractetemp = 1000; | |
504 shipvals[BATTLESHIP].s_torp.damage = 40; | |
505 shipvals[BATTLESHIP].s_torp.speed = 12; | |
506 shipvals[BATTLESHIP].s_torp.cost = 300; | |
507 shipvals[BATTLESHIP].s_torp.fuse = 40; | |
508 shipvals[BATTLESHIP].s_torp.wtemp = 20; | |
509 shipvals[BATTLESHIP].s_torp.wtemp_halfarc = 32; | |
510 shipvals[BATTLESHIP].s_torp.wtemp_factor = 9; | |
511 shipvals[BATTLESHIP].s_torp.aux = 0; | |
512 shipvals[BATTLESHIP].s_phaser.damage = 105; | |
513 #ifndef OLDSHIPVALS | |
514 shipvals[BATTLESHIP].s_phaser.speed = 6300; | |
515 shipvals[BATTLESHIP].s_phaser.cost = 945; | |
516 #else | |
517 shipvals[BATTLESHIP].s_phaser.speed = 6000; | |
518 shipvals[BATTLESHIP].s_phaser.cost = 900; | |
519 #endif | |
520 shipvals[BATTLESHIP].s_phaser.fuse = 10; | |
521 shipvals[BATTLESHIP].s_phaser.wtemp = 94; | |
522 shipvals[BATTLESHIP].s_missile.damage = 30; | |
523 shipvals[BATTLESHIP].s_missile.speed = 5; | |
524 shipvals[BATTLESHIP].s_missile.cost = 900; | |
525 shipvals[BATTLESHIP].s_missile.fuse = 100; | |
526 shipvals[BATTLESHIP].s_missile.wtemp = 100; | |
527 shipvals[BATTLESHIP].s_missile.count = 4; | |
528 shipvals[BATTLESHIP].s_missile.aux = 3; | |
529 shipvals[BATTLESHIP].s_missilestored = 12; | |
530 shipvals[BATTLESHIP].s_plasma.damage = 130; | |
531 shipvals[BATTLESHIP].s_plasma.speed = 15; | |
532 shipvals[BATTLESHIP].s_plasma.cost = 3900; | |
533 shipvals[BATTLESHIP].s_plasma.fuse = 35; | |
534 shipvals[BATTLESHIP].s_plasma.wtemp = 382; | |
535 shipvals[BATTLESHIP].s_plasma.aux = 1; | |
536 shipvals[BATTLESHIP].s_maxwpntemp = 1000; | |
537 shipvals[BATTLESHIP].s_wpncoolrate = 3; | |
538 if (configvals->bronco_shipvals) | |
539 shipvals[BATTLESHIP].s_maxegntemp = 1000; | |
540 else | |
541 shipvals[BATTLESHIP].s_maxegntemp = 1500; | |
542 shipvals[BATTLESHIP].s_egncoolrate = 6; | |
543 shipvals[BATTLESHIP].s_maxfuel = 14000; | |
544 shipvals[BATTLESHIP].s_recharge = 28; | |
545 shipvals[BATTLESHIP].s_mingivefuel = 0; | |
546 shipvals[BATTLESHIP].s_takeonfuel = 150; | |
547 if (configvals->fuel_explosions) | |
548 { | |
549 shipvals[BATTLESHIP].s_expldam = 85; /* was: 50; (BG) */ | |
550 shipvals[BATTLESHIP].s_fueldam = 35; /* was: 85; (BG) */ | |
551 } | |
552 else | |
553 { | |
554 shipvals[BATTLESHIP].s_expldam = 10; | |
555 shipvals[BATTLESHIP].s_fueldam = 0; | |
556 } | |
557 shipvals[BATTLESHIP].s_armyperkill = 2; | |
558 shipvals[BATTLESHIP].s_maxarmies = 6; | |
559 shipvals[BATTLESHIP].s_bomb = 20; | |
560 shipvals[BATTLESHIP].s_repair = 125; | |
561 shipvals[BATTLESHIP].s_maxdamage = 130; | |
562 shipvals[BATTLESHIP].s_maxshield = 130; | |
563 shipvals[BATTLESHIP].s_shieldcost = 5; | |
564 shipvals[BATTLESHIP].s_detcost = 100; | |
565 shipvals[BATTLESHIP].s_detdist = 1750; | |
566 shipvals[BATTLESHIP].s_cloakcost = 150; | |
567 #ifdef LONG_SCANRANGE | |
568 shipvals[BATTLESHIP].s_scanrange = 1000; | |
569 #else | |
570 shipvals[BATTLESHIP].s_scanrange = -1; | |
571 #endif | |
572 shipvals[BATTLESHIP].s_numports = 0; | |
573 shipvals[BATTLESHIP].s_letter = 'b'; | |
574 shipvals[BATTLESHIP].s_desig1 = 'B'; | |
575 shipvals[BATTLESHIP].s_desig2 = 'B'; | |
576 shipvals[BATTLESHIP].s_bitmap = 3; | |
577 shipvals[BATTLESHIP].s_width = 20; | |
578 shipvals[BATTLESHIP].s_height = 20; | |
579 shipvals[BATTLESHIP].s_timer = 0; | |
580 shipvals[BATTLESHIP].s_maxnum = 32; | |
581 shipvals[BATTLESHIP].s_rank = 0; | |
582 shipvals[BATTLESHIP].s_numdefn = 0; | |
583 shipvals[BATTLESHIP].s_numplan = 0; | |
584 shipvals[BATTLESHIP].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; | |
585 | |
586 /* comprehensive definition of ASSAULT */ | |
587 shipvals[ASSAULT].s_alttype = 4; | |
588 strcpy(shipvals[ASSAULT].s_name, "Assault"); | |
589 shipvals[ASSAULT].s_turns = 120000; | |
590 shipvals[ASSAULT].s_imp.acc = 100; | |
591 shipvals[ASSAULT].s_imp.dec = 200; | |
592 if (configvals->bronco_shipvals) | |
593 shipvals[ASSAULT].s_imp.cost = 3; | |
594 else | |
595 shipvals[ASSAULT].s_imp.cost = 4; | |
596 shipvals[ASSAULT].s_imp.maxspeed = 8; | |
597 shipvals[ASSAULT].s_imp.etemp = 1000; | |
598 shipvals[ASSAULT].s_after.acc = 550; | |
599 shipvals[ASSAULT].s_after.dec = 270; | |
600 shipvals[ASSAULT].s_after.cost = 25; | |
601 shipvals[ASSAULT].s_after.maxspeed = 10; | |
602 shipvals[ASSAULT].s_after.etemp = 50000; | |
603 if (configvals->bronco_shipvals) | |
604 { | |
605 shipvals[ASSAULT].s_warp.acc = 10000; | |
606 shipvals[ASSAULT].s_warp.dec = 5000; | |
607 shipvals[ASSAULT].s_warp.cost = 20; | |
608 shipvals[ASSAULT].s_warp.maxspeed = 12; | |
609 shipvals[ASSAULT].s_warp.etemp = 6500; | |
610 shipvals[ASSAULT].s_warpinitcost = 1000; | |
611 shipvals[ASSAULT].s_warpinittime = 80; | |
612 shipvals[ASSAULT].s_warpprepspeed = 0; | |
613 } | |
614 else | |
615 { | |
616 shipvals[ASSAULT].s_warp.acc = 10000; | |
617 shipvals[ASSAULT].s_warp.dec = 5000; | |
618 shipvals[ASSAULT].s_warp.cost = 20; | |
619 shipvals[ASSAULT].s_warp.maxspeed = 23; /* was: 18; (BG) */ | |
620 shipvals[ASSAULT].s_warp.etemp = 6500; | |
621 shipvals[ASSAULT].s_warpinitcost = 1000; | |
622 shipvals[ASSAULT].s_warpinittime = 80; | |
623 shipvals[ASSAULT].s_warpprepspeed = 1; | |
624 } | |
625 shipvals[ASSAULT].s_mass = 2300; | |
626 shipvals[ASSAULT].s_tractstr = 2500; | |
627 shipvals[ASSAULT].s_tractrng = 0.7; | |
628 shipvals[ASSAULT].s_tractcost = 3; | |
629 shipvals[ASSAULT].s_tractetemp = 1000; | |
630 shipvals[ASSAULT].s_torp.damage = 30; | |
631 shipvals[ASSAULT].s_torp.speed = 16; | |
632 shipvals[ASSAULT].s_torp.cost = 270; | |
633 shipvals[ASSAULT].s_torp.fuse = 30; | |
634 shipvals[ASSAULT].s_torp.wtemp = 17; | |
635 shipvals[ASSAULT].s_torp.wtemp_halfarc = 32; | |
636 shipvals[ASSAULT].s_torp.wtemp_factor = 9; | |
637 shipvals[ASSAULT].s_torp.aux = 0; | |
638 shipvals[ASSAULT].s_phaser.damage = 80; | |
639 shipvals[ASSAULT].s_phaser.speed = 4800; | |
640 shipvals[ASSAULT].s_phaser.cost = 560; | |
641 shipvals[ASSAULT].s_phaser.fuse = 10; | |
642 shipvals[ASSAULT].s_phaser.wtemp = 56; | |
643 shipvals[ASSAULT].s_missile.damage = 0; | |
644 shipvals[ASSAULT].s_missile.speed = 0; | |
645 shipvals[ASSAULT].s_missile.cost = 0; | |
646 shipvals[ASSAULT].s_missile.fuse = 0; | |
647 shipvals[ASSAULT].s_missile.wtemp = 0; | |
648 shipvals[ASSAULT].s_missile.count = 0; | |
649 shipvals[ASSAULT].s_missile.aux = 0; | |
650 shipvals[ASSAULT].s_missilestored = 0; | |
651 shipvals[ASSAULT].s_plasma.damage = -1; | |
652 shipvals[ASSAULT].s_plasma.speed = 0; | |
653 shipvals[ASSAULT].s_plasma.cost = 0; | |
654 shipvals[ASSAULT].s_plasma.fuse = 0; | |
655 shipvals[ASSAULT].s_plasma.wtemp = 5; | |
656 shipvals[ASSAULT].s_plasma.aux = 0; | |
657 shipvals[ASSAULT].s_maxwpntemp = 1000; | |
658 shipvals[ASSAULT].s_wpncoolrate = 2; | |
659 if (configvals->bronco_shipvals) | |
660 shipvals[ASSAULT].s_maxegntemp = 1000; | |
661 else | |
662 shipvals[ASSAULT].s_maxegntemp = 1700; | |
663 shipvals[ASSAULT].s_egncoolrate = 6; | |
664 shipvals[ASSAULT].s_maxfuel = 6000; | |
665 if (configvals->bronco_shipvals) | |
666 shipvals[ASSAULT].s_recharge = 20; | |
667 else | |
668 shipvals[ASSAULT].s_recharge = 24; | |
669 shipvals[ASSAULT].s_mingivefuel = 0; | |
670 shipvals[ASSAULT].s_takeonfuel = 150; | |
671 if (configvals->fuel_explosions) | |
672 { | |
673 shipvals[ASSAULT].s_expldam = 70; /* was: 50; (BG) */ | |
674 shipvals[ASSAULT].s_fueldam = 40; /* was: 45; (BG) */ | |
675 } | |
676 else | |
677 { | |
678 shipvals[ASSAULT].s_expldam = 100; | |
679 shipvals[ASSAULT].s_fueldam = 0; | |
680 } | |
681 shipvals[ASSAULT].s_armyperkill = 3; | |
682 shipvals[ASSAULT].s_maxarmies = 20; | |
683 if (configvals->bronco_shipvals) | |
684 shipvals[ASSAULT].s_bomb = 25; | |
685 else | |
686 shipvals[ASSAULT].s_bomb = 50; | |
687 shipvals[ASSAULT].s_repair = 120; | |
688 shipvals[ASSAULT].s_maxdamage = 200; | |
689 shipvals[ASSAULT].s_maxshield = 80; | |
690 shipvals[ASSAULT].s_shieldcost = 3; | |
691 shipvals[ASSAULT].s_detcost = 100; | |
692 shipvals[ASSAULT].s_detdist = 1750; | |
693 if (configvals->bronco_shipvals) | |
694 shipvals[ASSAULT].s_cloakcost = 85; | |
695 else | |
696 shipvals[ASSAULT].s_cloakcost = 80; | |
697 #ifdef LONG_SCANRANGE | |
698 shipvals[ASSAULT].s_scanrange = 1000; | |
699 #else | |
700 shipvals[ASSAULT].s_scanrange = -1; | |
701 #endif | |
702 shipvals[ASSAULT].s_numports = 0; | |
703 shipvals[ASSAULT].s_letter = 'a'; | |
704 shipvals[ASSAULT].s_desig1 = 'A'; | |
705 shipvals[ASSAULT].s_desig2 = 'S'; | |
706 shipvals[ASSAULT].s_bitmap = 4; | |
707 shipvals[ASSAULT].s_width = 20; | |
708 shipvals[ASSAULT].s_height = 20; | |
709 shipvals[ASSAULT].s_timer = 0; | |
710 shipvals[ASSAULT].s_maxnum = 32; | |
711 shipvals[ASSAULT].s_rank = 0; | |
712 shipvals[ASSAULT].s_numdefn = 0; | |
713 shipvals[ASSAULT].s_numplan = 0; | |
714 if (configvals->warpdrive) | |
715 shipvals[ASSAULT].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; | |
716 else | |
717 shipvals[ASSAULT].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS; | |
718 | |
719 /* comprehensive definition of STARBASE */ | |
720 shipvals[STARBASE].s_alttype = 5; | |
721 strcpy(shipvals[STARBASE].s_name, "Starbase"); | |
722 shipvals[STARBASE].s_turns = 50000; | |
723 shipvals[STARBASE].s_imp.acc = 100; | |
724 shipvals[STARBASE].s_imp.dec = 200; | |
725 if (configvals->bronco_shipvals) | |
726 shipvals[STARBASE].s_imp.cost = 10; | |
727 else | |
728 shipvals[STARBASE].s_imp.cost = 4; | |
729 #ifdef BEEFY_BASES | |
730 shipvals[STARBASE].s_imp.maxspeed = 3; | |
731 #else | |
732 shipvals[STARBASE].s_imp.maxspeed = 2; | |
733 #endif | |
734 shipvals[STARBASE].s_imp.etemp = 1000; | |
735 shipvals[STARBASE].s_after.acc = 100; | |
736 shipvals[STARBASE].s_after.dec = 100; | |
737 shipvals[STARBASE].s_after.cost = 40; | |
738 shipvals[STARBASE].s_after.maxspeed = 5; | |
739 shipvals[STARBASE].s_after.etemp = 30000; | |
740 if (configvals->bronco_shipvals) | |
741 { | |
742 shipvals[STARBASE].s_warp.acc = 100; | |
743 shipvals[STARBASE].s_warp.dec = 100; | |
744 shipvals[STARBASE].s_warp.cost = 20; | |
745 shipvals[STARBASE].s_warp.maxspeed = 4; | |
746 shipvals[STARBASE].s_warp.etemp = 1500; | |
747 shipvals[STARBASE].s_warpinitcost = 10909; | |
748 shipvals[STARBASE].s_warpinittime = 100; | |
749 shipvals[STARBASE].s_warpprepspeed = 1; | |
750 } | |
751 else | |
752 { | |
753 shipvals[STARBASE].s_warp.acc = 100; | |
754 shipvals[STARBASE].s_warp.dec = 100; | |
755 shipvals[STARBASE].s_warp.cost = 20; | |
756 shipvals[STARBASE].s_warp.maxspeed = 6; | |
757 shipvals[STARBASE].s_warp.etemp = 1500; | |
758 shipvals[STARBASE].s_warpinitcost = 10909; | |
759 shipvals[STARBASE].s_warpinittime = 100; | |
760 shipvals[STARBASE].s_warpprepspeed = 2; | |
761 } | |
762 shipvals[STARBASE].s_mass = 5000; | |
763 shipvals[STARBASE].s_tractstr = 8000; | |
764 shipvals[STARBASE].s_tractrng = 1.5; | |
765 shipvals[STARBASE].s_tractcost = 10; | |
766 shipvals[STARBASE].s_tractetemp = 3000; | |
767 shipvals[STARBASE].s_torp.damage = 30; | |
768 shipvals[STARBASE].s_torp.speed = 14; | |
769 shipvals[STARBASE].s_torp.cost = 300; | |
770 if (configvals->bronco_shipvals) | |
771 shipvals[STARBASE].s_torp.fuse = 30; | |
772 else | |
773 shipvals[STARBASE].s_torp.fuse = 45; | |
774 shipvals[STARBASE].s_torp.wtemp = 20; | |
775 shipvals[STARBASE].s_torp.wtemp_halfarc = 0; | |
776 shipvals[STARBASE].s_torp.wtemp_factor = 0; | |
777 shipvals[STARBASE].s_torp.aux = 0; | |
778 shipvals[STARBASE].s_phaser.damage = 120; | |
779 #ifndef OLDSHIPVALS | |
780 shipvals[STARBASE].s_phaser.speed = 7200; | |
781 shipvals[STARBASE].s_phaser.wtemp = 96; | |
782 #else | |
783 shipvals[STARBASE].s_phaser.speed = 6500; | |
784 shipvals[STARBASE].s_phaser.wtemp = 66; | |
785 #endif | |
786 shipvals[STARBASE].s_phaser.cost = 960; | |
787 shipvals[STARBASE].s_phaser.fuse = 4; | |
788 shipvals[STARBASE].s_missile.damage = 40; | |
789 shipvals[STARBASE].s_missile.speed = 14; | |
790 shipvals[STARBASE].s_missile.cost = 2000; | |
791 shipvals[STARBASE].s_missile.fuse = 100; | |
792 shipvals[STARBASE].s_missile.wtemp = 120; | |
793 shipvals[STARBASE].s_missile.count = 4; | |
794 shipvals[STARBASE].s_missile.aux = 2; | |
795 shipvals[STARBASE].s_missilestored = -1; | |
796 shipvals[STARBASE].s_plasma.damage = 150; | |
797 shipvals[STARBASE].s_plasma.speed = 15; | |
798 shipvals[STARBASE].s_plasma.cost = 3750; | |
799 if (configvals->bronco_shipvals) | |
800 shipvals[STARBASE].s_plasma.fuse = 25; | |
801 else | |
802 shipvals[STARBASE].s_plasma.fuse = 40; | |
803 shipvals[STARBASE].s_plasma.wtemp = 367; | |
804 shipvals[STARBASE].s_plasma.aux = 1; | |
805 shipvals[STARBASE].s_maxwpntemp = 1300; | |
806 #ifdef BEEFY_BASES | |
807 shipvals[STARBASE].s_wpncoolrate = 7; | |
808 #else | |
809 shipvals[STARBASE].s_wpncoolrate = 4; | |
810 #endif | |
811 if (configvals->bronco_shipvals) | |
812 shipvals[STARBASE].s_maxegntemp = 1000; | |
813 else | |
814 shipvals[STARBASE].s_maxegntemp = 1300; | |
815 shipvals[STARBASE].s_egncoolrate = 10; | |
816 shipvals[STARBASE].s_maxfuel = 60000; | |
817 #ifdef BEEFY_BASES | |
818 shipvals[STARBASE].s_recharge = 90; | |
819 #else | |
820 shipvals[STARBASE].s_recharge = 70; | |
821 #endif | |
822 shipvals[STARBASE].s_mingivefuel = 10000; | |
823 shipvals[STARBASE].s_takeonfuel = 150; | |
824 if (configvals->fuel_explosions) | |
825 { | |
826 shipvals[STARBASE].s_expldam = 150; /* was: 100; (BG) */ | |
827 shipvals[STARBASE].s_fueldam = 100; | |
828 } | |
829 else | |
830 { | |
831 shipvals[STARBASE].s_expldam = 200; | |
832 shipvals[STARBASE].s_fueldam = 0; | |
833 } | |
834 shipvals[STARBASE].s_armyperkill = 5; | |
835 shipvals[STARBASE].s_maxarmies = 25; | |
836 shipvals[STARBASE].s_bomb = 50; | |
837 shipvals[STARBASE].s_repair = 170; /* was: 140; (BG) */ | |
838 shipvals[STARBASE].s_maxdamage = 600; | |
839 shipvals[STARBASE].s_maxshield = 500; | |
840 shipvals[STARBASE].s_shieldcost = 10; | |
841 shipvals[STARBASE].s_detcost = 100; | |
842 shipvals[STARBASE].s_detdist = 1800; | |
843 if (configvals->bronco_shipvals) | |
844 { | |
845 shipvals[STARBASE].s_cloakcost = 375; | |
846 shipvals[STARBASE].s_scanrange = -1; | |
847 shipvals[STARBASE].s_numports = 4; | |
848 } | |
849 else | |
850 { | |
851 shipvals[STARBASE].s_cloakcost = 750; | |
852 #ifdef LONG_SCANRANGE | |
853 shipvals[STARBASE].s_scanrange = 10000; | |
854 #else | |
855 shipvals[STARBASE].s_scanrange = 5000; | |
856 #endif | |
857 shipvals[STARBASE].s_numports = 6; | |
858 } | |
859 shipvals[STARBASE].s_letter = 'o'; | |
860 shipvals[STARBASE].s_desig1 = 'S'; | |
861 shipvals[STARBASE].s_desig2 = 'B'; | |
862 shipvals[STARBASE].s_bitmap = 5; | |
863 shipvals[STARBASE].s_width = 20; | |
864 shipvals[STARBASE].s_height = 20; | |
865 shipvals[STARBASE].s_timer = 30; | |
866 shipvals[STARBASE].s_maxnum = 1; | |
867 shipvals[STARBASE].s_rank = 4; | |
868 shipvals[STARBASE].s_numdefn = 4; | |
869 if (configvals->bronco_shipvals) | |
870 shipvals[STARBASE].s_numplan = 5; | |
871 else | |
872 shipvals[STARBASE].s_numplan = 7; | |
873 if (configvals->warpdrive) | |
874 shipvals[STARBASE].s_nflags = SFNCANWARP | SFNCANFUEL | SFNCANREPAIR | SFNCANREFIT | SFNHASPHASERS | SFNPLASMASTYLE | SFNPLASMAARMED | SFNHASMISSILE; | |
875 else | |
876 shipvals[STARBASE].s_nflags = SFNCANFUEL | SFNCANREPAIR | SFNCANREFIT | SFNHASPHASERS | SFNPLASMASTYLE | SFNPLASMAARMED | SFNHASMISSILE; | |
877 /* comprehensive definition of ATT */ | |
878 shipvals[ATT].s_alttype = 6; | |
879 strcpy(shipvals[ATT].s_name, "AT&T"); | |
880 shipvals[ATT].s_turns = 1000000; | |
881 shipvals[ATT].s_imp.acc = 10000; | |
882 shipvals[ATT].s_imp.dec = 9000; | |
883 shipvals[ATT].s_imp.cost = 1; | |
884 shipvals[ATT].s_imp.maxspeed = 90; | |
885 shipvals[ATT].s_imp.etemp = 0; | |
886 shipvals[ATT].s_after.acc = 550; | |
887 shipvals[ATT].s_after.dec = 270; | |
888 shipvals[ATT].s_after.cost = 1; | |
889 shipvals[ATT].s_after.maxspeed = 99; | |
890 shipvals[ATT].s_after.etemp = 5; | |
891 shipvals[ATT].s_warp.acc = 32000; | |
892 shipvals[ATT].s_warp.dec = 32000; | |
893 shipvals[ATT].s_warp.cost = 1; | |
894 shipvals[ATT].s_warp.maxspeed = 99; | |
895 shipvals[ATT].s_warp.etemp = 1; | |
896 shipvals[ATT].s_warpinitcost = 1; | |
897 shipvals[ATT].s_warpinittime = 1; | |
898 shipvals[ATT].s_warpprepspeed = 0; | |
899 shipvals[ATT].s_mass = 6000; | |
900 shipvals[ATT].s_tractstr = 32000; | |
901 shipvals[ATT].s_tractrng = 3; | |
902 shipvals[ATT].s_tractcost = 1; | |
903 shipvals[ATT].s_tractetemp = 3; | |
904 shipvals[ATT].s_torp.damage = 40; | |
905 shipvals[ATT].s_torp.speed = 20; | |
906 shipvals[ATT].s_torp.cost = 1; | |
907 shipvals[ATT].s_torp.fuse = 20; | |
908 shipvals[ATT].s_torp.wtemp = 1; | |
909 shipvals[ATT].s_torp.wtemp_halfarc = 0; | |
910 shipvals[ATT].s_torp.wtemp_factor = 0; | |
911 shipvals[ATT].s_torp.aux = 1; | |
912 shipvals[ATT].s_phaser.damage = 110; | |
913 shipvals[ATT].s_phaser.speed = 32000; | |
914 shipvals[ATT].s_phaser.cost = 1; | |
915 shipvals[ATT].s_phaser.fuse = 5; | |
916 shipvals[ATT].s_phaser.wtemp = 5; | |
917 shipvals[ATT].s_missile.damage = 0; | |
918 shipvals[ATT].s_missile.speed = 0; | |
919 shipvals[ATT].s_missile.cost = 0; | |
920 shipvals[ATT].s_missile.fuse = 0; | |
921 shipvals[ATT].s_missile.wtemp = 0; | |
922 shipvals[ATT].s_missile.count = 0; | |
923 shipvals[ATT].s_missile.aux = 0; | |
924 shipvals[ATT].s_missilestored = 0; | |
925 shipvals[ATT].s_plasma.damage = 150; | |
926 shipvals[ATT].s_plasma.speed = 15; | |
927 shipvals[ATT].s_plasma.cost = 1; | |
928 shipvals[ATT].s_plasma.fuse = 20; | |
929 shipvals[ATT].s_plasma.wtemp = 5; | |
930 shipvals[ATT].s_plasma.aux = 2; | |
931 shipvals[ATT].s_maxwpntemp = 10000; | |
932 shipvals[ATT].s_wpncoolrate = 100; | |
933 shipvals[ATT].s_maxegntemp = 10000; | |
934 shipvals[ATT].s_egncoolrate = 100; | |
935 shipvals[ATT].s_maxfuel = 60000; | |
936 shipvals[ATT].s_recharge = 1000; | |
937 shipvals[ATT].s_mingivefuel = 0; | |
938 shipvals[ATT].s_takeonfuel = 150; | |
939 shipvals[ATT].s_expldam = 500; | |
940 shipvals[ATT].s_fueldam = 500; | |
941 shipvals[ATT].s_armyperkill = 1.5; | |
942 shipvals[ATT].s_maxarmies = 1000; | |
943 shipvals[ATT].s_bomb = -2100; | |
944 shipvals[ATT].s_repair = 30000; | |
945 shipvals[ATT].s_maxdamage = 30000; | |
946 shipvals[ATT].s_maxshield = 30000; | |
947 shipvals[ATT].s_shieldcost = 1; | |
948 shipvals[ATT].s_detcost = 1; | |
949 shipvals[ATT].s_detdist = 3000; | |
950 shipvals[ATT].s_cloakcost = 1; | |
951 shipvals[ATT].s_scanrange = 10000; | |
952 shipvals[ATT].s_numports = 0; | |
953 shipvals[ATT].s_letter = '.'; | |
954 shipvals[ATT].s_desig1 = 'A'; | |
955 shipvals[ATT].s_desig2 = 'T'; | |
956 shipvals[ATT].s_bitmap = 6; | |
957 shipvals[ATT].s_width = 28; | |
958 shipvals[ATT].s_height = 28; | |
959 shipvals[ATT].s_timer = 5; | |
960 shipvals[ATT].s_maxnum = 32; | |
961 shipvals[ATT].s_rank = 0; | |
962 shipvals[ATT].s_numdefn = 0; | |
963 shipvals[ATT].s_numplan = 0; | |
964 shipvals[ATT].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS | SFNPLASMASTYLE | SFNPLASMAARMED; | |
965 | |
966 /* comprehensive definition of JUMPSHIP */ | |
967 shipvals[JUMPSHIP].s_alttype = 5; | |
968 strcpy(shipvals[JUMPSHIP].s_name, "Jumpship"); | |
969 shipvals[JUMPSHIP].s_turns = 700000; | |
970 if (configvals->bronco_shipvals) | |
971 { | |
972 shipvals[JUMPSHIP].s_imp.acc = 1000; | |
973 shipvals[JUMPSHIP].s_imp.dec = 500; | |
974 } | |
975 else | |
976 { | |
977 shipvals[JUMPSHIP].s_imp.acc = 2000; | |
978 shipvals[JUMPSHIP].s_imp.dec = 1000; | |
979 } | |
980 shipvals[JUMPSHIP].s_imp.cost = 1; | |
981 shipvals[JUMPSHIP].s_imp.maxspeed = 20; | |
982 shipvals[JUMPSHIP].s_imp.etemp = 1000; | |
983 shipvals[JUMPSHIP].s_after.acc = 2000; | |
984 shipvals[JUMPSHIP].s_after.dec = 2000; | |
985 #ifndef OLDSHIPVALS | |
986 shipvals[JUMPSHIP].s_after.maxspeed = 30; | |
987 shipvals[JUMPSHIP].s_after.etemp = 200000; | |
988 shipvals[JUMPSHIP].s_after.cost = 1000; | |
989 shipvals[JUMPSHIP].s_warp.cost = 200; | |
990 #else | |
991 shipvals[JUMPSHIP].s_after.maxspeed = 60; | |
992 shipvals[JUMPSHIP].s_after.etemp = 90000; | |
993 shipvals[JUMPSHIP].s_after.cost = 15; | |
994 shipvals[JUMPSHIP].s_warp.cost = 2; | |
995 #endif | |
996 shipvals[JUMPSHIP].s_warp.acc = 2000; | |
997 shipvals[JUMPSHIP].s_warp.dec = 3000; | |
998 if (configvals->bronco_shipvals) | |
999 shipvals[JUMPSHIP].s_warp.maxspeed = 32; | |
1000 else | |
1001 shipvals[JUMPSHIP].s_warp.maxspeed = 45; | |
1002 shipvals[JUMPSHIP].s_warp.etemp = 500; | |
1003 shipvals[JUMPSHIP].s_warpinitcost = 1; | |
1004 shipvals[JUMPSHIP].s_warpinittime = 7; | |
1005 shipvals[JUMPSHIP].s_warpprepspeed = 2; | |
1006 shipvals[JUMPSHIP].s_mass = 10000; | |
1007 shipvals[JUMPSHIP].s_tractstr = 5000; | |
1008 shipvals[JUMPSHIP].s_tractrng = 1.5; | |
1009 #ifndef OLDSHIPVALS | |
1010 shipvals[JUMPSHIP].s_tractcost = 8; | |
1011 #else | |
1012 shipvals[JUMPSHIP].s_tractcost = 3; | |
1013 #endif | |
1014 shipvals[JUMPSHIP].s_tractetemp = 5000; | |
1015 shipvals[JUMPSHIP].s_torp.damage = 5; | |
1016 shipvals[JUMPSHIP].s_torp.speed = 18; | |
1017 shipvals[JUMPSHIP].s_torp.cost = 1000; | |
1018 shipvals[JUMPSHIP].s_torp.fuse = 10; | |
1019 shipvals[JUMPSHIP].s_torp.wtemp = 99; | |
1020 shipvals[JUMPSHIP].s_torp.wtemp_halfarc = 32; | |
1021 shipvals[JUMPSHIP].s_torp.wtemp_factor = 9; | |
1022 shipvals[JUMPSHIP].s_torp.aux = 0; | |
1023 shipvals[JUMPSHIP].s_phaser.damage = 25; | |
1024 shipvals[JUMPSHIP].s_phaser.speed = 3000; | |
1025 shipvals[JUMPSHIP].s_phaser.cost = 500; | |
1026 shipvals[JUMPSHIP].s_phaser.fuse = 4; | |
1027 shipvals[JUMPSHIP].s_phaser.wtemp = 5; | |
1028 shipvals[JUMPSHIP].s_missile.damage = 0; | |
1029 shipvals[JUMPSHIP].s_missile.speed = 0; | |
1030 shipvals[JUMPSHIP].s_missile.cost = 0; | |
1031 shipvals[JUMPSHIP].s_missile.fuse = 0; | |
1032 shipvals[JUMPSHIP].s_missile.wtemp = 0; | |
1033 shipvals[JUMPSHIP].s_missile.count = 0; | |
1034 shipvals[JUMPSHIP].s_missile.aux = 0; | |
1035 shipvals[JUMPSHIP].s_missilestored = 0; | |
1036 shipvals[JUMPSHIP].s_plasma.damage = -1; | |
1037 shipvals[JUMPSHIP].s_plasma.speed = 15; | |
1038 shipvals[JUMPSHIP].s_plasma.cost = 0; | |
1039 shipvals[JUMPSHIP].s_plasma.fuse = 25; | |
1040 shipvals[JUMPSHIP].s_plasma.wtemp = 5; | |
1041 shipvals[JUMPSHIP].s_plasma.aux = 1; | |
1042 shipvals[JUMPSHIP].s_maxwpntemp = 1300; | |
1043 shipvals[JUMPSHIP].s_wpncoolrate = 4; | |
1044 shipvals[JUMPSHIP].s_maxegntemp = 5000; | |
1045 shipvals[JUMPSHIP].s_egncoolrate = 34; | |
1046 shipvals[JUMPSHIP].s_maxfuel = 50000; | |
1047 shipvals[JUMPSHIP].s_recharge = 200; | |
1048 shipvals[JUMPSHIP].s_mingivefuel = 10000; | |
1049 shipvals[JUMPSHIP].s_takeonfuel = 150; | |
1050 if (configvals->fuel_explosions) | |
1051 { | |
1052 shipvals[JUMPSHIP].s_expldam = 25; /* was: 30; */ | |
1053 shipvals[JUMPSHIP].s_fueldam = 175; /* was: 160; */ | |
1054 } | |
1055 else | |
1056 { | |
1057 shipvals[JUMPSHIP].s_expldam = 150; | |
1058 shipvals[JUMPSHIP].s_fueldam = 0; | |
1059 } | |
1060 shipvals[JUMPSHIP].s_armyperkill = 0; | |
1061 shipvals[JUMPSHIP].s_maxarmies = 0; | |
1062 shipvals[JUMPSHIP].s_bomb = 30; | |
1063 shipvals[JUMPSHIP].s_repair = 200; | |
1064 shipvals[JUMPSHIP].s_maxdamage = 60; | |
1065 shipvals[JUMPSHIP].s_maxshield = 5; | |
1066 shipvals[JUMPSHIP].s_shieldcost = 5; | |
1067 shipvals[JUMPSHIP].s_detcost = 100; | |
1068 shipvals[JUMPSHIP].s_detdist = 1750; | |
1069 shipvals[JUMPSHIP].s_cloakcost = 1000; | |
1070 shipvals[JUMPSHIP].s_scanrange = -1; | |
1071 shipvals[JUMPSHIP].s_numports = 4; | |
1072 shipvals[JUMPSHIP].s_letter = 'j'; | |
1073 shipvals[JUMPSHIP].s_desig1 = 'J'; | |
1074 shipvals[JUMPSHIP].s_desig2 = 'S'; | |
1075 shipvals[JUMPSHIP].s_bitmap = 7; | |
1076 shipvals[JUMPSHIP].s_width = 20; | |
1077 shipvals[JUMPSHIP].s_height = 20; | |
1078 shipvals[JUMPSHIP].s_timer = 5; | |
1079 shipvals[JUMPSHIP].s_maxnum = 1; | |
1080 shipvals[JUMPSHIP].s_rank = 3; | |
1081 shipvals[JUMPSHIP].s_numdefn = 3; | |
1082 shipvals[JUMPSHIP].s_numplan = 0; | |
1083 /* UFL says jumpships shouldn't refit. */ | |
1084 if (configvals->warpdrive) | |
1085 shipvals[JUMPSHIP].s_nflags = SFNCANWARP | SFNCANFUEL | SFNHASPHASERS | SFNCANREFIT; | |
1086 else | |
1087 shipvals[JUMPSHIP].s_nflags = SFNCANFUEL | SFNHASPHASERS | SFNCANREFIT; | |
1088 | |
1089 /* comprehensive definition of FRIGATE */ | |
1090 shipvals[FRIGATE].s_alttype = 4; | |
1091 strcpy(shipvals[FRIGATE].s_name, "Frigate"); | |
1092 shipvals[FRIGATE].s_turns = 122500; | |
1093 shipvals[FRIGATE].s_imp.acc = 115; | |
1094 shipvals[FRIGATE].s_imp.dec = 190; | |
1095 shipvals[FRIGATE].s_imp.cost = 5; | |
1096 shipvals[FRIGATE].s_imp.maxspeed = 9; | |
1097 shipvals[FRIGATE].s_imp.etemp = 1000; | |
1098 shipvals[FRIGATE].s_after.acc = 525; | |
1099 shipvals[FRIGATE].s_after.dec = 270; | |
1100 shipvals[FRIGATE].s_after.cost = 150; | |
1101 shipvals[FRIGATE].s_after.maxspeed = 10; | |
1102 shipvals[FRIGATE].s_after.etemp = 50000; | |
1103 shipvals[FRIGATE].s_warp.acc = 10000; | |
1104 shipvals[FRIGATE].s_warp.dec = 500; | |
1105 shipvals[FRIGATE].s_warp.cost = 30; | |
1106 if (configvals->bronco_shipvals) | |
1107 shipvals[FRIGATE].s_warp.maxspeed = 12; | |
1108 else | |
1109 shipvals[FRIGATE].s_warp.maxspeed = 23; | |
1110 shipvals[FRIGATE].s_warp.etemp = 7000; | |
1111 shipvals[FRIGATE].s_warpinitcost = 2272; | |
1112 shipvals[FRIGATE].s_warpinittime = 65; | |
1113 if (configvals->bronco_shipvals) | |
1114 shipvals[FRIGATE].s_warpprepspeed = 1; | |
1115 else | |
1116 shipvals[FRIGATE].s_warpprepspeed = 2; | |
1117 shipvals[FRIGATE].s_mass = 2150; | |
1118 shipvals[FRIGATE].s_tractstr = 3400; | |
1119 shipvals[FRIGATE].s_tractrng = 1.1; | |
1120 shipvals[FRIGATE].s_tractcost = 4; | |
1121 shipvals[FRIGATE].s_tractetemp = 1000; | |
1122 shipvals[FRIGATE].s_torp.damage = 40; | |
1123 shipvals[FRIGATE].s_torp.speed = 12; | |
1124 shipvals[FRIGATE].s_torp.cost = 290; | |
1125 shipvals[FRIGATE].s_torp.fuse = 40; | |
1126 shipvals[FRIGATE].s_torp.wtemp = 19; | |
1127 shipvals[FRIGATE].s_torp.wtemp_halfarc = 32; | |
1128 shipvals[FRIGATE].s_torp.wtemp_factor = 9; | |
1129 shipvals[FRIGATE].s_torp.aux = 0; | |
1130 #ifndef OLDSHIPVALS | |
1131 shipvals[FRIGATE].s_phaser.damage = 102; | |
1132 shipvals[FRIGATE].s_phaser.speed = 6150; | |
1133 shipvals[FRIGATE].s_phaser.cost = 816; | |
1134 #else | |
1135 shipvals[FRIGATE].s_phaser.damage = 100; | |
1136 shipvals[FRIGATE].s_phaser.speed = 5750; | |
1137 shipvals[FRIGATE].s_phaser.cost = 800; | |
1138 #endif | |
1139 shipvals[FRIGATE].s_phaser.fuse = 10; | |
1140 shipvals[FRIGATE].s_phaser.wtemp = 80; | |
1141 shipvals[FRIGATE].s_missile.damage = 23; | |
1142 shipvals[FRIGATE].s_missile.speed = 6; | |
1143 shipvals[FRIGATE].s_missile.cost = 850; | |
1144 shipvals[FRIGATE].s_missile.fuse = 100; | |
1145 shipvals[FRIGATE].s_missile.wtemp = 100; | |
1146 shipvals[FRIGATE].s_missile.count = 3; | |
1147 shipvals[FRIGATE].s_missile.aux = 2; | |
1148 shipvals[FRIGATE].s_missilestored = 11; | |
1149 shipvals[FRIGATE].s_plasma.damage = 115; | |
1150 shipvals[FRIGATE].s_plasma.speed = 15; | |
1151 shipvals[FRIGATE].s_plasma.cost = 3450; | |
1152 shipvals[FRIGATE].s_plasma.fuse = 35; | |
1153 shipvals[FRIGATE].s_plasma.wtemp = 337; | |
1154 shipvals[FRIGATE].s_plasma.aux = 1; | |
1155 shipvals[FRIGATE].s_maxwpntemp = 1000; | |
1156 shipvals[FRIGATE].s_wpncoolrate = 3; | |
1157 shipvals[FRIGATE].s_maxegntemp = 1500; | |
1158 shipvals[FRIGATE].s_egncoolrate = 6; | |
1159 shipvals[FRIGATE].s_maxfuel = 12500; | |
1160 shipvals[FRIGATE].s_recharge = 26; | |
1161 shipvals[FRIGATE].s_mingivefuel = 0; | |
1162 shipvals[FRIGATE].s_takeonfuel = 150; | |
1163 if (configvals->fuel_explosions) | |
1164 { | |
1165 shipvals[FRIGATE].s_expldam = 77; /* was: 50; (BG) */ | |
1166 shipvals[FRIGATE].s_fueldam = 40; /* was: 72; (BG) */ | |
1167 } | |
1168 else | |
1169 { | |
1170 shipvals[FRIGATE].s_expldam = 100; | |
1171 shipvals[FRIGATE].s_fueldam = 0; | |
1172 } | |
1173 shipvals[FRIGATE].s_armyperkill = 2; | |
1174 #ifndef OLDSHIPVALS | |
1175 shipvals[FRIGATE].s_maxarmies = 6; | |
1176 #else | |
1177 shipvals[FRIGATE].s_maxarmies = 8; | |
1178 #endif | |
1179 shipvals[FRIGATE].s_bomb = 15; | |
1180 shipvals[FRIGATE].s_repair = 118; | |
1181 shipvals[FRIGATE].s_maxdamage = 115; | |
1182 shipvals[FRIGATE].s_maxshield = 115; | |
1183 shipvals[FRIGATE].s_shieldcost = 5; | |
1184 shipvals[FRIGATE].s_detcost = 100; | |
1185 shipvals[FRIGATE].s_detdist = 1750; | |
1186 if (configvals->bronco_shipvals) | |
1187 shipvals[FRIGATE].s_cloakcost = 140; | |
1188 else | |
1189 shipvals[FRIGATE].s_cloakcost = 125; | |
1190 #ifdef LONG_SCANRANGE | |
1191 shipvals[FRIGATE].s_scanrange = 1000; | |
1192 #else | |
1193 shipvals[FRIGATE].s_scanrange = -1; | |
1194 #endif | |
1195 shipvals[FRIGATE].s_numports = 0; | |
1196 shipvals[FRIGATE].s_letter = 'f'; | |
1197 shipvals[FRIGATE].s_desig1 = 'F'; | |
1198 shipvals[FRIGATE].s_desig2 = 'R'; | |
1199 shipvals[FRIGATE].s_bitmap = 8; | |
1200 shipvals[FRIGATE].s_width = 20; | |
1201 shipvals[FRIGATE].s_height = 20; | |
1202 shipvals[FRIGATE].s_timer = 0; | |
1203 shipvals[FRIGATE].s_maxnum = 32; | |
1204 shipvals[FRIGATE].s_rank = 0; | |
1205 shipvals[FRIGATE].s_numdefn = 0; | |
1206 shipvals[FRIGATE].s_numplan = 0; | |
1207 if (configvals->warpdrive) | |
1208 shipvals[FRIGATE].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; | |
1209 else | |
1210 shipvals[FRIGATE].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS; | |
1211 | |
1212 /* comprehensive definition of WARBASE */ | |
1213 shipvals[WARBASE].s_alttype = 5; | |
1214 strcpy(shipvals[WARBASE].s_name, "Warbase"); | |
1215 shipvals[WARBASE].s_turns = 90000; | |
1216 shipvals[WARBASE].s_imp.acc = 100; | |
1217 shipvals[WARBASE].s_imp.dec = 200; | |
1218 shipvals[WARBASE].s_imp.cost = 4; | |
1219 #ifdef BEEFY_BASES | |
1220 shipvals[WARBASE].s_imp.maxspeed = 3; | |
1221 #else | |
1222 shipvals[WARBASE].s_imp.maxspeed = 2; | |
1223 #endif | |
1224 shipvals[WARBASE].s_imp.etemp = 1000; | |
1225 shipvals[WARBASE].s_after.acc = 250; | |
1226 shipvals[WARBASE].s_after.dec = 100; | |
1227 shipvals[WARBASE].s_after.cost = 40; | |
1228 shipvals[WARBASE].s_after.maxspeed = 5; | |
1229 shipvals[WARBASE].s_after.etemp = 30000; | |
1230 shipvals[WARBASE].s_warp.acc = 80; | |
1231 shipvals[WARBASE].s_warp.dec = 80; | |
1232 shipvals[WARBASE].s_warp.cost = 6; | |
1233 if (configvals->bronco_shipvals) | |
1234 { | |
1235 shipvals[WARBASE].s_warp.maxspeed = 4; | |
1236 shipvals[WARBASE].s_warpprepspeed = 1; | |
1237 } | |
1238 else | |
1239 { | |
1240 shipvals[WARBASE].s_warp.maxspeed = 6; | |
1241 shipvals[WARBASE].s_warpprepspeed = 2; | |
1242 } | |
1243 shipvals[WARBASE].s_warp.etemp = 1500; | |
1244 shipvals[WARBASE].s_warpinitcost = 9090; | |
1245 shipvals[WARBASE].s_warpinittime = 100; | |
1246 shipvals[WARBASE].s_mass = 4000; | |
1247 shipvals[WARBASE].s_tractstr = 8000; | |
1248 shipvals[WARBASE].s_tractrng = 1.5; | |
1249 shipvals[WARBASE].s_tractcost = 10; | |
1250 shipvals[WARBASE].s_tractetemp = 3000; | |
1251 shipvals[WARBASE].s_torp.damage = 45; | |
1252 shipvals[WARBASE].s_torp.speed = 15; | |
1253 shipvals[WARBASE].s_torp.cost = 450; | |
1254 #ifndef OLDSHIPVALS | |
1255 shipvals[WARBASE].s_torp.fuse = 20; | |
1256 #else | |
1257 shipvals[WARBASE].s_torp.fuse = 18; | |
1258 #endif | |
1259 shipvals[WARBASE].s_torp.wtemp = 35; | |
1260 shipvals[WARBASE].s_torp.wtemp_halfarc = 32; | |
1261 shipvals[WARBASE].s_torp.wtemp_factor = 9; | |
1262 shipvals[WARBASE].s_torp.aux = 0; | |
1263 #ifndef OLDSHIPVALS | |
1264 shipvals[WARBASE].s_phaser.damage = 125; | |
1265 shipvals[WARBASE].s_phaser.speed = 7500; | |
1266 shipvals[WARBASE].s_phaser.cost = 1000; | |
1267 #else | |
1268 shipvals[WARBASE].s_phaser.damage = 135; | |
1269 shipvals[WARBASE].s_phaser.speed = 6000; | |
1270 shipvals[WARBASE].s_phaser.cost = 1150; | |
1271 #endif | |
1272 shipvals[WARBASE].s_phaser.fuse = 5; | |
1273 shipvals[WARBASE].s_phaser.wtemp = 90; | |
1274 shipvals[WARBASE].s_missile.damage = 40; | |
1275 shipvals[WARBASE].s_missile.speed = 14; | |
1276 shipvals[WARBASE].s_missile.cost = 2000; | |
1277 shipvals[WARBASE].s_missile.fuse = 100; | |
1278 shipvals[WARBASE].s_missile.wtemp = 120; | |
1279 shipvals[WARBASE].s_missile.count = 3; | |
1280 shipvals[WARBASE].s_missile.aux = 2; | |
1281 shipvals[WARBASE].s_missilestored = -1; | |
1282 shipvals[WARBASE].s_plasma.damage = 150; | |
1283 shipvals[WARBASE].s_plasma.speed = 15; | |
1284 shipvals[WARBASE].s_plasma.cost = 3750; | |
1285 shipvals[WARBASE].s_plasma.fuse = 40; | |
1286 shipvals[WARBASE].s_plasma.wtemp = 360; | |
1287 shipvals[WARBASE].s_plasma.aux = 1; | |
1288 shipvals[WARBASE].s_maxwpntemp = 1500; | |
1289 shipvals[WARBASE].s_wpncoolrate = 5; | |
1290 shipvals[WARBASE].s_maxegntemp = 1000; | |
1291 shipvals[WARBASE].s_egncoolrate = 10; | |
1292 shipvals[WARBASE].s_maxfuel = 50000; | |
1293 if (configvals->bronco_shipvals) | |
1294 shipvals[WARBASE].s_recharge = 70; | |
1295 else | |
1296 shipvals[WARBASE].s_recharge = 80; | |
1297 shipvals[WARBASE].s_mingivefuel = 10000; | |
1298 shipvals[WARBASE].s_takeonfuel = 150; | |
1299 shipvals[WARBASE].s_expldam = 100; | |
1300 shipvals[WARBASE].s_fueldam = 100; | |
1301 shipvals[WARBASE].s_armyperkill = 0; | |
1302 shipvals[WARBASE].s_maxarmies = 0; | |
1303 shipvals[WARBASE].s_bomb = 90; | |
1304 shipvals[WARBASE].s_repair = 170; /* was: 150; (BG) */ | |
1305 shipvals[WARBASE].s_maxdamage = 500; | |
1306 shipvals[WARBASE].s_maxshield = 250; | |
1307 shipvals[WARBASE].s_shieldcost = 10; | |
1308 shipvals[WARBASE].s_detcost = 100; | |
1309 shipvals[WARBASE].s_detdist = 1800; | |
1310 shipvals[WARBASE].s_cloakcost = 1000; | |
1311 shipvals[WARBASE].s_scanrange = 5000; | |
1312 shipvals[WARBASE].s_numports = 2; | |
1313 shipvals[WARBASE].s_letter = 'w'; | |
1314 shipvals[WARBASE].s_desig1 = 'W'; | |
1315 shipvals[WARBASE].s_desig2 = 'B'; | |
1316 shipvals[WARBASE].s_bitmap = 9; | |
1317 shipvals[WARBASE].s_width = 20; | |
1318 shipvals[WARBASE].s_height = 20; | |
1319 shipvals[WARBASE].s_timer = 15; | |
1320 shipvals[WARBASE].s_maxnum = 1; | |
1321 shipvals[WARBASE].s_rank = 3; | |
1322 shipvals[WARBASE].s_numdefn = 3; | |
1323 shipvals[WARBASE].s_numplan = 3; | |
1324 if (configvals->warpdrive) | |
1325 shipvals[WARBASE].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNCANFUEL | SFNCANREPAIR | SFNHASPHASERS | SFNPLASMASTYLE | SFNPLASMAARMED | SFNHASMISSILE; | |
1326 else | |
1327 shipvals[WARBASE].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANFUEL | SFNCANREPAIR | SFNHASPHASERS | SFNPLASMASTYLE | SFNPLASMAARMED | SFNHASMISSILE; | |
1328 | |
1329 /* comprehensive definition of LIGHTCRUISER */ | |
1330 shipvals[LIGHTCRUISER].s_alttype = 2; | |
1331 strcpy(shipvals[LIGHTCRUISER].s_name, "Light"); | |
1332 shipvals[LIGHTCRUISER].s_turns = 220000; /* was 225000 */ | |
1333 shipvals[LIGHTCRUISER].s_imp.acc = 190; | |
1334 shipvals[LIGHTCRUISER].s_imp.dec = 250; | |
1335 shipvals[LIGHTCRUISER].s_imp.cost = 3; | |
1336 shipvals[LIGHTCRUISER].s_imp.maxspeed = 10; | |
1337 shipvals[LIGHTCRUISER].s_imp.etemp = 1000; | |
1338 shipvals[LIGHTCRUISER].s_after.acc = 720; | |
1339 shipvals[LIGHTCRUISER].s_after.dec = 280; | |
1340 shipvals[LIGHTCRUISER].s_after.cost = 80; | |
1341 shipvals[LIGHTCRUISER].s_after.maxspeed = 12; | |
1342 shipvals[LIGHTCRUISER].s_after.etemp = 35000; | |
1343 shipvals[LIGHTCRUISER].s_warp.acc = 10000; | |
1344 shipvals[LIGHTCRUISER].s_warp.dec = 400; | |
1345 shipvals[LIGHTCRUISER].s_warp.cost = 24; | |
1346 if (configvals->bronco_shipvals) | |
1347 { | |
1348 shipvals[LIGHTCRUISER].s_warp.maxspeed = 16; | |
1349 shipvals[LIGHTCRUISER].s_warpprepspeed = 1; | |
1350 } | |
1351 else | |
1352 { | |
1353 shipvals[LIGHTCRUISER].s_warp.maxspeed = 27; /* was: 24; (BG) */ | |
1354 shipvals[LIGHTCRUISER].s_warpprepspeed = 2; | |
1355 } | |
1356 shipvals[LIGHTCRUISER].s_warp.etemp = 7000; | |
1357 shipvals[LIGHTCRUISER].s_warpinitcost = 1550; | |
1358 shipvals[LIGHTCRUISER].s_warpinittime = 45; | |
1359 shipvals[LIGHTCRUISER].s_mass = 1900; | |
1360 shipvals[LIGHTCRUISER].s_tractstr = 2700; | |
1361 shipvals[LIGHTCRUISER].s_tractrng = 0.9; | |
1362 shipvals[LIGHTCRUISER].s_tractcost = 3; | |
1363 shipvals[LIGHTCRUISER].s_tractetemp = 1000; | |
1364 shipvals[LIGHTCRUISER].s_torp.damage = 35; | |
1365 shipvals[LIGHTCRUISER].s_torp.speed = 13; | |
1366 #ifndef OLDSHIPVALS | |
1367 shipvals[LIGHTCRUISER].s_torp.cost = 245; | |
1368 #else | |
1369 shipvals[LIGHTCRUISER].s_torp.cost = 240; | |
1370 #endif | |
1371 shipvals[LIGHTCRUISER].s_torp.fuse = 35; | |
1372 shipvals[LIGHTCRUISER].s_torp.wtemp = 16; | |
1373 shipvals[LIGHTCRUISER].s_torp.wtemp_halfarc = 32; | |
1374 shipvals[LIGHTCRUISER].s_torp.wtemp_factor = 9; | |
1375 shipvals[LIGHTCRUISER].s_torp.aux = 0; | |
1376 shipvals[LIGHTCRUISER].s_phaser.damage = 90; | |
1377 #ifndef OLDSHIPVALS | |
1378 shipvals[LIGHTCRUISER].s_phaser.speed = 5400; | |
1379 shipvals[LIGHTCRUISER].s_phaser.cost = 630; | |
1380 #else | |
1381 shipvals[LIGHTCRUISER].s_phaser.speed = 5000; | |
1382 shipvals[LIGHTCRUISER].s_phaser.cost = 600; | |
1383 #endif | |
1384 shipvals[LIGHTCRUISER].s_phaser.fuse = 10; | |
1385 shipvals[LIGHTCRUISER].s_phaser.wtemp = 60; | |
1386 shipvals[LIGHTCRUISER].s_missile.damage = 22; | |
1387 shipvals[LIGHTCRUISER].s_missile.speed = 7; | |
1388 shipvals[LIGHTCRUISER].s_missile.cost = 800; | |
1389 shipvals[LIGHTCRUISER].s_missile.fuse = 100; | |
1390 shipvals[LIGHTCRUISER].s_missile.wtemp = 100; | |
1391 shipvals[LIGHTCRUISER].s_missile.count = 3; | |
1392 shipvals[LIGHTCRUISER].s_missile.aux = 2; | |
1393 shipvals[LIGHTCRUISER].s_missilestored = 9; | |
1394 shipvals[LIGHTCRUISER].s_plasma.damage = 90; | |
1395 shipvals[LIGHTCRUISER].s_plasma.speed = 15; | |
1396 shipvals[LIGHTCRUISER].s_plasma.cost = 2500; | |
1397 shipvals[LIGHTCRUISER].s_plasma.fuse = 30; | |
1398 shipvals[LIGHTCRUISER].s_plasma.wtemp = 242; | |
1399 shipvals[LIGHTCRUISER].s_plasma.aux = 1; | |
1400 shipvals[LIGHTCRUISER].s_maxwpntemp = 1000; | |
1401 shipvals[LIGHTCRUISER].s_wpncoolrate = 3; | |
1402 shipvals[LIGHTCRUISER].s_maxegntemp = 1500; | |
1403 shipvals[LIGHTCRUISER].s_egncoolrate = 6; | |
1404 shipvals[LIGHTCRUISER].s_maxfuel = 8500; | |
1405 shipvals[LIGHTCRUISER].s_recharge = 23; | |
1406 shipvals[LIGHTCRUISER].s_mingivefuel = 0; | |
1407 shipvals[LIGHTCRUISER].s_takeonfuel = 150; | |
1408 if (configvals->fuel_explosions) | |
1409 { | |
1410 shipvals[LIGHTCRUISER].s_expldam = 67; /* was: 50; (BG) */ | |
1411 shipvals[LIGHTCRUISER].s_fueldam = 45; /* was: 58; (BG) */ | |
1412 } | |
1413 else | |
1414 { | |
1415 shipvals[LIGHTCRUISER].s_expldam = 100; | |
1416 shipvals[LIGHTCRUISER].s_fueldam = 0; | |
1417 } | |
1418 shipvals[LIGHTCRUISER].s_armyperkill = 2; | |
1419 shipvals[LIGHTCRUISER].s_maxarmies = 3; /* was 4 */ | |
1420 shipvals[LIGHTCRUISER].s_bomb = 6; | |
1421 shipvals[LIGHTCRUISER].s_repair = 80; /* was 90 */ | |
1422 shipvals[LIGHTCRUISER].s_maxdamage = 90; | |
1423 shipvals[LIGHTCRUISER].s_maxshield = 95; | |
1424 shipvals[LIGHTCRUISER].s_shieldcost = 4; | |
1425 shipvals[LIGHTCRUISER].s_detcost = 100; | |
1426 shipvals[LIGHTCRUISER].s_detdist = 1750; | |
1427 if (configvals->bronco_shipvals) | |
1428 shipvals[LIGHTCRUISER].s_cloakcost = 115; | |
1429 else | |
1430 shipvals[LIGHTCRUISER].s_cloakcost = 75; | |
1431 #ifdef LONG_SCANRANGE | |
1432 shipvals[LIGHTCRUISER].s_scanrange = 1000; | |
1433 #else | |
1434 shipvals[LIGHTCRUISER].s_scanrange = 500; | |
1435 #endif | |
1436 shipvals[LIGHTCRUISER].s_numports = 0; | |
1437 shipvals[LIGHTCRUISER].s_letter = 'l'; | |
1438 shipvals[LIGHTCRUISER].s_desig1 = 'C'; | |
1439 shipvals[LIGHTCRUISER].s_desig2 = 'L'; | |
1440 shipvals[LIGHTCRUISER].s_bitmap = 10; | |
1441 shipvals[LIGHTCRUISER].s_width = 20; | |
1442 shipvals[LIGHTCRUISER].s_height = 20; | |
1443 shipvals[LIGHTCRUISER].s_timer = 0; | |
1444 shipvals[LIGHTCRUISER].s_maxnum = 32; | |
1445 shipvals[LIGHTCRUISER].s_rank = 0; | |
1446 shipvals[LIGHTCRUISER].s_numdefn = 0; | |
1447 shipvals[LIGHTCRUISER].s_numplan = 0; | |
1448 if (configvals->warpdrive) | |
1449 shipvals[LIGHTCRUISER].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; | |
1450 else | |
1451 shipvals[LIGHTCRUISER].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS; | |
1452 | |
1453 /* comprehensive definition of CARRIER */ | |
1454 shipvals[CARRIER].s_alttype = 3; | |
1455 strcpy(shipvals[CARRIER].s_name, "Carrier"); | |
1456 shipvals[CARRIER].s_turns = 60000; | |
1457 shipvals[CARRIER].s_imp.acc = 100; | |
1458 shipvals[CARRIER].s_imp.dec = 200; | |
1459 shipvals[CARRIER].s_imp.cost = 4; | |
1460 shipvals[CARRIER].s_imp.maxspeed = 9; | |
1461 shipvals[CARRIER].s_imp.etemp = 1000; | |
1462 shipvals[CARRIER].s_after.acc = 500; | |
1463 shipvals[CARRIER].s_after.dec = 250; | |
1464 shipvals[CARRIER].s_after.cost = 100; | |
1465 shipvals[CARRIER].s_after.maxspeed = 11; | |
1466 shipvals[CARRIER].s_after.etemp = 50000; | |
1467 shipvals[CARRIER].s_warp.acc = 10000; | |
1468 shipvals[CARRIER].s_warp.dec = 300; | |
1469 shipvals[CARRIER].s_warp.cost = 28; | |
1470 if (configvals->bronco_shipvals) | |
1471 { | |
1472 shipvals[CARRIER].s_warp.maxspeed = 14; | |
1473 shipvals[CARRIER].s_warpprepspeed = 0; | |
1474 } | |
1475 else | |
1476 { | |
1477 shipvals[CARRIER].s_warp.maxspeed = 25; /* was: 20; (BG) */ | |
1478 shipvals[CARRIER].s_warpprepspeed = 1; | |
1479 } | |
1480 shipvals[CARRIER].s_warp.etemp = 7000; | |
1481 shipvals[CARRIER].s_warpinitcost = 2800; | |
1482 shipvals[CARRIER].s_warpinittime = 75; | |
1483 shipvals[CARRIER].s_mass = 2500; | |
1484 shipvals[CARRIER].s_tractstr = 4000; /* was 3200 (MDM) */ | |
1485 shipvals[CARRIER].s_tractrng = 1.3; /* was 1.1 (MDM) */ | |
1486 shipvals[CARRIER].s_tractcost = 5; | |
1487 shipvals[CARRIER].s_tractetemp = 1000; | |
1488 shipvals[CARRIER].s_torp.damage = 30; /* these are the CVs own torps */ | |
1489 shipvals[CARRIER].s_torp.speed = 13; /* fighter-torps are now constant */ | |
1490 shipvals[CARRIER].s_torp.cost = 210; /* still used when fighters fire! */ | |
1491 shipvals[CARRIER].s_torp.fuse = 35; | |
1492 shipvals[CARRIER].s_torp.wtemp = 20; /* still used when fighters fire! */ | |
1493 shipvals[CARRIER].s_torp.wtemp_halfarc = 32; | |
1494 shipvals[CARRIER].s_torp.wtemp_factor = 9; | |
1495 shipvals[CARRIER].s_torp.aux = 0; | |
1496 shipvals[CARRIER].s_phaser.damage = 95; | |
1497 shipvals[CARRIER].s_phaser.speed = 6500; | |
1498 shipvals[CARRIER].s_phaser.cost = 570; | |
1499 shipvals[CARRIER].s_phaser.fuse = 6; | |
1500 shipvals[CARRIER].s_phaser.wtemp = 45; | |
1501 shipvals[CARRIER].s_missile.damage = 20; | |
1502 shipvals[CARRIER].s_missile.speed = 14; | |
1503 shipvals[CARRIER].s_missile.cost = 380; /* no longer includes | |
1504 * torpcost */ | |
1505 shipvals[CARRIER].s_missile.fuse = 300; | |
1506 shipvals[CARRIER].s_missile.wtemp = 35; /* no longer includes torp | |
1507 * wtemp */ | |
1508 shipvals[CARRIER].s_missile.count = 8; | |
1509 shipvals[CARRIER].s_missile.aux = 3; | |
1510 shipvals[CARRIER].s_missilestored = 0; | |
1511 shipvals[CARRIER].s_plasma.damage = 80; | |
1512 shipvals[CARRIER].s_plasma.speed = 15; | |
1513 shipvals[CARRIER].s_plasma.cost = 3000; | |
1514 shipvals[CARRIER].s_plasma.fuse = 35; | |
1515 shipvals[CARRIER].s_plasma.wtemp = 270; | |
1516 shipvals[CARRIER].s_plasma.aux = 2; | |
1517 shipvals[CARRIER].s_maxwpntemp = 1000; | |
1518 shipvals[CARRIER].s_wpncoolrate = 2; | |
1519 shipvals[CARRIER].s_maxegntemp = 1500; | |
1520 shipvals[CARRIER].s_egncoolrate = 5; | |
1521 shipvals[CARRIER].s_maxfuel = 15000; | |
1522 shipvals[CARRIER].s_recharge = 25; | |
1523 shipvals[CARRIER].s_mingivefuel = 0; | |
1524 shipvals[CARRIER].s_takeonfuel = 150; | |
1525 if (configvals->fuel_explosions) | |
1526 { | |
1527 shipvals[CARRIER].s_expldam = 80; /* was: 55; (BG) */ | |
1528 shipvals[CARRIER].s_fueldam = 70; /* was: 80; (BG) */ | |
1529 } | |
1530 else | |
1531 { | |
1532 shipvals[CARRIER].s_expldam = 100; | |
1533 shipvals[CARRIER].s_fueldam = 0; | |
1534 } | |
1535 shipvals[CARRIER].s_armyperkill = 25; | |
1536 shipvals[CARRIER].s_maxarmies = 3; | |
1537 shipvals[CARRIER].s_bomb = 20; | |
1538 shipvals[CARRIER].s_repair = 105; | |
1539 shipvals[CARRIER].s_maxdamage = 150; | |
1540 shipvals[CARRIER].s_maxshield = 120; | |
1541 shipvals[CARRIER].s_shieldcost = 5; | |
1542 shipvals[CARRIER].s_detcost = 50; | |
1543 shipvals[CARRIER].s_detdist = 1900; | |
1544 if (configvals->bronco_shipvals) | |
1545 shipvals[CARRIER].s_cloakcost = 135; | |
1546 else | |
1547 shipvals[CARRIER].s_cloakcost = 100; | |
1548 #ifdef LONG_SCANRANGE | |
1549 shipvals[CARRIER].s_scanrange = 1000; | |
1550 #else | |
1551 shipvals[CARRIER].s_scanrange = -1; | |
1552 #endif | |
1553 shipvals[CARRIER].s_numports = 0; | |
1554 shipvals[CARRIER].s_letter = 'v'; | |
1555 shipvals[CARRIER].s_desig1 = 'C'; | |
1556 shipvals[CARRIER].s_desig2 = 'V'; | |
1557 shipvals[CARRIER].s_bitmap = 11; | |
1558 shipvals[CARRIER].s_width = 20; | |
1559 shipvals[CARRIER].s_height = 20; | |
1560 shipvals[CARRIER].s_timer = 12; | |
1561 shipvals[CARRIER].s_maxnum = 1; | |
1562 shipvals[CARRIER].s_rank = 3; | |
1563 shipvals[CARRIER].s_numdefn = 5; | |
1564 shipvals[CARRIER].s_numplan = 3; | |
1565 if (configvals->warpdrive) | |
1566 shipvals[CARRIER].s_nflags = SFNCANWARP | SFNHASPHASERS | SFNHASMISSILE | SFNHASFIGHTERS; | |
1567 else | |
1568 shipvals[CARRIER].s_nflags = SFNHASPHASERS | SFNHASMISSILE | SFNHASFIGHTERS; | |
1569 | |
1570 /* comprehensive definition of UTILITY */ | |
1571 shipvals[UTILITY].s_alttype = 4; | |
1572 strcpy(shipvals[UTILITY].s_name, "Utility"); | |
1573 shipvals[UTILITY].s_turns = 80000; | |
1574 shipvals[UTILITY].s_imp.acc = 100; | |
1575 shipvals[UTILITY].s_imp.dec = 200; | |
1576 shipvals[UTILITY].s_imp.cost = 4; | |
1577 shipvals[UTILITY].s_imp.maxspeed = 7; | |
1578 shipvals[UTILITY].s_imp.etemp = 1000; | |
1579 shipvals[UTILITY].s_after.acc = 500; | |
1580 shipvals[UTILITY].s_after.dec = 250; | |
1581 shipvals[UTILITY].s_after.cost = 40; | |
1582 shipvals[UTILITY].s_after.maxspeed = 8; | |
1583 shipvals[UTILITY].s_after.etemp = 40000; | |
1584 shipvals[UTILITY].s_warp.acc = 10000; | |
1585 shipvals[UTILITY].s_warp.dec = 5000; | |
1586 shipvals[UTILITY].s_warp.cost = 20; | |
1587 if (configvals->bronco_shipvals) | |
1588 { | |
1589 shipvals[UTILITY].s_warp.maxspeed = 10; | |
1590 shipvals[UTILITY].s_warpprepspeed = 0; | |
1591 } | |
1592 else | |
1593 { | |
1594 shipvals[UTILITY].s_warp.maxspeed = 20; /* was: 15; (BG) */ | |
1595 shipvals[UTILITY].s_warpprepspeed = 1; | |
1596 } | |
1597 shipvals[UTILITY].s_warp.etemp = 5500; | |
1598 shipvals[UTILITY].s_warpinitcost = 1200; | |
1599 shipvals[UTILITY].s_warpinittime = 50; | |
1600 shipvals[UTILITY].s_mass = 2400; | |
1601 shipvals[UTILITY].s_tractstr = 3500; | |
1602 shipvals[UTILITY].s_tractrng = 1.1; | |
1603 shipvals[UTILITY].s_tractcost = 4; | |
1604 shipvals[UTILITY].s_tractetemp = 1000; | |
1605 shipvals[UTILITY].s_torp.damage = 20; | |
1606 shipvals[UTILITY].s_torp.speed = 15; | |
1607 shipvals[UTILITY].s_torp.cost = 250; | |
1608 shipvals[UTILITY].s_torp.fuse = 25; | |
1609 shipvals[UTILITY].s_torp.wtemp = 18; | |
1610 shipvals[UTILITY].s_torp.wtemp_halfarc = 16; | |
1611 shipvals[UTILITY].s_torp.wtemp_factor = 4; | |
1612 shipvals[UTILITY].s_torp.aux = 0; | |
1613 shipvals[UTILITY].s_phaser.damage = 80; | |
1614 shipvals[UTILITY].s_phaser.speed = 5600; | |
1615 shipvals[UTILITY].s_phaser.cost = 640; | |
1616 shipvals[UTILITY].s_phaser.fuse = 8; | |
1617 shipvals[UTILITY].s_phaser.wtemp = 85; | |
1618 shipvals[UTILITY].s_missile.damage = 30; | |
1619 shipvals[UTILITY].s_missile.speed = 8; | |
1620 shipvals[UTILITY].s_missile.cost = 800; | |
1621 shipvals[UTILITY].s_missile.fuse = 80; | |
1622 shipvals[UTILITY].s_missile.wtemp = 60; | |
1623 shipvals[UTILITY].s_missile.count = 3; | |
1624 shipvals[UTILITY].s_missile.aux = 2; | |
1625 shipvals[UTILITY].s_missilestored = 18; | |
1626 shipvals[UTILITY].s_plasma.damage = -1; | |
1627 shipvals[UTILITY].s_plasma.speed = 0; | |
1628 shipvals[UTILITY].s_plasma.cost = 0; | |
1629 shipvals[UTILITY].s_plasma.fuse = 0; | |
1630 shipvals[UTILITY].s_plasma.wtemp = 0; | |
1631 shipvals[UTILITY].s_plasma.aux = 0; | |
1632 shipvals[UTILITY].s_maxwpntemp = 1000; | |
1633 shipvals[UTILITY].s_wpncoolrate = 2; | |
1634 shipvals[UTILITY].s_maxegntemp = 1800; | |
1635 shipvals[UTILITY].s_egncoolrate = 5; | |
1636 shipvals[UTILITY].s_maxfuel = 16000; | |
1637 shipvals[UTILITY].s_recharge = 38; | |
1638 shipvals[UTILITY].s_mingivefuel = 4000; | |
1639 shipvals[UTILITY].s_takeonfuel = 150; | |
1640 if (configvals->fuel_explosions) | |
1641 { | |
1642 shipvals[UTILITY].s_expldam = 60; | |
1643 shipvals[UTILITY].s_fueldam = 80; | |
1644 } | |
1645 else | |
1646 { | |
1647 shipvals[UTILITY].s_expldam = 100; | |
1648 shipvals[UTILITY].s_fueldam = 0; | |
1649 } | |
1650 shipvals[UTILITY].s_armyperkill = 12; | |
1651 shipvals[UTILITY].s_maxarmies = 12; | |
1652 shipvals[UTILITY].s_bomb = 0; | |
1653 shipvals[UTILITY].s_repair = 120; | |
1654 shipvals[UTILITY].s_maxdamage = 220; | |
1655 shipvals[UTILITY].s_maxshield = 120; | |
1656 shipvals[UTILITY].s_shieldcost = 4; | |
1657 shipvals[UTILITY].s_detcost = 50; | |
1658 shipvals[UTILITY].s_detdist = 1900; | |
1659 if (configvals->bronco_shipvals) | |
1660 shipvals[UTILITY].s_cloakcost = 180; | |
1661 else | |
1662 shipvals[UTILITY].s_cloakcost = 130; /* was 90 (MDM) */ | |
1663 shipvals[UTILITY].s_scanrange = 2000; | |
1664 shipvals[UTILITY].s_numports = 2; | |
1665 shipvals[UTILITY].s_letter = 'u'; | |
1666 shipvals[UTILITY].s_desig1 = 'U'; | |
1667 shipvals[UTILITY].s_desig2 = 'T'; | |
1668 shipvals[UTILITY].s_bitmap = 12; | |
1669 shipvals[UTILITY].s_width = 20; | |
1670 shipvals[UTILITY].s_height = 20; | |
1671 shipvals[UTILITY].s_timer = 7; | |
1672 shipvals[UTILITY].s_maxnum = 1; | |
1673 shipvals[UTILITY].s_rank = 2; | |
1674 shipvals[UTILITY].s_numdefn = 2; | |
1675 shipvals[UTILITY].s_numplan = 1; | |
1676 if (configvals->warpdrive) | |
1677 shipvals[UTILITY].s_nflags = SFNCANWARP | SFNHASPHASERS | SFNCANREPAIR | SFNCANFUEL; | |
1678 else | |
1679 shipvals[UTILITY].s_nflags = SFNHASPHASERS | SFNCANREPAIR | SFNCANFUEL; | |
1680 | |
1681 /* Comprehensive definition of Gunboat */ | |
1682 shipvals[PATROL].s_alttype = 0; | |
1683 strcpy(shipvals[PATROL].s_name, "Patrol Ship"); | |
1684 shipvals[PATROL].s_turns = 1500000; | |
1685 shipvals[PATROL].s_imp.acc = 350; | |
1686 shipvals[PATROL].s_imp.dec = 400; | |
1687 shipvals[PATROL].s_imp.cost = 1; | |
1688 shipvals[PATROL].s_imp.maxspeed = 13; | |
1689 shipvals[PATROL].s_imp.etemp = 1000; | |
1690 shipvals[PATROL].s_after.acc = 800; | |
1691 shipvals[PATROL].s_after.dec = 350; | |
1692 shipvals[PATROL].s_after.cost = 18; | |
1693 shipvals[PATROL].s_after.maxspeed = 15; | |
1694 shipvals[PATROL].s_after.etemp = 30000; | |
1695 shipvals[PATROL].s_warp.acc = 10000; | |
1696 shipvals[PATROL].s_warp.dec = 500; | |
1697 if (configvals->bronco_shipvals) | |
1698 { | |
1699 shipvals[PATROL].s_warp.maxspeed = 21; | |
1700 shipvals[PATROL].s_warpprepspeed = 2; | |
1701 } | |
1702 else | |
1703 { | |
1704 shipvals[PATROL].s_warp.maxspeed = 35; /* was: 30; (BG) */ | |
1705 shipvals[PATROL].s_warpprepspeed = 3; | |
1706 } | |
1707 shipvals[PATROL].s_warp.cost = 22; | |
1708 shipvals[PATROL].s_warp.etemp = 35000; | |
1709 shipvals[PATROL].s_warpinitcost = 800; | |
1710 shipvals[PATROL].s_warpinittime = 20; | |
1711 shipvals[PATROL].s_mass = 1000; | |
1712 shipvals[PATROL].s_tractstr = 1500; | |
1713 shipvals[PATROL].s_tractrng = 0.75; | |
1714 shipvals[PATROL].s_tractcost = 2; | |
1715 shipvals[PATROL].s_tractetemp = 1000; | |
1716 shipvals[PATROL].s_torp.damage = 30; | |
1717 shipvals[PATROL].s_torp.speed = 15; | |
1718 shipvals[PATROL].s_torp.cost = 180; | |
1719 shipvals[PATROL].s_torp.fuse = 18; | |
1720 shipvals[PATROL].s_torp.wtemp = 10; | |
1721 shipvals[PATROL].s_torp.wtemp_halfarc = 32; | |
1722 shipvals[PATROL].s_torp.wtemp_factor = 9; | |
1723 shipvals[PATROL].s_torp.aux = 0; | |
1724 shipvals[PATROL].s_phaser.damage = 50; | |
1725 shipvals[PATROL].s_phaser.speed = 5000; | |
1726 shipvals[PATROL].s_phaser.cost = 300; | |
1727 shipvals[PATROL].s_phaser.fuse = 8; | |
1728 shipvals[PATROL].s_phaser.wtemp = 45; | |
1729 shipvals[PATROL].s_missile.damage = 50; | |
1730 shipvals[PATROL].s_missile.speed = 17; | |
1731 shipvals[PATROL].s_missile.cost = 450; | |
1732 shipvals[PATROL].s_missile.fuse = 50; | |
1733 shipvals[PATROL].s_missile.wtemp = 50; | |
1734 shipvals[PATROL].s_missile.count = 6; | |
1735 shipvals[PATROL].s_missile.aux = 1; | |
1736 shipvals[PATROL].s_missilestored = 6; | |
1737 shipvals[PATROL].s_plasma.damage = -1; | |
1738 shipvals[PATROL].s_plasma.speed = 0; | |
1739 shipvals[PATROL].s_plasma.cost = 0; | |
1740 shipvals[PATROL].s_plasma.fuse = 0; | |
1741 shipvals[PATROL].s_plasma.wtemp = 0; | |
1742 shipvals[PATROL].s_plasma.aux = 0; | |
1743 shipvals[PATROL].s_maxwpntemp = 1000; | |
1744 shipvals[PATROL].s_wpncoolrate = 3; | |
1745 shipvals[PATROL].s_maxegntemp = 1500; | |
1746 shipvals[PATROL].s_egncoolrate = 8; | |
1747 shipvals[PATROL].s_maxfuel = 4000; | |
1748 shipvals[PATROL].s_recharge = 10; | |
1749 shipvals[PATROL].s_mingivefuel = 0; | |
1750 shipvals[PATROL].s_takeonfuel = 120; | |
1751 if (configvals->fuel_explosions) | |
1752 { | |
1753 shipvals[PATROL].s_expldam = 35; | |
1754 shipvals[PATROL].s_fueldam = 30; | |
1755 } | |
1756 else | |
1757 { | |
1758 shipvals[PATROL].s_expldam = 60; | |
1759 shipvals[PATROL].s_fueldam = 0; | |
1760 } | |
1761 shipvals[PATROL].s_armyperkill = 1; | |
1762 shipvals[PATROL].s_maxarmies = 1; | |
1763 shipvals[PATROL].s_bomb = 0; | |
1764 shipvals[PATROL].s_repair = 50; | |
1765 shipvals[PATROL].s_maxdamage = 40; | |
1766 shipvals[PATROL].s_maxshield = 50; | |
1767 shipvals[PATROL].s_shieldcost = 2; | |
1768 shipvals[PATROL].s_detcost = 100; | |
1769 shipvals[PATROL].s_detdist = 1750; | |
1770 if (configvals->bronco_shipvals) | |
1771 shipvals[PATROL].s_cloakcost = 40; | |
1772 else | |
1773 shipvals[PATROL].s_cloakcost = 30; | |
1774 shipvals[PATROL].s_scanrange = -1; | |
1775 shipvals[PATROL].s_numports = 0; | |
1776 shipvals[PATROL].s_letter = 'p'; | |
1777 shipvals[PATROL].s_desig1 = 'P'; | |
1778 shipvals[PATROL].s_desig2 = 'T'; | |
1779 shipvals[PATROL].s_bitmap = 13; | |
1780 shipvals[PATROL].s_width = 20; | |
1781 shipvals[PATROL].s_height = 20; | |
1782 shipvals[PATROL].s_timer = 0; | |
1783 shipvals[PATROL].s_maxnum = 32; | |
1784 shipvals[PATROL].s_rank = 0; | |
1785 shipvals[PATROL].s_numdefn = 0; | |
1786 shipvals[PATROL].s_numplan = 0; /* 1; was 1 but everybody bitched | |
1787 * (BG) */ | |
1788 if (configvals->warpdrive) | |
1789 shipvals[PATROL].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS | SFNHASMISSILE | SFNMASSPRODUCED | SFNCANWARP; | |
1790 else | |
1791 shipvals[PATROL].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS | SFNHASMISSILE | SFNMASSPRODUCED; | |
1792 } | |
1793 | |
1794 /*----------END OF FILE-----*/ |