Mercurial > ~darius > hgwebdir.cgi > paradise_server
view src/shipvals.c @ 18:1424868939a8
Indenting
author | darius |
---|---|
date | Wed, 24 Dec 1997 12:38:35 +0000 |
parents | 8c6d5731234d |
children |
line wrap: on
line source
/*-------------------------------------------------------------------------- NETREK II -- Paradise Permission to use, copy, modify, and distribute this software and its documentation, or any derivative works thereof, for any NON-COMMERCIAL purpose and without fee is hereby granted, provided that this copyright notice appear in all copies. No representations are made about the suitability of this software for any purpose. This software is provided "as is" without express or implied warranty. Xtrek Copyright 1986 Chris Guthrie Netrek (Xtrek II) Copyright 1989 Kevin P. Smith Scott Silvey Paradise II (Netrek II) Copyright 1993 Larry Denys Kurt Olsen Brandon Gillespie --------------------------------------------------------------------------*/ #include "config.h" #include <stdio.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> #include <string.h> #include "defs.h" #include "struct.h" #include "data.h" #include "shmem.h" /* This defines the core flags for a normal ship */ #define SFNCORE \ /*SFNCANDOCK|*/SFNCANORBIT | SFNARMYNEEDKILL|SFNCANWARP|SFNHASPHASERS|SFNARMYNEEDKILL /*-------------------------------INTERNAL FUNCTONS------------------------*/ /*---------------------------------GETSHIPDEFAULTS------------------------*/ /* * This function loads the shipvals array with the default values for the * ships. They can later be changed with the sysdefaults. */ void getshipdefaults() { int i; for (i = 0; i < NUM_TYPES; i++) shipvals[i].s_type = i; /* comprehensive definition of SCOUT */ shipvals[SCOUT].s_alttype = 0; strcpy(shipvals[SCOUT].s_name, "Scout"); shipvals[SCOUT].s_turns = 570000; shipvals[SCOUT].s_imp.acc = 200; shipvals[SCOUT].s_imp.dec = 300; /* was: 270; (BG) */ shipvals[SCOUT].s_imp.cost = 2; shipvals[SCOUT].s_imp.maxspeed = 12; shipvals[SCOUT].s_imp.etemp = 1000; shipvals[SCOUT].s_after.acc = 700; shipvals[SCOUT].s_after.dec = 270; shipvals[SCOUT].s_after.cost = 40; shipvals[SCOUT].s_after.maxspeed = 14; shipvals[SCOUT].s_after.etemp = 35000; if (configvals->bronco_shipvals) { shipvals[SCOUT].s_warp.acc = 10000; shipvals[SCOUT].s_warp.dec = 200; shipvals[SCOUT].s_warp.cost = 14; shipvals[SCOUT].s_warp.maxspeed = 19; shipvals[SCOUT].s_warp.etemp = 9000; shipvals[SCOUT].s_warpinitcost = 909; shipvals[SCOUT].s_warpinittime = 30; shipvals[SCOUT].s_warpprepspeed = 2; } else { shipvals[SCOUT].s_warp.acc = 10000; shipvals[SCOUT].s_warp.dec = 200; shipvals[SCOUT].s_warp.cost = 13; /* was: 14; (BG) */ shipvals[SCOUT].s_warp.maxspeed = 32; /* was: 27; (BG) */ shipvals[SCOUT].s_warp.etemp = 9000; shipvals[SCOUT].s_warpinitcost = 909; shipvals[SCOUT].s_warpinittime = 30; shipvals[SCOUT].s_warpprepspeed = 3; } shipvals[SCOUT].s_mass = 1500; shipvals[SCOUT].s_tractstr = 2000; shipvals[SCOUT].s_tractrng = 0.7; shipvals[SCOUT].s_tractcost = 3; shipvals[SCOUT].s_tractetemp = 1000; shipvals[SCOUT].s_torp.damage = 25; shipvals[SCOUT].s_torp.speed = 16; shipvals[SCOUT].s_torp.cost = 175; #ifndef OLDSHIPVALS shipvals[SCOUT].s_torp.fuse = 16; #else shipvals[SCOUT].s_torp.fuse = 15; #endif shipvals[SCOUT].s_torp.wtemp = 7; shipvals[SCOUT].s_torp.wtemp_halfarc = 32; shipvals[SCOUT].s_torp.wtemp_factor = 9; shipvals[SCOUT].s_torp.aux = 0; shipvals[SCOUT].s_phaser.damage = 75; shipvals[SCOUT].s_phaser.speed = 4500; shipvals[SCOUT].s_phaser.cost = 525; shipvals[SCOUT].s_phaser.fuse = 10; #ifndef OLDSHIPVALS shipvals[SCOUT].s_phaser.wtemp = 52; #else shipvals[SCOUT].s_phaser.wtemp = 50; #endif shipvals[SCOUT].s_missile.damage = 0; shipvals[SCOUT].s_missile.speed = 0; shipvals[SCOUT].s_missile.cost = 0; shipvals[SCOUT].s_missile.fuse = 0; shipvals[SCOUT].s_missile.wtemp = 0; shipvals[SCOUT].s_missile.count = 0; shipvals[SCOUT].s_missile.aux = 0; shipvals[SCOUT].s_missilestored = 0; shipvals[SCOUT].s_plasma.damage = -1; shipvals[SCOUT].s_plasma.speed = 0; shipvals[SCOUT].s_plasma.cost = 0; shipvals[SCOUT].s_plasma.fuse = 0; shipvals[SCOUT].s_plasma.wtemp = 50; shipvals[SCOUT].s_plasma.aux = 0; shipvals[SCOUT].s_maxwpntemp = 1000; shipvals[SCOUT].s_wpncoolrate = 3; if (configvals->bronco_shipvals) shipvals[SCOUT].s_maxegntemp = 1000; else shipvals[SCOUT].s_maxegntemp = 1500; shipvals[SCOUT].s_egncoolrate = 8; shipvals[SCOUT].s_maxfuel = 5000; shipvals[SCOUT].s_recharge = 16; shipvals[SCOUT].s_mingivefuel = 0; shipvals[SCOUT].s_takeonfuel = 150; if (configvals->fuel_explosions) { shipvals[SCOUT].s_expldam = 35; /* was: 40; (BG) */ shipvals[SCOUT].s_fueldam = 50; /* was: 45; (BG) */ } else { shipvals[SCOUT].s_expldam = 75; shipvals[SCOUT].s_fueldam = 0; } shipvals[SCOUT].s_armyperkill = 2; shipvals[SCOUT].s_maxarmies = 2; if (configvals->bronco_shipvals) shipvals[SCOUT].s_bomb = 10; else shipvals[SCOUT].s_bomb = 0; shipvals[SCOUT].s_repair = 80; shipvals[SCOUT].s_maxdamage = 75; shipvals[SCOUT].s_maxshield = 75; shipvals[SCOUT].s_shieldcost = 2; shipvals[SCOUT].s_detcost = 100; shipvals[SCOUT].s_detdist = 1750; if (configvals->bronco_shipvals) { shipvals[SCOUT].s_cloakcost = 85; shipvals[SCOUT].s_scanrange = -1; } else { shipvals[SCOUT].s_cloakcost = 50; #ifdef LONG_SCANRANGE shipvals[SCOUT].s_scanrange = 8000; #else shipvals[SCOUT].s_scanrange = 5000; #endif } shipvals[SCOUT].s_numports = 0; shipvals[SCOUT].s_letter = 's'; shipvals[SCOUT].s_desig1 = 'S'; shipvals[SCOUT].s_desig2 = 'C'; shipvals[SCOUT].s_bitmap = 0; shipvals[SCOUT].s_width = 20; shipvals[SCOUT].s_height = 20; shipvals[SCOUT].s_timer = 0; shipvals[SCOUT].s_maxnum = 32; shipvals[SCOUT].s_rank = 0; shipvals[SCOUT].s_numdefn = 0; shipvals[SCOUT].s_numplan = 0; if (configvals->warpdrive) shipvals[SCOUT].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; else shipvals[SCOUT].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS; /* comprehensive definition of DESTROYER */ shipvals[DESTROYER].s_alttype = 1; strcpy(shipvals[DESTROYER].s_name, "Destroyer"); shipvals[DESTROYER].s_turns = 310000; shipvals[DESTROYER].s_imp.acc = 200; shipvals[DESTROYER].s_imp.dec = 300; shipvals[DESTROYER].s_imp.cost = 3; shipvals[DESTROYER].s_imp.maxspeed = 10; shipvals[DESTROYER].s_imp.etemp = 1000; shipvals[DESTROYER].s_after.acc = 700; shipvals[DESTROYER].s_after.dec = 270; shipvals[DESTROYER].s_after.cost = 100; shipvals[DESTROYER].s_after.maxspeed = 12; shipvals[DESTROYER].s_after.etemp = 40000; if (configvals->bronco_shipvals) { shipvals[DESTROYER].s_warp.acc = 10000; shipvals[DESTROYER].s_warp.dec = 300; shipvals[DESTROYER].s_warp.cost = 22; shipvals[DESTROYER].s_warp.maxspeed = 15; shipvals[DESTROYER].s_warp.etemp = 8000; shipvals[DESTROYER].s_warpinitcost = 1272; shipvals[DESTROYER].s_warpinittime = 50; shipvals[DESTROYER].s_warpprepspeed = 2; } else { shipvals[DESTROYER].s_warp.acc = 10000; shipvals[DESTROYER].s_warp.dec = 300; shipvals[DESTROYER].s_warp.cost = 21; /* was: 22; (BG) */ shipvals[DESTROYER].s_warp.maxspeed = 27; /* was: 22; (BG) */ shipvals[DESTROYER].s_warp.etemp = 8000; shipvals[DESTROYER].s_warpinitcost = 1272; shipvals[DESTROYER].s_warpinittime = 50; shipvals[DESTROYER].s_warpprepspeed = 3; } shipvals[DESTROYER].s_mass = 1800; shipvals[DESTROYER].s_tractstr = 2500; shipvals[DESTROYER].s_tractrng = 0.9; shipvals[DESTROYER].s_tractcost = 4; shipvals[DESTROYER].s_tractetemp = 1000; shipvals[DESTROYER].s_torp.damage = 30; shipvals[DESTROYER].s_torp.speed = 14; shipvals[DESTROYER].s_torp.cost = 210; shipvals[DESTROYER].s_torp.fuse = 30; shipvals[DESTROYER].s_torp.wtemp = 11; shipvals[DESTROYER].s_torp.wtemp_halfarc = 32; shipvals[DESTROYER].s_torp.wtemp_factor = 9; shipvals[DESTROYER].s_torp.aux = 0; shipvals[DESTROYER].s_phaser.damage = 85; shipvals[DESTROYER].s_phaser.speed = 5100; shipvals[DESTROYER].s_phaser.cost = 595; shipvals[DESTROYER].s_phaser.fuse = 10; shipvals[DESTROYER].s_phaser.wtemp = 59; shipvals[DESTROYER].s_missile.damage = 20; shipvals[DESTROYER].s_missile.speed = 8; shipvals[DESTROYER].s_missile.cost = 900; shipvals[DESTROYER].s_missile.fuse = 100; shipvals[DESTROYER].s_missile.wtemp = 100; shipvals[DESTROYER].s_missile.count = 2; shipvals[DESTROYER].s_missile.aux = 2; shipvals[DESTROYER].s_missilestored = 8; shipvals[DESTROYER].s_plasma.damage = 75; shipvals[DESTROYER].s_plasma.speed = 15; shipvals[DESTROYER].s_plasma.cost = 2250; shipvals[DESTROYER].s_plasma.fuse = 30; shipvals[DESTROYER].s_plasma.wtemp = 217; shipvals[DESTROYER].s_plasma.aux = 1; shipvals[DESTROYER].s_maxwpntemp = 1000; shipvals[DESTROYER].s_wpncoolrate = 2; if (configvals->bronco_shipvals) shipvals[DESTROYER].s_maxegntemp = 1000; else shipvals[DESTROYER].s_maxegntemp = 1500; shipvals[DESTROYER].s_egncoolrate = 7; shipvals[DESTROYER].s_maxfuel = 7000; shipvals[DESTROYER].s_recharge = 22; shipvals[DESTROYER].s_mingivefuel = 0; shipvals[DESTROYER].s_takeonfuel = 150; if (configvals->fuel_explosions) { shipvals[DESTROYER].s_expldam = 65; /* was: 50; (BG) */ shipvals[DESTROYER].s_fueldam = 45; /* was: 50; (BG) */ } else { shipvals[DESTROYER].s_expldam = 100; shipvals[DESTROYER].s_fueldam = 0; } shipvals[DESTROYER].s_armyperkill = 2; #ifndef OLDSHIPVALS shipvals[DESTROYER].s_maxarmies = 4; #else shipvals[DESTROYER].s_maxarmies = 5; #endif if (configvals->bronco_shipvals) shipvals[DESTROYER].s_bomb = 10; else shipvals[DESTROYER].s_bomb = 5; shipvals[DESTROYER].s_repair = 100; shipvals[DESTROYER].s_maxdamage = 85; shipvals[DESTROYER].s_maxshield = 85; shipvals[DESTROYER].s_shieldcost = 3; shipvals[DESTROYER].s_detcost = 100; shipvals[DESTROYER].s_detdist = 1750; if (configvals->bronco_shipvals) { shipvals[DESTROYER].s_cloakcost = 105; shipvals[DESTROYER].s_scanrange = -1; } else { shipvals[DESTROYER].s_cloakcost = 75; shipvals[DESTROYER].s_scanrange = 1000; } shipvals[DESTROYER].s_numports = 0; shipvals[DESTROYER].s_letter = 'd'; shipvals[DESTROYER].s_desig1 = 'D'; shipvals[DESTROYER].s_desig2 = 'D'; shipvals[DESTROYER].s_bitmap = 1; shipvals[DESTROYER].s_width = 20; shipvals[DESTROYER].s_height = 20; shipvals[DESTROYER].s_timer = 0; shipvals[DESTROYER].s_maxnum = 32; shipvals[DESTROYER].s_rank = 0; shipvals[DESTROYER].s_numdefn = 0; shipvals[DESTROYER].s_numplan = 0; if (configvals->warpdrive) shipvals[DESTROYER].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; else shipvals[DESTROYER].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS; /* comprehensive definition of CRUISER */ shipvals[CRUISER].s_alttype = 2; strcpy(shipvals[CRUISER].s_name, "Cruiser"); shipvals[CRUISER].s_turns = 170000; shipvals[CRUISER].s_imp.acc = 150; shipvals[CRUISER].s_imp.dec = 200; shipvals[CRUISER].s_imp.cost = 4; shipvals[CRUISER].s_imp.maxspeed = 9; shipvals[CRUISER].s_imp.etemp = 1000; shipvals[CRUISER].s_after.acc = 550; shipvals[CRUISER].s_after.dec = 270; shipvals[CRUISER].s_after.cost = 200; shipvals[CRUISER].s_after.maxspeed = 11; shipvals[CRUISER].s_after.etemp = 50000; if (configvals->bronco_shipvals) { shipvals[CRUISER].s_warp.acc = 10000; shipvals[CRUISER].s_warp.dec = 500; shipvals[CRUISER].s_warp.cost = 25; shipvals[CRUISER].s_warp.maxspeed = 13; shipvals[CRUISER].s_warp.etemp = 7000; shipvals[CRUISER].s_warpinitcost = 1818; shipvals[CRUISER].s_warpinittime = 60; shipvals[CRUISER].s_warpprepspeed = 1; } else { shipvals[CRUISER].s_warp.acc = 10000; shipvals[CRUISER].s_warp.dec = 500; shipvals[CRUISER].s_warp.cost = 24; /* was: 25; (BG) */ shipvals[CRUISER].s_warp.maxspeed = 24; /* was: 19; (BG) */ shipvals[CRUISER].s_warp.etemp = 7000; shipvals[CRUISER].s_warpinitcost = 1818; shipvals[CRUISER].s_warpinittime = 60; shipvals[CRUISER].s_warpprepspeed = 2; } shipvals[CRUISER].s_mass = 2000; shipvals[CRUISER].s_tractstr = 3000; shipvals[CRUISER].s_tractrng = 1.0; shipvals[CRUISER].s_tractcost = 4; shipvals[CRUISER].s_tractetemp = 1000; shipvals[CRUISER].s_torp.damage = 40; shipvals[CRUISER].s_torp.speed = 12; shipvals[CRUISER].s_torp.cost = 280; shipvals[CRUISER].s_torp.fuse = 40; shipvals[CRUISER].s_torp.wtemp = 18; shipvals[CRUISER].s_torp.wtemp_halfarc = 32; shipvals[CRUISER].s_torp.wtemp_factor = 9; shipvals[CRUISER].s_torp.aux = 0; shipvals[CRUISER].s_phaser.damage = 100; #ifndef OLDSHIPVALS shipvals[CRUISER].s_phaser.speed = 6000; #else shipvals[CRUISER].s_phaser.speed = 5500; #endif shipvals[CRUISER].s_phaser.cost = 700; shipvals[CRUISER].s_phaser.fuse = 10; shipvals[CRUISER].s_phaser.wtemp = 70; shipvals[CRUISER].s_missile.damage = 25; shipvals[CRUISER].s_missile.speed = 7; shipvals[CRUISER].s_missile.cost = 900; shipvals[CRUISER].s_missile.fuse = 100; shipvals[CRUISER].s_missile.wtemp = 105; shipvals[CRUISER].s_missile.count = 3; shipvals[CRUISER].s_missile.aux = 2; shipvals[CRUISER].s_missilestored = 10; shipvals[CRUISER].s_plasma.damage = 100; shipvals[CRUISER].s_plasma.speed = 15; shipvals[CRUISER].s_plasma.cost = 3000; shipvals[CRUISER].s_plasma.fuse = 35; shipvals[CRUISER].s_plasma.wtemp = 292; shipvals[CRUISER].s_plasma.aux = 1; shipvals[CRUISER].s_maxwpntemp = 1000; shipvals[CRUISER].s_wpncoolrate = 2; if (configvals->bronco_shipvals) shipvals[CRUISER].s_maxegntemp = 1000; else shipvals[CRUISER].s_maxegntemp = 1500; shipvals[CRUISER].s_egncoolrate = 6; shipvals[CRUISER].s_maxfuel = 10000; shipvals[CRUISER].s_recharge = 24; shipvals[CRUISER].s_mingivefuel = 0; shipvals[CRUISER].s_takeonfuel = 150; if (configvals->fuel_explosions) { shipvals[CRUISER].s_expldam = 75; /* was: 50; (BG) */ shipvals[CRUISER].s_fueldam = 40; /* was: 65; (BG) */ } else { shipvals[CRUISER].s_expldam = 100; shipvals[CRUISER].s_fueldam = 0; } shipvals[CRUISER].s_armyperkill = 2; #ifndef OLDSHIPVALS shipvals[CRUISER].s_maxarmies = 6; #else shipvals[CRUISER].s_maxarmies = 10; #endif shipvals[CRUISER].s_bomb = 10; shipvals[CRUISER].s_repair = 110; shipvals[CRUISER].s_maxdamage = 100; shipvals[CRUISER].s_maxshield = 100; shipvals[CRUISER].s_shieldcost = 4; shipvals[CRUISER].s_detcost = 100; shipvals[CRUISER].s_detdist = 1750; if (configvals->bronco_shipvals) shipvals[CRUISER].s_cloakcost = 130; else shipvals[CRUISER].s_cloakcost = 100; #ifdef LONG_SCANRANGE shipvals[CRUISER].s_scanrange = 1000; #else shipvals[CRUISER].s_scanrange = -1; #endif shipvals[CRUISER].s_numports = 0; shipvals[CRUISER].s_letter = 'c'; shipvals[CRUISER].s_desig1 = 'C'; shipvals[CRUISER].s_desig2 = 'A'; shipvals[CRUISER].s_bitmap = 2; shipvals[CRUISER].s_width = 20; shipvals[CRUISER].s_height = 20; shipvals[CRUISER].s_timer = 0; shipvals[CRUISER].s_maxnum = 32; shipvals[CRUISER].s_rank = 0; shipvals[CRUISER].s_numdefn = 0; shipvals[CRUISER].s_numplan = 0; if (configvals->warpdrive) shipvals[CRUISER].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; else shipvals[CRUISER].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS; /* comprehensive definition of BATTLESHIP */ shipvals[BATTLESHIP].s_alttype = 3; strcpy(shipvals[BATTLESHIP].s_name, "Battleship"); shipvals[BATTLESHIP].s_turns = 75000; shipvals[BATTLESHIP].s_imp.acc = 80; shipvals[BATTLESHIP].s_imp.dec = 180; shipvals[BATTLESHIP].s_imp.cost = 6; shipvals[BATTLESHIP].s_imp.maxspeed = 8; shipvals[BATTLESHIP].s_imp.etemp = 1000; shipvals[BATTLESHIP].s_after.acc = 500; shipvals[BATTLESHIP].s_after.dec = 270; shipvals[BATTLESHIP].s_after.cost = 100; shipvals[BATTLESHIP].s_after.maxspeed = 10; shipvals[BATTLESHIP].s_after.etemp = 50000; if (configvals->bronco_shipvals) { shipvals[BATTLESHIP].s_warp.acc = 10000; shipvals[BATTLESHIP].s_warp.dec = 500; shipvals[BATTLESHIP].s_warp.cost = 37; shipvals[BATTLESHIP].s_warp.maxspeed = 11; shipvals[BATTLESHIP].s_warp.etemp = 7000; shipvals[BATTLESHIP].s_warpinitcost = 2545; shipvals[BATTLESHIP].s_warpinittime = 70; shipvals[BATTLESHIP].s_warpprepspeed = 0; } else { shipvals[BATTLESHIP].s_warp.acc = 10000; shipvals[BATTLESHIP].s_warp.dec = 500; shipvals[BATTLESHIP].s_warp.cost = 35; /* was: 37; (BG) */ shipvals[BATTLESHIP].s_warp.maxspeed = 21; /* was: 16; (BG) */ shipvals[BATTLESHIP].s_warp.etemp = 7000; shipvals[BATTLESHIP].s_warpinitcost = 2545; shipvals[BATTLESHIP].s_warpinittime = 70; shipvals[BATTLESHIP].s_warpprepspeed = 1; } shipvals[BATTLESHIP].s_mass = 2300; shipvals[BATTLESHIP].s_tractstr = 3700; shipvals[BATTLESHIP].s_tractrng = 1.2; shipvals[BATTLESHIP].s_tractcost = 4; shipvals[BATTLESHIP].s_tractetemp = 1000; shipvals[BATTLESHIP].s_torp.damage = 40; shipvals[BATTLESHIP].s_torp.speed = 12; shipvals[BATTLESHIP].s_torp.cost = 300; shipvals[BATTLESHIP].s_torp.fuse = 40; shipvals[BATTLESHIP].s_torp.wtemp = 20; shipvals[BATTLESHIP].s_torp.wtemp_halfarc = 32; shipvals[BATTLESHIP].s_torp.wtemp_factor = 9; shipvals[BATTLESHIP].s_torp.aux = 0; shipvals[BATTLESHIP].s_phaser.damage = 105; #ifndef OLDSHIPVALS shipvals[BATTLESHIP].s_phaser.speed = 6300; shipvals[BATTLESHIP].s_phaser.cost = 945; #else shipvals[BATTLESHIP].s_phaser.speed = 6000; shipvals[BATTLESHIP].s_phaser.cost = 900; #endif shipvals[BATTLESHIP].s_phaser.fuse = 10; shipvals[BATTLESHIP].s_phaser.wtemp = 94; shipvals[BATTLESHIP].s_missile.damage = 30; shipvals[BATTLESHIP].s_missile.speed = 5; shipvals[BATTLESHIP].s_missile.cost = 900; shipvals[BATTLESHIP].s_missile.fuse = 100; shipvals[BATTLESHIP].s_missile.wtemp = 100; shipvals[BATTLESHIP].s_missile.count = 4; shipvals[BATTLESHIP].s_missile.aux = 3; shipvals[BATTLESHIP].s_missilestored = 12; shipvals[BATTLESHIP].s_plasma.damage = 130; shipvals[BATTLESHIP].s_plasma.speed = 15; shipvals[BATTLESHIP].s_plasma.cost = 3900; shipvals[BATTLESHIP].s_plasma.fuse = 35; shipvals[BATTLESHIP].s_plasma.wtemp = 382; shipvals[BATTLESHIP].s_plasma.aux = 1; shipvals[BATTLESHIP].s_maxwpntemp = 1000; shipvals[BATTLESHIP].s_wpncoolrate = 3; if (configvals->bronco_shipvals) shipvals[BATTLESHIP].s_maxegntemp = 1000; else shipvals[BATTLESHIP].s_maxegntemp = 1500; shipvals[BATTLESHIP].s_egncoolrate = 6; shipvals[BATTLESHIP].s_maxfuel = 14000; shipvals[BATTLESHIP].s_recharge = 28; shipvals[BATTLESHIP].s_mingivefuel = 0; shipvals[BATTLESHIP].s_takeonfuel = 150; if (configvals->fuel_explosions) { shipvals[BATTLESHIP].s_expldam = 85; /* was: 50; (BG) */ shipvals[BATTLESHIP].s_fueldam = 35; /* was: 85; (BG) */ } else { shipvals[BATTLESHIP].s_expldam = 10; shipvals[BATTLESHIP].s_fueldam = 0; } shipvals[BATTLESHIP].s_armyperkill = 2; shipvals[BATTLESHIP].s_maxarmies = 6; shipvals[BATTLESHIP].s_bomb = 20; shipvals[BATTLESHIP].s_repair = 125; shipvals[BATTLESHIP].s_maxdamage = 130; shipvals[BATTLESHIP].s_maxshield = 130; shipvals[BATTLESHIP].s_shieldcost = 5; shipvals[BATTLESHIP].s_detcost = 100; shipvals[BATTLESHIP].s_detdist = 1750; shipvals[BATTLESHIP].s_cloakcost = 150; #ifdef LONG_SCANRANGE shipvals[BATTLESHIP].s_scanrange = 1000; #else shipvals[BATTLESHIP].s_scanrange = -1; #endif shipvals[BATTLESHIP].s_numports = 0; shipvals[BATTLESHIP].s_letter = 'b'; shipvals[BATTLESHIP].s_desig1 = 'B'; shipvals[BATTLESHIP].s_desig2 = 'B'; shipvals[BATTLESHIP].s_bitmap = 3; shipvals[BATTLESHIP].s_width = 20; shipvals[BATTLESHIP].s_height = 20; shipvals[BATTLESHIP].s_timer = 0; shipvals[BATTLESHIP].s_maxnum = 32; shipvals[BATTLESHIP].s_rank = 0; shipvals[BATTLESHIP].s_numdefn = 0; shipvals[BATTLESHIP].s_numplan = 0; shipvals[BATTLESHIP].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; /* comprehensive definition of ASSAULT */ shipvals[ASSAULT].s_alttype = 4; strcpy(shipvals[ASSAULT].s_name, "Assault"); shipvals[ASSAULT].s_turns = 120000; shipvals[ASSAULT].s_imp.acc = 100; shipvals[ASSAULT].s_imp.dec = 200; if (configvals->bronco_shipvals) shipvals[ASSAULT].s_imp.cost = 3; else shipvals[ASSAULT].s_imp.cost = 4; shipvals[ASSAULT].s_imp.maxspeed = 8; shipvals[ASSAULT].s_imp.etemp = 1000; shipvals[ASSAULT].s_after.acc = 550; shipvals[ASSAULT].s_after.dec = 270; shipvals[ASSAULT].s_after.cost = 25; shipvals[ASSAULT].s_after.maxspeed = 10; shipvals[ASSAULT].s_after.etemp = 50000; if (configvals->bronco_shipvals) { shipvals[ASSAULT].s_warp.acc = 10000; shipvals[ASSAULT].s_warp.dec = 5000; shipvals[ASSAULT].s_warp.cost = 20; shipvals[ASSAULT].s_warp.maxspeed = 12; shipvals[ASSAULT].s_warp.etemp = 6500; shipvals[ASSAULT].s_warpinitcost = 1000; shipvals[ASSAULT].s_warpinittime = 80; shipvals[ASSAULT].s_warpprepspeed = 0; } else { shipvals[ASSAULT].s_warp.acc = 10000; shipvals[ASSAULT].s_warp.dec = 5000; shipvals[ASSAULT].s_warp.cost = 20; shipvals[ASSAULT].s_warp.maxspeed = 23; /* was: 18; (BG) */ shipvals[ASSAULT].s_warp.etemp = 6500; shipvals[ASSAULT].s_warpinitcost = 1000; shipvals[ASSAULT].s_warpinittime = 80; shipvals[ASSAULT].s_warpprepspeed = 1; } shipvals[ASSAULT].s_mass = 2300; shipvals[ASSAULT].s_tractstr = 2500; shipvals[ASSAULT].s_tractrng = 0.7; shipvals[ASSAULT].s_tractcost = 3; shipvals[ASSAULT].s_tractetemp = 1000; shipvals[ASSAULT].s_torp.damage = 30; shipvals[ASSAULT].s_torp.speed = 16; shipvals[ASSAULT].s_torp.cost = 270; shipvals[ASSAULT].s_torp.fuse = 30; shipvals[ASSAULT].s_torp.wtemp = 17; shipvals[ASSAULT].s_torp.wtemp_halfarc = 32; shipvals[ASSAULT].s_torp.wtemp_factor = 9; shipvals[ASSAULT].s_torp.aux = 0; shipvals[ASSAULT].s_phaser.damage = 80; shipvals[ASSAULT].s_phaser.speed = 4800; shipvals[ASSAULT].s_phaser.cost = 560; shipvals[ASSAULT].s_phaser.fuse = 10; shipvals[ASSAULT].s_phaser.wtemp = 56; shipvals[ASSAULT].s_missile.damage = 0; shipvals[ASSAULT].s_missile.speed = 0; shipvals[ASSAULT].s_missile.cost = 0; shipvals[ASSAULT].s_missile.fuse = 0; shipvals[ASSAULT].s_missile.wtemp = 0; shipvals[ASSAULT].s_missile.count = 0; shipvals[ASSAULT].s_missile.aux = 0; shipvals[ASSAULT].s_missilestored = 0; shipvals[ASSAULT].s_plasma.damage = -1; shipvals[ASSAULT].s_plasma.speed = 0; shipvals[ASSAULT].s_plasma.cost = 0; shipvals[ASSAULT].s_plasma.fuse = 0; shipvals[ASSAULT].s_plasma.wtemp = 5; shipvals[ASSAULT].s_plasma.aux = 0; shipvals[ASSAULT].s_maxwpntemp = 1000; shipvals[ASSAULT].s_wpncoolrate = 2; if (configvals->bronco_shipvals) shipvals[ASSAULT].s_maxegntemp = 1000; else shipvals[ASSAULT].s_maxegntemp = 1700; shipvals[ASSAULT].s_egncoolrate = 6; shipvals[ASSAULT].s_maxfuel = 6000; if (configvals->bronco_shipvals) shipvals[ASSAULT].s_recharge = 20; else shipvals[ASSAULT].s_recharge = 24; shipvals[ASSAULT].s_mingivefuel = 0; shipvals[ASSAULT].s_takeonfuel = 150; if (configvals->fuel_explosions) { shipvals[ASSAULT].s_expldam = 70; /* was: 50; (BG) */ shipvals[ASSAULT].s_fueldam = 40; /* was: 45; (BG) */ } else { shipvals[ASSAULT].s_expldam = 100; shipvals[ASSAULT].s_fueldam = 0; } shipvals[ASSAULT].s_armyperkill = 3; shipvals[ASSAULT].s_maxarmies = 20; if (configvals->bronco_shipvals) shipvals[ASSAULT].s_bomb = 25; else shipvals[ASSAULT].s_bomb = 50; shipvals[ASSAULT].s_repair = 120; shipvals[ASSAULT].s_maxdamage = 200; shipvals[ASSAULT].s_maxshield = 80; shipvals[ASSAULT].s_shieldcost = 3; shipvals[ASSAULT].s_detcost = 100; shipvals[ASSAULT].s_detdist = 1750; if (configvals->bronco_shipvals) shipvals[ASSAULT].s_cloakcost = 85; else shipvals[ASSAULT].s_cloakcost = 80; #ifdef LONG_SCANRANGE shipvals[ASSAULT].s_scanrange = 1000; #else shipvals[ASSAULT].s_scanrange = -1; #endif shipvals[ASSAULT].s_numports = 0; shipvals[ASSAULT].s_letter = 'a'; shipvals[ASSAULT].s_desig1 = 'A'; shipvals[ASSAULT].s_desig2 = 'S'; shipvals[ASSAULT].s_bitmap = 4; shipvals[ASSAULT].s_width = 20; shipvals[ASSAULT].s_height = 20; shipvals[ASSAULT].s_timer = 0; shipvals[ASSAULT].s_maxnum = 32; shipvals[ASSAULT].s_rank = 0; shipvals[ASSAULT].s_numdefn = 0; shipvals[ASSAULT].s_numplan = 0; if (configvals->warpdrive) shipvals[ASSAULT].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; else shipvals[ASSAULT].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS; /* comprehensive definition of STARBASE */ shipvals[STARBASE].s_alttype = 5; strcpy(shipvals[STARBASE].s_name, "Starbase"); shipvals[STARBASE].s_turns = 50000; shipvals[STARBASE].s_imp.acc = 100; shipvals[STARBASE].s_imp.dec = 200; if (configvals->bronco_shipvals) shipvals[STARBASE].s_imp.cost = 10; else shipvals[STARBASE].s_imp.cost = 4; #ifdef BEEFY_BASES shipvals[STARBASE].s_imp.maxspeed = 3; #else shipvals[STARBASE].s_imp.maxspeed = 2; #endif shipvals[STARBASE].s_imp.etemp = 1000; shipvals[STARBASE].s_after.acc = 100; shipvals[STARBASE].s_after.dec = 100; shipvals[STARBASE].s_after.cost = 40; shipvals[STARBASE].s_after.maxspeed = 5; shipvals[STARBASE].s_after.etemp = 30000; if (configvals->bronco_shipvals) { shipvals[STARBASE].s_warp.acc = 100; shipvals[STARBASE].s_warp.dec = 100; shipvals[STARBASE].s_warp.cost = 20; shipvals[STARBASE].s_warp.maxspeed = 4; shipvals[STARBASE].s_warp.etemp = 1500; shipvals[STARBASE].s_warpinitcost = 10909; shipvals[STARBASE].s_warpinittime = 100; shipvals[STARBASE].s_warpprepspeed = 1; } else { shipvals[STARBASE].s_warp.acc = 100; shipvals[STARBASE].s_warp.dec = 100; shipvals[STARBASE].s_warp.cost = 20; shipvals[STARBASE].s_warp.maxspeed = 6; shipvals[STARBASE].s_warp.etemp = 1500; shipvals[STARBASE].s_warpinitcost = 10909; shipvals[STARBASE].s_warpinittime = 100; shipvals[STARBASE].s_warpprepspeed = 2; } shipvals[STARBASE].s_mass = 5000; shipvals[STARBASE].s_tractstr = 8000; shipvals[STARBASE].s_tractrng = 1.5; shipvals[STARBASE].s_tractcost = 10; shipvals[STARBASE].s_tractetemp = 3000; shipvals[STARBASE].s_torp.damage = 30; shipvals[STARBASE].s_torp.speed = 14; shipvals[STARBASE].s_torp.cost = 300; if (configvals->bronco_shipvals) shipvals[STARBASE].s_torp.fuse = 30; else shipvals[STARBASE].s_torp.fuse = 45; shipvals[STARBASE].s_torp.wtemp = 20; shipvals[STARBASE].s_torp.wtemp_halfarc = 0; shipvals[STARBASE].s_torp.wtemp_factor = 0; shipvals[STARBASE].s_torp.aux = 0; shipvals[STARBASE].s_phaser.damage = 120; #ifndef OLDSHIPVALS shipvals[STARBASE].s_phaser.speed = 7200; shipvals[STARBASE].s_phaser.wtemp = 96; #else shipvals[STARBASE].s_phaser.speed = 6500; shipvals[STARBASE].s_phaser.wtemp = 66; #endif shipvals[STARBASE].s_phaser.cost = 960; shipvals[STARBASE].s_phaser.fuse = 4; shipvals[STARBASE].s_missile.damage = 40; shipvals[STARBASE].s_missile.speed = 14; shipvals[STARBASE].s_missile.cost = 2000; shipvals[STARBASE].s_missile.fuse = 100; shipvals[STARBASE].s_missile.wtemp = 120; shipvals[STARBASE].s_missile.count = 4; shipvals[STARBASE].s_missile.aux = 2; shipvals[STARBASE].s_missilestored = -1; shipvals[STARBASE].s_plasma.damage = 150; shipvals[STARBASE].s_plasma.speed = 15; shipvals[STARBASE].s_plasma.cost = 3750; if (configvals->bronco_shipvals) shipvals[STARBASE].s_plasma.fuse = 25; else shipvals[STARBASE].s_plasma.fuse = 40; shipvals[STARBASE].s_plasma.wtemp = 367; shipvals[STARBASE].s_plasma.aux = 1; shipvals[STARBASE].s_maxwpntemp = 1300; #ifdef BEEFY_BASES shipvals[STARBASE].s_wpncoolrate = 7; #else shipvals[STARBASE].s_wpncoolrate = 4; #endif if (configvals->bronco_shipvals) shipvals[STARBASE].s_maxegntemp = 1000; else shipvals[STARBASE].s_maxegntemp = 1300; shipvals[STARBASE].s_egncoolrate = 10; shipvals[STARBASE].s_maxfuel = 60000; #ifdef BEEFY_BASES shipvals[STARBASE].s_recharge = 90; #else shipvals[STARBASE].s_recharge = 70; #endif shipvals[STARBASE].s_mingivefuel = 10000; shipvals[STARBASE].s_takeonfuel = 150; if (configvals->fuel_explosions) { shipvals[STARBASE].s_expldam = 150; /* was: 100; (BG) */ shipvals[STARBASE].s_fueldam = 100; } else { shipvals[STARBASE].s_expldam = 200; shipvals[STARBASE].s_fueldam = 0; } shipvals[STARBASE].s_armyperkill = 5; shipvals[STARBASE].s_maxarmies = 25; shipvals[STARBASE].s_bomb = 50; shipvals[STARBASE].s_repair = 170; /* was: 140; (BG) */ shipvals[STARBASE].s_maxdamage = 600; shipvals[STARBASE].s_maxshield = 500; shipvals[STARBASE].s_shieldcost = 10; shipvals[STARBASE].s_detcost = 100; shipvals[STARBASE].s_detdist = 1800; if (configvals->bronco_shipvals) { shipvals[STARBASE].s_cloakcost = 375; shipvals[STARBASE].s_scanrange = -1; shipvals[STARBASE].s_numports = 4; } else { shipvals[STARBASE].s_cloakcost = 750; #ifdef LONG_SCANRANGE shipvals[STARBASE].s_scanrange = 10000; #else shipvals[STARBASE].s_scanrange = 5000; #endif shipvals[STARBASE].s_numports = 6; } shipvals[STARBASE].s_letter = 'o'; shipvals[STARBASE].s_desig1 = 'S'; shipvals[STARBASE].s_desig2 = 'B'; shipvals[STARBASE].s_bitmap = 5; shipvals[STARBASE].s_width = 20; shipvals[STARBASE].s_height = 20; shipvals[STARBASE].s_timer = 30; shipvals[STARBASE].s_maxnum = 1; shipvals[STARBASE].s_rank = 4; shipvals[STARBASE].s_numdefn = 4; if (configvals->bronco_shipvals) shipvals[STARBASE].s_numplan = 5; else shipvals[STARBASE].s_numplan = 7; if (configvals->warpdrive) shipvals[STARBASE].s_nflags = SFNCANWARP | SFNCANFUEL | SFNCANREPAIR | SFNCANREFIT | SFNHASPHASERS | SFNPLASMASTYLE | SFNPLASMAARMED | SFNHASMISSILE; else shipvals[STARBASE].s_nflags = SFNCANFUEL | SFNCANREPAIR | SFNCANREFIT | SFNHASPHASERS | SFNPLASMASTYLE | SFNPLASMAARMED | SFNHASMISSILE; /* comprehensive definition of ATT */ shipvals[ATT].s_alttype = 6; strcpy(shipvals[ATT].s_name, "AT&T"); shipvals[ATT].s_turns = 1000000; shipvals[ATT].s_imp.acc = 10000; shipvals[ATT].s_imp.dec = 9000; shipvals[ATT].s_imp.cost = 1; shipvals[ATT].s_imp.maxspeed = 90; shipvals[ATT].s_imp.etemp = 0; shipvals[ATT].s_after.acc = 550; shipvals[ATT].s_after.dec = 270; shipvals[ATT].s_after.cost = 1; shipvals[ATT].s_after.maxspeed = 99; shipvals[ATT].s_after.etemp = 5; shipvals[ATT].s_warp.acc = 32000; shipvals[ATT].s_warp.dec = 32000; shipvals[ATT].s_warp.cost = 1; shipvals[ATT].s_warp.maxspeed = 99; shipvals[ATT].s_warp.etemp = 1; shipvals[ATT].s_warpinitcost = 1; shipvals[ATT].s_warpinittime = 1; shipvals[ATT].s_warpprepspeed = 0; shipvals[ATT].s_mass = 6000; shipvals[ATT].s_tractstr = 32000; shipvals[ATT].s_tractrng = 3; shipvals[ATT].s_tractcost = 1; shipvals[ATT].s_tractetemp = 3; shipvals[ATT].s_torp.damage = 40; shipvals[ATT].s_torp.speed = 20; shipvals[ATT].s_torp.cost = 1; shipvals[ATT].s_torp.fuse = 20; shipvals[ATT].s_torp.wtemp = 1; shipvals[ATT].s_torp.wtemp_halfarc = 0; shipvals[ATT].s_torp.wtemp_factor = 0; shipvals[ATT].s_torp.aux = 1; shipvals[ATT].s_phaser.damage = 110; shipvals[ATT].s_phaser.speed = 32000; shipvals[ATT].s_phaser.cost = 1; shipvals[ATT].s_phaser.fuse = 5; shipvals[ATT].s_phaser.wtemp = 5; shipvals[ATT].s_missile.damage = 0; shipvals[ATT].s_missile.speed = 0; shipvals[ATT].s_missile.cost = 0; shipvals[ATT].s_missile.fuse = 0; shipvals[ATT].s_missile.wtemp = 0; shipvals[ATT].s_missile.count = 0; shipvals[ATT].s_missile.aux = 0; shipvals[ATT].s_missilestored = 0; shipvals[ATT].s_plasma.damage = 150; shipvals[ATT].s_plasma.speed = 15; shipvals[ATT].s_plasma.cost = 1; shipvals[ATT].s_plasma.fuse = 20; shipvals[ATT].s_plasma.wtemp = 5; shipvals[ATT].s_plasma.aux = 2; shipvals[ATT].s_maxwpntemp = 10000; shipvals[ATT].s_wpncoolrate = 100; shipvals[ATT].s_maxegntemp = 10000; shipvals[ATT].s_egncoolrate = 100; shipvals[ATT].s_maxfuel = 60000; shipvals[ATT].s_recharge = 1000; shipvals[ATT].s_mingivefuel = 0; shipvals[ATT].s_takeonfuel = 150; shipvals[ATT].s_expldam = 500; shipvals[ATT].s_fueldam = 500; shipvals[ATT].s_armyperkill = 1.5; shipvals[ATT].s_maxarmies = 1000; shipvals[ATT].s_bomb = -2100; shipvals[ATT].s_repair = 30000; shipvals[ATT].s_maxdamage = 30000; shipvals[ATT].s_maxshield = 30000; shipvals[ATT].s_shieldcost = 1; shipvals[ATT].s_detcost = 1; shipvals[ATT].s_detdist = 3000; shipvals[ATT].s_cloakcost = 1; shipvals[ATT].s_scanrange = 10000; shipvals[ATT].s_numports = 0; shipvals[ATT].s_letter = '.'; shipvals[ATT].s_desig1 = 'A'; shipvals[ATT].s_desig2 = 'T'; shipvals[ATT].s_bitmap = 6; shipvals[ATT].s_width = 28; shipvals[ATT].s_height = 28; shipvals[ATT].s_timer = 5; shipvals[ATT].s_maxnum = 32; shipvals[ATT].s_rank = 0; shipvals[ATT].s_numdefn = 0; shipvals[ATT].s_numplan = 0; shipvals[ATT].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS | SFNPLASMASTYLE | SFNPLASMAARMED; /* comprehensive definition of JUMPSHIP */ shipvals[JUMPSHIP].s_alttype = 5; strcpy(shipvals[JUMPSHIP].s_name, "Jumpship"); shipvals[JUMPSHIP].s_turns = 700000; if (configvals->bronco_shipvals) { shipvals[JUMPSHIP].s_imp.acc = 1000; shipvals[JUMPSHIP].s_imp.dec = 500; } else { shipvals[JUMPSHIP].s_imp.acc = 2000; shipvals[JUMPSHIP].s_imp.dec = 1000; } shipvals[JUMPSHIP].s_imp.cost = 1; shipvals[JUMPSHIP].s_imp.maxspeed = 20; shipvals[JUMPSHIP].s_imp.etemp = 1000; shipvals[JUMPSHIP].s_after.acc = 2000; shipvals[JUMPSHIP].s_after.dec = 2000; #ifndef OLDSHIPVALS shipvals[JUMPSHIP].s_after.maxspeed = 30; shipvals[JUMPSHIP].s_after.etemp = 200000; shipvals[JUMPSHIP].s_after.cost = 1000; shipvals[JUMPSHIP].s_warp.cost = 200; #else shipvals[JUMPSHIP].s_after.maxspeed = 60; shipvals[JUMPSHIP].s_after.etemp = 90000; shipvals[JUMPSHIP].s_after.cost = 15; shipvals[JUMPSHIP].s_warp.cost = 2; #endif shipvals[JUMPSHIP].s_warp.acc = 2000; shipvals[JUMPSHIP].s_warp.dec = 3000; if (configvals->bronco_shipvals) shipvals[JUMPSHIP].s_warp.maxspeed = 32; else shipvals[JUMPSHIP].s_warp.maxspeed = 45; shipvals[JUMPSHIP].s_warp.etemp = 500; shipvals[JUMPSHIP].s_warpinitcost = 1; shipvals[JUMPSHIP].s_warpinittime = 7; shipvals[JUMPSHIP].s_warpprepspeed = 2; shipvals[JUMPSHIP].s_mass = 10000; shipvals[JUMPSHIP].s_tractstr = 5000; shipvals[JUMPSHIP].s_tractrng = 1.5; #ifndef OLDSHIPVALS shipvals[JUMPSHIP].s_tractcost = 8; #else shipvals[JUMPSHIP].s_tractcost = 3; #endif shipvals[JUMPSHIP].s_tractetemp = 5000; shipvals[JUMPSHIP].s_torp.damage = 5; shipvals[JUMPSHIP].s_torp.speed = 18; shipvals[JUMPSHIP].s_torp.cost = 1000; shipvals[JUMPSHIP].s_torp.fuse = 10; shipvals[JUMPSHIP].s_torp.wtemp = 99; shipvals[JUMPSHIP].s_torp.wtemp_halfarc = 32; shipvals[JUMPSHIP].s_torp.wtemp_factor = 9; shipvals[JUMPSHIP].s_torp.aux = 0; shipvals[JUMPSHIP].s_phaser.damage = 25; shipvals[JUMPSHIP].s_phaser.speed = 3000; shipvals[JUMPSHIP].s_phaser.cost = 500; shipvals[JUMPSHIP].s_phaser.fuse = 4; shipvals[JUMPSHIP].s_phaser.wtemp = 5; shipvals[JUMPSHIP].s_missile.damage = 0; shipvals[JUMPSHIP].s_missile.speed = 0; shipvals[JUMPSHIP].s_missile.cost = 0; shipvals[JUMPSHIP].s_missile.fuse = 0; shipvals[JUMPSHIP].s_missile.wtemp = 0; shipvals[JUMPSHIP].s_missile.count = 0; shipvals[JUMPSHIP].s_missile.aux = 0; shipvals[JUMPSHIP].s_missilestored = 0; shipvals[JUMPSHIP].s_plasma.damage = -1; shipvals[JUMPSHIP].s_plasma.speed = 15; shipvals[JUMPSHIP].s_plasma.cost = 0; shipvals[JUMPSHIP].s_plasma.fuse = 25; shipvals[JUMPSHIP].s_plasma.wtemp = 5; shipvals[JUMPSHIP].s_plasma.aux = 1; shipvals[JUMPSHIP].s_maxwpntemp = 1300; shipvals[JUMPSHIP].s_wpncoolrate = 4; shipvals[JUMPSHIP].s_maxegntemp = 5000; shipvals[JUMPSHIP].s_egncoolrate = 34; shipvals[JUMPSHIP].s_maxfuel = 50000; shipvals[JUMPSHIP].s_recharge = 200; shipvals[JUMPSHIP].s_mingivefuel = 10000; shipvals[JUMPSHIP].s_takeonfuel = 150; if (configvals->fuel_explosions) { shipvals[JUMPSHIP].s_expldam = 25; /* was: 30; */ shipvals[JUMPSHIP].s_fueldam = 175; /* was: 160; */ } else { shipvals[JUMPSHIP].s_expldam = 150; shipvals[JUMPSHIP].s_fueldam = 0; } shipvals[JUMPSHIP].s_armyperkill = 0; shipvals[JUMPSHIP].s_maxarmies = 0; shipvals[JUMPSHIP].s_bomb = 30; shipvals[JUMPSHIP].s_repair = 200; shipvals[JUMPSHIP].s_maxdamage = 60; shipvals[JUMPSHIP].s_maxshield = 5; shipvals[JUMPSHIP].s_shieldcost = 5; shipvals[JUMPSHIP].s_detcost = 100; shipvals[JUMPSHIP].s_detdist = 1750; shipvals[JUMPSHIP].s_cloakcost = 1000; shipvals[JUMPSHIP].s_scanrange = -1; shipvals[JUMPSHIP].s_numports = 4; shipvals[JUMPSHIP].s_letter = 'j'; shipvals[JUMPSHIP].s_desig1 = 'J'; shipvals[JUMPSHIP].s_desig2 = 'S'; shipvals[JUMPSHIP].s_bitmap = 7; shipvals[JUMPSHIP].s_width = 20; shipvals[JUMPSHIP].s_height = 20; shipvals[JUMPSHIP].s_timer = 5; shipvals[JUMPSHIP].s_maxnum = 1; shipvals[JUMPSHIP].s_rank = 3; shipvals[JUMPSHIP].s_numdefn = 3; shipvals[JUMPSHIP].s_numplan = 0; /* UFL says jumpships shouldn't refit. */ if (configvals->warpdrive) shipvals[JUMPSHIP].s_nflags = SFNCANWARP | SFNCANFUEL | SFNHASPHASERS | SFNCANREFIT; else shipvals[JUMPSHIP].s_nflags = SFNCANFUEL | SFNHASPHASERS | SFNCANREFIT; /* comprehensive definition of FRIGATE */ shipvals[FRIGATE].s_alttype = 4; strcpy(shipvals[FRIGATE].s_name, "Frigate"); shipvals[FRIGATE].s_turns = 122500; shipvals[FRIGATE].s_imp.acc = 115; shipvals[FRIGATE].s_imp.dec = 190; shipvals[FRIGATE].s_imp.cost = 5; shipvals[FRIGATE].s_imp.maxspeed = 9; shipvals[FRIGATE].s_imp.etemp = 1000; shipvals[FRIGATE].s_after.acc = 525; shipvals[FRIGATE].s_after.dec = 270; shipvals[FRIGATE].s_after.cost = 150; shipvals[FRIGATE].s_after.maxspeed = 10; shipvals[FRIGATE].s_after.etemp = 50000; shipvals[FRIGATE].s_warp.acc = 10000; shipvals[FRIGATE].s_warp.dec = 500; shipvals[FRIGATE].s_warp.cost = 30; if (configvals->bronco_shipvals) shipvals[FRIGATE].s_warp.maxspeed = 12; else shipvals[FRIGATE].s_warp.maxspeed = 23; shipvals[FRIGATE].s_warp.etemp = 7000; shipvals[FRIGATE].s_warpinitcost = 2272; shipvals[FRIGATE].s_warpinittime = 65; if (configvals->bronco_shipvals) shipvals[FRIGATE].s_warpprepspeed = 1; else shipvals[FRIGATE].s_warpprepspeed = 2; shipvals[FRIGATE].s_mass = 2150; shipvals[FRIGATE].s_tractstr = 3400; shipvals[FRIGATE].s_tractrng = 1.1; shipvals[FRIGATE].s_tractcost = 4; shipvals[FRIGATE].s_tractetemp = 1000; shipvals[FRIGATE].s_torp.damage = 40; shipvals[FRIGATE].s_torp.speed = 12; shipvals[FRIGATE].s_torp.cost = 290; shipvals[FRIGATE].s_torp.fuse = 40; shipvals[FRIGATE].s_torp.wtemp = 19; shipvals[FRIGATE].s_torp.wtemp_halfarc = 32; shipvals[FRIGATE].s_torp.wtemp_factor = 9; shipvals[FRIGATE].s_torp.aux = 0; #ifndef OLDSHIPVALS shipvals[FRIGATE].s_phaser.damage = 102; shipvals[FRIGATE].s_phaser.speed = 6150; shipvals[FRIGATE].s_phaser.cost = 816; #else shipvals[FRIGATE].s_phaser.damage = 100; shipvals[FRIGATE].s_phaser.speed = 5750; shipvals[FRIGATE].s_phaser.cost = 800; #endif shipvals[FRIGATE].s_phaser.fuse = 10; shipvals[FRIGATE].s_phaser.wtemp = 80; shipvals[FRIGATE].s_missile.damage = 23; shipvals[FRIGATE].s_missile.speed = 6; shipvals[FRIGATE].s_missile.cost = 850; shipvals[FRIGATE].s_missile.fuse = 100; shipvals[FRIGATE].s_missile.wtemp = 100; shipvals[FRIGATE].s_missile.count = 3; shipvals[FRIGATE].s_missile.aux = 2; shipvals[FRIGATE].s_missilestored = 11; shipvals[FRIGATE].s_plasma.damage = 115; shipvals[FRIGATE].s_plasma.speed = 15; shipvals[FRIGATE].s_plasma.cost = 3450; shipvals[FRIGATE].s_plasma.fuse = 35; shipvals[FRIGATE].s_plasma.wtemp = 337; shipvals[FRIGATE].s_plasma.aux = 1; shipvals[FRIGATE].s_maxwpntemp = 1000; shipvals[FRIGATE].s_wpncoolrate = 3; shipvals[FRIGATE].s_maxegntemp = 1500; shipvals[FRIGATE].s_egncoolrate = 6; shipvals[FRIGATE].s_maxfuel = 12500; shipvals[FRIGATE].s_recharge = 26; shipvals[FRIGATE].s_mingivefuel = 0; shipvals[FRIGATE].s_takeonfuel = 150; if (configvals->fuel_explosions) { shipvals[FRIGATE].s_expldam = 77; /* was: 50; (BG) */ shipvals[FRIGATE].s_fueldam = 40; /* was: 72; (BG) */ } else { shipvals[FRIGATE].s_expldam = 100; shipvals[FRIGATE].s_fueldam = 0; } shipvals[FRIGATE].s_armyperkill = 2; #ifndef OLDSHIPVALS shipvals[FRIGATE].s_maxarmies = 6; #else shipvals[FRIGATE].s_maxarmies = 8; #endif shipvals[FRIGATE].s_bomb = 15; shipvals[FRIGATE].s_repair = 118; shipvals[FRIGATE].s_maxdamage = 115; shipvals[FRIGATE].s_maxshield = 115; shipvals[FRIGATE].s_shieldcost = 5; shipvals[FRIGATE].s_detcost = 100; shipvals[FRIGATE].s_detdist = 1750; if (configvals->bronco_shipvals) shipvals[FRIGATE].s_cloakcost = 140; else shipvals[FRIGATE].s_cloakcost = 125; #ifdef LONG_SCANRANGE shipvals[FRIGATE].s_scanrange = 1000; #else shipvals[FRIGATE].s_scanrange = -1; #endif shipvals[FRIGATE].s_numports = 0; shipvals[FRIGATE].s_letter = 'f'; shipvals[FRIGATE].s_desig1 = 'F'; shipvals[FRIGATE].s_desig2 = 'R'; shipvals[FRIGATE].s_bitmap = 8; shipvals[FRIGATE].s_width = 20; shipvals[FRIGATE].s_height = 20; shipvals[FRIGATE].s_timer = 0; shipvals[FRIGATE].s_maxnum = 32; shipvals[FRIGATE].s_rank = 0; shipvals[FRIGATE].s_numdefn = 0; shipvals[FRIGATE].s_numplan = 0; if (configvals->warpdrive) shipvals[FRIGATE].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; else shipvals[FRIGATE].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS; /* comprehensive definition of WARBASE */ shipvals[WARBASE].s_alttype = 5; strcpy(shipvals[WARBASE].s_name, "Warbase"); shipvals[WARBASE].s_turns = 90000; shipvals[WARBASE].s_imp.acc = 100; shipvals[WARBASE].s_imp.dec = 200; shipvals[WARBASE].s_imp.cost = 4; #ifdef BEEFY_BASES shipvals[WARBASE].s_imp.maxspeed = 3; #else shipvals[WARBASE].s_imp.maxspeed = 2; #endif shipvals[WARBASE].s_imp.etemp = 1000; shipvals[WARBASE].s_after.acc = 250; shipvals[WARBASE].s_after.dec = 100; shipvals[WARBASE].s_after.cost = 40; shipvals[WARBASE].s_after.maxspeed = 5; shipvals[WARBASE].s_after.etemp = 30000; shipvals[WARBASE].s_warp.acc = 80; shipvals[WARBASE].s_warp.dec = 80; shipvals[WARBASE].s_warp.cost = 6; if (configvals->bronco_shipvals) { shipvals[WARBASE].s_warp.maxspeed = 4; shipvals[WARBASE].s_warpprepspeed = 1; } else { shipvals[WARBASE].s_warp.maxspeed = 6; shipvals[WARBASE].s_warpprepspeed = 2; } shipvals[WARBASE].s_warp.etemp = 1500; shipvals[WARBASE].s_warpinitcost = 9090; shipvals[WARBASE].s_warpinittime = 100; shipvals[WARBASE].s_mass = 4000; shipvals[WARBASE].s_tractstr = 8000; shipvals[WARBASE].s_tractrng = 1.5; shipvals[WARBASE].s_tractcost = 10; shipvals[WARBASE].s_tractetemp = 3000; shipvals[WARBASE].s_torp.damage = 45; shipvals[WARBASE].s_torp.speed = 15; shipvals[WARBASE].s_torp.cost = 450; #ifndef OLDSHIPVALS shipvals[WARBASE].s_torp.fuse = 20; #else shipvals[WARBASE].s_torp.fuse = 18; #endif shipvals[WARBASE].s_torp.wtemp = 35; shipvals[WARBASE].s_torp.wtemp_halfarc = 32; shipvals[WARBASE].s_torp.wtemp_factor = 9; shipvals[WARBASE].s_torp.aux = 0; #ifndef OLDSHIPVALS shipvals[WARBASE].s_phaser.damage = 125; shipvals[WARBASE].s_phaser.speed = 7500; shipvals[WARBASE].s_phaser.cost = 1000; #else shipvals[WARBASE].s_phaser.damage = 135; shipvals[WARBASE].s_phaser.speed = 6000; shipvals[WARBASE].s_phaser.cost = 1150; #endif shipvals[WARBASE].s_phaser.fuse = 5; shipvals[WARBASE].s_phaser.wtemp = 90; shipvals[WARBASE].s_missile.damage = 40; shipvals[WARBASE].s_missile.speed = 14; shipvals[WARBASE].s_missile.cost = 2000; shipvals[WARBASE].s_missile.fuse = 100; shipvals[WARBASE].s_missile.wtemp = 120; shipvals[WARBASE].s_missile.count = 3; shipvals[WARBASE].s_missile.aux = 2; shipvals[WARBASE].s_missilestored = -1; shipvals[WARBASE].s_plasma.damage = 150; shipvals[WARBASE].s_plasma.speed = 15; shipvals[WARBASE].s_plasma.cost = 3750; shipvals[WARBASE].s_plasma.fuse = 40; shipvals[WARBASE].s_plasma.wtemp = 360; shipvals[WARBASE].s_plasma.aux = 1; shipvals[WARBASE].s_maxwpntemp = 1500; shipvals[WARBASE].s_wpncoolrate = 5; shipvals[WARBASE].s_maxegntemp = 1000; shipvals[WARBASE].s_egncoolrate = 10; shipvals[WARBASE].s_maxfuel = 50000; if (configvals->bronco_shipvals) shipvals[WARBASE].s_recharge = 70; else shipvals[WARBASE].s_recharge = 80; shipvals[WARBASE].s_mingivefuel = 10000; shipvals[WARBASE].s_takeonfuel = 150; shipvals[WARBASE].s_expldam = 100; shipvals[WARBASE].s_fueldam = 100; shipvals[WARBASE].s_armyperkill = 0; shipvals[WARBASE].s_maxarmies = 0; shipvals[WARBASE].s_bomb = 90; shipvals[WARBASE].s_repair = 170; /* was: 150; (BG) */ shipvals[WARBASE].s_maxdamage = 500; shipvals[WARBASE].s_maxshield = 250; shipvals[WARBASE].s_shieldcost = 10; shipvals[WARBASE].s_detcost = 100; shipvals[WARBASE].s_detdist = 1800; shipvals[WARBASE].s_cloakcost = 1000; shipvals[WARBASE].s_scanrange = 5000; shipvals[WARBASE].s_numports = 2; shipvals[WARBASE].s_letter = 'w'; shipvals[WARBASE].s_desig1 = 'W'; shipvals[WARBASE].s_desig2 = 'B'; shipvals[WARBASE].s_bitmap = 9; shipvals[WARBASE].s_width = 20; shipvals[WARBASE].s_height = 20; shipvals[WARBASE].s_timer = 15; shipvals[WARBASE].s_maxnum = 1; shipvals[WARBASE].s_rank = 3; shipvals[WARBASE].s_numdefn = 3; shipvals[WARBASE].s_numplan = 3; if (configvals->warpdrive) shipvals[WARBASE].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNCANFUEL | SFNCANREPAIR | SFNHASPHASERS | SFNPLASMASTYLE | SFNPLASMAARMED | SFNHASMISSILE; else shipvals[WARBASE].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANFUEL | SFNCANREPAIR | SFNHASPHASERS | SFNPLASMASTYLE | SFNPLASMAARMED | SFNHASMISSILE; /* comprehensive definition of LIGHTCRUISER */ shipvals[LIGHTCRUISER].s_alttype = 2; strcpy(shipvals[LIGHTCRUISER].s_name, "Light"); shipvals[LIGHTCRUISER].s_turns = 220000; /* was 225000 */ shipvals[LIGHTCRUISER].s_imp.acc = 190; shipvals[LIGHTCRUISER].s_imp.dec = 250; shipvals[LIGHTCRUISER].s_imp.cost = 3; shipvals[LIGHTCRUISER].s_imp.maxspeed = 10; shipvals[LIGHTCRUISER].s_imp.etemp = 1000; shipvals[LIGHTCRUISER].s_after.acc = 720; shipvals[LIGHTCRUISER].s_after.dec = 280; shipvals[LIGHTCRUISER].s_after.cost = 80; shipvals[LIGHTCRUISER].s_after.maxspeed = 12; shipvals[LIGHTCRUISER].s_after.etemp = 35000; shipvals[LIGHTCRUISER].s_warp.acc = 10000; shipvals[LIGHTCRUISER].s_warp.dec = 400; shipvals[LIGHTCRUISER].s_warp.cost = 24; if (configvals->bronco_shipvals) { shipvals[LIGHTCRUISER].s_warp.maxspeed = 16; shipvals[LIGHTCRUISER].s_warpprepspeed = 1; } else { shipvals[LIGHTCRUISER].s_warp.maxspeed = 27; /* was: 24; (BG) */ shipvals[LIGHTCRUISER].s_warpprepspeed = 2; } shipvals[LIGHTCRUISER].s_warp.etemp = 7000; shipvals[LIGHTCRUISER].s_warpinitcost = 1550; shipvals[LIGHTCRUISER].s_warpinittime = 45; shipvals[LIGHTCRUISER].s_mass = 1900; shipvals[LIGHTCRUISER].s_tractstr = 2700; shipvals[LIGHTCRUISER].s_tractrng = 0.9; shipvals[LIGHTCRUISER].s_tractcost = 3; shipvals[LIGHTCRUISER].s_tractetemp = 1000; shipvals[LIGHTCRUISER].s_torp.damage = 35; shipvals[LIGHTCRUISER].s_torp.speed = 13; #ifndef OLDSHIPVALS shipvals[LIGHTCRUISER].s_torp.cost = 245; #else shipvals[LIGHTCRUISER].s_torp.cost = 240; #endif shipvals[LIGHTCRUISER].s_torp.fuse = 35; shipvals[LIGHTCRUISER].s_torp.wtemp = 16; shipvals[LIGHTCRUISER].s_torp.wtemp_halfarc = 32; shipvals[LIGHTCRUISER].s_torp.wtemp_factor = 9; shipvals[LIGHTCRUISER].s_torp.aux = 0; shipvals[LIGHTCRUISER].s_phaser.damage = 90; #ifndef OLDSHIPVALS shipvals[LIGHTCRUISER].s_phaser.speed = 5400; shipvals[LIGHTCRUISER].s_phaser.cost = 630; #else shipvals[LIGHTCRUISER].s_phaser.speed = 5000; shipvals[LIGHTCRUISER].s_phaser.cost = 600; #endif shipvals[LIGHTCRUISER].s_phaser.fuse = 10; shipvals[LIGHTCRUISER].s_phaser.wtemp = 60; shipvals[LIGHTCRUISER].s_missile.damage = 22; shipvals[LIGHTCRUISER].s_missile.speed = 7; shipvals[LIGHTCRUISER].s_missile.cost = 800; shipvals[LIGHTCRUISER].s_missile.fuse = 100; shipvals[LIGHTCRUISER].s_missile.wtemp = 100; shipvals[LIGHTCRUISER].s_missile.count = 3; shipvals[LIGHTCRUISER].s_missile.aux = 2; shipvals[LIGHTCRUISER].s_missilestored = 9; shipvals[LIGHTCRUISER].s_plasma.damage = 90; shipvals[LIGHTCRUISER].s_plasma.speed = 15; shipvals[LIGHTCRUISER].s_plasma.cost = 2500; shipvals[LIGHTCRUISER].s_plasma.fuse = 30; shipvals[LIGHTCRUISER].s_plasma.wtemp = 242; shipvals[LIGHTCRUISER].s_plasma.aux = 1; shipvals[LIGHTCRUISER].s_maxwpntemp = 1000; shipvals[LIGHTCRUISER].s_wpncoolrate = 3; shipvals[LIGHTCRUISER].s_maxegntemp = 1500; shipvals[LIGHTCRUISER].s_egncoolrate = 6; shipvals[LIGHTCRUISER].s_maxfuel = 8500; shipvals[LIGHTCRUISER].s_recharge = 23; shipvals[LIGHTCRUISER].s_mingivefuel = 0; shipvals[LIGHTCRUISER].s_takeonfuel = 150; if (configvals->fuel_explosions) { shipvals[LIGHTCRUISER].s_expldam = 67; /* was: 50; (BG) */ shipvals[LIGHTCRUISER].s_fueldam = 45; /* was: 58; (BG) */ } else { shipvals[LIGHTCRUISER].s_expldam = 100; shipvals[LIGHTCRUISER].s_fueldam = 0; } shipvals[LIGHTCRUISER].s_armyperkill = 2; shipvals[LIGHTCRUISER].s_maxarmies = 3; /* was 4 */ shipvals[LIGHTCRUISER].s_bomb = 6; shipvals[LIGHTCRUISER].s_repair = 80; /* was 90 */ shipvals[LIGHTCRUISER].s_maxdamage = 90; shipvals[LIGHTCRUISER].s_maxshield = 95; shipvals[LIGHTCRUISER].s_shieldcost = 4; shipvals[LIGHTCRUISER].s_detcost = 100; shipvals[LIGHTCRUISER].s_detdist = 1750; if (configvals->bronco_shipvals) shipvals[LIGHTCRUISER].s_cloakcost = 115; else shipvals[LIGHTCRUISER].s_cloakcost = 75; #ifdef LONG_SCANRANGE shipvals[LIGHTCRUISER].s_scanrange = 1000; #else shipvals[LIGHTCRUISER].s_scanrange = 500; #endif shipvals[LIGHTCRUISER].s_numports = 0; shipvals[LIGHTCRUISER].s_letter = 'l'; shipvals[LIGHTCRUISER].s_desig1 = 'C'; shipvals[LIGHTCRUISER].s_desig2 = 'L'; shipvals[LIGHTCRUISER].s_bitmap = 10; shipvals[LIGHTCRUISER].s_width = 20; shipvals[LIGHTCRUISER].s_height = 20; shipvals[LIGHTCRUISER].s_timer = 0; shipvals[LIGHTCRUISER].s_maxnum = 32; shipvals[LIGHTCRUISER].s_rank = 0; shipvals[LIGHTCRUISER].s_numdefn = 0; shipvals[LIGHTCRUISER].s_numplan = 0; if (configvals->warpdrive) shipvals[LIGHTCRUISER].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNCANWARP | SFNHASPHASERS; else shipvals[LIGHTCRUISER].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS; /* comprehensive definition of CARRIER */ shipvals[CARRIER].s_alttype = 3; strcpy(shipvals[CARRIER].s_name, "Carrier"); shipvals[CARRIER].s_turns = 60000; shipvals[CARRIER].s_imp.acc = 100; shipvals[CARRIER].s_imp.dec = 200; shipvals[CARRIER].s_imp.cost = 4; shipvals[CARRIER].s_imp.maxspeed = 9; shipvals[CARRIER].s_imp.etemp = 1000; shipvals[CARRIER].s_after.acc = 500; shipvals[CARRIER].s_after.dec = 250; shipvals[CARRIER].s_after.cost = 100; shipvals[CARRIER].s_after.maxspeed = 11; shipvals[CARRIER].s_after.etemp = 50000; shipvals[CARRIER].s_warp.acc = 10000; shipvals[CARRIER].s_warp.dec = 300; shipvals[CARRIER].s_warp.cost = 28; if (configvals->bronco_shipvals) { shipvals[CARRIER].s_warp.maxspeed = 14; shipvals[CARRIER].s_warpprepspeed = 0; } else { shipvals[CARRIER].s_warp.maxspeed = 25; /* was: 20; (BG) */ shipvals[CARRIER].s_warpprepspeed = 1; } shipvals[CARRIER].s_warp.etemp = 7000; shipvals[CARRIER].s_warpinitcost = 2800; shipvals[CARRIER].s_warpinittime = 75; shipvals[CARRIER].s_mass = 2500; shipvals[CARRIER].s_tractstr = 4000; /* was 3200 (MDM) */ shipvals[CARRIER].s_tractrng = 1.3; /* was 1.1 (MDM) */ shipvals[CARRIER].s_tractcost = 5; shipvals[CARRIER].s_tractetemp = 1000; shipvals[CARRIER].s_torp.damage = 30; /* these are the CVs own torps */ shipvals[CARRIER].s_torp.speed = 13; /* fighter-torps are now constant */ shipvals[CARRIER].s_torp.cost = 210; /* still used when fighters fire! */ shipvals[CARRIER].s_torp.fuse = 35; shipvals[CARRIER].s_torp.wtemp = 20; /* still used when fighters fire! */ shipvals[CARRIER].s_torp.wtemp_halfarc = 32; shipvals[CARRIER].s_torp.wtemp_factor = 9; shipvals[CARRIER].s_torp.aux = 0; shipvals[CARRIER].s_phaser.damage = 95; shipvals[CARRIER].s_phaser.speed = 6500; shipvals[CARRIER].s_phaser.cost = 570; shipvals[CARRIER].s_phaser.fuse = 6; shipvals[CARRIER].s_phaser.wtemp = 45; shipvals[CARRIER].s_missile.damage = 20; shipvals[CARRIER].s_missile.speed = 14; shipvals[CARRIER].s_missile.cost = 380; /* no longer includes * torpcost */ shipvals[CARRIER].s_missile.fuse = 300; shipvals[CARRIER].s_missile.wtemp = 35; /* no longer includes torp * wtemp */ shipvals[CARRIER].s_missile.count = 8; shipvals[CARRIER].s_missile.aux = 3; shipvals[CARRIER].s_missilestored = 0; shipvals[CARRIER].s_plasma.damage = 80; shipvals[CARRIER].s_plasma.speed = 15; shipvals[CARRIER].s_plasma.cost = 3000; shipvals[CARRIER].s_plasma.fuse = 35; shipvals[CARRIER].s_plasma.wtemp = 270; shipvals[CARRIER].s_plasma.aux = 2; shipvals[CARRIER].s_maxwpntemp = 1000; shipvals[CARRIER].s_wpncoolrate = 2; shipvals[CARRIER].s_maxegntemp = 1500; shipvals[CARRIER].s_egncoolrate = 5; shipvals[CARRIER].s_maxfuel = 15000; shipvals[CARRIER].s_recharge = 25; shipvals[CARRIER].s_mingivefuel = 0; shipvals[CARRIER].s_takeonfuel = 150; if (configvals->fuel_explosions) { shipvals[CARRIER].s_expldam = 80; /* was: 55; (BG) */ shipvals[CARRIER].s_fueldam = 70; /* was: 80; (BG) */ } else { shipvals[CARRIER].s_expldam = 100; shipvals[CARRIER].s_fueldam = 0; } shipvals[CARRIER].s_armyperkill = 25; shipvals[CARRIER].s_maxarmies = 3; shipvals[CARRIER].s_bomb = 20; shipvals[CARRIER].s_repair = 105; shipvals[CARRIER].s_maxdamage = 150; shipvals[CARRIER].s_maxshield = 120; shipvals[CARRIER].s_shieldcost = 5; shipvals[CARRIER].s_detcost = 50; shipvals[CARRIER].s_detdist = 1900; if (configvals->bronco_shipvals) shipvals[CARRIER].s_cloakcost = 135; else shipvals[CARRIER].s_cloakcost = 100; #ifdef LONG_SCANRANGE shipvals[CARRIER].s_scanrange = 1000; #else shipvals[CARRIER].s_scanrange = -1; #endif shipvals[CARRIER].s_numports = 0; shipvals[CARRIER].s_letter = 'v'; shipvals[CARRIER].s_desig1 = 'C'; shipvals[CARRIER].s_desig2 = 'V'; shipvals[CARRIER].s_bitmap = 11; shipvals[CARRIER].s_width = 20; shipvals[CARRIER].s_height = 20; shipvals[CARRIER].s_timer = 12; shipvals[CARRIER].s_maxnum = 1; shipvals[CARRIER].s_rank = 3; shipvals[CARRIER].s_numdefn = 5; shipvals[CARRIER].s_numplan = 3; if (configvals->warpdrive) shipvals[CARRIER].s_nflags = SFNCANWARP | SFNHASPHASERS | SFNHASMISSILE | SFNHASFIGHTERS; else shipvals[CARRIER].s_nflags = SFNHASPHASERS | SFNHASMISSILE | SFNHASFIGHTERS; /* comprehensive definition of UTILITY */ shipvals[UTILITY].s_alttype = 4; strcpy(shipvals[UTILITY].s_name, "Utility"); shipvals[UTILITY].s_turns = 80000; shipvals[UTILITY].s_imp.acc = 100; shipvals[UTILITY].s_imp.dec = 200; shipvals[UTILITY].s_imp.cost = 4; shipvals[UTILITY].s_imp.maxspeed = 7; shipvals[UTILITY].s_imp.etemp = 1000; shipvals[UTILITY].s_after.acc = 500; shipvals[UTILITY].s_after.dec = 250; shipvals[UTILITY].s_after.cost = 40; shipvals[UTILITY].s_after.maxspeed = 8; shipvals[UTILITY].s_after.etemp = 40000; shipvals[UTILITY].s_warp.acc = 10000; shipvals[UTILITY].s_warp.dec = 5000; shipvals[UTILITY].s_warp.cost = 20; if (configvals->bronco_shipvals) { shipvals[UTILITY].s_warp.maxspeed = 10; shipvals[UTILITY].s_warpprepspeed = 0; } else { shipvals[UTILITY].s_warp.maxspeed = 20; /* was: 15; (BG) */ shipvals[UTILITY].s_warpprepspeed = 1; } shipvals[UTILITY].s_warp.etemp = 5500; shipvals[UTILITY].s_warpinitcost = 1200; shipvals[UTILITY].s_warpinittime = 50; shipvals[UTILITY].s_mass = 2400; shipvals[UTILITY].s_tractstr = 3500; shipvals[UTILITY].s_tractrng = 1.1; shipvals[UTILITY].s_tractcost = 4; shipvals[UTILITY].s_tractetemp = 1000; shipvals[UTILITY].s_torp.damage = 20; shipvals[UTILITY].s_torp.speed = 15; shipvals[UTILITY].s_torp.cost = 250; shipvals[UTILITY].s_torp.fuse = 25; shipvals[UTILITY].s_torp.wtemp = 18; shipvals[UTILITY].s_torp.wtemp_halfarc = 16; shipvals[UTILITY].s_torp.wtemp_factor = 4; shipvals[UTILITY].s_torp.aux = 0; shipvals[UTILITY].s_phaser.damage = 80; shipvals[UTILITY].s_phaser.speed = 5600; shipvals[UTILITY].s_phaser.cost = 640; shipvals[UTILITY].s_phaser.fuse = 8; shipvals[UTILITY].s_phaser.wtemp = 85; shipvals[UTILITY].s_missile.damage = 30; shipvals[UTILITY].s_missile.speed = 8; shipvals[UTILITY].s_missile.cost = 800; shipvals[UTILITY].s_missile.fuse = 80; shipvals[UTILITY].s_missile.wtemp = 60; shipvals[UTILITY].s_missile.count = 3; shipvals[UTILITY].s_missile.aux = 2; shipvals[UTILITY].s_missilestored = 18; shipvals[UTILITY].s_plasma.damage = -1; shipvals[UTILITY].s_plasma.speed = 0; shipvals[UTILITY].s_plasma.cost = 0; shipvals[UTILITY].s_plasma.fuse = 0; shipvals[UTILITY].s_plasma.wtemp = 0; shipvals[UTILITY].s_plasma.aux = 0; shipvals[UTILITY].s_maxwpntemp = 1000; shipvals[UTILITY].s_wpncoolrate = 2; shipvals[UTILITY].s_maxegntemp = 1800; shipvals[UTILITY].s_egncoolrate = 5; shipvals[UTILITY].s_maxfuel = 16000; shipvals[UTILITY].s_recharge = 38; shipvals[UTILITY].s_mingivefuel = 4000; shipvals[UTILITY].s_takeonfuel = 150; if (configvals->fuel_explosions) { shipvals[UTILITY].s_expldam = 60; shipvals[UTILITY].s_fueldam = 80; } else { shipvals[UTILITY].s_expldam = 100; shipvals[UTILITY].s_fueldam = 0; } shipvals[UTILITY].s_armyperkill = 12; shipvals[UTILITY].s_maxarmies = 12; shipvals[UTILITY].s_bomb = 0; shipvals[UTILITY].s_repair = 120; shipvals[UTILITY].s_maxdamage = 220; shipvals[UTILITY].s_maxshield = 120; shipvals[UTILITY].s_shieldcost = 4; shipvals[UTILITY].s_detcost = 50; shipvals[UTILITY].s_detdist = 1900; if (configvals->bronco_shipvals) shipvals[UTILITY].s_cloakcost = 180; else shipvals[UTILITY].s_cloakcost = 130; /* was 90 (MDM) */ shipvals[UTILITY].s_scanrange = 2000; shipvals[UTILITY].s_numports = 2; shipvals[UTILITY].s_letter = 'u'; shipvals[UTILITY].s_desig1 = 'U'; shipvals[UTILITY].s_desig2 = 'T'; shipvals[UTILITY].s_bitmap = 12; shipvals[UTILITY].s_width = 20; shipvals[UTILITY].s_height = 20; shipvals[UTILITY].s_timer = 7; shipvals[UTILITY].s_maxnum = 1; shipvals[UTILITY].s_rank = 2; shipvals[UTILITY].s_numdefn = 2; shipvals[UTILITY].s_numplan = 1; if (configvals->warpdrive) shipvals[UTILITY].s_nflags = SFNCANWARP | SFNHASPHASERS | SFNCANREPAIR | SFNCANFUEL; else shipvals[UTILITY].s_nflags = SFNHASPHASERS | SFNCANREPAIR | SFNCANFUEL; /* Comprehensive definition of Gunboat */ shipvals[PATROL].s_alttype = 0; strcpy(shipvals[PATROL].s_name, "Patrol Ship"); shipvals[PATROL].s_turns = 1500000; shipvals[PATROL].s_imp.acc = 350; shipvals[PATROL].s_imp.dec = 400; shipvals[PATROL].s_imp.cost = 1; shipvals[PATROL].s_imp.maxspeed = 13; shipvals[PATROL].s_imp.etemp = 1000; shipvals[PATROL].s_after.acc = 800; shipvals[PATROL].s_after.dec = 350; shipvals[PATROL].s_after.cost = 18; shipvals[PATROL].s_after.maxspeed = 15; shipvals[PATROL].s_after.etemp = 30000; shipvals[PATROL].s_warp.acc = 10000; shipvals[PATROL].s_warp.dec = 500; if (configvals->bronco_shipvals) { shipvals[PATROL].s_warp.maxspeed = 21; shipvals[PATROL].s_warpprepspeed = 2; } else { shipvals[PATROL].s_warp.maxspeed = 35; /* was: 30; (BG) */ shipvals[PATROL].s_warpprepspeed = 3; } shipvals[PATROL].s_warp.cost = 22; shipvals[PATROL].s_warp.etemp = 35000; shipvals[PATROL].s_warpinitcost = 800; shipvals[PATROL].s_warpinittime = 20; shipvals[PATROL].s_mass = 1000; shipvals[PATROL].s_tractstr = 1500; shipvals[PATROL].s_tractrng = 0.75; shipvals[PATROL].s_tractcost = 2; shipvals[PATROL].s_tractetemp = 1000; shipvals[PATROL].s_torp.damage = 30; shipvals[PATROL].s_torp.speed = 15; shipvals[PATROL].s_torp.cost = 180; shipvals[PATROL].s_torp.fuse = 18; shipvals[PATROL].s_torp.wtemp = 10; shipvals[PATROL].s_torp.wtemp_halfarc = 32; shipvals[PATROL].s_torp.wtemp_factor = 9; shipvals[PATROL].s_torp.aux = 0; shipvals[PATROL].s_phaser.damage = 50; shipvals[PATROL].s_phaser.speed = 5000; shipvals[PATROL].s_phaser.cost = 300; shipvals[PATROL].s_phaser.fuse = 8; shipvals[PATROL].s_phaser.wtemp = 45; shipvals[PATROL].s_missile.damage = 50; shipvals[PATROL].s_missile.speed = 17; shipvals[PATROL].s_missile.cost = 450; shipvals[PATROL].s_missile.fuse = 50; shipvals[PATROL].s_missile.wtemp = 50; shipvals[PATROL].s_missile.count = 6; shipvals[PATROL].s_missile.aux = 1; shipvals[PATROL].s_missilestored = 6; shipvals[PATROL].s_plasma.damage = -1; shipvals[PATROL].s_plasma.speed = 0; shipvals[PATROL].s_plasma.cost = 0; shipvals[PATROL].s_plasma.fuse = 0; shipvals[PATROL].s_plasma.wtemp = 0; shipvals[PATROL].s_plasma.aux = 0; shipvals[PATROL].s_maxwpntemp = 1000; shipvals[PATROL].s_wpncoolrate = 3; shipvals[PATROL].s_maxegntemp = 1500; shipvals[PATROL].s_egncoolrate = 8; shipvals[PATROL].s_maxfuel = 4000; shipvals[PATROL].s_recharge = 10; shipvals[PATROL].s_mingivefuel = 0; shipvals[PATROL].s_takeonfuel = 120; if (configvals->fuel_explosions) { shipvals[PATROL].s_expldam = 35; shipvals[PATROL].s_fueldam = 30; } else { shipvals[PATROL].s_expldam = 60; shipvals[PATROL].s_fueldam = 0; } shipvals[PATROL].s_armyperkill = 1; shipvals[PATROL].s_maxarmies = 1; shipvals[PATROL].s_bomb = 0; shipvals[PATROL].s_repair = 50; shipvals[PATROL].s_maxdamage = 40; shipvals[PATROL].s_maxshield = 50; shipvals[PATROL].s_shieldcost = 2; shipvals[PATROL].s_detcost = 100; shipvals[PATROL].s_detdist = 1750; if (configvals->bronco_shipvals) shipvals[PATROL].s_cloakcost = 40; else shipvals[PATROL].s_cloakcost = 30; shipvals[PATROL].s_scanrange = -1; shipvals[PATROL].s_numports = 0; shipvals[PATROL].s_letter = 'p'; shipvals[PATROL].s_desig1 = 'P'; shipvals[PATROL].s_desig2 = 'T'; shipvals[PATROL].s_bitmap = 13; shipvals[PATROL].s_width = 20; shipvals[PATROL].s_height = 20; shipvals[PATROL].s_timer = 0; shipvals[PATROL].s_maxnum = 32; shipvals[PATROL].s_rank = 0; shipvals[PATROL].s_numdefn = 0; shipvals[PATROL].s_numplan = 0; /* 1; was 1 but everybody bitched * (BG) */ if (configvals->warpdrive) shipvals[PATROL].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS | SFNHASMISSILE | SFNMASSPRODUCED | SFNCANWARP; else shipvals[PATROL].s_nflags = SFNCANORBIT | SFNARMYNEEDKILL | SFNHASPHASERS | SFNHASMISSILE | SFNMASSPRODUCED; } /*----------END OF FILE-----*/