]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote-tracking branch 'origin/master' into samual/lightning_gun
authorSamual Lenks <samual@xonotic.org>
Mon, 10 Jun 2013 01:24:23 +0000 (21:24 -0400)
committerSamual Lenks <samual@xonotic.org>
Mon, 10 Jun 2013 01:24:23 +0000 (21:24 -0400)
Conflicts:
balanceLeeStricklin.cfg
balanceXonotic.cfg
qcsrc/client/hook.qc
qcsrc/client/hud.qc
qcsrc/common/constants.qh
qcsrc/server/autocvars.qh

15 files changed:
1  2 
balance25.cfg
balanceFruitieX.cfg
balanceXPM.cfg
balanceXonotic.cfg
qcsrc/client/Defs.qc
qcsrc/client/Main.qc
qcsrc/client/hook.qc
qcsrc/common/constants.qh
qcsrc/server/autocvars.qh
qcsrc/server/cl_client.qc
qcsrc/server/g_world.qc
qcsrc/server/progs.src
qcsrc/server/t_quake3.qc
qcsrc/server/w_all.qc
qcsrc/server/w_electro.qc

diff --cc balance25.cfg
index 85e61f217296add289cfa455bb37c9a63da839aa,343891810adf6b8494361761137676bc31e831d1..f1ef007387f9760dd58111055b586f9b94d17cd6
@@@ -400,37 -419,12 +419,42 @@@ set g_balance_electro_combo_force 20
  set g_balance_electro_combo_radius 250
  set g_balance_electro_combo_comboradius 0
  set g_balance_electro_combo_speed 2000
+ set g_balance_electro_combo_safeammocheck 0
+ set g_balance_electro_switchdelay_drop 0.15
+ set g_balance_electro_switchdelay_raise 0.15
+ set g_balance_electro_reload_ammo 0 //default: 20
+ set g_balance_electro_reload_time 2
  // }}}
 +// {{{ lightning
 +set g_balance_lightning_primary_ammo 5
 +set g_balance_lightning_primary_animtime 0.2
 +set g_balance_lightning_primary_damage 100
 +set g_balance_lightning_primary_edgedamage 0
 +set g_balance_lightning_primary_falloff_mindist 0
 +set g_balance_lightning_primary_falloff_maxdist 0
 +set g_balance_lightning_primary_falloff_halflifedist 0
 +set g_balance_lightning_primary_force 425
 +set g_balance_lightning_primary_lifetime 0
 +set g_balance_lightning_primary_radius 850
 +set g_balance_lightning_primary_range 800
 +set g_balance_lightning_primary_refire 0.4
 +set g_balance_lightning_primary_speed 0
 +set g_balance_lightning_primary_spread 0
 +set g_balance_lightning_secondary_ammo 5
 +set g_balance_lightning_secondary_animtime 0.5
 +set g_balance_lightning_secondary_damage 100
 +set g_balance_lightning_secondary_damageforcescale 4
 +set g_balance_lightning_secondary_edgedamage 80
 +set g_balance_lightning_secondary_flyingdamage 1
 +set g_balance_lightning_secondary_flyingforce -80
 +set g_balance_lightning_secondary_flyingradius 200
 +set g_balance_lightning_secondary_force -200
 +set g_balance_lightning_secondary_health 1
 +set g_balance_lightning_secondary_lifetime 30
 +set g_balance_lightning_secondary_radius 300
 +set g_balance_lightning_secondary_refire 5
 +set g_balance_lightning_secondary_speed 600
 +// }}}
  // {{{ crylink
  set g_balance_crylink_primary_damage 18
  set g_balance_crylink_primary_edgedamage 0
