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

BetterReviveExperience

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

Date uploaded 2 weeks ago
Version 0.3.5
Download link Cursor-BetterReviveExperience-0.3.5.zip
Downloads 1117
Dependency string Cursor-BetterReviveExperience-0.3.5

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

⚠️ 兼容性警告 / Compatibility Warning

请勿同时启用其他提供自动复活、死亡背包保留、手持物品防掉落或自动回收功能的模组。对于 GameTools 等多功能模组,请关闭其中与 BRE 重叠的选项。

Do not enable other mods that provide automatic revives, keep-inventory-on-death, held-item drop protection, or automatic item recovery. For multi-purpose mods such as GameTools, disable the options that overlap with BRE.

中文 | English

中文

BetterReviveExperience 是一款仅需房主安装的 R.E.P.O. 复活与物品保护模组,加入房间的其他玩家无需安装。

安装

  • 使用 r2modman 或 Thunderstore Mod Manager 安装。
  • 依赖 BepInExPackREPOConfig
  • Mods → BetterReviveExperience 中修改设置,修改后建议重启游戏。

功能

  • 死亡后保留原版背包栏物品。
  • 可收纳物品(Phase Bridge、无人机、武器等)因受击或翻滚脱手时自动回到原版背包;死亡时也会优先回收。
  • 手持物品时切换到已占用的背包格,会交换物品而不是将手中物品扔到地上。
  • 支持提取点、卡车、推车、商店和房主持死亡玩家的头按键复活。
  • 可设置复活条件、团队费用、复活血量和快捷键。

设置

设置 默认值 作用
KeepItemsOnDeath 开启 死亡后保留背包栏物品
ProtectHeldItems 开启 受击或翻滚时回收可收纳的手持物品
SwapHeldItemOnOccupiedSlot 开启 切换到已占用格时交换物品
ReturnHeldItemOnDeath 开启 死亡时回收手持的可收纳物品
Mode ExtractionOrTruck 设置提取点和卡车复活规则
Cost 0 每次复活扣除的团队货币,范围 0–100000,步进 1000
HealthPercent 25 复活后的血量百分比
EnableHeldHeadRevive 开启 房主持死亡玩家的头按键复活
HeldHeadReviveKey H 可选 HRYF
EnableCartRevive 开启 死亡玩家的头进入推车后复活
EnableShopRevive 开启 在商店死亡后复活
DebugLogging 开启 输出详细诊断日志

Mode 可选:

  • Disabled:关闭提取点和卡车自动复活。
  • ExtractionMachineActivated:死亡玩家的头进入提取点,并在机器激活后复活。
  • ExtractionOrTruck:死亡玩家的头进入提取点或卡车区域后立即复活。

注意

  • 请在游戏原生设置中开启 Item Unequip Auto Hold,否则从背包取出的物品会在短暂计时后掉落。
  • 扩展背包格不受支持;使用扩展背包模组时,请在原版前三格中至少留一个空格。
  • 原版前三格全满时,死亡时手持的物品会放到死亡玩家的头附近。
  • 团队货币不足时不会复活,也不会扣费。
  • 团灭、开新局或重置存档时不保证保留物品。

English

BetterReviveExperience is a host-only revive and item-protection mod for R.E.P.O. Other players joining the lobby do not need to install it.

Installation

  • Install with r2modman or Thunderstore Mod Manager.
  • Requires BepInExPack and REPOConfig.
  • Change settings under Mods → BetterReviveExperience; restarting the game afterward is recommended.

Features

  • Keep vanilla inventory-slot items after death.
  • Return storable items such as Phase Bridge, drones, and weapons to vanilla inventory after an impact or tumble, and recover them on death.
  • Swap the held item into an occupied inventory slot instead of dropping it.
  • Revive through extraction points, the truck, carts, the shop, or the host's held-head hotkey.
  • Configure revive conditions, team cost, revive health, and hotkey.

Settings

Setting Default Purpose
KeepItemsOnDeath On Keep inventory-slot items after death
ProtectHeldItems On Recover storable held items after an impact or tumble
SwapHeldItemOnOccupiedSlot On Swap items when selecting an occupied slot
ReturnHeldItemOnDeath On Recover a storable item held at death
Mode ExtractionOrTruck Set extraction-point and truck revive rules
Cost 0 Team currency per revive, 0–100000 in steps of 1000
HealthPercent 25 Health percentage after revive
EnableHeldHeadRevive On Let the host revive the held death head
HeldHeadReviveKey H Choose H, R, Y, or F
EnableCartRevive On Revive when a death head enters a cart
EnableShopRevive On Revive after dying in the shop
DebugLogging On Write detailed diagnostic logs

Mode options:

  • Disabled: disable automatic extraction-point and truck revives.
  • ExtractionMachineActivated: revive after the death head enters an extraction point and the machine is activated.
  • ExtractionOrTruck: revive immediately when the death head enters an extraction point or truck area.

Notes

  • Enable the native Item Unequip Auto Hold game setting, or inventory items will drop after the temporary grab timer expires.
  • Expanded inventory slots are not supported. Keep at least one of the first three vanilla slots free when using a bag-expansion mod.
  • If all three vanilla slots are full, the item held at death is placed near the death head.
  • A revive is not performed or charged when team currency is insufficient.
  • Items are not guaranteed to persist through a team wipe, new run, or save reset.

CHANGELOG

Changelog

0.3.5

  • Fix occupied-slot swaps never being queued because the outgoing item has already entered its native Unequipping state before RPC_CompleteUnequip reaches the host.

0.3.4

  • Add host-side inventory swapping: pressing an occupied vanilla slot while holding another storable item stores the old item in the vacated slot.
  • Add SwapHeldItemOnOccupiedSlot, enabled by default.
  • Cancel a pending swap safely if the item is destroyed, taken by another player, equipped elsewhere, or the target slot is no longer free.

0.3.3

  • Only treat verified impact and tumble RPCs as forced drops; ignore equip, weapon, enemy-grab, and overcharge release traffic.
  • Ignore stale remote grabber fields and record only the latest active holder of a storable item.
  • Warn when the game's native item-unequip auto-hold setting is disabled, which otherwise releases an item after the temporary hold expires.

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.