Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
BetterReviveExperience
Host-only inventory protection with configurable extraction, truck, cart, shop, and held-head revives.
| Date uploaded | 2 days ago |
| Version | 0.2.11 |
| Download link | Cursor-BetterReviveExperience-0.2.11.zip |
| Downloads | 227 |
| Dependency string | Cursor-BetterReviveExperience-0.2.11 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
BetterReviveExperience
适用于 R.E.P.O. 的房主端复活与背包保留模组。 Host-side revive and inventory protection mod for R.E.P.O.
功能
Features
-
死亡后保留背包栏物品;手持物品仍会掉落。
-
Keep inventory-slot items after death; physically held items still drop.
-
死亡玩家的头进入提取点、卡车区域或推车时自动复活。
-
Automatically revive when a death head enters an extraction point, truck area, or cart.
-
商店死亡后自动复活。
-
Automatically revive players who die in the shop.
-
房主拿着死亡玩家的头时可按快捷键复活队友。
-
The host can revive a teammate with a hotkey while holding their death head.
-
可设置团队货币费用与复活后血量。
-
Configure team-currency cost and post-revive health.
-
背包保留、提取模式、持头快捷键、推车复活、商店复活和调试日志都可分别设置。
-
Inventory retention, extraction mode, held-head hotkey, cart revive, shop revive, and debug logging are configurable separately.
安装
Installation
只需要房主安装;客户端不需要安装。 Only the host needs to install the mod; clients do not need it.
请同时安装 REPOConfig,以便在游戏内调整全部设置。 Install REPOConfig as well to adjust settings in-game.
设置
Settings
-
KeepItemsOnDeath:是否保留背包栏物品,默认开启。 -
KeepItemsOnDeath: keep inventory-slot items; enabled by default. -
Mode:提取点/卡车规则,可选Disabled、ExtractionMachineActivated、ExtractionOrTruck,默认ExtractionOrTruck。 -
Mode: extraction/truck rule; chooseDisabled,ExtractionMachineActivated, orExtractionOrTruck; defaultExtractionOrTruck. -
Cost:每次复活消耗的团队货币,默认0;可选0至100000,每次增加1000。 -
Cost: team currency cost per revive; default0; choose0to100000in1000increments. -
HealthPercent:复活后的血量百分比,默认25。 -
HealthPercent: health percentage after revive; default25. -
EnableHeldHeadRevive:是否允许持死亡玩家的头快捷键复活,默认开启。 -
EnableHeldHeadRevive: enable held-head hotkey revive; enabled by default. -
HeldHeadReviveKey:持死亡玩家的头复活按键,默认H;仅可选H、R、Y、F,不可自由输入文字。 -
HeldHeadReviveKey: held-head revive key; defaultH; choose onlyH,R,Y, orFinstead of entering free text. -
EnableCartRevive:死亡玩家的头放入推车后自动复活,默认开启。 -
EnableCartRevive: auto-revive when a death head is placed in a cart; enabled by default. -
EnableShopRevive:商店死亡后自动复活,默认开启。 -
EnableShopRevive: auto-revive players killed in the shop; enabled by default. -
DebugLogging:是否输出详细日志;当前开发版本默认开启,正式发布时会默认关闭。 -
DebugLogging: write detailed logs; enabled by default in this development build and disabled by default for releases.
注意事项
Notes
-
费用不足时不会复活,也不会扣钱。
-
If there is not enough currency, the player is not revived and no money is charged.
-
团灭、开新局或存档重置时,不保证保留背包物品。
-
Inventory is not guaranteed to persist through full-run failure, a new run, or a save reset.
-
请不要同时启用其他自动复活模组,以避免重复复活或重复扣费。
-
Do not enable other automatic revive mods at the same time, to avoid duplicate revives or charges.
CHANGELOG
Changelog
0.3.2
- Return a storable held item to its original vanilla inventory slot after a hit or tumble, falling back to another free vanilla slot.
- Stop the native
ItemEquippable.ForceGrab()timer before recovery so an item taken from inventory does not reattach to the hand. - Keep the item in the local player's hand when all three vanilla slots are occupied; retain the nearby fallback for remote players.
0.3.1
- Fix single-player forced-drop protection by intercepting the direct
PhysGrabber.ReleaseObjectRPCpath used by impacts and tumbles. - Treat every native inventory-storable
ItemEquippableas protectable, including Phase Bridge and drones. - Add host recovery when an unmodded remote client has already processed a forced release.
0.3.0
- Add host-only protection and recovery for any held item that can enter a vanilla inventory slot.
- Track the last actual holder without changing manual release behavior.
- Return the storable item held at death to a free vanilla inventory slot, or place it near the death head when all three slots are occupied.
- Document the boundary with bag-expansion mods: expanded slots are not read or written.
0.2.11
- Re-upload the refreshed Thunderstore icon as a new immutable package version.
0.2.10
- Replace the Thunderstore icon with the new BetterReviveExperience branding.
0.2.9
- Simplify the held-head revive key list to H, R, Y, and F.
0.2.8
- Replace free-text held-head hotkey input with a fixed REPOConfig key list.
- Replace the cost range with fixed 1,000-currency increments from 0 to 100,000.
- Enable detailed debug logging by default for this development build.
0.2.7
- Add configurable
Revive.HeldHeadReviveKey; the default remains H. - Use the game's public run-currency wrappers for revive charges and refunds.
- Validate the currency wrappers during startup API compatibility checks.
0.2.6
- Add a REPOConfig
Debug.DebugLoggingtoggle for detailed runtime diagnostics. - Keep routine revive and error messages visible while hiding high-frequency probes by default.
- Document inventory-retention boundaries, tested dependency versions, GameTools interaction, and useful issue-report logs.
- Add independently configurable held-head H-key, cart, and shop revive triggers.
- Enable cart, shop, and host H-key revives by default.
- Apply the configured team cost and revive health to every BRE revive trigger.
- Use the immediate native death-head revive path without safety-spawn relocation or position confirmation.
- Detect and warn about overlapping revive mods that can issue duplicate revive RPCs.
- Require both Photon MasterClient authority and the game's host/single-player authority before every BRE state-changing path.
0.2.5
- Require the death head to remain continuously in a valid revive area for one second.
- Stop forcing room-volume recalculation every frame and use the game's cached area state.
- Move revived players to extraction/truck safety spawns through the native
PlayerAvatar.SpawnRPC. - Verify the resulting position and retry the safe spawn up to five times.
- Apply the configured revive health exactly in both single-player and multiplayer.
- Add soft GameTools compatibility ordering and a warning for overlapping automatic revive options.
0.2.4
- Wait for the death-head trigger setup to finish before issuing a revive.
- Use the game's native
PlayerDeathHead.Revive()path for extraction-point revives. - Keep the native truck revive path for truck-area revives.
0.2.3
- Keep Harmony patches installed when the loader disposes the plugin component after startup.
- Fix all runtime callbacks being removed immediately after successful patch registration.
0.2.2
- Replace automatic patch discovery with explicit Harmony registrations for every game method.
- Add one-time live-game probes for
PlayerAvatar.UpdateandPlayerDeathHead.Update. - Distinguish a patch registered at startup from a patch actually invoked during a session.
0.2.1
- Refresh the death head's room-volume check immediately before evaluating truck and extraction revive triggers.
- Add explicit diagnostics for death RPCs and death-head creation, so a failed revive can be located at the exact game event.
0.2.0
- Rebuilt revive handling around the game's native
PlayerDeathHead.Updateflow. - Rebuilt inventory retention around the host-targeted
RPC_CompleteUnequipflow. - Removed the polling scanner, plugin coroutine, and custom runtime driver.
- Added exact host health synchronization after the vanilla revive RPC completes.
- Preserved the three revive modes, shared cost, timeout refund, and REPOConfig settings.
- Added a startup list of every Harmony target for compatibility diagnostics.
0.1.2
- Changed death-head discovery to use the authoritative player list and each player's bound death head.
- Added explicit room-volume checks for extraction and truck detection.
- Added staged diagnostics for host state, death RPCs, death heads, inventory unequip, area detection, and revive RPCs.
- Drive the revive controller from a dedicated persistent Unity runtime object and wait for
GameManagerinitialization before scanning.
0.1.1
- Reworked inventory retention to run entirely on the host.
- Clients no longer need BetterReviveExperience installed.
- Added disabled, activated machine, and combined extraction/truck revive modes.
- Added shared currency cost and configurable revive health.
- Set the default revive cost to 0 with a configurable 0–100,000 range.
- Added per-player death tracking and host-side item state correction.
- Added revive timeout refunds and scene transition cleanup.
- Added game API compatibility validation logs.
- Added in-game configuration through REPOConfig.
- Fixed Harmony patches not being discovered when the parameterless PatchAll call resolved the wrong assembly.
- Added host-side death-head scanning and direct
deadSetfallback so revive and inventory protection do not depend on a death event patch firing.