From 20e7d6d93a5043e041f60b066b29c9506ae69b69 Mon Sep 17 00:00:00 2001 From: div0 Date: Mon, 8 Dec 2008 13:06:31 +0000 Subject: [PATCH] separate respawn times for weapons and ammo now; ENFORCE config file version matching the QC code git-svn-id: svn://svn.icculus.org/nexuiz/trunk@5177 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/defaultNexuiz.cfg | 3 + data/qcsrc/server/constants.qh | 2 + data/qcsrc/server/defs.qh | 2 + data/qcsrc/server/g_world.qc | 6 + data/qcsrc/server/miscfunctions.qc | 2 + data/qcsrc/server/t_items.qc | 10 +- data/update-cvarcount.sh | 21 + data/weapons.cfg | 676 +++++++++++++++-------------- data/weaponsPro.cfg | 16 +- 9 files changed, 392 insertions(+), 346 deletions(-) create mode 100644 data/update-cvarcount.sh diff --git a/data/defaultNexuiz.cfg b/data/defaultNexuiz.cfg index b8a5e5e80..b6f700428 100644 --- a/data/defaultNexuiz.cfg +++ b/data/defaultNexuiz.cfg @@ -15,6 +15,9 @@ alias if_dedicated "_detect_dedicated_$qport $*" // later, it's overridden by config.cfg, version ranges are defined in config_update.cfg seta g_configversion 0 +// default.cfg versioning (update using update-cvarcount.sh; run that every time after adding a new cvar) +set cvar_check_default 3e222928f6156061e54639483d8961f0 + // Nexuiz version (formatted for machines) // used to determine if a client version is compatible // this doesn't have to be bumped with every release diff --git a/data/qcsrc/server/constants.qh b/data/qcsrc/server/constants.qh index eaa0ee26c..9f2fc341d 100644 --- a/data/qcsrc/server/constants.qh +++ b/data/qcsrc/server/constants.qh @@ -1,3 +1,5 @@ +string CVAR_CHECK_DEFAULT = "3e222928f6156061e54639483d8961f0"; +string CVAR_CHECK_WEAPONS = "bf8a055d6b6b090133b248bccf916024"; float FALSE = 0; float TRUE = 1; diff --git a/data/qcsrc/server/defs.qh b/data/qcsrc/server/defs.qh index e6497c3b5..f564b3a61 100644 --- a/data/qcsrc/server/defs.qh +++ b/data/qcsrc/server/defs.qh @@ -28,6 +28,8 @@ float g_ctf_ignore_frags; float g_ctf_reverse; float g_race_qualifying; float inWarmupStage; +float g_pickup_respawntime_weapon; +float g_pickup_respawntime_ammo; float g_pickup_respawntime_short; float g_pickup_respawntime_medium; float g_pickup_respawntime_long; diff --git a/data/qcsrc/server/g_world.qc b/data/qcsrc/server/g_world.qc index eb9fda0fe..b244c5447 100644 --- a/data/qcsrc/server/g_world.qc +++ b/data/qcsrc/server/g_world.qc @@ -240,6 +240,12 @@ void spawnfunc_worldspawn (void) remove = remove_safely; // during spawning, watch what you remove! + if(cvar_string("cvar_check_default") != CVAR_CHECK_DEFAULT) + error("Config file mismatch! Please update defaultNexuiz.cfg to match the QuakeC code!"); + + if(cvar_string("cvar_check_weapons") != CVAR_CHECK_WEAPONS) + error("Config file mismatch! Please update weapons.cfg and weaponsPro.cfg to match the QuakeC code!"); + compressShortVector_init(); local entity head; diff --git a/data/qcsrc/server/miscfunctions.qc b/data/qcsrc/server/miscfunctions.qc index 1f53b84f4..26b404437 100644 --- a/data/qcsrc/server/miscfunctions.qc +++ b/data/qcsrc/server/miscfunctions.qc @@ -992,6 +992,8 @@ void readlevelcvars(void) if(g_race && g_race_qualifying == 2 || g_arena || g_assault || cvar("g_campaign")) inWarmupStage = 0; // these modes cannot work together, sorry + g_pickup_respawntime_weapon = cvar("g_pickup_respawntime_weapon"); + g_pickup_respawntime_ammo = cvar("g_pickup_respawntime_ammo"); g_pickup_respawntime_short = cvar("g_pickup_respawntime_short"); g_pickup_respawntime_medium = cvar("g_pickup_respawntime_medium"); g_pickup_respawntime_long = cvar("g_pickup_respawntime_long"); diff --git a/data/qcsrc/server/t_items.qc b/data/qcsrc/server/t_items.qc index 0eecbd201..dd0a79cda 100644 --- a/data/qcsrc/server/t_items.qc +++ b/data/qcsrc/server/t_items.qc @@ -610,7 +610,7 @@ void weapon_defaultspawnfunc(float wpn) if(e.items == IT_SUPERWEAPON) self.respawntime = g_pickup_respawntime_powerup; else - self.respawntime = g_pickup_respawntime_short; + self.respawntime = g_pickup_respawntime_weapon; } if(self.classname != "droppedweapon" && self.classname != "replacedweapon") @@ -750,7 +750,7 @@ void spawnfunc_weapon_rocketlauncher (void) void spawnfunc_item_rockets (void) { if(!self.ammo_rockets) self.ammo_rockets = g_pickup_rockets; - StartItem ("models/items/a_rockets.md3", "misc/itempickup.wav", g_pickup_respawntime_short, "rockets", IT_ROCKETS, 0, 0, commodity_pickupevalfunc, 3000); + StartItem ("models/items/a_rockets.md3", "misc/itempickup.wav", g_pickup_respawntime_ammo, "rockets", IT_ROCKETS, 0, 0, commodity_pickupevalfunc, 3000); } void spawnfunc_item_shells (void); @@ -767,13 +767,13 @@ void spawnfunc_item_bullets (void) { if(!self.ammo_nails) self.ammo_nails = g_pickup_nails; - StartItem ("models/items/a_bullets.mdl", "misc/itempickup.wav", g_pickup_respawntime_short, "bullets", IT_NAILS, 0, 0, commodity_pickupevalfunc, 2000); + StartItem ("models/items/a_bullets.mdl", "misc/itempickup.wav", g_pickup_respawntime_ammo, "bullets", IT_NAILS, 0, 0, commodity_pickupevalfunc, 2000); } void spawnfunc_item_cells (void) { if(!self.ammo_cells) self.ammo_cells = g_pickup_cells; - StartItem ("models/items/a_cells.md3", "misc/itempickup.wav", g_pickup_respawntime_short, "cells", IT_CELLS, 0, 0, commodity_pickupevalfunc, 2000); + StartItem ("models/items/a_cells.md3", "misc/itempickup.wav", g_pickup_respawntime_ammo, "cells", IT_CELLS, 0, 0, commodity_pickupevalfunc, 2000); } void spawnfunc_item_shells (void) { @@ -789,7 +789,7 @@ void spawnfunc_item_shells (void) { if(!self.ammo_shells) self.ammo_shells = g_pickup_shells; - StartItem ("models/items/a_shells.md3", "misc/itempickup.wav", g_pickup_respawntime_short, "shells", IT_SHELLS, 0, 0, commodity_pickupevalfunc, 500); + StartItem ("models/items/a_shells.md3", "misc/itempickup.wav", g_pickup_respawntime_ammo, "shells", IT_SHELLS, 0, 0, commodity_pickupevalfunc, 500); } void spawnfunc_item_armor_small (void) { diff --git a/data/update-cvarcount.sh b/data/update-cvarcount.sh new file mode 100644 index 000000000..7c009c0e5 --- /dev/null +++ b/data/update-cvarcount.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +countd=`awk '/^seta? g_/ { print $2; }' defaultNexuiz.cfg | sort -u | md5sum | cut -c 1-32` +countw=`awk '/^seta? g_/ { print $2; }' weapons.cfg | sort -u | md5sum | cut -c 1-32` +countp=`awk '/^seta? g_/ { print $2; }' weaponsPro.cfg | sort -u | md5sum | cut -c 1-32` + +if [ "$countw" != "$countp" ]; then + echo "Mismatch between weapons.cfg and weaponsPro.cfg. Aborting." + exit 1 +fi + +sed -i "s/^set cvar_check_default .*/set cvar_check_default $countd/" defaultNexuiz.cfg +sed -i "s/^set cvar_check_weapons .*/set cvar_check_weapons $countw/" weapons.cfg +sed -i "s/^set cvar_check_weapons .*/set cvar_check_weapons $countw/" weaponsPro.cfg + +sed -i "s/^string CVAR_CHECK_DEFAULT = .*/string CVAR_CHECK_DEFAULT = \"$countd\";/" qcsrc/server/constants.qh +sed -i "s/^string CVAR_CHECK_WEAPONS = .*/string CVAR_CHECK_WEAPONS = \"$countw\";/" qcsrc/server/constants.qh + +make + +echo "New checksums: $countd, $countw" diff --git a/data/weapons.cfg b/data/weapons.cfg index 46b1575f1..7139f63b0 100644 --- a/data/weapons.cfg +++ b/data/weapons.cfg @@ -1,336 +1,340 @@ -set g_start_weapon_laser 1 -set g_start_weapon_shotgun 1 -set g_start_weapon_uzi 0 -set g_start_weapon_grenadelauncher 0 -set g_start_weapon_electro 0 -set g_start_weapon_crylink 0 -set g_start_weapon_nex 0 -set g_start_weapon_hagar 0 -set g_start_weapon_rocketlauncher 0 -set g_start_weapon_minstanex 0 -set g_start_weapon_porto 0 -set g_start_weapon_hook 0 -set g_start_weapon_hlac 0 -set g_start_weapon_seeker 0 -set g_start_ammo_shells 50 -set g_start_ammo_nails 0 -set g_start_ammo_rockets 0 -set g_start_ammo_cells 0 -set g_pickup_shells 15 -set g_pickup_shells_max 999 -set g_pickup_nails 120 -set g_pickup_nails_max 999 -set g_pickup_rockets 15 -set g_pickup_rockets_max 999 -set g_pickup_cells 25 -set g_pickup_cells_max 999 -set g_pickup_armorsmall 5 -set g_pickup_armorsmall_max 999 -set g_pickup_armormedium 25 -set g_pickup_armormedium_max 999 -set g_pickup_armorlarge 100 -set g_pickup_armorlarge_max 999 -set g_pickup_healthsmall 5 -set g_pickup_healthsmall_max 999 -set g_pickup_healthmedium 25 -set g_pickup_healthmedium_max 999 -set g_pickup_healthlarge 50 -set g_pickup_healthlarge_max 999 -set g_pickup_healthmega 100 -set g_pickup_healthmega_max 999 -set g_pickup_respawntime_short 15 -set g_pickup_respawntime_medium 20 -set g_pickup_respawntime_long 30 -set g_pickup_respawntime_powerup 120 - -set g_balance_laser_primary_damage 35 -set g_balance_laser_primary_edgedamage 10 -set g_balance_laser_primary_force 400 -set g_balance_laser_primary_radius 70 -set g_balance_laser_primary_speed 9000 -set g_balance_laser_primary_refire 0.7 -set g_balance_laser_primary_animtime 0.3 -set g_balance_laser_primary_lifetime 30 -set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists -set g_balance_laser_secondary_damage 35 -set g_balance_laser_secondary_edgedamage 10 -set g_balance_laser_secondary_force 400 -set g_balance_laser_secondary_radius 70 -set g_balance_laser_secondary_speed 9000 -set g_balance_laser_secondary_refire 0.7 -set g_balance_laser_secondary_animtime 0.3 -set g_balance_laser_secondary_lifetime 30 - -set g_balance_shotgun_primary_bullets 5 -set g_balance_shotgun_primary_damage 12 -set g_balance_shotgun_primary_force 60 -set g_balance_shotgun_primary_spread 0.08 -set g_balance_shotgun_primary_refire 0.5 -set g_balance_shotgun_primary_animtime 0.2 -set g_balance_shotgun_primary_ammo 1 -set g_balance_shotgun_secondary_bullets 5 -set g_balance_shotgun_secondary_damage 12 -set g_balance_shotgun_secondary_force 60 -set g_balance_shotgun_secondary_spread 0.12 -set g_balance_shotgun_secondary_refire 1.35 -set g_balance_shotgun_secondary_animtime 0.2 -set g_balance_shotgun_secondary_ammo 1 - -set g_balance_uzi_first_damage 30 -set g_balance_uzi_first_force 50 -set g_balance_uzi_first_spread 0.01 -set g_balance_uzi_first_refire 0.2 -set g_balance_uzi_first_ammo 1 -set g_balance_uzi_sustained_damage 16 -set g_balance_uzi_sustained_force 27 -set g_balance_uzi_sustained_spread 0.05 -set g_balance_uzi_sustained_refire 0.1 -set g_balance_uzi_sustained_ammo 1 - -set g_balance_grenadelauncher_primary_damage 65 -set g_balance_grenadelauncher_primary_edgedamage 35 -set g_balance_grenadelauncher_primary_force 400 -set g_balance_grenadelauncher_primary_radius 140 -set g_balance_grenadelauncher_primary_speed 2000 -set g_balance_grenadelauncher_primary_speed_up 200 -set g_balance_grenadelauncher_primary_lifetime 30 -set g_balance_grenadelauncher_primary_refire 0.7 -set g_balance_grenadelauncher_primary_animtime 0.3 -set g_balance_grenadelauncher_primary_ammo 2 -set g_balance_grenadelauncher_secondary_damage 65 -set g_balance_grenadelauncher_secondary_edgedamage 35 -set g_balance_grenadelauncher_secondary_force 400 -set g_balance_grenadelauncher_secondary_radius 140 -set g_balance_grenadelauncher_secondary_speed 1400 -set g_balance_grenadelauncher_secondary_speed_up 200 -set g_balance_grenadelauncher_secondary_lifetime 2.5 -set g_balance_grenadelauncher_secondary_refire 0.6 -set g_balance_grenadelauncher_secondary_animtime 0.3 -set g_balance_grenadelauncher_secondary_ammo 2 -set g_balance_grenadelauncher_secondary_health 10 - -set g_balance_electro_primary_damage 80 -set g_balance_electro_primary_edgedamage 0 -set g_balance_electro_primary_force 200 -set g_balance_electro_primary_radius 150 -set g_balance_electro_primary_speed 2000 -set g_balance_electro_primary_lifetime 30 -set g_balance_electro_primary_refire 0.6 -set g_balance_electro_primary_animtime 0.3 -set g_balance_electro_primary_ammo 2 -set g_balance_electro_secondary_damage 60 -set g_balance_electro_secondary_spread 0.05 -set g_balance_electro_secondary_edgedamage 0 -set g_balance_electro_secondary_force 200 -set g_balance_electro_secondary_radius 150 -set g_balance_electro_secondary_speed 900 -set g_balance_electro_secondary_speed_up 200 -set g_balance_electro_secondary_lifetime 5 -set g_balance_electro_secondary_refire 0.3 -set g_balance_electro_secondary_animtime 0.3 -set g_balance_electro_secondary_ammo 2 -set g_balance_electro_secondary_health 5 -set g_balance_electro_combo_damage 70 -set g_balance_electro_combo_edgedamage 0 -set g_balance_electro_combo_force 200 -set g_balance_electro_combo_radius 250 -set g_balance_electro_combo_speed 2000 - -set g_balance_crylink_primary_damage 20 -set g_balance_crylink_primary_edgedamage 0 -set g_balance_crylink_primary_force -55 -set g_balance_crylink_primary_radius 80 -set g_balance_crylink_primary_speed 7000 -set g_balance_crylink_primary_spread 0.03 -set g_balance_crylink_primary_shots 4 -set g_balance_crylink_primary_bounces 1 -set g_balance_crylink_primary_refire 0.4 -set g_balance_crylink_primary_animtime 0.3 -set g_balance_crylink_primary_ammo 2 -set g_balance_crylink_primary_bouncedamagefactor 0.5 - -set g_balance_crylink_primary_middle_lifetime 5 // range: 35000 full, fades to 70000 -set g_balance_crylink_primary_middle_fadetime 5 -set g_balance_crylink_primary_star_lifetime 0.1 // range: 700 full, fades to 2100 -set g_balance_crylink_primary_star_fadetime 0.2 -set g_balance_crylink_primary_other_lifetime 0.1 // range: 700 full, fades to 2100 -set g_balance_crylink_primary_other_fadetime 0.2 - -set g_balance_crylink_secondary_damage 20 -set g_balance_crylink_secondary_edgedamage 0 -set g_balance_crylink_secondary_force -55 -set g_balance_crylink_secondary_radius 3 -set g_balance_crylink_secondary_speed 7000 -set g_balance_crylink_secondary_spread 0.08 -set g_balance_crylink_secondary_shots 7 -set g_balance_crylink_secondary_bounces 0 -set g_balance_crylink_secondary_refire 0.5 -set g_balance_crylink_secondary_animtime 0.3 -set g_balance_crylink_secondary_ammo 2 -set g_balance_crylink_secondary_bouncedamagefactor 0.5 - -set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to 70000 -set g_balance_crylink_secondary_middle_fadetime 5 -set g_balance_crylink_secondary_line_lifetime 2 // range: 35000 full, fades to 70000 -set g_balance_crylink_secondary_line_fadetime 2 - -set g_balance_nex_damage 140 -set g_balance_nex_force 600 -set g_balance_nex_refire 1.5 -set g_balance_nex_animtime 0.3 -set g_balance_nex_ammo 5 - -set g_balance_minstanex_refire 1 -set g_balance_minstanex_animtime 0.3 -set g_balance_minstanex_ammo 10 - -set g_balance_hagar_primary_damage 40 -set g_balance_hagar_primary_edgedamage 15 -set g_balance_hagar_primary_force 100 -set g_balance_hagar_primary_radius 70 -set g_balance_hagar_primary_spread 0.010 -set g_balance_hagar_primary_speed 3000 -set g_balance_hagar_primary_lifetime 30 -set g_balance_hagar_primary_refire 0.15 -set g_balance_hagar_primary_ammo 1 -set g_balance_hagar_secondary_damage 40 -set g_balance_hagar_secondary_edgedamage 15 -set g_balance_hagar_secondary_force 100 -set g_balance_hagar_secondary_radius 70 -set g_balance_hagar_secondary_spread 0.015 -set g_balance_hagar_secondary_speed 1400 -set g_balance_hagar_secondary_lifetime 30 -set g_balance_hagar_secondary_refire 0.15 -set g_balance_hagar_secondary_ammo 1 - -set g_balance_rocketlauncher_damage 130 -set g_balance_rocketlauncher_edgedamage 50 -set g_balance_rocketlauncher_force 600 -set g_balance_rocketlauncher_radius 170 -set g_balance_rocketlauncher_speed 850 -set g_balance_rocketlauncher_speedaccel 0 -set g_balance_rocketlauncher_speedstart 850 -set g_balance_rocketlauncher_lifetime 30 -set g_balance_rocketlauncher_refire 1 -set g_balance_rocketlauncher_animtime 0.3 -set g_balance_rocketlauncher_ammo 3 -set g_balance_rocketlauncher_health 30 -set g_balance_rocketlauncher_detonatedelay 0.2 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time -set g_balance_rocketlauncher_laserguided_speed 1000 //650 -set g_balance_rocketlauncher_laserguided_speedaccel 0 -set g_balance_rocketlauncher_laserguided_speedstart 1000 -set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5 -set g_balance_rocketlauncher_laserguided_allow_steal 1 - -// TESTING: port-o-launch -set g_balance_porto_primary_refire 1.5 -set g_balance_porto_primary_speed 2000 -set g_balance_porto_primary_lifetime 30 -set g_balance_porto_primary_ammo 25 -set g_balance_portal_health 200 // these get recharged whenever the portal is used -set g_balance_portal_lifetime 15 // these get recharged whenever the portal is used - -// TESTING: on-hand hook with bomb -set g_balance_hook_primary_ammo 0 // hook monkeys -set g_balance_hook_primary_refire 0 // hook monkeys -set g_balance_hook_primary_animtime 0.3 // good shoot anim -set g_balance_hook_secondary_damage 25 // not much -set g_balance_hook_secondary_edgedamage 5 // not much -set g_balance_hook_secondary_radius 500 // LOTS -set g_balance_hook_secondary_force -2000 // LOTS -set g_balance_hook_secondary_ammo 25 // a whole pack -set g_balance_hook_secondary_lifetime 30 // infinite -set g_balance_hook_secondary_speed 0 // not much throwing -set g_balance_hook_secondary_gravity 5 // fast falling -set g_balance_hook_secondary_refire 3 // don't drop too many bombs... -set g_balance_hook_secondary_animtime 0.3 // good shoot anim -set g_balance_hook_secondary_power 3 // effect behaves like a square function -set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds - -// HLAC -set g_balance_hlac_primary_spread_min 0.01 -set g_balance_hlac_primary_spread_max 0.25 -set g_balance_hlac_primary_spread_add 0.0045 -set g_balance_hlac_primary_spread_crouchmod 0.25 - -set g_balance_hlac_primary_damage 25 -set g_balance_hlac_primary_edgedamage 10 -set g_balance_hlac_primary_force 100 -set g_balance_hlac_primary_radius 70 -set g_balance_hlac_primary_speed 9000 -set g_balance_hlac_primary_lifetime 5 - -set g_balance_hlac_primary_refire 0.1 -set g_balance_hlac_primary_animtime 0.1 -set g_balance_hlac_primary_ammo 1 - -set g_balance_hlac_secondary_spread 0.15 -set g_balance_hlac_secondary_spread_crouchmod 0.5 - -set g_balance_hlac_secondary_damage 25 -set g_balance_hlac_secondary_edgedamage 10 -set g_balance_hlac_secondary_force 100 -set g_balance_hlac_secondary_radius 70 -set g_balance_hlac_secondary_speed 9000 -set g_balance_hlac_secondary_lifetime 5 - -set g_balance_hlac_secondary_refire 1 -set g_balance_hlac_secondary_animtime 0.3 -set g_balance_hlac_secondary_ammo 10 -set g_balance_hlac_secondary_shots 6 - - -// TAG Seeker -set g_balance_seeker_tag_speed 9000 -set g_balance_seeker_tag_ammo 1 -set g_balance_seeker_tag_animtime 0.1 -set g_balance_seeker_tag_refire 0.7 - -set g_balance_seeker_missile_delay 0.25 -set g_balance_seeker_missile_activate_delay 0.1 - -set g_balance_seeker_missile_speed 700 -set g_balance_seeker_missile_accel 1.05 -set g_balance_seeker_missile_decel 0.9 - -set g_balance_seeker_missile_speed_max 1250 -set g_balance_seeker_missile_turnrate 0.65 - -set g_balance_seeker_missile_damage 40 -set g_balance_seeker_missile_edgedamage 10 -set g_balance_seeker_missile_radius 80 -set g_balance_seeker_missile_force 250 - -set g_balance_seeker_missile_count 4 -set g_balance_seeker_missile_lifetime 15 -set g_balance_seeker_missile_refire 0.5 -set g_balance_seeker_missile_animtime 0.25 -set g_balance_seeker_missile_ammo 2 - -set g_balance_seeker_missile_proxy 0 -set g_balance_seeker_missile_proxy_maxrange 45 -set g_balance_seeker_missile_proxy_delay 0.2 - -// World avoidance -set g_balance_seeker_missile_smart 1 -set g_balance_seeker_missile_smart_mindist 800 -set g_balance_seeker_missile_smart_trace_max 2500 -set g_balance_seeker_missile_smart_trace_min 1000 -// End new seeker - - -set g_balance_seeker_flac_lifetime 0.1 -set g_balance_seeker_flac_lifetime_rand 0.05 -set g_balance_seeker_flac_speed 3000 -set g_balance_seeker_flac_spread 0.4 - -set g_balance_seeker_flac_damage 15 -set g_balance_seeker_flac_edgedamage 10 -set g_balance_seeker_flac_radius 100 -set g_balance_seeker_flac_force 50 - -set g_balance_seeker_flac_refire 0.1 -set g_balance_seeker_flac_animtime 0.1 -set g_balance_seeker_flac_ammo 0.5 - - +set cvar_check_weapons bf8a055d6b6b090133b248bccf916024 + +set g_start_weapon_laser 1 +set g_start_weapon_shotgun 1 +set g_start_weapon_uzi 0 +set g_start_weapon_grenadelauncher 0 +set g_start_weapon_electro 0 +set g_start_weapon_crylink 0 +set g_start_weapon_nex 0 +set g_start_weapon_hagar 0 +set g_start_weapon_rocketlauncher 0 +set g_start_weapon_minstanex 0 +set g_start_weapon_porto 0 +set g_start_weapon_hook 0 +set g_start_weapon_hlac 0 +set g_start_weapon_seeker 0 +set g_start_ammo_shells 50 +set g_start_ammo_nails 0 +set g_start_ammo_rockets 0 +set g_start_ammo_cells 0 +set g_pickup_shells 15 +set g_pickup_shells_max 999 +set g_pickup_nails 120 +set g_pickup_nails_max 999 +set g_pickup_rockets 15 +set g_pickup_rockets_max 999 +set g_pickup_cells 25 +set g_pickup_cells_max 999 +set g_pickup_armorsmall 5 +set g_pickup_armorsmall_max 999 +set g_pickup_armormedium 25 +set g_pickup_armormedium_max 999 +set g_pickup_armorlarge 100 +set g_pickup_armorlarge_max 999 +set g_pickup_healthsmall 5 +set g_pickup_healthsmall_max 999 +set g_pickup_healthmedium 25 +set g_pickup_healthmedium_max 999 +set g_pickup_healthlarge 50 +set g_pickup_healthlarge_max 999 +set g_pickup_healthmega 100 +set g_pickup_healthmega_max 999 +set g_pickup_respawntime_short 15 +set g_pickup_respawntime_medium 20 +set g_pickup_respawntime_long 30 +set g_pickup_respawntime_powerup 120 +set g_pickup_respawntime_weapon 15 +set g_pickup_respawntime_ammo 15 + +set g_balance_laser_primary_damage 35 +set g_balance_laser_primary_edgedamage 10 +set g_balance_laser_primary_force 400 +set g_balance_laser_primary_radius 70 +set g_balance_laser_primary_speed 9000 +set g_balance_laser_primary_refire 0.7 +set g_balance_laser_primary_animtime 0.3 +set g_balance_laser_primary_lifetime 30 +set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists +set g_balance_laser_secondary_damage 35 +set g_balance_laser_secondary_edgedamage 10 +set g_balance_laser_secondary_force 400 +set g_balance_laser_secondary_radius 70 +set g_balance_laser_secondary_speed 9000 +set g_balance_laser_secondary_refire 0.7 +set g_balance_laser_secondary_animtime 0.3 +set g_balance_laser_secondary_lifetime 30 + +set g_balance_shotgun_primary_bullets 5 +set g_balance_shotgun_primary_damage 12 +set g_balance_shotgun_primary_force 60 +set g_balance_shotgun_primary_spread 0.08 +set g_balance_shotgun_primary_refire 0.5 +set g_balance_shotgun_primary_animtime 0.2 +set g_balance_shotgun_primary_ammo 1 +set g_balance_shotgun_secondary_bullets 5 +set g_balance_shotgun_secondary_damage 12 +set g_balance_shotgun_secondary_force 60 +set g_balance_shotgun_secondary_spread 0.12 +set g_balance_shotgun_secondary_refire 1.35 +set g_balance_shotgun_secondary_animtime 0.2 +set g_balance_shotgun_secondary_ammo 1 + +set g_balance_uzi_first_damage 30 +set g_balance_uzi_first_force 50 +set g_balance_uzi_first_spread 0.01 +set g_balance_uzi_first_refire 0.2 +set g_balance_uzi_first_ammo 1 +set g_balance_uzi_sustained_damage 16 +set g_balance_uzi_sustained_force 27 +set g_balance_uzi_sustained_spread 0.05 +set g_balance_uzi_sustained_refire 0.1 +set g_balance_uzi_sustained_ammo 1 + +set g_balance_grenadelauncher_primary_damage 65 +set g_balance_grenadelauncher_primary_edgedamage 35 +set g_balance_grenadelauncher_primary_force 400 +set g_balance_grenadelauncher_primary_radius 140 +set g_balance_grenadelauncher_primary_speed 2000 +set g_balance_grenadelauncher_primary_speed_up 200 +set g_balance_grenadelauncher_primary_lifetime 30 +set g_balance_grenadelauncher_primary_refire 0.7 +set g_balance_grenadelauncher_primary_animtime 0.3 +set g_balance_grenadelauncher_primary_ammo 2 +set g_balance_grenadelauncher_secondary_damage 65 +set g_balance_grenadelauncher_secondary_edgedamage 35 +set g_balance_grenadelauncher_secondary_force 400 +set g_balance_grenadelauncher_secondary_radius 140 +set g_balance_grenadelauncher_secondary_speed 1400 +set g_balance_grenadelauncher_secondary_speed_up 200 +set g_balance_grenadelauncher_secondary_lifetime 2.5 +set g_balance_grenadelauncher_secondary_refire 0.6 +set g_balance_grenadelauncher_secondary_animtime 0.3 +set g_balance_grenadelauncher_secondary_ammo 2 +set g_balance_grenadelauncher_secondary_health 10 + +set g_balance_electro_primary_damage 80 +set g_balance_electro_primary_edgedamage 0 +set g_balance_electro_primary_force 200 +set g_balance_electro_primary_radius 150 +set g_balance_electro_primary_speed 2000 +set g_balance_electro_primary_lifetime 30 +set g_balance_electro_primary_refire 0.6 +set g_balance_electro_primary_animtime 0.3 +set g_balance_electro_primary_ammo 2 +set g_balance_electro_secondary_damage 60 +set g_balance_electro_secondary_spread 0.05 +set g_balance_electro_secondary_edgedamage 0 +set g_balance_electro_secondary_force 200 +set g_balance_electro_secondary_radius 150 +set g_balance_electro_secondary_speed 900 +set g_balance_electro_secondary_speed_up 200 +set g_balance_electro_secondary_lifetime 5 +set g_balance_electro_secondary_refire 0.3 +set g_balance_electro_secondary_animtime 0.3 +set g_balance_electro_secondary_ammo 2 +set g_balance_electro_secondary_health 5 +set g_balance_electro_combo_damage 70 +set g_balance_electro_combo_edgedamage 0 +set g_balance_electro_combo_force 200 +set g_balance_electro_combo_radius 250 +set g_balance_electro_combo_speed 2000 + +set g_balance_crylink_primary_damage 20 +set g_balance_crylink_primary_edgedamage 0 +set g_balance_crylink_primary_force -55 +set g_balance_crylink_primary_radius 80 +set g_balance_crylink_primary_speed 7000 +set g_balance_crylink_primary_spread 0.03 +set g_balance_crylink_primary_shots 4 +set g_balance_crylink_primary_bounces 1 +set g_balance_crylink_primary_refire 0.4 +set g_balance_crylink_primary_animtime 0.3 +set g_balance_crylink_primary_ammo 2 +set g_balance_crylink_primary_bouncedamagefactor 0.5 + +set g_balance_crylink_primary_middle_lifetime 5 // range: 35000 full, fades to 70000 +set g_balance_crylink_primary_middle_fadetime 5 +set g_balance_crylink_primary_star_lifetime 0.1 // range: 700 full, fades to 2100 +set g_balance_crylink_primary_star_fadetime 0.2 +set g_balance_crylink_primary_other_lifetime 0.1 // range: 700 full, fades to 2100 +set g_balance_crylink_primary_other_fadetime 0.2 + +set g_balance_crylink_secondary_damage 20 +set g_balance_crylink_secondary_edgedamage 0 +set g_balance_crylink_secondary_force -55 +set g_balance_crylink_secondary_radius 3 +set g_balance_crylink_secondary_speed 7000 +set g_balance_crylink_secondary_spread 0.08 +set g_balance_crylink_secondary_shots 7 +set g_balance_crylink_secondary_bounces 0 +set g_balance_crylink_secondary_refire 0.5 +set g_balance_crylink_secondary_animtime 0.3 +set g_balance_crylink_secondary_ammo 2 +set g_balance_crylink_secondary_bouncedamagefactor 0.5 + +set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to 70000 +set g_balance_crylink_secondary_middle_fadetime 5 +set g_balance_crylink_secondary_line_lifetime 2 // range: 35000 full, fades to 70000 +set g_balance_crylink_secondary_line_fadetime 2 + +set g_balance_nex_damage 140 +set g_balance_nex_force 600 +set g_balance_nex_refire 1.5 +set g_balance_nex_animtime 0.3 +set g_balance_nex_ammo 5 + +set g_balance_minstanex_refire 1 +set g_balance_minstanex_animtime 0.3 +set g_balance_minstanex_ammo 10 + +set g_balance_hagar_primary_damage 40 +set g_balance_hagar_primary_edgedamage 15 +set g_balance_hagar_primary_force 100 +set g_balance_hagar_primary_radius 70 +set g_balance_hagar_primary_spread 0.010 +set g_balance_hagar_primary_speed 3000 +set g_balance_hagar_primary_lifetime 30 +set g_balance_hagar_primary_refire 0.15 +set g_balance_hagar_primary_ammo 1 +set g_balance_hagar_secondary_damage 40 +set g_balance_hagar_secondary_edgedamage 15 +set g_balance_hagar_secondary_force 100 +set g_balance_hagar_secondary_radius 70 +set g_balance_hagar_secondary_spread 0.015 +set g_balance_hagar_secondary_speed 1400 +set g_balance_hagar_secondary_lifetime 30 +set g_balance_hagar_secondary_refire 0.15 +set g_balance_hagar_secondary_ammo 1 + +set g_balance_rocketlauncher_damage 130 +set g_balance_rocketlauncher_edgedamage 50 +set g_balance_rocketlauncher_force 600 +set g_balance_rocketlauncher_radius 170 +set g_balance_rocketlauncher_speed 850 +set g_balance_rocketlauncher_speedaccel 0 +set g_balance_rocketlauncher_speedstart 850 +set g_balance_rocketlauncher_lifetime 30 +set g_balance_rocketlauncher_refire 1 +set g_balance_rocketlauncher_animtime 0.3 +set g_balance_rocketlauncher_ammo 3 +set g_balance_rocketlauncher_health 30 +set g_balance_rocketlauncher_detonatedelay 0.2 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time +set g_balance_rocketlauncher_laserguided_speed 1000 //650 +set g_balance_rocketlauncher_laserguided_speedaccel 0 +set g_balance_rocketlauncher_laserguided_speedstart 1000 +set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5 +set g_balance_rocketlauncher_laserguided_allow_steal 1 + +// TESTING: port-o-launch +set g_balance_porto_primary_refire 1.5 +set g_balance_porto_primary_speed 2000 +set g_balance_porto_primary_lifetime 30 +set g_balance_porto_primary_ammo 25 +set g_balance_portal_health 200 // these get recharged whenever the portal is used +set g_balance_portal_lifetime 15 // these get recharged whenever the portal is used + +// TESTING: on-hand hook with bomb +set g_balance_hook_primary_ammo 0 // hook monkeys +set g_balance_hook_primary_refire 0 // hook monkeys +set g_balance_hook_primary_animtime 0.3 // good shoot anim +set g_balance_hook_secondary_damage 25 // not much +set g_balance_hook_secondary_edgedamage 5 // not much +set g_balance_hook_secondary_radius 500 // LOTS +set g_balance_hook_secondary_force -2000 // LOTS +set g_balance_hook_secondary_ammo 25 // a whole pack +set g_balance_hook_secondary_lifetime 30 // infinite +set g_balance_hook_secondary_speed 0 // not much throwing +set g_balance_hook_secondary_gravity 5 // fast falling +set g_balance_hook_secondary_refire 3 // don't drop too many bombs... +set g_balance_hook_secondary_animtime 0.3 // good shoot anim +set g_balance_hook_secondary_power 3 // effect behaves like a square function +set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds + +// HLAC +set g_balance_hlac_primary_spread_min 0.01 +set g_balance_hlac_primary_spread_max 0.25 +set g_balance_hlac_primary_spread_add 0.0045 +set g_balance_hlac_primary_spread_crouchmod 0.25 + +set g_balance_hlac_primary_damage 25 +set g_balance_hlac_primary_edgedamage 10 +set g_balance_hlac_primary_force 100 +set g_balance_hlac_primary_radius 70 +set g_balance_hlac_primary_speed 9000 +set g_balance_hlac_primary_lifetime 5 + +set g_balance_hlac_primary_refire 0.1 +set g_balance_hlac_primary_animtime 0.1 +set g_balance_hlac_primary_ammo 1 + +set g_balance_hlac_secondary_spread 0.15 +set g_balance_hlac_secondary_spread_crouchmod 0.5 + +set g_balance_hlac_secondary_damage 25 +set g_balance_hlac_secondary_edgedamage 10 +set g_balance_hlac_secondary_force 100 +set g_balance_hlac_secondary_radius 70 +set g_balance_hlac_secondary_speed 9000 +set g_balance_hlac_secondary_lifetime 5 + +set g_balance_hlac_secondary_refire 1 +set g_balance_hlac_secondary_animtime 0.3 +set g_balance_hlac_secondary_ammo 10 +set g_balance_hlac_secondary_shots 6 + + +// TAG Seeker +set g_balance_seeker_tag_speed 9000 +set g_balance_seeker_tag_ammo 1 +set g_balance_seeker_tag_animtime 0.1 +set g_balance_seeker_tag_refire 0.7 + +set g_balance_seeker_missile_delay 0.25 +set g_balance_seeker_missile_activate_delay 0.1 + +set g_balance_seeker_missile_speed 700 +set g_balance_seeker_missile_accel 1.05 +set g_balance_seeker_missile_decel 0.9 + +set g_balance_seeker_missile_speed_max 1250 +set g_balance_seeker_missile_turnrate 0.65 + +set g_balance_seeker_missile_damage 40 +set g_balance_seeker_missile_edgedamage 10 +set g_balance_seeker_missile_radius 80 +set g_balance_seeker_missile_force 250 + +set g_balance_seeker_missile_count 4 +set g_balance_seeker_missile_lifetime 15 +set g_balance_seeker_missile_refire 0.5 +set g_balance_seeker_missile_animtime 0.25 +set g_balance_seeker_missile_ammo 2 + +set g_balance_seeker_missile_proxy 0 +set g_balance_seeker_missile_proxy_maxrange 45 +set g_balance_seeker_missile_proxy_delay 0.2 + +// World avoidance +set g_balance_seeker_missile_smart 1 +set g_balance_seeker_missile_smart_mindist 800 +set g_balance_seeker_missile_smart_trace_max 2500 +set g_balance_seeker_missile_smart_trace_min 1000 +// End new seeker + + +set g_balance_seeker_flac_lifetime 0.1 +set g_balance_seeker_flac_lifetime_rand 0.05 +set g_balance_seeker_flac_speed 3000 +set g_balance_seeker_flac_spread 0.4 + +set g_balance_seeker_flac_damage 15 +set g_balance_seeker_flac_edgedamage 10 +set g_balance_seeker_flac_radius 100 +set g_balance_seeker_flac_force 50 + +set g_balance_seeker_flac_refire 0.1 +set g_balance_seeker_flac_animtime 0.1 +set g_balance_seeker_flac_ammo 0.5 + + diff --git a/data/weaponsPro.cfg b/data/weaponsPro.cfg index 385298767..04049bcb9 100644 --- a/data/weaponsPro.cfg +++ b/data/weaponsPro.cfg @@ -1,3 +1,5 @@ +set cvar_check_weapons bf8a055d6b6b090133b248bccf916024 + set g_start_weapon_laser 1 set g_start_weapon_shotgun 1 set g_start_weapon_uzi 0 @@ -42,6 +44,8 @@ set g_pickup_respawntime_short 15 set g_pickup_respawntime_medium 20 set g_pickup_respawntime_long 30 set g_pickup_respawntime_powerup 120 +set g_pickup_respawntime_weapon 15 +set g_pickup_respawntime_ammo 15 set g_balance_laser_primary_damage 20 set g_balance_laser_primary_edgedamage 10 @@ -236,7 +240,7 @@ set g_balance_hook_primary_refire 0 // hook monkeys set g_balance_hook_primary_animtime 0.3 // good shoot anim set g_balance_hook_secondary_damage 25 // not much set g_balance_hook_secondary_edgedamage 5 // not much -set g_balance_hook_secondary_radius 800 // LOTS +set g_balance_hook_secondary_radius 500 // LOTS set g_balance_hook_secondary_force -2000 // LOTS set g_balance_hook_secondary_ammo 25 // a whole pack set g_balance_hook_secondary_lifetime 30 // infinite @@ -244,6 +248,8 @@ set g_balance_hook_secondary_speed 0 // not much throwing set g_balance_hook_secondary_gravity 5 // fast falling set g_balance_hook_secondary_refire 3 // don't drop too many bombs... set g_balance_hook_secondary_animtime 0.3 // good shoot anim +set g_balance_hook_secondary_power 3 // effect behaves like a square function +set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds // HLAC set g_balance_hlac_primary_spread_min 0.01 @@ -251,7 +257,7 @@ set g_balance_hlac_primary_spread_max 0.25 set g_balance_hlac_primary_spread_add 0.0045 set g_balance_hlac_primary_spread_crouchmod 0.25 -set g_balance_hlac_primary_damage 30 +set g_balance_hlac_primary_damage 25 set g_balance_hlac_primary_edgedamage 10 set g_balance_hlac_primary_force 100 set g_balance_hlac_primary_radius 70 @@ -265,10 +271,10 @@ set g_balance_hlac_primary_ammo 1 set g_balance_hlac_secondary_spread 0.15 set g_balance_hlac_secondary_spread_crouchmod 0.5 -set g_balance_hlac_secondary_damage 30 +set g_balance_hlac_secondary_damage 25 set g_balance_hlac_secondary_edgedamage 10 -set g_balance_hlac_secondary_force 150 -set g_balance_hlac_secondary_radius 100 +set g_balance_hlac_secondary_force 100 +set g_balance_hlac_secondary_radius 70 set g_balance_hlac_secondary_speed 9000 set g_balance_hlac_secondary_lifetime 5 -- 2.39.2