]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into terencehill/misc_bugfixes
authorterencehill <piuntn@gmail.com>
Sun, 20 Mar 2011 17:29:56 +0000 (18:29 +0100)
committerterencehill <piuntn@gmail.com>
Sun, 20 Mar 2011 17:29:56 +0000 (18:29 +0100)
balance25.cfg
balanceLeeStricklin.cfg
balanceSamual.cfg
balanceXonotic.cfg
balancetZork.cfg
defaultXonotic.cfg
physicsX0.cfg
qcsrc/client/View.qc
qcsrc/client/autocvars.qh
qcsrc/server/bot/havocbot/havocbot.qc
qcsrc/server/cl_weaponsystem.qc

index 22ec04d1cc487984933e23fed150b67d02c87b88..665dda5c90682f44730e5c33a4901e2239934e28 100644 (file)
@@ -671,7 +671,7 @@ set g_balance_sniperrifle_secondary_ammo 10
 set g_balance_sniperrifle_secondary_bulletconstant 130 // 18.3qu
 set g_balance_sniperrifle_secondary_burstcost 0
 set g_balance_sniperrifle_secondary_bullethail 0 // empty magazine on shot
-set g_balance_sniperrifle_reload_ammo 8 //default: 60
+set g_balance_sniperrifle_reload_ammo 80 //default: 80
 set g_balance_sniperrifle_reload_time 2
 // }}}
 // {{{ tuba
index d0a348418c9a49a791c50750e27f89f5f766f175..77aac858a72abb42b7f3ac1b53828439df052670 100644 (file)
@@ -671,7 +671,7 @@ set g_balance_sniperrifle_secondary_ammo 10
 set g_balance_sniperrifle_secondary_bulletconstant 130 // 18.3qu
 set g_balance_sniperrifle_secondary_burstcost 0
 set g_balance_sniperrifle_secondary_bullethail 0
-set g_balance_sniperrifle_reload_ammo 8 //default: 60
+set g_balance_sniperrifle_reload_ammo 80 //default: 80
 set g_balance_sniperrifle_reload_time 2
 // }}}
 // {{{ tuba
index 75ead55dcb443b065ea06a9bfe89103eeb230846..a117a44a9259546ef1b1b15794512402bde868ea 100644 (file)
@@ -299,7 +299,7 @@ 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_reload_ammo 0 //default: 30
+set g_balance_uzi_reload_ammo 40 //default: 30
 set g_balance_uzi_reload_time 2
 // }}}
 // {{{ mortar
@@ -317,8 +317,8 @@ 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 25
-set g_balance_grenadelauncher_primary_damageforcescale 4
+set g_balance_grenadelauncher_primary_health 0
+set g_balance_grenadelauncher_primary_damageforcescale 0
 set g_balance_grenadelauncher_primary_remote_minbouncecnt 0
 
 set g_balance_grenadelauncher_secondary_type 1
@@ -335,7 +335,7 @@ set g_balance_grenadelauncher_secondary_lifetime2 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 70
+set g_balance_grenadelauncher_secondary_health 0
 set g_balance_grenadelauncher_secondary_damageforcescale 4
 set g_balance_grenadelauncher_secondary_remote_detonateprimary 0
 
@@ -398,7 +398,7 @@ set g_balance_electro_secondary_speed_z 0
 set g_balance_electro_secondary_spread 0.05
 set g_balance_electro_secondary_lifetime 3
 set g_balance_electro_secondary_refire 0.2
-set g_balance_electro_secondary_refire2 1.25
+set g_balance_electro_secondary_refire2 1.5
 set g_balance_electro_secondary_animtime 0.2
 set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 5
@@ -424,7 +424,7 @@ set g_balance_crylink_primary_speed 1800
 set g_balance_crylink_primary_spread 0.075
 set g_balance_crylink_primary_shots 7
 set g_balance_crylink_primary_bounces 1
-set g_balance_crylink_primary_refire 0.5
+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
@@ -477,7 +477,7 @@ set g_balance_crylink_reload_time 2
 // {{{ nex
 set g_balance_nex_primary_damage 90
 set g_balance_nex_primary_force 400
