From 2ee0934653c44e1f1f424606d20c01d091d843ec Mon Sep 17 00:00:00 2001 From: Kelsi Date: Wed, 11 Mar 2026 00:21:33 -0700 Subject: [PATCH] fix: remove quest POI minimap markers when quest is abandoned When abandonQuest() removes a quest from the log, also remove any gossipPoi markers tagged with that questId (data field) so stale objective markers don't linger on the minimap. --- src/game/game_handler.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 5ba1cf29..afc54e80 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -15318,6 +15318,12 @@ void GameHandler::abandonQuest(uint32_t questId) { if (localIndex >= 0) { questLog_.erase(questLog_.begin() + static_cast(localIndex)); } + + // Remove any quest POI minimap markers for this quest. + gossipPois_.erase( + std::remove_if(gossipPois_.begin(), gossipPois_.end(), + [questId](const GossipPoi& p) { return p.data == questId; }), + gossipPois_.end()); } void GameHandler::handleQuestRequestItems(network::Packet& packet) {