diff --git a/README.md b/README.md index 44b19ac..6fa30fe 100644 --- a/README.md +++ b/README.md @@ -211,6 +211,7 @@ If your server uses non-standard map data, enable **Options → Advanced → Use - Fixed `attempt to concatenate nil` error when a quest starter or finisher has no name in the database. - Added support for `killcredit` and `spell` objective types in `MapIconTooltip`. - Tooltip now displays if an NPC drops an item that starts a quest. +- Fixed `attempt to concatenate local 'minLevel' (a nil value)` crash in `MapIconTooltip` when hovering over creatures whose `creatureLevels` entry was an empty table instead of the expected `{minLevel, maxLevel, rank}` tuple. Added early-return guard in `_GetLevelString`. - Fixed tooltip crash when hovering over NPC/object keys (`m_`, `o_`) where `learnedNpc[10]` or `learnedObj[10]` is unexpectedly a string instead of a table. Added type guard before iterating the objective list array. ### Quest Arrow diff --git a/docs/changelog.html b/docs/changelog.html index 4e8fd2f..17f23b3 100644 --- a/docs/changelog.html +++ b/docs/changelog.html @@ -178,6 +178,8 @@

[Unreleased] — Sunstrider Isle Arrow, Tooltip Guard, QuestData String Safety

    +
  • [Fix — MapIconTooltip _GetLevelString Guard] Resolved attempt to concatenate local 'minLevel' (a nil value) crash in MapIconTooltip.lua:494 (_GetLevelString function). The creature name "Uneasy Citizen" existed in creatureLevels as an empty table {} rather than the expected [1]=minLevel, [2]=maxLevel, [3]=rank tuple. Added an early-return guard at the top of _GetLevelString: if creatureLevels[name] is falsy, return the name unmodified. +
  • [Fix — Tooltip NPC/Object Type Guard] Resolved a crash in QuestieTooltips when hovering over NPC or object tooltip keys (m_<id>, o_<id>) where learnedNpc[10] or learnedObj[10] was unexpectedly a string instead of a table.
    • Root Cause: InsertMissingQuestIds in the WotLKDB corrections files writes directly to QuestieDB.questData[questId] but questData is stored as a loadable Lua string on Ascension. When code later tried to index into that string as a table, it threw attempt to index field 'questData' (a string value).