BreakFree
Double-tap Space to break free when grabbed during Q-triggered tumble in R.E.P.O.
模組介紹 作者原文
BreakFree
如果你很討厭被人抓着不放手,那你非常需要這個模組。畢竟在 R.E.P.O. 裏被隊友、敵人或某個過分熱情的物理抓取愛好者拎來拎去時,保持一點點個人空間是非常合理的訴求。
功能概覽
BreakFree 是一個輕量級 BepInEx + Harmony 模組,用來在特定倒地狀態下給玩家一個“別碰我,我要起來了”的按鈕組合:
- 僅在你通過 Q 主動觸發 tumble / 倒地狀態後生效。
- 當其他玩家正在抓取你時,允許你在短時間內雙擊空格強制掙脫。
- 掙脫會走遊戲原版釋放和站起流程,儘量減少對原版行爲的打擾。
- 提供診斷日誌,方便判斷模組有沒有加載、檢測到倒地、檢測到抓取,以及有沒有成功發送釋放請求。
使用方法
- 在遊戲中按 Q 主動倒地。
- 如果其他玩家抓住了你,不要慌,也不要在語音裏開始吟唱古老咒語。
- 在 2 秒內雙擊空格。
- 模組會強制釋放抓取者,並請求遊戲原版站起流程。
簡單說:Q 倒地 → 被抓 → Space Space → “謝謝,不約。”
運作流程
BreakFree 通過 Harmony patch 監聽並補充 PlayerTumble 的原版邏輯,核心流程如下:
- Patch PlayerTumble.Update:在玩家更新 tumble 狀態時檢查當前是否符合掙脫條件。
- Patch PlayerTumble.TumbleSetRPC:追蹤通過 RPC 同步來的 tumble 狀態,特別是多人遊戲中非房主客戶端可能拿不到完整本地輸入標記的情況。
- 使用 isTumbling 判斷玩家是否仍處於 tumble / 倒地狀態。
- 使用 isPlayerInputTriggered 或模組記錄的 RPC tracking 判斷這次倒地是否來自玩家按 Q 主動觸發。
- 使用 playerGrabbing 判斷是否存在其他玩家正在抓取當前玩家。
- 當檢測到 2 秒內雙擊空格後,對符合條件的抓取者調用原版 ReleaseObjectRPC 釋放抓取。
- 成功釋放後調用 TumbleRequest(false, true),讓遊戲繼續走原版 TumbleStop / 站起流程。
也就是說,這個模組不是憑空把你彈射出去,而是儘量沿用原版 RPC 和站起路徑:只是幫你更有禮貌、更堅決地說一句“放手”。
配置
BepInEx 會在配置目錄生成:
BepInEx/config/com.breakfree.repo.breakfree.cfg
可用配置:
- [Diagnostics] EnableDiagnostics:是否啓用診斷日誌,默認 true。
如果你覺得控制台裏 [break free] 的碎碎念太多,可以把它改成 false。重要警告和錯誤仍會盡量保留。
安裝
r2modman
推薦使用 或 r2modman 安裝。選擇安裝 BreakFree 後,啓動帶 BepInEx 的 R.E.P.O. 即可。
手動安裝
如果你喜歡手動操作,也可以這樣安裝:
- 確保已經安裝適用於 R.E.P.O. 的 BepInExPack。
- 創建目錄:
BepInEx/plugins/BreakFree/
- 將 BreakFree.dll 放入該目錄:
BepInEx/plugins/BreakFree/BreakFree.dll
- 啓動遊戲。
日誌排查
如果模組看起來沒有工作,請在 BepInEx 控制台或日誌文件中搜索:
[break free]
常見可用信息包括:
- Harmony patch 是否成功應用。
- FieldRef / 私有字段訪問是否初始化成功。
- 是否觀察到 TumbleSetRPC。
- 是否記錄到第一次空格。
- 是否檢測到雙擊空格。
- 是否調用了釋放抓取者的 RPC。
- 是否請求了原版站起流程。
如果只有插件 loaded,但完全沒有 [break free] 日誌,請檢查配置裏的 EnableDiagnostics 是否被關閉,並確認你安裝的是最新構建的 BreakFree.dll。
兼容性 / 注意事項
- 多人遊戲建議所有玩家都安裝本模組。
- 模組已儘量按原版 RPC 路徑實現釋放和站起,但不同遊戲版本仍可能改動內部字段或流程,因此每個 R.E.P.O. 版本都建議實際驗證。
- 本模組主要針對 Q 主動倒地後被玩家抓取的場景,不保證覆蓋所有被抓、被拖、被物理學制裁的奇妙情況。
祝你掙脫順利。願所有過度熱情的抓取者都能學會邊界感。
問題反饋
- 作者小黑盒:
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: