diff --git a/language.version b/language.version index 77ea7f84e..b77f0f2e4 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r711 \cu(Wed 28 Dec 11:45:45 CET 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r711 \cu(2022-12-28 11:45:45)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r712 \cu(Wed 28 Dec 21:31:00 CET 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r712 \cu(2022-12-28 21:31:00)\c-"; diff --git a/zscript/player/swwm_player_move.zsc b/zscript/player/swwm_player_move.zsc index c2da6a7d7..cbe3a005a 100644 --- a/zscript/player/swwm_player_move.zsc +++ b/zscript/player/swwm_player_move.zsc @@ -62,9 +62,8 @@ extend Class Demolitionist } // apply bobbing (formula adapted from Unreal) oldbobtime = bobtime; - double vel2d = vel.xy.length(); - if ( vel2d < .25 ) bobtime += .2/GameTicRate; - else bobtime += (.5+.8*min(vel2d/10.,3.))/GameTicRate; + double vel2d = vel.xy dot vel.xy; + bobtime += (1.25+.25*min(vel2d/100.,3.))/GameTicRate; Vector2 bob = (sin(bobtime*180.),sin(bobtime*360.))*player.bob*.25; if ( player.morphtics ) bob = (0.,0.); @@ -262,8 +261,8 @@ extend Class Demolitionist else if ( player.onground && ShouldDecelerate(floorsector) ) { // quickly decelerate if we're not holding movement keys - // (account for slippery floors, and assume approx .9 friction as "midpoint" for 85% reduction) - double fact = clamp(floorsector.GetFriction(0)*.95,.5,1.); + // (account for slippery floors, and assume approx .9 friction as "midpoint" for 70% reduction) + double fact = clamp(floorsector.GetFriction(0)*.8,.5,1.); vel *= fact; player.vel *= fact; }