Cyberpunk 2077
0 of 0

File information

Last updated

Original upload

Created by

Perfectly Normal Beast

Uploaded by

PerfNormBeast

Virus scan

Safe to use

Tags for this mod

About this mod

Hold a button to hang onto the side of a wall. Can also jump off walls

Requirements
Permissions and credits


There are a few actions you can perform


Hang

If you touch a wall while holding a grab key (default is Q), then you will hang onto the side of it until you let go or jump


Jump

While hanging from a wall, you can jump away or straight up.  There's also an option to jump off of walls without hanging from them first


Crawl

Also while hanging from a wall, you can crawl around on the wall (or hanging from a ceiling)












Just in case you get stuck, it might be worth having 
Ghost Forward or FreeFly

Two of my other mods that would go well with this are 
Jetpack and Grappling Hook

Not as related, but Low Flying V is my other flight based mod

This will disable fall damage and the desaturated screen when falling fast.  For a bit more realism, this will turn otherwise lethal falls into somewhat painful falls

Alt Midair Movement / WallJump can also pair well with this







Before installing this, you will need to have Cyber Engine Tweaks installed

Installing isn't hard, just unzip and copy.  See attached video for details


C:\SteamLibrary\steamapps\common\Cyberpunk 2077\bin\x64\plugins\cyber_engine_tweaks\mods\wall_hang







v2

- Removed dependency on redscript (reworked functions to use cet equivalent calls)

NOTE: the four flight mods talk to each other with a new cet based function, so all need to be updated (grappling hook, jetpack, low flying v, wall hang).  This is so you can chain from one flight mod to another, and only one will control the player at a time

- Holding shift overrides jump backward when facing wall setting (it's off by default, so holding shift is a way to force it)



v1.3

- Added an attraction to walls when they are a little bit out of reach.  When midair, activate the hang and you will suck to the nearest wall

- Added a speed limit when jumping straight up a wall.  If you're already going too fast and try to jump, the impulse will be reduced or zero.  This makes it feel a little more realistic (though jumping straight up is still pretty over powered)

- Made jumping backward off of walls optional (off by default)

- Added wall crawling.  The design has flaws and needs rework, but works well enough to push out for now.  If you get stuck, either jump or unlatch and relatch.  You'll want freefly or ghost forward in case you clip into walls.  See below for a longer explanation of the design flaw

- If falling too fast, the player will no longer instant stick.  Instead it applies drag until slow enough to grab.  This one always bothered me, how cheap it felt to stop from any speed

- When binding custom inputs, it now only remembers the first action seen.  A button press triggers several actions and it used to toggle between latch/unlatch/latch etc as the events streamed in



v1.2

- Added a config screen.  Exposed the wall hang button in the config's input bindings page

- Changed the hang key to latch instead of needing to hold it in - pressing again will release.  There's a checkbox in the config if you prefer the original way.  Thanks for the suggestion Inuk :)



v1.1

- Added a fix to make this work with 1.3

- Added support for controller to look while hanging on a wall

- Will now jump straight up when looking up and toward the wall.  This still needs work, but I need to fix my other mods for 1.3

Be careful, it's easy to spam the jump button and get yourself to lethal heights.  It would be good to have grappling hook and/or jetpack as a backup






The current implementation of wall crawl is kind of flawed:

Each frame, the direction to go is calculated based on the current wall's normal.  Then some raycasts are performed to see if the desired movement is allowed

The problem is that lots of walls are perpendicular to each other.  Inside corners aren't too bad, but outside corners require extra logic to see around the corner.  Then the player will instantly jump from one point to another

_____ o
|
|
|
O


Additional logic could be added to interpolate between those points across frames, but what if they decide to go a different direction mid interpolation?

The player now also gets stuck on little ledges or other types of outside corners, probably because they are just far enough away from the wall to no longer find a good spot to move to.  It's a flawed design that will require more and more custom logic

So instead of latching directly to walls, an intermediate layer should be created.  Probably some kind of bezier mesh.  This would be built from a scan of points, then use those to create a smooth surface that can be crawled on (sort of like putting saran wrap over an area).  This will definitely be required for wall run

So long story short, I know it's broken, have an idea of how to fix it.  Even in its current state, it's better than not having it.  I've already been working on this update long enough and want to move on to something else for a while













Wall Run:  Hold in shift while close to a wall and run

Double Tap Jump:  Enter bullet time for a few seconds, allowing the player to get off an aerial quickhack or a couple rifle kills

Jump Calculation:  If you are looking away from the wall and at a horizontal spot, aim the jump better to land where you're looking