From 6a777afc079c2a8d3af3ecd2145fe8dd50567a39 Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Wed, 22 Mar 2017 17:56:34 +0100 Subject: Funko sources as released by Rotacak. --- src/game/tremulous.h | 770 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 770 insertions(+) create mode 100644 src/game/tremulous.h (limited to 'src/game/tremulous.h') diff --git a/src/game/tremulous.h b/src/game/tremulous.h new file mode 100644 index 0000000..c405335 --- /dev/null +++ b/src/game/tremulous.h @@ -0,0 +1,770 @@ +/* +=========================================================================== +Copyright (C) 1999-2005 Id Software, Inc. +Copyright (C) 2000-2006 Tim Angus + +This file is part of Tremulous. + +Tremulous is free software; you can redistribute it +and/or modify it under the terms of the GNU General Public License as +published by the Free Software Foundation; either version 2 of the License, +or (at your option) any later version. + +Tremulous is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Tremulous; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +=========================================================================== +*/ + + +/* + * ALIEN weapons + * + * _REPEAT - time in msec until the weapon can be used again + * _DMG - amount of damage the weapon does + * + * ALIEN_WDMG_MODIFIER - overall damage modifier for coarse tuning + * + */ + +#define ALIEN_WDMG_MODIFIER 1.0f +#define ADM(d) ((int)((float)d*ALIEN_WDMG_MODIFIER)) + +#define ABUILDER_BUILD_REPEAT 500 +#define ABUILDER_CLAW_DMG ADM(20) +#define ABUILDER_CLAW_RANGE 64.0f +#define ABUILDER_CLAW_WIDTH 4.0f +#define ABUILDER_CLAW_REPEAT 1000 +#define ABUILDER_CLAW_K_SCALE 1.0f +#define ABUILDER_BASE_DELAY 17000 +#define ABUILDER_ADV_DELAY 12000 +#define ABUILDER_BLOB_DMG ADM(4) +#define ABUILDER_BLOB_REPEAT 1000 +#define ABUILDER_BLOB_SPEED 800.0f +#define ABUILDER_BLOB_SPEED_MOD 0.5f +#define ABUILDER_BLOB_TIME 5000 + +//ROTAXfun +#define ABOMB_DMG ADM(50) +#define ABOMB_SPLASH_DMG ADM(150) +#define ABOMB_SPLASH_RADIUS 200 +#define ABOMB_SPEED 200.0f +#define ABOMB_REPEAT 1000 + +#define LEVEL0_BITE_DMG ADM(48) +#define LEVEL0_BITE_RANGE 64.0f +#define LEVEL0_BITE_WIDTH 6.0f +#define LEVEL0_BITE_REPEAT 500 +#define LEVEL0_BITE_K_SCALE 1.0f + +#define LEVEL1_CLAW_DMG ADM(32) +#define LEVEL1_CLAW_RANGE 96.0f +#define LEVEL1_CLAW_WIDTH 10.0f +#define LEVEL1_CLAW_REPEAT 600 +#define LEVEL1_CLAW_U_REPEAT 500 +#define LEVEL1_CLAW_K_SCALE 1.0f +#define LEVEL1_CLAW_U_K_SCALE 1.0f +#define LEVEL1_GRAB_RANGE 64.0f +#define LEVEL1_GRAB_TIME 300 +#define LEVEL1_GRAB_U_TIME 450 +#define LEVEL1_PCLOUD_DMG ADM(4) +#define LEVEL1_PCLOUD_RANGE 200.0f +#define LEVEL1_PCLOUD_REPEAT 2000 +#define LEVEL1_PCLOUD_TIME 10000 + +#define LEVEL2_CLAW_DMG ADM(40) +#define LEVEL2_CLAW_RANGE 96.0f +#define LEVEL2_CLAW_WIDTH 12.0f +#define LEVEL2_CLAW_REPEAT 500 +#define LEVEL2_CLAW_K_SCALE 1.0f +#define LEVEL2_CLAW_U_REPEAT 400 +#define LEVEL2_CLAW_U_K_SCALE 1.0f +#define LEVEL2_AREAZAP_DMG ADM(80) +#define LEVEL2_AREAZAP_RANGE 200.0f +#define LEVEL2_AREAZAP_WIDTH 15.0f +#define LEVEL2_AREAZAP_REPEAT 1500 +#define LEVEL2_AREAZAP_TIME 1000 +#define LEVEL2_AREAZAP_MAX_TARGETS 3 +#define LEVEL2_WALLJUMP_MAXSPEED 1000.0f + +#define LEVEL3_CLAW_DMG ADM(80) +#define LEVEL3_CLAW_RANGE 96.0f +#define LEVEL3_CLAW_WIDTH 16.0f +#define LEVEL3_CLAW_REPEAT 700 +#define LEVEL3_CLAW_K_SCALE 1.0f +#define LEVEL3_CLAW_U_REPEAT 600 +#define LEVEL3_CLAW_U_K_SCALE 1.0f +#define LEVEL3_POUNCE_DMG ADM(100) +#define LEVEL3_POUNCE_RANGE 72.0f +#define LEVEL3_POUNCE_WIDTH 16.0f +#define LEVEL3_POUNCE_SPEED 700 +#define LEVEL3_POUNCE_UPG_SPEED 800 +#define LEVEL3_POUNCE_SPEED_MOD 0.75f +#define LEVEL3_POUNCE_CHARGE_TIME 700 +#define LEVEL3_POUNCE_TIME 400 +#define LEVEL3_BOUNCEBALL_DMG ADM(110) +#define LEVEL3_BOUNCEBALL_REPEAT 1000 +#define LEVEL3_BOUNCEBALL_SPEED 1000.0f + +#define LEVEL4_CLAW_DMG ADM(100) +#define LEVEL4_CLAW_RANGE 128.0f +#define LEVEL4_CLAW_WIDTH 20.0f +#define LEVEL4_CLAW_REPEAT 750 +#define LEVEL4_CLAW_K_SCALE 1.0f +#define LEVEL4_REGEN_RANGE 200.0f +#define LEVEL4_REGEN_MOD 2.0f +#define LEVEL4_CHARGE_SPEED 2.0f +#define LEVEL4_CHARGE_TIME 3000 +#define LEVEL4_CHARGE_CHARGE_TIME 1500 +#define LEVEL4_MIN_CHARGE_TIME 750 +#define LEVEL4_CHARGE_CHARGE_RATIO (LEVEL4_CHARGE_TIME/LEVEL4_CHARGE_CHARGE_TIME) +#define LEVEL4_CHARGE_REPEAT 1000 +#define LEVEL4_CHARGE_DMG ADM(110) + + + +/* + * ALIEN classes + * + * _SPEED - fraction of Q3A run speed the class can move + * _REGEN - health per second regained + * + * ALIEN_HLTH_MODIFIER - overall health modifier for coarse tuning + * + */ + +#define ALIEN_HLTH_MODIFIER 1.0f +#define AHM(h) ((int)((float)h*ALIEN_HLTH_MODIFIER)) + +#define ALIEN_VALUE_MODIFIER 1.0f +#define AVM(h) ((int)((float)h*ALIEN_VALUE_MODIFIER)) + +#define ABUILDER_SPEED 0.8f +#define ABUILDER_VALUE AVM(200) +#define ABUILDER_HEALTH AHM(50) +#define ABUILDER_REGEN 2 +#define ABUILDER_COST 0 + +#define ABUILDER_UPG_SPEED 1.0f +#define ABUILDER_UPG_VALUE AVM(250) +#define ABUILDER_UPG_HEALTH AHM(75) +#define ABUILDER_UPG_REGEN 3 +#define ABUILDER_UPG_COST 0 + +#define LEVEL0_SPEED 1.3f +#define LEVEL0_VALUE AVM(175) +#define LEVEL0_HEALTH AHM(25) +#define LEVEL0_REGEN 1 +#define LEVEL0_COST 0 + +#define LEVEL1_SPEED 1.25f +#define LEVEL1_VALUE AVM(225) +#define LEVEL1_HEALTH AHM(75) +#define LEVEL1_REGEN 2 +#define LEVEL1_COST 1 + +#define LEVEL1_UPG_SPEED 1.25f +#define LEVEL1_UPG_VALUE AVM(275) +#define LEVEL1_UPG_HEALTH AHM(100) +#define LEVEL1_UPG_REGEN 3 +#define LEVEL1_UPG_COST 1 + +#define LEVEL2_SPEED 1.2f +#define LEVEL2_VALUE AVM(350) +#define LEVEL2_HEALTH AHM(150) +#define LEVEL2_REGEN 4 +#define LEVEL2_COST 1 + +#define LEVEL2_UPG_SPEED 1.2f +#define LEVEL2_UPG_VALUE AVM(450) +#define LEVEL2_UPG_HEALTH AHM(175) +#define LEVEL2_UPG_REGEN 5 +#define LEVEL2_UPG_COST 1 + +#define LEVEL3_SPEED 1.1f +#define LEVEL3_VALUE AVM(500) +#define LEVEL3_HEALTH AHM(200) +#define LEVEL3_REGEN 6 +#define LEVEL3_COST 1 + +#define LEVEL3_UPG_SPEED 1.1f +#define LEVEL3_UPG_VALUE AVM(600) +#define LEVEL3_UPG_HEALTH AHM(250) +#define LEVEL3_UPG_REGEN 7 +#define LEVEL3_UPG_COST 1 + +#define LEVEL4_SPEED 1.2f +#define LEVEL4_VALUE AVM(800) +#define LEVEL4_HEALTH AHM(400) +#define LEVEL4_REGEN 6//ROTAX 7 +#define LEVEL4_COST 2 + + + +/* + * ALIEN buildables + * + * _BP - build points required for this buildable + * _BT - build time required for this buildable + * _REGEN - the amount of health per second regained + * _SPLASHDAMGE - the amount of damage caused by this buildable when melting + * _SPLASHRADIUS - the radius around which it does this damage + * + * CREEP_BASESIZE - the maximum distance a buildable can be from an egg/overmind + * ALIEN_BHLTH_MODIFIER - overall health modifier for coarse tuning + * + */ + +#define ALIEN_BHLTH_MODIFIER 1.0f +#define ABHM(h) ((int)((float)h*ALIEN_BHLTH_MODIFIER)) + +#define CREEP_BASESIZE 700 +#define CREEP_TIMEOUT 1000 +#define CREEP_MODIFIER 0.5f +#define CREEP_ARMOUR_MODIFIER 0.75f +#define CREEP_SCALEDOWN_TIME 3000 + +#define ASPAWN_BP 10 +#define ASPAWN_BT 15000 +#define ASPAWN_HEALTH ABHM(250) +#define ASPAWN_REGEN 8 +#define ASPAWN_SPLASHDAMAGE 50 +#define ASPAWN_SPLASHRADIUS 50 +#define ASPAWN_CREEPSIZE 120 +#define ASPAWN_VALUE 150 + +#define BARRICADE_BP 10 +#define BARRICADE_BT 20000 +#define BARRICADE_HEALTH ABHM(200) +#define BARRICADE_REGEN 14 +#define BARRICADE_SPLASHDAMAGE 50 +#define BARRICADE_SPLASHRADIUS 50 +#define BARRICADE_CREEPSIZE 120 + +#define BOOSTER_BP 12 +#define BOOSTER_BT 15000 +#define BOOSTER_HEALTH ABHM(150) +#define BOOSTER_REGEN 8 +#define BOOSTER_SPLASHDAMAGE 50 +#define BOOSTER_SPLASHRADIUS 50 +#define BOOSTER_CREEPSIZE 120 +#define BOOSTER_INTERVAL 30000 //time in msec between uses (per player) +#define BOOSTER_REGEN_MOD 2.0f +#define BOOST_TIME 30000 + +#define ACIDTUBE_BP 8 +#define ACIDTUBE_BT 15000 +#define ACIDTUBE_HEALTH ABHM(125) +#define ACIDTUBE_REGEN 10 +#define ACIDTUBE_SPLASHDAMAGE 6 +#define ACIDTUBE_SPLASHRADIUS 300 +#define ACIDTUBE_CREEPSIZE 120 +#define ACIDTUBE_RANGE 300.0f +#define ACIDTUBE_REPEAT 3000 +#define ACIDTUBE_K_SCALE 1.0f + +#define HIVE_BP 12 +#define HIVE_BT 20000 +#define HIVE_HEALTH ABHM(125) +#define HIVE_REGEN 10 +#define HIVE_SPLASHDAMAGE 30 +#define HIVE_SPLASHRADIUS 200 +#define HIVE_CREEPSIZE 120 +#define HIVE_RANGE 400.0f +#define HIVE_REPEAT 5000 +#define HIVE_K_SCALE 1.0f +#define HIVE_DMG 50 +#define HIVE_SPEED 240.0f +#define HIVE_DIR_CHANGE_PERIOD 500 + +#define TRAPPER_BP 8 +#define TRAPPER_BT 12000 +#define TRAPPER_HEALTH ABHM(50) +#define TRAPPER_REGEN 6 +#define TRAPPER_SPLASHDAMAGE 15 +#define TRAPPER_SPLASHRADIUS 100 +#define TRAPPER_CREEPSIZE 30 +#define TRAPPER_RANGE 400 +#define TRAPPER_REPEAT 1000 +#define TRAPPER_K_SCALE 1.0f +#define LOCKBLOB_SPEED 650.0f +#define LOCKBLOB_LOCKTIME 5000 +#define LOCKBLOB_DOT 0.85f // max angle = acos( LOCKBLOB_DOT ) +#define LOCKBLOB_K_SCALE 1.0f + +#define OVERMIND_BP 0 +#define OVERMIND_BT 30000 +#define OVERMIND_HEALTH ABHM(750) +#define OVERMIND_REGEN 6 +#define OVERMIND_SPLASHDAMAGE 15 +#define OVERMIND_SPLASHRADIUS 300 +#define OVERMIND_CREEPSIZE 120 +#define OVERMIND_ATTACK_RANGE 150.0f +#define OVERMIND_ATTACK_REPEAT 1000 +#define OVERMIND_VALUE 300 + +#define HOVEL_BP 0 +#define HOVEL_BT 15000 +#define HOVEL_HEALTH ABHM(375) +#define HOVEL_REGEN 20 +#define HOVEL_SPLASHDAMAGE 20 +#define HOVEL_SPLASHRADIUS 200 +#define HOVEL_CREEPSIZE 120 + +//ROTAX +#define FLAGA_BP 1 +#define FLAGA_BT 8000 +#define FLAGA_HEALTH ABHM(150) +#define FLAGA_REGEN 10 +#define FLAGA_SPLASHDAMAGE 5 +#define FLAGA_SPLASHRADIUS 100 +#define FLAGA_CREEPSIZE 10 + +#define BAMBOO_BP 1 +#define BAMBOO_BT 8000 +#define BAMBOO_HEALTH ABHM(250) +#define BAMBOO_REGEN 10 +#define BAMBOO_SPLASHDAMAGE 5 +#define BAMBOO_SPLASHRADIUS 100 +#define BAMBOO_CREEPSIZE 10 + +#define BRICKA_BP 1 +#define BRICKA_BT 5000 +#define BRICKA_HEALTH ABHM(150) +#define BRICKA_REGEN 10 +#define BRICKA_SPLASHDAMAGE 5 +#define BRICKA_SPLASHRADIUS 50 +#define BRICKA_CREEPSIZE 10 + +#define BRIDGE_BP 1 +#define BRIDGE_BT 10000 +#define BRIDGE_HEALTH ABHM(250) +#define BRIDGE_REGEN 10 +#define BRIDGE_SPLASHDAMAGE 10 +#define BRIDGE_SPLASHRADIUS 100 +#define BRIDGE_CREEPSIZE 30 + +#define ROCK_BP 1 +#define ROCK_BT 10000 +#define ROCK_HEALTH ABHM(350) +#define ROCK_REGEN 10 +#define ROCK_SPLASHDAMAGE 5 +#define ROCK_SPLASHRADIUS 100 +#define ROCK_CREEPSIZE 10 + +#define BUSH_BP 1 +#define BUSH_BT 8000 +#define BUSH_HEALTH ABHM(125) +#define BUSH_REGEN 10 +#define BUSH_SPLASHDAMAGE 100 +#define BUSH_SPLASHRADIUS 100 +#define BUSH_CREEPSIZE 30 + +#define FLOWER_BP 1 +#define FLOWER_BT 7000 +#define FLOWER_HEALTH ABHM(50) +#define FLOWER_REGEN 5 +#define FLOWER_SPLASHDAMAGE 5 +#define FLOWER_SPLASHRADIUS 100 +#define FLOWER_CREEPSIZE 5 + +#define GRASS_BP 1 +#define GRASS_BT 7000 +#define GRASS_HEALTH ABHM(50) +#define GRASS_REGEN 5 +#define GRASS_SPLASHDAMAGE 5 +#define GRASS_SPLASHRADIUS 100 +#define GRASS_CREEPSIZE 5 + +#define TREE_BP 20 +#define TREE_BT 30000 +#define TREE_HEALTH ABHM(999) +#define TREE_REGEN 5 +#define TREE_SPLASHDAMAGE 0 +#define TREE_SPLASHRADIUS 0 +#define TREE_CREEPSIZE 60 + +#define JUMPPAD_BP 5 +#define JUMPPAD_BT 9000 +#define JUMPPAD_HEALTH ABHM(260) +#define JUMPPAD_REGEN 12 +#define JUMPPAD_SPLASHDAMAGE 5 +#define JUMPPAD_SPLASHRADIUS 100 +#define JUMPPAD_CREEPSIZE 30 + +/* + * ALIEN misc + * + * ALIENSENSE_RANGE - the distance alien sense is useful for + * + */ + +#define ALIENSENSE_RANGE 1000.0f + +#define ALIEN_POISON_TIME 5000 +#define ALIEN_POISON_DMG 5 +#define ALIEN_POISON_DIVIDER (1.0f/1.32f) //about 1.0/(time`th root of damage) + +#define ALIEN_SPAWN_REPEAT_TIME 10000 + +#define ALIEN_REGEN_DAMAGE_TIME 2000 //msec since damage that regen starts again + +/* + * HUMAN weapons + * + * _REPEAT - time between firings + * _RELOAD - time needed to reload + * _PRICE - amount in credits weapon costs + * + * HUMAN_WDMG_MODIFIER - overall damage modifier for coarse tuning + * + */ + +#define HUMAN_WDMG_MODIFIER 1.0f +#define HDM(d) ((int)((float)d*HUMAN_WDMG_MODIFIER)) + +#define BLASTER_REPEAT 600 +#define BLASTER_K_SCALE 1.0f +#define BLASTER_SPREAD 200 +#define BLASTER_SPEED 1400 +#define BLASTER_DMG HDM(9) + +#define RIFLE_CLIPSIZE 30 +#define RIFLE_MAXCLIPS 6 +#define RIFLE_REPEAT 90 +#define RIFLE_K_SCALE 1.0f +#define RIFLE_RELOAD 2000 +#define RIFLE_PRICE 0 +#define RIFLE_SPREAD 200 +#define RIFLE_DMG HDM(5) + +#define PAINSAW_PRICE 100 +#define PAINSAW_REPEAT 75 +#define PAINSAW_K_SCALE 1.0f +#define PAINSAW_DAMAGE HDM(15) +#define PAINSAW_RANGE 40.0f + +#define GRENADE_PRICE 200 +#define GRENADE_REPEAT 0 +#define GRENADE_K_SCALE 1.0f +#define GRENADE_DAMAGE HDM(310) +#define GRENADE_RANGE 192.0f +#define GRENADE_SPEED 400.0f + +//ROTAXfun +#define MINE_PRICE 400 +#define MINE_REPEAT 0 +#define MINE_K_SCALE 1.0f +#define MINE_DAMAGE HDM(300) +#define MINE_RANGE 192.0f +#define MINE_DETECT 90.0f +#define MINE_SPEED 400.0f +#define MINE_INIT_TIME 3000 +#define MINE_CHECK_FREQUENCY 100 +#define MINE_BOOM_TIME 20 + +//ROTAXfun +#define FLARE_PRICE 100 +#define FLARE_REPEAT 0 +#define FLARE_K_SCALE 1.0f +#define FLARE_SPEED 400.0f +#define FLARE_DAMAGE HDM(5) +#define FLARE_RANGE 10.0f +#define FLARE_DETECT 10.0f +#define FLARE_CHECK_FREQUENCY 100 + +#define SHOTGUN_PRICE 150 +#define SHOTGUN_SHELLS 8 +#define SHOTGUN_PELLETS 8 //used to sync server and client side +#define SHOTGUN_MAXCLIPS 3 +#define SHOTGUN_REPEAT 1000 +#define SHOTGUN_K_SCALE 1.0f +#define SHOTGUN_RELOAD 2000 +#define SHOTGUN_SPREAD 900 +#define SHOTGUN_DMG HDM(7) + +#define LASGUN_PRICE 250 +#define LASGUN_AMMO 200 +#define LASGUN_REPEAT 200 +#define LASGUN_K_SCALE 1.0f +#define LASGUN_RELOAD 2000 +#define LASGUN_DAMAGE HDM(9) + +#define MDRIVER_PRICE 350 +#define MDRIVER_CLIPSIZE 5 +#define MDRIVER_MAXCLIPS 4 +#define MDRIVER_DMG HDM(38) +#define MDRIVER_REPEAT 1000 +#define MDRIVER_K_SCALE 1.0f +#define MDRIVER_RELOAD 2000 + +#define CHAINGUN_PRICE 400 +#define CHAINGUN_BULLETS 300 +#define CHAINGUN_REPEAT 80 +#define CHAINGUN_K_SCALE 1.0f +#define CHAINGUN_SPREAD 1000 +#define CHAINGUN_DMG HDM(6) + +#define PRIFLE_PRICE 400 +#define PRIFLE_CLIPS 50 +#define PRIFLE_MAXCLIPS 4 +#define PRIFLE_REPEAT 100 +#define PRIFLE_K_SCALE 1.0f +#define PRIFLE_RELOAD 2000 +#define PRIFLE_DMG HDM(9) +#define PRIFLE_SPEED 1000 + +#define FLAMER_PRICE 450 +#define FLAMER_GAS 150 +#define FLAMER_REPEAT 200 +#define FLAMER_K_SCALE 1.0f +#define FLAMER_DMG HDM(20) +#define FLAMER_RADIUS 50 +#define FLAMER_LIFETIME 800.0f +#define FLAMER_SPEED 200.0f +#define FLAMER_LAG 0.65f //the amount of player velocity that is added to the fireball + +#define LCANNON_PRICE 600 +#define LCANNON_AMMO 90 +#define LCANNON_REPEAT 500 +#define LCANNON_K_SCALE 1.0f +#define LCANNON_CHARGEREPEAT 1000 +#define LCANNON_RELOAD 2000 +#define LCANNON_DAMAGE HDM(265) +#define LCANNON_RADIUS 150 +#define LCANNON_SECONDARY_DAMAGE HDM(27) +#define LCANNON_SECONDARY_RADIUS 75 +#define LCANNON_SPEED 350 +#define LCANNON_CHARGE_TIME 2000 +#define LCANNON_TOTAL_CHARGE 255 +#define LCANNON_MIN_CHARGE 50 + +#define HBUILD_PRICE 0 +#define HBUILD_REPEAT 1000 +#define HBUILD_DELAY 17500 +#define HBUILD_HEALRATE 18 + +#define HBUILD2_PRICE 0 +#define HBUILD2_REPEAT 1000 +#define HBUILD2_DELAY 15000 + + + +/* + * HUMAN upgrades + */ + +#define LIGHTARMOUR_PRICE 70 +#define LIGHTARMOUR_POISON_PROTECTION 1 + +#define HELMET_PRICE 90 +#define HELMET_RANGE 1000.0f +#define HELMET_POISON_PROTECTION 2 + +#define MEDKIT_PRICE 0 + +#define BATTPACK_PRICE 100 +#define BATTPACK_MODIFIER 1.5f //modifier for extra energy storage available + +#define JETPACK_PRICE 120 +#define JETPACK_FLOAT_SPEED 128.0f //up movement speed +#define JETPACK_SINK_SPEED 192.0f //down movement speed +#define JETPACK_DISABLE_TIME 1000 //time to disable the jetpack when player damaged +#define JETPACK_DISABLE_CHANCE 0.3f + +#define BSUIT_PRICE 400 +#define BSUIT_POISON_PROTECTION 4 + +#define MGCLIP_PRICE 0 + +#define CGAMMO_PRICE 0 + +#define GAS_PRICE 0 + +#define MEDKIT_POISON_IMMUNITY_TIME 0 +#define MEDKIT_STARTUP_TIME 4000 +#define MEDKIT_STARTUP_SPEED 5 + + +/* + * HUMAN buildables + * + * _BP - build points required for this buildable + * _BT - build time required for this buildable + * _SPLASHDAMGE - the amount of damage caused by this buildable when it blows up + * _SPLASHRADIUS - the radius around which it does this damage + * + * REACTOR_BASESIZE - the maximum distance a buildable can be from an reactor + * REPEATER_BASESIZE - the maximum distance a buildable can be from a repeater + * HUMAN_BHLTH_MODIFIER - overall health modifier for coarse tuning + * + */ + +#define HUMAN_BHLTH_MODIFIER 1.0f +#define HBHM(h) ((int)((float)h*HUMAN_BHLTH_MODIFIER)) + +#define REACTOR_BASESIZE 1000 +#define REPEATER_BASESIZE 500 +#define HUMAN_DETONATION_DELAY 5000 + +#define HSPAWN_BP 10 +#define HSPAWN_BT 10000 +#define HSPAWN_HEALTH HBHM(310) +#define HSPAWN_SPLASHDAMAGE 50 +#define HSPAWN_SPLASHRADIUS 100 +#define HSPAWN_VALUE 1 + +#define MEDISTAT_BP 8 +#define MEDISTAT_BT 10000 +#define MEDISTAT_HEALTH HBHM(190) +#define MEDISTAT_SPLASHDAMAGE 50 +#define MEDISTAT_SPLASHRADIUS 100 + +#define MGTURRET_BP 8 +#define MGTURRET_BT 10000 +#define MGTURRET_HEALTH HBHM(190) +#define MGTURRET_SPLASHDAMAGE 100 +#define MGTURRET_SPLASHRADIUS 100 +#define MGTURRET_ANGULARSPEED 8 //degrees/think ~= 200deg/sec +#define MGTURRET_ACCURACYTOLERANCE MGTURRET_ANGULARSPEED / 1.5f //angular difference for turret to fire +#define MGTURRET_VERTICALCAP 30 // +/- maximum pitch +#define MGTURRET_REPEAT 100 +#define MGTURRET_K_SCALE 1.0f +#define MGTURRET_RANGE 300.0f +#define MGTURRET_SPREAD 200 +#define MGTURRET_DMG HDM(4) +#define MGTURRET_DCC_ANGULARSPEED 10 +#define MGTURRET_DCC_ACCURACYTOLERANCE MGTURRET_DCC_ANGULARSPEED / 1.5f +#define MGTURRET_GRAB_ANGULARSPEED 3 +#define MGTURRET_GRAB_ACCURACYTOLERANCE MGTURRET_GRAB_ANGULARSPEED / 1.5f + +#define TESLAGEN_BP 10 +#define TESLAGEN_BT 15000 +#define TESLAGEN_HEALTH HBHM(220) +#define TESLAGEN_SPLASHDAMAGE 50 +#define TESLAGEN_SPLASHRADIUS 100 +#define TESLAGEN_REPEAT 250 +#define TESLAGEN_K_SCALE 4.0f +#define TESLAGEN_RANGE 250 +#define TESLAGEN_DMG HDM(9) + +#define DC_BP 8 +#define DC_BT 10000 +#define DC_HEALTH HBHM(190) +#define DC_SPLASHDAMAGE 50 +#define DC_SPLASHRADIUS 100 + +#define ARMOURY_BP 10 +#define ARMOURY_BT 10000 +#define ARMOURY_HEALTH HBHM(280) +#define ARMOURY_SPLASHDAMAGE 50 +#define ARMOURY_SPLASHRADIUS 100 + +#define REACTOR_BP 0 +#define REACTOR_BT 20000 +#define REACTOR_HEALTH HBHM(930) +#define REACTOR_SPLASHDAMAGE 200 +#define REACTOR_SPLASHRADIUS 300 +#define REACTOR_ATTACK_RANGE 100.0f +#define REACTOR_ATTACK_REPEAT 1000 +#define REACTOR_ATTACK_DAMAGE 40 +#define REACTOR_VALUE 2 + +#define REPEATER_BP 0 +#define REPEATER_BT 10000 +#define REPEATER_HEALTH HBHM(250) +#define REPEATER_SPLASHDAMAGE 50 +#define REPEATER_SPLASHRADIUS 100 +#define REPEATER_INACTIVE_TIME 90000 + +//ROTAX +#define PLANK_BP 1 +#define PLANK_BT 10000 +#define PLANK_HEALTH HBHM(250) +#define PLANK_SPLASHDAMAGE 5 +#define PLANK_SPLASHRADIUS 100 + +#define CRATE_BP 1 +#define CRATE_BT 10000 +#define CRATE_HEALTH HBHM(200) +#define CRATE_SPLASHDAMAGE 5 +#define CRATE_SPLASHRADIUS 100 + +#define PILLAR_BP 1 +#define PILLAR_BT 9000 +#define PILLAR_HEALTH HBHM(350) +#define PILLAR_SPLASHDAMAGE 5 +#define PILLAR_SPLASHRADIUS 100 + +#define BRICKH_BP 1 +#define BRICKH_BT 5000 +#define BRICKH_HEALTH HBHM(150) +#define BRICKH_SPLASHDAMAGE 5 +#define BRICKH_SPLASHRADIUS 100 + +#define FLAGH_BP 1 +#define FLAGH_BT 8000 +#define FLAGH_HEALTH HBHM(150) +#define FLAGH_SPLASHDAMAGE 0 +#define FLAGH_SPLASHRADIUS 0 + +#define CONTAINER_BP 15 +#define CONTAINER_BT 15000 +#define CONTAINER_HEALTH HBHM(600) +#define CONTAINER_SPLASHDAMAGE 15 +#define CONTAINER_SPLASHRADIUS 110 + +/* + * HUMAN misc + */ + +#define HUMAN_SPRINT_MODIFIER 1.2f +#define HUMAN_JOG_MODIFIER 1.0f +#define HUMAN_BACK_MODIFIER 0.8f +#define HUMAN_SIDE_MODIFIER 0.9f + +#define STAMINA_STOP_RESTORE 25 +#define STAMINA_WALK_RESTORE 15 +#define STAMINA_SPRINT_TAKE 8 +#define STAMINA_LARMOUR_TAKE 4 + +#define HUMAN_SPAWN_REPEAT_TIME 10000 + +/* + * Misc + */ + +#define MIN_FALL_DISTANCE 30.0f //the fall distance at which fall damage kicks in +#define MAX_FALL_DISTANCE 120.0f //the fall distance at which maximum damage is dealt +#define AVG_FALL_DISTANCE ((MIN_FALL_DISTANCE+MAX_FALL_DISTANCE)/2.0f) + +#define HUMAN_MAXED 900 //a human with a strong selection of weapons/upgrades +#define HUMAN_MAX_CREDITS 2000 +#define ALIEN_MAX_KILLS 9 +#define ALIEN_MAX_SINGLE_KILLS 3 + +#define FREEKILL_PERIOD 120000 //msec +#define FREEKILL_ALIEN 1 +#define FREEKILL_HUMAN LEVEL0_VALUE + +#define DEFAULT_ALIEN_BUILDPOINTS "100" +#define DEFAULT_ALIEN_STAGE2_THRESH "20" +#define DEFAULT_ALIEN_STAGE3_THRESH "40" +#define DEFAULT_ALIEN_MAX_STAGE "2" +#define DEFAULT_HUMAN_BUILDPOINTS "100" +#define DEFAULT_HUMAN_STAGE2_THRESH "20" +#define DEFAULT_HUMAN_STAGE3_THRESH "40" +#define DEFAULT_HUMAN_MAX_STAGE "2" + +#define DAMAGE_FRACTION_FOR_KILL 0.5f //how much damage players (versus structures) need to + //do to increment the stage kill counters + +// g_suddenDeathMode settings +#define SDMODE_BP 0 +#define SDMODE_NO_BUILD 1 +#define SDMODE_SELECTIVE 2 -- cgit