index 0000000000000000000000000000000000000000,ce125421f91a64877c6e975cba3bbdfce025dbe8..5fa32c593189744c41c3c4e742856ae86a2575b8
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,709 +1,739 @@@
+ g_mod_balance FruitieX
+ // {{{ starting gear
+ set g_start_weapon_laser -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_shotgun -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_uzi -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_grenadelauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_electro -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_crylink -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_nex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_hagar -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_rocketlauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_minstanex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_porto -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_hook -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_fireball -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_balance_health_start 125
+ set g_balance_armor_start 0
+ set g_start_ammo_shells 20
+ set g_start_ammo_nails 0
+ set g_start_ammo_rockets 0
+ set g_start_ammo_cells 0
+ set g_start_ammo_fuel 0
+ set g_warmup_start_health 200 "starting values when being in warmup-stage"
+ set g_warmup_start_armor 100 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_shells 50 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_nails 150 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_rockets 50 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_cells 50 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_fuel 0 "starting values when being in warmup-stage"
+ set g_lms_start_health 200
+ set g_lms_start_armor 100
+ set g_lms_start_ammo_shells 30
+ set g_lms_start_ammo_nails 200
+ set g_lms_start_ammo_rockets 150
+ set g_lms_start_ammo_cells 150
+ set g_lms_start_ammo_fuel 0
+ set g_balance_nix_roundtime 25
+ set g_balance_nix_incrtime 1.6
+ set g_balance_nix_ammo_shells 15
+ set g_balance_nix_ammo_nails 45
+ set g_balance_nix_ammo_rockets 15
+ set g_balance_nix_ammo_cells 15
+ set g_balance_nix_ammo_fuel 0
+ set g_balance_nix_ammoincr_shells 2
+ set g_balance_nix_ammoincr_nails 6
+ set g_balance_nix_ammoincr_rockets 2
+ set g_balance_nix_ammoincr_cells 2
+ set g_balance_nix_ammoincr_fuel 2
+ // }}}
+ // {{{ pickup items
+ set g_pickup_ammo_anyway 1
+ set g_pickup_weapons_anyway 1
+ set g_pickup_shells 20
+ set g_pickup_shells_weapon 10
+ set g_pickup_shells_max 45
+ set g_pickup_nails 120
+ set g_pickup_nails_weapon 60
+ set g_pickup_nails_max 300
+ set g_pickup_rockets 25
+ set g_pickup_rockets_weapon 15
+ set g_pickup_rockets_max 150
+ set g_pickup_cells 30
+ set g_pickup_cells_weapon 20
+ set g_pickup_cells_max 150
+ set g_pickup_fuel 25
+ set g_pickup_fuel_weapon 15
+ set g_pickup_fuel_jetpack 50
+ set g_pickup_fuel_max 100
+ set g_pickup_armorsmall 5
+ set g_pickup_armorsmall_max 150
+ set g_pickup_armorsmall_anyway 1
+ set g_pickup_armormedium 25
+ set g_pickup_armormedium_max 50
+ set g_pickup_armormedium_anyway 0
+ set g_pickup_armorbig 50
+ set g_pickup_armorbig_max 75; // LOG: to allow a little more armor from medium armor
+ set g_pickup_armorbig_anyway 0
+ set g_pickup_armorlarge 100
+ set g_pickup_armorlarge_max 150
+ set g_pickup_armorlarge_anyway 1
+ set g_pickup_healthsmall 5
+ set g_pickup_healthsmall_max 250
+ set g_pickup_healthsmall_anyway 1
+ set g_pickup_healthmedium 25
+ set g_pickup_healthmedium_max 100
+ set g_pickup_healthmedium_anyway 0
+ set g_pickup_healthlarge 50
+ set g_pickup_healthlarge_max 150
+ set g_pickup_healthlarge_anyway 0
+ set g_pickup_healthmega 100
+ set g_pickup_healthmega_max 250
+ set g_pickup_healthmega_anyway 1
+ 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 10
+ set g_pickup_respawntime_superweapon 120
+ set g_pickup_respawntime_ammo 25
+ set g_pickup_respawntimejitter_short 0
+ set g_pickup_respawntimejitter_medium 0
+ set g_pickup_respawntimejitter_long 0
+ set g_pickup_respawntimejitter_powerup 10
+ set g_pickup_respawntimejitter_weapon 0
+ set g_pickup_respawntimejitter_superweapon 10
+ set g_pickup_respawntimejitter_ammo 0
+ // }}}
+ // {{{ regen/rot
+ set g_balance_health_regen 0.05
+ set g_balance_health_regenlinear 0
+ set g_balance_pause_health_regen 5
+ set g_balance_pause_health_regen_spawn 0
+ set g_balance_health_rot 0
+ set g_balance_health_rotlinear 1
+ set g_balance_pause_health_rot 1
+ set g_balance_pause_health_rot_spawn 0
+ set g_balance_health_regenstable 100
+ set g_balance_health_rotstable 100
+ set g_balance_health_limit 999
+ set g_balance_armor_regen 0
+ set g_balance_armor_regenlinear 0
+ set g_balance_armor_rot 0
+ set g_balance_armor_rotlinear 1
+ set g_balance_pause_armor_rot 1
+ set g_balance_pause_armor_rot_spawn 0
+ set g_balance_armor_regenstable 100
+ set g_balance_armor_rotstable 100
+ set g_balance_armor_limit 999
+ set g_balance_armor_blockpercent 0.7
+ set g_balance_fuel_regen 0.1 "fuel regeneration (only applies if the player owns IT_FUEL_REGEN)"
+ set g_balance_fuel_regenlinear 0
+ set g_balance_pause_fuel_regen 2 // other than this, fuel uses the health regen counter
+ set g_balance_fuel_rot 0.05
+ set g_balance_fuel_rotlinear 0
+ set g_balance_pause_fuel_rot 5
+ set g_balance_pause_fuel_rot_spawn 10
+ set g_balance_fuel_regenstable 50
+ set g_balance_fuel_rotstable 100
+ set g_balance_fuel_limit 999
+ // }}}
+ // {{{ misc
+ set g_balance_selfdamagepercent 0.65
+ set g_weaponspeedfactor 1 "weapon projectile speed multiplier"
+ set g_weaponratefactor 1 "weapon fire rate multiplier"
+ set g_weapondamagefactor 1 "weapon damage multiplier"
+ set g_weaponforcefactor 1 "weapon force multiplier"
+ set g_weaponspreadfactor 1 "weapon spread multiplier"
+ set g_balance_firetransfer_time 0.9
+ set g_balance_firetransfer_damage 0.8
+ set g_throughfloor_damage 0.7
+ set g_throughfloor_force 0.8
+ set g_projectiles_damage 2
+ // possible values:
+ // -2: absolutely no damage to projectiles (no exceptions)
+ // -1: no damage other than the exceptions (electro combo, hagar join explode, ML mines)
+ // 0: only damage from contents (lava/slime) or exceptions 
+ // 1: only self damage or damage from contents or exceptions
+ // 2: allow all damage to projectiles normally
+ set g_projectiles_keep_owner 0
+ set g_projectiles_newton_style 2
+ // possible values:
+ // 0: absolute velocity projectiles (like Quake)
+ // 1: relative velocity projectiles, "Newtonian" (like Tribes 2)
+ // 2: relative velocity projectiles, but aim is precorrected so projectiles hit the crosshair (note: strafe rockets then are SLOWER than ones shot while standing, happens in 1 too when aiming correctly which is hard)
+ set g_projectiles_newton_style_2_minfactor 0.7
+ set g_projectiles_newton_style_2_maxfactor 5
+ set g_projectiles_spread_style 7
+ // possible values:
+ // 0: forward + solid sphere (like Quake) - varies velocity
+ // 1: forward + flattened solid sphere
+ // 2: forward + solid circle
+ // 3: forward + normal distribution 3D - varies velocity
+ // 4: forward + normal distribution on a plane
+ // 5: forward + circle with 1-r falloff
+ // 6: forward + circle with 1-r^2 falloff
+ // 7: forward + circle with (1-r)(2-r) falloff
+ set g_balance_falldamage_deadminspeed 150
+ set g_balance_falldamage_minspeed 800
+ set g_balance_falldamage_factor 0.20
+ set g_balance_falldamage_maxdamage 15
+ set g_balance_damagepush_speedfactor 2.5
+ set g_balance_contents_damagerate 0.2 // ticrate interval for applying damage with playerdamage/projectiledamage
+ set g_balance_contents_drowndelay 10 // time under water before a player begins drowning
+ set g_balance_contents_playerdamage_drowning 20 // damage per second for while player is drowning
+ set g_balance_contents_playerdamage_lava 50 // damage per second for while player is inside lava
+ set g_balance_contents_playerdamage_slime 30 // damage per second for while player is inside slime
+ set g_balance_contents_projectiledamage 10000 // instantly kill projectiles upon touching lava/slime
+ set g_maxpushtime 8.0 "timeout for kill credit when your damage knocks someone into a death trap"
+ // }}}
+ // {{{ powerups
+ set g_balance_powerup_invincible_takedamage 0.6
+ set g_balance_powerup_invincible_time 30
+ set g_balance_powerup_strength_damage 3
+ set g_balance_powerup_strength_force 4
+ set g_balance_powerup_strength_time 30
+ set g_balance_powerup_strength_selfdamage 1.5
+ set g_balance_powerup_strength_selfforce 1.5
+ set g_balance_superweapons_time 30
+ // }}}
+ // {{{ jetpack/hook
+ set g_jetpack_antigravity 0.8 "factor of gravity compensation of the jetpack"
+ set g_jetpack_acceleration_side 1200 "acceleration of the jetpack in xy direction"
+ set g_jetpack_acceleration_up 600 "acceleration of the jetpack in z direction (note: you have to factor in gravity here, if antigravity is not 1)"
+ set g_jetpack_maxspeed_side 1500 "max speed of the jetpack in xy direction"
+ set g_jetpack_maxspeed_up 600 "max speed of the jetpack in z direction"
+ set g_jetpack_fuel 8 "fuel per second for jetpack"
+ set g_jetpack_attenuation 2 "jetpack sound attenuation"
+ set g_grappling_hook_tarzan 2 // 2: can also pull players
+ set g_balance_grapplehook_speed_fly 1800
+ set g_balance_grapplehook_speed_pull 2000
+ set g_balance_grapplehook_force_rubber 2000
+ set g_balance_grapplehook_force_rubber_overstretch 1000
+ set g_balance_grapplehook_length_min 50
+ set g_balance_grapplehook_stretch 50
+ set g_balance_grapplehook_airfriction 0.2
+ set g_balance_grapplehook_health 130
+ set g_balance_grapplehook_damagedbycontents 0
+ // }}}
+ // {{{ weapon properties
+ // {{{ laser
+ set g_balance_laser_primary_damage 20 // dps 33, hope that's not too high
+ set g_balance_laser_primary_edgedamage 20
+ set g_balance_laser_primary_force 150 // this looks insanely low, but actually isn't with zscale and velocitybias
+ set g_balance_laser_primary_radius 60
+ set g_balance_laser_primary_speed 5000
+ set g_balance_laser_primary_spread 0
+ set g_balance_laser_primary_refire 0.6
+ set g_balance_laser_primary_animtime 0.4
+ set g_balance_laser_primary_lifetime 5
+ set g_balance_laser_primary_shotangle 0
+ set g_balance_laser_primary_delay 0
+ set g_balance_laser_primary_gauntlet 0
+ set g_balance_laser_primary_force_zscale 2 // 300 upforce
+ set g_balance_laser_primary_force_velocitybias 0.3
+ set g_balance_laser_primary_force_other_scale 2.5 // force 375 when pushing others around
+ set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists
+ set g_balance_laser_secondary_damage 200 // dps
+ set g_balance_laser_secondary_edgedamage 0
+ set g_balance_laser_secondary_force 1300
+ set g_balance_laser_secondary_radius 60
+ set g_balance_laser_secondary_speed 0
+ set g_balance_laser_secondary_spread 0
+ set g_balance_laser_secondary_refire 0.066
+ set g_balance_laser_secondary_animtime 0.066
+ set g_balance_laser_secondary_lifetime 0
+ set g_balance_laser_secondary_shotangle 0
+ set g_balance_laser_secondary_delay 0
+ set g_balance_laser_secondary_gauntlet 1
+ set g_balance_laser_secondary_force_zscale 1.25
+ set g_balance_laser_secondary_force_velocitybias 0
+ set g_balance_laser_secondary_force_other_scale 0
+ set g_balance_laser_switchdelay_drop 0.15
+ set g_balance_laser_switchdelay_raise 0.15
+ set g_balance_laser_reload_ammo 0 //default: 6
+ set g_balance_laser_reload_time 2
+ // }}}
+ // {{{ shotgun
+ set g_balance_shotgun_primary_bullets 18
+ set g_balance_shotgun_primary_damage 3.5 // LOG: changed from 4 to 3.5, total damage 63
+ set g_balance_shotgun_primary_force 20
+ set g_balance_shotgun_primary_spread 0.16 // LOG: changed from 0.18 -> 0.16 to compensate a little for lower damage
+ set g_balance_shotgun_primary_refire 1
+ set g_balance_shotgun_primary_animtime 0.3
+ set g_balance_shotgun_primary_ammo 1
+ set g_balance_shotgun_primary_speed 12000
+ set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+ set g_balance_shotgun_secondary 1
+ set g_balance_shotgun_secondary_melee_delay 0.25 // 0.35 was too slow
+ set g_balance_shotgun_secondary_melee_range 120
+ set g_balance_shotgun_secondary_melee_swing_side 120
+ set g_balance_shotgun_secondary_melee_swing_up 30
+ set g_balance_shotgun_secondary_melee_time 0.15
+ set g_balance_shotgun_secondary_melee_traces 10
+ set g_balance_shotgun_secondary_melee_no_doubleslap 1
+ set g_balance_shotgun_secondary_melee_nonplayerdamage 0
+ set g_balance_shotgun_secondary_melee_multihit 1
+ set g_balance_shotgun_secondary_damage 110
+ set g_balance_shotgun_secondary_force 150
+ set g_balance_shotgun_secondary_refire 1.1
+ set g_balance_shotgun_secondary_animtime 1
+ set g_balance_shotgun_switchdelay_drop 0.15
+ set g_balance_shotgun_switchdelay_raise 0.15
+ set g_balance_shotgun_reload_ammo 0 //default: 5
+ set g_balance_shotgun_reload_time 2
+ // }}}
+ // {{{ uzi
+ set g_balance_uzi_mode 1                              // Activates varible spread for sustained & burst mode secondary
+ set g_balance_uzi_spread_min 0.02
+ set g_balance_uzi_spread_max 0.3 // LOG: 0.6 -> 0.3
+ set g_balance_uzi_spread_add 0.008
+ set g_balance_uzi_burst 3                             // # of bullets in a burst (if set to 2 or more)
+ set g_balance_uzi_burst_animtime 0.45
+ set g_balance_uzi_burst_refire 0.05           // refire between burst bullets
+ set g_balance_uzi_burst_refire2 0.45  // refire after burst
+ set g_balance_uzi_burst_spread 0.07
+ set g_balance_uzi_burst_damage 25
+ set g_balance_uzi_burst_force 50
+ set g_balance_uzi_burst_ammo 3
+ set g_balance_uzi_first 1
+ set g_balance_uzi_first_damage 15 / f/ LOG: 22 -> 15
+ set g_balance_uzi_first_force 50
+ set g_balance_uzi_first_spread 0.03
+ set g_balance_uzi_first_refire 0.2
+ set g_balance_uzi_first_ammo 2
+ set g_balance_uzi_sustained_damage 12   // 120 dps
+ set g_balance_uzi_sustained_force 12
+ set g_balance_uzi_sustained_spread 0.06
+ set g_balance_uzi_sustained_refire 0.1
+ set g_balance_uzi_sustained_ammo 1
+ set g_balance_uzi_speed 18000
+ set g_balance_uzi_bulletconstant 115 // 13.1qu
+ set g_balance_uzi_switchdelay_drop 0.15
+ set g_balance_uzi_switchdelay_raise 0.15
+ set g_balance_uzi_reload_ammo 0 //default: 30
+ set g_balance_uzi_reload_time 2
+ // }}}
+ // {{{ mortar
+ set g_balance_grenadelauncher_primary_type 0
+ set g_balance_grenadelauncher_primary_damage 44
+ set g_balance_grenadelauncher_primary_edgedamage 32
+ set g_balance_grenadelauncher_primary_force 300
+ set g_balance_grenadelauncher_primary_radius 115
+ set g_balance_grenadelauncher_primary_speed 1500
+ set g_balance_grenadelauncher_primary_speed_up 225
+ set g_balance_grenadelauncher_primary_speed_z 0
+ set g_balance_grenadelauncher_primary_spread 0
+ set g_balance_grenadelauncher_primary_lifetime 5
+ set g_balance_grenadelauncher_primary_lifetime2 0.65
+ set g_balance_grenadelauncher_primary_refire 0.8
+ set g_balance_grenadelauncher_primary_animtime 0.3
+ set g_balance_grenadelauncher_primary_ammo 2
+ set g_balance_grenadelauncher_primary_health 80
+ set g_balance_grenadelauncher_primary_damageforcescale 0
+ set g_balance_grenadelauncher_primary_remote_minbouncecnt 0
+ set g_balance_grenadelauncher_secondary_type 1
+ set g_balance_grenadelauncher_secondary_damage 62
+ set g_balance_grenadelauncher_secondary_edgedamage 32
+ set g_balance_grenadelauncher_secondary_force 300
+ set g_balance_grenadelauncher_secondary_radius 150
+ set g_balance_grenadelauncher_secondary_speed 1000
+ set g_balance_grenadelauncher_secondary_speed_up 250
+ set g_balance_grenadelauncher_secondary_speed_z 0
+ set g_balance_grenadelauncher_secondary_spread 0
+ set g_balance_grenadelauncher_secondary_lifetime 3
+ set g_balance_grenadelauncher_secondary_lifetime_bounce 0
+ set g_balance_grenadelauncher_secondary_lifetime_stick 0.65
+ set g_balance_grenadelauncher_secondary_refire 0.8
+ set g_balance_grenadelauncher_secondary_animtime 0.3
+ set g_balance_grenadelauncher_secondary_ammo 2
+ set g_balance_grenadelauncher_secondary_health 40
+ set g_balance_grenadelauncher_secondary_damageforcescale 0
+ set g_balance_grenadelauncher_secondary_remote_detonateprimary 0
+ set g_balance_grenadelauncher_bouncefactor 0.5
+ set g_balance_grenadelauncher_bouncestop 0.12
+ set g_balance_grenadelauncher_switchdelay_drop 0.15
+ set g_balance_grenadelauncher_switchdelay_raise 0.15
+ set g_balance_grenadelauncher_reload_ammo 0 //default: 12
+ set g_balance_grenadelauncher_reload_time 2
+ // }}}
+ // {{{ electro
+ set g_balance_electro_lightning 1
+ set g_balance_electro_primary_damage 100
+ set g_balance_electro_primary_edgedamage 0
+ set g_balance_electro_primary_force 425
+ set g_balance_electro_primary_force_up 125
+ set g_balance_electro_primary_radius 850
+ set g_balance_electro_primary_comboradius 150
+ set g_balance_electro_primary_speed 0
+ set g_balance_electro_primary_spread 0
+ set g_balance_electro_primary_lifetime 0
+ set g_balance_electro_primary_refire 0.4
+ set g_balance_electro_primary_animtime 0.2
+ set g_balance_electro_primary_ammo 5
+ set g_balance_electro_primary_range 800
+ set g_balance_electro_primary_falloff_mindist 0
+ set g_balance_electro_primary_falloff_maxdist 0
+ set g_balance_electro_primary_falloff_halflifedist 0
+ set g_balance_electro_secondary_damage 25
+ set g_balance_electro_secondary_edgedamage 0
+ set g_balance_electro_secondary_force 100
+ set g_balance_electro_secondary_radius 100
+ set g_balance_electro_secondary_speed 700
+ set g_balance_electro_secondary_speed_up 200
+ set g_balance_electro_secondary_speed_z 0
+ set g_balance_electro_secondary_spread 0.08
+ set g_balance_electro_secondary_lifetime 3.5
+ set g_balance_electro_secondary_refire 0.2
+ set g_balance_electro_secondary_refire2 2
+ set g_balance_electro_secondary_animtime 0.2
+ set g_balance_electro_secondary_ammo 2
+ set g_balance_electro_secondary_health 10
+ set g_balance_electro_secondary_damageforcescale 4
+ set g_balance_electro_secondary_damagedbycontents 0
+ set g_balance_electro_secondary_count 3
+ set g_balance_electro_secondary_bouncefactor 0.5
+ set g_balance_electro_secondary_bouncestop 0.075
+ set g_balance_electro_combo_damage 50
+ set g_balance_electro_combo_edgedamage 0
+ set g_balance_electro_combo_force 80
+ set g_balance_electro_combo_radius 250
+ set g_balance_electro_combo_comboradius 0
+ set g_balance_electro_combo_speed 400
+ set g_balance_electro_combo_safeammocheck 1
+ set g_balance_electro_switchdelay_drop 0.15
+ set g_balance_electro_switchdelay_raise 0.15
+ set g_balance_electro_reload_ammo 0 //default: 20
+ set g_balance_electro_reload_time 2
+ // }}}
++// {{{ lightning
++set g_balance_lightning_primary_ammo 5
++set g_balance_lightning_primary_animtime 0.2
++set g_balance_lightning_primary_damage 100
++set g_balance_lightning_primary_edgedamage 0
++set g_balance_lightning_primary_falloff_mindist 0
++set g_balance_lightning_primary_falloff_maxdist 0
++set g_balance_lightning_primary_falloff_halflifedist 0
++set g_balance_lightning_primary_force 425
++set g_balance_lightning_primary_lifetime 0
++set g_balance_lightning_primary_radius 850
++set g_balance_lightning_primary_range 800
++set g_balance_lightning_primary_refire 0.4
++set g_balance_lightning_primary_speed 0
++set g_balance_lightning_primary_spread 0
++set g_balance_lightning_secondary_ammo 5
++set g_balance_lightning_secondary_animtime 0.5
++set g_balance_lightning_secondary_damage 100
++set g_balance_lightning_secondary_damageforcescale 4
++set g_balance_lightning_secondary_edgedamage 80
++set g_balance_lightning_secondary_flyingdamage 1
++set g_balance_lightning_secondary_flyingforce -80
++set g_balance_lightning_secondary_flyingradius 200
++set g_balance_lightning_secondary_force -200
++set g_balance_lightning_secondary_health 1
++set g_balance_lightning_secondary_lifetime 30
++set g_balance_lightning_secondary_radius 300
++set g_balance_lightning_secondary_refire 5
++set g_balance_lightning_secondary_speed 600
++// }}}
+ // {{{ crylink
+ set g_balance_crylink_primary_damage 7 // LOG: 10 -> 7
+ set g_balance_crylink_primary_edgedamage 4 // LOG: 6 -> 4
+ set g_balance_crylink_primary_force 35
+ set g_balance_crylink_primary_radius 80
+ set g_balance_crylink_primary_speed 1500
+ set g_balance_crylink_primary_spread 0.05
+ set g_balance_crylink_primary_shots 7
+ set g_balance_crylink_primary_bounces 2
+ set g_balance_crylink_primary_refire 0.8
+ set g_balance_crylink_primary_animtime 0.3
+ set g_balance_crylink_primary_ammo 2
+ set g_balance_crylink_primary_bouncedamagefactor 0.2
+ set g_balance_crylink_primary_joindelay 0
+ set g_balance_crylink_primary_joinspread 0.2
+ set g_balance_crylink_primary_jointime 0.1
+ set g_balance_crylink_primary_joinexplode 0
+ set g_balance_crylink_primary_joinexplode_damage 0
+ set g_balance_crylink_primary_joinexplode_edgedamage 0
+ set g_balance_crylink_primary_joinexplode_radius 0
+ set g_balance_crylink_primary_joinexplode_force 0
+ set g_balance_crylink_primary_linkexplode 1
+ set g_balance_crylink_primary_middle_lifetime 5 // range: 10000 full, fades to 20000
+ set g_balance_crylink_primary_middle_fadetime 5
+ set g_balance_crylink_primary_other_lifetime 2 // range: 800 full, fades to 1300
+ set g_balance_crylink_primary_other_fadetime 0.25
+ set g_balance_crylink_secondary 1
+ set g_balance_crylink_secondary_damage 5 // LOG: 8 -> 5
+ set g_balance_crylink_secondary_edgedamage 3
+ set g_balance_crylink_secondary_force 16 // LOG: 20 -> 16
+ set g_balance_crylink_secondary_radius 15 // LOG: 20 -> 15
+ set g_balance_crylink_secondary_speed 1250 // LOG: 1500 -> 1250
+ set g_balance_crylink_secondary_spread 0.1
+ set g_balance_crylink_secondary_spreadtype 0
+ set g_balance_crylink_secondary_shots 6
+ set g_balance_crylink_secondary_bounces 2
+ set g_balance_crylink_secondary_refire 0.9 // LOG: 0.8 -> 0.9
+ set g_balance_crylink_secondary_animtime 0.3
+ set g_balance_crylink_secondary_ammo 3 // LOG: 2 -> 3
+ set g_balance_crylink_secondary_bouncedamagefactor 0.4 // LOG: 0.2 -> 0.4
+ set g_balance_crylink_secondary_joindelay 0
+ set g_balance_crylink_secondary_joinspread 0.2
+ set g_balance_crylink_secondary_jointime 0.1
+ set g_balance_crylink_secondary_joinexplode 0                 
+ set g_balance_crylink_secondary_joinexplode_damage 0  
+ set g_balance_crylink_secondary_joinexplode_edgedamage 0
+ set g_balance_crylink_secondary_joinexplode_radius 0
+ set g_balance_crylink_secondary_joinexplode_force 0
+ set g_balance_crylink_secondary_linkexplode 0
+ set g_balance_crylink_secondary_middle_lifetime 5 // range: 10000 full, fades to 10000
+ set g_balance_crylink_secondary_middle_fadetime 5
+ set g_balance_crylink_secondary_line_lifetime 2 // range: 4000 full, fades to 8000
+ set g_balance_crylink_secondary_line_fadetime 0.25
+ set g_balance_crylink_switchdelay_drop 0.15
+ set g_balance_crylink_switchdelay_raise 0.15
+ set g_balance_crylink_reload_ammo 0 //default: 10
+ set g_balance_crylink_reload_time 2
+ // }}}
+ // {{{ nex
+ set g_balance_nex_primary_damage 90
+ set g_balance_nex_primary_force 500
+ set g_balance_nex_primary_refire 1
+ set g_balance_nex_primary_animtime 0.3
+ set g_balance_nex_primary_ammo 5
+ set g_balance_nex_primary_damagefalloff_mindist 0
+ set g_balance_nex_primary_damagefalloff_maxdist 0
+ set g_balance_nex_primary_damagefalloff_halflife 0
+ set g_balance_nex_primary_damagefalloff_forcehalflife 0
+ set g_balance_nex_secondary 0 // LOG: disable secondary
+ set g_balance_nex_secondary_charge 0 // LOG: disable secondary charge
+ set g_balance_nex_secondary_charge_rate 0.4
+ set g_balance_nex_secondary_chargepool 1
+ set g_balance_nex_secondary_chargepool_regen 0.25
+ set g_balance_nex_secondary_chargepool_pause_regen 2
+ set g_balance_nex_secondary_chargepool_pause_health_regen 0.5
+ set g_balance_nex_secondary_damage 0
+ set g_balance_nex_secondary_force 0
+ set g_balance_nex_secondary_refire 0
+ set g_balance_nex_secondary_animtime 0
+ set g_balance_nex_secondary_ammo 0.4 // full charge pool is 1, so it depletes in 2.5 secs
+ set g_balance_nex_secondary_damagefalloff_mindist 0
+ set g_balance_nex_secondary_damagefalloff_maxdist 0
+ set g_balance_nex_secondary_damagefalloff_halflife 0
+ set g_balance_nex_secondary_damagefalloff_forcehalflife 0
+ set g_balance_nex_charge 1
+ set g_balance_nex_charge_mindmg 20
+ set g_balance_nex_charge_start 0.5
+ set g_balance_nex_charge_rate 0.5
+ set g_balance_nex_charge_animlimit 0.5
+ set g_balance_nex_charge_limit 1 // LOG: 0.5 -> 1 - allow to fully charge automaticaly
+ set g_balance_nex_charge_rot_rate 0 // LOG: 0.1 -> 0 - disable rot
+ set g_balance_nex_charge_rot_pause 0.5 // Dont rot down until this long after release of charge button
+ set g_balance_nex_charge_shot_multiplier 0
+ set g_balance_nex_charge_velocity_rate 0
+ set g_balance_nex_charge_minspeed 600
+ set g_balance_nex_charge_maxspeed 1000
+ set g_balance_nex_switchdelay_drop 0.15
+ set g_balance_nex_switchdelay_raise 0.15
+ set g_balance_nex_reload_ammo 0 //default: 25
+ set g_balance_nex_reload_time 2
+ // }}}
+ // {{{ minstanex
+ set g_balance_minstanex_refire 1
+ set g_balance_minstanex_animtime 0.50
+ set g_balance_minstanex_ammo 10
+ set g_balance_minstanex_laser_ammo 0
+ set g_balance_minstanex_laser_animtime 0.3
+ set g_balance_minstanex_laser_refire 0.6
+ set g_balance_minstanex_switchdelay_drop 0.15
+ set g_balance_minstanex_switchdelay_raise 0.15
+ set g_balance_minstanex_reload_ammo 0 //default: 50
+ set g_balance_minstanex_reload_time 2
+ // }}}
+ // {{{ hagar
+ set g_balance_hagar_primary_damage 14
+ set g_balance_hagar_primary_edgedamage 6
+ set g_balance_hagar_primary_force 70
+ set g_balance_hagar_primary_health 0
+ set g_balance_hagar_primary_damageforcescale 0
+ set g_balance_hagar_primary_radius 110
+ set g_balance_hagar_primary_spread 0.1
+ set g_balance_hagar_primary_speed 1800
+ set g_balance_hagar_primary_lifetime 5
+ set g_balance_hagar_primary_refire 0.12
+ set g_balance_hagar_primary_ammo 1
+ set g_balance_hagar_secondary 1
+ set g_balance_hagar_secondary_load 0
+ set g_balance_hagar_secondary_load_speed 0.6
+ set g_balance_hagar_secondary_load_spread 0.075
+ set g_balance_hagar_secondary_load_spread_bias 0.5
+ set g_balance_hagar_secondary_load_max 4
+ set g_balance_hagar_secondary_load_hold 0
+ set g_balance_hagar_secondary_load_releasedeath 1
+ set g_balance_hagar_secondary_load_abort 1
+ set g_balance_hagar_secondary_load_linkexplode 0
+ set g_balance_hagar_secondary_load_animtime 0.2
+ set g_balance_hagar_secondary_damage 14 // default for _load: 32
+ set g_balance_hagar_secondary_edgedamage 6 // default for _load: 10
+ set g_balance_hagar_secondary_force 70 // default for _load: 160
+ set g_balance_hagar_secondary_health 0
+ set g_balance_hagar_secondary_damageforcescale 0
+ set g_balance_hagar_secondary_radius 125
+ set g_balance_hagar_secondary_spread 0.15 // default for _load: 0.08
+ set g_balance_hagar_secondary_speed 1800
+ set g_balance_hagar_secondary_lifetime_min 5
+ set g_balance_hagar_secondary_lifetime_rand 0
+ set g_balance_hagar_secondary_refire 0.12 // default for _load: 0.8
+ set g_balance_hagar_secondary_ammo 1
+ set g_balance_hagar_switchdelay_drop 0.15
+ set g_balance_hagar_switchdelay_raise 0.15
+ set g_balance_hagar_reload_ammo 0 //default: 25
+ set g_balance_hagar_reload_time 2
+ // }}}
+ // {{{ rocketlauncher
+ set g_balance_rocketlauncher_damage 82
+ set g_balance_rocketlauncher_edgedamage 32
+ set g_balance_rocketlauncher_force 350
+ set g_balance_rocketlauncher_radius 130
+ set g_balance_rocketlauncher_speed 1400
+ set g_balance_rocketlauncher_speedaccel 1400
+ set g_balance_rocketlauncher_speedstart 800
+ set g_balance_rocketlauncher_lifetime 5
+ set g_balance_rocketlauncher_refire 1
+ set g_balance_rocketlauncher_animtime 0.3
+ set g_balance_rocketlauncher_ammo 3
+ set g_balance_rocketlauncher_health 0
+ set g_balance_rocketlauncher_damageforcescale 0
+ set g_balance_rocketlauncher_detonatedelay 0.05 // 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_guiderate 42 // max degrees per second
+ set g_balance_rocketlauncher_guideratedelay 0.01 // immediate
+ set g_balance_rocketlauncher_guidegoal 512 // goal distance for (non-laser) guiding (higher = less control, lower = erratic)
+ set g_balance_rocketlauncher_guidedelay 0.15 // delay before guiding kicks in
+ set g_balance_rocketlauncher_guidestop 0 // stop guiding when firing again
+ set g_balance_rocketlauncher_remote_damage 60
+ set g_balance_rocketlauncher_remote_edgedamage 20
+ set g_balance_rocketlauncher_remote_radius 120
+ set g_balance_rocketlauncher_remote_force 350
+ set g_balance_rocketlauncher_switchdelay_drop 0.15
+ set g_balance_rocketlauncher_switchdelay_raise 0.15
+ set g_balance_rocketlauncher_reload_ammo 0 //default: 25
+ set g_balance_rocketlauncher_reload_time 2
+ // }}}
+ // {{{ porto
+ set g_balance_porto_primary_refire 1.5
+ set g_balance_porto_primary_animtime 0.2
+ set g_balance_porto_primary_speed 2000
+ set g_balance_porto_primary_lifetime 5
+ set g_balance_porto_secondary 0
+ set g_balance_porto_secondary_refire 1.5
+ set g_balance_porto_secondary_animtime 0.2
+ set g_balance_porto_secondary_speed 2000
+ set g_balance_porto_secondary_lifetime 5
+ set g_balance_porto_switchdelay_drop 0.15
+ set g_balance_porto_switchdelay_raise 0.15
+ 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
+ // }}}
+ // {{{ hook
+ set g_balance_hook_primary_fuel 5 // hook monkeys set 0
+ set g_balance_hook_primary_refire 0 // hook monkeys set 0
+ set g_balance_hook_primary_animtime 0.2 // good shoot anim
+ set g_balance_hook_primary_hooked_time_max 0 // infinite
+ set g_balance_hook_primary_hooked_time_free 2 // 2s being hooked are free
+ set g_balance_hook_primary_hooked_fuel 5 // fuel per second hooked
+ 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 50 // a whole pack
+ set g_balance_hook_secondary_lifetime 5 // 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.2 // 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
+ set g_balance_hook_secondary_health 0
+ set g_balance_hook_secondary_damageforcescale 0
+ set g_balance_hook_switchdelay_drop 0.15
+ set g_balance_hook_switchdelay_raise 0.15
+ // }}}
+ // {{{ tuba
+ set g_balance_tuba_refire 0.05
+ set g_balance_tuba_animtime 0.05
+ set g_balance_tuba_attenuation 0.5
+ set g_balance_tuba_volume 1
+ set g_balance_tuba_fadetime 0.25
+ set g_balance_tuba_damage 5
+ set g_balance_tuba_edgedamage 0
+ set g_balance_tuba_radius 200
+ set g_balance_tuba_force 40
+ set g_balance_tuba_pitchstep 6
+ set g_balance_tuba_switchdelay_drop 0.15
+ set g_balance_tuba_switchdelay_raise 0.15
+ // }}}
+ // {{{ fireball
+ set g_balance_fireball_primary_animtime 0.2
+ set g_balance_fireball_primary_bfgdamage 100
+ set g_balance_fireball_primary_bfgforce 0
+ set g_balance_fireball_primary_bfgradius 1000
+ set g_balance_fireball_primary_damage 200
+ set g_balance_fireball_primary_damageforcescale 4
+ set g_balance_fireball_primary_edgedamage 0
+ set g_balance_fireball_primary_force 700
+ set g_balance_fireball_primary_health 50
+ set g_balance_fireball_primary_laserburntime 0.5
+ set g_balance_fireball_primary_laserdamage 80
+ set g_balance_fireball_primary_laseredgedamage 20
+ set g_balance_fireball_primary_laserradius 256
+ set g_balance_fireball_primary_lifetime 15
+ set g_balance_fireball_primary_radius 200
+ set g_balance_fireball_primary_refire 5
+ set g_balance_fireball_primary_refire2 0
+ set g_balance_fireball_primary_speed 650
+ set g_balance_fireball_primary_spread 0
+ set g_balance_fireball_secondary_animtime 0.2
+ set g_balance_fireball_secondary_damage 40
+ set g_balance_fireball_secondary_damageforcescale 4
+ set g_balance_fireball_secondary_damagetime 5
+ set g_balance_fireball_secondary_force 100
+ set g_balance_fireball_secondary_laserburntime 0.5
+ set g_balance_fireball_secondary_laserdamage 50
+ set g_balance_fireball_secondary_laseredgedamage 20
+ set g_balance_fireball_secondary_laserradius 110
+ set g_balance_fireball_secondary_lifetime 7
+ set g_balance_fireball_secondary_refire 2
+ set g_balance_fireball_secondary_speed 900
+ set g_balance_fireball_secondary_speed_up 100
+ set g_balance_fireball_secondary_speed_z 0
+ set g_balance_fireball_secondary_spread 0
+ set g_balance_fireball_switchdelay_drop 0.15
+ set g_balance_fireball_switchdelay_raise 0.15
+ // }}}
diff --cc balanceXPM.cfg
index 0000000000000000000000000000000000000000,f8ffd03381281b57c46ffa236eb0a174956b6da0..e952b59d1ded19f61f7e96d43b1f1d9ff6ff57c9
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,709 +1,739 @@@
+ g_mod_balance XPM
+ // {{{ starting gear
+ set g_start_weapon_laser -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_shotgun -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_uzi -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_grenadelauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_electro -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_crylink -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_nex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_hagar -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE
+ set g_start_weapon_rocketlauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_minstanex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_porto -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_hook -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_fireball -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_balance_health_start 100
+ set g_balance_armor_start 0
+ set g_start_ammo_shells 15
+ set g_start_ammo_nails 0
+ set g_start_ammo_rockets 0
+ set g_start_ammo_cells 0
+ set g_start_ammo_fuel 0
+ set g_warmup_start_health 100 "starting values when being in warmup-stage"
+ set g_warmup_start_armor 100 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_shells 30 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_nails 160 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_rockets 80 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_cells 90 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_fuel 0 "starting values when being in warmup-stage"
+ set g_lms_start_health 200
+ set g_lms_start_armor 200
+ set g_lms_start_ammo_shells 60
+ set g_lms_start_ammo_nails 320
+ set g_lms_start_ammo_rockets 160
+ set g_lms_start_ammo_cells 180
+ set g_lms_start_ammo_fuel 0
+ set g_balance_nix_roundtime 25
+ set g_balance_nix_incrtime 1.6
+ set g_balance_nix_ammo_shells 60
+ set g_balance_nix_ammo_nails 320
+ set g_balance_nix_ammo_rockets 160
+ set g_balance_nix_ammo_cells 180
+ set g_balance_nix_ammo_fuel 0
+ set g_balance_nix_ammoincr_shells 2 // eh this will need figured out later I assume
+ set g_balance_nix_ammoincr_nails 6
+ set g_balance_nix_ammoincr_rockets 2
+ set g_balance_nix_ammoincr_cells 2
+ set g_balance_nix_ammoincr_fuel 2
+ // }}}
+ // {{{ pickup items
+ set g_pickup_ammo_anyway 1
+ set g_pickup_weapons_anyway 1
+ set g_pickup_shells 15
+ set g_pickup_shells_weapon 15
+ set g_pickup_shells_max 60
+ set g_pickup_nails 80
+ set g_pickup_nails_weapon 80
+ set g_pickup_nails_max 320
+ set g_pickup_rockets 40
+ set g_pickup_rockets_weapon 40
+ set g_pickup_rockets_max 160
+ set g_pickup_cells 30
+ set g_pickup_cells_weapon 30
+ set g_pickup_cells_max 180
+ set g_pickup_fuel 50
+ set g_pickup_fuel_weapon 50
+ set g_pickup_fuel_jetpack 100
+ set g_pickup_fuel_max 100
+ set g_pickup_armorsmall 5
+ set g_pickup_armorsmall_max 200
+ set g_pickup_armorsmall_anyway 0
+ set g_pickup_armormedium 25
+ set g_pickup_armormedium_max 100
+ set g_pickup_armormedium_anyway 0
+ set g_pickup_armorbig 50
+ set g_pickup_armorbig_max 100
+ set g_pickup_armorbig_anyway 0
+ set g_pickup_armorlarge 100
+ set g_pickup_armorlarge_max 200
+ set g_pickup_armorlarge_anyway 0
+ set g_pickup_healthsmall 5
+ set g_pickup_healthsmall_max 200
+ set g_pickup_healthsmall_anyway 0
+ set g_pickup_healthmedium 25
+ set g_pickup_healthmedium_max 100
+ set g_pickup_healthmedium_anyway 0
+ set g_pickup_healthlarge 50
+ set g_pickup_healthlarge_max 100
+ set g_pickup_healthlarge_anyway 0
+ set g_pickup_healthmega 100
+ set g_pickup_healthmega_max 200
+ set g_pickup_healthmega_anyway 0
+ 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 10
+ set g_pickup_respawntime_superweapon 120
+ set g_pickup_respawntime_ammo 15
+ set g_pickup_respawntimejitter_short 0
+ set g_pickup_respawntimejitter_medium 0
+ set g_pickup_respawntimejitter_long 0
+ set g_pickup_respawntimejitter_powerup 30
+ set g_pickup_respawntimejitter_weapon 0
+ set g_pickup_respawntimejitter_superweapon 10
+ set g_pickup_respawntimejitter_ammo 0
+ // }}}
+ // {{{ regen/rot
+ set g_balance_health_regen 0.08
+ set g_balance_health_regenlinear 0.5
+ set g_balance_pause_health_regen 5
+ set g_balance_pause_health_regen_spawn 0
+ set g_balance_health_rot 0.03
+ set g_balance_health_rotlinear 0.75
+ set g_balance_pause_health_rot 1
+ set g_balance_pause_health_rot_spawn 5
+ set g_balance_health_regenstable 100
+ set g_balance_health_rotstable 100
+ set g_balance_health_limit 999
+ set g_balance_armor_regen 0
+ set g_balance_armor_regenlinear 0
+ set g_balance_armor_rot 0.03
+ set g_balance_armor_rotlinear 0.75
+ set g_balance_pause_armor_rot 1
+ set g_balance_pause_armor_rot_spawn 5
+ set g_balance_armor_regenstable 100
+ set g_balance_armor_rotstable 100
+ set g_balance_armor_limit 999
+ set g_balance_armor_blockpercent 0.6
+ set g_balance_fuel_regen 0.1 "fuel regeneration (only applies if the player owns IT_FUEL_REGEN)"
+ set g_balance_fuel_regenlinear 0
+ set g_balance_pause_fuel_regen 2 // other than this, fuel uses the health regen counter
+ set g_balance_fuel_rot 0.05
+ set g_balance_fuel_rotlinear 0
+ set g_balance_pause_fuel_rot 5
+ set g_balance_pause_fuel_rot_spawn 10
+ set g_balance_fuel_regenstable 50
+ set g_balance_fuel_rotstable 100
+ set g_balance_fuel_limit 999
+ // }}}
+ // {{{ misc
+ set g_balance_selfdamagepercent 0.65
+ set g_weaponspeedfactor 1 "weapon projectile speed multiplier"
+ set g_weaponratefactor 1 "weapon fire rate multiplier"
+ set g_weapondamagefactor 1 "weapon damage multiplier"
+ set g_weaponforcefactor 1 "weapon force multiplier"
+ set g_weaponspreadfactor 1 "weapon spread multiplier"
+ set g_balance_firetransfer_time 0.9
+ set g_balance_firetransfer_damage 0.8
+ set g_throughfloor_damage 0.75
+ set g_throughfloor_force 0.75
+ set g_projectiles_damage 1
+ // possible values:
+ // -2: absolutely no damage to projectiles (no exceptions)
+ // -1: no damage other than the exceptions (electro combo, hagar join explode, ML mines)
+ // 0: only damage from contents (lava/slime) or exceptions 
+ // 1: only self damage or damage from contents or exceptions
+ // 2: allow all damage to projectiles normally
+ set g_projectiles_keep_owner 0
+ set g_projectiles_newton_style 0
+ // possible values:
+ // 0: absolute velocity projectiles (like Quake)
+ // 1: relative velocity projectiles, "Newtonian" (like Tribes 2)
+ // 2: relative velocity projectiles, but aim is precorrected so projectiles hit the crosshair (note: strafe rockets then are SLOWER than ones shot while standing, happens in 1 too when aiming correctly which is hard)
+ set g_projectiles_newton_style_2_minfactor 0.8
+ set g_projectiles_newton_style_2_maxfactor 1.5
+ set g_projectiles_spread_style 7
+ // possible values:
+ // 0: forward + solid sphere (like Quake) - varies velocity
+ // 1: forward + flattened solid sphere
+ // 2: forward + solid circle
+ // 3: forward + normal distribution 3D - varies velocity
+ // 4: forward + normal distribution on a plane
+ // 5: forward + circle with 1-r falloff
+ // 6: forward + circle with 1-r^2 falloff
+ // 7: forward + circle with (1-r)(2-r) falloff
+ set g_balance_falldamage_deadminspeed 250
+ set g_balance_falldamage_minspeed 900
+ set g_balance_falldamage_factor 0.20
+ set g_balance_falldamage_maxdamage 40
+ set g_balance_damagepush_speedfactor 2.5
+ set g_balance_contents_damagerate 0.2 // ticrate interval for applying damage with playerdamage/projectiledamage
+ set g_balance_contents_drowndelay 10 // time under water before a player begins drowning
+ set g_balance_contents_playerdamage_drowning 20 // damage per second for while player is drowning
+ set g_balance_contents_playerdamage_lava 50 // damage per second for while player is inside lava
+ set g_balance_contents_playerdamage_slime 30 // damage per second for while player is inside slime
+ set g_balance_contents_projectiledamage 10000 // instantly kill projectiles upon touching lava/slime
+ set g_maxpushtime 8.0 "timeout for kill credit when your damage knocks someone into a death trap"
+ // }}}
+ // {{{ powerups
+ set g_balance_powerup_invincible_takedamage 0.25 // only 1/4th damage is taken
+ set g_balance_powerup_invincible_time 30
+ set g_balance_powerup_strength_damage 3
+ set g_balance_powerup_strength_force 3
+ set g_balance_powerup_strength_time 30
+ set g_balance_powerup_strength_selfdamage 1.5
+ set g_balance_powerup_strength_selfforce 1.5
+ set g_balance_superweapons_time 30
+ // }}}
+ // {{{ jetpack/hook
+ set g_jetpack_antigravity 0.8 "factor of gravity compensation of the jetpack"
+ set g_jetpack_acceleration_side 1200 "acceleration of the jetpack in xy direction"
+ set g_jetpack_acceleration_up 600 "acceleration of the jetpack in z direction (note: you have to factor in gravity here, if antigravity is not 1)"
+ set g_jetpack_maxspeed_side 1200 "max speed of the jetpack in xy direction"
+ set g_jetpack_maxspeed_up 600 "max speed of the jetpack in z direction"
+ set g_jetpack_fuel 8 "fuel per second for jetpack"
+ set g_jetpack_attenuation 2 "jetpack sound attenuation"
+ set g_grappling_hook_tarzan 2 // 2: can also pull players
+ set g_balance_grapplehook_speed_fly 1800
+ set g_balance_grapplehook_speed_pull 2000
+ set g_balance_grapplehook_force_rubber 2000
+ set g_balance_grapplehook_force_rubber_overstretch 1000
+ set g_balance_grapplehook_length_min 50
+ set g_balance_grapplehook_stretch 50
+ set g_balance_grapplehook_airfriction 0.2
+ set g_balance_grapplehook_health 50
+ set g_balance_grapplehook_damagedbycontents 1
+ // }}}
+ // {{{ weapon properties
+ // {{{ laser
+ set g_balance_laser_primary_damage 25
+ set g_balance_laser_primary_edgedamage 12.5
+ set g_balance_laser_primary_force 300
+ set g_balance_laser_primary_radius 70
+ set g_balance_laser_primary_speed 6000
+ set g_balance_laser_primary_spread 0
+ set g_balance_laser_primary_refire 0.7
+ set g_balance_laser_primary_animtime 0.2
+ set g_balance_laser_primary_lifetime 5
+ set g_balance_laser_primary_shotangle 0
+ set g_balance_laser_primary_delay 0
+ set g_balance_laser_primary_gauntlet 0
+ set g_balance_laser_primary_force_zscale 1.2
+ set g_balance_laser_primary_force_velocitybias 0
+ set g_balance_laser_primary_force_other_scale 1
+ set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists
+ set g_balance_laser_secondary_damage 25
+ set g_balance_laser_secondary_edgedamage 12.5
+ set g_balance_laser_secondary_force 400
+ set g_balance_laser_secondary_radius 70
+ set g_balance_laser_secondary_speed 12000
+ set g_balance_laser_secondary_spread 0
+ set g_balance_laser_secondary_refire 0.7
+ set g_balance_laser_secondary_animtime 0.2
+ set g_balance_laser_secondary_lifetime 5
+ set g_balance_laser_secondary_shotangle -90
+ set g_balance_laser_secondary_delay 0
+ set g_balance_laser_secondary_gauntlet 0
+ set g_balance_laser_secondary_force_zscale 1.25
+ set g_balance_laser_secondary_force_velocitybias 0
+ set g_balance_laser_secondary_force_other_scale 1
+ set g_balance_laser_switchdelay_drop 0.15
+ set g_balance_laser_switchdelay_raise 0.15
+ set g_balance_laser_reload_ammo 0 //default: 6
+ set g_balance_laser_reload_time 2
+ // }}}
+ // {{{ shotgun
+ set g_balance_shotgun_primary_bullets 14
+ set g_balance_shotgun_primary_damage 4
+ set g_balance_shotgun_primary_force 15
+ set g_balance_shotgun_primary_spread 0.12
+ set g_balance_shotgun_primary_refire 0.75
+ set g_balance_shotgun_primary_animtime 0.2
+ set g_balance_shotgun_primary_ammo 1
+ set g_balance_shotgun_primary_speed 8000
+ set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+ set g_balance_shotgun_secondary 1
+ set g_balance_shotgun_secondary_melee_delay 0.25 // 0.35 was too slow
+ set g_balance_shotgun_secondary_melee_range 120
+ set g_balance_shotgun_secondary_melee_swing_side 120
+ set g_balance_shotgun_secondary_melee_swing_up 30
+ set g_balance_shotgun_secondary_melee_time 0.15
+ set g_balance_shotgun_secondary_melee_traces 10
+ set g_balance_shotgun_secondary_melee_no_doubleslap 1
+ set g_balance_shotgun_secondary_melee_nonplayerdamage 40
+ set g_balance_shotgun_secondary_melee_multihit 1
+ set g_balance_shotgun_secondary_damage 80
+ set g_balance_shotgun_secondary_force 200
+ set g_balance_shotgun_secondary_refire 1.25
+ set g_balance_shotgun_secondary_animtime 1
+ set g_balance_shotgun_switchdelay_drop 0.2
+ set g_balance_shotgun_switchdelay_raise 0.2
+ set g_balance_shotgun_reload_ammo 0 //default: 5
+ set g_balance_shotgun_reload_time 2
+ // }}}
+ // {{{ uzi
+ set g_balance_uzi_mode 1                              // Activates varible spread for sustained & burst mode secondary
+ set g_balance_uzi_spread_min 0.02
+ set g_balance_uzi_spread_max 0.05
+ set g_balance_uzi_spread_add 0.012
+ set g_balance_uzi_burst 3                             // # of bullets in a burst (if set to 2 or more)
+ set g_balance_uzi_burst_animtime 0.3
+ set g_balance_uzi_burst_refire 0.06           // refire between burst bullets
+ set g_balance_uzi_burst_refire2 0.45  // refire after burst
+ set g_balance_uzi_burst_spread 0.02
+ set g_balance_uzi_burst_damage 25             
+ set g_balance_uzi_burst_force 20
+ set g_balance_uzi_burst_ammo 3
+ set g_balance_uzi_first 1
+ set g_balance_uzi_first_damage 14
+ set g_balance_uzi_first_force 5
+ set g_balance_uzi_first_spread 0.03
+ set g_balance_uzi_first_refire 0.125
+ set g_balance_uzi_first_ammo 1
+ set g_balance_uzi_sustained_damage 10 // 100 dps
+ set g_balance_uzi_sustained_force 5
+ set g_balance_uzi_sustained_spread 0.03
+ set g_balance_uzi_sustained_refire 0.1
+ set g_balance_uzi_sustained_ammo 1
+ set g_balance_uzi_speed 18000
+ set g_balance_uzi_bulletconstant 115 // 13.1qu
+ set g_balance_uzi_switchdelay_drop 0.2
+ set g_balance_uzi_switchdelay_raise 0.2
+ set g_balance_uzi_reload_ammo 60 //default: 30
+ set g_balance_uzi_reload_time 2
+ // }}}
+ // {{{ mortar
+ set g_balance_grenadelauncher_primary_type 0
+ set g_balance_grenadelauncher_primary_damage 50
+ set g_balance_grenadelauncher_primary_edgedamage 25
+ set g_balance_grenadelauncher_primary_force 250
+ set g_balance_grenadelauncher_primary_radius 120
+ set g_balance_grenadelauncher_primary_speed 1900
+ set g_balance_grenadelauncher_primary_speed_up 225
+ set g_balance_grenadelauncher_primary_speed_z 0
+ set g_balance_grenadelauncher_primary_spread 0
+ set g_balance_grenadelauncher_primary_lifetime 5
+ set g_balance_grenadelauncher_primary_lifetime2 1
+ set g_balance_grenadelauncher_primary_refire 0.8
+ set g_balance_grenadelauncher_primary_animtime 0.3
+ set g_balance_grenadelauncher_primary_ammo 2
+ set g_balance_grenadelauncher_primary_health 15
+ set g_balance_grenadelauncher_primary_damageforcescale 0
+ set g_balance_grenadelauncher_primary_remote_minbouncecnt 0
+ set g_balance_grenadelauncher_secondary_type 1
+ set g_balance_grenadelauncher_secondary_damage 60
+ set g_balance_grenadelauncher_secondary_edgedamage 30
+ set g_balance_grenadelauncher_secondary_force 250
+ set g_balance_grenadelauncher_secondary_radius 120
+ set g_balance_grenadelauncher_secondary_speed 1400
+ set g_balance_grenadelauncher_secondary_speed_up 150
+ set g_balance_grenadelauncher_secondary_speed_z 0
+ set g_balance_grenadelauncher_secondary_spread 0
+ set g_balance_grenadelauncher_secondary_lifetime 5
+ set g_balance_grenadelauncher_secondary_lifetime_bounce 0.5
+ set g_balance_grenadelauncher_secondary_lifetime_stick 0
+ set g_balance_grenadelauncher_secondary_refire 0.7
+ set g_balance_grenadelauncher_secondary_animtime 0.3
+ set g_balance_grenadelauncher_secondary_ammo 2
+ set g_balance_grenadelauncher_secondary_health 30
+ set g_balance_grenadelauncher_secondary_damageforcescale 4
+ set g_balance_grenadelauncher_secondary_remote_detonateprimary 0
+ set g_balance_grenadelauncher_bouncefactor 0.5
+ set g_balance_grenadelauncher_bouncestop 0.075
+ set g_balance_grenadelauncher_switchdelay_drop 0.2
+ set g_balance_grenadelauncher_switchdelay_raise 0.2
+ set g_balance_grenadelauncher_reload_ammo 0 //default: 12
+ set g_balance_grenadelauncher_reload_time 2
+ // }}}
+ // {{{ electro
+ set g_balance_electro_lightning 0
+ set g_balance_electro_primary_damage 40
+ set g_balance_electro_primary_edgedamage 20
+ set g_balance_electro_primary_force 200
+ set g_balance_electro_primary_force_up 0
+ set g_balance_electro_primary_radius 100
+ set g_balance_electro_primary_comboradius 200
+ set g_balance_electro_primary_speed 2500
+ set g_balance_electro_primary_spread 0
+ set g_balance_electro_primary_lifetime 5
+ set g_balance_electro_primary_refire 0.6
+ set g_balance_electro_primary_animtime 0.3
+ set g_balance_electro_primary_ammo 4
+ set g_balance_electro_primary_range 0
+ set g_balance_electro_primary_falloff_mindist 255 // 0.3 * radius
+ set g_balance_electro_primary_falloff_maxdist 850
+ set g_balance_electro_primary_falloff_halflifedist 425
+ set g_balance_electro_secondary_damage 40
+ set g_balance_electro_secondary_edgedamage 20
+ set g_balance_electro_secondary_force 50
+ set g_balance_electro_secondary_radius 150
+ set g_balance_electro_secondary_speed 1000
+ set g_balance_electro_secondary_speed_up 200
+ set g_balance_electro_secondary_speed_z 0
+ set g_balance_electro_secondary_spread 0.04
+ set g_balance_electro_secondary_lifetime 4
+ set g_balance_electro_secondary_refire 0.2
+ set g_balance_electro_secondary_refire2 1.6
+ set g_balance_electro_secondary_animtime 0.2
+ set g_balance_electro_secondary_ammo 2
+ set g_balance_electro_secondary_health 5
+ set g_balance_electro_secondary_damageforcescale 4
+ set g_balance_electro_secondary_damagedbycontents 1
+ set g_balance_electro_secondary_count 3
+ set g_balance_electro_secondary_bouncefactor 0.3
+ set g_balance_electro_secondary_bouncestop 0.05
+ set g_balance_electro_combo_damage 50
+ set g_balance_electro_combo_edgedamage 25
+ set g_balance_electro_combo_force 120
+ set g_balance_electro_combo_radius 150
+ set g_balance_electro_combo_comboradius 300
+ set g_balance_electro_combo_speed 2000
+ set g_balance_electro_combo_safeammocheck 1
+ set g_balance_electro_switchdelay_drop 0.2
+ set g_balance_electro_switchdelay_raise 0.2
+ set g_balance_electro_reload_ammo 0 //default: 20
+ set g_balance_electro_reload_time 2
+ // }}}
++// {{{ lightning
++set g_balance_lightning_primary_ammo 5
++set g_balance_lightning_primary_animtime 0.2
++set g_balance_lightning_primary_damage 100
++set g_balance_lightning_primary_edgedamage 0
++set g_balance_lightning_primary_falloff_mindist 0
++set g_balance_lightning_primary_falloff_maxdist 0
++set g_balance_lightning_primary_falloff_halflifedist 0
++set g_balance_lightning_primary_force 425
++set g_balance_lightning_primary_lifetime 0
++set g_balance_lightning_primary_radius 850
++set g_balance_lightning_primary_range 800
++set g_balance_lightning_primary_refire 0.4
++set g_balance_lightning_primary_speed 0
++set g_balance_lightning_primary_spread 0
++set g_balance_lightning_secondary_ammo 5
++set g_balance_lightning_secondary_animtime 0.5
++set g_balance_lightning_secondary_damage 100
++set g_balance_lightning_secondary_damageforcescale 4
++set g_balance_lightning_secondary_edgedamage 80
++set g_balance_lightning_secondary_flyingdamage 1
++set g_balance_lightning_secondary_flyingforce -80
++set g_balance_lightning_secondary_flyingradius 200
++set g_balance_lightning_secondary_force -200
++set g_balance_lightning_secondary_health 1
++set g_balance_lightning_secondary_lifetime 30
++set g_balance_lightning_secondary_radius 300
++set g_balance_lightning_secondary_refire 5
++set g_balance_lightning_secondary_speed 600
++// }}}
+ // {{{ crylink 
+ set g_balance_crylink_primary_damage 12
+ set g_balance_crylink_primary_edgedamage 6
+ set g_balance_crylink_primary_force -50
+ set g_balance_crylink_primary_radius 80
+ set g_balance_crylink_primary_speed 2000
+ set g_balance_crylink_primary_spread 0.08
+ set g_balance_crylink_primary_shots 6
+ set g_balance_crylink_primary_bounces 1
+ set g_balance_crylink_primary_refire 0.7
+ set g_balance_crylink_primary_animtime 0.3
+ set g_balance_crylink_primary_ammo 3
+ set g_balance_crylink_primary_bouncedamagefactor 0.5
+ set g_balance_crylink_primary_joindelay 0.1
+ set g_balance_crylink_primary_joinspread 0.2
+ set g_balance_crylink_primary_jointime 0
+ set g_balance_crylink_primary_joinexplode 1
+ set g_balance_crylink_primary_joinexplode_damage 0
+ set g_balance_crylink_primary_joinexplode_edgedamage 0
+ set g_balance_crylink_primary_joinexplode_radius 0
+ set g_balance_crylink_primary_joinexplode_force 0
+ set g_balance_crylink_primary_linkexplode 1
+ 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_other_lifetime 5 
+ set g_balance_crylink_primary_other_fadetime 5
+ set g_balance_crylink_secondary 1
+ set g_balance_crylink_secondary_damage 10
+ set g_balance_crylink_secondary_edgedamage 5
+ set g_balance_crylink_secondary_force -250
+ set g_balance_crylink_secondary_radius 100
+ set g_balance_crylink_secondary_speed 3000
+ set g_balance_crylink_secondary_spread 0.01
+ set g_balance_crylink_secondary_spreadtype 1
+ set g_balance_crylink_secondary_shots 5
+ set g_balance_crylink_secondary_bounces 0
+ set g_balance_crylink_secondary_refire 0.7
+ set g_balance_crylink_secondary_animtime 0.2
+ set g_balance_crylink_secondary_ammo 2
+ set g_balance_crylink_secondary_bouncedamagefactor 0.5
+ set g_balance_crylink_secondary_joindelay 0
+ set g_balance_crylink_secondary_joinspread 0
+ set g_balance_crylink_secondary_jointime 0
+ set g_balance_crylink_secondary_joinexplode 0                 
+ set g_balance_crylink_secondary_joinexplode_damage 0  
+ set g_balance_crylink_secondary_joinexplode_edgedamage 0
+ set g_balance_crylink_secondary_joinexplode_radius 0
+ set g_balance_crylink_secondary_joinexplode_force 0
+ set g_balance_crylink_secondary_linkexplode 1
+ 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 5 
+ set g_balance_crylink_secondary_line_fadetime 5
+ set g_balance_crylink_switchdelay_drop 0.2
+ set g_balance_crylink_switchdelay_raise 0.2
+ set g_balance_crylink_reload_ammo 0 //default: 10
+ set g_balance_crylink_reload_time 2
+ // }}}
+ // {{{ nex
+ set g_balance_nex_primary_damage 80
+ set g_balance_nex_primary_force 400
+ set g_balance_nex_primary_refire 1.5
+ set g_balance_nex_primary_animtime 0.6
+ set g_balance_nex_primary_ammo 6
+ set g_balance_nex_primary_damagefalloff_mindist 0 // 1000    For tZork ;3
+ set g_balance_nex_primary_damagefalloff_maxdist 0 // 3000
+ set g_balance_nex_primary_damagefalloff_halflife 0 // 1500
+ set g_balance_nex_primary_damagefalloff_forcehalflife 0 // 1500
+ set g_balance_nex_secondary 0
+ set g_balance_nex_secondary_charge 0
+ set g_balance_nex_secondary_charge_rate 0.1
+ set g_balance_nex_secondary_chargepool 0
+ set g_balance_nex_secondary_chargepool_regen 0.15
+ set g_balance_nex_secondary_chargepool_pause_regen 1
+ set g_balance_nex_secondary_chargepool_pause_health_regen 1
+ set g_balance_nex_secondary_damage 0
+ set g_balance_nex_secondary_force 0
+ set g_balance_nex_secondary_refire 0
+ set g_balance_nex_secondary_animtime 0
+ set g_balance_nex_secondary_ammo 2
+ set g_balance_nex_secondary_damagefalloff_mindist 0
+ set g_balance_nex_secondary_damagefalloff_maxdist 0
+ set g_balance_nex_secondary_damagefalloff_halflife 0
+ set g_balance_nex_secondary_damagefalloff_forcehalflife 0
+ set g_balance_nex_charge 1
+ set g_balance_nex_charge_mindmg 40
+ set g_balance_nex_charge_start 0.5
+ set g_balance_nex_charge_rate 0.4
+ set g_balance_nex_charge_animlimit 0.5
+ set g_balance_nex_charge_limit 1
+ set g_balance_nex_charge_rot_rate 0
+ set g_balance_nex_charge_rot_pause 0 // Dont rot down until this long after release of charge button
+ set g_balance_nex_charge_shot_multiplier 0
+ set g_balance_nex_charge_velocity_rate 0
+ set g_balance_nex_charge_minspeed 400
+ set g_balance_nex_charge_maxspeed 800
+ set g_balance_nex_switchdelay_drop 0.3
+ set g_balance_nex_switchdelay_raise 0.3
+ set g_balance_nex_reload_ammo 0 //default: 25
+ set g_balance_nex_reload_time 2
+ // }}}
+ // {{{ minstanex
+ set g_balance_minstanex_refire 1
+ set g_balance_minstanex_animtime 0.3
+ set g_balance_minstanex_ammo 10
+ set g_balance_minstanex_laser_ammo 0
+ set g_balance_minstanex_laser_animtime 0.3
+ set g_balance_minstanex_laser_refire 0.7
+ set g_balance_minstanex_switchdelay_drop 0.2
+ set g_balance_minstanex_switchdelay_raise 0.2
+ set g_balance_minstanex_reload_ammo 0 //default: 50
+ set g_balance_minstanex_reload_time 2
+ // }}}
+ // {{{ hagar
+ set g_balance_hagar_primary_damage 25
+ set g_balance_hagar_primary_edgedamage 12.5
+ set g_balance_hagar_primary_force 100
+ set g_balance_hagar_primary_health 15
+ set g_balance_hagar_primary_damageforcescale 0
+ set g_balance_hagar_primary_radius 65
+ set g_balance_hagar_primary_spread 0.03
+ set g_balance_hagar_primary_speed 2500
+ set g_balance_hagar_primary_lifetime 5
+ set g_balance_hagar_primary_refire 0.16667 // 6 rockets per second
+ set g_balance_hagar_primary_ammo 1
+ set g_balance_hagar_secondary 1
+ set g_balance_hagar_secondary_load 1
+ set g_balance_hagar_secondary_load_speed 0.5
+ set g_balance_hagar_secondary_load_spread 0.075
+ set g_balance_hagar_secondary_load_spread_bias 0.5
+ set g_balance_hagar_secondary_load_max 4
+ set g_balance_hagar_secondary_load_hold 4
+ set g_balance_hagar_secondary_load_releasedeath 0
+ set g_balance_hagar_secondary_load_abort 0
+ set g_balance_hagar_secondary_load_linkexplode 0
+ set g_balance_hagar_secondary_load_animtime 0.2
+ set g_balance_hagar_secondary_damage 40
+ set g_balance_hagar_secondary_edgedamage 20
+ set g_balance_hagar_secondary_force 75
+ set g_balance_hagar_secondary_health 15
+ set g_balance_hagar_secondary_damageforcescale 0
+ set g_balance_hagar_secondary_radius 80
+ set g_balance_hagar_secondary_spread 0.05
+ set g_balance_hagar_secondary_speed 2000
+ set g_balance_hagar_secondary_lifetime_min 10
+ set g_balance_hagar_secondary_lifetime_rand 0
+ set g_balance_hagar_secondary_refire 0.5
+ set g_balance_hagar_secondary_ammo 1
+ set g_balance_hagar_switchdelay_drop 0.2
+ set g_balance_hagar_switchdelay_raise 0.2
+ set g_balance_hagar_reload_ammo 0 //default: 25
+ set g_balance_hagar_reload_time 2
+ // }}}
+ // {{{ rocketlauncher
+ set g_balance_rocketlauncher_damage 80
+ set g_balance_rocketlauncher_edgedamage 40
+ set g_balance_rocketlauncher_force 450
+ set g_balance_rocketlauncher_radius 110
+ set g_balance_rocketlauncher_speed 1300
+ set g_balance_rocketlauncher_speedaccel 1300
+ set g_balance_rocketlauncher_speedstart 1000
+ set g_balance_rocketlauncher_lifetime 10
+ set g_balance_rocketlauncher_refire 1.1
+ set g_balance_rocketlauncher_animtime 0.4
+ set g_balance_rocketlauncher_ammo 4
+ set g_balance_rocketlauncher_health 30 // 30 // 5 hitpoints above maximum laser value -- this way lasers can't blow it up, but grenadelauncher still can most the time.
+ set g_balance_rocketlauncher_damageforcescale 1 // low damage force scale so that it can still be affected by other hits, but not so much that it does a 90 degree turn
+ set g_balance_rocketlauncher_detonatedelay 0.02 // 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_guiderate 90 // max degrees per second
+ set g_balance_rocketlauncher_guideratedelay 0.01 // immediate
+ set g_balance_rocketlauncher_guidegoal 512 // goal distance for (non-laser) guiding (higher = less control, lower = erratic)
+ set g_balance_rocketlauncher_guidedelay 0.2 // delay before guiding kicks in
+ set g_balance_rocketlauncher_guidestop 0 // stop guiding when firing again
+ set g_balance_rocketlauncher_remote_damage 70
+ set g_balance_rocketlauncher_remote_edgedamage 35
+ set g_balance_rocketlauncher_remote_radius 110
+ set g_balance_rocketlauncher_remote_force 400
+ set g_balance_rocketlauncher_switchdelay_drop 0.2
+ set g_balance_rocketlauncher_switchdelay_raise 0.2
+ set g_balance_rocketlauncher_reload_ammo 0 //default: 25
+ set g_balance_rocketlauncher_reload_time 2
+ // }}}
+ // {{{ porto
+ set g_balance_porto_primary_refire 1.5
+ set g_balance_porto_primary_animtime 0.3
+ set g_balance_porto_primary_speed 1000
+ set g_balance_porto_primary_lifetime 5
+ set g_balance_porto_secondary 1
+ set g_balance_porto_secondary_refire 1.5
+ set g_balance_porto_secondary_animtime 0.3
+ set g_balance_porto_secondary_speed 1000
+ set g_balance_porto_secondary_lifetime 5
+ set g_balance_porto_switchdelay_drop 0.2
+ set g_balance_porto_switchdelay_raise 0.2
+ 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
+ // }}}
+ // {{{ hook
+ set g_balance_hook_primary_fuel 5 // hook monkeys set 0
+ set g_balance_hook_primary_refire 0 // hook monkeys set 0
+ set g_balance_hook_primary_animtime 0.3 // good shoot anim
+ set g_balance_hook_primary_hooked_time_max 0 // infinite
+ set g_balance_hook_primary_hooked_time_free 2 // 2s being hooked are free
+ set g_balance_hook_primary_hooked_fuel 5 // fuel per second hooked
+ 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 30 // a whole pack
+ set g_balance_hook_secondary_lifetime 5 // 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
+ set g_balance_hook_secondary_health 15
+ set g_balance_hook_secondary_damageforcescale 0
+ set g_balance_hook_switchdelay_drop 0.2
+ set g_balance_hook_switchdelay_raise 0.2
+ // }}}
+ // {{{ tuba
+ set g_balance_tuba_refire 0.05
+ set g_balance_tuba_animtime 0.05
+ set g_balance_tuba_attenuation 0.5
+ set g_balance_tuba_volume 1
+ set g_balance_tuba_fadetime 0.25
+ set g_balance_tuba_damage 5
+ set g_balance_tuba_edgedamage 0
+ set g_balance_tuba_radius 200
+ set g_balance_tuba_force 40
+ set g_balance_tuba_pitchstep 6
+ set g_balance_tuba_switchdelay_drop 0.2
+ set g_balance_tuba_switchdelay_raise 0.2
+ // }}}
+ // {{{ fireball // this is a superweapon -- lets make it behave as one. 
+ set g_balance_fireball_primary_animtime 0.2
+ set g_balance_fireball_primary_bfgdamage 100
+ set g_balance_fireball_primary_bfgforce 0
+ set g_balance_fireball_primary_bfgradius 1000
+ set g_balance_fireball_primary_damage 200
+ set g_balance_fireball_primary_damageforcescale 0
+ set g_balance_fireball_primary_edgedamage 50
+ set g_balance_fireball_primary_force 600
+ set g_balance_fireball_primary_health 0
+ set g_balance_fireball_primary_laserburntime 0.5
+ set g_balance_fireball_primary_laserdamage 80
+ set g_balance_fireball_primary_laseredgedamage 20
+ set g_balance_fireball_primary_laserradius 256
+ set g_balance_fireball_primary_lifetime 15
+ set g_balance_fireball_primary_radius 200
+ set g_balance_fireball_primary_refire 2
+ set g_balance_fireball_primary_refire2 0
+ set g_balance_fireball_primary_speed 1200
+ set g_balance_fireball_primary_spread 0
+ set g_balance_fireball_secondary_animtime 0.3
+ set g_balance_fireball_secondary_damage 40
+ set g_balance_fireball_secondary_damageforcescale 4
+ set g_balance_fireball_secondary_damagetime 5
+ set g_balance_fireball_secondary_force 100
+ set g_balance_fireball_secondary_laserburntime 0.5
+ set g_balance_fireball_secondary_laserdamage 50
+ set g_balance_fireball_secondary_laseredgedamage 20
+ set g_balance_fireball_secondary_laserradius 110
+ set g_balance_fireball_secondary_lifetime 7
+ set g_balance_fireball_secondary_refire 1.5
+ set g_balance_fireball_secondary_speed 900
+ set g_balance_fireball_secondary_speed_up 100
+ set g_balance_fireball_secondary_speed_z 0
+ set g_balance_fireball_secondary_spread 0
+ set g_balance_fireball_switchdelay_drop 0.2
+ set g_balance_fireball_switchdelay_raise 0.2
+ // }}}
index 60526282a74a19bfaf3ae5e467a34cfd29c198fd,ca9d32c1dddcce2c588bbdf4fe2ad369d13f4182..60a746c17304b9a11794aadb7d0c966bc38958b0
@@@ -333,121 -368,80 +368,110 @@@ set g_balance_grenadelauncher_secondary
  set g_balance_grenadelauncher_secondary_remote_detonateprimary 0
  
  set g_balance_grenadelauncher_bouncefactor 0.5
