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.