You are viewing a potentially older version of this package. View all versions.
lllei-BetterRagdollEnhanced-1.0.0 icon

BetterRagdollEnhanced

A maintained and enhanced continuation of BetterRagdoll for current PEAK versions.

By lllei
Date uploaded 2 weeks ago
Version 1.0.0
Download link lllei-BetterRagdollEnhanced-1.0.0.zip
Downloads 35
Dependency string lllei-BetterRagdollEnhanced-1.0.0

This mod requires the following mods to function

BepInEx-BepInExPack_PEAK-5.4.75301 icon
BepInEx-BepInExPack_PEAK

BepInEx pack for PEAK. Preconfigured and ready to use.

Preferred version: 5.4.75301

README

BetterRagdollEnhanced

English | 中文

Based on BetterRagdoll by Luluberlu.

English

BetterRagdollEnhanced lets you press X on keyboard or LB on controller to ragdoll with a push in your current movement direction. Hold the button to stay ragdolled, then release it to get back up.

Highlights

  • Ragdoll on demand: Tap the configured key to enter a short, responsive ragdoll.
  • Movement-based push: Moving characters receive a push in their current velocity direction.
  • Hold to stay down: Keep holding the key to remain ragdolled without sending an RPC every frame.
  • Keyboard and controller support: Uses PEAK's current Unity Input System with configurable X/LB defaults.
  • UI-aware input: Menus and input wheels block new ragdoll input, including keys held while closing the UI.
  • Airport support: Works with the controllable airport lobby character even when its full stats initialization flag is unavailable.

Installation

Install with Thunderstore Mod Manager or r2modman, or place BetterRagdollEnhanced.dll directly in PEAK's BepInEx/plugins/BetterRagdollEnhanced directory. BetterRagdollEnhanced requires BepInEx 5.

BetterRagdollEnhanced replaces the original BetterRagdoll. Remove BetterRagdoll.dll before installing; the two plugins are declared incompatible and should not be loaded together.

Controls

Action Keyboard Controller
Trigger a short ragdoll X LB
Stay ragdolled Hold X Hold LB

The short-press behavior intentionally preserves the original feel: the fall lasts 0.5 seconds, the default push force is 322, and the push uses the character's full average velocity direction. This release does not add a force curve or movement while ragdolled.

Ragdoll input pauses while a menu or input wheel is open. If the key is held while input becomes blocked, release it before triggering ragdoll again.

Configuration

The config file is generated at BepInEx/config/BetterRagdollEnhanced.cfg.

Key Default Description
Settings.Ragdoll Force 322 Push force applied when ragdoll starts while moving
Settings.Keyboard Ragdoll Key X Keyboard trigger key
Settings.Gamepad Ragdoll Key JoystickButton4 Controller trigger button (LB by default)

Common controller values are JoystickButton0 for A, JoystickButton1 for B, JoystickButton2 for X, JoystickButton3 for Y, JoystickButton4 for LB, and JoystickButton5 for RB.

Differences from BetterRagdoll

Area BetterRagdoll 1.0.7 BetterRagdollEnhanced 1.0.0
Current PEAK support Uses the former one-argument fall RPC Uses PEAK 2.2.a's current two-argument fall RPC
Input Legacy UnityEngine.Input polling Current Unity Input System keyboard and gamepad devices
Hold behavior Sends a fall RPC every frame after the hold delay Renews only when the ragdoll timer is nearly expired
Game events Calls the Photon RPC directly Uses PEAK's normal fall entry point for the initial event
UI handling Can activate through menus and wheels Respects PEAK's player-input gate and requires release after blocked input
Airport lobby No dedicated compatibility handling Allows the usable airport character without requiring full stats initialization
Logging Writes detailed gameplay messages repeatedly Logs startup and compatibility failures only

The default force, short fall duration, movement threshold, configurable keys, and X/LB control scheme remain intentionally close to the original mod.

Compatibility notes

Only the player using BetterRagdollEnhanced needs to install it. The mod uses PEAK's existing fall RPC and character synchronization rather than custom network messages. Other players can continue to observe the ragdoll through the game's normal networking.

The plugin fails closed when PEAK's UI input gate is unavailable, preventing accidental activation through menus after incompatible game updates. If the movement-force method changes, ragdoll still works but the initial push is disabled and an error is logged.

Building

Copy PeakGameDir.props.example to the gitignored PeakGameDir.props and set the PEAK directory, or set PEAK_GAME_DIR.

dotnet build BetterRagdollEnhanced.slnx -c Release
dotnet msbuild src\BetterRagdollEnhanced\BetterRagdollEnhanced.csproj -t:Deploy -p:Configuration=Debug
dotnet msbuild src\BetterRagdollEnhanced\BetterRagdollEnhanced.csproj -t:PackageThunderstore -p:Configuration=Release

Normal builds never write to the game directory. Deploy is explicit. Packaging writes artifacts/BetterRagdollEnhanced-<version>.zip and stops if manifest.json does not match the project version. The BepInEx plugin version is generated from the project version during compilation.

中文

BetterRagdollEnhanced 允许你按下键盘 X 或手柄 LB 主动进入布娃娃状态,并沿当前移动方向获得一段推力。按住按键可以持续保持布娃娃状态,松开后会自然起身。

