From 0ff5c4f0be0033fc5f6ea289ba72cf1d9c9eaf0f Mon Sep 17 00:00:00 2001 From: ackis Date: Mon, 11 May 2009 17:14:23 +0000 Subject: [PATCH] Implement ticket 534, we now keep track of profession specific exclusions. Also rewrite the exclusion function to be a bit more better. :P --- ARLFrame.lua | 6 +----- AckisRecipeList.lua | 34 +++++++++++----------------------- 2 files changed, 12 insertions(+), 28 deletions(-) diff --git a/ARLFrame.lua b/ARLFrame.lua index 5ac1cbd..1b57a60 100644 --- a/ARLFrame.lua +++ b/ARLFrame.lua @@ -1249,11 +1249,7 @@ local function ReDisplay() addon:UpdateFilters(recipeDB, allSpecTable, playerData) sortedRecipeIndex = addon:SortMissingRecipes(recipeDB) - if (not addon.db.profile.ignoreexclusionlist) then - playerData.excluded_recipes_known, playerData.excluded_recipes_unknown = addon:GetExclusions(recipeDB,1) - else - playerData.excluded_recipes_known, playerData.excluded_recipes_unknown = addon:GetExclusions(recipeDB,0) - end + playerData.excluded_recipes_known, playerData.excluded_recipes_unknown, playerData.excluded_recipes_prof = addon:GetExclusions(recipeDB,playerData.playerProfession) initDisplayStrings() diff --git a/AckisRecipeList.lua b/AckisRecipeList.lua index 3a8dffc..da8ff6f 100644 --- a/AckisRecipeList.lua +++ b/AckisRecipeList.lua @@ -282,7 +282,7 @@ function addon:OnInitialize() shaman = true, warlock = true, warrior = true, - } + }, } } } @@ -609,23 +609,17 @@ function addon:addTradeSkill(RecipeDB, SpellID, SkillLevel, ItemID, Rarity, Prof local spellLink = GetSpellLink(SpellID) if (spellLink ~= nil) then - --RecipeDB[SpellID]["RecipeLink"] = string.gsub(spellLink, "spell", "enchant") RecipeDB[SpellID]["RecipeLink"] = spellLink - else - RecipeDB[SpellID]["RecipeLink"] = nil - end -- Get the recipe name now RecipeDB[SpellID]["Name"] = GetSpellInfo(SpellID) or nil if (RecipeDB[SpellID]["Name"] == nil) then - self:Print(format(L["SpellIDCache"],SpellID)) - end -- All recipes are unknown until scan occurs @@ -1879,11 +1873,7 @@ do -- Add filtering flags to the recipes self:UpdateFilters(RecipeList, AllSpecialtiesTable, playerData) -- Mark excluded recipes - if (not addon.db.profile.ignoreexclusionlist) then - playerData.excluded_recipes_known, playerData.excluded_recipes_unknown = self:GetExclusions(RecipeList,1) - else - playerData.excluded_recipes_known, playerData.excluded_recipes_unknown = self:GetExclusions(RecipeList,0) - end + playerData.excluded_recipes_known, playerData.excluded_recipes_unknown, playerData.excluded_recipes_prof = self:GetExclusions(RecipeList,playerData.playerProfession) end if (textdump == true) then @@ -2066,39 +2056,37 @@ end -- Description: Marks all exclusions in the recipe database to not be displayed -function addon:GetExclusions(RecipeDB, Ignored) +function addon:GetExclusions(RecipeDB,prof) local exclusionlist = addon.db.profile.exclusionlist local countknown = 0 local countunknown = 0 + local countprof = 0 + + local ignored = addon.db.profile.ignoreexclusionlist for i in pairs(exclusionlist) do -- We may have a recipe in the exclusion list that has not been scanned yet -- check if the entry exists in RecipeDB first if (RecipeDB[i]) then - - if (Ignored == 1) then - + if (ignored) then RecipeDB[i]["Display"] = false - end if (RecipeDB[i]["Known"] == false) then - countknown = countknown + 1 - else - countunknown = countunknown + 1 - end - + if (RecipeDB[i]["Profession"] == prof) then + countprof = countprof + 1 + end end end - return countknown, countunknown + return countknown, countunknown, prof end -- 1.7.9.5