sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 30
sv_airstrafeaccel_qw 0
sv_aircontrol 150
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 100
sv_airstrafeaccel_qw -0.9825
sv_aircontrol 125
+sv_aircontrol_penalty 0
sv_aircontrol_power 2.5
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 125
+sv_aircontrol_penalty 0
sv_aircontrol_power 2.5
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 0
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 30
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 9 // activates warsow movement mode
sv_maxairstrafespeed 30
sv_airstrafeaccel_qw 0
sv_aircontrol 150
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
sv_maxairstrafespeed 30
sv_airstrafeaccel_qw 0
sv_aircontrol 0
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 6 // activates warsow movement mode
sv_maxairstrafespeed 30
sv_airstrafeaccel_qw 1
sv_aircontrol 150
+sv_aircontrol_penalty 0
sv_aircontrol_power 2
sv_airspeedlimit_nonqw 0
sv_warsowbunny_turnaccel 0
--- /dev/null
+// Nexrun tweaked to suit CPM
+sv_gravity 800
+sv_maxspeed 320
+// CPMA: 320
+sv_maxairspeed 320
+// CPMA: 320
+sv_stopspeed 100
+sv_accelerate 15
+sv_airaccelerate 1
+sv_friction 8
+edgefriction 1
+sv_stepheight 34
+// CPMA: 18
+sv_jumpvelocity 270
+sv_wateraccelerate 4
+sv_waterfriction 1
+sv_airaccel_sideways_friction 0
+sv_airaccel_qw -0.934375
+// CPMA: 1
+sv_airstopaccelerate 6.5625 // matches strafe-stopping speed
+sv_airstrafeaccelerate 14
+sv_maxairstrafespeed 150
+sv_airstrafeaccel_qw -0.99
+sv_aircontrol 100
+sv_aircontrol_penalty 100
+sv_aircontrol_power 2.5
+sv_airspeedlimit_nonqw 0
+sv_warsowbunny_turnaccel 0
+sv_warsowbunny_accel 0.1593
+sv_warsowbunny_topspeed 925
+sv_warsowbunny_backtosideratio 0.8
+sv_friction_on_land 0
+sv_doublejump 0
+sv_jumpspeedcap_min ""
+sv_jumpspeedcap_max ""
+sv_jumpspeedcap_max_disable_on_ramps 1
float sv_airstrafeaccel_qw;
float sv_aircontrol;
float sv_aircontrol_power;
+float sv_aircontrol_penalty;
float sv_warsowbunny_airforwardaccel;
float sv_warsowbunny_accel;
float sv_warsowbunny_topspeed;
if(dot > 0) // we can't change direction while slowing down
{
- k *= fabs(sv_aircontrol)*pow(dot, sv_aircontrol_power)*frametime;
+ k *= pow(dot, sv_aircontrol_power)*frametime;
+ xyspeed = max(0, xyspeed - sv_aircontrol_penalty * sqrt(max(0, 1 - dot*dot)) * k/32);
+ k *= sv_aircontrol;
self.velocity = normalize(self.velocity * xyspeed + wishdir * k);
}
sv_maxairstrafespeed = cvar("sv_maxairstrafespeed");
sv_airstrafeaccel_qw = cvar("sv_airstrafeaccel_qw");
sv_aircontrol = cvar("sv_aircontrol");
+ sv_aircontrol_penalty = cvar("sv_aircontrol_penalty");
sv_aircontrol_power = cvar("sv_aircontrol_power");
sv_warsowbunny_airforwardaccel = cvar("sv_warsowbunny_airforwardaccel");
sv_warsowbunny_accel = cvar("sv_warsowbunny_accel");