Utility Belt runtime checks
PASS: native menu loaded
PASS: world and player load
PASS: server sends initial belt snapshot
PASS: belt requires Workbench level 3
PASS: updated belt recipe matches exact requested costs
PASS: belt uses the existing native Dvergr Lantern
PASS: no duplicate lantern item is added
PASS: native item exists: OdinsBelt
PASS: item enters player inventory: OdinsBelt
PASS: player is ready for inventory interaction
PASS: E handler opens the hovered inventory belt
PASS: opening hovered belt equips it into its own slot
PASS: E-opened belt menu frees the regular inventory slot
PASS: native item exists: AxeStone
PASS: item enters player inventory: AxeStone
PASS: wrong item cannot enter utility slot
PASS: native item exists: Wishbone
PASS: item enters player inventory: Wishbone
PASS: transfer requested: Wishbone
PASS: server accepts transfer: Wishbone
PASS: belt item frees normal inventory space: Wishbone
PASS: item metadata survives transfer: Wishbone
PASS: native item exists: Demister
PASS: item enters player inventory: Demister
PASS: transfer requested: Demister
PASS: server accepts transfer: Demister
PASS: belt item frees normal inventory space: Demister
PASS: item metadata survives transfer: Demister
PASS: native item exists: BeltStrength
PASS: item enters player inventory: BeltStrength
PASS: transfer requested: BeltStrength
PASS: server accepts transfer: BeltStrength
PASS: belt item frees normal inventory space: BeltStrength
PASS: item metadata survives transfer: BeltStrength
PASS: native item exists: Lantern
PASS: item enters player inventory: Lantern
PASS: transfer requested: Lantern
PASS: server accepts transfer: Lantern
PASS: belt item frees normal inventory space: Lantern
PASS: item metadata survives transfer: Lantern
PASS: native utility effect is active simultaneously: Wishbone
PASS: native utility effect is active simultaneously: Demister
PASS: native utility effect is active simultaneously: BeltStrength
PASS: Megingjord grants native carrying capacity
PASS: native item exists: BeltStrength
PASS: item enters player inventory: BeltStrength
PASS: normal accessory can still be equipped
PASS: Megingjord bonus never doubles when also worn normally
PASS: disabled Wishbone slot removes its effect
PASS: enabling Wishbone slot restores its effect
Native key prefabs: BloodGoldKey, CryptKey, DvergrKey, HildirKey_forestcrypt, HildirKey_mountaincave, HildirKey_plainsfortress
PASS: Intricate Key and all three Hildir keys are registered
PASS: Swamp Key registered
PASS: native item exists: BloodGoldKey
PASS: item enters player inventory: BloodGoldKey
PASS: transfer requested: BloodGoldKey
PASS: server accepts transfer: BloodGoldKey
PASS: belt item frees normal inventory space: BloodGoldKey
PASS: item metadata survives transfer: BloodGoldKey
PASS: normal inventory lookup finds key in belt: BloodGoldKey
PASS: native door accepts belt key: Morkborg_gate
PASS: native door accepts belt key: Morkhalla_jotun_gate
PASS: native item exists: CryptKey
PASS: item enters player inventory: CryptKey
PASS: transfer requested: CryptKey
PASS: server accepts transfer: CryptKey
PASS: belt item frees normal inventory space: CryptKey
PASS: item metadata survives transfer: CryptKey
PASS: normal inventory lookup finds key in belt: CryptKey
PASS: native door accepts belt key: sunken_crypt_gate
PASS: native item exists: DvergrKey
PASS: item enters player inventory: DvergrKey
PASS: transfer requested: DvergrKey
PASS: server accepts transfer: DvergrKey
PASS: belt item frees normal inventory space: DvergrKey
PASS: item metadata survives transfer: DvergrKey
PASS: normal inventory lookup finds key in belt: DvergrKey
PASS: native door accepts belt key: dungeon_queen_door
PASS: native item exists: HildirKey_forestcrypt
PASS: item enters player inventory: HildirKey_forestcrypt
PASS: transfer requested: HildirKey_forestcrypt
PASS: server accepts transfer: HildirKey_forestcrypt
PASS: belt item frees normal inventory space: HildirKey_forestcrypt
PASS: item metadata survives transfer: HildirKey_forestcrypt
PASS: normal inventory lookup finds key in belt: HildirKey_forestcrypt
PASS: native item exists: HildirKey_mountaincave
PASS: item enters player inventory: HildirKey_mountaincave
PASS: transfer requested: HildirKey_mountaincave
PASS: server accepts transfer: HildirKey_mountaincave
PASS: belt item frees normal inventory space: HildirKey_mountaincave
PASS: item metadata survives transfer: HildirKey_mountaincave
PASS: normal inventory lookup finds key in belt: HildirKey_mountaincave
PASS: native item exists: HildirKey_plainsfortress
PASS: item enters player inventory: HildirKey_plainsfortress
PASS: transfer requested: HildirKey_plainsfortress
PASS: server accepts transfer: HildirKey_plainsfortress
PASS: belt item frees normal inventory space: HildirKey_plainsfortress
PASS: item metadata survives transfer: HildirKey_plainsfortress
PASS: normal inventory lookup finds key in belt: HildirKey_plainsfortress
PASS: key lookup enforces native world-level requirement
PASS: key lookup supports native non-world-level check
PASS: Wishbone activation button sends a server request
PASS: server stores inactive Wishbone preference
PASS: inactive Wishbone stops its native effect
PASS: keys remain active while utility is switched off
PASS: Wishbone can be activated again
PASS: server stores active Wishbone preference
PASS: all belt slots round-trip through persistence
PASS: authoritative belt mirrors into saved player data
PASS: exactly four activation buttons, with no activation button for keys
PASS: ON/OFF button deactivates its own utility: Wishbone
PASS: button removes the corresponding native effect: Wishbone
PASS: keyring stays active when utility button is off: Wishbone
PASS: inactive utility preference survives persistence: Wishbone
PASS: ON/OFF button reactivates its own utility: Wishbone
PASS: ON/OFF button deactivates its own utility: Demister
PASS: button removes the corresponding native effect: Demister
PASS: keyring stays active when utility button is off: Demister
PASS: inactive utility preference survives persistence: Demister
PASS: ON/OFF button reactivates its own utility: Demister
PASS: ON/OFF button deactivates its own utility: BeltStrength
PASS: button removes the corresponding native effect: BeltStrength
PASS: keyring stays active when utility button is off: BeltStrength
PASS: inactive utility preference survives persistence: BeltStrength
PASS: ON/OFF button reactivates its own utility: BeltStrength
PASS: ON/OFF button deactivates its own utility: Lantern
PASS: lantern activation button extinguishes its light
PASS: keyring stays active when utility button is off: Lantern
PASS: inactive utility preference survives persistence: Lantern
PASS: ON/OFF button reactivates its own utility: Lantern
PASS: lantern initially on
PASS: lantern toggle requested
PASS: server synchronizes lantern off
PASS: second lantern toggle requested
PASS: server synchronizes lantern on
PASS: visible belt attaches to player
PASS: exactly one portable lantern light
PASS: belt models add no physics collision
PASS: visible keyring accompanies stored keys
UI readiness: cutscene=True, teleport=False, dead=False, intro=False, cinematic=False, timeScale=1
PASS: player remains ready for belt UI
PASS: equipped belt has a visible dedicated inventory button
PASS: dedicated belt button occupies no normal inventory slot
PASS: equipped belt can be reopened by clicking its inventory button
PASS: native-style belt UI opens and stays open
PASS: belt UI closes immediately
PASS: belt window closes in the same call as native inventory
PASS: opening belt keeps the native chest inventory open
PASS: belt UI preserves the original chest reference
PASS: replayed mutation does not execute twice
PASS: another peer cannot mutate this player's belt
PASS: Wishbone withdrawal requested
PASS: server removes withdrawn Wishbone
PASS: withdrawal delivers exactly one Wishbone
PASS: withdrawing Wishbone stops its effect
PASS: consumed key is removed from server keyring
PASS: default death policy preserves equipped belt
PASS: configured death policy clears and drops belt contents
PASS: belt becomes a native loot drop when death retention is disabled
COMPLETE: 157 checks passed