- set g_balance_grenadelauncher_bouncestop 0.12
- // }}}
- // {{{ minelayer
- set g_balance_minelayer_damage 42
- set g_balance_minelayer_edgedamage 30
- set g_balance_minelayer_force 250
- set g_balance_minelayer_radius 175
- set g_balance_minelayer_proximityradius 150
- set g_balance_minelayer_speed 750
- set g_balance_minelayer_lifetime 60
- set g_balance_minelayer_lifetime_countdown 0
- set g_balance_minelayer_refire 1.5
- set g_balance_minelayer_animtime 0.3
- set g_balance_minelayer_ammo 5
- set g_balance_minelayer_health 15
- set g_balance_minelayer_limit 3 // 0 disables the limit // LOG: 4 -> 3
- set g_balance_minelayer_protection 1 // don't explode if the mine would hurt the owner or a team mate
- set g_balance_minelayer_damageforcescale 0
- set g_balance_minelayer_detonatedelay -1 // 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_minelayer_time 0.5
- set g_balance_minelayer_remote_damage 45
- set g_balance_minelayer_remote_edgedamage 40
- set g_balance_minelayer_remote_radius 200
- set g_balance_minelayer_remote_force 300
+ set g_balance_grenadelauncher_bouncestop 0.075
+ set g_balance_grenadelauncher_switchdelay_drop 0.2
+ set g_balance_grenadelauncher_switchdelay_raise 0.2
+ set g_balance_grenadelauncher_reload_ammo 0 //default: 12
+ set g_balance_grenadelauncher_reload_time 2
  // }}}
  // {{{ electro