-set g_balance_nex_primary_refire 1.5
+set g_balance_nex_primary_refire 1.25
 set g_balance_nex_primary_animtime 0.3
 set g_balance_nex_primary_ammo 6
 set g_balance_nex_primary_damagefalloff_mindist 0 // 1000    For tZork ;3
@@ -562,8 +562,8 @@ set g_balance_rocketlauncher_lifetime 10
 set g_balance_rocketlauncher_refire 1.1
 set g_balance_rocketlauncher_animtime 0.3
 set g_balance_rocketlauncher_ammo 4
-set g_balance_rocketlauncher_health 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 4
+set g_balance_rocketlauncher_health 0 // 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
 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 110 // max degrees per second
 set g_balance_rocketlauncher_guideratedelay 0.01 // immediate
@@ -671,7 +671,7 @@ set g_balance_sniperrifle_secondary_ammo 10
 set g_balance_sniperrifle_secondary_bulletconstant 110 // 15.5qu
 set g_balance_sniperrifle_secondary_burstcost 0
 set g_balance_sniperrifle_secondary_bullethail 0 // empty magazine on shot
-set g_balance_sniperrifle_reload_ammo 8 //default: 60
+set g_balance_sniperrifle_reload_ammo 80 //default: 80
 set g_balance_sniperrifle_reload_time 2
 // }}}
 // {{{ tuba
index 3dee36e8ea695641e5e190b35cba6b8a11fb33e2..a782c6387927577d9e0b0d92a39d7d61c1deb534 100644 (file)
@@ -671,7 +671,7 @@ set g_balance_sniperrifle_secondary_ammo 10
 set g_balance_sniperrifle_secondary_bulletconstant 110 // 15.5qu
 set g_balance_sniperrifle_secondary_burstcost 0
 set g_balance_sniperrifle_secondary_bullethail 0 // empty magazine on shot
-set g_balance_sniperrifle_reload_ammo 8 //default: 60
+set g_balance_sniperrifle_reload_ammo 80 //default: 80
 set g_balance_sniperrifle_reload_time 2
 // }}}
 // {{{ tuba
index 0c5436b24ff5ed8a76ca021c596e004dcc6d9f9c..2fb726764c7bae06ccea84a81d78af958fbd8171 100644 (file)
@@ -670,7 +670,7 @@ set g_balance_sniperrifle_secondary_ammo 10
 set g_balance_sniperrifle_secondary_bulletconstant 110 // 15.5qu
 set g_balance_sniperrifle_secondary_burstcost 0
 set g_balance_sniperrifle_secondary_bullethail 0 // empty magazine on shot
-set g_balance_sniperrifle_reload_ammo 8 //default: 60
+set g_balance_sniperrifle_reload_ammo 80 //default: 80
 set g_balance_sniperrifle_reload_time 2
 // }}}
 // {{{ tuba
index 9ca8cb62621d031c72e556c3ee7c7cf0277a1210..a500cec9e1de073eb1ee156411b092c5ff1e0b69 100644 (file)
@@ -206,8 +206,9 @@ seta crosshair_ring_minelayer 1
 seta crosshair_ring_minelayer_alpha 0.15
 
 seta crosshair_ring_reload 1 "main cvar to enable or disable ammo crosshair rings"
+seta crosshair_ring_reload_inner 1 "allow switching to inner ring when the main ring is already used by the weapon"
 seta crosshair_ring_reload_size 2.5    "reload ring size"
-seta crosshair_ring_reload_alpha 0.3   "reload ring alpha"
+seta crosshair_ring_reload_alpha 0.2   "reload ring alpha"
 
 seta cl_reticle_stretch 0 "whether to stretch reticles so they fit the screen (brakes image proportions)"
 seta cl_reticle_item_nex 1 "draw aiming reticle for the nex weapon's zoom, 0 disables and values between 0 and 1 change alpha"
@@ -1944,10 +1945,6 @@ collision_endposnudge 1
 set cl_lerpanim_maxdelta_framegroups 0.05 // must be faster than fastest weapon refire
 set cl_lerpanim_maxdelta_server 0.1 // must be slower than slowest server controlled anim (e.g. animinfo stuff)
 
