From c3cf320b015005f38a0907b86b934619f3d10ebd Mon Sep 17 00:00:00 2001 From: User Date: Fri, 4 Sep 2026 17:55:10 -0500 Subject: [PATCH] Various fixes and added professions/class trainers --- .gitignore | 1 + Data/pfDB/meta-turtle.lua | 566 +++++++++++++++++++++++++++++++- Map/Map.lua | 78 ++++- Map/Minimap.lua | 8 + Map/MinimapSettings.lua | 33 +- Map/Nodes.lua | 72 ++++ Map/Prepared.lua | 1 + Map/Tooltips.lua | 8 + Map/Visuals.lua | 45 ++- Quest/QuestLog.lua | 100 +++++- Questie-Octo.toc | 2 +- QuestieOcto.lua | 4 +- README.md | 9 +- Tracker/TrackerDriver.lua | 6 +- UI/Icons/Ringed-Classes.tga | Bin 0 -> 151283 bytes UI/Icons/Ringed-Professions.tga | Bin 0 -> 173933 bytes UI/Options.lua | 55 ++-- UI/QuestResearch.lua | 6 +- 18 files changed, 938 insertions(+), 56 deletions(-) create mode 100644 .gitignore create mode 100644 UI/Icons/Ringed-Classes.tga create mode 100644 UI/Icons/Ringed-Professions.tga diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dba5df0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/References \ No newline at end of file diff --git a/Data/pfDB/meta-turtle.lua b/Data/pfDB/meta-turtle.lua index 0613eb1..ab091b9 100644 --- a/Data/pfDB/meta-turtle.lua +++ b/Data/pfDB/meta-turtle.lua @@ -2809,4 +2809,568 @@ pfDB["meta-turtle"] = { [92221] = "H", [93115] = "AH", }, -} + ["trainers"] = { + ["warrior"] = { + [3593] = "A", + [914] = "A", + [4594] = "H", + [4087] = "A", + [2131] = "H", + [4595] = "H", + [92198] = "H", + [5114] = "A", + [8141] = "A", + [4593] = "H", + [2119] = "H", + [7315] = "A", + [3153] = "H", + [1229] = "A", + [3353] = "H", + [80104] = "H", + [3059] = "H", + [5480] = "A", + [1901] = "A", + [5113] = "A", + [3043] = "H", + [3063] = "H", + [3598] = "A", + [80247] = "AH", + [911] = "A", + [913] = "A", + [985] = "H", + [62428] = "AH", + [3042] = "H", + [4089] = "A", + [3354] = "H", + [3169] = "H", + [912] = "A", + [3041] = "H", + [80217] = "AH", + [5479] = "A", + [3408] = "H", + }, + ["mage"] = { + [4568] = "H", + [3047] = "H", + [5144] = "A", + [2128] = "H", + [5885] = "H", + [7312] = "A", + [62863] = "AH", + [5498] = "A", + [5883] = "H", + [80964] = "H", + [80246] = "AH", + [60628] = "A", + [2124] = "H", + [5497] = "A", + [5145] = "A", + [4566] = "H", + [198] = "A", + [80402] = "A", + [1228] = "A", + [80218] = "AH", + [5884] = "H", + [60516] = "A", + [944] = "A", + [5146] = "A", + [5882] = "H", + [4567] = "H", + [3049] = "H", + [5880] = "H", + [80857] = "H", + [3048] = "H", + [7311] = "H", + [80108] = "H", + [328] = "A", + }, + ["rogue"] = { + [4215] = "A", + [4582] = "H", + [2122] = "H", + [4214] = "A", + [5167] = "A", + [3594] = "A", + [3327] = "H", + [4584] = "H", + [1234] = "A", + [5165] = "A", + [1411] = "AH", + [3599] = "A", + [915] = "A", + [3170] = "H", + [917] = "A", + [80223] = "AH", + [80106] = "H", + [13283] = "A", + [80248] = "AH", + [2130] = "H", + [4583] = "H", + [3328] = "H", + [5166] = "A", + [918] = "A", + [3155] = "H", + [3401] = "H", + [916] = "A", + [4163] = "A", + }, + ["druid"] = { + [4218] = "A", + [4219] = "A", + [3060] = "H", + [3064] = "H", + [9465] = "A", + [8142] = "H", + [3602] = "A", + [3036] = "H", + [12042] = "AH", + [5506] = "A", + [3597] = "A", + [4217] = "A", + [63084] = "A", + [3034] = "H", + [5504] = "A", + [63075] = "H", + [5505] = "A", + [3033] = "H", + }, + ["hunter"] = { + [61624] = "A", + [8308] = "A", + [3596] = "A", + [80855] = "A", + [5115] = "A", + [61625] = "A", + [80245] = "AH", + [3963] = "A", + [10930] = "A", + [81050] = "H", + [3601] = "A", + [61626] = "AH", + [4205] = "A", + [5515] = "A", + [1231] = "A", + [3039] = "H", + [4138] = "A", + [3154] = "H", + [4146] = "A", + [5501] = "A", + [3038] = "H", + [1404] = "H", + [3061] = "H", + [60484] = "H", + [61640] = "A", + [80105] = "H", + [60483] = "H", + [60485] = "H", + [987] = "H", + [61627] = "A", + [5116] = "A", + [3352] = "H", + [80458] = "A", + [80219] = "AH", + [5117] = "A", + [3407] = "H", + [5517] = "A", + [895] = "A", + [3171] = "H", + [80856] = "AH", + [5516] = "A", + [3040] = "H", + [60487] = "H", + [60486] = "H", + [80903] = "AH", + [61628] = "A", + [3406] = "H", + [3065] = "H", + }, + ["shaman"] = { + [3032] = "H", + [62801] = "H", + [986] = "H", + [3344] = "H", + [3062] = "H", + [3066] = "H", + [62803] = "H", + [13417] = "H", + [3157] = "H", + [3403] = "H", + [3030] = "H", + [3173] = "H", + [3031] = "H", + [62805] = "H", + }, + ["priest"] = { + [4606] = "H", + [63098] = "H", + [4090] = "A", + [5142] = "A", + [837] = "A", + [5484] = "A", + [5489] = "A", + [2129] = "H", + [2123] = "H", + [3046] = "H", + [4607] = "H", + [4608] = "H", + [80243] = "AH", + [11406] = "A", + [376] = "A", + [4091] = "A", + [3707] = "A", + [4092] = "A", + [3600] = "A", + [3045] = "H", + [80401] = "A", + [1226] = "A", + [62976] = "H", + [3044] = "H", + [11397] = "A", + [63096] = "H", + [63097] = "H", + [63099] = "H", + [11401] = "A", + [375] = "A", + [377] = "A", + [80221] = "AH", + [3595] = "A", + [3706] = "A", + [5141] = "A", + [5143] = "A", + [6018] = "A", + [6014] = "A", + }, + ["warlock"] = { + [460] = "A", + [5173] = "A", + [80107] = "H", + [5172] = "A", + [61632] = "H", + [461] = "A", + [3172] = "H", + [459] = "A", + [63197] = "A", + [63161] = "A", + [5612] = "A", + [3324] = "H", + [61633] = "H", + [4563] = "H", + [988] = "H", + [4564] = "H", + [906] = "A", + [2126] = "H", + [61636] = "H", + [3325] = "H", + [3156] = "H", + [4565] = "H", + [2127] = "H", + [5496] = "A", + [5171] = "A", + [63196] = "A", + [5495] = "A", + [3326] = "H", + [61635] = "H", + [61634] = "H", + }, + ["paladin"] = { + [80244] = "A", + [5491] = "A", + [1232] = "A", + [5148] = "A", + [5149] = "A", + [926] = "A", + [8140] = "A", + [925] = "A", + [927] = "A", + [5492] = "A", + [80220] = "A", + [928] = "A", + [5147] = "A", + }, + }, + ["professions"] = { + ["riding"] = { + [80452] = "AH", + [62183] = "A", + [7954] = "A", + [4753] = "A", + [3690] = "H", + [4752] = "H", + [4732] = "A", + [4772] = "A", + [4773] = "H", + [7953] = "H", + }, + ["weapon"] = { + [11869] = "H", + [11870] = "H", + [13084] = "A", + [11865] = "A", + [80130] = "H", + [2704] = "H", + [11866] = "A", + [11868] = "H", + [80228] = "AH", + [11867] = "A", + }, + ["cooking"] = { + [4210] = "A", + [3026] = "H", + [91950] = "AH", + [1355] = "A", + [3087] = "A", + [5159] = "A", + [4552] = "H", + [1699] = "A", + [91754] = "H", + [80101] = "AH", + [5482] = "A", + [61883] = "AH", + [3399] = "H", + }, + ["skinning"] = { + [6291] = "A", + [6292] = "A", + [7087] = "H", + [8144] = "H", + [12030] = "H", + [1292] = "A", + [7089] = "H", + [7088] = "H", + [6295] = "A", + }, + ["firstaid"] = { + [3373] = "H", + [6094] = "A", + [4211] = "A", + [3181] = "A", + [91743] = "H", + [4591] = "H", + [5150] = "A", + [5759] = "H", + [2798] = "H", + [5943] = "H", + [2327] = "A", + [5939] = "H", + }, + ["alchemy"] = { + [4160] = "A", + [1215] = "A", + [4900] = "A", + [3009] = "H", + [2132] = "H", + [3603] = "A", + [4611] = "H", + [4609] = "H", + [11044] = "H", + [1470] = "A", + [2837] = "AH", + [11047] = "H", + [3964] = "A", + [7948] = "H", + [5499] = "A", + [3184] = "H", + [11041] = "A", + [1386] = "H", + [2391] = "H", + [11042] = "A", + [5177] = "A", + [61505] = "AH", + [91202] = "H", + [5500] = "A", + [61835] = "A", + [1246] = "A", + [11046] = "H", + [3347] = "H", + }, + ["blacksmithing"] = { + [4605] = "H", + [957] = "H", + [6299] = "A", + [3174] = "H", + [10277] = "A", + [3557] = "H", + [514] = "A", + [10278] = "H", + [1241] = "A", + [10266] = "H", + [3136] = "A", + [4596] = "H", + [2998] = "H", + [10276] = "A", + [62143] = "A", + [1383] = "H", + [5511] = "H", + [3478] = "H", + [4258] = "A", + [7802] = "AH", + [3355] = "H", + [63056] = "H", + + }, + ["engineering"] = { + [1702] = "A", + [3290] = "A", + [4586] = "H", + [11028] = "A", + [11037] = "A", + [11025] = "H", + [11026] = "A", + [2857] = "H", + [61738] = "AH", + [3494] = "AH", + [10993] = "AH", + [1676] = "A", + [11031] = "H", + [5518] = "A", + [3412] = "H", + [11029] = "A", + [11017] = "H", + [5174] = "A", + }, + ["enchanting"] = { + [3606] = "A", + [11068] = "A", + [11066] = "H", + [11070] = "A", + [11067] = "H", + [11071] = "H", + [11065] = "A", + [5695] = "H", + [62290] = "A", + [5157] = "A", + [3345] = "H", + [4616] = "H", + [1317] = "A", + [4213] = "A", + [3011] = "H", + [7949] = "A", + [11074] = "H", + [11072] = "A", + }, + ["fishing"] = { + [3607] = "A", + [7946] = "A", + [5690] = "H", + [2367] = "A", + [62859] = "AH", + [91206] = "A", + [60447] = "AH", + [8137] = "AH", + [4307] = "A", + [60928] = "A", + [12961] = "H", + [5748] = "A", + [3497] = "AH", + [4305] = "A", + [5941] = "A", + [1651] = "A", + [12032] = "H", + [2834] = "AH", + [2626] = "AH", + [1700] = "A", + [3178] = "Wetlands", + [61838] = "AH", + [61274] = "A", + [5938] = "H", + [1683] = "H", + [2842] = "AH", + [3572] = "AH", + }, + ["herbalism"] = { + [2856] = "H", + [2390] = "H", + [4898] = "A", + [3965] = "A", + [61842] = "A", + [2114] = "H", + [908] = "AH", + [62974] = "H", + [1218] = "A", + [15477] = "H", + [1473] = "A", + [3604] = "A", + [12025] = "AH", + [3185] = "H", + [62286] = "A", + [61739] = "AH", + }, + ["leatherworking"] = { + [3967] = "A", + [1632] = "A", + [4588] = "H", + [1385] = "H", + [3069] = "H", + [223] = "H", + [11083] = "A", + [11081] = "A", + [5127] = "A", + [1466] = "A", + [11098] = "H", + [5811] = "H", + [3365] = "H", + [3703] = "AH", + [3008] = "H", + [3605] = "A", + [11096] = "A", + [61840] = "AH", + [3549] = "H", + [5564] = "A", + [11084] = "H", + [4212] = "A", + [3007] = "H", + [5784] = "AH", + }, + ["mining"] = { + [3001] = "H", + [61882] = "AH", + [1681] = "A", + [4598] = "H", + [1701] = "A", + [5513] = "A", + [4254] = "A", + [6297] = "A", + [3357] = "H", + [3137] = "A", + [5392] = "A", + }, + ["tailoring"] = { + [3523] = "H", + [1103] = "A", + [4193] = "A", + [3484] = "H", + [1300] = "A", + [2855] = "H", + [11050] = "A", + [1703] = "A", + [11051] = "H", + [11048] = "H", + [2627] = "AH", + [5153] = "A", + [3363] = "H", + [3704] = "H", + [4159] = "A", + [11049] = "H", + [5567] = "A", + [3004] = "H", + [1346] = "A", + [4576] = "H", + }, + ["jewelcrafting"] = { + [61918] = "H", + [61906] = "A", + [61921] = "H", + [61910] = "A", + [61925] = "H", + [61916] = "AH", + [61917] = "AH", + [61919] = "H", + [61907] = "A", + [61923] = "H", + [61927] = "H", + [61911] = "A", + [61924] = "H", + [61912] = "A", + }, + }, +} \ No newline at end of file diff --git a/Map/Map.lua b/Map/Map.lua index 127376c..8fb6e35 100644 --- a/Map/Map.lua +++ b/Map/Map.lua @@ -10,6 +10,7 @@ local function IsPermanentRole(role) or role=="mailbox" or role=="battlemaster" or role=="innkeeper" or role=="meetingStone" or role=="repair" or role=="spiritHealer" or role=="stableMaster" or role=="vendor" or role=="rareMob" + or role=="classTrainer" or role=="professionTrainer" end local function IsSpecialQuestNode(node) @@ -44,6 +45,8 @@ local function IsRoleEnabled(role) if role=="spiritHealer" then return settings:Get("showMapSpiritHealer") and true or false end if role=="stableMaster" then return settings:Get("showMapStableMaster") and true or false end if role=="vendor" then return settings:Get("showMapVendor") and true or false end + if role=="classTrainer" then return settings:Get("showMapClassTrainer") and true or false end + if role=="professionTrainer" then return settings:Get("showMapProfessionTrainer") and true or false end if role=="rareMob" then return settings:Get("showMapRareMonsters") and true or false end if not settings:Get("enableMapIcons") then return false end @@ -106,6 +109,43 @@ local TEX_SPIRITHEALER=ICON_ROOT.."spirithealer" local TEX_STABLEMASTER=ICON_ROOT.."stablemaster" local TEX_VENDOR=ICON_ROOT.."vendor" local TEX_RARE=ICON_ROOT.."rares" +-- Class/profession trainers share two ringed icon atlases (from the Trainer +-- addon, see References/Trainer). Each name maps to a {left,right,top,bottom} +-- sub-rectangle inside its atlas, so trainer pins set both the atlas texture and +-- these texture coordinates instead of a dedicated single-icon file. +local TEX_CLASSTRAINER=ICON_ROOT.."Ringed-Classes" +local TEX_PROFESSIONTRAINER=ICON_ROOT.."Ringed-Professions" + +-- {left,right,top,bottom} atlas coordinates, copied from References/Trainer +-- (TrainerLegacy.lua) and keyed by the lower-case class/profession names used by +-- the meta-turtle ["trainers"]/["professions"] tables. +local CLASS_TRAINER_COORDS={ + ["warrior"]={0,0.25,0,0.25}, ["mage"]={0.25,0.5,0,0.25}, ["rogue"]={0.495,0.745,0,0.25}, + ["druid"]={0.75,1,0,0.25}, ["hunter"]={0,0.25,0.25,0.5}, ["shaman"]={0.25,0.5,0.25,0.5}, + ["priest"]={0.5,0.75,0.25,0.5}, ["warlock"]={0.75,1,0.25,0.5}, ["paladin"]={0,0.25,0.5,0.75}, +} +local PROFESSION_TRAINER_COORDS={ + ["riding"]={0,0.25,0,0.25}, ["cooking"]={0.25,0.5,0,0.25}, ["skinning"]={0.5,0.75,0,0.25}, + ["firstaid"]={0.75,1,0,0.25}, ["alchemy"]={0,0.25,0.25,0.5}, ["blacksmithing"]={0.25,0.5,0.25,0.5}, + ["engineering"]={0.5,0.75,0.25,0.5}, ["enchanting"]={0.75,1,0.25,0.5}, ["fishing"]={0,0.25,0.5,0.75}, + ["herbalism"]={0.25,0.5,0.5,0.75}, ["leatherworking"]={0.5,0.75,0.5,0.75}, ["mining"]={0.75,1,0.5,0.75}, + ["tailoring"]={0,0.25,0.75,1}, ["weapon"]={0.25,0.5,0.75,1}, ["jewelcrafting"]={0.5,0.75,0.75,1}, +} + +-- Returns left,right,top,bottom texture coordinates for a node. Trainer pins +-- carve their icon out of an atlas; every other node uses the full texture. +-- Recycled pins therefore always get their coordinates reset to the full 0..1 +-- rectangle when they are reused for a non-trainer role. +local function TexCoordForNode(node) + if node and node.role=="classTrainer" then + local c=CLASS_TRAINER_COORDS[node.trainerKey or ""] + if c then return c[1],c[2],c[3],c[4] end + elseif node and node.role=="professionTrainer" then + local c=PROFESSION_TRAINER_COORDS[node.trainerKey or ""] + if c then return c[1],c[2],c[3],c[4] end + end + return 0,1,0,1 +end -- Turtle deliberately keeps full quest XP through 25 levels above the quest -- (Tortoise src/game/QuestDef.cpp). The server file is XP logic rather than a @@ -141,6 +181,8 @@ local function TextureForNode(node) if node.role=="spiritHealer" then return TEX_SPIRITHEALER end if node.role=="stableMaster" then return TEX_STABLEMASTER end if node.role=="vendor" then return TEX_VENDOR end + if node.role=="classTrainer" then return TEX_CLASSTRAINER end + if node.role=="professionTrainer" then return TEX_PROFESSIONTRAINER end if node.role=="rareMob" then return TEX_RARE end if node.role=="itemStart" then -- Presentation priority: PvP > Repeatable > Event > Turtle low-level gray > Normal. @@ -223,9 +265,13 @@ local function ApplyVisualRole(pin,node) pin.repeatable=node.repeatable and true or false pin.sourceKind=node.sourceKind pin.sourceID=node.sourceID + pin.trainerKey=node.trainerKey pin.displayName=node.sourceName or pin.displayName or "Quest source" pin.iconScaleKey=node.iconScaleKey or ScaleKeyForRole(node.role) pin.texture:SetTexture(TextureForNode(node)) + -- Trainer pins crop their icon from a shared atlas; reset to the full + -- rectangle for every other (recycled) role. + if pin.texture.SetTexCoord then pin.texture:SetTexCoord(TexCoordForNode(node)) end pin.texture:SetDrawLayer("OVERLAY",DrawSublevelForRole(node.role)) -- Miscellaneous/rare markers stay below quest pins so an overlapping -- quest objective, starter or turn-in remains visible and clickable. @@ -245,6 +291,10 @@ function M:GetTextureForNode(node) return TextureForNode(node) end +function M:GetTexCoordForNode(node) + return TexCoordForNode(node) +end + function M:IsGrayAvailableQuest(node) return IsGrayAvailableQuest(node) end @@ -276,7 +326,8 @@ function M:GetPinScale(pin) if pin and (pin.role=="auctioneer" or pin.role=="banker" or pin.role=="flightMaster" or pin.role=="mailbox" or pin.role=="battlemaster" or pin.role=="innkeeper" or pin.role=="meetingStone" or pin.role=="repair" or pin.role=="spiritHealer" or - pin.role=="stableMaster" or pin.role=="vendor") then + pin.role=="stableMaster" or pin.role=="vendor" or + pin.role=="classTrainer" or pin.role=="professionTrainer") then return 0.9 end return 1 @@ -398,8 +449,25 @@ local function AttachWorldMapPinInput(pin) if not pin then return end pin:EnableMouse(true) pin:RegisterForClicks("LeftButtonUp") - pin:SetScript("OnEnter",function() QuestieOcto.Tooltips:Show(this) end) - pin:SetScript("OnLeave",function() QuestieOcto.Tooltips:Hide(this) end) + pin:SetScript("OnEnter",function() + QuestieOcto.Tooltips:Show(this) + -- Hovering an objective pin drives the same dim/glow highlight as hovering + -- the quest header in the tracker: this quest's objectives stay bright and + -- glow while everything else fades. Only objective roles trigger it so + -- pickup/turn-in markers keep the normal hover behavior. + if QuestieOcto.MapHighlight and this.questID + and QuestieOcto.Visuals and QuestieOcto.Visuals:IsObjectiveRole(this.role) then + this.highlightArmed=true + QuestieOcto.MapHighlight:Set(this.questID) + end + end) + pin:SetScript("OnLeave",function() + QuestieOcto.Tooltips:Hide(this) + if this.highlightArmed and QuestieOcto.MapHighlight then + this.highlightArmed=nil + QuestieOcto.MapHighlight:Clear() + end + end) -- Full Node objective dots re-roll their quest color on click; otherwise a -- continent-map marker still behaves as a zone-entry target. pin:SetScript("OnClick",function() @@ -674,6 +742,9 @@ function M:RenderItemStartArea(area,generation,continentZoneMapID) pin.displayName=area.displayName pin.clusterCount=area.n pin.texture:SetTexture(TextureForNode({role="itemStart",questID=area.questID,event=pin.event,pvp=pin.pvp,repeatable=pin.repeatable})) + -- Item-start-area pins use the full texture (defensive reset in case this + -- frame was ever recycled from an atlas-cropped trainer pin). + if pin.texture.SetTexCoord then pin.texture:SetTexCoord(0,1,0,1) end pin.texture:SetDrawLayer("OVERLAY",5) if QuestieOcto.Visuals then QuestieOcto.Visuals:ApplyPin(pin,{role="itemStart",questID=area.questID,pvp=pin.pvp,repeatable=pin.repeatable},false,1) @@ -1217,6 +1288,7 @@ function M:OnSettingChanged(key,value) key=="showMapFlightMaster" or key=="showMapMailbox" or key=="showMapBattlemaster" or key=="showMapInnkeeper" or key=="showMapMeetingStone" or key=="showMapRepair" or key=="showMapSpiritHealer" or key=="showMapStableMaster" or key=="showMapVendor" or + key=="showMapClassTrainer" or key=="showMapProfessionTrainer" or key=="showMapRareMonsters" then self:RequestSync(true) end diff --git a/Map/Minimap.lua b/Map/Minimap.lua index 2dce4fe..dcadecc 100644 --- a/Map/Minimap.lua +++ b/Map/Minimap.lua @@ -33,6 +33,7 @@ local function IsPermanentRole(role) or role=="mailbox" or role=="battlemaster" or role=="innkeeper" or role=="meetingStone" or role=="repair" or role=="spiritHealer" or role=="stableMaster" or role=="vendor" or role=="rareMob" + or role=="classTrainer" or role=="professionTrainer" end local function IsRoleEnabled(role) @@ -48,6 +49,8 @@ local function IsRoleEnabled(role) if role=="spiritHealer" then return settings:Get("showMinimapSpiritHealer") and true or false end if role=="stableMaster" then return settings:Get("showMinimapStableMaster") and true or false end if role=="vendor" then return settings:Get("showMinimapVendor") and true or false end + if role=="classTrainer" then return settings:Get("showMinimapClassTrainer") and true or false end + if role=="professionTrainer" then return settings:Get("showMinimapProfessionTrainer") and true or false end if role=="rareMob" then return settings:Get("showMinimapRareMonsters") and true or false end if not settings:Get("enableMiniMapIcons") then return false end @@ -122,6 +125,7 @@ function MM:OnSettingChanged(key,value) key=="showMinimapFlightMaster" or key=="showMinimapMailbox" or key=="showMinimapBattlemaster" or key=="showMinimapInnkeeper" or key=="showMinimapMeetingStone" or key=="showMinimapRepair" or key=="showMinimapSpiritHealer" or key=="showMinimapStableMaster" or key=="showMinimapVendor" or + key=="showMinimapClassTrainer" or key=="showMinimapProfessionTrainer" or key=="showMinimapRareMonsters" then self:UpdatePositions(true) return @@ -383,9 +387,13 @@ local function ApplyVisual(pin,node) pin.repeatable=node.repeatable and true or false pin.sourceKind=node.sourceKind pin.sourceID=node.sourceID + pin.trainerKey=node.trainerKey pin.displayName=node.sourceName or pin.displayName or "Quest source" pin.iconScaleKey=node.iconScaleKey or QuestieOcto.Map:GetScaleKeyForRole(node.role) pin.texture:SetTexture(QuestieOcto.Map:GetTextureForNode(node)) + -- Trainer pins crop their icon from a shared atlas; every other role resets + -- to the full 0..1 rectangle so recycled frames never keep a sub-rectangle. + if pin.texture.SetTexCoord then pin.texture:SetTexCoord(QuestieOcto.Map:GetTexCoordForNode(node)) end pin.texture:SetDrawLayer("OVERLAY",QuestieOcto.Map:GetDrawSublevelForRole(node.role)) -- Keep townsfolk/rare markers below quest pins at identical coordinates. if pin.SetFrameLevel and Minimap then diff --git a/Map/MinimapSettings.lua b/Map/MinimapSettings.lua index 01b24f2..37b6e13 100644 --- a/Map/MinimapSettings.lua +++ b/Map/MinimapSettings.lua @@ -17,6 +17,9 @@ S.defaults={ enableObjectives=true, enableTurnins=true, enableAvailable=true, + -- Keep completed quests on the map/minimap even when their Blizzard quest-log + -- zone header is collapsed. Opt-in, so default map behavior is unchanged. + showCompletedQuests=false, globalScale=1, -- Questie 5.2.3/6.0.0 mature old-Questie icon-type defaults. @@ -55,6 +58,9 @@ S.defaults={ showMapSpiritHealer=false, showMapStableMaster=false, showMapVendor=false, + -- Class/profession trainers (map only). Opt-in, using the ringed atlas icons. + showMapClassTrainer=false, + showMapProfessionTrainer=false, showMinimapRareMonsters=true, showMinimapAuctioneer=true, showMinimapBanker=true, @@ -67,6 +73,8 @@ S.defaults={ showMinimapSpiritHealer=false, showMinimapStableMaster=false, showMinimapVendor=false, + showMinimapClassTrainer=false, + showMinimapProfessionTrainer=false, showLowLevelQuests=true, -- Maximum number of displayed quest levels below the player to expose when @@ -223,7 +231,7 @@ function S:Set(key,value) if not self.db or SavedVariableBindingsChanged(self) then self:Initialize() end if key=="enableMapIcons" or key=="showAllQuestsWorldMap" or key=="showSpecialQuestsWorldMap" or key=="enableObjectives" or key=="enableTurnins" or - key=="enableAvailable" or key=="enableMiniMapIcons" or + key=="enableAvailable" or key=="enableMiniMapIcons" or key=="showCompletedQuests" or key=="alwaysGlowMap" or key=="alwaysGlowMinimap" or key=="questObjectiveColors" or key=="questMinimapObjectiveColors" or key=="showLowLevelQuests" or key=="showEventQuests" or key=="showRepeatableQuests" or key=="showPvPRelatedQuests" or @@ -232,10 +240,12 @@ function S:Set(key,value) key=="showMapFlightMaster" or key=="showMapMailbox" or key=="showMapBattlemaster" or key=="showMapInnkeeper" or key=="showMapMeetingStone" or key=="showMapRepair" or key=="showMapSpiritHealer" or key=="showMapStableMaster" or key=="showMapVendor" or + key=="showMapClassTrainer" or key=="showMapProfessionTrainer" or key=="showMinimapRareMonsters" or key=="showMinimapAuctioneer" or key=="showMinimapBanker" or key=="showMinimapFlightMaster" or key=="showMinimapMailbox" or key=="showMinimapBattlemaster" or key=="showMinimapInnkeeper" or key=="showMinimapMeetingStone" or key=="showMinimapRepair" or key=="showMinimapSpiritHealer" or key=="showMinimapStableMaster" or key=="showMinimapVendor" or + key=="showMinimapClassTrainer" or key=="showMinimapProfessionTrainer" or key=="enableTooltips" or key=="enableTooltipsQuestLevel" or key=="enableTooltipsQuestID" or key=="enableTooltipsNPCID" or key=="enableTooltipsItemID" or @@ -320,6 +330,15 @@ function S:Set(key,value) return true end + -- Rescan the quest log so completed quests in collapsed zones are added to + -- (or removed from) the active set, which cascades to the map and minimap. + if key=="showCompletedQuests" then + if QuestieOcto.QuestLog and QuestieOcto.QuestLog.Schedule then + QuestieOcto.QuestLog:Schedule(0.01,true) + end + return true + end + if key=="showLowLevelQuests" or key=="lowLevelQuestRange" or key=="showEventQuests" or key=="showRepeatableQuests" or key=="showPvPRelatedQuests" then if QuestieOcto.AvailableQuests and QuestieOcto.AvailableQuests.FastRefresh then QuestieOcto.AvailableQuests:FastRefresh() @@ -377,13 +396,14 @@ function S:Set(key,value) if key=="showMapRareMonsters" or key=="showMapAuctioneer" or key=="showMapBanker" or key=="showMapFlightMaster" or key=="showMapMailbox" or key=="showMapBattlemaster" or key=="showMapInnkeeper" or key=="showMapMeetingStone" or - key=="showMapRepair" or key=="showMapSpiritHealer" or key=="showMapStableMaster" or key=="showMapVendor" then + key=="showMapRepair" or key=="showMapSpiritHealer" or key=="showMapStableMaster" or key=="showMapVendor" or + key=="showMapClassTrainer" or key=="showMapProfessionTrainer" then -- The additional pfQuest service categories are not materialized while -- disabled on both map surfaces. Rebuild transactionally when one changes -- so opt-in categories have no default startup/node cost. if string.find(key,"Battlemaster") or string.find(key,"Innkeeper") or string.find(key,"MeetingStone") or string.find(key,"Repair") or string.find(key,"SpiritHealer") or string.find(key,"StableMaster") or - string.find(key,"Vendor") then + string.find(key,"Vendor") or string.find(key,"ClassTrainer") or string.find(key,"ProfessionTrainer") then if QuestieOcto.Nodes and QuestieOcto.Nodes.Rebuild then QuestieOcto.Nodes:Rebuild() end end if QuestieOcto.Map and QuestieOcto.Map.OnSettingChanged then @@ -395,10 +415,11 @@ function S:Set(key,value) if key=="showMinimapRareMonsters" or key=="showMinimapAuctioneer" or key=="showMinimapBanker" or key=="showMinimapFlightMaster" or key=="showMinimapMailbox" or key=="showMinimapBattlemaster" or key=="showMinimapInnkeeper" or key=="showMinimapMeetingStone" or - key=="showMinimapRepair" or key=="showMinimapSpiritHealer" or key=="showMinimapStableMaster" or key=="showMinimapVendor" then + key=="showMinimapRepair" or key=="showMinimapSpiritHealer" or key=="showMinimapStableMaster" or key=="showMinimapVendor" or + key=="showMinimapClassTrainer" or key=="showMinimapProfessionTrainer" then if string.find(key,"Battlemaster") or string.find(key,"Innkeeper") or string.find(key,"MeetingStone") or string.find(key,"Repair") or string.find(key,"SpiritHealer") or string.find(key,"StableMaster") or - string.find(key,"Vendor") then + string.find(key,"Vendor") or string.find(key,"ClassTrainer") or string.find(key,"ProfessionTrainer") then if QuestieOcto.Nodes and QuestieOcto.Nodes.Rebuild then QuestieOcto.Nodes:Rebuild() end end if QuestieOcto.Minimap and QuestieOcto.Minimap.OnSettingChanged then @@ -451,4 +472,4 @@ function S:Reset() end end -S:Initialize() +S:Initialize() \ No newline at end of file diff --git a/Map/Nodes.lua b/Map/Nodes.lua index 981e0bf..19d4728 100644 --- a/Map/Nodes.lua +++ b/Map/Nodes.lua @@ -30,6 +30,8 @@ N.stats={ spiritHealer=0, stableMaster=0, vendor=0, + classTrainer=0, + professionTrainer=0, rareMob=0, } @@ -55,6 +57,8 @@ local function NewStats() spiritHealer=0, stableMaster=0, vendor=0, + classTrainer=0, + professionTrainer=0, rareMob=0, } end @@ -298,6 +302,8 @@ local optionalServiceSettings={ spiritHealer={"showMapSpiritHealer","showMinimapSpiritHealer"}, stableMaster={"showMapStableMaster","showMinimapStableMaster"}, vendor={"showMapVendor","showMinimapVendor"}, + classTrainer={"showMapClassTrainer","showMinimapClassTrainer"}, + professionTrainer={"showMapProfessionTrainer","showMinimapProfessionTrainer"}, } local function OptionalServiceEnabled(role) @@ -380,6 +386,66 @@ local function ProcessServiceObjectSlice(metaKey,role,statKey,cursor,limit) return cursor,false end +-- Trainers are stored two levels deep: meta["trainers"][class] and +-- meta["professions"][profession] each hold a flat {[creatureID]=faction} table. +-- We flatten that lazily so the incremental builder can pause between frames: +-- the cursor is {groupKey=, innerCursor=}. Each +-- emitted node is tagged with trainerKey= so the renderer can pick the +-- right icon out of the ringed class/profession atlas. +local function ProcessTrainerSlice(metaKey,role,statKey,cursor,limit) + local root=TrackingMeta(metaKey) + if type(root)~="table" then return nil,true end + local factionCode=PlayerFactionCode() + if not factionCode then return nil,true end + + cursor=cursor or {} + local groupKey=cursor.groupKey + local innerCursor=cursor.innerCursor + + local count=0 + while count<(limit or 128) do + if groupKey==nil then + groupKey=next(root,nil) + innerCursor=nil + if groupKey==nil then return nil,true end + end + + local group=root[groupKey] + local rawID,allowed + if type(group)=="table" then rawID,allowed=next(group,innerCursor) end + + if rawID==nil then + -- Group exhausted (or not a table): advance to the next group. Empty + -- profession tables fall straight through here without costing a slot. + groupKey=next(root,groupKey) + innerCursor=nil + if groupKey==nil then return nil,true end + else + innerCursor=rawID + local creatureID=tonumber(rawID) + if creatureID and creatureID>0 and FactionAllows(allowed,factionCode) then + local coords=QuestieOcto.DatabaseAPI:GetCreatureCoords(creatureID) + if coords and next(coords) then + AddNode({ + questID=0, + role=role, + sourceKind="creature", + sourceID=creatureID, + sourceName=QuestieOcto.DatabaseAPI:GetCreatureName(creatureID), + coords=coords, + serviceFaction=allowed, + trainerKey=tostring(groupKey) + }) + CurrentStats()[statKey]=(CurrentStats()[statKey] or 0)+1 + end + end + count=count+1 + end + end + + return {groupKey=groupKey,innerCursor=innerCursor},false +end + local function ProcessRareMobSlice(cursor,limit) local list=TrackingMeta("rares") if not list then return nil,true end @@ -537,6 +603,8 @@ local function StatKeyForNode(node) if node.role=="spiritHealer" then return "spiritHealer" end if node.role=="stableMaster" then return "stableMaster" end if node.role=="vendor" then return "vendor" end + if node.role=="classTrainer" then return "classTrainer" end + if node.role=="professionTrainer" then return "professionTrainer" end if node.role=="rareMob" then return "rareMob" end return nil end @@ -756,6 +824,8 @@ function N:Rebuild() {kind="creature",metaKey="spirithealer",role="spiritHealer",statKey="spiritHealer",optional=true}, {kind="creature",metaKey="stablemaster",role="stableMaster",statKey="stableMaster",optional=true}, {kind="creature",metaKey="vendor",role="vendor",statKey="vendor",optional=true}, + {kind="trainer",metaKey="trainers",role="classTrainer",statKey="classTrainer",optional=true}, + {kind="trainer",metaKey="professions",role="professionTrainer",statKey="professionTrainer",optional=true}, {kind="rare"}, } @@ -775,6 +845,8 @@ function N:Rebuild() nextCursor,done=ProcessServiceCreatureSlice(job.metaKey,job.role,job.statKey,cursor,128) elseif job.kind=="object" then nextCursor,done=ProcessServiceObjectSlice(job.metaKey,job.role,job.statKey,cursor,128) + elseif job.kind=="trainer" then + nextCursor,done=ProcessTrainerSlice(job.metaKey,job.role,job.statKey,cursor,128) elseif job.kind=="rare" then nextCursor,done=ProcessRareMobSlice(cursor,128) end diff --git a/Map/Prepared.lua b/Map/Prepared.lua index df26240..c01f22a 100644 --- a/Map/Prepared.lua +++ b/Map/Prepared.lua @@ -35,6 +35,7 @@ local function ExactRole(role) or role=="auctioneer" or role=="banker" or role=="mailbox" or role=="battlemaster" or role=="innkeeper" or role=="meetingStone" or role=="repair" or role=="spiritHealer" or role=="stableMaster" or role=="vendor" + or role=="classTrainer" or role=="professionTrainer" or role=="rareMob" end diff --git a/Map/Tooltips.lua b/Map/Tooltips.lua index 1791f0d..5b1fb04 100644 --- a/Map/Tooltips.lua +++ b/Map/Tooltips.lua @@ -1088,9 +1088,17 @@ function T:Show(pin) spiritHealer="Spirit Healer", stableMaster="Stable Master", vendor="Vendor", + classTrainer="Class Trainer", + professionTrainer="Profession Trainer", rareMob="[Rare]" } local permanentLabel=permanentLabels[pin.role] + -- Trainers refine the generic label with the specific class/profession, e.g. + -- "Warrior Trainer" / "Cooking Trainer". + if permanentLabel and (pin.role=="classTrainer" or pin.role=="professionTrainer") and type(pin.trainerKey)=="string" and pin.trainerKey~="" then + local key=pin.trainerKey + permanentLabel=string.upper(string.sub(key,1,1))..string.sub(key,2).." Trainer" + end if permanentLabel then tooltip:SetOwner(pin,"ANCHOR_CURSOR") tooltip:ClearLines() diff --git a/Map/Visuals.lua b/Map/Visuals.lua index 460c28d..8aab482 100644 --- a/Map/Visuals.lua +++ b/Map/Visuals.lua @@ -14,13 +14,39 @@ local function NextRandom(seed) return seed,value end +-- HSV->RGB (h in [0,360), s/v in [0,1]). Lua 5.0: math.mod is fmod and works on +-- floats, math.abs/math.floor are available. +local function HSVToRGB(h,s,v) + local c=v*s + local hp=h/60 + local x=c*(1-math.abs(math.mod(hp,2)-1)) + local r,g,b=0,0,0 + if hp<1 then r,g,b=c,x,0 + elseif hp<2 then r,g,b=x,c,0 + elseif hp<3 then r,g,b=0,c,x + elseif hp<4 then r,g,b=0,x,c + elseif hp<5 then r,g,b=x,0,c + else r,g,b=c,0,x end + local m=v-c + return r+m,g+m,b+m +end + +-- Full-wheel vivid colors. The previous scheme mapped each RGB channel into +-- [0.45,0.95], which clustered every roll near a light desaturated gray: little +-- variety and near-identical neighbours. Drawing a hue across the entire color +-- wheel with high saturation and brightness gives a far larger, more separable +-- gamut so overlapping quests/objectives are easy to tell apart, and re-rolling +-- (Full Node click) jumps to a clearly different color. local function SeedColor(seed) seed=tonumber(seed) or 0 - local r,g,b - seed,r=NextRandom(seed) - seed,g=NextRandom(seed) - seed,b=NextRandom(seed) - return 0.45+r/2,0.45+g/2,0.45+b/2 + local h,s,v + seed,h=NextRandom(seed) + seed,s=NextRandom(seed) + seed,v=NextRandom(seed) + local hue=h*360 + local sat=0.82+s*0.18 -- 0.82 .. 1.00: strongly saturated + local val=0.85+v*0.15 -- 0.85 .. 1.00: bright/readable + return HSVToRGB(hue,sat,val) end V.colorRolls=V.colorRolls or {} @@ -133,6 +159,12 @@ function V:ApplyPin(pin,node,isMinimap,alpha) end end +-- Fixed light blue-white used for the hover-highlight glow. The highlight only +-- appears while every other objective is faded, so it never needs to be color +-- coded per quest; a neutral tint reads clearly against the vivid node colors +-- rather than blending into them. +local HIGHLIGHT_GLOW_R,HIGHLIGHT_GLOW_G,HIGHLIGHT_GLOW_B=0.50,0.70,1.0 + -- Tracker-hover highlight: brighten a pin and force its glow on so the hovered -- quest's objectives stand out, then restore the normal glow state on release. function V:SetHighlight(pin,on) @@ -140,8 +172,7 @@ function V:SetHighlight(pin,on) if on then pin.texture:SetVertexColor(pin.iconR or 1,pin.iconG or 1,pin.iconB or 1,1) if pin.glowTexture then - local gr,gg,gb=self:GetQuestColor(pin.questID) - pin.glowTexture:SetVertexColor(gr,gg,gb,1) + pin.glowTexture:SetVertexColor(HIGHLIGHT_GLOW_R,HIGHLIGHT_GLOW_G,HIGHLIGHT_GLOW_B,1) self:ResizeGlow(pin) pin.glowTexture:Show() pin.glowForced=true diff --git a/Quest/QuestLog.lua b/Quest/QuestLog.lua index 80a7988..ac80201 100644 --- a/Quest/QuestLog.lua +++ b/Quest/QuestLog.lua @@ -10,6 +10,10 @@ QL.acceptedHints={} QL.acceptPollGeneration=0 QL.acceptPollUntil=0 QL.active={} +-- Completed quests remembered while their zone header was expanded, so they can +-- be kept on the map/minimap after the zone is collapsed (option-gated). Small: +-- one entry per currently-complete quest, purged once the quest leaves the log. +QL.completedZoneQuests={} QL.snapshot=nil QL.mapSnapshot=nil QL.mapState=nil @@ -227,6 +231,25 @@ local function LiveObjectiveKind(q,row) return nil end +-- Map a native objective type ("monster"/"object"/"item") to the QuestModel +-- objectiveData kind ("creature"/"gameObject"/"item"). Kept local to QuestLog +-- so the leaderboard-name reconstruction below does not depend on Objectives.lua. +local function ObjectiveTypeMatchesKind(logType,dbKind) + local typ=string.lower(tostring(logType or "")) + if dbKind=="creature" then return typ=="monster" or typ=="creature" or typ=="kill" end + if dbKind=="gameObject" then return typ=="object" or typ=="gameobject" end + if dbKind=="item" then return typ=="item" end + return false +end + +local function NameForObjectiveDataEntry(entry) + if not entry then return nil end + if entry.kind=="creature" then return QuestieOcto.DatabaseAPI:GetCreatureName(entry.id) end + if entry.kind=="gameObject" then return QuestieOcto.DatabaseAPI:GetObjectName(entry.id) end + if entry.kind=="item" then return QuestieOcto.DatabaseAPI:GetItemName(entry.id) end + return nil +end + local function LocalizeObjectiveRows(questID,objectives) if not questID or type(objectives)~="table" then return objectives end if not QuestieOcto.DatabaseAPI or not QuestieOcto.DatabaseAPI:IsReady() then return objectives end @@ -234,6 +257,8 @@ local function LocalizeObjectiveRows(questID,objectives) local q=QuestieOcto.QuestModel and QuestieOcto.QuestModel:Get(questID) or nil if not q then return objectives end + local objectiveData=q.objectiveData or {} + for i=1,table.getn(objectives) do local row=objectives[i] local id=tonumber(row and row.objectiveID) @@ -244,9 +269,18 @@ local function LocalizeObjectiveRows(questID,objectives) elseif id and kind=="gameObject" then name=QuestieOcto.DatabaseAPI:GetObjectName(id) elseif id and kind=="item" then name=QuestieOcto.DatabaseAPI:GetItemName(id) end - -- Never localize by objective array position. Questie 5/6 only assumes - -- positional identity when both sides contain one objective; pfQuest uses - -- ClassicAPI's live leaderboard ID. If no trustworthy ID is available, + -- Turtle/ClassicAPI publishes no live leaderboard entity ID so fix this + if (not name or name=="") then + local entry=objectiveData[i] + if entry and row and ObjectiveTypeMatchesKind(row.type,entry.kind) then + name=NameForObjectiveDataEntry(entry) + end + end + + -- Never localize by objective array position beyond the type-matched engine + -- ordering above. Questie 5/6 only assume positional identity when both + -- sides contain one objective; pfQuest uses ClassicAPI's live leaderboard + -- ID. When neither a trustworthy ID nor a type-matched slot is available, -- keep Turtle's native objective text intact for the fallback matcher. if row and name and name~="" then if row.current~=nil and row.required~=nil then @@ -383,6 +417,51 @@ function QL:Schedule(delay,fastRefresh) end,"questlog-refresh") end +-- Collapsing a Blizzard quest-log zone hides its quests from enumeration, so +-- they drop out of the active set and off the map. Rather than toggling headers +-- (which flickers the log), the main scan remembers completed quests in +-- QL.completedZoneQuests while their zone is visible; here we re-add any that +-- have since been collapsed away but are still on the player, as map-only active +-- entries. Also purges quests that have left the log to keep the cache bounded. +local function SyncCompletedZoneCache(nextActive,nextMapState,snapshotParts) + local cache=QL.completedZoneQuests + local optionOn=QuestieOcto.MinimapSettings and QuestieOcto.MinimapSettings:Get("showCompletedQuests") and true or false + + local injected + for questID,meta in pairs(cache) do + if nextActive[questID] then + -- Still enumerated (zone expanded); the scan keeps it fresh, no re-add. + elseif QuestieOcto.API and QuestieOcto.API:IsOnQuest(questID) then + if optionOn then + -- mapOnly keeps these out of the tracker: the zone was collapsed there + -- on purpose, so only the map/minimap turn-in should reappear. + nextActive[questID]={ + id=questID,logIndex=meta.logIndex,title=meta.title,level=meta.level,tag=meta.tag, + zoneGroup=meta.zoneGroup,status=1,complete=true,failed=false, + objectives={},objectiveSource=nil,mapOnly=true + } + nextMapState[questID]="1\031" + injected=injected or {} + table.insert(injected,questID) + end + else + -- Turned in or abandoned: release the cache entry. + cache[questID]=nil + end + end + + -- Append map-only quests to the change-detection snapshot in a stable (sorted) + -- order so their presence flips "changed" only when the set actually changes, + -- not on every refresh from pairs() iteration order. + if injected then + table.sort(injected) + for i=1,table.getn(injected) do + table.insert(snapshotParts,"mapOnly") + table.insert(snapshotParts,tostring(injected[i])) + end + end +end + function QL:Refresh(fastRefresh) if self.running then self.pending=true @@ -533,6 +612,15 @@ function QL:Refresh(fastRefresh) -- thousands of Full Nodes whose visibility did not change. nextMapState[questID]=tostring(status).."\031"..tostring(objectiveMapSnapshot or "") QL.stats.resolved=QL.stats.resolved+1 + + -- Remember completed quests (with the metadata needed to redraw their + -- turn-in) while their zone is visible, so SyncCompletedZoneCache can + -- keep them mapped once the zone is collapsed. Clear it otherwise. + if complete then + QL.completedZoneQuests[questID]={logIndex=index,title=title,level=level,tag=tag,zoneGroup=currentHeader} + else + QL.completedZoneQuests[questID]=nil + end end count=count+1 @@ -544,6 +632,10 @@ function QL:Refresh(fastRefresh) return end + -- Re-add completed quests from collapsed zones before any diffs are taken, + -- so they participate in active-set, map-state, and change detection. + SyncCompletedZoneCache(nextActive,nextMapState,snapshotParts) + local nextSnapshot=table.concat(snapshotParts,"\031") local changed=(nextSnapshot~=QL.snapshot) @@ -797,4 +889,4 @@ function QL:Start() end) self:Schedule(0.01,true) -end +end \ No newline at end of file diff --git a/Questie-Octo.toc b/Questie-Octo.toc index 32eaa31..b83108a 100644 --- a/Questie-Octo.toc +++ b/Questie-Octo.toc @@ -2,7 +2,7 @@ ## Title: Questie-Octo ## Notes: Quest helper. ## Author: Questie-Octo -## Version: 1.0.81 +## Version: 1.0.85 ## SavedVariables: QuestieOctoGlobalDB ## SavedVariablesPerCharacter: QuestieOctoDB diff --git a/QuestieOcto.lua b/QuestieOcto.lua index 9d9c4e1..0cb11eb 100644 --- a/QuestieOcto.lua +++ b/QuestieOcto.lua @@ -2,7 +2,7 @@ QuestieOcto = QuestieOcto or {} local QO = QuestieOcto -QO.version = "1.0.81" +QO.version = "1.0.85" QO.enabled = false QO.ready = false QO.messages = {} @@ -67,4 +67,4 @@ function QO:SendMessage(name, ...) fn(entry.owner, unpack(arg)) end end -end +end \ No newline at end of file diff --git a/README.md b/README.md index 3f82801..e1ecb4d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ -ClassicAPI.dll needed. +Simple lightweight featureful quest tracker for OctoWoW +Make sure you rename folder to **Questie-Octo** after extraction -[Latest release here.](https://github.com/brues-code/ClassicAPI/releases/latest) +If you notice any missing quests, objective locations, or notice wrong map icon locations feel free to use [UnitLogger](https://github.com/Blaststar/UnitLogger) addon to help speed up fixes/development if said item/npc doesnt exist in octowowdb + +**ClassicAPI.dll** needed. + +[Latest release here.](https://github.com/brues-code/ClassicAPI/releases/latest) \ No newline at end of file diff --git a/Tracker/TrackerDriver.lua b/Tracker/TrackerDriver.lua index ef23ccd..108320c 100644 --- a/Tracker/TrackerDriver.lua +++ b/Tracker/TrackerDriver.lua @@ -123,7 +123,9 @@ function D:Rebuild() if auto then tracked=not db.AutoUntrackedQuests[questID] else tracked=db.TrackedQuests[questID] and true or false end - if tracked and (showCompleted or not state.complete) then + -- mapOnly quests come from collapsed quest-log zones and belong only on the + -- map/minimap; never surface them in the tracker. + if tracked and not state.mapOnly and (showCompleted or not state.complete) then local objectives={} for i=1,table.getn(state.objectives or {}) do local objective=state.objectives[i] @@ -266,4 +268,4 @@ function D:Start() self:Rebuild() end -QuestieOcto:RegisterMessage("FOUNDATION_READY",D,"Start") +QuestieOcto:RegisterMessage("FOUNDATION_READY",D,"Start") \ No newline at end of file diff --git a/UI/Icons/Ringed-Classes.tga b/UI/Icons/Ringed-Classes.tga new file mode 100644 index 0000000000000000000000000000000000000000..e263d62bb538e7a8333e5987c9ee5d9f59bf9a0d GIT binary patch literal 151283 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ф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 XBojf* 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 UFKJxVIDcM2+pNa9^^>&!2TrmmfdBvi literal 0 HcmV?d00001 diff --git a/UI/Icons/Ringed-Professions.tga b/UI/Icons/Ringed-Professions.tga new file mode 100644 index 0000000000000000000000000000000000000000..0219eb444824269988c6ac655933e509fa9d53fc GIT binary patch literal 173933 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 Sx}kdUqO9hM>V@Ugwf_SPCvfHf literal 0 HcmV?d00001 diff --git a/UI/Options.lua b/UI/Options.lua index 667b66e..01970bd 100644 --- a/UI/Options.lua +++ b/UI/Options.lua @@ -332,6 +332,7 @@ local function CreateGeneralTab() args={ icon_header={type="header",order=1,name="Icon Settings"}, enableMapIcons={type="toggle",order=2,name="Show Quests",desc="Show quest icons on the main map.",width="full",get=GetValue,set=SetValue}, + showCompletedQuests={type="toggle",order=2.1,name="Always Show Completed Quests",desc="Always show completed quests on minimap and map regardless if zone is collapsed.",width="full",get=GetValue,set=SetValue}, world_map_visibility_header={type="header",order=3,name="World Map Visibility"}, showAllQuestsWorldMap={type="toggle",order=3.1,name="Show Quests on the World Map",desc="Show normal quest pickup and turn-in icons on continent maps.",width="full",get=GetValue,set=SetValue}, showSpecialQuestsWorldMap={type="toggle",order=3.2,name="Show Special Quests on the World Map",desc="Show repeatable, PvP, and active event quest icons on continent maps.",width="full",get=GetValue,set=SetValue}, @@ -399,18 +400,20 @@ local function CreateMapTab() globalScale={type="range",order=2.2,name="Global Scale for Map Icons",desc="Adjust map icon size.",width="double",min=0.01,max=4,step=0.01,disabled=function() return not Settings():Get("enableMapIcons") end,get=GetValue,set=SetValue}, miscellaneous_icons={type="header",order=20,name="Miscellaneous icons"}, - showMapRareMonsters={type="toggle",order=20.1,name="Rare Monsters",desc="Show Rare Monster icons on the map.",width="full",get=GetValue,set=SetValue}, - showMapAuctioneer={type="toggle",order=20.2,name="Auctioneer",desc="Show Auctioneer icons on the map.",width="full",get=GetValue,set=SetValue}, - showMapBanker={type="toggle",order=20.3,name="Banker",desc="Show Banker icons on the map.",width="full",get=GetValue,set=SetValue}, - showMapFlightMaster={type="toggle",order=20.4,name="Flight Master",desc="Show Flight Master icons on the map.",width="full",get=GetValue,set=SetValue}, - showMapMailbox={type="toggle",order=20.5,name="Mailbox",desc="Show Mailbox icons on the map.",width="full",get=GetValue,set=SetValue}, - showMapBattlemaster={type="toggle",order=20.6,name="Battlemaster",desc="Show Battlemaster icons on the map.",width="full",get=GetValue,set=SetValue}, - showMapInnkeeper={type="toggle",order=20.7,name="Innkeeper",desc="Show Innkeeper icons on the map.",width="full",get=GetValue,set=SetValue}, - showMapMeetingStone={type="toggle",order=20.8,name="Meeting Stones",desc="Show Meeting Stone icons on the map.",width="full",get=GetValue,set=SetValue}, - showMapRepair={type="toggle",order=20.9,name="Repair",desc="Show Repair icons on the map.",width="full",get=GetValue,set=SetValue}, - showMapSpiritHealer={type="toggle",order=21.0,name="Spirit Healer",desc="Show Spirit Healer icons on the map.",width="full",get=GetValue,set=SetValue}, - showMapStableMaster={type="toggle",order=21.1,name="Stable Master",desc="Show Stable Master icons on the map.",width="full",get=GetValue,set=SetValue}, - showMapVendor={type="toggle",order=21.2,name="Vendor",desc="Show Vendor icons on the map.",width="full",get=GetValue,set=SetValue}, + showMapClassTrainer={type="toggle",order=20.2,name="Class Trainers",desc="Show Class Trainers on the map.",width="full",get=GetValue,set=SetValue}, + showMapProfessionTrainer={type="toggle",order=20.3,name="Profession Trainers",desc="Show Profession Trainers on the map.",width="full",get=GetValue,set=SetValue}, + showMapRareMonsters={type="toggle",order=20.4,name="Rare Monsters",desc="Show Rare Monster icons on the map.",width="full",get=GetValue,set=SetValue}, + showMapAuctioneer={type="toggle",order=20.5,name="Auctioneer",desc="Show Auctioneer icons on the map.",width="full",get=GetValue,set=SetValue}, + showMapBanker={type="toggle",order=20.6,name="Banker",desc="Show Banker icons on the map.",width="full",get=GetValue,set=SetValue}, + showMapFlightMaster={type="toggle",order=20.7,name="Flight Master",desc="Show Flight Master icons on the map.",width="full",get=GetValue,set=SetValue}, + showMapMailbox={type="toggle",order=20.8,name="Mailbox",desc="Show Mailbox icons on the map.",width="full",get=GetValue,set=SetValue}, + showMapBattlemaster={type="toggle",order=20.9,name="Battlemaster",desc="Show Battlemaster icons on the map.",width="full",get=GetValue,set=SetValue}, + showMapInnkeeper={type="toggle",order=21,name="Innkeeper",desc="Show Innkeeper icons on the map.",width="full",get=GetValue,set=SetValue}, + showMapMeetingStone={type="toggle",order=21.1,name="Meeting Stones",desc="Show Meeting Stone icons on the map.",width="full",get=GetValue,set=SetValue}, + showMapRepair={type="toggle",order=21.2,name="Repair",desc="Show Repair icons on the map.",width="full",get=GetValue,set=SetValue}, + showMapSpiritHealer={type="toggle",order=21.3,name="Spirit Healer",desc="Show Spirit Healer icons on the map.",width="full",get=GetValue,set=SetValue}, + showMapStableMaster={type="toggle",order=21.4,name="Stable Master",desc="Show Stable Master icons on the map.",width="full",get=GetValue,set=SetValue}, + showMapVendor={type="toggle",order=21.5,name="Vendor",desc="Show Vendor icons on the map.",width="full",get=GetValue,set=SetValue}, }, } end @@ -426,18 +429,20 @@ local function CreateMinimapTab() globalMiniMapScale={type="range",order=2.2,name="Global Scale for Minimap Icons",desc="Adjust minimap icon size.",width="double",min=0.01,max=4,step=0.01,disabled=function() return not EnabledMinimap() end,get=GetValue,set=SetValue}, miscellaneous_icons={type="header",order=20,name="Miscellaneous icons"}, - showMinimapRareMonsters={type="toggle",order=20.1,name="Rare Monsters",desc="Show Rare Monster icons on the minimap.",width="full",get=GetValue,set=SetValue}, - showMinimapAuctioneer={type="toggle",order=20.2,name="Auctioneer",desc="Show Auctioneer icons on the minimap.",width="full",get=GetValue,set=SetValue}, - showMinimapBanker={type="toggle",order=20.3,name="Banker",desc="Show Banker icons on the minimap.",width="full",get=GetValue,set=SetValue}, - showMinimapFlightMaster={type="toggle",order=20.4,name="Flight Master",desc="Show Flight Master icons on the minimap.",width="full",get=GetValue,set=SetValue}, - showMinimapMailbox={type="toggle",order=20.5,name="Mailbox",desc="Show Mailbox icons on the minimap.",width="full",get=GetValue,set=SetValue}, - showMinimapBattlemaster={type="toggle",order=20.6,name="Battlemaster",desc="Show Battlemaster icons on the minimap.",width="full",get=GetValue,set=SetValue}, - showMinimapInnkeeper={type="toggle",order=20.7,name="Innkeeper",desc="Show Innkeeper icons on the minimap.",width="full",get=GetValue,set=SetValue}, - showMinimapMeetingStone={type="toggle",order=20.8,name="Meeting Stones",desc="Show Meeting Stone icons on the minimap.",width="full",get=GetValue,set=SetValue}, - showMinimapRepair={type="toggle",order=20.9,name="Repair",desc="Show Repair icons on the minimap.",width="full",get=GetValue,set=SetValue}, - showMinimapSpiritHealer={type="toggle",order=21.0,name="Spirit Healer",desc="Show Spirit Healer icons on the minimap.",width="full",get=GetValue,set=SetValue}, - showMinimapStableMaster={type="toggle",order=21.1,name="Stable Master",desc="Show Stable Master icons on the minimap.",width="full",get=GetValue,set=SetValue}, - showMinimapVendor={type="toggle",order=21.2,name="Vendor",desc="Show Vendor icons on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapClassTrainer={type="toggle",order=20.1,name="Class Trainers",desc="Show Class Trainers on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapProfessionTrainer={type="toggle",order=20.2,name="Profession Trainers",desc="Show Profession Trainers on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapRareMonsters={type="toggle",order=20.3,name="Rare Monsters",desc="Show Rare Monster icons on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapAuctioneer={type="toggle",order=20.4,name="Auctioneer",desc="Show Auctioneer icons on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapBanker={type="toggle",order=20.5,name="Banker",desc="Show Banker icons on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapFlightMaster={type="toggle",order=20.6,name="Flight Master",desc="Show Flight Master icons on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapMailbox={type="toggle",order=20.7,name="Mailbox",desc="Show Mailbox icons on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapBattlemaster={type="toggle",order=20.8,name="Battlemaster",desc="Show Battlemaster icons on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapInnkeeper={type="toggle",order=20.9,name="Innkeeper",desc="Show Innkeeper icons on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapMeetingStone={type="toggle",order=21,name="Meeting Stones",desc="Show Meeting Stone icons on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapRepair={type="toggle",order=21.1,name="Repair",desc="Show Repair icons on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapSpiritHealer={type="toggle",order=21.2,name="Spirit Healer",desc="Show Spirit Healer icons on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapStableMaster={type="toggle",order=21.3,name="Stable Master",desc="Show Stable Master icons on the minimap.",width="full",get=GetValue,set=SetValue}, + showMinimapVendor={type="toggle",order=21.4,name="Vendor",desc="Show Vendor icons on the minimap.",width="full",get=GetValue,set=SetValue}, }, } end @@ -646,4 +651,4 @@ end -- Build the hidden frame after login rather than during file load. QuestieOcto.Scheduler:After(0.10,function() O:Initialize() -end,"questie-options-init") +end,"questie-options-init") \ No newline at end of file diff --git a/UI/QuestResearch.lua b/UI/QuestResearch.lua index b628f12..1264f9d 100644 --- a/UI/QuestResearch.lua +++ b/UI/QuestResearch.lua @@ -291,7 +291,7 @@ function R:GetQuestDetails() local zones=QuestZoneNames(q,id) if table.getn(zones)>0 then local zoneText={} - for i=1,table.getn(zones) do table.insert(zoneText,"|cff40a0ff["..zones[i].."]|r") end + for i=1,table.getn(zones) do table.insert(zoneText,"|cffd7bea5["..zones[i].."]|r") end table.insert(lines,"\n|cffffd100Zone|r\n"..table.concat(zoneText," ")) end @@ -557,7 +557,7 @@ function R:OpenWindowNow() end local title=f:CreateFontString(nil,"OVERLAY","GameFontNormalLarge") - title:SetPoint("TOP",f,"TOP",0,-18); title:SetText("Quests") + title:SetPoint("TOP",f,"TOP",0,-18); title:SetText("Quest Database") local close=CreateFrame("Button",nil,f,"UIPanelCloseButton"); close:SetPoint("TOPRIGHT",f,"TOPRIGHT",-5,-5); close:SetScript("OnClick",function() R:CloseWindow() end) local search=CreateFrame("EditBox",nil,f,"InputBoxTemplate") @@ -704,4 +704,4 @@ end QuestieOcto:RegisterMessage("COMPLETION_READY",R,"OnStateChanged") QuestieOcto:RegisterMessage("DATABASE_API_READY",R,"OnStateChanged") QuestieOcto:RegisterMessage("AVAILABLE_QUESTS_READY",R,"OnStateChanged") -QuestieOcto:RegisterMessage("QUEST_LOG_CHANGED",R,"OnStateChanged") +QuestieOcto:RegisterMessage("QUEST_LOG_CHANGED",R,"OnStateChanged") \ No newline at end of file