CATAHA_CCCP-DelicateWatchSaver icon

DelicateWatchSaver

Prevents accidental Delicate Watch breakage from health-costing interactions. Configurable.

Last updated 2 weeks ago
Total downloads 674
Total rating 2 
Categories Tweaks AI Generated
Dependency string CATAHA_CCCP-DelicateWatchSaver-1.3.2
Dependants 0 other packages depend on this package

This mod requires the following mods to function

Rune580-Risk_Of_Options-2.8.4 icon
Rune580-Risk_Of_Options

A convenient API for adding BepInEx ConfigEntry's to a option menu

Preferred version: 2.8.4
RiskofThunder-HookGenPatcher-1.2.9 icon
RiskofThunder-HookGenPatcher

MMHOOK generation at runtime.

Preferred version: 1.2.9
bbepis-BepInExPack-5.4.2121 icon
bbepis-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.2121

README

Delicate Watch Saver

Adds a safety confirmation to any interaction that costs health (such as Blood Shrines or Void Cradles). If the health cost would drop you below the 25% threshold and break your Delicate Watches, the interaction is temporarily blocked, and you are prompted to interact again to confirm within a short window.

Features

  • Smart Calculation: Simulates the incoming damage by checking your current Barrier, Shields, and Health to determine if your Delicate Watches will actually break.
  • Double-Tap Confirmation: If your watches are at risk, you must interact with the object a second time within a configurable window (default 3 seconds) to proceed.
  • Debounce Protection: Features a configurable minimum delay (debounce) between the first block and the confirmation click to prevent accidental double-clicks from bypassing the warning.
  • Safer Spaces & Deus Ex Machina: By default, no warning is shown if your Safer Spaces is ready, or if you are actively parrying with the Deus Ex Machina equipment (from the Alloyed Collective DLC).
  • In-Game Configuration: Full support for Risk of Options, allowing you to tweak settings directly in the game options menu.
  • Anti-Steal Protection: Confirmation timers are tied strictly to the player who triggered them, so a low-health teammate cannot accidentally trigger a shrine you just soft-locked.
  • Configurable Networking:
    • Local Mode (Default): Fully client-side. Works on any server. Warning messages are private and visible only to you.
    • Global Mode: Host-side. Protects everyone in the lobby, even players without the mod. Warning messages are broadcast to the global chat with player names.

Configuration

The following settings can be tweaked in-game using Risk of Options, or manually in the BepInEx configuration file:

  • Global Mode: Toggle between Global (Server) and Local (Client) modes.
  • Confirm Window: Time in seconds allowed for the second confirmation click.
  • Debounce Time: Minimum delay in seconds required before the second click is accepted. Prevents accidental instant double-clicks (default is 0.3).
  • Custom Warning Text: Custom chat warning message. Supports {0} for the timer and {1} for the player's name (in Global Mode).
  • Custom Debounce Warning Text: Custom short warning displayed when clicking too fast (debounce).
  • Trust Safer Spaces: Disables warnings if Safer Spaces is currently ready to absorb the hit.
  • Trust Parry: Disables warnings if you are actively parrying (e.g. using Deus Ex Machina equipment).
  • Enable Debug Logs: Prints calculations to the console for troubleshooting.

Known Limitations

  • Warped Echo: The damage-splitting effect of Warped Echo is not calculated due to its highly unpredictable nature (players can easily heal between damage ticks, trigger other items, etc.). Calculations are processed as if Warped Echo is not present to stay on the safer side.
  • Tougher Times: The mod cannot predict whether damage will be blocked by Tougher Times, so confirmation may still be required even at very high block chances.

Technical Note

This mod's code was created with the assistance of an AI (LLM) and subsequently refined. I don't know how to code.

If a client with the mod joins a server running in Global Mode, the server sends an invisible handshake. The client automatically disables their local checks, preventing the "double confirmation" issue and deferring entirely to the server's protection. If the host toggles Global Mode on/off mid-game, a real-time handshake update is sent, and clients instantly adapt their protection modes accordingly.

Planned / Future Updates

  • Power Elixir / Unstable Transmitter: Currently, warnings are still shown if you have Delicate Watches together with a Power Elixir or Unstable Transmitter. While these items would save your watches, they consume themselves in the process, so whether to block the interaction in these scenarios is still under consideration.

Contact & Support

If you encounter any issues or have suggestions, feel free to reach out on Discord: goondrik

На русском, от себя

Рекомендую ли я пытаться делать моды сложнее чем этот с помощью только ИИ, где вы не писали не единой строчки? Нет, это боль. Даже такой простой мод дается с трудом - будьте готовы к тому, что ИИ глуп, об игре мало знает (логично), будет пытаться вас переубедить, что святилище крови снимает от максимального запаса здоровья учитывая барьер, и после каждого изменения нужно запускать игру и проверять КАЖДЫЙ элемент, ибо иногда он переписывает то, что трогать не надо. Так что мне страшно представить, что происходит при больших масштабах работы. Мод по своей сути эксперимент: можно ли программировать без знаний программирования? Ответ: нет, нельзя - дальше генерации простеньких твиков вы не уйдете. Хотите в полноценный моддинг - учитесь программированию. Но если у вас стояла цель в виде чего-то простого, как у меня, - то пробуйте, почему нет. Делал как личный проект, по принципу «хочу что-то добавить - добавил», поэтому, может быть, Global Mode кажется излишеством, как и излишняя конфигурация всего, что только можно, но убирать не буду. Использовал gemini-3.5-flash.