-// FIXME workaround for engine bug
-sv_gameplayfix_nudgeoutofsolid 0
-// to div0: remove this once 5b7ac1706712977bbc0297d2d53294e73574c7cd (svn r9537) is in the stable branch of the engine again
-
 // otherwise, antilag breaks
 sv_gameplayfix_consistentplayerprethink 1
 
@@ -2022,6 +2019,7 @@ scr_infobar_height 12
 r_texture_dds_load_dxt1_noalpha 1
 r_texture_dds_load_swdecode 1 // SW decode to quarter res if we want to load DDS but don't support the extension for it
 r_texture_dds_load_logfailure 0 // this engine feature SUCKS
+set vid_netwmfullscreen 0 // doesn't support non-native res
 
 // particles optimization
 r_drawparticles_nearclip_min 8
index 8fec0268663a6455b1631276e941457ac0b74c41..f1e4abc5299657d52a474d629f78075c44d0706d 100644 (file)
@@ -1,7 +1,7 @@
 // "NoQWBunny" physics based on XPM
 sv_gravity 800
 sv_maxspeed 360
-sv_maxairspeed 400
+sv_maxairspeed 360
 
 sv_stopspeed 100
 sv_accelerate 15
@@ -26,9 +26,9 @@ sv_airstrafeaccelerate 24
 sv_maxairstrafespeed 100
 sv_airstrafeaccel_qw -0.95
 sv_aircontrol 125
-sv_aircontrol_penalty 150
+sv_aircontrol_penalty 180
 sv_aircontrol_power 2
-sv_airspeedlimit_nonqw 800
+sv_airspeedlimit_nonqw 700
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index d9cc368c31b01fed91eec6a367468e44024b5819..5d7f1ed561cdc6873c2e34beea7957d97bbd9acc 100644 (file)
@@ -1068,7 +1068,7 @@ void CSQC_UpdateView(float w, float h)
                        wcross_size = drawgetimagesize(wcross_name) * wcross_scale;
 
                        // crosshair rings for weapon stats
-                       if (autocvar_crosshair_ring)
+                       if ((autocvar_crosshair_ring) || (autocvar_crosshair_ring_reload))
                        {
                                // declarations and stats
                                float ring_value, ring_scale, ring_alpha, ring_inner_value, ring_inner_alpha;
@@ -1101,9 +1101,9 @@ void CSQC_UpdateView(float w, float h)
                                        }
                                                
                                        ring_inner_alpha = wcross_alpha * autocvar_crosshair_ring_nex_inner_alpha;
-                                       ring_inner_image = "gfx/crosshair_ring_inner.tga";
                                        ring_inner_rgb = eX * autocvar_crosshair_ring_nex_inner_color_red + eY * autocvar_crosshair_ring_nex_inner_color_green + eZ * autocvar_crosshair_ring_nex_inner_color_blue;
-
+                                       ring_inner_image = "gfx/crosshair_ring_inner.tga";
+                                       
                                        // draw the outer ring to show the current charge of the weapon
                                        ring_value = nex_charge;
                                        ring_alpha = wcross_alpha * autocvar_crosshair_ring_nex_alpha;
@@ -1120,20 +1120,32 @@ void CSQC_UpdateView(float w, float h)
 
                                if(autocvar_crosshair_ring_reload && weapon_clipsize) // forces there to be only an ammo ring 
                                {
-                                       ring_value = bound(0, weapon_clipload / weapon_clipsize, 1);
-                                       ring_scale = autocvar_crosshair_ring_reload_size;
-                                       ring_alpha = autocvar_crosshair_ring_reload_alpha;
-                                       ring_rgb = wcross_color;
-                                       
-                                       // Note: This is to stop Taoki from complaining that the image doesn't match all potential balances.
-                                       // if a new image for another weapon is added, add the code (and its respective file/value) here
-                                       if ((activeweapon == WEP_SNIPERRIFLE) && (weapon_clipsize == 8))
-                                               ring_image = "gfx/crosshair_ring_sniperrifle.tga";
+                                       // if the main ring is already used by another weapon, instead use the inner one for ammo.
+                                       // inner ring is secondary anyway and doesn't matter as much as main ring, so overriding it is no issue.
+                                       if(ring_value && autocvar_crosshair_ring_reload_inner)
+                                       {
+                                               ring_inner_value = bound(0, weapon_clipload / weapon_clipsize, 1);
+                                               ring_inner_alpha = autocvar_crosshair_ring_reload_alpha;
+                                               ring_inner_rgb = wcross_color;
+                                               ring_inner_image = "gfx/crosshair_ring_inner.tga";
+                                       }
                                        else
-                                               ring_image = "gfx/crosshair_ring.tga";
+                                       {
+                                               ring_value = bound(0, weapon_clipload / weapon_clipsize, 1);
+                                               ring_scale = autocvar_crosshair_ring_reload_size;
+                                               ring_alpha = autocvar_crosshair_ring_reload_alpha;
+                                               ring_rgb = wcross_color;
+                                       
+                                               // Note: This is to stop Taoki from complaining that the image doesn't match all potential balances.
+                                               // if a new image for another weapon is added, add the code (and its respective file/value) here
+                                               if ((activeweapon == WEP_SNIPERRIFLE) && (weapon_clipsize == 80))
+                                                       ring_image = "gfx/crosshair_ring_sniperrifle.tga";
+                                               else
+                                                       ring_image = "gfx/crosshair_ring.tga";
+                                       }
                                }
 
