Fix: Townsfolk not checking npcDataOverrides/objectDataOverrides on custom servers

This commit is contained in:
Xurkon
2026-03-29 05:15:34 -05:00
parent 7503f251dc
commit edfb9a28d7
3 changed files with 55 additions and 11 deletions
+3
View File
@@ -194,6 +194,9 @@
<li><strong>[Fix &mdash; Tracker Objective Nil Check]</strong> Added defensive nil check for <code>objective.Description</code> when rendering quest objectives in <code>QuestieTracker.lua</code>. Custom server quests may have objectives without a Description field, which would previously cause "attempt to index field 'Description' (a nil value)" crash.</li>
<li><strong>[Fix &mdash; InjectUiMapData Registration]</strong> Fixed <code>QuestiePluginAPI:InjectUiMapData()</code> to call <code>ZoneDB:ApplyCustomZones()</code> after injecting custom zone data, ensuring the zone mappings are properly registered with both <code>ZoneDB</code> and <code>QuestieCompat.UiMapData</code>.</li>
<li><strong>[Fix &mdash; Realm Name Matching]</strong> Fixed Ascension realm detection in <code>AscensionUiMapData.lua</code> (Questie-X-AscensionDB) to use <code>string.find()</code> instead of exact string comparison. Realms like "Bronzebeard - Warcraft Reborn" now properly match the "Bronzebeard" pattern, allowing custom zone data to load on all Ascension server variants.</li>
<li><strong>[Fix &mdash; PrintDifficultyColor Nil Text]</strong> Fixed crash in <code>PrintDifficultyColor</code> when quest name is nil. Added defensive nil check in <code>GetColoredQuestName</code> to return early if <code>QuestieDB.QueryQuestSingle</code> returns nil for a quest, preventing "attempt to concatenate local 'text' (a nil value)" errors.</li>
<li><strong>[Fix &mdash; Townsfolk POI Map IDs]</strong> Fixed some Townsfolk POIs not appearing in custom zones. Removed the <code>uiMapId > 1000</code> restriction in <code>ZoneDB:ApplyCustomZones()</code> that was preventing custom zone IDs below 1000 from being registered as self-mappings. This caused some Townsfolk NPCs with zone IDs < 1000 to fail UiMapId lookups and not display on the map.</li>
<li><strong>[Fix &mdash; Townsfolk DataOverrides Lookup]</strong> Fixed Townsfolk initialization to properly check both <code>QuestieDB.npcData</code> and <code>QuestieDB.npcDataOverrides</code> / <code>QuestieDB.objectDataOverrides</code>. On custom servers (Ebonhold, Ascension), the database is loaded via plugins into overrides tables, but <code>Townsfolk.Initialize()</code> was only checking the base database tables which are empty until Stage 3 compilation. This affected Flight Masters, Auctioneers, Innkeepers, Repair Vendors, Class Trainers, and Mailboxes.</li>
</ul>
<hr>