float sv_airstrafeaccelerate;
float sv_maxairstrafespeed;
float sv_aircontrol;
+float sv_aircontrol_power;
float sv_warsowbunny_airforwardaccel;
float sv_warsowbunny_accel;
float sv_warsowbunny_topspeed;
self.velocity_z = max(cvar("sv_jumpvelocity") * cvar("sv_jumpspeedcap_min"), self.velocity_z);
if(cvar_string("sv_jumpspeedcap_max") != "") {
if(trace_fraction < 1 && trace_plane_normal_z < 0.98 && cvar("sv_jumpspeedcap_max_disable_on_ramps")) {
- // don't do jump speedcaps on ramps to preserve old nexuiz ramjump style
+ // don't do jump speedcaps on ramps to preserve old xonotic ramjump style
//print("Trace plane normal z: ", ftos(trace_plane_normal_z), ", disabling speed cap!\n");
}
else
xyspeed = vlen(self.velocity); self.velocity = normalize(self.velocity);
dot = self.velocity * wishdir;
- k *= sv_aircontrol*dot*dot*frametime;
if(dot > 0) // we can't change direction while slowing down
{
+ k *= fabs(sv_aircontrol)*pow(dot, sv_aircontrol_power)*frametime;
self.velocity = normalize(self.velocity * xyspeed + wishdir * k);
}
.vector v_angle_old;
.string lastclassname;
-void Nixnex_GiveCurrentWeapon();
.float() PlayerPhysplug;
string specialcommand = "xwxwxsxsxaxdxaxdx1x ";
bot_think();
}
+ MUTATOR_CALLHOOK(PlayerPhysics);
+
self.items &~= IT_USING_JETPACK;
if(self.classname == "player")