fix: Sunstrider pin regression, ghost pins, and learner zone normalization
- Fix: isSunstrider block in _MergeSpawnEvidence now checks IsAscensionProtected before writing learner data to npcDataOverrides. Without this guard, each Mana Wyrm kill overwrote AscensionDB's z1241=5 data with learner z3431 coords. - Fix: Clustering disabled for zone 1241 (Sunstrider Isle) in _DrawObjectiveIcons so all 5 AscensionDB spawn pins display individually instead of collapsing to 2. - Fix: Ghost pin loop in AvailableQuests.lua -- 'while frames[i]' was iterating a string-keyed table with a numeric index (never iterated). Changed to pairs(). - Fix: NormalizeSpawnZoneKey now uses ZoneDB.areaIdToUiMapId for all zones so learner evidence is stored under map IDs (e.g. 1241) not area IDs (e.g. 3431), matching AscensionDB's key space. Applied in LearnNPC and _StoreGuidSpawnEvidence. - Fix: isSunstrider detection in _MergeSpawnEvidence updated from hardcoded zoneId==3431 check to IsSunstriderNativeZone() since zone IDs are now normalized to map IDs at storage time.
This commit is contained in:
@@ -187,10 +187,9 @@ _CalculateAvailableQuests = function()
|
||||
|
||||
if QuestieMap.questIdFrames[questId] then
|
||||
-- We already drew this quest so we might need to update the icon (config changed/level up)
|
||||
-- Note: GetFramesForQuest returns string-keyed table, so iterate with pairs not numeric index.
|
||||
local frames = QuestieMap:GetFramesForQuest(questId)
|
||||
local i = 1
|
||||
while frames[i] do
|
||||
local frame = frames[i]
|
||||
for _, frame in pairs(frames) do
|
||||
if frame and frame.data and frame.data.QuestData then
|
||||
local newIcon = _GetQuestIcon(frame.data.QuestData)
|
||||
|
||||
@@ -198,7 +197,6 @@ _CalculateAvailableQuests = function()
|
||||
frame:UpdateTexture(Questie.usedIcons[newIcon])
|
||||
end
|
||||
end
|
||||
i = i + 1
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user