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-----*/