Quantcast

Make the miner check to see if vendors/mobs/raids/dungeons have a pattern to scan. Also add a caveat to the player role flag listing.

ackis [08-25-09 - 20:24]
Make the miner check to see if vendors/mobs/raids/dungeons have a pattern to scan.  Also add a caveat to the player role flag listing.
Filename
ARLDatamine.lua
diff --git a/ARLDatamine.lua b/ARLDatamine.lua
index 79d6e0c..89a7f8d 100644
--- a/ARLDatamine.lua
+++ b/ARLDatamine.lua
@@ -1180,6 +1180,7 @@ function addon:TooltipScanRecipe(spellid,is_vendor,is_largescan)

 			-- Check to see if we're dealing with a recipe
 			if (RECIPE_NAMES[matchtext]) then
+				-- Scan the recipe which is loaded on the tooltip
 				self:ScanToolTip(recipe_name,recipe_list,reverse_lookup,is_vendor,false)

 				-- We have a reverse look-up for the item which creates the spell (aka the recipe itself)
@@ -1188,10 +1189,18 @@ function addon:TooltipScanRecipe(spellid,is_vendor,is_largescan)
 					local incache = GetItemInfo(itemid)
 					if (incache) then
 						ARLDatamineTT:SetHyperlink("item:" .. itemid .. ":0:0:0:0:0:0:0")
+						-- Scan the recipe item (aka pattern)
 						self:ScanToolTip(recipe_name,recipe_list,reverse_lookup,is_vendor,true)
 					else
 						tinsert(t,"Item ID: " .. itemid .. " not in cache.  If you have Querier use /iq " .. itemid)
 					end
+				-- We are dealing with a recipe that does not have an item to learn it from
+				else
+					-- Lets check the recipe flags to see if we have a data error and the item should exist
+					local flags = recipe_list[spellid]["Flags"]
+					if (flags[4] or flags[5] or flags[6]) then
+						tinsert(t,"Spell ID: " .. spellid .. " Does not have a recipe pattern in the miner.  Please add it manually to the table SPELL_ITEM.")
+					end
 				end

 				-- Add the flag scan to the table if it's not nil
@@ -1818,7 +1827,7 @@ do
 		-- Check for player role flags
 		if (not scan_data.tank) and (not scan_data.healer) and (not scan_data.caster) and (not scan_data.dps) and (not NO_PLAYER_FLAG[spellid]) then
 			addedtotable = true
-			tinsert(t,"No player role flag. " .. recipe_name .. " (" .. spellid .. ")")
+			tinsert(t,"No player role flag. " .. recipe_name .. " (" .. spellid .. ").  If this is erroneous, please add the spell ID to the NO_PLAYER_FLAG table in the dataminer.")
 		end

 		if (scan_data.specialty) then