- set g_balance_electro_lightning 1
- set g_balance_electro_primary_damage 100
- set g_balance_electro_primary_edgedamage 0
- set g_balance_electro_primary_force 425
- set g_balance_electro_primary_force_up 125
- set g_balance_electro_primary_radius 850
- set g_balance_electro_primary_comboradius 150
- set g_balance_electro_primary_speed 0
+ set g_balance_electro_lightning 0
+ set g_balance_electro_primary_damage 40
+ set g_balance_electro_primary_edgedamage 20
+ set g_balance_electro_primary_force 200
+ set g_balance_electro_primary_force_up 0
+ set g_balance_electro_primary_radius 100
+ set g_balance_electro_primary_comboradius 200
+ set g_balance_electro_primary_speed 2500
  set g_balance_electro_primary_spread 0
- set g_balance_electro_primary_lifetime 0
- set g_balance_electro_primary_refire 0.4
- set g_balance_electro_primary_animtime 0.2
- set g_balance_electro_primary_ammo 5
- set g_balance_electro_primary_range 800
- set g_balance_electro_primary_falloff_mindist 0
- set g_balance_electro_primary_falloff_maxdist 0
- set g_balance_electro_primary_falloff_halflifedist 0
- set g_balance_electro_secondary_damage 25
- set g_balance_electro_secondary_edgedamage 0
- set g_balance_electro_secondary_force 100
- set g_balance_electro_secondary_radius 100
- set g_balance_electro_secondary_speed 700
+ set g_balance_electro_primary_lifetime 5
+ set g_balance_electro_primary_refire 0.6
+ set g_balance_electro_primary_animtime 0.3
+ set g_balance_electro_primary_ammo 4
+ set g_balance_electro_primary_range 0
+ set g_balance_electro_primary_falloff_mindist 255 // 0.3 * radius
+ set g_balance_electro_primary_falloff_maxdist 850
+ set g_balance_electro_primary_falloff_halflifedist 425
+ set g_balance_electro_secondary_damage 40
+ set g_balance_electro_secondary_edgedamage 20
+ set g_balance_electro_secondary_force 50
+ set g_balance_electro_secondary_radius 150
+ set g_balance_electro_secondary_speed 1000
  set g_balance_electro_secondary_speed_up 200
  set g_balance_electro_secondary_speed_z 0
