if(xyspeed > nex_speed)
nex_speed = min(xyspeed, nex_maxvelocity);
else
- nex_speed = (1 - nex_speed_falloff_factor) * nex_speed;
+ nex_speed = max(nex_minvelocity, nex_speed - nex_speed_falloff_rate * frametime);
+
+ if (activeweapon == WEP_NEX && button_attack2 && nex_charge && getstati(GetAmmoStat(3)))
+ nex_speed = min(nex_maxvelocity, nex_speed + nex_charge_rate * frametime);
// ring around crosshair representing bullets left in camping rifle clip
if (activeweapon == WEP_CAMPINGRIFLE && cr_maxbullets)
a = cvar("crosshair_campingrifle_bulletcounter_alpha");
DrawCircleClippedPic(wcross_origin, wcross_size_x * ring_scale, "gfx/crosshair_ring.tga", f, wcross_color, wcross_alpha * a, DRAWFLAG_ADDITIVE);
}
- else if (activeweapon == WEP_NEX) // ring around crosshair representing velocity-dependent damage for the nex
+ else if (activeweapon == WEP_NEX && nex_velocitydependent && nex_speed > nex_minvelocity) // ring around crosshair representing velocity-dependent damage for the nex
{
f = bound(0, (nex_speed - nex_minvelocity) / (nex_maxvelocity - nex_minvelocity), 1);