diff --git a/ARLConfig.lua b/ARLConfig.lua index ea171a6..931d190 100644 --- a/ARLConfig.lua +++ b/ARLConfig.lua @@ -1024,8 +1024,16 @@ local function fullOptions() get = function() return addon.db.profile.includefiltered end, set = function() addon.db.profile.includefiltered = not addon.db.profile.includefiltered end, }, + includeexcluded = { + order = 22, + type = "toggle", + name = L["Include Excluded"], + desc = L["EXCLUDECOUNT_DESC"], + get = function() return addon.db.profile.includeexcluded end, + set = function() addon.db.profile.includeexcluded = not addon.db.profile.includeexcluded end, + }, closegui = { - order = 23, + order = 25, type = "toggle", name = L["Close GUI"], desc = L["CLOSEGUI_DESC"], @@ -1033,7 +1041,7 @@ local function fullOptions() set = function() addon.db.profile.closeguionskillclose = not addon.db.profile.closeguionskillclose end, }, ignoreexclusionlist = { - order = 24, + order = 26, type = "toggle", name = L["Display Exclusions"], desc = L["DISPLAY_EXCLUSION_DESC"], @@ -1041,7 +1049,7 @@ local function fullOptions() set = function() addon.db.profile.ignoreexclusionlist = not addon.db.profile.ignoreexclusionlist end, }, uiscale = { - order = 25, + order = 30, type = "range", name = L["UI Scale"], desc = L["UI_SCALE_DESC"], @@ -1056,7 +1064,7 @@ local function fullOptions() end, }, tooltipscale = { - order = 26, + order = 31, type = "range", name = L["Tooltip Scale"], desc = L["TOOLTIP_SCALE_DESC"], @@ -1071,22 +1079,22 @@ local function fullOptions() end, }, spacer2 = { - order = 27, + order = 32, type = "description", name = "\n", }, header3 = { - order = 30, + order = 40, type = "header", name = L["Sorting Settings"], }, longdesc = { - order = 31, + order = 41, type = "description", name = L["SORTING_SETTINGS_DESC"] .. "\n", }, sorting = { - order = 32, + order = 45, type = "select", name = L["Sorting"], desc = L["SORTING_DESC"], diff --git a/ARLDataminer.rb b/ARLDataminer.rb index 80a0b91..94b4d1b 100644 --- a/ARLDataminer.rb +++ b/ARLDataminer.rb @@ -1178,7 +1178,11 @@ $bosslist = ["Anetheron","Archimonde","Azuregos","Baron Geddon","Baron Rivendare "Magmadar","Shazzrah","Lord Kazzak","Pusillin","Darkmaster Gandling","Mijan","Pyromancer Loregrain", "Lord Roccor","Overmaster Pyron","Grizzle","Ribbly Screwspigot","Attumen the Huntsman","Halazzi","Akil'zon", "Nalorakk","Jan'alai","Zul'jin","Theka the Martyr","Plugger Spazzring","Bannok Grimaxe","Quartermaster Zigris", - "Solakar Flamewreath","Maleki the Pallid"] + "Solakar Flamewreath","Maleki the Pallid","Mekgineer Thermaplugg","Magister Kalendris","Attumen the Huntsman", + "Moroes","Terestian Illhoof","Shade of Aran","Rage Winterchill","Mekgineer Steamrigger","Warlord Kalithresh", + "Anetheron","Azgalor","Captain Skarloc","Kaz'rogal","Mennu the Betrayer","Thorngrin the Tender","Warp Splinter", + "Epoch Hunter","Blackheart the Inciter","Pathaleon the Calculator","Mechano-Lord Capacitus","Nethermancer Sepethrea", + "Dalliah the Doomsayer"] $bosszonemap = { "Magmadar" => "Molten Core", @@ -1194,11 +1198,15 @@ $bosszonemap = { "Nalorakk" => "Zul'Aman", "Jan'alai" => "Zul'Aman", "Zul'jin" => "Zul'Aman", + "Hex Lord Malacrass" => "Zul'Aman", "Shadowsword Lifeshaper" => "Sunwell Plateau", + "Scarlet Sorcerer" => "Scarlet Monestary", + "Scarlet Defender" => "Scarlet Monestary", "Scarlet Monastery" => "Scarlet Monestary", "Scarlet Myrmidon" => "Scarlet Monestary", "Scarlet Chaplain" => "Scarlet Monestary", "Scarlet Wizard" => "Scarlet Monestary", + "Mekgineer Thermaplugg" => "Gnomergan", "Scarab" => "Zul'Farrak", "Theka the Martyr" => "Zul'Farrak", "Sul'lithuz Broodling" => "Zul'Farrak", @@ -1206,6 +1214,7 @@ $bosszonemap = { "Spirestone Battle Mage" => "Blackrock Spire", "Spirestone Warlord" => "Blackrock Spire", "Firebrand Grunt" => "Blackrock Spire", + "Blackhand Assassin" => "Blackrock Spire", "Firebrand Invoker" => "Blackrock Spire", "Plugger Spazzring" => "Blackrock Depths", "Ribbly Screwspigot" => "Blackrock Depths", @@ -1221,7 +1230,48 @@ $bosszonemap = { "Baron Rivendare" => "Stratholme", "Scholomance Adept" => "Scholomance", "Balnazzar" => "Stratholme", - "Goraluk Anvilcrack" => "Blackrock Spire", + "Goraluk Anvilcrack" => "Blackrock Spire", + "Gurubashi Champion" => "Zul'Gurub", + "Razzashi Broodwidow" => "Zul'Gurub", + "Arcane Aberration" => "Dire Maul", + "Magister Kalendris" => "Dire Maul", + "Cruelfin" => "Bloodmyst Isle", + "Attumen the Huntsman" => "Karazhan", + "Moroes" => "Karazhan", + "Terestian Illhoof" => "Karazhan", + "Coldmist Widow" => "Karazhan", + "Phantom Attendant" => "Karazhan", + "Phantom Valet" => "Karazhan", + "Phantom Guest" => "Karazhan", + "Night Mistress" => "Karazhan", + "Phantom Stagehand" => "Karazhan", + "Syphoner" => "Karazhan", + "Arcane Protector" => "Karazhan", + "Shade of Aran" => "Karazhan", + "Spell Shade" => "Karazhan", + "Fleshbeast" => "Karazhan", + "Rage Winterchill" => "Mount Hyjal", + "Kaz'rogal" => "Mount Hyjal", + "Anetheron" => "Mount Hyjal", + "Azgalor" => "Mount Hyjal", + "Archimonde" => "Mount Hyjal", + "Durnholde Sentry" => "Old Hillsbrad Foothills", + "Durnholde Rifleman" => "Old Hillsbrad Foothills", + "Rift Lord" => "The Black Morass", + "Captain Skarloc" => "Old Hillsbrad Foothills", + "Blackheart the Inciter" => "Shadow Labrynth", + "Pathaleon the Calculator" => "The Mechanar", + "Mechano-Lord Capacitus" => "The Mechanar", + "Bloodwarder Squire" => "Tempest Keep", + "Arcatraz Sentinel" => "The Arcatraz", + "Eredar Deathbringer" => "The Arcatraz", + "Dalliah the Doomsayer" => "The Arcatraz", + "Gargantuan Abyssal" => "The Arcatraz", + "Unchained Doombringer" => "The Arcatraz", + "Twilight Drakonaar" => "The Arcatraz", + "Greyheart Tidecaller" => "Serpentshrine Cavern", + "Coilfang Serpentguard" => "Serpentshrine Cavern", + "Bonechewer Blade Fury" => "Black Temple", } # Manual entries to the vendor, etc list diff --git a/ARLFrame.lua b/ARLFrame.lua index 9469e43..f636ac5 100644 --- a/ARLFrame.lua +++ b/ARLFrame.lua @@ -148,7 +148,16 @@ StaticPopupDialogs["ARL_ALLKNOWN"] = { exclusive = 1, whileDead = 1, hideOnEscape = 1 -}; +} + +StaticPopupDialogs["ARL_ALLEXCLUDED"] = { + text = L["ARL_ALLKNOWN"], + button1 = L["Ok"], + timeout = 0, + exclusive = 1, + whileDead = 1, + hideOnEscape = 1 +} -- Description: -- Expected result: @@ -170,7 +179,6 @@ local function SetProgressBar(playerData) local pbCur, pbMax - if (addon.db.profile.includefiltered == true) then pbCur = playerData.recipes_known @@ -184,6 +192,13 @@ local function SetProgressBar(playerData) end + if (not addon.db.profile.includeexcluded) then + + pbCur = pbCur - playerData.excluded_recipes_known + pbMax = pbMax - playerData.excluded_recipes_unknown + + end + ARL_ProgressBar:SetMinMaxValues(0, pbMax) ARL_ProgressBar:SetValue(pbCur) ARL_ProgressBarText:SetText(pbCur .. " / " .. pbMax .. " - " .. math.floor(pbCur / pbMax * 100) .. "%") @@ -1819,7 +1834,7 @@ function RecipeList_Update() end - -- Entries are 0 here + -- Entries are 0 here, so we have 0 to display else -- If the recipe total is at 0, it means we have not scanned the profession yet @@ -1833,13 +1848,18 @@ function RecipeList_Update() StaticPopup_Show("ARL_ALLKNOWN") -- Our filters are actually filtering something - elseif (playerData.recipes_total_filtered == 0) then + elseif ((playerData.recipes_total_filtered - playerData.recipes_known_filtered) ~= 0) then StaticPopup_Show("ARL_ALLFILTERED") + -- Our exclusion list is preventing something from being displayed + elseif (playerData.excluded_recipes_unknown ~= 0) then + + StaticPopup_Show("ARL_ALLEXCLUDED") + else - addon:Print("No recipes to display.") + addon:Print(L["NO_DISPLAY"]) end diff --git a/AckisRecipeList.lua b/AckisRecipeList.lua index fdd9eec..173b230 100644 --- a/AckisRecipeList.lua +++ b/AckisRecipeList.lua @@ -141,6 +141,7 @@ function addon:OnInitialize() -- Display Options includefiltered = false, + includeexcluded = false, closeguionskillclose = false, ignoreexclusionlist = false, uiscale = 1, @@ -1763,11 +1764,12 @@ do -- Mark excluded recipes if (not addon.db.profile.ignoreexclusionlist) then - playerData.excludedRecipes = self:GetExclusions(RecipeList) + playerData.excluded_recipes_known, playerData.excluded_recipes_unknown = self:GetExclusions(RecipeList) else - playerData.excludedRecipes = 0 + playerData.excluded_recipes_known = 0 + playerData.excluded_recipes_unknown = 0 end @@ -1962,7 +1964,8 @@ end function addon:GetExclusions(RecipeDB) local exclusionlist = addon.db.profile.exclusionlist - local count = 0 + local countknown = 0 + local countunknown = 0 for i in pairs(exclusionlist) do @@ -1971,13 +1974,22 @@ function addon:GetExclusions(RecipeDB) if (RecipeDB[i]) then RecipeDB[i]["Display"] = false - count = count + 1 + + if (RecipeDB[i]["Known"] == false) then + + countknown = countknown + 1 + + else + + countunknown = countunknown + 1 + + end end end - return count + return countknown, countunknown end diff --git a/Locals/ARLLocals-enUS.lua b/Locals/ARLLocals-enUS.lua index 3b8a14a..77394ec 100644 --- a/Locals/ARLLocals-enUS.lua +++ b/Locals/ARLLocals-enUS.lua @@ -64,6 +64,8 @@ L["SORTING_SETTINGS_DESC"] = "Allows you to customize the way displayed recipes -- Config UI Elements and their associated descriptions L["Include Filtered"] = true L["FILTERCOUNT_DESC"] = "Include filtered recipes in the count of total recipes." +L["Include Excluded"] = true +L["EXCLUDECOUNT_DESC"] = "Include excluded recipes in the count of total recipes." L["Close GUI"] = "Close with Tradeskill UI" L["CLOSEGUI_DESC"] = "Close the ARL window when the crafting window is closed." L["Display Exclusions"] = true @@ -270,6 +272,8 @@ L["Required Skill"] = true L["NOTSCANNED"] = "You have not yet scanned this profession. Please open this profession and click on Scan Skills." L["ALL_FILTERED"] = "Although you have already scanned this profession, your filters are currently preventing any recipes from being displayed. Please change your filters and try again." L["ARL_ALLKNOWN"] = "You know all the recipes for this profession." +L["ARL_ALLEXCLUDED"] = "Although you have already scanned this profession, your exclusions are currently preventing any recipes from being displayed. Please change your exclusions and try again." +L["NO_DISPLAY"] = "No recipes to display. If you get this message please submit a ticket at http://www.wowace.com/projects/arl/tickets listing what filters you have, what is in your exclusion list, which profession, and the number of known/unknown recipes." -- Error/warning Text L["MissingFromDB"] = ": is missing from the database. \nPlease inform the author of the add-on about this recipe."