From 7ca177f87a242f1f32d8c780b414e6f03b3768ec Mon Sep 17 00:00:00 2001 From: NiteKat Date: Wed, 18 Feb 2026 23:50:34 -0500 Subject: [PATCH 1/2] Add New Quest State for Mushroom Quest Adds a new state to the Mushroom Quest named QS_ADRIATALKED to track if she spoke the quest text about the demon brain in the player's inventory, allowing the player to hear that quest text once and then access her talk menu instead of her infinitely complaining about the brain. --- Source/quests.h | 1 + Source/towners.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/quests.h b/Source/quests.h index 549584e1d..5dac6cd88 100644 --- a/Source/quests.h +++ b/Source/quests.h @@ -30,6 +30,7 @@ enum { QS_MUSHPICKED, QS_MUSHGIVEN, QS_BRAINSPAWNED, + QS_ADRIATALKED, QS_BRAINGIVEN, }; diff --git a/Source/towners.cpp b/Source/towners.cpp index 3c8a28d3b..36d323899 100644 --- a/Source/towners.cpp +++ b/Source/towners.cpp @@ -367,8 +367,9 @@ void TalkToWitch(Player &player, Towner & /*witch*/) } } if (Quests[Q_MUSHROOM]._qvar1 >= QS_MUSHGIVEN) { - if (HasInventoryItemWithId(player, IDI_BRAIN)) { + if (HasInventoryItemWithId(player, IDI_BRAIN) && Quests[Q_MUSHROOM]._qvar1 != QS_ADRIATALKED) { Quests[Q_MUSHROOM]._qmsg = TEXT_MUSH11; + Quests[Q_MUSHROOM]._qvar1 = QS_ADRIATALKED; NetSendCmdQuest(true, Quests[Q_MUSHROOM]); InitQTextMsg(TEXT_MUSH11); return; From beface32626a96cd0ac474e6e701dd4799da37c0 Mon Sep 17 00:00:00 2001 From: NiteKat Date: Sun, 22 Feb 2026 09:33:44 -0500 Subject: [PATCH 2/2] Track Adrai Brain Chat with qvar2 instead Reverts the new QS_ and swaps to using qvar2 and TEXT_MUSH11 to track if Adria has given the quest text regarding the brain to match what Deviltuion/1.09 does to keep save file compatibility. --- Source/quests.h | 1 - Source/towners.cpp | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Source/quests.h b/Source/quests.h index 5dac6cd88..549584e1d 100644 --- a/Source/quests.h +++ b/Source/quests.h @@ -30,7 +30,6 @@ enum { QS_MUSHPICKED, QS_MUSHGIVEN, QS_BRAINSPAWNED, - QS_ADRIATALKED, QS_BRAINGIVEN, }; diff --git a/Source/towners.cpp b/Source/towners.cpp index 36d323899..cda6c3c02 100644 --- a/Source/towners.cpp +++ b/Source/towners.cpp @@ -367,9 +367,9 @@ void TalkToWitch(Player &player, Towner & /*witch*/) } } if (Quests[Q_MUSHROOM]._qvar1 >= QS_MUSHGIVEN) { - if (HasInventoryItemWithId(player, IDI_BRAIN) && Quests[Q_MUSHROOM]._qvar1 != QS_ADRIATALKED) { + if (HasInventoryItemWithId(player, IDI_BRAIN) && Quests[Q_MUSHROOM]._qvar2 != TEXT_MUSH11) { Quests[Q_MUSHROOM]._qmsg = TEXT_MUSH11; - Quests[Q_MUSHROOM]._qvar1 = QS_ADRIATALKED; + Quests[Q_MUSHROOM]._qvar2 = TEXT_MUSH11; NetSendCmdQuest(true, Quests[Q_MUSHROOM]); InitQTextMsg(TEXT_MUSH11); return;