Increase air control and disallow "front kicking" walls (very exploitable).

This commit is contained in:
Mari the Deer 2022-11-09 12:33:43 +01:00
commit 047946bb3d
2 changed files with 8 additions and 15 deletions

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r604 \cu(Tue 8 Nov 13:01:16 CET 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r604 \cu(2022-11-08 13:01:16)\c-";
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r605 \cu(Wed 9 Nov 12:33:43 CET 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r605 \cu(2022-11-09 12:33:43)\c-";

View file

@ -2136,12 +2136,12 @@ Class Demolitionist : PlayerPawn
nmove = NormalizedMove();
double fs = TweakSpeed();
if ( CanCrouch() && (player.crouchfactor != -1) ) fs *= player.crouchfactor;
Vector3 accel = (RotateVector(nmove,angle),0);
accel *= fs/480.;
double spd = vel.length();
double maxspd = fs*15.;
if ( spd > maxspd ) vel = (vel+accel/GameTicRate).unit()*spd;
else vel = vel+accel/GameTicRate;
Vector2 accel = RotateVector(nmove,angle);
accel *= fs/320.;
double spd = vel.xy.length();
double maxspd = fs*12.;
if ( spd > maxspd ) vel.xy = (vel.xy+accel/GameTicRate).unit()*spd;
else vel.xy = vel.xy+accel/GameTicRate;
}
if ( !(player.cheats&CF_PREDICTING) && (nmove.length() > 0.) )
PlayRunning();
@ -2280,8 +2280,6 @@ Class Demolitionist : PlayerPawn
if ( !d.HitLine.sidedef[1] || !!(d.HitLine.flags&(Line.ML_BLOCKING|Line.ML_BLOCKEVERYTHING|Line.ML_BLOCK_PLAYERS)) ) // nope
{
wallclimb = false;
walljump = true;
walldir = -(walldir*.7+AngleToVector(ang)*.3);
break;
}
Sector s = d.HitLine.sidedef[!d.LineSide].sector;
@ -2292,8 +2290,6 @@ Class Demolitionist : PlayerPawn
if ( ((backceilz-backfloorz) < Height) || ((pos.z+Height+32) < backfloorz) ) // nope
{
wallclimb = false;
walljump = true;
walldir = -(walldir*.7+AngleToVector(ang)*.3);
break;
}
climbvelz = 1.5*sqrt(max(1.,backfloorz-pos.z));
@ -2303,9 +2299,6 @@ Class Demolitionist : PlayerPawn
if ( ((d.HitActor.ceilingz-d.HitActor.pos.z+d.HitActor.Height) < Height) || ((pos.z+Height+32) < (d.HitActor.pos.z+d.HitActor.Height)) ) // nope
{
wallclimb = false;
walljump = true;
jumpactor = d.HitActor;
walldir = -(walldir*.7+AngleToVector(ang)*.3);
break;
}
climbvelz = 1.5*sqrt(max(1.,(d.HitActor.pos.z+d.HitActor.Height)-pos.z));