- set g_balance_electro_secondary_spread 0.08
- set g_balance_electro_secondary_lifetime 3.5
+ set g_balance_electro_secondary_spread 0.04
+ set g_balance_electro_secondary_lifetime 4
  set g_balance_electro_secondary_refire 0.2
- set g_balance_electro_secondary_refire2 2
+ set g_balance_electro_secondary_refire2 1.6
  set g_balance_electro_secondary_animtime 0.2
  set g_balance_electro_secondary_ammo 2
- set g_balance_electro_secondary_health 10
+ set g_balance_electro_secondary_health 5
  set g_balance_electro_secondary_damageforcescale 4
+ set g_balance_electro_secondary_damagedbycontents 1
  set g_balance_electro_secondary_count 3
- set g_balance_electro_secondary_bouncefactor 0.5
- set g_balance_electro_secondary_bouncestop 0.075
+ set g_balance_electro_secondary_bouncefactor 0.3
+ set g_balance_electro_secondary_bouncestop 0.05
  set g_balance_electro_combo_damage 50
- set g_balance_electro_combo_edgedamage 0
- set g_balance_electro_combo_force 80
- set g_balance_electro_combo_radius 250
- set g_balance_electro_combo_comboradius 0
- set g_balance_electro_combo_speed 400
+ set g_balance_electro_combo_edgedamage 25
+ set g_balance_electro_combo_force 120
+ set g_balance_electro_combo_radius 150
+ set g_balance_electro_combo_comboradius 300
+ set g_balance_electro_combo_speed 2000
+ set g_balance_electro_combo_safeammocheck 1
+ set g_balance_electro_switchdelay_drop 0.2
+ set g_balance_electro_switchdelay_raise 0.2
+ set g_balance_electro_reload_ammo 0 //default: 20
+ set g_balance_electro_reload_time 2
  // }}}