-                               if (autocvar_crosshair_ring_inner && ring_inner_value) // lets draw a ring inside a ring so you can ring while you ring
+                               if ((autocvar_crosshair_ring_inner || autocvar_crosshair_ring_reload_inner) && ring_inner_value) // lets draw a ring inside a ring so you can ring while you ring
                                        DrawCircleClippedPic(wcross_origin, wcross_size_x * ring_scale, ring_inner_image, ring_inner_value, ring_inner_rgb, ring_inner_alpha, DRAWFLAG_ADDITIVE);
 
                                if (ring_value)
index 5a87249cc318166dab3b2b0652081de7f3dc33de..d380c7fc30902052883a2bc6449cb87cc2fb49b0 100644 (file)
@@ -122,8 +122,9 @@ float autocvar_crosshair_ring_nex_inner_color_green;
 float autocvar_crosshair_ring_nex_inner_color_red;
 float autocvar_crosshair_ring_size;
 float autocvar_crosshair_ring_reload;
-float autocvar_crosshair_ring_reload_size;
 float autocvar_crosshair_ring_reload_alpha;
+float autocvar_crosshair_ring_reload_inner;
+float autocvar_crosshair_ring_reload_size;
 float autocvar_crosshair_size;
 float autocvar_ekg;
 float autocvar_fov;
index 34db488b134b51b064ba44ba0fce9efd0c198895..e67bc214e6edefe7aa36f1b4163bdd33d11b01d0 100644 (file)
@@ -165,7 +165,7 @@ void havocbot_ai()
                        for(i = WEP_FIRST; i <= WEP_LAST; ++i)
                        {
                                e = get_weaponinfo(i);
-                               if(self.weapon_load[i] < cvar(strcat("g_balance_", e.netname, "_reload_ammo")))
+                               if ((e.spawnflags & WEP_FLAG_RELOADABLE) && (self.weapon_load[i] < cvar(strcat("g_balance_", e.netname, "_reload_ammo"))))
                                        self.switchweapon = i;
                        }
                }
index 3fab35fc9e1ccd592e494150343ffe4b913a9721..2e5a8434d74a91848f20eb9891a3ba735948dfc6 100644 (file)
@@ -1614,7 +1614,7 @@ void W_SetupProjectileVelocity(entity missile, float pSpeed, float spread)
 
 void W_DecreaseAmmo(.float ammo_type, float ammo_use, float ammo_reload)
 {
-       if(self.items & IT_UNLIMITED_WEAPON_AMMO)
+       if((self.items & IT_UNLIMITED_WEAPON_AMMO) && !ammo_reload)
                return;
 
        // if this weapon is reloadable, decrease its load. Else decrease the player's ammo
@@ -1647,7 +1647,8 @@ void W_ReloadedAndReady()
                while(self.clip_load < self.reload_ammo_amount && self.(self.current_ammo)) // make sure we don't add more ammo than we have
                {
                        self.clip_load += 1;
-                       self.(self.current_ammo) -= 1;
+                       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+                               self.(self.current_ammo) -= 1;
                }
        }
        self.weapon_load[self.weapon] = self.clip_load;