From 0563a5021497063d0f1a5f46a2a2f6d2d02f0840 Mon Sep 17 00:00:00 2001 From: FruitieX Date: Sat, 6 Nov 2010 16:03:31 +0200 Subject: [PATCH] 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 --- balance25.cfg | 1 + balanceLeeStricklin.cfg | 1 + balanceNexSVN.cfg | 1 + balanceSamual.cfg | 1 + balanceTest.cfg | 1 + balanceXonotic.cfg | 1 + balancetZork.cfg | 1 + defaultXonotic.cfg | 6 ++++-- gfx/crosshair_ring_inner.tga | Bin 5304 -> 7743 bytes qcsrc/client/View.qc | 7 +++---- qcsrc/server/cl_client.qc | 5 +++++ qcsrc/server/w_nex.qc | 7 ++++--- 12 files changed, 23 insertions(+), 9 deletions(-) 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 3d1a570b4e527081ab391ef8c0bf95580187de77..3bf51b5fba22ec8c248df28d758878909d795366 100644 GIT binary patch literal 7743 zcmb`MO=y+b8OL+uHO8t7LCGqYAh=8svI_&j#T0~MgH3BU>P}p_5dwp7nP}VT(9YPe zX*+3?nl?i}WQK-JDW!%YrB*53x^R)}BDioCE(Wv;-nakX|2gk_-g}cwGE5IV?>Xl= z&+|XedCqyy=fJ?12Fmc}z?%bO!v)zd{P`;=&7vrp-EMbSbV%vLqN8*Aj8JkkaSkD& zbkjN?qqtwJhFD{YPm3;zW|hC8_?F`Pq7BhYz>58(L~!mWi5p7KqN(__2&9IwSEyjG zSXg#O@v7*q=%MKOoS4P;l`8g;O5wR;iV<5)YE1)uWHhlbcS`g?gx)LS_w*^KtKumA zK+;o+8`ixAz#e6B(uCrxqG;EEQr-9UDTYXqkPH#6y^6eO*a&|FrlIV4(aJT129)Y9 zIHgb5EgK}Oup&Bdo!_HKcg%=7BHHSDmPzap1~J@@XvXp%pfso==$P1dKGdfG{SF*T zEVGOtt{D}z-CJ(eyUG?$y-mut^%Ync)wXEVK)(eIi>5{EC@Sv$fP|H=lcHORA1S`A zctP=Xz%CDwN}StDBcW`xHrr-AYKg+4SXXk|b^itfXytsV7L`k&dkxk;(LGUHjMo$& zR7~gLU^;n_Y8ps^0*4YL4vNrdi|!fA{r8Tt1^r4q@A_|I1gb63<5bkOAMFJ@6WAA` z4V5p8@Yv9g(4=xa0f#Q$KvHQ%4uJ%I$)b+dO>}?FhoY0Bj))Knt`)C66a7haPDLX> zFBL}MP$KR#|6f%N;&wzQ4Zc_^T$JFaB0~3je4}xs7wtm|C|8X8D-`Ir%M@i` z>qu24OjT$7mjHZL1P1{^=rl-)E*sBHr7>3|NN}a!6~m*x)P1V_8=@n>v(=J2k~oxP zoob95tJ}R|{CSipq6cVDR!i?up39oxR)89|T zne@6%*`(-6Rkp73QS1G*RHmuzx5W4KhjH}fg}+fwofqJUx|RX5EgH1GKL{NYZEfn} znt`OUD6&{IM>zso$1)fb?43L`5-h`apMmHGX3O3IZ7qZRq^ymllMsU#zdRN6@xPbl z{3mdVP0pP$hCfViooo%_3jD_n17Qu&Z={l_%v#p}F}2~c^AdU<4pfS*(vdr5*%6iB zubj)Ge%^Xs89-+jvSKUhW8myR+!U3cEo-kFE2g&-!^ZFj7fn>PAh7mNTR;i`msu(+ zVLE%7TsUqe#KtoiQdat5iHO-RH+gpHU!}=Q7@*MoHeZGy@k>#|82-SXg0Hw&@R^t= zDlnEDR=A=9Gn%+l8H`SO5GE_dVtAkeV3mRsbCM;kcms3EHs|z-f18%Eh@ZPp8M$-P ze39F#9Mw0i>H z-?e}WVc+dBQH)~R0C;(ttU|8+u5u0Q`-6#N5`0Ka9*VeS$N&t6p=vN7F;-Jlmc9OS z6m0?G_x^)rPE|gUkax7FvoZpgVqB`Q9ZIAs-lZ%|8#!I1QJ`Eo3SP4!O<*%eh|xs9 zkefBgJ9d_`P0IsY`R90qi4M15onlWnVq|3@RDrIxBw~_uoDPxvRr}peb zaknr(J5l9ZG=XFCMvu_vaN;)IDahQNSlg7P9D;IB^>ruC+IDbBaaV&25Ng_LjMLqm zk8*G2;qAYKUvf75Aeg>COl4dAVQAETQ)MrSQX5H$;@_tBHk_W`QawfOKgXHeKh$Ov z38Wc?R5cQjsLdvzkBJ_}?4eYezoeArFQxkCFO;C#>?t9_?q<(w0pN-vO|MD-u=D&~ zDer3a=&68heQot9M;8_6NuDESTE|GKEY`6(q`dCg0Li>5vDwl%j~kRJxFz9^=k99Yih~c+tpO>K zZw*wE4yIA~aY(Rs$AP$lBA|XbOzM;(5ty1ftp%B-td&P--tZf`A&xx_C8&}D7Bp)}fH#v(irL;tk6K4H785Z5m zNpwTBESi>VTqm=;^L276LE=Sj-P_9MOERVNWwI}`S#a>h0$PW#To4(aLJx5yhiV-xCwn(tGKNiPSa8`mrKEFZpqbPGdtd zp?It3Ej!y?g(Ukeq>zrst&bR@dzHllQzE7{+Ri`Ot@^m&(a$!8_tCIal16Jvym)w9 zF{oG!p3is(wCjOli~msZUB&FM&xqm?@MEC%D~o+&ia+O@rL;JdbNrcA%#j5IkmAkK zH>`9xwleT}Gv%0g6zlS9sxrN=sRfpO;SV5$nKR#b{hO!0e(Gzd$G`QJQ(t}k%LD%d DCc#Lv literal 5304 zcmb`L&ue2<6vtzoMRXCAEF`N4l0_G~a8Wm*yIKMg!C$ls140*%S#%?0Az6(0qv}jj zJ9RXf8RL{zs+3G|$}or)DIyac9>ee$1R>xbV8n$TMy8!N=X>J$USG*;Uy6Zq^WHh1 zbMCqK-FM%;HiD@A#RUZT!C*o48x4bq=+Zd5b20?MS3EAk-P6p5k4Za zk2?`)VFd*mUhqbgjK;l;;1A1fR%Aw`DH61#2%!x`pn)Z;>;@dhr#ZcLmFkZts8)hf(YG{Vu>62~}vU%Uzz& zBQJM#wJD|id2{l>YHh#B|FawhdAVz;4Nji&+7`V%BRX~ZL;g?d2(uJ-)TWg3P1Z!i z)lJh?sq>Wk%nX&&Rs$OP#y8NTh6xd0ZQ2&)KQ*TkozS%>w#*6L-=QE;#7*}2kU|l-A`K>w3QP)-O6Eievc>O!m%~ID?ZrKbK8fLdm=irKR zXJJ5Qc#;14Pzud`?gw+2Q=R3WQ(g(pQ&(1w@XZg9 z3aa%*#?%3K=zm{r2Tu|@M3?YW;!H$k1J9N`|LRIeLcrLL#kq8U6Ic78V94t1V# zgaaCigp1S#$~7!XnTFO4)3vB8D@V9PL!NM+x{h*ni;|+pGAY7m> zQ24Y}nW4cCOy|L#PGN5eGXY3jTv+@K*t*rnEp!W~^C;H?O5Th0M> zohaO;VU6$_b=@f3qoGE)MqMuo_i30VJWE|a3J(@G$hk09GoSb zJsM6EP9F`A5gz-W;gQl9seuW)Zls4Y(&HX!AdNIc-QfR~4<&Z+yVojr^lRl_*tZDB zzOZg8xK22BDsXS|F5!cd3@1i6eNDwqUxeMnc$IMM#OS8nUBWJn15>V>%umKn=KQ9( z&%_PF2R{>p-3RC?-=?qF4^Wa%+ejZx!bv{Ii1k8b_m6_u_Q_qd)JYyy*QH`N^(;PB%{e*A*FT#Cas})hI^-Y~CK1%}tGT$)3Z! z)bRI_2O3$S(r}S~?3vOc(BbGH$$>`XfMs*Y0Sk`=$`bMRmK5Br4UT9chdjTp7_cW7 z_qe%sM?M@fo&do`!|%z(ecjokcLR~Z5z>)|P&#hWa?C5}v$*4|%jhK>&7gad9F$#w z1Nt)~f&({X+z{!AbVbl846EZD+l2^z%mS|Xz4FqlQ?Hd?F1=WOdgl4k3scXe9ss=i BA@BeI 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"))) -- 2.39.2