- // {{{ crylink
- set g_balance_crylink_primary_damage 7 // LOG: 10 -> 7
- set g_balance_crylink_primary_edgedamage 4 // LOG: 6 -> 4
- set g_balance_crylink_primary_force 35
 +// {{{ lightning
 +set g_balance_lightning_primary_ammo 5
 +set g_balance_lightning_primary_animtime 0.2
 +set g_balance_lightning_primary_damage 100
 +set g_balance_lightning_primary_edgedamage 0
 +set g_balance_lightning_primary_falloff_mindist 0
 +set g_balance_lightning_primary_falloff_maxdist 0
 +set g_balance_lightning_primary_falloff_halflifedist 0
 +set g_balance_lightning_primary_force 425
 +set g_balance_lightning_primary_lifetime 0
 +set g_balance_lightning_primary_radius 850
 +set g_balance_lightning_primary_range 800
 +set g_balance_lightning_primary_refire 0.4
 +set g_balance_lightning_primary_speed 0
 +set g_balance_lightning_primary_spread 0
 +set g_balance_lightning_secondary_ammo 5
 +set g_balance_lightning_secondary_animtime 0.5
 +set g_balance_lightning_secondary_damage 100
 +set g_balance_lightning_secondary_damageforcescale 4
 +set g_balance_lightning_secondary_edgedamage 80
 +set g_balance_lightning_secondary_flyingdamage 1
 +set g_balance_lightning_secondary_flyingforce -80
 +set g_balance_lightning_secondary_flyingradius 200
 +set g_balance_lightning_secondary_force -200
 +set g_balance_lightning_secondary_health 1
 +set g_balance_lightning_secondary_lifetime 30
 +set g_balance_lightning_secondary_radius 300
 +set g_balance_lightning_secondary_refire 5
 +set g_balance_lightning_secondary_speed 600
 +// }}}
