Quantcast

Ackis Recipe List:

Ackis [11-12-08 - 17:05]
Ackis Recipe List:
- Added option to prevent excluded recipes from being displayed in the progress bar
- Two new localization entries:
L["Include Excluded"]		= true
L["EXCLUDECOUNT_DESC"]		= "Include excluded recipes in the count of total recipes."
- Added support for a pop-up if the exclusions are preventing recipes from being displayed
- Two localization entry:
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."
- Update dataminer with more missing locations, all mobs are done now.
- Dry-coded (Compiles with luac -p)
Filename
ARLConfig.lua
ARLDataminer.rb
ARLFrame.lua
AckisRecipeList.lua
Locals/ARLLocals-enUS.lua
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."