diff --git a/include/game/game_handler.hpp b/include/game/game_handler.hpp index 1e0fcef6..ba729be9 100644 --- a/include/game/game_handler.hpp +++ b/include/game/game_handler.hpp @@ -1099,16 +1099,7 @@ public: void completeQuest(); // Send CMSG_QUESTGIVER_COMPLETE_QUEST void closeQuestRequestItems(); - bool isQuestOfferRewardOpen() { - if (questOfferRewardOpen_) return true; - if (questDetailsOpenTime != std::chrono::steady_clock::time_point{}) { - if (std::chrono::steady_clock::now() >= questDetailsOpenTime) { - questOfferRewardOpen_ = true; - questDetailsOpenTime = std::chrono::steady_clock::time_point{}; - } - } - return questOfferRewardOpen_; - } + bool isQuestOfferRewardOpen() const { return questOfferRewardOpen_; } const QuestOfferRewardData& getQuestOfferReward() const { return currentQuestOfferReward_; } void chooseQuestReward(uint32_t rewardIndex); // Send CMSG_QUESTGIVER_CHOOSE_REWARD void closeQuestOfferReward(); diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 0bf990eb..14abdb94 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -15770,19 +15770,17 @@ void GameHandler::handleQuestOfferReward(network::Packet& packet) { pendingTurnInRewardRequest_ = false; } currentQuestOfferReward_ = data; + questOfferRewardOpen_ = true; questRequestItemsOpen_ = false; gossipWindowOpen = false; questDetailsOpen = false; + questDetailsOpenTime = std::chrono::steady_clock::time_point{}; // Query item names for reward items for (const auto& item : data.choiceRewards) queryItemInfo(item.itemId, 0); for (const auto& item : data.fixedRewards) queryItemInfo(item.itemId, 0); - - // Delay opening window by 100ms to allow item queries to complete (avoids "Item X" placeholders) - questOfferRewardOpen_ = false; - questDetailsOpenTime = std::chrono::steady_clock::now() + std::chrono::milliseconds(100); } void GameHandler::completeQuest() {