You are viewing a potentially older version of this package. View all versions.
Cursor-BetterReviveExperience-0.3.2 icon

BetterReviveExperience

Host-only inventory and held-item protection with configurable extraction, truck, cart, shop, and held-head revives.

Date uploaded a day ago
Version 0.3.2
Download link Cursor-BetterReviveExperience-0.3.2.zip
Downloads 298
Dependency string Cursor-BetterReviveExperience-0.3.2

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305
nickklmao-REPOConfig-1.2.6 icon
nickklmao-REPOConfig

Edit mod configs in-game!

Preferred version: 1.2.6

README

BetterReviveExperience

适用于 R.E.P.O. 的房主端复活与背包保留模组。 Host-side revive and inventory protection mod for R.E.P.O.

功能

Features

  • 死亡后保留背包栏物品;Phase Bridge、Drone、武器等可收纳物品在受击或翻滚时会自动回到背包。

  • Keep inventory-slot items after death; storable items such as Phase Bridge, drones, and weapons automatically return to inventory after a hit or tumble.

  • 玩家死亡时,可收纳的手持物品会进入原版前三格中的空格;满格时传送到死亡玩家的头附近。

  • On death, return the storable held item to a free vanilla slot, or place it near the death head when all three slots are occupied.

  • 死亡玩家的头进入提取点、卡车区域或推车时自动复活。

  • 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, held-item protection, death item return, 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.

  • ProtectHeldItems:可收纳的手持物品被强制松开时,优先回到原格,再使用其他原版空格,默认开启;主动松手不受影响。前三格全满时,单人/房主继续持有,远程玩家的物品回收到附近。

  • ProtectHeldItems: after a forced release, return a storable held item to its original slot, then another vanilla slot; enabled by default; manual release remains unchanged. When full, the local player keeps holding it and a remote item is recovered nearby.

  • ReturnHeldItemOnDeath:死亡时将可收纳的手持物品放入原版前三格的空格;满格则传送到死亡玩家的头附近,默认开启。

  • ReturnHeldItemOnDeath: return a storable held item to a free vanilla slot on death, or place it near the death head when full; enabled by default.

  • Mode:提取点/卡车规则,可选 DisabledExtractionMachineActivatedExtractionOrTruck,默认 ExtractionOrTruck

  • Mode: extraction/truck rule; choose Disabled, ExtractionMachineActivated, or ExtractionOrTruck; default ExtractionOrTruck.

  • Cost:每次复活消耗的团队货币,默认 0;可选 0100000,每次增加 1000

  • Cost: team currency cost per revive; default 0; choose 0 to 100000 in 1000 increments.

  • HealthPercent:复活后的血量百分比,默认 25

  • HealthPercent: health percentage after revive; default 25.

  • EnableHeldHeadRevive:是否允许持死亡玩家的头快捷键复活,默认开启。

  • EnableHeldHeadRevive: enable held-head hotkey revive; enabled by default.

  • HeldHeadReviveKey:持死亡玩家的头复活按键,默认 H;仅可选 HRYF,不可自由输入文字。

  • HeldHeadReviveKey: held-head revive key; default H; choose only H, R, Y, or F instead 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.

  • 本模组不会读取或写入扩展背包格。安装任意扩展背包模组时,请预留原版前三格中的至少一格;否则手持物品只能传送到死亡玩家的头附近。

  • This mod does not read or write expanded inventory slots. When using any bag-expansion mod, keep at least one of the first three vanilla slots free; otherwise the held item can only be placed near the death head.

  • 请不要同时启用其他自动复活模组,以避免重复复活或重复扣费。

  • 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.ReleaseObjectRPC path used by impacts and tumbles.
  • Treat every native inventory-storable ItemEquippable as 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.DebugLogging toggle 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.Spawn RPC.
  • 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.Update and PlayerDeathHead.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.Update flow.
  • Rebuilt inventory retention around the host-targeted RPC_CompleteUnequip flow.
  • 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 GameManager initialization 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 deadSet fallback so revive and inventory protection do not depend on a death event patch firing.