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:
@@ -62,10 +62,10 @@ local function _ResolveMapUiMapId(uiMapId, x, y)
|
||||
if uiMapId == 946 then
|
||||
return 1941
|
||||
end
|
||||
-- Map 1241 (Sunstrider Isle): the game engine returns player world
|
||||
-- coordinates in Sunstrider space (mapData[1241] calibrated bounds).
|
||||
-- Pins MUST also convert through mapData[1241] so they share the same
|
||||
-- world space as the player on the minimap. Do NOT redirect to 1941.
|
||||
-- Map 1241 (Sunstrider Isle) must keep its native render target so the
|
||||
-- actual Sunstrider map can show pins too. Visibility is handled separately
|
||||
-- through ResolveZone()/isSameZoneSpace logic, which keeps 1241 and 1941
|
||||
-- linked without forcing the render target to the parent map.
|
||||
return uiMapId
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user