fix(Sunstrider): correct map pins, override check, nil guards

- zoneDB: remap areaId 3431 → uiMapId 1241 (Sunstrider Isle) so quest 8335
  pins render on correct map instead of Eversong Woods (1941)
- compat/HBD: remove 1241→1941 redirect (Sunstrider pins now handled by zoneDB)
- compiler: QuerySingle override check skips empty tables (next() guard) so
  spawn data overrides don't fall through to nil base DB values
- MapIconTooltip: nil guards for minLevel/maxLevel to prevent crashes
- Map/QuestieMap: remove stale 1241→1941 redirect comment
This commit is contained in:
Xurkon
2026-05-22 19:31:47 -05:00
parent 8ab14db3a3
commit 415b924199
5 changed files with 50 additions and 34 deletions
+9 -3
View File
@@ -1439,10 +1439,16 @@ function QuestieDBCompiler:GetDBHandle(data, pointers, skipMap, keyToRootIndex,
---@param key string
---@return any
handle.QuerySingle = function(id, key)
local override = overrides[id]
if override then
-- Check override first for custom server data
if overrides and overrides[id] then
local kti = keyToRootIndex[key]
if kti and override[kti] ~= nil then return override[kti] end
if kti then
local overrideVal = overrides[id][kti]
-- Only use override if it has actual data (not nil, not empty table)
if overrideVal ~= nil and not (type(overrideVal) == "table" and next(overrideVal) == nil) then
return overrideVal
end
end
end
local ptr = pointers[id]
if not ptr then