Swing System for R.E.P.O.
Adds a physics-based swinging mechanic to R.E.P.O., allowing you to attach to static surfaces and traverse levels with momentum!
Features
- Physics-Based Swinging: Uses a SpringJoint for realistic rope-like swinging.
- Surface Attachment: Attach to walls, ceilings, and other static environment pieces within range.
- Momentum Control: Use movement keys (WASD) to influence your swing's direction and build speed.
- Integrated Visuals: Utilizes the existing PhysGrabber beam effect for the swing line.
- Jump-Off Release: Releasing the swing automatically gives a momentum-based jump in your current direction.
- Configurable Physics: Tune the swing distance, forces, and joint properties via the config file.
- Seamless Input: Integrates with the default Grab key (Hold to swing, Release to detach).
Installation
- Ensure you have BepInEx installed for R.E.P.O.
- Download the latest release of this mod.
- Extract the contents (the
.dll file) into your BepInEx/plugins folder within your R.E.P.O. game directory.
- Launch the game!
Controls
- Hold Grab Key (Default: Left Mouse Button): Aim at a valid surface (wall, ceiling) and hold to attach and initiate swing.
- WASD (while swinging): Influence swing direction and speed. Push forward/backward to increase/decrease arc, left/right to steer.
- Release Grab Key (while swinging): Detach from the surface and perform a jump, conserving your current momentum.
Configuration
- MaxSwingDistance: Maximum distance the swing line can attach from. (Default: 30)
- SwingForceMultiplier: How strongly WASD input affects your swing momentum. (Default: 50)
- UpwardsForceMultiplier: Additional upward boost when pressing 'W' while looking up during a swing. (Default: 10)
- JointSpring: The springiness/tension of the swing line joint. Higher values = stiffer. (Default: 8.0)
- JointDamper: How much the swing resists oscillation (damping). Higher values = less bounce. (Default: 5.0)
- JointMassScale: How much the joint connection ignores the player's mass. Higher values make the connection feel stronger/less affected by player weight. (Default: 5.0)
Tips
- Aim high on walls or ceilings for longer, more effective swings.
- Use WASD actively during the swing to build and maintain momentum.
- Timing your release (releasing the Grab key) is key to launching yourself effectively. Release at the peak or downswing for different trajectories.
- Gain initial speed by sprinting before initiating a swing.
Known Issues
- Physics might behave erratically if attaching very close to a surface or in tight corners.
- The beam visual might sometimes clip through geometry depending on the angle.
Compatibility
This mod patches PlayerController and PhysGrabber. It may conflict with other mods that heavily modify:
- Player movement input or physics.
- The PhysGrabber's grabbing or beam activation logic.
- Gravity application.
Credits
- Mod created by BellaModsGames
Commissioned Mods
I take commissions for custom mods! If you have an idea for a mod you'd like to see created, feel free to contact me:
I can create custom gameplay mechanics or systems tailored to your specific requirements.
Version History
1.0.0
- Initial functional release based on the discussed implementation.
- Hold-to-swing, release-to-jump-off mechanic.
- Uses existing PhysGrabber beam visuals.
- Configurable physics parameters.