+ // {{{ crylink 
+ set g_balance_crylink_primary_damage 12
+ set g_balance_crylink_primary_edgedamage 6
+ set g_balance_crylink_primary_force -50
  set g_balance_crylink_primary_radius 80
- set g_balance_crylink_primary_speed 1500
- set g_balance_crylink_primary_spread 0.05
- set g_balance_crylink_primary_shots 7
- set g_balance_crylink_primary_bounces 2
- set g_balance_crylink_primary_refire 0.8
+ set g_balance_crylink_primary_speed 2000
+ set g_balance_crylink_primary_spread 0.08
+ set g_balance_crylink_primary_shots 6
+ set g_balance_crylink_primary_bounces 1
+ set g_balance_crylink_primary_refire 0.7
  set g_balance_crylink_primary_animtime 0.3
- set g_balance_crylink_primary_ammo 2
- set g_balance_crylink_primary_bouncedamagefactor 0.2
- set g_balance_crylink_primary_joindelay 0
+ set g_balance_crylink_primary_ammo 3
+ set g_balance_crylink_primary_bouncedamagefactor 0.5
+ set g_balance_crylink_primary_joindelay 0.1
  set g_balance_crylink_primary_joinspread 0.2
- set g_balance_crylink_primary_jointime 0.1
- set g_balance_crylink_primary_joinexplode 0
+ set g_balance_crylink_primary_jointime 0
+ set g_balance_crylink_primary_joinexplode 1
  set g_balance_crylink_primary_joinexplode_damage 0
  set g_balance_crylink_primary_joinexplode_edgedamage 0
  set g_balance_crylink_primary_joinexplode_radius 0
