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.
This commit is contained in:
Kelsi 2026-03-11 00:21:33 -07:00
parent ef0e171da5
commit 2ee0934653

View file

@ -15318,6 +15318,12 @@ void GameHandler::abandonQuest(uint32_t questId) {
if (localIndex >= 0) {
questLog_.erase(questLog_.begin() + static_cast<ptrdiff_t>(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) {