From: FruitieX Date: Sat, 6 Nov 2010 14:03:31 +0000 (+0200) Subject: add a slow rot to 50% nex charge (even when not holding the gun), improve the current... X-Git-Tag: xonotic-v0.1.0preview~183^2~11 X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=0563a5021497063d0f1a5f46a2a2f6d2d02f0840 add a slow rot to 50% nex charge (even when not holding the gun), improve the current charge indicator image, rename some variables and cvars in this new code (and that only) to make more sense --- diff --git a/balance25.cfg b/balance25.cfg index 22fdaf09dc..711bdfdead 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -446,6 +446,7 @@ set g_balance_nex_charge_mindmg 40 set g_balance_nex_charge_start 0 set g_balance_nex_charge_rate 0.1 set g_balance_nex_charge_limit 0.5 +set g_balance_nex_charge_rot_rate 0 set g_balance_nex_charge_shot_multiplier 0.5 set g_balance_nex_charge_velocity_rate 0.2 set g_balance_nex_charge_minspeed 400 diff --git a/balanceLeeStricklin.cfg b/balanceLeeStricklin.cfg index b1c2673422..3dd00ebe17 100644 --- a/balanceLeeStricklin.cfg +++ b/balanceLeeStricklin.cfg @@ -457,6 +457,7 @@ set g_balance_nex_charge_mindmg 40 set g_balance_nex_charge_start 0 set g_balance_nex_charge_rate 0.1 set g_balance_nex_charge_limit 0.5 +set g_balance_nex_charge_rot_rate 0 set g_balance_nex_charge_shot_multiplier 0.5 set g_balance_nex_charge_velocity_rate 0.2 set g_balance_nex_charge_minspeed 400 diff --git a/balanceNexSVN.cfg b/balanceNexSVN.cfg index bb704d3ca9..8e8a892fbd 100644 --- a/balanceNexSVN.cfg +++ b/balanceNexSVN.cfg @@ -445,6 +445,7 @@ set g_balance_nex_charge_mindmg 40 set g_balance_nex_charge_start 0 set g_balance_nex_charge_rate 0.1 set g_balance_nex_charge_limit 0.5 +set g_balance_nex_charge_rot_rate 0 set g_balance_nex_charge_shot_multiplier 0.5 set g_balance_nex_charge_velocity_rate 0.2 set g_balance_nex_charge_minspeed 400 diff --git a/balanceSamual.cfg b/balanceSamual.cfg index 4b4a91c624..62f48fdca1 100644 --- a/balanceSamual.cfg +++ b/balanceSamual.cfg @@ -446,6 +446,7 @@ set g_balance_nex_charge_mindmg 40 set g_balance_nex_charge_start 0 set g_balance_nex_charge_rate 0.1 set g_balance_nex_charge_limit 0.5 +set g_balance_nex_charge_rot_rate 0 set g_balance_nex_charge_shot_multiplier 0.5 set g_balance_nex_charge_velocity_rate 0.2 set g_balance_nex_charge_minspeed 400 diff --git a/balanceTest.cfg b/balanceTest.cfg index c6ecf95d74..45d1bc7c3a 100644 --- a/balanceTest.cfg +++ b/balanceTest.cfg @@ -446,6 +446,7 @@ set g_balance_nex_charge_mindmg 10 set g_balance_nex_charge_start 0 set g_balance_nex_charge_rate 0.35 set g_balance_nex_charge_limit 0.5 +set g_balance_nex_charge_rot_rate 0 set g_balance_nex_charge_shot_multiplier 0 set g_balance_nex_charge_velocity_rate 0 set g_balance_nex_charge_minspeed 400 diff --git a/balanceXonotic.cfg b/balanceXonotic.cfg index 02bfe47882..f5f7c5bb43 100644 --- a/balanceXonotic.cfg +++ b/balanceXonotic.cfg @@ -446,6 +446,7 @@ set g_balance_nex_charge_mindmg 40 set g_balance_nex_charge_start 0.2 set g_balance_nex_charge_rate 0.05 set g_balance_nex_charge_limit 0.5 +set g_balance_nex_charge_rot_rate 0.01 set g_balance_nex_charge_shot_multiplier 0.675 set g_balance_nex_charge_velocity_rate 0.15 set g_balance_nex_charge_minspeed 400 diff --git a/balancetZork.cfg b/balancetZork.cfg index 7ab11edf78..3733f24662 100644 --- a/balancetZork.cfg +++ b/balancetZork.cfg @@ -447,6 +447,7 @@ set g_balance_nex_charge_mindmg 10 set g_balance_nex_charge_start 0 set g_balance_nex_charge_rate 0.35 set g_balance_nex_charge_limit 0.5 +set g_balance_nex_charge_rot_rate 0 set g_balance_nex_charge_shot_multiplier 0 set g_balance_nex_charge_velocity_rate 0 set g_balance_nex_charge_minspeed 400 diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index 636d472556..d2cf3b7688 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -217,13 +217,15 @@ seta crosshair_fireball_alpha 1 "crosshair alpha value to display when wielding seta crosshair_fireball_size 1 "crosshair size when wielding the fireball" seta crosshair_ring_size 2 "bullet counter ring size for Rifle, velocity ring for Nex" seta crosshair_campingrifle_bulletcounter_alpha 0.15 + seta crosshair_nexvelocity_alpha 0.15 -seta crosshair_nexvelocity_scale 30 -seta crosshair_nexvelocity_currentcharge_rate 0.05 +seta crosshair_nexvelocity_currentcharge_scale 30 seta crosshair_nexvelocity_currentcharge_alpha 0.15 seta crosshair_nexvelocity_currentcharge_color_red 0.8 seta crosshair_nexvelocity_currentcharge_color_green 0 seta crosshair_nexvelocity_currentcharge_color_blue 0 +seta crosshair_nexvelocity_currentcharge_movingavg_rate 0.05 + 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 recticle for the nex weapon's zoom, 0 disables and values between 0 and 1 change alpha" seta cl_reticle_item_normal 1 "draw recticle when zooming with the zoom button, 0 disables and values between 0 and 1 change alpha" diff --git a/gfx/crosshair_ring_inner.tga b/gfx/crosshair_ring_inner.tga index 3d1a570b4e..3bf51b5fba 100644 Binary files a/gfx/crosshair_ring_inner.tga and b/gfx/crosshair_ring_inner.tga differ diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index 510384c1d4..211bb9e986 100644 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@ -350,7 +350,7 @@ vector freeze_pmove_org, freeze_input_angles; entity nightvision_noise, nightvision_noise2; float pickup_crosshair_time, pickup_crosshair_size; -float nex_charge_change, nex_charge_current_avg; +float nex_charge_movingavg, nex_charge_current_avg; void CSQC_UpdateView(float w, float h) { @@ -873,11 +873,10 @@ void CSQC_UpdateView(float w, float h) vector rgb; // indicate how much we're charging right now with an inner circle a = cvar("crosshair_nexvelocity_currentcharge_alpha"); - nex_charge_change = (1 - cvar("crosshair_nexvelocity_currentcharge_rate")) * nex_charge_change + cvar("crosshair_nexvelocity_currentcharge_rate") * nex_charge; - nex_charge_current_avg = cvar("crosshair_nexvelocity_currentcharge_rate") * nex_charge_current_avg + (1 - cvar("crosshair_nexvelocity_currentcharge_rate")) * nex_charge_change; + nex_charge_movingavg = (1 - cvar("crosshair_nexvelocity_currentcharge_movingavg_rate")) * nex_charge_movingavg + cvar("crosshair_nexvelocity_currentcharge_movingavg_rate") * nex_charge; rgb = eX * cvar("crosshair_nexvelocity_currentcharge_color_red") + eY * cvar("crosshair_nexvelocity_currentcharge_color_green") + eZ * cvar("crosshair_nexvelocity_currentcharge_color_blue"); - DrawCircleClippedPic(wcross_origin, wcross_size_x * ring_scale, "gfx/crosshair_ring_inner.tga", bound(0, cvar("crosshair_nexvelocity_scale") * (nex_charge - nex_charge_current_avg), 1), rgb, wcross_alpha * a, DRAWFLAG_ADDITIVE); + DrawCircleClippedPic(wcross_origin, wcross_size_x * ring_scale, "gfx/crosshair_ring_inner.tga", bound(0, cvar("crosshair_nexvelocity_currentcharge_scale") * (nex_charge - nex_charge_movingavg), 1), rgb, wcross_alpha * a, DRAWFLAG_ADDITIVE); // draw the charge a = cvar("crosshair_nexvelocity_alpha"); diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index 66a838a31c..35eff19e66 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -2808,6 +2808,11 @@ void PlayerPreThink (void) } player_regen(); + + // rot nex charge to the charge limit + if(cvar("g_balance_nex_charge_rot_rate") && self.nex_charge > cvar("g_balance_nex_charge_limit")) + self.nex_charge = bound(cvar("g_balance_nex_charge_limit"), self.nex_charge - cvar("g_balance_nex_charge_rot_rate") * frametime / W_TICSPERFRAME, 1); + if(frametime) player_anim(); diff --git a/qcsrc/server/w_nex.qc b/qcsrc/server/w_nex.qc index 29b8be7ef0..c168753654 100644 --- a/qcsrc/server/w_nex.qc +++ b/qcsrc/server/w_nex.qc @@ -46,12 +46,12 @@ void W_Nex_Attack (float issecondary) if(cvar("g_balance_nex_charge")) { charge = cvar("g_balance_nex_charge_mindmg") / mydmg + (1 - cvar("g_balance_nex_charge_mindmg") / mydmg) * self.nex_charge; - self.nex_charge *= cvar("g_balance_nex_charge_shot_multiplier"); // do this AFTER setting mydmg/myforce + self.nex_charge = self.nex_charge * cvar("g_balance_nex_charge_shot_multiplier"); // do this AFTER setting mydmg/myforce } else charge = 1; - mydmg *= charge; - myforce *= charge; + mydmg = mydmg * charge; + myforce = myforce * charge; W_SetupShot (self, TRUE, 5, "weapons/nexfire.wav", mydmg); @@ -86,6 +86,7 @@ float w_nex(float req) { if(cvar("g_balance_nex_charge") && self.nex_charge < cvar("g_balance_nex_charge_limit")) self.nex_charge = min(1, self.nex_charge + cvar("g_balance_nex_charge_rate") * frametime / W_TICSPERFRAME); + if (self.BUTTON_ATCK) { if (weapon_prepareattack(0, cvar("g_balance_nex_primary_refire")))