v1.0.0.3: Fix marker cache refresh after quest turn-in; invalidate temp cache so old markers don't persist
Made-with: Cursor
This commit is contained in:
@@ -159,10 +159,16 @@ public unsafe class IntegrationsController : IDisposable
|
||||
RequestSilentRefresh(); // objectives added (e.g. new quest)
|
||||
if (_lastQuestSequenceSnapshot.Length > 0 && sequenceSnapshot != _lastQuestSequenceSnapshot)
|
||||
RequestSilentRefresh(); // quest step advanced (multi-step objective)
|
||||
_lastQuestCount = questCount;
|
||||
_lastTempMarkerCount = tempCount;
|
||||
_lastQuestSequenceSnapshot = sequenceSnapshot;
|
||||
} else {
|
||||
// During suppression: only update temp/sequence baseline so we don't false-trigger
|
||||
// when suppression ends (e.g. Duty List click repopulates markers). Keep _lastQuestCount
|
||||
// so quest turn-in during suppression still triggers refresh when suppression ends.
|
||||
_lastTempMarkerCount = tempCount;
|
||||
_lastQuestSequenceSnapshot = sequenceSnapshot;
|
||||
}
|
||||
_lastQuestCount = questCount;
|
||||
_lastTempMarkerCount = tempCount;
|
||||
_lastQuestSequenceSnapshot = sequenceSnapshot;
|
||||
}
|
||||
|
||||
/// <summary>Build a string of (QuestId, Sequence) for each active quest so we can detect step advances.</summary>
|
||||
@@ -204,6 +210,9 @@ public unsafe class IntegrationsController : IDisposable
|
||||
var currentMapId = agent->CurrentMapId;
|
||||
if (currentMapId == 0) return;
|
||||
|
||||
// Clear temp marker cache so old markers (e.g. from turned-in quest) don't persist
|
||||
MapRenderer.MapRenderer.InvalidateTempMarkerCache(currentMapId);
|
||||
|
||||
SilentRefreshInProgress = true;
|
||||
agent->OpenMapByMapId(currentMapId, 0, true);
|
||||
agent->ResetMapMarkers();
|
||||
|
||||
Reference in New Issue
Block a user