功能亮点

  • 随时主动倒地: 按下配置键即可进入短暂且响应迅速的布娃娃状态。
  • 沿移动方向获得推力: 角色正在移动时,会沿当前平均速度方向获得推力。
  • 按住保持倒地: 按住按键即可持续倒地,并且不会像原版一样每帧发送 RPC。
  • 支持键盘和手柄: 使用 PEAK 当前的 Unity Input System,默认按键为 X 和 LB,也可以在配置中修改。
  • 避免 UI 输入穿透: 菜单和操作轮盘打开时不会触发;如果按住按键关闭 UI,需要先松开才能再次触发。
  • 支持机场大厅: 机场角色即使尚未完成完整 stats 初始化,也可以正常使用。

安装

可以通过 Thunderstore Mod Manager 或 r2modman 安装,也可以将 BetterRagdollEnhanced.dll 放入 PEAK 的 BepInEx/plugins/BetterRagdollEnhanced 目录。BetterRagdollEnhanced 需要 BepInEx 5。

BetterRagdollEnhanced 用于替代原版 BetterRagdoll。安装前请移除 BetterRagdoll.dll;两个插件已声明互不兼容,不应同时加载。

操作方法

操作 键盘 手柄
触发短暂倒地 X LB
持续保持倒地 按住 X 按住 LB

短按手感有意保持原版设计:倒地持续 0.5 秒,默认推力为 322,推力方向使用角色完整的平均速度方向。当前版本没有加入推力曲线,也不能在布娃娃期间控制移动。

菜单或操作轮盘打开时会暂停 BetterRagdollEnhanced 输入。如果按键在输入被阻止时仍处于按住状态,需要先松开才能再次触发。

配置

配置文件生成于 BepInEx/config/BetterRagdollEnhanced.cfg

配置项 默认值 说明
Settings.Ragdoll Force 322 开始倒地时沿移动方向施加的推力
Settings.Keyboard Ragdoll Key X 键盘触发键
Settings.Gamepad Ragdoll Key JoystickButton4 手柄触发键,默认对应 LB

常见手柄键值:A 为 JoystickButton0,B 为 JoystickButton1,X 为 JoystickButton2,Y 为 JoystickButton3,LB 为 JoystickButton4,RB 为 JoystickButton5

与原版 BetterRagdoll 的差别

  • 适配 PEAK 2.2.a 当前的双参数倒地 RPC 和 Unity Input System。
  • 长按时仅在倒地计时即将结束时续期,不再每帧发送网络消息。
  • 首次倒地通过 PEAK 正常入口触发,保留游戏自身的角色倒地事件。
  • 遵循 PEAK 的 UI 输入阻塞状态,不会在菜单和操作轮盘中误触发。
  • 支持机场大厅中尚未完成完整 stats 初始化的可控制角色。
  • 正常游玩期间不输出重复日志,只记录启动信息和兼容性错误。

默认推力、短按倒地时间、移动阈值、可配置按键以及 X/LB 操作方式均有意保持接近原版。

兼容性说明

只有使用者需要安装 BetterRagdollEnhanced。Mod 使用 PEAK 现有的倒地 RPC 和角色同步,不添加自定义网络消息,其他玩家仍可通过游戏正常网络同步看到布娃娃状态。

如果未来版本不再提供 PEAK 的 UI 输入 gate,插件会停止接受倒地输入,避免菜单误触发;如果移动推力方法发生变化,倒地功能仍可使用,但初始推力会被禁用并记录错误。

构建

PeakGameDir.props.example 复制为已被忽略的 PeakGameDir.props 并填写 PEAK 目录,或设置 PEAK_GAME_DIR。普通构建不会覆盖游戏文件,只有显式 Deploy 目标会部署。打包输出位于 artifacts/BetterRagdollEnhanced-<version>.zip,并会校验 manifest.json 与项目版本是否一致;BepInEx 插件版本会在编译时根据项目版本自动生成。构建、部署和打包命令见英文构建章节。

致谢

原版 BetterRagdoll 的创意和实现来自 Luluberlu。BetterRagdollEnhanced 用于在当前 PEAK 版本中维护这一体验,并为后续增强功能提供清晰基础。

CHANGELOG

Changelog

1.2.1

  • Changed ragdoll button handling to use a persistent Unity Input System action.
  • Allowed either ragdoll binding to be left empty as a normal way to disable that input source.
  • Removed the unused Unity legacy input module reference.

1.2.0

  • Fixed configurable ragdoll bindings to support mouse side buttons and other Unity Input System button controls.
  • Changed binding values from legacy KeyCode names to Input System control paths such as <Mouse>/backButton and <Gamepad>/leftShoulder.
  • Changed the plugin GUID to com.github.lllei.BetterRagdollEnhanced, so the configuration file is now com.github.lllei.BetterRagdollEnhanced.cfg.
  • Existing BetterRagdollEnhanced.cfg files are not migrated; reconfigure the mod after updating.

1.1.0

  • Added physical side rolling while grounded: move the mouse horizontally or use the right stick during a ragdoll started by BetterRagdollEnhanced.
  • Made roll direction follow the expected screen side and remain stable as the body or camera turns.
  • Added separate sensitivity and strength settings for mouse and controller, together with configurable roll acceleration and target speed.
  • Tuned the default controls for responsive mouse and controller rolling.
  • Prevented roll input from carrying through menus, input wheels, focus changes, or airborne movement.
  • Kept ordinary falls, knockouts, death, and ragdolls triggered by other causes uncontrolled.

1.0.0

  • Brought the original BetterRagdoll experience to PEAK 2.2.a.
  • Added configurable keyboard and controller buttons, with X and LB as the defaults.
  • Preserved the original short-press force and added hold-to-stay-down behavior.
  • Prevented ragdoll input from passing through menus and input wheels.