Updated Thunderstore BepInExPack dependency to 5.4.2305 / BepInEx 5.4.23.5.
Rebuilt against local BepInEx 5.4.23.5.
1.0.8
Fixed
Lost item tracker was not tracking items broken during extraction after the recent change in valuable detection logic.
Session Hint Reset: The "Press [Key] to open settings" hint now correctly resets when returning to the Main Menu, ensuring it appears once per session start.
Changed
Mutual Exclusion: The Settings Menu now respects the game's native UI state. If the Pause Menu or Terminal is opened, the Tracker Settings will automatically close to prevent overlapping. NOTE: You will no longer be able to open the Tracker Settings Menu in the game menu. You must be in-game to open the Tracker Settings Menu.
Keybinds are now displayed with user-friendly names (e.g., "Numpad 1" instead of "Keypad1") in both the menu and the helper text.
Technical Explanation
Hierarchy Mismatch Resolution: The game's extraction logic (RoundDirector) tracks the physical Parent object, while the tracker monitors the specific ValuableObjectComponent. A recursive hierarchy check was implemented to verify if the tracked item (or its parent) exists in the dollarHaulList, preventing valid extractions from being flagged as "Lost."
Zombie State Detection: "Broken" items are often disabled in the hierarchy (SetActive(false)) rather than immediately destroyed from memory. The tracker now explicitly checks !activeInHierarchy and value thresholds to correctly categorize disabled items as Lost.
Native Menu Integration Strategy: The settings panel is now registered as a MenuPage to properly align with the game's object lifecycle. However, leveraging the game's native input blocking for a custom overlay proved unreliable. To resolve this, a Mutual Exclusion Protocol was implemented: the code now actively monitors MenuManager.currentMenuState via reflection to enforce a "one menu at a time" rule, automatically preventing the Tracker settings from opening if the Terminal or Pause menu is active.
1.0.7
Fixed
Duck and Elsa will no longer be detected as valuable items.
Any Physics Grabbable object will no longer be immediately treated as valuable items. Instead, we look for objects that are actually valuables.
The Items In Cart counter will no longer turn to green when the number of items is fulfilled. This was an unintended design that was overridden by a standardized method, which caused it to also turn green.
Technical Explanation
The item detection logic has been shifted from reflecting the raw itemsInCartCount integer to iterating through the itemsInCart list. By performing a GetComponent<ValuableObject>() check on each entry—matching the logic used by the cart's own haul display and the extraction point—the HUD now correctly filters out any PhysGrabObject that does not possess a monetary value defined by the ValuableDirector.
UI Scoping: The HUD display logic was updated to use Rich Text Tags specifically for the main item counter. This prevents color inheritance, ensuring that green "fulfillment" highlighting is scoped only to the total item count while the "In Cart" display remains the default standardized color.