feat: Questie-X v1.1.4 - plugin architecture, monorepo, rebranding

- Repoint remote to Xurkon/Questie-X
- Add QuestiePluginAPI, QuestieServer, QuestieLearnerComms modules
- Add Questie-X.toc, Questie-X-Classic.toc, Questie-X-TBC.toc, Questie-X-Turtle.toc
- Remove embedded Database/Ascension and Database/Ebonhold (migrated to plugins)
- Add Plugins/ directory with NTFS junctions for Questie-X-AscensionDB and Questie-X-EbonholdDB
- Add LibDeflate, XXH_Lua_Lib, LibDBIcon-1.0, LibDataBroker-1.1
- Update README: Questie-X branding, logo, plugin install guide, plugin API docs
- Update CHANGELOG: v1.1.4 entry documenting all architectural changes
- Update .gitignore: exclude plugin junctions, __pycache__, .agents, debug files
- Various module updates: corrections, map, tracker, tooltips, quest, options
This commit is contained in:
Xurkon
2026-03-14 06:10:17 -05:00
parent 89c3b3173d
commit c4d003e58f
77 changed files with 10883 additions and 8264 deletions
+7 -7
View File
@@ -306,8 +306,8 @@ end
---@return Level requiredMaxLevel
function QuestieLib.GetTbcLevel(questId, playerLevel)
local questLevel, requiredLevel =
QuestieDB.QueryQuestSingle(questId, "questLevel"),
QuestieDB.QueryQuestSingle(questId, "requiredLevel")
QuestieDB.QueryQuestSingle(questId, "questLevel") or 1,
QuestieDB.QueryQuestSingle(questId, "requiredLevel") or 1
if questLevel == -1 then
local level = playerLevel or QuestiePlayer.GetPlayerLevel()
@@ -322,7 +322,7 @@ function QuestieLib.GetTbcLevel(questId, playerLevel)
-- Ascension level scaling (effective level only)
questLevel = Ascension_GetEffectiveQuestLevel(questId, questLevel, playerLevel)
return questLevel, requiredLevel, QuestieDB.QueryQuestSingle(questId, "requiredMaxLevel")
return questLevel, requiredLevel, QuestieDB.QueryQuestSingle(questId, "requiredMaxLevel") or 0
end
@@ -456,18 +456,18 @@ local cachedVersion
---@return number, number, number
function QuestieLib:GetAddonVersionInfo()
if (not cachedVersion) then
cachedVersion = GetAddOnMetadata(addonName, "Version")
cachedVersion = GetAddOnMetadata(addonName, "Version") or "0.0.0"
end
local major, minor, patch = string.match(cachedVersion, "(%d+)%p(%d+)%p(%d+)")
return tonumber(major), tonumber(minor), tonumber(patch)
return tonumber(major) or 0, tonumber(minor) or 0, tonumber(patch) or 0
end
function QuestieLib:GetAddonVersionString()
if (not cachedVersion) then
-- This brings up the ## Version from the TOC
cachedVersion = GetAddOnMetadata(addonName, "Version")
-- This brings up the ## Version from the TOC, falling back to various potential folder names on custom realms
cachedVersion = GetAddOnMetadata(addonName, "Version") or GetAddOnMetadata("Questie-X", "Version") or GetAddOnMetadata("Questie-Ebonhold", "Version") or "Unknown"
end
return "v" .. cachedVersion