Bump version to 9.9.0 and add Custom Ebonhold Quests
This commit is contained in:
@@ -1,5 +1,27 @@
|
||||
# Changelog
|
||||
|
||||
## v9.9.0
|
||||
|
||||
### New Ebonhold Quests
|
||||
|
||||
#### 🗺️ Azeroth
|
||||
|
||||
| ID | Quest | Zone | Type |
|
||||
|----|-------|------|------|
|
||||
| 50128 | Southern Jungle | Stranglethorn Vale | Complete 6 quests |
|
||||
|
||||
#### 🌿 Kalimdor
|
||||
|
||||
| ID | Quest | Zone | Type |
|
||||
|----|-------|------|------|
|
||||
| 50006 | Sandstone Giants | Tanaris | Kill Sandstone Giants |
|
||||
| 50130 | Felwood Restoration | Felwood | Complete 6 quests |
|
||||
|
||||
### Fixes
|
||||
|
||||
- **[Quest]** Fixed `QuestieDB` initialization error caused by missing table depth for custom creature objectives in `EbonholdQuestDB`.
|
||||
- **[System]** Adjusted `Questie:Error` output logic so that critical addon-breaking errors always print regardless of the `Enable Debug-PRINT` setting.
|
||||
|
||||
## v9.8.9
|
||||
|
||||
### New Ebonhold Quests
|
||||
|
||||
@@ -1422,6 +1422,126 @@ EbonholdDB.questData = EbonholdDB.questData or {
|
||||
[30] = 30, -- Kill count
|
||||
},
|
||||
|
||||
-- Quest 50019: Marshborn Menace
|
||||
-- Kill 30 elementals in Dustwallow Marsh
|
||||
[50019] = {
|
||||
[1] = "Marshborn Menace", -- Quest name
|
||||
[2] = { nil, { 600600 } }, -- startedBy: {{npcIds}, {objectIds}, {itemIds}}
|
||||
[4] = 35, -- Min level
|
||||
[5] = 40, -- Quest level
|
||||
[17] = 15, -- Zone (Dustwallow Marsh)
|
||||
[8] = {
|
||||
"This is a custom objective. Upon completion, you will automatically receive the assigned reward. If you die, the quest will be removed from your quest log. This quest is automatically rewarded upon completion.",
|
||||
"Kill 30 Elementals in Dustwallow Marsh"
|
||||
},
|
||||
[10] = {
|
||||
nil, -- [1] creatureObjective (not used)
|
||||
nil, -- [2] objectObjective (not used)
|
||||
nil, -- [3] itemObjective (not used)
|
||||
nil, -- [4] reputationObjective (not used)
|
||||
{ -- [5] killCreditObjective
|
||||
{
|
||||
-- 5 elemental NPCs in Dustwallow Marsh
|
||||
{ 4382, 4385, 4386, 4387, 14231 },
|
||||
4382, -- RootId: Withervine Creeper (representative elemental)
|
||||
"Elemental slain"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
[30] = 30, -- Kill count
|
||||
},
|
||||
|
||||
|
||||
-- Quest 50052: Black Dragonflight Remnants
|
||||
-- Kill 30 dragonkin in Badlands
|
||||
[50052] = {
|
||||
[1] = "Black Dragonflight Remnants", -- Quest name
|
||||
[2] = { nil, { 600600 } }, -- startedBy: {{npcIds}, {objectIds}, {itemIds}}
|
||||
[4] = 35, -- Min level
|
||||
[5] = 40, -- Quest level
|
||||
[17] = 3, -- Zone (Badlands)
|
||||
[8] = {
|
||||
"This is a custom objective. Upon completion, you will automatically receive the assigned reward. If you die, the quest will be removed from your quest log. This quest is automatically rewarded upon completion.",
|
||||
"Kill 30 Dragonkin in Badlands"
|
||||
},
|
||||
[10] = {
|
||||
nil, -- [1] creatureObjective (not used)
|
||||
nil, -- [2] objectObjective (not used)
|
||||
nil, -- [3] itemObjective (not used)
|
||||
nil, -- [4] reputationObjective (not used)
|
||||
{ -- [5] killCreditObjective
|
||||
{
|
||||
-- 4 dragonkin NPCs in Badlands
|
||||
{ 2757, 2725, 2759, 2726 },
|
||||
2725, -- RootId: Scalding Whelp
|
||||
"Dragonkin slain"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
[30] = 30, -- Kill count
|
||||
},
|
||||
|
||||
-- Quest 50068: Savage Badlands
|
||||
-- Kill 75 beasts in Badlands
|
||||
[50068] = {
|
||||
[1] = "Savage Badlands", -- Quest name
|
||||
[2] = { nil, { 600600 } }, -- startedBy: {{npcIds}, {objectIds}, {itemIds}}
|
||||
[4] = 35, -- Min level
|
||||
[5] = 40, -- Quest level
|
||||
[17] = 3, -- Zone (Badlands)
|
||||
[8] = {
|
||||
"This is a custom objective. Upon completion, you will automatically receive the assigned reward. If you die, the quest will be removed from your quest log. This quest is automatically rewarded upon completion.",
|
||||
"Kill 75 Beasts in Badlands"
|
||||
},
|
||||
[10] = {
|
||||
nil, -- [1] creatureObjective (not used)
|
||||
nil, -- [2] objectObjective (not used)
|
||||
nil, -- [3] itemObjective (not used)
|
||||
nil, -- [4] reputationObjective (not used)
|
||||
{ -- [5] killCreditObjective
|
||||
{
|
||||
-- 15 beast NPCs in Badlands
|
||||
{ 2850, 2931, 2753, 2831, 2731, 2729, 2727, 2830, 2732, 2728, 2734, 2730, 2829, 6013, 9297 },
|
||||
2727, -- RootId: Crag Coyote
|
||||
"Beast slain"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
[30] = 75, -- Kill count
|
||||
},
|
||||
|
||||
-- Quest 50051: Marshscale Menace
|
||||
-- Kill 30 dragonkin in Dustwallow Marsh
|
||||
[50051] = {
|
||||
[1] = "Marshscale Menace", -- Quest name
|
||||
[2] = { nil, { 600600 } }, -- startedBy: {{npcIds}, {objectIds}, {itemIds}}
|
||||
[4] = 35, -- Min level
|
||||
[5] = 40, -- Quest level
|
||||
[17] = 15, -- Zone (Dustwallow Marsh)
|
||||
[8] = {
|
||||
"This is a custom objective. Upon completion, you will automatically receive the assigned reward. If you die, the quest will be removed from your quest log. This quest is automatically rewarded upon completion.",
|
||||
"Kill 30 Dragonkin in Dustwallow Marsh"
|
||||
},
|
||||
[10] = {
|
||||
nil, -- [1] creatureObjective (not used)
|
||||
nil, -- [2] objectObjective (not used)
|
||||
nil, -- [3] itemObjective (not used)
|
||||
nil, -- [4] reputationObjective (not used)
|
||||
{ -- [5] killCreditObjective
|
||||
{
|
||||
-- 11 hostile dragonkin NPCs in Dustwallow Marsh
|
||||
{ 4324, 10321, 4334, 4328, 4323, 23789, 4339, 4331, 4329, 23969, 23687 },
|
||||
4324, -- RootId: Searing Whelp
|
||||
"Dragonkin slain"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
[30] = 30, -- Kill count
|
||||
},
|
||||
|
||||
-- Quest 50178: Badlands Trophy
|
||||
-- Kill 1 rare in Badlands
|
||||
@@ -1453,6 +1573,54 @@ EbonholdDB.questData = EbonholdDB.questData or {
|
||||
[30] = 1, -- Kill count
|
||||
},
|
||||
|
||||
-- Quest 50128: Southern Jungle
|
||||
-- Complete 6 quests in Stranglethorn Vale (Southern)
|
||||
[50128] = {
|
||||
[1] = "Southern Jungle", -- Quest name
|
||||
[2] = { nil, { 600600 } }, -- startedBy: {{npcIds}, {objectIds}, {itemIds}}
|
||||
[4] = 45, -- Quest level
|
||||
[5] = 25, -- Min level
|
||||
[17] = 33, -- Zone (Stranglethorn Vale)
|
||||
[8] = {
|
||||
"This is a custom objective. Upon completion, you will automatically receive the assigned reward. If you die, the quest will be removed from your quest log. This quest is automatically rewarded upon completion.",
|
||||
"Complete 6 quests in Stranglethorn Vale (Southern)"
|
||||
},
|
||||
[9] = { "Complete 6 quests in Stranglethorn Vale (Southern)", nil },
|
||||
},
|
||||
|
||||
-- Quest 50130: Felwood Restoration
|
||||
-- Complete 6 quests in Felwood
|
||||
[50130] = {
|
||||
[1] = "Felwood Restoration", -- Quest name
|
||||
[2] = { nil, { 600600 } }, -- startedBy: {{npcIds}, {objectIds}, {itemIds}}
|
||||
[4] = 55, -- Quest level
|
||||
[5] = 48, -- Min level
|
||||
[17] = 361, -- Zone (Felwood)
|
||||
[8] = {
|
||||
"This is a custom objective. Upon completion, you will automatically receive the assigned reward.\n\nIf you die, the quest will be removed from your quest log. This quest is automatically rewarded upon completion.\n\nThis quest cannot be completed inside starting area.",
|
||||
"Complete 6 quests in Felwood"
|
||||
},
|
||||
[9] = { "Complete 6 quests in Felwood", nil },
|
||||
},
|
||||
|
||||
-- Quest 50006: Sandstone Giants
|
||||
-- Kill Giants in Tanaris
|
||||
[50006] = {
|
||||
[1] = "Sandstone Giants", -- Quest name
|
||||
[2] = { nil, { 600600 } }, -- startedBy: {{npcIds}, {objectIds}, {itemIds}}
|
||||
[4] = 45, -- Quest level
|
||||
[5] = 40, -- Min level
|
||||
[17] = 440, -- Zone (Tanaris)
|
||||
[8] = {
|
||||
"Kill Giants in Tanaris.",
|
||||
"Kill Sandstone Giants"
|
||||
},
|
||||
[10] = {
|
||||
{
|
||||
{ 5469, "Dune Smasher slain" }
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
-- Backward compatibility
|
||||
|
||||
+12
-6
@@ -209,7 +209,9 @@ QuestieInit.Stages[1] = function() -- run as a coroutine
|
||||
|
||||
-- Check if the DB needs to be recompiled
|
||||
if (not dbIsCompiled) or (QuestieLib:GetAddonVersionString() ~= dbCompiledOnVersion) or (l10n:GetUILocale() ~= dbCompiledLang) or (Questie.db.global.dbCompiledExpansion ~= WOW_PROJECT_ID) then
|
||||
print("\124cFFAAEEFF" .. l10n("Questie DB has updated!") .. "\124r\124cFFFF6F22 " .. l10n("Data is being processed, this may take a few moments and cause some lag..."))
|
||||
print("\124cFFAAEEFF" ..
|
||||
l10n("Questie DB has updated!") ..
|
||||
"\124r\124cFFFF6F22 " .. l10n("Data is being processed, this may take a few moments and cause some lag..."))
|
||||
loadFullDatabase()
|
||||
QuestieDBCompiler:Compile()
|
||||
dbCompiled = true
|
||||
@@ -330,15 +332,18 @@ QuestieInit.Stages[3] = function() -- run as a coroutine
|
||||
if Questie.db.profile.showAQWarEffortQuests and ((not Questie.db.profile.aqWarningPrintDate) or (Questie.db.profile.aqWarningPrintDate < dateToday)) then
|
||||
Questie.db.profile.aqWarningPrintDate = dateToday
|
||||
C_Timer.After(2, function()
|
||||
print("|cffff0000-----------------------------|r")
|
||||
Questie:Print("|cffff0000The AQ War Effort quests are shown for you. If your server is done you can hide those quests in the General settings of Questie!|r");
|
||||
print("|cffff0000-----------------------------|r")
|
||||
Questie:Print("|cffff0000-----------------------------|r")
|
||||
Questie:Print(
|
||||
"|cffff0000The AQ War Effort quests are shown for you. If your server is done you can hide those quests in the General settings of Questie!|r");
|
||||
Questie:Print("|cffff0000-----------------------------|r")
|
||||
end)
|
||||
end
|
||||
|
||||
if Questie.IsTBC and (not Questie.db.global.isIsleOfQuelDanasPhaseReminderDisabled) then
|
||||
C_Timer.After(2, function()
|
||||
Questie:Print(l10n("Current active phase of Isle of Quel'Danas is '%s'. Check the General settings to change the phase or disable this message.", IsleOfQuelDanas.localizedPhaseNames[Questie.db.global.isleOfQuelDanasPhase]))
|
||||
Questie:Print(l10n(
|
||||
"Current active phase of Isle of Quel'Danas is '%s'. Check the General settings to change the phase or disable this message.",
|
||||
IsleOfQuelDanas.localizedPhaseNames[Questie.db.global.isleOfQuelDanasPhase]))
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -401,7 +406,8 @@ end
|
||||
|
||||
-- called by the PLAYER_LOGIN event handler
|
||||
function QuestieInit:Init()
|
||||
ThreadLib.ThreadError(_QuestieInit.StartStageCoroutine, Questie.db.profile.initDelay or 0, l10n("Error during initialization!"))
|
||||
ThreadLib.ThreadError(_QuestieInit.StartStageCoroutine, Questie.db.profile.initDelay or 0,
|
||||
l10n("Error during initialization!"))
|
||||
|
||||
if Questie.db.profile.trackerEnabled then
|
||||
-- This needs to be called ASAP otherwise tracked Achievements in the Blizzard WatchFrame shows upon login
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
## Notes-esES: Ayundante de misión
|
||||
## Notes-ptBR: Ajudante de missão
|
||||
## Notes-frFR: Assistant de quête
|
||||
## Version: 9.5.1
|
||||
## Version: 9.9.0
|
||||
## RequiredDeps:
|
||||
## OptionalDeps: Ace3, CallbackHandler-1.0, HereBeDragons, LibDataBroker-1.1, LibDBIcon-1.0, LibSharedMedia-3.0, LibStub, LibUIDropDownMenu
|
||||
## SavedVariables: QuestieConfig
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
## Notes-esES: Ayundante de misión
|
||||
## Notes-ptBR: Ajudante de missão
|
||||
## Notes-frFR: Assistant de quête
|
||||
## Version: 9.5.1
|
||||
## Version: 9.9.0
|
||||
## RequiredDeps:
|
||||
## OptionalDeps: Ace3, CallbackHandler-1.0, HereBeDragons, LibDataBroker-1.1, LibDBIcon-1.0, LibSharedMedia-3.0, LibStub, LibUIDropDownMenu
|
||||
## SavedVariables: QuestieConfig
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
## Notes-esES: Ayundante de misión
|
||||
## Notes-ptBR: Ajudante de missão
|
||||
## Notes-frFR: Assistant de quête
|
||||
## Version: 9.8.9
|
||||
## Version: 9.9.0
|
||||
## RequiredDeps:
|
||||
## OptionalDeps: Ace3, CallbackHandler-1.0, HereBeDragons, LibDataBroker-1.1, LibDBIcon-1.0, LibSharedMedia-3.0, LibStub, LibUIDropDownMenu
|
||||
## SavedVariables: QuestieConfig
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
## Notes-esES: Ayundante de misión
|
||||
## Notes-ptBR: Ajudante de missão
|
||||
## Notes-frFR: Assistant de quête
|
||||
## Version: 9.5.1
|
||||
## Version: 9.9.0
|
||||
## RequiredDeps:
|
||||
## OptionalDeps: Ace3, CallbackHandler-1.0, HereBeDragons, LibDataBroker-1.1, LibDBIcon-1.0, LibSharedMedia-3.0, LibStub, LibUIDropDownMenu
|
||||
## SavedVariables: QuestieConfig
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
## Notes-esES: Ayundante de misión
|
||||
## Notes-ptBR: Ajudante de missão
|
||||
## Notes-frFR: Assistant de quête
|
||||
## Version: 9.5.1
|
||||
## Version: 9.9.0
|
||||
## RequiredDeps:
|
||||
## OptionalDeps: Ace3, CallbackHandler-1.0, HereBeDragons, LibDataBroker-1.1, LibDBIcon-1.0, LibSharedMedia-3.0, LibStub, LibUIDropDownMenu
|
||||
## SavedVariables: QuestieConfig
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
## Notes-esES: Ayundante de misión
|
||||
## Notes-ptBR: Ajudante de missão
|
||||
## Notes-frFR: Assistant de quête
|
||||
## Version: 9.5.1
|
||||
## Version: 9.9.0
|
||||
## RequiredDeps:
|
||||
## OptionalDeps: Ace3, CallbackHandler-1.0, HereBeDragons, LibDataBroker-1.1, LibDBIcon-1.0, LibSharedMedia-3.0, LibStub, LibUIDropDownMenu
|
||||
## SavedVariables: QuestieConfig
|
||||
|
||||
+67
-50
@@ -112,14 +112,23 @@ function Questie:GetClassColor(class)
|
||||
end
|
||||
end
|
||||
|
||||
local orig_Print = Questie.Print
|
||||
|
||||
function Questie:Print(...)
|
||||
Questie:Debug(Questie.DEBUG_INFO, ...)
|
||||
end
|
||||
|
||||
function Questie:Error(...)
|
||||
Questie:Print("|cffff0000[ERROR]|r", ...)
|
||||
if orig_Print then
|
||||
orig_Print(Questie, "|cffff0000[ERROR]|r", ...)
|
||||
else
|
||||
print("|cffff0000[ERROR]|r", ...)
|
||||
end
|
||||
end
|
||||
|
||||
function Questie:Warning(...)
|
||||
if Questie.db.profile.debugEnabled then -- prints regardless of "debugPrint" toggle
|
||||
Questie:Print("|cffffff00[WARNING]|r", ...)
|
||||
end
|
||||
-- prints regardless of "debugPrint" toggle used to be here, now respects debugPrint via Debug
|
||||
Questie:Debug(Questie.DEBUG_INFO, "|cffffff00[WARNING]|r", ...)
|
||||
end
|
||||
|
||||
-- Global debug levels
|
||||
@@ -140,54 +149,58 @@ function Questie:Debug(msgDebugLevel, ...)
|
||||
end
|
||||
|
||||
local prefix = ""
|
||||
if (band(msgDebugLevel, Questie.DEBUG_CRITICAL) ~= 0) then prefix = prefix.."|cff00f2e6[CRITICAL]|r" end
|
||||
if (band(msgDebugLevel, Questie.DEBUG_ELEVATED) ~= 0) then prefix = prefix.."|cffebf441[ELEVATED]|r" end
|
||||
if (band(msgDebugLevel, Questie.DEBUG_INFO) ~= 0) then prefix = prefix.."|cff00bc32[INFO]|r" end
|
||||
if (band(msgDebugLevel, Questie.DEBUG_DEVELOP) ~= 0) then prefix = prefix.."|cff7c83ff[DEVELOP]|r" end
|
||||
if (band(msgDebugLevel, Questie.DEBUG_SPAM) ~= 0) then prefix = prefix.."|cffff8484[SPAM]|r" end
|
||||
if (band(msgDebugLevel, Questie.DEBUG_CRITICAL) ~= 0) then prefix = prefix .. "|cff00f2e6[CRITICAL]|r " end
|
||||
if (band(msgDebugLevel, Questie.DEBUG_ELEVATED) ~= 0) then prefix = prefix .. "|cffebf441[ELEVATED]|r " end
|
||||
if (band(msgDebugLevel, Questie.DEBUG_INFO) ~= 0) then prefix = prefix .. "|cff00bc32[INFO]|r " end
|
||||
if (band(msgDebugLevel, Questie.DEBUG_DEVELOP) ~= 0) then prefix = prefix .. "|cff7c83ff[DEVELOP]|r " end
|
||||
if (band(msgDebugLevel, Questie.DEBUG_SPAM) ~= 0) then prefix = prefix .. "|cffff8484[SPAM]|r " end
|
||||
|
||||
Questie:Print(prefix, ...)
|
||||
if orig_Print then
|
||||
orig_Print(Questie, prefix, ...)
|
||||
else
|
||||
print(prefix, ...)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Questie.icons = {
|
||||
["slay"] = QuestieLib.AddonPath.."Icons\\slay.blp",
|
||||
["loot"] = QuestieLib.AddonPath.."Icons\\loot.blp",
|
||||
["event"] = QuestieLib.AddonPath.."Icons\\event.blp",
|
||||
["object"] = QuestieLib.AddonPath.."Icons\\object.blp",
|
||||
["talk"] = QuestieLib.AddonPath.."Icons\\chatbubblegossipicon.blp",
|
||||
["available"] = QuestieLib.AddonPath.."Icons\\available.blp",
|
||||
["available_gray"] = QuestieLib.AddonPath.."Icons\\available_gray.blp",
|
||||
["complete"] = QuestieLib.AddonPath.."Icons\\complete.blp",
|
||||
["incomplete"] = QuestieLib.AddonPath.."Icons\\incomplete.blp",
|
||||
["interact"] = QuestieLib.AddonPath.."Icons\\interact.blp",
|
||||
["glow"] = QuestieLib.AddonPath.."Icons\\glow.blp",
|
||||
["repeatable"] = QuestieLib.AddonPath.."Icons\\repeatable.blp",
|
||||
["repeatable_complete"] = QuestieLib.AddonPath.."Icons\\repeatable_complete.blp",
|
||||
["eventquest"] = QuestieLib.AddonPath.."Icons\\eventquest.blp",
|
||||
["eventquest_complete"] = QuestieLib.AddonPath.."Icons\\eventquest_complete.blp",
|
||||
["pvpquest"] = QuestieLib.AddonPath.."Icons\\pvpquest.blp",
|
||||
["pvpquest_complete"] = QuestieLib.AddonPath.."Icons\\pvpquest_complete.blp",
|
||||
["node"] = QuestieLib.AddonPath.."Icons\\node.tga",
|
||||
["slay"] = QuestieLib.AddonPath .. "Icons\\slay.blp",
|
||||
["loot"] = QuestieLib.AddonPath .. "Icons\\loot.blp",
|
||||
["event"] = QuestieLib.AddonPath .. "Icons\\event.blp",
|
||||
["object"] = QuestieLib.AddonPath .. "Icons\\object.blp",
|
||||
["talk"] = QuestieLib.AddonPath .. "Icons\\chatbubblegossipicon.blp",
|
||||
["available"] = QuestieLib.AddonPath .. "Icons\\available.blp",
|
||||
["available_gray"] = QuestieLib.AddonPath .. "Icons\\available_gray.blp",
|
||||
["complete"] = QuestieLib.AddonPath .. "Icons\\complete.blp",
|
||||
["incomplete"] = QuestieLib.AddonPath .. "Icons\\incomplete.blp",
|
||||
["interact"] = QuestieLib.AddonPath .. "Icons\\interact.blp",
|
||||
["glow"] = QuestieLib.AddonPath .. "Icons\\glow.blp",
|
||||
["repeatable"] = QuestieLib.AddonPath .. "Icons\\repeatable.blp",
|
||||
["repeatable_complete"] = QuestieLib.AddonPath .. "Icons\\repeatable_complete.blp",
|
||||
["eventquest"] = QuestieLib.AddonPath .. "Icons\\eventquest.blp",
|
||||
["eventquest_complete"] = QuestieLib.AddonPath .. "Icons\\eventquest_complete.blp",
|
||||
["pvpquest"] = QuestieLib.AddonPath .. "Icons\\pvpquest.blp",
|
||||
["pvpquest_complete"] = QuestieLib.AddonPath .. "Icons\\pvpquest_complete.blp",
|
||||
["node"] = QuestieLib.AddonPath .. "Icons\\node.tga",
|
||||
["player"] = "Interface\\WorldMap\\WorldMapPartyIcon",
|
||||
["fav"] = QuestieLib.AddonPath.."Icons\\fav.tga",
|
||||
["faction_alliance"] = QuestieLib.AddonPath.."Icons\\icon_alliance.tga",
|
||||
["faction_horde"] = QuestieLib.AddonPath.."Icons\\icon_horde.tga",
|
||||
["loot_mono"] = QuestieLib.AddonPath.."Icons\\loot_mono.tga",
|
||||
["node_cut"] = QuestieLib.AddonPath.."Icons\\node_cut.tga",
|
||||
["object_mono"] = QuestieLib.AddonPath.."Icons\\object_mono.tga",
|
||||
["route"] = QuestieLib.AddonPath.."Icons\\route.tga",
|
||||
["slay_mono"] = QuestieLib.AddonPath.."Icons\\slay_mono.tga",
|
||||
["sod_rune"] = QuestieLib.AddonPath.."Icons\\sod_rune.tga",
|
||||
["startend"] = QuestieLib.AddonPath.."Icons\\startend.tga",
|
||||
["startendstart"] = QuestieLib.AddonPath.."Icons\\startendstart.tga",
|
||||
["tracker_clean"] = QuestieLib.AddonPath.."Icons\\tracker_clean.tga",
|
||||
["tracker_close"] = QuestieLib.AddonPath.."Icons\\tracker_close.tga",
|
||||
["tracker_database"] = QuestieLib.AddonPath.."Icons\\tracker_database.tga",
|
||||
["tracker_giver"] = QuestieLib.AddonPath.."Icons\\tracker_giver.tga",
|
||||
["tracker_quests"] = QuestieLib.AddonPath.."Icons\\tracker_quests.tga",
|
||||
["tracker_search"] = QuestieLib.AddonPath.."Icons\\tracker_search.tga",
|
||||
["tracker_settings"] = QuestieLib.AddonPath.."Icons\\tracker_settings.tga",
|
||||
["fav"] = QuestieLib.AddonPath .. "Icons\\fav.tga",
|
||||
["faction_alliance"] = QuestieLib.AddonPath .. "Icons\\icon_alliance.tga",
|
||||
["faction_horde"] = QuestieLib.AddonPath .. "Icons\\icon_horde.tga",
|
||||
["loot_mono"] = QuestieLib.AddonPath .. "Icons\\loot_mono.tga",
|
||||
["node_cut"] = QuestieLib.AddonPath .. "Icons\\node_cut.tga",
|
||||
["object_mono"] = QuestieLib.AddonPath .. "Icons\\object_mono.tga",
|
||||
["route"] = QuestieLib.AddonPath .. "Icons\\route.tga",
|
||||
["slay_mono"] = QuestieLib.AddonPath .. "Icons\\slay_mono.tga",
|
||||
["sod_rune"] = QuestieLib.AddonPath .. "Icons\\sod_rune.tga",
|
||||
["startend"] = QuestieLib.AddonPath .. "Icons\\startend.tga",
|
||||
["startendstart"] = QuestieLib.AddonPath .. "Icons\\startendstart.tga",
|
||||
["tracker_clean"] = QuestieLib.AddonPath .. "Icons\\tracker_clean.tga",
|
||||
["tracker_close"] = QuestieLib.AddonPath .. "Icons\\tracker_close.tga",
|
||||
["tracker_database"] = QuestieLib.AddonPath .. "Icons\\tracker_database.tga",
|
||||
["tracker_giver"] = QuestieLib.AddonPath .. "Icons\\tracker_giver.tga",
|
||||
["tracker_quests"] = QuestieLib.AddonPath .. "Icons\\tracker_quests.tga",
|
||||
["tracker_search"] = QuestieLib.AddonPath .. "Icons\\tracker_search.tga",
|
||||
["tracker_settings"] = QuestieLib.AddonPath .. "Icons\\tracker_settings.tga",
|
||||
}
|
||||
|
||||
Questie.usedIcons = {}
|
||||
@@ -219,16 +232,20 @@ function Questie:SetIcons()
|
||||
Questie.usedIcons[Questie.ICON_TYPE_OBJECT] = Questie.db.profile.ICON_OBJECT or Questie.icons["object"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_TALK] = Questie.db.profile.ICON_TALK or Questie.icons["talk"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_AVAILABLE] = Questie.db.profile.ICON_AVAILABLE or Questie.icons["available"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_AVAILABLE_GRAY] = Questie.db.profile.ICON_AVAILABLE_GRAY or Questie.icons["available_gray"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_AVAILABLE_GRAY] = Questie.db.profile.ICON_AVAILABLE_GRAY or
|
||||
Questie.icons["available_gray"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_COMPLETE] = Questie.db.profile.ICON_COMPLETE or Questie.icons["complete"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_INCOMPLETE] = Questie.db.profile.ICON_INCOMPLETE or Questie.icons["incomplete"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_GLOW] = Questie.db.profile.ICON_GLOW or Questie.icons["glow"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_REPEATABLE] = Questie.db.profile.ICON_REPEATABLE or Questie.icons["repeatable"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_REPEATABLE_COMPLETE] = Questie.db.profile.ICON_REPEATABLE_COMPLETE or Questie.icons["complete"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_REPEATABLE_COMPLETE] = Questie.db.profile.ICON_REPEATABLE_COMPLETE or
|
||||
Questie.icons["complete"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_EVENTQUEST] = Questie.db.profile.ICON_EVENTQUEST or Questie.icons["eventquest"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_EVENTQUEST_COMPLETE] = Questie.db.profile.ICON_EVENTQUEST_COMPLETE or Questie.icons["complete"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_EVENTQUEST_COMPLETE] = Questie.db.profile.ICON_EVENTQUEST_COMPLETE or
|
||||
Questie.icons["complete"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_PVPQUEST] = Questie.db.profile.ICON_PVPQUEST or Questie.icons["pvpquest"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_PVPQUEST_COMPLETE] = Questie.db.profile.ICON_PVPQUEST_COMPLETE or Questie.icons["complete"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_PVPQUEST_COMPLETE] = Questie.db.profile.ICON_PVPQUEST_COMPLETE or
|
||||
Questie.icons["complete"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_INTERACT] = Questie.db.profile.ICON_TYPE_INTERACT or Questie.icons["interact"]
|
||||
Questie.usedIcons[Questie.ICON_TYPE_SODRUNE] = Questie.icons["sod_rune"]
|
||||
end
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Questie (3.3.5a)
|
||||
|
||||

|
||||

|
||||

|
||||
[](https://xurkon.github.io/PE-Questie/)
|
||||
[](https://www.patreon.com/Xurkon)
|
||||
@@ -31,24 +31,29 @@
|
||||
## 🔧 Fixes & Compatibility
|
||||
|
||||
### 🛡️ Nameplates
|
||||
|
||||
- Explicitly skips **Ascension Nameplates** to avoid conflicts, while maintaining compatibility with generic nameplate addons.
|
||||
|
||||
### 📊 Quest Tracker
|
||||
|
||||
- **Ascension API**: Fully compatible with custom quest APIs; no crashes on auto-turn-in quests.
|
||||
- **Header Persistence**: Resolved issues where quest headers would disappear from the tracker.
|
||||
- **Dynamic Updates**: Instant refresh when accepting, completing, or abandoning quests.
|
||||
- **Combat Safety**: Protected with `pcall` to prevent UI lockups during intense combat updates.
|
||||
|
||||
### 💬 Tooltips
|
||||
|
||||
- Fixed all legacy Lua errors.
|
||||
- **New Feature**: Displays if an NPC drops an item that starts a quest directly in the tooltip.
|
||||
|
||||
### 🗺️ Maps (Minimap & World Map)
|
||||
|
||||
- **Minimap**: Fixed zoom-related Lua errors.
|
||||
- **World Map**: Full support for Ascension's `WorldMapFrame` (minimized mode), **Mapster**, and **Magnify-WotLK**.
|
||||
- **Icon Cleanup**: Resolved "ghost icon" bug where completed quests remained visible on the map.
|
||||
|
||||
### 📦 Custom IDs
|
||||
|
||||
- Native support for large integer IDs common on custom private servers.
|
||||
|
||||
---
|
||||
@@ -56,9 +61,11 @@
|
||||
## ✨ Features
|
||||
|
||||
### ⚔️ Ascension Scaling
|
||||
|
||||
- Quests automatically scale to character level, perfectly matching the Ascension Scaling system.
|
||||
|
||||
### 📍 Visual Map Objectives
|
||||
|
||||
Notes for quest starters, turn-ins, and complex objectives are drawn directly on your maps.
|
||||
|
||||
<div align="center">
|
||||
@@ -68,6 +75,7 @@ Notes for quest starters, turn-ins, and complex objectives are drawn directly on
|
||||
</div>
|
||||
|
||||
### 📜 Advanced Quest Tracker
|
||||
|
||||
- **Smart Tracking**: Automatically tracks quests upon acceptance.
|
||||
- **Expanded Capacity**: Displays up to 20 quests (original limit: 5).
|
||||
- **Interactive**: Left-click to open the log; Right-click for focus modes or TomTom arrow integration.
|
||||
@@ -77,6 +85,7 @@ Notes for quest starters, turn-ins, and complex objectives are drawn directly on
|
||||
</div>
|
||||
|
||||
### 🗺️ My Journey & Quests by Zone
|
||||
|
||||
- **Journey Log**: Record every major step of your adventure.
|
||||
- **Completionist View**: Lists all available and completed quests per zone to ensure nothing is missed.
|
||||
|
||||
@@ -86,6 +95,7 @@ Notes for quest starters, turn-ins, and complex objectives are drawn directly on
|
||||
</div>
|
||||
|
||||
### 🔍 Database Search & Config
|
||||
|
||||
- **Global Search**: Find any NPC, Object, or Quest in the massive Questie database.
|
||||
- **Deep Customization**: Adjust everything from icon scale to tracking logic.
|
||||
|
||||
@@ -97,9 +107,11 @@ Notes for quest starters, turn-ins, and complex objectives are drawn directly on
|
||||
---
|
||||
|
||||
## 👥 Credits
|
||||
|
||||
- **Questie Team** - Original addon developers.
|
||||
- **Xurkon** - Private Expansion fork and maintenance.
|
||||
- **Project Ascension & Ebonhold Communities** - Testing and data feedback.
|
||||
|
||||
## 📄 License
|
||||
|
||||
MIT License - See [LICENSE](LICENSE) for details.
|
||||
|
||||
@@ -167,6 +167,17 @@
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<h2 id="v990">v9.9.0</h2>
|
||||
<h3>New Ebonhold Quests</h3>
|
||||
<ul>
|
||||
<li><strong>Azeroth</strong>: Southern Jungle (Complete 6 quests in Stranglethorn Vale).</li>
|
||||
<li><strong>Kalimdor</strong>: Sandstone Giants (Kill Sandstone Giants in Tanaris). Felwood Restoration (Complete 6 quests in Felwood).</li>
|
||||
</ul>
|
||||
<h3>Fixes</h3>
|
||||
<ul>
|
||||
<li><strong>[Quest]</strong> Fixed QuestieDB initialization error caused by missing table depth for custom creature objectives in EbonholdQuestDB.</li>
|
||||
<li><strong>[System]</strong> Adjusted Questie:Error output logic so that critical addon-breaking errors always print regardless of the Enable Debug-PRINT setting.</li>
|
||||
</ul>
|
||||
<h2 id="v975">v9.7.5</h2>
|
||||
<h3>Fixes</h3>
|
||||
<ul>
|
||||
|
||||
+1
-1
@@ -170,7 +170,7 @@
|
||||
<p class="subtitle">Developer documentation for Project Ascension & Project Ebonhold compatibility layers and
|
||||
core engine refinements.</p>
|
||||
<div style="display: flex; justify-content: center; gap: 10px;">
|
||||
<code>Version: v9.8.6</code>
|
||||
<code>Version: v9.9.0</code>
|
||||
<code>Branch: feature/ebonhold-compat</code>
|
||||
<a href="changelog.html"
|
||||
style="background: var(--bg-tertiary); color: var(--accent-green); text-decoration: none; padding: 2px 6px; border-radius: 4px; font-size: 0.9em; border: 1px solid var(--border-color);">View
|
||||
|
||||
Reference in New Issue
Block a user