diff --git a/wadsrc/static/zscript/actors/player/player.zs b/wadsrc/static/zscript/actors/player/player.zs index e2a4873303..e6c66fa446 100644 --- a/wadsrc/static/zscript/actors/player/player.zs +++ b/wadsrc/static/zscript/actors/player/player.zs @@ -1263,6 +1263,12 @@ class PlayerPawn : Actor return forward, side; } + virtual void ApplyAirControl(out double movefactor, out double bobfactor) + { + movefactor *= level.aircontrol; + bobfactor *= level.aircontrol; + } + //---------------------------------------------------------------------------- // // PROC P_MovePlayer @@ -1306,8 +1312,8 @@ class PlayerPawn : Actor if (!player.onground && !bNoGravity && !waterlevel) { // [RH] allow very limited movement if not on ground. - movefactor *= level.aircontrol; - bobfactor*= level.aircontrol; + // [AA] but also allow authors to override it. + ApplyAirControl(movefactor, bobfactor); } fm = cmd.forwardmove;