summaryrefslogtreecommitdiff
path: root/mm/2s2h
diff options
context:
space:
mode:
Diffstat (limited to 'mm/2s2h')
-rw-r--r--mm/2s2h/BenGui/BenMenu.cpp3
-rw-r--r--mm/2s2h/Enhancements/Items/HotWaterNeverCools.cpp12
-rw-r--r--mm/2s2h/GameInteractor/GameInteractor_VanillaBehavior.h8
3 files changed, 23 insertions, 0 deletions
diff --git a/mm/2s2h/BenGui/BenMenu.cpp b/mm/2s2h/BenGui/BenMenu.cpp
index 5ec8bf1f8..cff10348b 100644
--- a/mm/2s2h/BenGui/BenMenu.cpp
+++ b/mm/2s2h/BenGui/BenMenu.cpp
@@ -1588,6 +1588,9 @@ void BenMenu::AddEnhancements() {
AddWidget(path, "Color Pictograph", WIDGET_CVAR_CHECKBOX)
.CVar("gEnhancements.Items.ColorPictograph")
.Options(CheckboxOptions().Tooltip("Will take and display pictographs in color."));
+ AddWidget(path, "Hot Water Never Cools", WIDGET_CVAR_CHECKBOX)
+ .CVar("gEnhancements.Items.HotWaterNeverCools")
+ .Options(CheckboxOptions().Tooltip("Prevents Hot Spring Water from cooling down into regular Spring Water."));
// Time Savers
path = { "Enhancements", "Time Savers", SECTION_COLUMN_1 };
diff --git a/mm/2s2h/Enhancements/Items/HotWaterNeverCools.cpp b/mm/2s2h/Enhancements/Items/HotWaterNeverCools.cpp
new file mode 100644
index 000000000..80ea8621d
--- /dev/null
+++ b/mm/2s2h/Enhancements/Items/HotWaterNeverCools.cpp
@@ -0,0 +1,12 @@
+#include <libultraship/bridge/consolevariablebridge.h>
+#include "2s2h/GameInteractor/GameInteractor.h"
+#include "2s2h/ShipInit.hpp"
+
+#define CVAR_NAME "gEnhancements.Items.HotWaterNeverCools"
+#define CVAR CVarGetInteger(CVAR_NAME, 0)
+
+void RegisterHotWaterNeverCools() {
+ COND_VB_SHOULD(VB_COOL_HOT_WATER, CVAR, { *should = false; });
+}
+
+static RegisterShipInitFunc initFunc(RegisterHotWaterNeverCools, { CVAR_NAME });
diff --git a/mm/2s2h/GameInteractor/GameInteractor_VanillaBehavior.h b/mm/2s2h/GameInteractor/GameInteractor_VanillaBehavior.h
index 4a5749e8b..7d22c751f 100644
--- a/mm/2s2h/GameInteractor/GameInteractor_VanillaBehavior.h
+++ b/mm/2s2h/GameInteractor/GameInteractor_VanillaBehavior.h
@@ -352,6 +352,14 @@ typedef enum {
// #### `result`
// ```c
+ // gSaveContext.save.saveInfo.inventory.items[i + SLOT_BOTTLE_1] == ITEM_HOT_SPRING_WATER
+ // ```
+ // #### `args`
+ // - `s16` (bottle slot index, `BOTTLE_FIRST`..`BOTTLE_MAX - 1`)
+ VB_COOL_HOT_WATER,
+
+ // #### `result`
+ // ```c
// (bean->unk_1E4 == 2) || (bean->unk_1E4 == 1)
// ```
// #### `args`