Simple merge
index 6611c34e278866c1753ecba4c193a6181cfcc760,7178cdba1abbf9c4a62aac03d833c1191fddfb03..d7130197e6e979e58843300f06a29f0b3ed79231
@@@ -959,14 -872,24 +872,25 @@@ void CSQC_Ent_Update(float bIsNewEntity
                case ENT_CLIENT_TUBANOTE: Ent_TubaNote(bIsNewEntity); break;
                case ENT_CLIENT_WARPZONE: WarpZone_Read(bIsNewEntity); break;
                case ENT_CLIENT_WARPZONE_CAMERA: WarpZone_Camera_Read(bIsNewEntity); break;
+               case ENT_CLIENT_WARPZONE_TELEPORTED: WarpZone_Teleported_Read(bIsNewEntity); break;
                case ENT_CLIENT_TRIGGER_MUSIC: Ent_ReadTriggerMusic(); break;
                case ENT_CLIENT_HOOK: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_HOOK); break;
 -              case ENT_CLIENT_LGBEAM: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_LGBEAM); break;
 +              case ENT_CLIENT_ELECTRO_BEAM: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_ELECTRO_BEAM); break;
 +              case ENT_CLIENT_LIGHTNING_BEAM: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_LIGHTNING_BEAM); break;
                case ENT_CLIENT_GAUNTLET: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_GAUNTLET); break;
                case ENT_CLIENT_ACCURACY: Ent_ReadAccuracy(); break;
+               case ENT_CLIENT_AUXILIARYXHAIR: Net_AuXair2(bIsNewEntity); break;
+               case ENT_CLIENT_TURRET: ent_turret(); break; 
+               case ENT_CLIENT_MODEL: CSQCModel_Read(bIsNewEntity); break;
+               case ENT_CLIENT_ITEM: ItemRead(bIsNewEntity); break;  
+               case ENT_CLIENT_BUMBLE_RAYGUN: bumble_raygun_read(bIsNewEntity); break;
+               case ENT_CLIENT_SPAWNPOINT: Ent_ReadSpawnPoint(bIsNewEntity); break;
+               case ENT_CLIENT_SPAWNEVENT: Ent_ReadSpawnEvent(bIsNewEntity); break;
+               case ENT_CLIENT_NOTIFICATION: Read_Notification(bIsNewEntity); break;
                default:
-                       error(strcat(_("unknown entity type in CSQC_Ent_Update: %d\n"), self.enttype));
+                       //error(strcat(_("unknown entity type in CSQC_Ent_Update: %d\n"), self.enttype));
+                       error(sprintf(_("Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: %s)\n"), self.enttype, num_for_edict(self), self.classname));
                        break;
        }
  
index dc0780e047608f54b718cdb40a9fe96179c73ac4,11070bae5cfe4c10500e36db2b5b3c7bb6607ffb..a228d22b82df8175f7d431425a923547c32fec69
@@@ -290,14 -274,11 +290,14 @@@ void Ent_ReadHook(float bIsNew, float t
                                setmodel(self, "models/hook.md3");
                                self.drawmask = MASK_NORMAL;
                                break;
 -                      case ENT_CLIENT_LGBEAM:
 +                      case ENT_CLIENT_ELECTRO_BEAM:
-                               sound (self, CHAN_PROJECTILE, "weapons/lgbeam_fly.wav", VOL_BASE, ATTN_NORM);
++                              sound (self, CH_SHOTS_SINGLE, "weapons/lgbeam_fly.wav", VOL_BASE, ATTN_NORM);
 +                              break;
 +                      case ENT_CLIENT_LIGHTNING_BEAM:
-                               sound (self, CHAN_PROJECTILE, "weapons/lgbeam_fly.wav", VOL_BASE, ATTN_NORM);
+                               sound (self, CH_SHOTS_SINGLE, "weapons/lgbeam_fly.wav", VOL_BASE, ATTN_NORM);
                                break;
                        case ENT_CLIENT_GAUNTLET:
-                               sound (self, CHAN_PROJECTILE, "weapons/gauntletbeam_fly.wav", VOL_BASE, ATTN_NORM);
+                               sound (self, CH_SHOTS_SINGLE, "weapons/gauntletbeam_fly.wav", VOL_BASE, ATTN_NORM);
                                break;
                }
        }
index c10961a39f9dba862bc05d1a271761740d28568d,b399f3857c3454e3c16572d0aed19a7aea627801..6e3e8027dc33f86d01f17f1c049538fa7cd3e3c6
@@@ -111,12 -86,21 +86,22 @@@ const float ENT_CLIENT_WARPZONE = 24
  const float ENT_CLIENT_WARPZONE_CAMERA = 25;
  const float ENT_CLIENT_TRIGGER_MUSIC = 26;
  const float ENT_CLIENT_HOOK = 27;
 -const float ENT_CLIENT_LGBEAM = 28;
 -const float ENT_CLIENT_GAUNTLET = 29;
 -const float ENT_CLIENT_ACCURACY = 30;
 -const float ENT_CLIENT_SHOWNAMES = 31;
 -const float ENT_CLIENT_WARPZONE_TELEPORTED = 32;
 -const float ENT_CLIENT_MODEL = 33;
 -const float ENT_CLIENT_ITEM = 34;
 -const float ENT_CLIENT_BUMBLE_RAYGUN = 35;
 -const float ENT_CLIENT_SPAWNPOINT = 36;
 -const float ENT_CLIENT_SPAWNEVENT = 37;
 -const float ENT_CLIENT_NOTIFICATION = 38;
 +const float ENT_CLIENT_ELECTRO_BEAM = 28;
 +const float ENT_CLIENT_LIGHTNING_BEAM = 29;
 +const float ENT_CLIENT_GAUNTLET = 30;
 +const float ENT_CLIENT_ACCURACY = 31;
++const float ENT_CLIENT_SHOWNAMES = 32;
++const float ENT_CLIENT_WARPZONE_TELEPORTED = 33;
++const float ENT_CLIENT_MODEL = 34;
++const float ENT_CLIENT_ITEM = 35;
++const float ENT_CLIENT_BUMBLE_RAYGUN = 36;
++const float ENT_CLIENT_SPAWNPOINT = 37;
++const float ENT_CLIENT_SPAWNEVENT = 38;
++const float ENT_CLIENT_NOTIFICATION = 39;
  
  const float ENT_CLIENT_TURRET = 40;
+ const float ENT_CLIENT_AUXILIARYXHAIR = 50;
+ const float ENT_CLIENT_VEHICLE = 60;
  
  const float SPRITERULE_DEFAULT = 0;
  const float SPRITERULE_TEAMPLAY = 1;
index de34de4da8a3ffa61c4a0878e61cf5ae9f401e3b,dead5a9d4b360d924a0642f4b21fe0161e734ccd..bc6a80fafae97f9d094a8af7289838b68b1e27ff
@@@ -410,33 -439,8 +439,35 @@@ float autocvar_g_balance_laser_secondar
  float autocvar_g_balance_laser_secondary_lifetime;
  float autocvar_g_balance_laser_secondary_radius;
  float autocvar_g_balance_laser_secondary_speed;
+ float autocvar_g_balance_laser_reload_ammo;
+ float autocvar_g_balance_laser_reload_time;
 +float autocvar_g_balance_lightning_primary_ammo;
 +float autocvar_g_balance_lightning_primary_animtime;
 +float autocvar_g_balance_lightning_primary_damage;
 +float autocvar_g_balance_lightning_primary_edgedamage;
 +float autocvar_g_balance_lightning_primary_falloff_halflifedist;
 +float autocvar_g_balance_lightning_primary_falloff_maxdist;
 +float autocvar_g_balance_lightning_primary_falloff_mindist;
 +float autocvar_g_balance_lightning_primary_force;
 +float autocvar_g_balance_lightning_primary_lifetime;
 +float autocvar_g_balance_lightning_primary_radius;
 +float autocvar_g_balance_lightning_primary_range;
 +float autocvar_g_balance_lightning_primary_refire;
 +float autocvar_g_balance_lightning_primary_speed;
 +float autocvar_g_balance_lightning_secondary_ammo;
 +float autocvar_g_balance_lightning_secondary_animtime;
 +float autocvar_g_balance_lightning_secondary_damage;
 +float autocvar_g_balance_lightning_secondary_damageforcescale;
 +float autocvar_g_balance_lightning_secondary_edgedamage;
 +float autocvar_g_balance_lightning_secondary_flyingdamage;
 +float autocvar_g_balance_lightning_secondary_flyingforce;
 +float autocvar_g_balance_lightning_secondary_flyingradius;
 +float autocvar_g_balance_lightning_secondary_force;
 +float autocvar_g_balance_lightning_secondary_health;
 +float autocvar_g_balance_lightning_secondary_lifetime;
 +float autocvar_g_balance_lightning_secondary_radius;
 +float autocvar_g_balance_lightning_secondary_refire;
 +float autocvar_g_balance_lightning_secondary_speed;
  float autocvar_g_balance_minelayer_ammo;
  float autocvar_g_balance_minelayer_animtime;
  float autocvar_g_balance_minelayer_damage;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 77477a23ee4393bffc866f7a215838c55965059a,649e72374ecc3754ffb6f29b84075854212739e2..0fb6b8898712af384d62413d419460d4a19271e9
@@@ -198,9 -214,9 +214,9 @@@ void W_Electro_Attack2(
  .vector hook_start, hook_end;
  float lgbeam_send(entity to, float sf)
  {
 -      WriteByte(MSG_ENTITY, ENT_CLIENT_LGBEAM);
 +      WriteByte(MSG_ENTITY, ENT_CLIENT_ELECTRO_BEAM);
        sf = sf & 0x7F;
-       if(sound_allowed(MSG_BROADCAST, self.owner))
+       if(sound_allowed(MSG_BROADCAST, self.realowner))
                sf |= 0x80;
        WriteByte(MSG_ENTITY, sf);
        if(sf & 1)