RJs_REPO_Mods-ValuableTracker icon

ValuableTracker

Real-time HUD to track extracted, lost, and in-cart items. Includes in-game settings menu to configure visibility of HUD (by pressing F4).

CHANGELOG

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 ValuableObject Component. 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.

1.0.6

Fixed

  • Fixed a bug with the UI setting toggles.

1.0.5

Changed

1.0.4

Added

  • New Interactive Settings Menu (Press F4 to Open).
  • Added "In Cart" counter to HUD to track items ready for extraction.
  • Added "Reset to Default Settings" button in the menu.
  • Added audio feedback when interacting with menu toggles.
  • Added a contextual hint to fire once per session upon the first time a level's gameplay state becomes fully visible.

Changed

  • Refactored HUD logic into a separate module for better performance.
  • Styled the settings menu to match the R.E.P.O. Amber aesthetic.

Fixed

  • Improved UI collision logic to prevent overlapping with other HUD mods.

v1.0.3

  • I promise this is the final hotfix. Updated README with clearer installation instructions.
  • Transferred all changelogs from README.md to CHANGELOG.md

1.0.2

  • Fixed an oopsie. Uploaded the wrong file and forgot to include .dll!

1.0.1

  • Attempted to fix the oopsie.

1.0.0

  • Initial release.
  • Added HUD tracker for extracted and lost items.
  • Implemented smart positioning to avoid overlapping with Map Value Tracker.