this.angles = this.angles + movedt * this.avelocity;
break;
case MOVETYPE_STEP:
+ if (GAMEPLAYFIX_UNSTICKPLAYERS(this) == 2)
+ _Movetype_CheckStuck(this);
_Movetype_Physics_Step(this, movedt);
break;
case MOVETYPE_WALK:
case MOVETYPE_FLY:
case MOVETYPE_FLY_WORLDONLY:
+ if (movedt > 0 && GAMEPLAYFIX_UNSTICKPLAYERS(this) == 2)
+ _Movetype_CheckStuck(this);
_Movetype_Physics_Walk(this, movedt);
break;
case MOVETYPE_TOSS:
case MOVETYPE_BOUNCE:
case MOVETYPE_BOUNCEMISSILE:
case MOVETYPE_FLYMISSILE:
+ if (GAMEPLAYFIX_UNSTICKPLAYERS(this) == 2)
+ _Movetype_CheckStuck(this);
_Movetype_Physics_Toss(this, movedt);
break;
case MOVETYPE_PHYSICS:
if (dt <= 0)
return;
- if (GAMEPLAYFIX_UNSTICKPLAYERS(this))
+ if (GAMEPLAYFIX_UNSTICKPLAYERS(this) == 1)
_Movetype_CheckStuck(this);
bool applygravity = (!_Movetype_CheckWater(this) && this.move_movetype == MOVETYPE_WALK && !(this.flags & FL_WATERJUMP));
int autocvar_sv_gameplayfix_stepdown = 2;
float autocvar_sv_gameplayfix_stepdown_maxspeed = 0;
int autocvar_sv_gameplayfix_stepmultipletimes = 1;
-int autocvar_sv_gameplayfix_unstickplayers = 1;
+int autocvar_sv_gameplayfix_unstickplayers = 2;
int autocvar_sv_gameplayfix_fixedcheckwatertransition = 1;
int autocvar_sv_gameplayfix_slidemoveprojectiles = 1;
int autocvar_sv_gameplayfix_grenadebouncedownslopes = 1;
sv_gameplayfix_q2airaccelerate 1
sv_gameplayfix_stepmultipletimes 1
sv_gameplayfix_stepdown 2
+sv_gameplayfix_unstickplayers 2
// only available in qc physics
set sv_gameplayfix_stepdown_maxspeed 0 "maximum speed walking entities can be moving for stepping down to apply - requires sv_qcphysics 1"