Merge remote branch 'origin/fruitiex/fruitbalance' into divVerent/fruitbalance
authorRudolf Polzer <divverent@alientrap.org>
Fri, 23 Jul 2010 05:53:02 +0000 (07:53 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Fri, 23 Jul 2010 05:53:02 +0000 (07:53 +0200)
balanceFruit.cfg
defaultXonotic.cfg
physicsNoQWBunny-XPM.cfg [deleted file]
physicsNoQWBunny-nexbased.cfg [new file with mode: 0644]
physicsNoQWBunny.cfg
physicsNoQWBunny_easy.cfg [deleted file]
qcsrc/client/View.qc
qcsrc/server/g_damage.qc
qcsrc/server/w_electro.qc
qcsrc/server/w_laser.qc

index a2bfdfb..33de128 100644 (file)
@@ -206,11 +206,11 @@ set g_balance_grapplehook_health 130
 
 // {{{ weapon properties
 // {{{ laser
-set g_balance_laser_primary_damage 30 // dps 50, hope that's not too high
-set g_balance_laser_primary_edgedamage 30
+set g_balance_laser_primary_damage 25 // dps 38, hope that's not too high
+set g_balance_laser_primary_edgedamage 25
 set g_balance_laser_primary_force 235
-set g_balance_laser_primary_radius 70
-set g_balance_laser_primary_speed 4500
+set g_balance_laser_primary_radius 60
+set g_balance_laser_primary_speed 4000
 set g_balance_laser_primary_spread 0
 set g_balance_laser_primary_refire 0.6
 set g_balance_laser_primary_animtime 0.6
@@ -279,33 +279,33 @@ set g_balance_grenadelauncher_primary_sticky 1
 set g_balance_grenadelauncher_primary_damage 100
 set g_balance_grenadelauncher_primary_edgedamage 30
 set g_balance_grenadelauncher_primary_force 300
-set g_balance_grenadelauncher_primary_radius 200
+set g_balance_grenadelauncher_primary_radius 150
 set g_balance_grenadelauncher_primary_speed 800
 set g_balance_grenadelauncher_primary_speed_up 0
 set g_balance_grenadelauncher_primary_speed_z 350
 set g_balance_grenadelauncher_primary_spread 0
 set g_balance_grenadelauncher_primary_lifetime 5
-set g_balance_grenadelauncher_primary_lifetime2 0.8
+set g_balance_grenadelauncher_primary_lifetime2 0.65
 set g_balance_grenadelauncher_primary_refire 0.8
 set g_balance_grenadelauncher_primary_animtime 0.2
 set g_balance_grenadelauncher_primary_ammo 2
-set g_balance_grenadelauncher_primary_health 25
+set g_balance_grenadelauncher_primary_health 72
 set g_balance_grenadelauncher_secondary_damage 100
 set g_balance_grenadelauncher_secondary_edgedamage 30
 set g_balance_grenadelauncher_secondary_force 300
-set g_balance_grenadelauncher_secondary_radius 200
+set g_balance_grenadelauncher_secondary_radius 150
 set g_balance_grenadelauncher_secondary_speed 800
 set g_balance_grenadelauncher_secondary_speed_up 0
 set g_balance_grenadelauncher_secondary_speed_z 350
-set g_balance_grenadelauncher_secondary_spread 0
-set g_balance_grenadelauncher_secondary_lifetime 2
+set g_balance_grenadelauncher_secondary_spread 0.025
+set g_balance_grenadelauncher_secondary_lifetime 2.2
 set g_balance_grenadelauncher_secondary_refire 0.8
 set g_balance_grenadelauncher_secondary_animtime 0.2
 set g_balance_grenadelauncher_secondary_ammo 2
 set g_balance_grenadelauncher_secondary_health 0
 set g_balance_grenadelauncher_secondary_damageforcescale 0
-set g_balance_grenadelauncher_secondary_bouncefactor 0.5
-set g_balance_grenadelauncher_secondary_bouncestop 0.075
+set g_balance_grenadelauncher_secondary_bouncefactor 0.7
+set g_balance_grenadelauncher_secondary_bouncestop 0.12
 // }}}
 // {{{ electro // TODO
 set g_balance_electro_lightning 1
@@ -347,8 +347,8 @@ set g_balance_electro_combo_comboradius 0
 set g_balance_electro_combo_speed 400
 // }}}
 // {{{ crylink
-set g_balance_crylink_primary_damage 12
-set g_balance_crylink_primary_edgedamage 10
+set g_balance_crylink_primary_damage 10
+set g_balance_crylink_primary_edgedamage 8
 set g_balance_crylink_primary_force 25
 set g_balance_crylink_primary_radius 100
 set g_balance_crylink_primary_speed 1100
@@ -358,7 +358,7 @@ set g_balance_crylink_primary_bounces 1
 set g_balance_crylink_primary_refire 0.8
 set g_balance_crylink_primary_animtime 0.4
 set g_balance_crylink_primary_ammo 2
-set g_balance_crylink_primary_bouncedamagefactor 0.5
+set g_balance_crylink_primary_bouncedamagefactor 0.2
 
 set g_balance_crylink_primary_middle_lifetime 5 // range: 10000 full, fades to 20000
 set g_balance_crylink_primary_middle_fadetime 5
@@ -483,16 +483,16 @@ 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_spread_min 0
+set g_balance_hlac_primary_spread_max 0
+set g_balance_hlac_primary_spread_add 0
+set g_balance_hlac_primary_spread_crouchmod 0
 
-set g_balance_hlac_primary_damage 23
-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_damage 15
+set g_balance_hlac_primary_edgedamage 0
+set g_balance_hlac_primary_force 70
+set g_balance_hlac_primary_radius 30
+set g_balance_hlac_primary_speed 2500
 set g_balance_hlac_primary_lifetime 5
 
 set g_balance_hlac_primary_refire 0.1
@@ -503,15 +503,15 @@ set g_balance_hlac_secondary 1
 set g_balance_hlac_secondary_spread 0.15
 set g_balance_hlac_secondary_spread_crouchmod 0.5
 
-set g_balance_hlac_secondary_damage 23
-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_damage 20
+set g_balance_hlac_secondary_edgedamage 0
+set g_balance_hlac_secondary_force 40
+set g_balance_hlac_secondary_radius 35
+set g_balance_hlac_secondary_speed 2500
 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_animtime 0.7
 set g_balance_hlac_secondary_ammo 10
 set g_balance_hlac_secondary_shots 6
 // }}}
@@ -613,8 +613,8 @@ set g_balance_seeker_flac_spread 0.4
 set g_balance_seeker_missile_accel 1.05
 set g_balance_seeker_missile_ammo 2
 set g_balance_seeker_missile_animtime 0.3
-set g_balance_seeker_missile_count 4
-set g_balance_seeker_missile_damage 40
+set g_balance_seeker_missile_count 3
+set g_balance_seeker_missile_damage 33
 set g_balance_seeker_missile_damageforcescale 4
 set g_balance_seeker_missile_decel 0.9
 set g_balance_seeker_missile_delay 0.25
index 5c76f7d..8e4d45d 100644 (file)
@@ -298,6 +298,8 @@ set sv_ready_restart 0 "if set to 1 allow a map to be restarted once all players
 set sv_ready_restart_after_countdown 0 "if set to 1 the players and map items are reset after the countdown ended, otherwise they're reset already at the beginning of the countdown"
 set sv_ready_restart_repeatable 0      "allows the players to restart the game as often as needed"
 
+set sv_hitsound_antispam_time 0.05 "don't play the hitsound more often than this for the electro lightning gun or the laser gauntlet"
+
 //nifreks lockonrestart feature, used in team-based game modes, if set to 1 and all players readied up no other player can then join the game anymore, useful to block spectators from joining
 set teamplay_lockonrestart 0 "it set to 1 in a team-based game, the teams are locked once all players readied up and the game restarted (no new players can join after restart unless using the server-command unlockteams)"
 
diff --git a/physicsNoQWBunny-XPM.cfg b/physicsNoQWBunny-XPM.cfg
deleted file mode 100644 (file)
index 1beaeda..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2.0-2.4.2 physics minus QW-bunnyhopping-bug, faster onground accel, CPMA air control
-sv_gravity 800
-sv_maxspeed 320
-
-sv_maxairspeed 320
-
-sv_stopspeed 100
-sv_accelerate 15
-sv_airaccelerate 2
-sv_friction 8
-edgefriction 1
-sv_stepheight 34
-
-sv_jumpvelocity 300
-sv_wateraccelerate 4
-sv_waterfriction 1
-sv_airaccel_sideways_friction 0
-sv_airaccel_qw -0.937
-
-sv_airstopaccelerate 3
-sv_airstrafeaccelerate 24
-sv_maxairstrafespeed 100
-sv_airstrafeaccel_qw -0.979
-sv_aircontrol 125
-sv_aircontrol_penalty 100
-sv_aircontrol_power 2.5
-sv_airspeedlimit_nonqw 0
-sv_warsowbunny_turnaccel 0
-sv_warsowbunny_accel 0.1593
-sv_warsowbunny_topspeed 925
-sv_warsowbunny_backtosideratio 0.8
-sv_friction_on_land 0
-sv_doublejump 0
-sv_jumpspeedcap_min ""
-sv_jumpspeedcap_max ""
-sv_jumpspeedcap_max_disable_on_ramps 1
diff --git a/physicsNoQWBunny-nexbased.cfg b/physicsNoQWBunny-nexbased.cfg
new file mode 100644 (file)
index 0000000..53f1e53
--- /dev/null
@@ -0,0 +1,32 @@
+// "NoQWBunny" physics based on Nexuiz 2.0-2.4.2
+sv_gravity 800
+sv_maxspeed 400
+sv_maxairspeed 400
+sv_stopspeed 100
+sv_accelerate 15
+sv_airaccelerate 2
+sv_friction 7
+edgefriction 1
+sv_stepheight 34
+sv_jumpvelocity 300
+sv_wateraccelerate -1
+sv_waterfriction -1
+sv_airaccel_sideways_friction -0.2
+sv_airaccel_qw -0.9475
+sv_airstopaccelerate 2.5
+sv_airstrafeaccelerate 24
+sv_maxairstrafespeed 100
+sv_airstrafeaccel_qw -0.9825
+sv_aircontrol 125
+sv_aircontrol_penalty 0
+sv_aircontrol_power 2.5
+sv_airspeedlimit_nonqw 0
+sv_warsowbunny_turnaccel 0
+sv_warsowbunny_accel 0.1593
+sv_warsowbunny_topspeed 925
+sv_warsowbunny_backtosideratio 0.8
+sv_friction_on_land 0
+sv_doublejump 0
+sv_jumpspeedcap_min ""
+sv_jumpspeedcap_max ""
+sv_jumpspeedcap_max_disable_on_ramps 1
index 5a8732b..3e1cc96 100644 (file)
@@ -1,24 +1,28 @@
-// 2.0-2.4.2 physics minus QW-bunnyhopping-bug, faster onground accel, CPMA air control
+// "NoQWBunny" physics based on XPM
 sv_gravity 800
-sv_maxspeed 400
-sv_maxairspeed 400
+sv_maxspeed 320
+
+sv_maxairspeed 320
+
 sv_stopspeed 100
 sv_accelerate 15
 sv_airaccelerate 2
-sv_friction 7
+sv_friction 8
 edgefriction 1
 sv_stepheight 34
-sv_jumpvelocity 300
-sv_wateraccelerate -1
-sv_waterfriction -1
-sv_airaccel_sideways_friction -0.2
-sv_airaccel_qw -0.9475
-sv_airstopaccelerate 2.5
-sv_airstrafeaccelerate 24
-sv_maxairstrafespeed 100
-sv_airstrafeaccel_qw -0.9825
+
+sv_jumpvelocity 250
+sv_wateraccelerate 4
+sv_waterfriction 1
+sv_airaccel_sideways_friction 0
+sv_airaccel_qw -0.937
+
+sv_airstopaccelerate 3
+sv_airstrafeaccelerate 20
+sv_maxairstrafespeed 96
+sv_airstrafeaccel_qw -0.979
 sv_aircontrol 125
-sv_aircontrol_penalty 0
+sv_aircontrol_penalty 100
 sv_aircontrol_power 2.5
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
diff --git a/physicsNoQWBunny_easy.cfg b/physicsNoQWBunny_easy.cfg
deleted file mode 100644 (file)
index 721f819..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-// 2.0-2.4.2 physics minus QW-bunnyhopping-bug, faster onground accel, CPMA air control
-sv_gravity 800
-sv_maxspeed 400
-sv_maxairspeed 400
-sv_stopspeed 100
-sv_accelerate 15
-sv_airaccelerate 2
-sv_friction 7
-edgefriction 1
-sv_stepheight 34
-sv_jumpvelocity 300
-sv_wateraccelerate -1
-sv_waterfriction -1
-sv_airaccel_sideways_friction -0.35
-sv_airaccel_qw -0.9475
-sv_airstopaccelerate 0
-sv_airstrafeaccelerate 0
-sv_maxairstrafespeed 0
-sv_airstrafeaccel_qw 0
-sv_aircontrol 125
-sv_aircontrol_penalty 0
-sv_aircontrol_power 2.5
-sv_airspeedlimit_nonqw 0
-sv_warsowbunny_turnaccel 0
-sv_warsowbunny_accel 0.1593
-sv_warsowbunny_topspeed 925
-sv_warsowbunny_backtosideratio 0.8
-sv_friction_on_land 0
-sv_doublejump 0
-sv_jumpspeedcap_min ""
-sv_jumpspeedcap_max ""
-sv_jumpspeedcap_max_disable_on_ramps 1
index 05c038e..db41d55 100644 (file)
@@ -137,7 +137,7 @@ vector GetCurrentFov(float fov)
                        zoomspeed = 3.5;
 
        zoomdir = button_zoom;
-       if(getstati(STAT_ACTIVEWEAPON) == WEP_NEX || getstati(STAT_ACTIVEWEAPON) == WEP_CAMPINGRIFLE && campingrifle_scope) // do NOT use switchweapon here
+       if(getstati(STAT_ACTIVEWEAPON) == WEP_NEX || (getstati(STAT_ACTIVEWEAPON) == WEP_CAMPINGRIFLE && campingrifle_scope)) // do NOT use switchweapon here
                zoomdir += button_attack2;
        if(spectatee_status > 0 || isdemo())
        {
index 3b4386b..def4829 100644 (file)
@@ -463,6 +463,7 @@ void Obituary (entity attacker, entity inflictor, entity targ, float deathtype)
 entity damage_targ;
 entity damage_inflictor;
 entity damage_attacker;
+.float prevhitsound;
 
 void Damage (entity targ, entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
 {
@@ -725,10 +726,14 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float
                                {
                                        if(damage > 0)
                                        {
-                                               if(targ.BUTTON_CHAT)
-                                                       attacker.typehitsound += 1;
-                                               else
-                                                       attacker.hitsound += 1;
+                                               if(attacker.weapon != WEP_ELECTRO && attacker.weapon != WEP_LASER || ((attacker.weapon == WEP_ELECTRO && cvar("g_balance_electro_lightning") || attacker.weapon == WEP_LASER) && attacker.prevhitsound + cvar("sv_hitsound_antispam_time") < time))
+                                               {
+                                                       if(targ.BUTTON_CHAT)
+                                                               attacker.typehitsound += 1;
+                                                       else
+                                                               attacker.hitsound += 1;
+                                                       attacker.prevhitsound = time;
+                                               }
 
                                                damage_goodhits += 1;
                                                damage_gooddamage += damage;
index 2be1573..fed5204 100644 (file)
@@ -360,7 +360,7 @@ float w_electro(float req)
        {
                if (self.BUTTON_ATCK)
                {
-                       if (weapon_prepareattack(0, cvar("g_balance_electro_primary_refire")))
+                       if (weapon_prepareattack(0, (cvar("g_balance_electro_lightning") ? 0 : cvar("g_balance_electro_primary_refire"))))
                        {
                                if(cvar("g_balance_electro_lightning"))
                                {
index 870c266..c3840ac 100644 (file)
@@ -263,7 +263,7 @@ float w_laser(float req)
        else if (req == WR_THINK)
        {
                if (self.BUTTON_ATCK)
-               if (weapon_prepareattack(0, cvar("g_balance_laser_primary_refire")))
+               if (weapon_prepareattack(0, (cvar("g_balance_laser_primary_gauntlet") ? 0 : cvar("g_balance_laser_primary_refire"))))
                {
                        if(cvar("g_balance_laser_primary_gauntlet"))
                                W_Laser_Attack2(0);
@@ -275,7 +275,7 @@ float w_laser(float req)
                {
                        if(cvar("g_balance_laser_secondary"))
                        {
-                               if (weapon_prepareattack(0, cvar("g_balance_laser_secondary_refire")))
+                               if (weapon_prepareattack(0, (cvar("g_balance_laser_secondary_gauntlet") ? 0 : cvar("g_balance_laser_secondary_refire"))))
                                {
                                        if(cvar("g_balance_laser_secondary_gauntlet"))
                                                W_Laser_Attack2(1);