From 73159dac3e52781ec5d9e5001ccaf3194a2dc6dd Mon Sep 17 00:00:00 2001 From: Boondorl <59555366+Boondorl@users.noreply.github.com> Date: Sun, 1 Jan 2023 19:35:44 -0500 Subject: [PATCH] Added WaterClimbSpeed Property to Players --- src/namedef_custom.h | 1 + src/playsim/p_mobj.cpp | 4 +++- wadsrc/static/zscript/actors/player/player.zs | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/namedef_custom.h b/src/namedef_custom.h index 16814010d..2ed9c0ede 100644 --- a/src/namedef_custom.h +++ b/src/namedef_custom.h @@ -285,6 +285,7 @@ xx(Face) xx(Slot) xx(SoundClass) xx(ViewBob) +xx(WaterClimbSpeed) xx(DamageFade) xx(MaxHealth) xx(crouchsprite) diff --git a/src/playsim/p_mobj.cpp b/src/playsim/p_mobj.cpp index 9f5756394..c3ebd72b8 100644 --- a/src/playsim/p_mobj.cpp +++ b/src/playsim/p_mobj.cpp @@ -1997,7 +1997,9 @@ static double P_XYMovement (AActor *mo, DVector2 scroll) (mo->player->cmd.ucmd.forwardmove | mo->player->cmd.ucmd.sidemove) && mo->BlockingLine->sidedef[1] != NULL) { - mo->Vel.Z = WATER_JUMP_SPEED; + double spd = mo->FloatVar(NAME_WaterClimbSpeed); + if (fabs(spd) >= EQUAL_EPSILON) + mo->Vel.Z = spd; } // If the blocked move executed any push specials that changed the // actor's velocity, do not attempt to slide. diff --git a/wadsrc/static/zscript/actors/player/player.zs b/wadsrc/static/zscript/actors/player/player.zs index bd5710e68..38da0f0f6 100644 --- a/wadsrc/static/zscript/actors/player/player.zs +++ b/wadsrc/static/zscript/actors/player/player.zs @@ -47,6 +47,7 @@ class PlayerPawn : Actor Class FlechetteType; color DamageFade; // [CW] Fades for when you are being damaged. double ViewBob; // [SP] ViewBob Multiplier + double WaterClimbSpeed; // [B] Speed when climbing up walls in water double FullHeight; double curBob; double prevBob; @@ -76,6 +77,7 @@ class PlayerPawn : Actor property Portrait: Portrait; property TeleportFreezeTime: TeleportFreezeTime; property ViewBob: ViewBob; + property WaterClimbSpeed : WaterClimbSpeed; flagdef NoThrustWhenInvul: PlayerFlags, 0; flagdef CanSuperMorph: PlayerFlags, 1; @@ -118,6 +120,7 @@ class PlayerPawn : Actor Player.FlechetteType "ArtiPoisonBag3"; Player.AirCapacity 1; Player.ViewBob 1; + Player.WaterClimbSpeed 3.5; Player.TeleportFreezeTime 18; Obituary "$OB_MPDEFAULT"; }