Quantcast

Move branch to trunk

ackis [10-20-08 - 02:23]
Move branch to trunk
Filename
.pkgmeta
ARLColour.lua
ARLConfig.lua
ARLFrame.lua
AckisRecipeList.lua
AckisRecipeList.toc
Documentation.lua
Locals/ARLLocals-enUS.lua
Locals/ARLLocals-koKR.lua
Locals/LocalStrings-enUS.lua
RecipeDB/ARL-Alchemy.lua
RecipeDB/ARL-BeastTrain.lua
RecipeDB/ARL-BlackSmith.lua
RecipeDB/ARL-Cook.lua
RecipeDB/ARL-Enchant.lua
RecipeDB/ARL-Engineer.lua
RecipeDB/ARL-FirstAid.lua
RecipeDB/ARL-Inscription.lua
RecipeDB/ARL-Jewelcraft.lua
RecipeDB/ARL-LeatherWork.lua
RecipeDB/ARL-Mob.lua
RecipeDB/ARL-Quest.lua
RecipeDB/ARL-Reputation.lua
RecipeDB/ARL-RoguePoison.lua
RecipeDB/ARL-Seasonal.lua
RecipeDB/ARL-Smelt.lua
RecipeDB/ARL-Tailor.lua
RecipeDB/ARL-Trainer.lua
RecipeDB/ARL-Vendor.lua
database.xml
diff --git a/.pkgmeta b/.pkgmeta
index 2ec2248..114ea0a 100644
--- a/.pkgmeta
+++ b/.pkgmeta
@@ -5,6 +5,7 @@ package-as: AckisRecipeList
 ignore:
  - .pkgmeta
  - ARLDataminer.rb
+ - DataMiner

 externals:
 	libs/LibStub: svn://svn.wowace.com/wow/libstub/mainline/tags/1.0
diff --git a/ARLColour.lua b/ARLColour.lua
index a8933a9..22bfd12 100644
--- a/ARLColour.lua
+++ b/ARLColour.lua
@@ -1,4 +1,5 @@
 --[[
+
 ****************************************************************************************

 ARLColour.lua
@@ -11,10 +12,12 @@ $Rev$
 Code adopted from Crayon library

 ****************************************************************************************
+
 ]]--


-local addon = AckisRecipeList
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)

 --[[

@@ -35,12 +38,34 @@ local BLUE		= "0000ff"
 local CYAN		= "00ffff"
 local BLACK		= "000000"
 local GREY		= "666666"
+local MIDGREY	= "858585"
 local NEUTRAL	= "bfbfbf"
 local FRIENDLY	= WHITE
 local HONORED	= "00ff00"
 local REVERED	= "3f66e5"
 local EXALTED	= "9933cc"

+local TRAINER	= "d9cb9e"
+local VENDOR	= "aad372"
+local QUEST		= "2359ff"
+local REP		= "ff7c0a"
+local SEASON	= "80590e"
+local MOBDROP	= "ffffc0"
+
+local POOR		= "919191"
+local COMMON	= WHITE
+local UNCOMMON	= "00A900"
+local RARE		= "0062C3"
+local EPIC		= "B343FF"
+local LEGENDARY	= "FA9900"
+local ARTIFACT	= "e5cc80"
+
+local HIGH		= WHITE
+local NORMAL	= "ffd100"
+
+local HORDE		= "ff0000"
+local ALLIANCE	= "00ffff"
+
 --[[

 	Text colourization functions
@@ -84,6 +109,89 @@ function addon:Exalted(text)
 	return self:Colourize(EXALTED, text)
 end

+function addon:Horde(text)
+	return self:Colourize(RED, text)
+end
+
+function addon:Alliance(text)
+	return self:Colourize(CYAN, text)
+end
+
+function addon:Coords(text)
+	return self:Colourize(WHITE, text)
+end
+
+function addon:Trainer( text )
+	return self:Colourize( TRAINER, text )
+end
+
+function addon:Vendor( text )
+	return self:Colourize( VENDOR, text )
+end
+
+function addon:Quest( text )
+	return self:Colourize( QUEST, text )
+end
+
+function addon:Rep( text )
+	return self:Colourize( REP, text )
+end
+
+function addon:Season( text )
+	return self:Colourize( SEASON, text )
+end
+
+function addon:MobDrop( text )
+	return self:Colourize( MOBDROP, text )
+end
+
+-- Rarity Colors
+function addon:Poor( text )
+	return self:Colourize( POOR, text )
+end
+
+function addon:Common( text )
+	return self:Colourize( COMMON, text )
+end
+
+function addon:Uncommon( text )
+	return self:Colourize( UNCOMMON, text )
+end
+
+function addon:Rare( text )
+	return self:Colourize( RARE, text )
+end
+
+function addon:Epic( text )
+	return self:Colourize( EPIC, text )
+end
+
+function addon:Legendary( text )
+	return self:Colourize( LEGENDARY, text )
+end
+
+function addon:Artifact( text )
+	return self:Colourize( ARTIFACT, text )
+end
+
+function addon:RarityColor( rarityColor, text )
+	if ( rarityColor == 1 ) then
+		return self:Colourize( POOR, text )
+	elseif ( rarityColor == 2 ) then
+		return self:Colourize( COMMON, text )
+	elseif ( rarityColor == 3 ) then
+		return self:Colourize( UNCOMMON, text )
+	elseif ( rarityColor == 4 ) then
+		return self:Colourize( RARE, text )
+	elseif ( rarityColor == 5 ) then
+		return self:Colourize( EPIC, text )
+	elseif ( rarityColor == 6 ) then
+		return self:Colourize( LEGENDARY, text )
+	else
+		return self:Colourize( ARTIFACT, text )
+	end
+end
+
 -- Converts text to Red
 function addon:Red(text)
 	return self:Colourize(RED, text)
@@ -147,4 +255,54 @@ end
 -- Converts text to Grey
 function addon:Grey(text)
 	return self:Colourize(GREY, text)
+end
+
+-- Converts text to Middle Grey
+function addon:MidGrey(text)
+	return self:Colourize(MIDGREY, text)
+end
+
+-- Standard bliz yellowish sort of thing
+function addon:Normal( text )
+	return self:Colourize( NORMAL, text )
+end
+
+-- used for tooltip rgb stuff
+function addon:hexcolor( colorstring )
+	if ( colorstring == "NEUTRAL" )			then return NEUTRAL
+	elseif ( colorstring == "FRIENDLY" )	then return FRIENDLY
+	elseif ( colorstring == "HONORED" )		then return HONORED
+	elseif ( colorstring == "REVERED" )		then return REVERED
+	elseif ( colorstring == "EXALTED" )		then return EXALTED
+
+	elseif ( colorstring == "TRAINER" )		then return TRAINER
+	elseif ( colorstring == "VENDOR" )		then return VENDOR
+	elseif ( colorstring == "QUEST" )		then return QUEST
+	elseif ( colorstring == "REP" )			then return REP
+	elseif ( colorstring == "SEASON" )		then return SEASON
+	elseif ( colorstring == "MOBDROP" )		then return MOBDROP
+
+	elseif ( colorstring == "POOR" )		then return POOR
+	elseif ( colorstring == "COMMON" )		then return COMMON
+	elseif ( colorstring == "UNCOMMON" )	then return UNCOMMON
+	elseif ( colorstring == "RARE" )		then return RARE
+	elseif ( colorstring == "EPIC" )		then return EPIC
+	elseif ( colorstring == "LEGENDARY" )	then return LEGENDARY
+	elseif ( colorstring == "ARTIFACT" )	then return ARTIFACT
+
+	elseif ( colorstring == "HORDE" )		then return HORDE
+	elseif ( colorstring == "ALLIANCE" )	then return ALLIANCE
+
+	elseif ( colorstring == "BLACK" )		then return BLACK
+	elseif ( colorstring == "ORANGE" )		then return ORANGE
+	elseif ( colorstring == "GREEN" )		then return GREEN
+	elseif ( colorstring == "YELLOW" )		then return YELLOW
+	elseif ( colorstring == "GREY")			then return GREY
+	elseif ( colorstring == "MIDGREY")		then return MIDGREY
+
+	elseif ( colorstring == "HIGH" )		then return HIGH
+--	elseif ( colorstring == "NORMAL" )		then return NORMAL
+	else
+		return NORMAL
+	end
 end
\ No newline at end of file
diff --git a/ARLConfig.lua b/ARLConfig.lua
new file mode 100644
index 0000000..5f80386
--- /dev/null
+++ b/ARLConfig.lua
@@ -0,0 +1,1137 @@
+--[[
+
+****************************************************************************************
+
+ARLConfig.lua
+
+Ace3 Configuration options for ARL
+
+$Date$
+$Rev$
+
+****************************************************************************************
+
+]]--
+
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local BFAC				= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+local AceConfig 		= LibStub("AceConfig-3.0")
+local AceConfigReg 		= LibStub("AceConfigRegistry-3.0")
+local AceConfigDialog 	= LibStub("AceConfigDialog-3.0")
+
+local modularOptions = {}
+local nagrandfac = BFAC["Kurenai"] .. "\\" .. BFAC["The Mag'har"]
+local hellfirefac = BFAC["Honor Hold"] .. "\\" .. BFAC["Thrallmar"]
+
+-- Description: Function which provides "profiles" options table
+-- Expected result: modularOptions extended with Ace3 profiles options
+-- Input: None
+-- Output: Ace3 config table
+
+local function giveProfiles()
+
+	return LibStub("AceDBOptions-3.0"):GetOptionsTable(addon.db)
+
+end
+
+-- Description: Function which provides our "filter" options tabkle
+-- Expected result: extend modularOptions with our "filter" options
+-- Input: None
+-- Output: Ace3 config table
+
+local filterOptions = nil
+
+local function giveFilter()
+
+	if (not filterOptions) then
+
+		filterOptions = {
+			order = 6,
+			type = "group",
+			name = L["Filtering Options"],
+			desc = L["FILTERING_OPTIONS_DESC"],
+			args = {
+				header1 = {
+					order	= 1,
+					type	= "header",
+					name	= L["Filtering Options"],
+				},
+				desc = {
+					order	= 2,
+					type	= "description",
+					name	= L["FILTERING_OPTIONS_DESC"],
+				},
+				general = {
+					order	= 3,
+					type	= "group",
+					name	= L["General"],
+					desc	= L["FILTERING_GENERAL_DESC"],
+					args	= {
+						header1 = {
+							order	= 1,
+							type	= "header",
+							name	= L["General Filtering Options"],
+						},
+						desc = {
+							order	= 2,
+							type	= "description",
+							name	= L["FILTERING_GENERAL_DESC"] .. "\n",
+						},
+						factions = {
+							order	= 3,
+							type	= "toggle",
+							name	= L["Faction"],
+							desc	= L["FACTION_DESC"],
+							get		= function() return addon.db.profile.filters.general.faction end,
+							set		= function() addon.db.profile.filters.general.faction = not addon.db.profile.filters.general.faction end,
+						},
+						classes = {
+							order	= 4,
+							type	= "toggle",
+							name	= L["Classes"],
+							desc	= L["CLASS_DESC"],
+							get		= function() return addon.db.profile.filters.general.class end,
+							set		= function() addon.db.profile.filters.general.class = not addon.db.profile.filters.general.class end,
+						},
+						specialities = {
+							order	= 5,
+							type	= "toggle",
+							name	= L["Specialties"],
+							desc	= L["SPECIALTY_DESC"],
+							get		= function() return addon.db.profile.filters.general.specialty end,
+							set		= function() addon.db.profile.filters.general.specialty = not addon.db.profile.filters.general.specialty end,
+						},
+						skill = {
+							order	= 6,
+							type	= "toggle",
+							name	= L["Skill"],
+							desc	= L["SKILL_DESC"],
+							get		= function() return addon.db.profile.filters.general.skill end,
+							set		= function() addon.db.profile.filters.general.skill = not addon.db.profile.filters.general.skill end,
+						},
+						known = {
+							order	= 7,
+							type	= "toggle",
+							name	= L["Known"],
+							desc	= L["KNOWN_DESC"],
+							get		= function() return addon.db.profile.filters.general.known end,
+							set		= function() addon.db.profile.filters.general.known = not addon.db.profile.filters.general.known end,
+						},
+						unknown = {
+							order	= 8,
+							type	= "toggle",
+							name	= L["Unknown"],
+							desc	= L["UNKNOWN_DESC"],
+							get		= function() return addon.db.profile.filters.general.unknown end,
+							set		= function() addon.db.profile.filters.general.unknown = not addon.db.profile.filters.general.unknown end,
+						},
+					},
+				},
+				obtain = {
+					order	= 4,
+					type	= "group",
+					name	= L["Obtain"],
+					desc	= L["FILTERING_OBTAIN_DESC"],
+					args	= {
+						header1 = {
+							order	= 1,
+							type	= "header",
+							name	= L["Obtain Filtering Options"],
+						},
+						desc = {
+							order	= 2,
+							type	= "description",
+							name	= L["FILTERING_OBTAIN_DESC"] .. "\n",
+						},
+						instance = {
+							order	= 3,
+							type	= "toggle",
+							name	= L["Instance"],
+							desc	= L["INSTANCE_DESC"],
+							get		= function() return addon.db.profile.filters.obtain.instance end,
+							set		= function() addon.db.profile.filters.obtain.instance = not addon.db.profile.filters.obtain.instance end,
+						},
+						raid = {
+							order	= 4,
+							type	= "toggle",
+							name	= L["Raid"],
+							desc	= L["RAID_DESC"],
+							get		= function() return addon.db.profile.filters.obtain.raid end,
+							set		= function() addon.db.profile.filters.obtain.raid = not addon.db.profile.filters.obtain.raid end,
+						},
+						quest = {
+							order	= 5,
+							type	= "toggle",
+							name	= L["Quest"],
+							desc	= L["QUEST_DESC"],
+							get		= function() return addon.db.profile.filters.obtain.quest end,
+							set		= function() addon.db.profile.filters.obtain.quest = not addon.db.profile.filters.obtain.quest end,
+						},
+						seasonal = {
+							order	= 6,
+							type	= "toggle",
+							name	= L["Seasonal"],
+							desc	= L["SEASONAL_DESC"],
+							get		= function() return addon.db.profile.filters.obtain.seasonal end,
+							set		= function() addon.db.profile.filters.obtain.seasonal = not addon.db.profile.filters.obtain.seasonal end,
+						},
+						trainer = {
+							order	= 7,
+							type	= "toggle",
+							name	= L["Trainer"],
+							desc	= L["TRAINER_DESC"],
+							get		= function() return addon.db.profile.filters.obtain.trainer end,
+							set		= function() addon.db.profile.filters.obtain.trainer = not addon.db.profile.filters.obtain.trainer end,
+						},
+						vendor = {
+							order	= 8,
+							type	= "toggle",
+							name	= L["Vendor"],
+							desc	= L["VENDOR_DESC"],
+							get		= function() return addon.db.profile.filters.obtain.vendor end,
+							set		= function() addon.db.profile.filters.obtain.vendor = not addon.db.profile.filters.obtain.vendor end,
+						},
+						PVP = {
+							order	= 9,
+							type	= "toggle",
+							name	= L["PVP"],
+							desc	= L["PVP_DESC"],
+							get		= function() return addon.db.profile.filters.obtain.pvp end,
+							set		= function() addon.db.profile.filters.obtain.pvp = not addon.db.profile.filters.obtain.pvp end,
+						},
+						discovery = {
+							order	= 10,
+							type	= "toggle",
+							name	= L["Discovery"],
+							desc	= L["DISCOVERY_DESC"],
+							get		= function() return addon.db.profile.filters.obtain.discovery end,
+							set		= function() addon.db.profile.filters.obtain.discovery = not addon.db.profile.filters.obtain.discovery end,
+						},
+						worlddrop = {
+							order	= 11,
+							type	= "toggle",
+							name	= L["World Drop"],
+							desc	= L["WORLD_DROP_DESC"],
+							get		= function() return addon.db.profile.filters.obtain.worlddrop end,
+							set		= function() addon.db.profile.filters.obtain.worlddrop = not addon.db.profile.filters.obtain.worlddrop end,
+						},
+						mobdrop = {
+							order	= 12,
+							type	= "toggle",
+							name	= L["Mob Drop"],
+							desc	= L["MOB_DROP_DESC"],
+							get		= function() return addon.db.profile.filters.obtain.mobdrop end,
+							set		= function() addon.db.profile.filters.obtain.mobdrop = not addon.db.profile.filters.obtain.mobdrop end,
+						},
+					}
+				},
+				binding = {
+					order	= 5,
+					type	= "group",
+					name	= L["Binding"],
+					desc	= L["FILTERING_BINDING_DESC"],
+					args	= {
+						header1 = {
+							order	= 1,
+							type	= "header",
+							name	= L["Binding Filtering Options"],
+						},
+						desc = {
+							order	= 2,
+							type	= "description",
+							name	= L["FILTERING_BINDING_DESC"] .. "\n",
+						},
+						BOE = {
+							order	= 3,
+							type	= "toggle",
+							name	= L["BOEFilter"],
+							desc	= L["BOE_DESC"],
+							get		= function() return addon.db.profile.filters.binding.itemboe end,
+							set		= function() addon.db.profile.filters.binding.itemboe = not addon.db.profile.filters.binding.itemboe end,
+						},
+						BOP = {
+							order	= 4,
+							type	= "toggle",
+							name	= L["BOPFilter"],
+							desc	= L["BOP_DESC"],
+							get		= function() return addon.db.profile.filters.binding.itembop end,
+							set		= function() addon.db.profile.filters.binding.itembop = not addon.db.profile.filters.binding.itembop end,
+						},
+						RecipeBOE = {
+							order	= 5,
+							type	= "toggle",
+							name	= L["RecipeBOEFilter"],
+							desc	= L["RECIPE_BOE_DESC"],
+							get		= function() return addon.db.profile.filters.binding.recipeboe end,
+							set		= function() addon.db.profile.filters.binding.recipeboe = not addon.db.profile.filters.binding.recipeboe end,
+						},
+						RecipeBOP = {
+							order	= 6,
+							type	= "toggle",
+							name	= L["RecipeBOPFilter"],
+							desc	= L["RECIPE_BOP_DESC"],
+							get		= function() return addon.db.profile.filters.binding.recipebop end,
+							set		= function() addon.db.profile.filters.binding.recipebop = not addon.db.profile.filters.binding.recipebop end,
+						},
+					},
+				},
+				item = {
+					order	= 6,
+					type	= "group",
+					name	= L["Item"],
+					desc	= L["FILTERING_ITEM_DESC"],
+					args	= {
+						header1 = {
+							order	= 1,
+							type	= "header",
+							name	= L["Item Filtering Options"],
+						},
+						desc = {
+							order	= 2,
+							type	= "description",
+							name	= L["FILTERING_ITEM_DESC"] .. "\n",
+						},
+						Armor = {
+							order	= 3,
+							type	= "group",
+							name	= L["Armor"],
+							desc	= L["FILTERING_Armor_DESC"],
+							args	= {
+								header1 = {
+									order	= 1,
+									type	= "header",
+									name	= L["Armor Filtering Options"],
+								},
+								desc = {
+									order	= 2,
+									type	= "description",
+									name	= L["FILTERING_Armor_DESC"] .. "\n",
+								},
+								cloth = {
+									order	= 3,
+									type	= "toggle",
+									name	= L["Cloth"],
+									desc	= L["CLOTH_DESC"],
+									get		= function() return addon.db.profile.filters.item.armor.cloth end,
+									set		= function() addon.db.profile.filters.item.armor.cloth = not addon.db.profile.filters.item.armor.cloth end,
+								},
+								leather = {
+									order	= 4,
+									type	= "toggle",
+									name	= L["Leather"],
+									desc	= L["LEATHER_DESC"],
+									get		= function() return addon.db.profile.filters.item.armor.leather end,
+									set		= function() addon.db.profile.filters.item.armor.leather = not addon.db.profile.filters.item.armor.leather end,
+								},
+								mail = {
+									order	= 5,
+									type	= "toggle",
+									name	= L["Mail"],
+									desc	= L["MAIL_DESC"],
+									get		= function() return addon.db.profile.filters.item.armor.mail end,
+									set		= function() addon.db.profile.filters.item.armor.mail = not addon.db.profile.filters.item.armor.mail end,
+								},
+								plate = {
+									order	= 6,
+									type	= "toggle",
+									name	= L["Plate"],
+									desc	= L["PLATE_DESC"],
+									get		= function() return addon.db.profile.filters.item.armor.plate end,
+									set		= function() addon.db.profile.filters.item.armor.plate = not addon.db.profile.filters.item.armor.plate end,
+								},
+								spacer1 ={
+									order	= 7,
+									type	= "header",
+									name	= "",
+								},
+
+								cloak = {
+									order	= 8,
+									type	= "toggle",
+									name	= L["Cloak"],
+									desc	= L["CLOAK_DESC"],
+									get		= function() return addon.db.profile.filters.item.armor.cloak end,
+									set		= function() addon.db.profile.filters.item.armor.cloak = not addon.db.profile.filters.item.armor.cloak end,
+								},
+								ring = {
+									order	= 9,
+									type	= "toggle",
+									name	= L["Ring"],
+									desc	= L["RING_DESC"],
+									get		= function() return addon.db.profile.filters.item.armor.ring end,
+									set		= function() addon.db.profile.filters.item.armor.ring = not addon.db.profile.filters.item.armor.ring end,
+								},
+								trinket = {
+									order	= 10,
+									type	= "toggle",
+									name	= L["Trinket"],
+									desc	= L["TRINKET_DESC"],
+									get		= function() return addon.db.profile.filters.item.armor.trinket end,
+									set		= function() addon.db.profile.filters.item.armor.trinket = not addon.db.profile.filters.item.armor.trinket end,
+								},
+								necklace = {
+									order	= 11,
+									type	= "toggle",
+									name	= L["Necklace"],
+									desc	= L["NECKLACE_DESC"],
+									get		= function() return addon.db.profile.filters.item.armor.necklace end,
+									set		= function() addon.db.profile.filters.item.armor.necklace = not addon.db.profile.filters.item.armor.necklace end,
+								},
+								shield = {
+									order	= 12,
+									type	= "toggle",
+									name	= L["Shield"],
+									desc	= L["SHIELD_DESC"],
+									get		= function() return addon.db.profile.filters.item.armor.shield end,
+									set		= function() addon.db.profile.filters.item.armor.shield = not addon.db.profile.filters.item.armor.shield end,
+								},
+							},
+						},
+						weapons = {
+							order	= 4,
+							type	= "group",
+							name	= L["Weapons"],
+							desc	= L["FILTERING_WEAPONS_DESC"],
+							args	= {
+								header1 = {
+									order	= 1,
+									type	= "header",
+									name	= L["Weapon Filtering Options"],
+								},
+								desc =  {
+									order	= 2,
+									type	= "description",
+									name	= L["FILTERING_WEAPONS_DESC"] .. "\n",
+								},
+								onehand = {
+									order	= 3,
+									type	= "toggle",
+									name	= L["One Hand"],
+									desc	= L["ONEHAND_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.onehand end,
+									set		= function() addon.db.profile.filters.item.weapon.onehand = not addon.db.profile.filters.item.weapon.onehand end,
+								},
+								twohand = {
+									order	= 4,
+									type	= "toggle",
+									name	= L["Two Hand"],
+									desc	= L["TWOHAND_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.twohand end,
+									set		= function() addon.db.profile.filters.item.weapon.twohand = not addon.db.profile.filters.item.weapon.twohand end,
+								},
+								axe = {
+									order	= 5,
+									type	= "toggle",
+									name	= L["Axe"],
+									desc	= L["AXE_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.axe end,
+									set		= function() addon.db.profile.filters.item.weapon.axe = not addon.db.profile.filters.item.weapon.axe end,
+								},
+								sword = {
+									order	= 6,
+									type	= "toggle",
+									name	= L["Sword"],
+									desc	= L["SWORD_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.sword end,
+									set		= function() addon.db.profile.filters.item.weapon.sword = not addon.db.profile.filters.item.weapon.sword end,
+								},
+								mace = {
+									order	= 7,
+									type	= "toggle",
+									name	= L["Mace"],
+									desc	= L["MACE_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.mace end,
+									set		= function() addon.db.profile.filters.item.weapon.mace = not addon.db.profile.filters.item.weapon.mace end,
+								},
+								polearm = {
+									order	= 8,
+									type	= "toggle",
+									name	= L["Polearm"],
+									desc	= L["POLEARM_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.polearm end,
+									set		= function() addon.db.profile.filters.item.weapon.polearm = not addon.db.profile.filters.item.weapon.polearm end,
+								},
+								dagger = {
+									order	= 9,
+									type	= "toggle",
+									name	= L["Dagger"],
+									desc	= L["DAGGER_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.dagger end,
+									set		= function() addon.db.profile.filters.item.weapon.dagger = not addon.db.profile.filters.item.weapon.dagger end,
+								},
+								fist = {
+									order	= 10,
+									type	= "toggle",
+									name	= L["Fist"],
+									desc	= L["FIST_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.fist end,
+									set		= function() addon.db.profile.filters.item.weapon.fist = not addon.db.profile.filters.item.weapon.fist end,
+								},
+								staff = {
+									order	= 11,
+									type	= "toggle",
+									name	= L["Staff"],
+									desc	= L["STAFF_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.staff end,
+									set		= function() addon.db.profile.filters.item.weapon.staff = not addon.db.profile.filters.item.weapon.staff end,
+									disabled	= true,
+								},
+								wand = {
+									order	= 12,
+									type	= "toggle",
+									name	= L["Wand"],
+									desc	= L["WAND_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.wand end,
+									set		= function() addon.db.profile.filters.item.weapon.wand = not addon.db.profile.filters.item.weapon.wand end,
+								},
+								thrown = {
+									order	= 13,
+									type	= "toggle",
+									name	= L["Thrown"],
+									desc	= L["THROWN_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.thrown end,
+									set		= function() addon.db.profile.filters.item.weapon.thrown = not addon.db.profile.filters.item.weapon.thrown end,
+								},
+								bow = {
+									order	= 14,
+									type	= "toggle",
+									name	= L["Bow"],
+									desc	= L["BOW_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.bow end,
+									set		= function() addon.db.profile.filters.item.weapon.bow = not addon.db.profile.filters.item.weapon.bow end,
+									disabled= true,
+								},
+								crossbow = {
+									order	= 15,
+									type	= "toggle",
+									name	= L["Crossbow"],
+									desc	= L["CROSSBOW_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.crossbow end,
+									set		= function() addon.db.profile.filters.item.weapon.crossbow = not addon.db.profile.filters.item.weapon.crossbow end,
+									disabled	= true,
+								},
+								ammo = {
+									order	= 16,
+									type	= "toggle",
+									name	= L["Ammo"],
+									desc	= L["AMMO_DESC"],
+									get		= function() return addon.db.profile.filters.item.weapon.ammo end,
+									set		= function() addon.db.profile.filters.item.weapon.ammo = not addon.db.profile.filters.item.weapon.ammo end,
+								},
+							},
+						},
+					},
+				},
+				playertype = {
+					order	= 7,
+					type	= "group",
+					name	= L["Player Type"],
+					desc	= L["FILTERING_PLAYERTYPE_DESC"],
+					args	= {
+						header1 = {
+							order	= 1,
+							type	= "header",
+							name	= L["Player Type Filtering Options"],
+						},
+						desc = {
+							order	= 2,
+							type	= "description",
+							name	= L["FILTERING_PLAYERTYPE_DESC"] .. "\n",
+						},
+						melee = {
+							order	= 3,
+							type	= "toggle",
+							name	= L["Melee DPS"],
+							desc	= L["MELEE_DPS_DESC"],
+							get		= function() return addon.db.profile.filters.player.melee end,
+							set		= function() addon.db.profile.filters.player.melee = not addon.db.profile.filters.player.melee end,
+						},
+						tanking = {
+							order	= 4,
+							type	= "toggle",
+							name	= L["Tanks"],
+							desc	= L["TANKS_DESC"],
+							get		= function() return addon.db.profile.filters.player.tank end,
+							set		= function() addon.db.profile.filters.player.tank = not addon.db.profile.filters.player.tank end,
+						},
+						casterdps = {
+							order	= 5,
+							type	= "toggle",
+							name	= L["Caster DPS"],
+							desc	= L["CASTER_DPS_DESC"],
+							get		= function() return addon.db.profile.filters.player.caster end,
+							set		= function() addon.db.profile.filters.player.caster = not addon.db.profile.filters.player.caster end,
+						},
+						healing = {
+							order	= 6,
+							type	= "toggle",
+							name	= L["Healers"],
+							desc	= L["HEALERS_DESC"],
+							get		= function() return addon.db.profile.filters.player.healer end,
+							set		= function() addon.db.profile.filters.player.healer = not addon.db.profile.filters.player.healer end,
+						},
+					},
+				},
+				reputations = {
+					order	= 8,
+					type	= "group",
+					name	= L["Reputation"],
+					desc	= L["FILTERING_REP_DESC"],
+					args	= {
+						header1 = {
+							order	= 1,
+							type	= "header",
+							name	= L["Reputation Filtering Options"],
+						},
+						desc = {
+							order	= 2,
+							type	= "description",
+							name	= L["FILTERING_REP_DESC"] .. "\n",
+						},
+						oldworld = {
+							order	= 3,
+							type	= "group",
+							name	= L["Old World"],
+							desc	= L["FILTERING_OLDWORLD_DESC"],
+							args	= {
+								header1 = {
+									order	= 1,
+									type	= "header",
+									name	= L["Old World"],
+								},
+								header2 = {
+									order	= 2,
+									type	= "header",
+									name	= L["Reputation Filtering Options"],
+								},
+								desc = {
+									order	= 3,
+									type	= "description",
+									name	= L["FILTERING_OLDWORLD_DESC"] .. "\n",
+								},
+								ArgentDawn = {
+									order	= 10,
+									type	= "toggle",
+									name	= BFAC["Argent Dawn"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Argent Dawn"]),
+									get		= function() return addon.db.profile.filters.rep.argentdawn end,
+									set		= function() addon.db.profile.filters.rep.argentdawn = not addon.db.profile.filters.rep.argentdawn end,
+								},
+								CenarionCircle = {
+									order	= 11,
+									type	= "toggle",
+									name	= BFAC["Cenarion Circle"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Cenarion Circle"]),
+									get		= function() return addon.db.profile.filters.rep.cenarioncircle end,
+									set		= function() addon.db.profile.filters.rep.cenarioncircle = not addon.db.profile.filters.rep.cenarioncircle end,
+								},
+								TB = {
+									order	= 12,
+									type	= "toggle",
+									name	= BFAC["Thorium Brotherhood"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Thorium Brotherhood"]),
+									get		= function() return addon.db.profile.filters.rep.thoriumbrotherhood end,
+									set		= function() addon.db.profile.filters.rep.thoriumbrotherhood = not addon.db.profile.filters.rep.thoriumbrotherhood end,
+								},
+								Timbermaw = {
+									order	= 13,
+									type	= "toggle",
+									name	= BFAC["Timbermaw Hold"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Timbermaw Hold"]),
+									get		= function() return addon.db.profile.filters.rep.timbermaw end,
+									set		= function() addon.db.profile.filters.rep.timbermaw = not addon.db.profile.filters.rep.timbermaw end,
+								},
+								Zandalar = {
+									order	= 14,
+									type	= "toggle",
+									name	= BFAC["Zandalar Tribe"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Zandalar Tribe"]),
+									get		= function() return addon.db.profile.filters.rep.zandalar end,
+									set		= function() addon.db.profile.filters.rep.zandalar = not addon.db.profile.filters.rep.zandalar end,
+								},
+							},
+						},
+						BC = {
+							order	= 4,
+							type	= "group",
+							name	= L["Burning Crusade"],
+							desc	= L["FILTERING_BC_DESC"],
+							args	= {
+								header1 = {
+									order	= 1,
+									type	= "header",
+									name	= L["Burning Crusade"],
+								},
+								header2 = {
+									order	= 2,
+									type	= "header",
+									name	= L["Reputation Filtering Options"],
+								},
+								desc = {
+									order	= 3,
+									type	= "description",
+									name	= L["FILTERING_BC_DESC"] .. "\n",
+								},
+								Aldor = {
+									order	= 10,
+									type	= "toggle",
+									name	= BFAC["The Aldor"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Aldor"]),
+									get		= function() return addon.db.profile.filters.rep.aldor end,
+									set		= function() addon.db.profile.filters.rep.aldor = not addon.db.profile.filters.rep.aldor end,
+								},
+								Ashtongue = {
+									order	= 11,
+									type	= "toggle",
+									name	= BFAC["Ashtongue Deathsworn"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Ashtongue Deathsworn"]),
+									get		= function() return addon.db.profile.filters.rep.ashtonguedeathsworn end,
+									set		= function() addon.db.profile.filters.rep.ashtonguedeathsworn = not addon.db.profile.filters.rep.ashtonguedeathsworn end,
+								},
+								CenarionExpedition = {
+									order	= 12,
+									type	= "toggle",
+									name	= BFAC["Cenarion Expedition"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Cenarion Expedition"]),
+									get		= function() return addon.db.profile.filters.rep.cenarionexpedition end,
+									set		= function() addon.db.profile.filters.rep.cenarionexpedition = not addon.db.profile.filters.rep.cenarionexpedition end,
+								},
+								Consortium = {
+									order	= 13,
+									type	= "toggle",
+									name	= BFAC["The Consortium"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Consortium"]),
+									get		= function() return addon.db.profile.filters.rep.consortium end,
+									set		= function() addon.db.profile.filters.rep.consortium = not addon.db.profile.filters.rep.consortium end,
+								},
+								HellfireFactions = {
+									order	= 14,
+									type	= "toggle",
+									name	= hellfirefac,
+									desc	= format(L["SPECIFIC_REP_DESC"],hellfirefac),
+									get		= function() return addon.db.profile.filters.rep.hellfire end,
+									set		= function() addon.db.profile.filters.rep.hellfire = not addon.db.profile.filters.rep.hellfire end,
+								},
+								KoT = {
+									order	= 15,
+									type	= "toggle",
+									name	= BFAC["Keepers of Time"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Keepers of Time"]),
+									get		= function() return addon.db.profile.filters.rep.keepersoftime end,
+									set		= function() addon.db.profile.filters.rep.keepersoftime = not addon.db.profile.filters.rep.keepersoftime end,
+								},
+								NagrandFactions = {
+									order	= 16,
+									type	= "toggle",
+									name	= nagrandfac,
+									desc	= format(L["SPECIFIC_REP_DESC"],nagrandfac),
+									get		= function() return addon.db.profile.filters.rep.nagrand end,
+									set		= function() addon.db.profile.filters.rep.nagrand = not addon.db.profile.filters.rep.nagrand end,
+								},
+								LowerCity = {
+									order	= 17,
+									type	= "toggle",
+									name	= BFAC["Lower City"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Lower City"]),
+									get		= function() return addon.db.profile.filters.rep.lowercity end,
+									set		= function() addon.db.profile.filters.rep.lowercity = not addon.db.profile.filters.rep.lowercity end,
+								},
+								Scale = {
+									order	= 18,
+									type	= "toggle",
+									name	= BFAC["The Scale of the Sands"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Scale of the Sands"]),
+									get		= function() return addon.db.profile.filters.rep.scaleofthesands end,
+									set		= function() addon.db.profile.filters.rep.scaleofthesands = not addon.db.profile.filters.rep.scaleofthesands end,
+								},
+								Scryer = {
+									order	= 19,
+									type	= "toggle",
+									name	= BFAC["The Scryers"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Scryers"]),
+									get		= function() return addon.db.profile.filters.rep.scryer end,
+									set		= function() addon.db.profile.filters.rep.scryer = not addon.db.profile.filters.rep.scryer end,
+								},
+								Shatar = {
+									order	= 20,
+									type	= "toggle",
+									name	= BFAC["The Sha'tar"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Sha'tar"]),
+									get		= function() return addon.db.profile.filters.rep.shatar end,
+									set		= function() addon.db.profile.filters.rep.shatar = not addon.db.profile.filters.rep.shatar end,
+								},
+								SSO = {
+									order	= 21,
+									type	= "toggle",
+									name	= BFAC["Shattered Sun Offensive"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Shattered Sun Offensive"]),
+									get		= function() return addon.db.profile.filters.rep.shatteredsun end,
+									set		= function() addon.db.profile.filters.rep.shatteredsun = not addon.db.profile.filters.rep.shatteredsun end,
+								},
+								Sporeggar = {
+									order	= 22,
+									type	= "toggle",
+									name	= BFAC["Sporeggar"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Sporeggar"]),
+									get		= function() return addon.db.profile.filters.rep.sporeggar end,
+									set		= function() addon.db.profile.filters.rep.sporeggar = not addon.db.profile.filters.rep.sporeggar end,
+								},
+								Violeteye = {
+									order	= 23,
+									type	= "toggle",
+									name	= BFAC["The Violet Eye"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Violet Eye"]),
+									get		= function() return addon.db.profile.filters.rep.violeteye end,
+									set		= function() addon.db.profile.filters.rep.violeteye = not addon.db.profile.filters.rep.violeteye end,
+								},
+							},
+						},
+-- Below this is WotLK stuff. May need to be changed post beta
+						WotLK = {
+							order	= 5,
+							type	= "group",
+							name	= L["Wrath of the Lich King"],
+							desc	= L["FILTERING_WOTLK_DESC"],
+							args	= {
+								header1 = {
+									order	= 1,
+									type	= "header",
+									name	= L["Wrath of the Lich King"],
+								},
+								header2 = {
+									order	= 2,
+									type	= "header",
+									name	= L["Reputation Filtering Options"],
+								},
+								desc = {
+									order	= 3,
+									type	= "description",
+									name	= L["FILTERING_WOTLK_DESC"] .. "\n",
+								},
+								ArgentCrusade = {
+									order	= 10,
+									type	= "toggle",
+									name	= BFAC["Argent Crusade"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Argent Crusade"]),
+									get		= function() return addon.db.profile.filters.rep.argentcrusade end,
+									set		= function() addon.db.profile.filters.rep.argentcrusade = not addon.db.profile.filters.rep.argentcrusade end,
+								},
+								Frenzyheart = {
+									order	= 11,
+									type	= "toggle",
+									name	= BFAC["Frenzyheart Tribe"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Frenzyheart Tribe"]),
+									get		= function() return addon.db.profile.filters.rep.frenzyheart end,
+									set		= function() addon.db.profile.filters.rep.frenzyheart = not addon.db.profile.filters.rep.frenzyheart end,
+								},
+								EbonBlade = {
+									order	= 12,
+									type	= "toggle",
+									name	= BFAC["Knights of the Ebon Blade"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Knights of the Ebon Blade"]),
+									get		= function() return addon.db.profile.filters.rep.ebonblade end,
+									set		= function() addon.db.profile.filters.rep.ebonblade = not addon.db.profile.filters.rep.ebonblade end,
+								},
+								KirinTor = {
+									order	= 13,
+									type	= "toggle",
+									name	= BFAC["Kirin Tor"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Kirin Tor"]),
+									get		= function() return addon.db.profile.filters.rep.kirintor end,
+									set		= function() addon.db.profile.filters.rep.kirintor = not addon.db.profile.filters.rep.kirintor end,
+								},
+								SonsOfHodir = {
+									order	= 14,
+									type	= "toggle",
+									name	= BFAC["The Sons of Hodir"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Sons of Hodir"]),
+									get		= function() return addon.db.profile.filters.rep.sonsofhodir end,
+									set		= function() addon.db.profile.filters.rep.sonsofhodir = not addon.db.profile.filters.rep.sonsofhodir end,
+								},
+								Kaluak = {
+									order	= 15,
+									type	= "toggle",
+									name	= BFAC["The Kalu'ak"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Kalu'ak"]),
+									get		= function() return addon.db.profile.filters.rep.kaluak end,
+									set		= function() addon.db.profile.filters.rep.kaluak = not addon.db.profile.filters.rep.kaluak end,
+								},
+								Oracles = {
+									order	= 16,
+									type	= "toggle",
+									name	= BFAC["The Oracles"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Oracles"]),
+									get		= function() return addon.db.profile.filters.rep.oracles end,
+									set		= function() addon.db.profile.filters.rep.oracles = not addon.db.profile.filters.rep.oracles end,
+								},
+								Wyrmrest = {
+									order	= 17,
+									type	= "toggle",
+									name	= BFAC["The Wyrmrest Accord"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Wyrmrest Accord"]),
+									get		= function() return addon.db.profile.filters.rep.wyrmrest end,
+									set		= function() addon.db.profile.filters.rep.wyrmrest = not addon.db.profile.filters.rep.wyrmrest end,
+								},
+								SilverCovenant = {
+									order	= 18,
+									type	= "toggle",
+									name	= BFAC["The Silver Convenant"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Silver Convenant"]),
+									get		= function() return addon.db.profile.filters.rep.silvercovenant end,
+									set		= function() addon.db.profile.filters.rep.silvercovenant = not addon.db.profile.filters.rep.silvercovenant end,
+								},
+								Sunreavers = {
+									order	= 19,
+									type	= "toggle",
+									name	= BFAC["The Sunreavers"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Sunreavers"]),
+									get		= function() return addon.db.profile.filters.rep.sunreavers end,
+									set		= function() addon.db.profile.filters.rep.sunreavers = not addon.db.profile.filters.rep.sunreavers end,
+								},
+								ExplorersLeague = {
+									order	= 20,
+									type	= "toggle",
+									name	= BFAC["Explorer's League"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Explorer's League"]),
+									get		= function() return addon.db.profile.filters.rep.explorersleague end,
+									set		= function() addon.db.profile.filters.rep.explorersleague = not addon.db.profile.filters.rep.explorersleague end,
+								},
+								ValianceExpedition = {
+									order	= 21,
+									type	= "toggle",
+									name	= BFAC["Valiance Expedition"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Valiance Expedition"]),
+									get		= function() return addon.db.profile.filters.rep.valiance end,
+									set		= function() addon.db.profile.filters.rep.valiance = not addon.db.profile.filters.rep.valiance end,
+								},
+								HandOfVengeance = {
+									order	= 22,
+									type	= "toggle",
+									name	= BFAC["The Hand of Vengeance"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Hand of Vengeance"]),
+									get		= function() return addon.db.profile.filters.rep.handofvengeance end,
+									set		= function() addon.db.profile.filters.rep.valiance = not addon.db.profile.filters.rep.valiance end,
+								},
+								Taunka = {
+									order	= 23,
+									type	= "toggle",
+									name	= BFAC["The Taunka"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["The Taunka"]),
+									get		= function() return addon.db.profile.filters.rep.taunka end,
+									set		= function() addon.db.profile.filters.rep.taunka = not addon.db.profile.filters.rep.taunka end,
+								},
+								WarsongOffensive = {
+									order	= 24,
+									type	= "toggle",
+									name	= BFAC["Warsong Offensive"],
+									desc	= format(L["SPECIFIC_REP_DESC"],BFAC["Warsong Offensive"]),
+									get		= function() return addon.db.profile.filters.rep.warsongoffensive end,
+									set		= function() addon.db.profile.filters.rep.warsongoffensive = not addon.db.profile.filters.rep.warsongoffensive end,
+								},
+							},
+						},
+					},
+				},
+			},
+		}
+
+	end
+
+	return filterOptions
+
+end
+
+-- Description: function to return the top level Ace3 config table
+-- Expected result: Will return the top level ace3 config table
+-- Input: None
+-- Output: Ace3 config table
+
+local options = nil
+
+local function fullOptions()
+
+	if (not options) then
+
+		options = {
+			type = "group",
+			name = MODNAME,
+			args = {
+				general = {
+					order	= 1,
+					type	= "group",
+					name	= L["Main Options"],
+					desc	= L["MAIN_OPTIONS_DESC"],
+					args	= {
+						header1 = {
+							order	= 10,
+							type	= "header",
+							name	= L["General Settings"],
+						},
+						version = {
+							order	= 11,
+							type	= "description",
+							name	= L["Version"] .. addon.addonversion .. "\n",
+						},
+						run = {
+							order	= 12,
+							type	= "execute",
+							name	= L["Scan Recipes"],
+							desc	= L["SCAN_RECIPES_DESC"],
+							func	= function(info) addon:AckisRecipeList_Command(false) end,
+						},
+						textdump = {
+							order	= 13,
+							type	= "execute",
+							name	= L["Text Dump"],
+							desc	= L["TEXT_DUMP_DESC"],
+							func	= function(info) addon:AckisRecipeList_Command(true) end,
+						},
+						spacer1 = {
+							order	= 14,
+							type	= "description",
+							name	= "\n",
+						},
+
+						header2 = {
+							order	= 20,
+							type	= "header",
+							name	= L["Display Settings"],
+						},
+						display_desc = {
+							order	= 21,
+							type	= "description",
+							name	= L["DISPLAY_SETTINGS_DESC"] .. "\n",
+						},
+						includefiltered = {
+							order	= 22,
+							type	= "toggle",
+							name	= L["Include Filtered"],
+							desc	= L["FILTERCOUNT_DESC"],
+							get		= function() return addon.db.profile.includefiltered end,
+							set		= function() addon.db.profile.includefiltered = not addon.db.profile.includefiltered end,
+						},
+						closegui = {
+							order	= 23,
+							type	= "toggle",
+							name	= L["Close GUI"],
+							desc	= L["CLOSEGUI_DESC"],
+							get		= function() return addon.db.profile.closeguionskillclose end,
+							set		= function() addon.db.profile.closeguionskillclose = not addon.db.profile.closeguionskillclose end,
+						},
+						ignoreexclusionlist = {
+							order	= 24,
+							type	= "toggle",
+							name	= L["Display Exclusions"],
+							desc	= L["DISPLAY_EXCLUSION_DESC"],
+							get		= function() return addon.db.profile.ignoreexclusionlist end,
+							set		= function() addon.db.profile.ignoreexclusionlist = not addon.db.profile.ignoreexclusionlist end,
+						},
+						uiscale = {
+							order	= 25,
+							type	= "range",
+							name	= L["UI Scale"],
+							desc	= L["UI_SCALE_DESC"],
+							min		= .5,
+							max		= 1.5,
+							step	= .05,
+							bigStep = .05,
+							get		= function() return addon.db.profile.uiscale end,
+							set		= function( info, v )
+										addon.db.profile.uiscale = v
+										if ( addon.Frame ) then addon.Frame:SetScale( v ) end
+									  end,
+						},
+						tooltipscale = {
+							order	= 26,
+							type	= "range",
+							name	= L["Tooltip Scale"],
+							desc	= L["TOOLTIP_SCALE_DESC"],
+							min		= .5,
+							max		= 1.5,
+							step	= .05,
+							bigStep = .05,
+							get		= function() return addon.db.profile.tooltipscale end,
+							set		= function( info, v )
+										addon.db.profile.tooltipscale = v
+										if ( arlTooltip ) then arlTooltip:SetScale( v ) end
+									  end,
+						},
+						spacer2 = {
+							order	= 27,
+							type	= "description",
+							name	= "\n",
+						},
+						header3 = {
+							order	= 30,
+							type	= "header",
+							name	= L["Sorting Settings"],
+						},
+						longdesc =	{
+							order	= 31,
+							type	= "description",
+							name	= L["SORTING_SETTINGS_DESC"] .. "\n",
+						},
+						sorting = {
+							order	= 32,
+							type	= "select",
+							name	= L["Sorting"],
+							desc	= L["SORTING_DESC"],
+							get		= function() return addon.db.profile.sorting end,
+							-- This will probably cause people in multiple locals to have issues
+							set		= function(info,name) addon.db.profile.sorting = name end,
+							values	= function() return {Name = L["Name"], Skill = L["Skill"], Acquisition = L["Acquisition"]} end,
+						},
+					},
+				},
+			},
+		}
+
+		for k,v in pairs(modularOptions) do
+
+			options.args[k] = (type(v) == "function") and v() or v
+
+		end
+
+	end
+
+	return options
+
+end
+
+-- Description:
+-- Expected result:
+-- Input: None
+-- Output: None.
+
+function addon:SetupOptions()
+
+	AceConfigReg:RegisterOptionsTable(MODNAME, fullOptions)
+	self.optionsFrame = AceConfigDialog:AddToBlizOptions(MODNAME, nil, nil, "general")
+
+	-- Add in the about panel to the Bliz options (but not the ace3 config)
+	self.optionsFrame["About"] = LibStub("LibAboutPanel").new(MODNAME, MODNAME)
+
+	-- Fill up our modular options...
+	self:RegisterModuleOptions("Filters", giveFilter(), L["Filtering Options"])
+	self:RegisterModuleOptions("Profiles", giveProfiles(), L["Profile Options"])
+
+end
+
+-- Description: Function which extends our options table in a modular way
+-- Expected result: add a new modular options table to the modularOptions upvalue as well as the Blizzard config
+-- Input:
+--		name			: index of the options table in our main options table
+--		optionsTable	: the sub-table to insert
+--		displayName	: the name to display in the config interface for this set of options
+-- Output: None.
+
+function addon:RegisterModuleOptions(name, optionsTable, displayName)
+
+	modularOptions[name] = optionsTable
+	self.optionsFrame[name] = AceConfigDialog:AddToBlizOptions(MODNAME, displayName, MODNAME, name)
+
+end
diff --git a/ARLFrame.lua b/ARLFrame.lua
index cadc84a..858c356 100644
--- a/ARLFrame.lua
+++ b/ARLFrame.lua
@@ -1,4 +1,5 @@
 --[[
+
 ****************************************************************************************

 ARLFrame.lua
@@ -9,21 +10,58 @@ $Date$
 $Rev$

 ****************************************************************************************
+
 ]]--

-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
+local MODNAME	= "Ackis Recipe List"
+local addon		= LibStub("AceAddon-3.0"):GetAddon(MODNAME)

-local addon = AckisRecipeList
+local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
+local L			= LibStub("AceLocale-3.0"):GetLocale(MODNAME)

 local string = string
 local ipairs = ipairs
 local tinsert = tinsert
-local CraftIsPetTraining = CraftIsPetTraining

--- used by our frame to maintain the list that will be displayed. will be wiped and recreated
--- anytime CreateFrame is used.
-addon.DisplayStrings = {}
+-- local variables for this file. Must be used by multiple functions to be listed here
+local currentProfIndex = 0
+local currentProfession = ""
+local maxVisibleRecipes = 24
+local FilterValueMap = {}
+local sortedRecipeIndex = {}
+local DisplayStrings = {}
+local myFaction = ""
+
+-- local versions of the databases storing the recipe information, trainers, vendors, etc
+local recipeDB = {}
+local trainerDB = {}
+local vendorDB = {}
+local questDB = {}
+local repDB = {}
+local seasonDB = {}
+local mobDB = {}
+local allSpecTable = {}
+local playerData = {}
+
+local arlTooltip = _G["arlTooltip"]
+
+-- To make tabbing between professions easier
+local SortedProfessions = {
+	{ name = "Alchemy",			texture = "alchemy" },		-- 1
+	{ name = "Beast Training",	texture = "beast" },		-- 2
+	{ name = "Blacksmithing",	texture = "blacksmith" },	-- 3
+	{ name = "Cooking",			texture = "cooking" },		-- 4
+	{ name = "Enchanting",		texture = "enchant" },		-- 5
+	{ name = "Engineering",		texture = "engineer" },		-- 6
+	{ name = "First Aid",		texture = "firstaid" },		-- 7
+	{ name = "Inscribing",		texture = "inscribe" },		-- 8
+	{ name = "Jewelcrafting",	texture = "jewel" },		-- 9
+	{ name = "Leatherworking",	texture = "leather" },		-- 10
+	{ name = "Poisons",			texture = "poison" },		-- 11
+	{ name = "Mining",			texture = "smelting" },		-- 12
+	{ name = "Tailoring",		texture = "tailor" },		-- 13
+}
+local MaxProfessions = 13

 -- Some variables I want to use in creating the GUI later... (ZJ 8/26/08)
 local ExpButtonText = {
@@ -31,235 +69,46 @@ local ExpButtonText = {
 	L["Obtain"],		-- 2
 	L["Binding"],		-- 3
 	L["Item"],			-- 4
-	L["Player"],		-- 5
+	L["Player Type"],	-- 5
 	L["Reputation"]		-- 6
 }
+
 local ExpButtonTT = {
-	L["General_TT"],	-- 1
-	L["Obtain_TT"],		-- 2
-	L["Binding_TT"],	-- 3
-	L["Item_TT"],		-- 4
-	L["Player_TT"],		-- 5
-	L["Reputation_TT"]	-- 6
+	L["FILTERING_GENERAL_DESC"],	-- 1
+	L["FILTERING_OBTAIN_DESC"],		-- 2
+	L["FILTERING_BINDING_DESC"],	-- 3
+	L["FILTERING_ITEM_DESC"],		-- 4
+	L["FILTERING_PLAYERTYPE_DESC"],	-- 5
+	L["FILTERING_REP_DESC"]			-- 6
 }
--- Prototype: http://i30.tinypic.com/2hoxncl.jpg
--- I want to turn the GUI into that, but prettier... most functionality is in already, all the tables etc are created, just need to actually use the information now.
-
--- Calculates the total height of all the recipes in the child frame
-
-local function CalculateChildHeight()
-
-	local tempheight = 0
-	local RecipeFrame = AckisRecipeListRecipe1
-
-	while (RecipeFrame ~= nil) do
-		tempheight = RecipeFrame:GetHeight() + RecipeFrame.RecipeAcquireText:GetHeight() + tempheight
-		RecipeFrame = RecipeFrame.NextRecipe
-	end
-
-	return tempheight
-
-end
-
--- Adds recipe text info to the frames
--- Function to run when the + is clicked in the frame.  Will expand the recipe name and print out how to obtain it.
-
--- Convert this to use self
-local function OnClickExpandRecipe()
-
-	if (this.IsPushed == false) then
-		local RecipeText = nil
-
-		local sorttype = addon.db.profile.sortmethod
-		if (sorttype == 2) or (sorttype == 3) then
-			--RecipeText = string.match(this:GetText(), "|c.*%[.*%]|r %- |c%x*(.*)|r")
-			RecipeText = string.match(this:GetText(), "%- |c%x%x%x%x%x%x%x%x(.*)|r$")
-		elseif (sorttype == 1) then
-			--RecipeText = string.match(this:GetText(), "|c%x*(.*)|r %- |c.*%[.*%]|r")
-			RecipeText = string.match(this:GetText(), "|c%x%x%x%x%x%x%x%x(.-)|r")
-		end
-
-		-- Changed the graphic of the + to a -
-		this:SetNormalTexture("Interface\\Buttons\\UI-MinusButton-Up")
-		this:SetPushedTexture("Interface\\Buttons\\UI-MinusButton-Down")
-		this:SetHighlightTexture("Interface\\Buttons\\UI-MinusButton-Hilight")
-
-		-- Keep track of button state
-		this.IsPushed = true
-
-		-- Show expanded text
-		if (addon.RecipeListing[RecipeText] == nil) then
-			this.RecipeAcquireText:SetText(addon:White(L["Unknown"]))
-		else
-			this.RecipeAcquireText:SetText(addon:White("    - " .. addon.RecipeListing[RecipeText]["Acquire"]))
-		end
-
-		this.RecipeAcquireText:SetWidth(300)
-
-		this.RecipeAcquireText:Show()
-
-		-- Reposition the next recipe entry
-		if (this.NextRecipe ~= nil) then
-			this.NextRecipe:ClearAllPoints()
-			this.NextRecipe:SetPoint("TOPLEFT", this.RecipeAcquireText, "BOTTOMLEFT", -20, -5)
-		end
-
-	else
-
-		-- Changed the graphic of the - to a +
-		this:SetNormalTexture("Interface\\Buttons\\UI-PlusButton-Up")
-		this:SetPushedTexture("Interface\\Buttons\\UI-PlusButton-Down")
-		this:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight")
-
-		-- Keep track of button state
-		this.IsPushed = false
-
-		-- Hide expanded text
-		this.RecipeAcquireText:SetText("")
-		this.RecipeAcquireText:Hide()
-
-		-- Reposition the next recipe entry
-		if (this.NextRecipe ~= nil) then
-			this.NextRecipe:ClearAllPoints()
-			this.NextRecipe:SetPoint("TOPLEFT", this, "BOTTOMLEFT", 0, 0)
-		end
-	end
-
-	addon.Frame.ScrollFrame:UpdateScrollChildRect()
-
-end
-
--- Adds recipe text info to the frames
-
-local function AddRecipeInfo(CurrentProfession, CurrentProfessionLevel, CurrentSpeciality)
-
-	local OldFrame = nil
-	local RecipeFrame = nil
-	local RecipeCount = 1
-
-	for i, RecipeName in ipairs(addon.SortedRecipeIndex) do
-
-		-- Only display unknown recipes and recipes which are flagged for display
-		if (addon.RecipeListing[RecipeName]["Known"] == false) and (addon.RecipeListing[RecipeName]["Display"] == true) then
-
-			-- If the frame isn't created, then create it and set the parameters for it, otherwise use the current frame (recycle it)
-			if (not _G["AckisRecipeListRecipe" .. RecipeCount]) then
-				RecipeFrame = CreateFrame("Button", "AckisRecipeListRecipe" .. RecipeCount, addon.Frame.ScrollChild, "ClassTrainerSkillButtonTemplate")
-				RecipeFrame:SetNormalTexture("Interface\\Buttons\\UI-PlusButton-Up")
-				RecipeFrame:SetPushedTexture("Interface\\Buttons\\UI-PlusButton-Down")
-				RecipeFrame:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight")
-				RecipeFrame:SetWidth(18)
-				RecipeFrame:SetScript("OnClick",
-											OnClickExpandRecipe
-									)
-				RecipeFrame:SetScript("OnLeave", function()
-											GameTooltip:Hide()
-										end
-							)
-				RecipeFrame.IsPushed = false
-
-				-- Create acquire text for the recipe
-				RecipeFrame.RecipeAcquireText = RecipeFrame:CreateFontString("AckisRecipeListRecipe" .. RecipeCount .. "Text", "DIALOG")
-
-				RecipeFrame.RecipeAcquireText:ClearAllPoints()
-				RecipeFrame.RecipeAcquireText:SetPoint("TOPLEFT", RecipeFrame, "BOTTOMLEFT", 20, 0)
-				RecipeFrame.RecipeAcquireText:SetFontObject("GameFontNormalSmall")
-				RecipeFrame.RecipeAcquireText:SetJustifyH("LEFT")
-
-			else
-
-				-- Grab the frame from the global stack
-				RecipeFrame = _G["AckisRecipeListRecipe" .. RecipeCount]
-
-			end
-
-			-- If we have a previous recipe, set the previous recipe next recipe to this current recipe
-			if (OldFrame ~= nil) then
-				OldFrame.NextRecipe = RecipeFrame
-			end
-
-			-- If we're at the last recipe, set the next reicpe to nil, otherwise set the previous entries nextrecipe to a temp variable.
-			local NumMissingRecipes = addon.NumberOfRecipes - addon.FoundRecipes
-			if (i == NumMissingRecipes) then
-				RecipeFrame.NextRecipe = nil
-			else
-				OldFrame = RecipeFrame
-			end
-
-			RecipeFrame:ClearAllPoints()
-
-			-- If we're on the first recipe, set the points in relation to the main frame, otherwise set them in relation to the previous recipe
-			if (RecipeCount == 1) then
-				RecipeFrame:SetPoint("TOPLEFT",addon.Frame.ScrollChild,"TOPLEFT",5,0)
-			else
-				RecipeFrame:SetPoint("TOPLEFT", "AckisRecipeListRecipe" .. (RecipeCount - 1), "BOTTOMLEFT", 0, -1)
-			end
-
-			local temprecipetext
-
-			local sorttype = addon.db.profile.sortmethod
-
-			if (sorttype == 2) or (sorttype == 3) then
-				if (addon.RecipeListing[RecipeName]["Level"] > CurrentProfessionLevel) then
-					temprecipetext = addon:Red("[" .. addon.RecipeListing[RecipeName]["Level"] .. "]") .. " - " .. addon:White(RecipeName)
-				else
-					temprecipetext = addon:White("[" .. addon.RecipeListing[RecipeName]["Level"] .. "]") .. " - " .. addon:White(RecipeName)
-				end
-			elseif (sorttype == 1) then
-				if (addon.RecipeListing[RecipeName]["Level"] > CurrentProfessionLevel) then
-					temprecipetext = addon:White(RecipeName) .. " - " .. addon:Red("[" .. addon.RecipeListing[RecipeName]["Level"] .. "]")
-				else
-					temprecipetext = addon:White(RecipeName) .. " - " .. addon:White("[" .. addon.RecipeListing[RecipeName]["Level"] .. "]")
-				end
-			end
-
-			RecipeFrame:SetText(temprecipetext)
-			RecipeFrame:SetScript("OnEnter", function(this)
-					GameTooltip_SetDefaultAnchor(GameTooltip, this)
-					if (addon.RecipeListing[RecipeName]["RecipeLink"] ~= nil) then
-						GameTooltip:SetHyperlink(temprecipetext .. addon.br .. addon.RecipeListing[RecipeName]["RecipeLink"] .. addon.br ..  addon.RecipeListing[RecipeName]["Acquire"])
-					else
-						GameTooltip:SetText(temprecipetext .. addon.br ..  addon.RecipeListing[RecipeName]["Acquire"])
-					end
-					GameTooltip:Show()
-				end
-			)
-
-			RecipeFrame:Show()
-			RecipeCount = RecipeCount + 1
-		end
-	end
-
-end
-
--- Closes the frame and cleans sets everything that was displayed to nil

+-- For wotlk code differences
+local GameVersion = select(4, GetBuildInfo())
+
+-- Define the static popups we're going to call when people don't have a
+-- scanned or don't are blocking all recipes from being displayed
+-- with current filters
+
+StaticPopupDialogs["ARL_NOTSCANNED"] = {
+	text = L["NOTSCANNED"],
+	button1 = L["Ok"],
+	timeout = 0,
+	exclusive = 1,
+	whileDead = 1,
+	hideOnEscape = 1
+};
+
+StaticPopupDialogs["ARL_ALLFILTERED"] = {
+	text = L["ALL_FILTERED"],
+	button1 = L["Ok"],
+	timeout = 0,
+	exclusive = 1,
+	whileDead = 1,
+	hideOnEscape = 1
+};
+
+-- Closes the frame
 function addon:CloseWindow()
-
-	-- Clean up recipe entries
-	local RecipeFrame = AckisRecipeListRecipe1
-
-	-- Clear x number of entries for all missing recipes
-	while (RecipeFrame ~= nil) do
-		RecipeFrame.RecipeAcquireText:SetText("")
-		RecipeFrame.RecipeAcquireText:Hide()
-
-		RecipeFrame:SetText("")
-		RecipeFrame:Hide()
-
-		if (RecipeFrame.IsPushed == true) then
-			RecipeFrame:SetNormalTexture("Interface\\Buttons\\UI-PlusButton-Up")
-			RecipeFrame:SetPushedTexture("Interface\\Buttons\\UI-PlusButton-Down")
-			RecipeFrame:SetDisabledTexture("Interface\\Buttons\\UI-PlusButton-Disabled")
-			RecipeFrame:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight")
-			RecipeFrame.IsPushed = false
-		end
-
-		RecipeFrame.RecipeAcquireText:SetText("")
-		RecipeFrame.RecipeAcquireText:Hide()
-		RecipeFrame = RecipeFrame.NextRecipe
-	end
-
 	addon.Frame:Hide()

 	addon.ResetOkayARL = true
@@ -267,45 +116,41 @@ function addon:CloseWindow()
 	if (addon.ResetOkayBlizz and addon.ResetOkayARL) then
 		addon:ResetVariables()
 	end
-
 end

--- Expands all the headers
-
-function addon:ExpandAll()
-
-	local frame = _G["AckisRecipeListRecipe1"]
-
-	while (frame) do
-		if (frame:IsShown() ~= nil) then
-			if (frame.IsPushed == false) then
-				frame:Click()
-			end
-		end
-		frame = frame.NextRecipe
+-- Under various conditions, I'm going to have to redisplay my recipe list
+-- This could happen because a filter changes, a new profession is chosen, or
+-- a new search occurred. Use this function to do all the dirty work
+function ReDisplay( )
+	addon:UpdateFilters( recipeDB, allSpecTable, playerData )
+	sortedRecipeIndex = addon:SortMissingRecipes( recipeDB )
+	if ( not addon.db.profile.ignoreexclusionlist ) then
+		addon:GetExclusions( recipeDB )
 	end
-
-end
-
--- Closes all the headers
-
-function addon:CloseAll()
-
-	local frame = _G["AckisRecipeListRecipe1"]
-
-	while (frame) do
-		if (frame:IsShown() ~= nil) then
-			if (frame.IsPushed == true) then
-				frame:Click()
-			end
-		end
-		frame = frame.NextRecipe
+	initDisplayStrings( )
+
+	-- Update our progressbar
+	local pbCur = playerData.foundRecipes
+	local pbMin = 0
+	local pbMax = 100
+	if ( addon.db.profile.includefiltered == true ) then
+		pbMax = playerData.totalRecipes
+	else
+		pbMax = playerData.totalRecipes - playerData.filteredRecipes
 	end
+	ARL_ProgressBar:SetMinMaxValues( pbMin, pbMax)
+	ARL_ProgressBar:SetValue( pbCur )
+	ARL_ProgressBarText:SetText( pbCur .. " / " .. pbMax .. " - " .. math.floor( pbCur / pbMax * 100) .. "%")

+	-- Make sure our expand all button is set to expandall
+	ARL_ExpandButton:SetText( L["EXPANDALL"] )
+	addon:TooltipDisplay( ARL_ExpandButton, L["EXPANDALL_DESC"] )
+
+	-- And update our scrollframe
+	RecipeList_Update( )
 end

 -- Create the scan button and add it to Skillet if applicable
-
 function addon:CreateScanButton()
 	-- Create the scan button
 	if (not addon.ScanButton) then
@@ -324,34 +169,26 @@ function addon:CreateScanButton()
 	addon.ScanButton:SetHeight(20)
 	addon.ScanButton:RegisterForClicks("LeftButtonUp")
 	addon.ScanButton:SetScript("OnClick", function()
-											addon:ToggleFrame()
-										end
-							)
+		addon:ToggleFrame()
+	end )
 	addon.ScanButton:SetScript("OnEnter", function(this)
-											GameTooltip_SetDefaultAnchor(GameTooltip, this)
-											GameTooltip:SetText(L["Scan Skills Long"])
-											GameTooltip:Show()
-										end
-							)
+		GameTooltip_SetDefaultAnchor(GameTooltip, this)
+		GameTooltip:SetText(L["SCAN_RECIPES_DESC"])
+		GameTooltip:Show()
+	end )
 	addon.ScanButton:SetScript("OnLeave", function()
-											GameTooltip:Hide()
-										end
-							)
-	addon.ScanButton:SetText(L["ScanButton"])
+		GameTooltip:Hide()
+	end )
+	addon.ScanButton:SetText(L["Scan Skills"])
 	addon.ScanButton:Enable()
 end

--- Adds a button to the trade skill/skillet/crafting skill window allowing you to scan
+-- Adds a button to the trade skill/skillet skill window allowing you to scan

 function addon:ShowScanButton()
-	-- Add to Fizzwidget Hunter's Helper
-	if (FHH_UI and CraftIsPetTraining()) then
-		addon.ScanButton:SetParent(FHH_UI)
-		addon.ScanButton:ClearAllPoints()
-		addon.ScanButton:SetPoint("RIGHT",FHH_UICloseButton,"LEFT",10,0)
-		addon.ScanButton:SetWidth(addon.ScanButton:GetTextWidth() + 10)
+
 	-- Add to ATSW
-	elseif (ATSWFrame and not CraftIsPetTraining()) then
+	if (ATSWFrame) then
 		addon.ScanButton:SetParent(ATSWFrame)
 		addon.ScanButton:ClearAllPoints()
 		addon.ScanButton:SetPoint("RIGHT", ATSWOptionsButton, "LEFT", 0, 0)
@@ -363,19 +200,11 @@ function addon:ShowScanButton()
 		addon.ScanButton:ClearAllPoints()
 		addon.ScanButton:SetPoint("RIGHT",TradeSkillFrameCloseButton,"LEFT",10,0)
 		addon.ScanButton:SetWidth(addon.ScanButton:GetTextWidth() + 10)
-	-- Anchor to crafting window
-	elseif (addon.SkillType == "Craft") then
-		addon.ScanButton:SetParent(CraftFrame)
-		addon.ScanButton:ClearAllPoints()
-		addon.ScanButton:SetPoint("RIGHT",CraftFrameCloseButton,"LEFT",10,0)
-		addon.ScanButton:SetWidth(addon.ScanButton:GetTextWidth() + 10)
 	end
 	addon.ScanButton:SetFrameStrata("DIALOG")
 	addon.ScanButton:Show()
-end

--- imported by Zhinjio from SKG, generic button creation with nice borders
--- automagically takes care of normal button methods. Thanks again, ckk
+end

 function addon:TooltipDisplay( this, textLabel )
 	this:SetScript( "OnEnter",
@@ -393,14 +222,18 @@ function addon:TooltipDisplay( this, textLabel )
 end

 function addon.numFilters ( )
+	-- IMPORTANT: If the number of filters we're maintaining changes, you'll need to change the FilterValueMap
+	-- at the end (of CreateFrame), as well as the following index value:
+	local MaxFilters = 84
+
 	local total = 0
 	local active = 0

-	for i = 1, addon.MaxFilterIndex do
-		if ( ( addon.FilterValueMap[i].svroot == "disabled" ) or
-			 ( addon.FilterValueMap[i].svroot == "special case handler" ) ) then
+	for i = 1, MaxFilters do
+		if ( ( FilterValueMap[i].svroot == "disabled" ) or
+			 ( FilterValueMap[i].svroot == "special case" ) ) then
 			-- ignore these filters in the totals
-		elseif ( addon.FilterValueMap[i].svroot[ addon.FilterValueMap[i].svval ] == true ) then
+		elseif ( FilterValueMap[i].svroot[ FilterValueMap[i].svval ] == true ) then
 			active = active + 1
 			total = total + 1
 		else
@@ -415,30 +248,31 @@ function addon.resetTitle( )
 	local myTitle = ""
 	if ( addon.Frame._Expanded == true ) then
 		local aFil, tFil = addon.numFilters()
-		myTitle = addon.ARLTitle .. " - " .. addon.CurrentProfession ..
+		myTitle = addon.ARLTitle .. " - " .. currentProfession ..
 			" (" .. aFil .. "/" .. tFil .. " " .. L["Filters"] .. ")"
 	else
-		myTitle = addon.ARLTitle .. " - " .. addon.CurrentProfession
+		myTitle = addon.ARLTitle .. " - " .. currentProfession
 	end
 --	addon.Frame.HeadingText:SetText( addon:White( myTitle ) )
-	addon.Frame.HeadingText:SetText( addon:Yellow( myTitle ) )
+	addon.Frame.HeadingText:SetText( addon:Normal( myTitle ) )
 end

 function addon.filterSwitch( val )
 	-- This function is the all-encompassing checkbox handler for the ZJGUI
-
+	local armordb = addon.db.profile.filters.item.armor
+	local weapondb = addon.db.profile.filters.item.weapon
 	-- Special cases first, then general case
 	if ( val == 19 ) then
 		-- Armor "All" checkbox
 		if ( ARL_ArmorAllCB:GetChecked( ) ) then
-			addon.db.profile.filters.item.armor.cloth = true
-			addon.db.profile.filters.item.armor.leather = true
-			addon.db.profile.filters.item.armor.mail = true
-			addon.db.profile.filters.item.armor.plate = true
-			addon.db.profile.filters.item.armor.cloak = true
-			addon.db.profile.filters.item.armor.necklace = true
-			addon.db.profile.filters.item.armor.ring = true
-			addon.db.profile.filters.item.armor.trinket = true
+			armordb.cloth = true
+			armordb.leather = true
+			armordb.mail = true
+			armordb.plate = true
+			armordb.cloak = true
+			armordb.necklace = true
+			armordb.ring = true
+			armordb.trinket = true
 			ARL_ArmorClothCB:SetChecked( true )
 			ARL_ArmorLeatherCB:SetChecked( true )
 			ARL_ArmorMailCB:SetChecked( true )
@@ -452,14 +286,14 @@ function addon.filterSwitch( val )
 	elseif ( val == 20 ) then
 		-- Armor "None" checkbox
 		if ( ARL_ArmorNoneCB:GetChecked( ) ) then
-			addon.db.profile.filters.item.armor.cloth = false
-			addon.db.profile.filters.item.armor.leather = false
-			addon.db.profile.filters.item.armor.mail = false
-			addon.db.profile.filters.item.armor.plate = false
-			addon.db.profile.filters.item.armor.cloak = false
-			addon.db.profile.filters.item.armor.necklace = false
-			addon.db.profile.filters.item.armor.ring = false
-			addon.db.profile.filters.item.armor.trinket = false
+			armordb.cloth = false
+			armordb.leather = false
+			armordb.mail = false
+			armordb.plate = false
+			armordb.cloak = false
+			armordb.necklace = false
+			armordb.ring = false
+			armordb.trinket = false
 			ARL_ArmorClothCB:SetChecked( false )
 			ARL_ArmorLeatherCB:SetChecked( false )
 			ARL_ArmorMailCB:SetChecked( false )
@@ -475,29 +309,21 @@ function addon.filterSwitch( val )
 		-- in this case, we need to check if the checkbox we just hit either
 		-- makes everthing checked, or everything empty. If so, we check the All/None
 		-- checkboxes
-		if ( addon.FilterValueMap[val].cb:GetChecked() ) then
-			addon.FilterValueMap[val].svroot[ addon.FilterValueMap[val].svval ] = true
-			if ( ( addon.db.profile.filters.item.armor.cloth == true ) and
-				 ( addon.db.profile.filters.item.armor.leather == true ) and
-				 ( addon.db.profile.filters.item.armor.mail == true ) and
-				 ( addon.db.profile.filters.item.armor.plate == true ) and
-				 ( addon.db.profile.filters.item.armor.cloak == true ) and
-				 ( addon.db.profile.filters.item.armor.necklace == true ) and
-				 ( addon.db.profile.filters.item.armor.ring == true ) and
-				 ( addon.db.profile.filters.item.armor.trinket == true ) ) then
+		if ( FilterValueMap[val].cb:GetChecked() ) then
+			FilterValueMap[val].svroot[ FilterValueMap[val].svval ] = true
+			if ( ( armordb.cloth == true ) and ( armordb.leather == true ) and
+				 ( armordb.mail == true ) and ( armordb.plate == true ) and
+				 ( armordb.cloak == true ) and ( armordb.necklace == true ) and
+				 ( armordb.ring == true ) and ( armordb.trinket == true ) ) then
 				ARL_ArmorAllCB:SetChecked( true )
 			end
 			ARL_ArmorNoneCB:SetChecked( false )
 		else
-			addon.FilterValueMap[val].svroot[ addon.FilterValueMap[val].svval ] = false
-			if ( ( addon.db.profile.filters.item.armor.cloth == false ) and
-				 ( addon.db.profile.filters.item.armor.leather == false ) and
-				 ( addon.db.profile.filters.item.armor.mail == false ) and
-				 ( addon.db.profile.filters.item.armor.plate == false ) and
-				 ( addon.db.profile.filters.item.armor.cloak == false ) and
-				 ( addon.db.profile.filters.item.armor.necklace == false ) and
-				 ( addon.db.profile.filters.item.armor.ring == false ) and
-				 ( addon.db.profile.filters.item.armor.trinket == false ) ) then
+			FilterValueMap[val].svroot[ FilterValueMap[val].svval ] = false
+			if ( ( armordb.cloth == false ) and ( armordb.leather == false ) and
+				 ( armordb.mail == false ) and ( armordb.plate == false ) and
+				 ( armordb.cloak == false ) and ( armordb.necklace == false ) and
+				 ( armordb.ring == false ) and ( armordb.trinket == false ) ) then
 				ARL_ArmorNoneCB:SetChecked( true )
 			end
 			ARL_ArmorAllCB:SetChecked( false )
@@ -505,16 +331,16 @@ function addon.filterSwitch( val )
 	elseif ( val == 25 ) then
 		-- Weapon "All" special case
 		if ( ARL_WeaponAllCB:GetChecked() ) then
-			addon.db.profile.filters.item.weapon.onehand = true
-			addon.db.profile.filters.item.weapon.twohand = true
-			addon.db.profile.filters.item.weapon.dagger = true
-			addon.db.profile.filters.item.weapon.axe = true
-			addon.db.profile.filters.item.weapon.mace = true
-			addon.db.profile.filters.item.weapon.sword = true
-			addon.db.profile.filters.item.weapon.polearm = true
-			addon.db.profile.filters.item.weapon.wand = true
-			addon.db.profile.filters.item.weapon.thrown = true
-			addon.db.profile.filters.item.weapon.ammo = true
+			weapondb.onehand = true
+			weapondb.twohand = true
+			weapondb.dagger = true
+			weapondb.axe = true
+			weapondb.mace = true
+			weapondb.sword = true
+			weapondb.polearm = true
+			weapondb.wand = true
+			weapondb.thrown = true
+			weapondb.ammo = true
 			ARL_Weapon1HCB:SetChecked( true )
 			ARL_Weapon2HCB:SetChecked( true )
 			ARL_WeaponDaggerCB:SetChecked( true )
@@ -530,16 +356,16 @@ function addon.filterSwitch( val )
 	elseif ( val == 26 ) then
 		-- Weapon "None" special case
 		if ( ARL_WeaponNoneCB:GetChecked() ) then
-			addon.db.profile.filters.item.weapon.onehand = false
-			addon.db.profile.filters.item.weapon.twohand = false
-			addon.db.profile.filters.item.weapon.dagger = false
-			addon.db.profile.filters.item.weapon.axe = false
-			addon.db.profile.filters.item.weapon.mace = false
-			addon.db.profile.filters.item.weapon.sword = false
-			addon.db.profile.filters.item.weapon.polearm = false
-			addon.db.profile.filters.item.weapon.wand = false
-			addon.db.profile.filters.item.weapon.thrown = false
-			addon.db.profile.filters.item.weapon.ammo = false
+			weapondb.onehand = false
+			weapondb.twohand = false
+			weapondb.dagger = false
+			weapondb.axe = false
+			weapondb.mace = false
+			weapondb.sword = false
+			weapondb.polearm = false
+			weapondb.wand = false
+			weapondb.thrown = false
+			weapondb.ammo = false
 			ARL_Weapon1HCB:SetChecked( false )
 			ARL_Weapon2HCB:SetChecked( false )
 			ARL_WeaponDaggerCB:SetChecked( false )
@@ -558,43 +384,33 @@ function addon.filterSwitch( val )
 			 ( val == 32 ) or ( val == 33 ) or ( val == 68 ) or ( val == 35 ) or ( val == 38 ) ) then
 		-- we've clicked on a weapon thinger. If all of them are either checked or unchecked,
 		-- we should automagically check the "All" or "None" checkbox
-		if ( addon.FilterValueMap[val].cb:GetChecked() ) then
-			addon.FilterValueMap[val].svroot[ addon.FilterValueMap[val].svval ] = true
-			if ( ( addon.db.profile.filters.item.weapon.onehand == true ) and
-				 ( addon.db.profile.filters.item.weapon.twohand == true ) and
-				 ( addon.db.profile.filters.item.weapon.dagger == true ) and
-				 ( addon.db.profile.filters.item.weapon.axe == true ) and
-				 ( addon.db.profile.filters.item.weapon.mace == true ) and
-				 ( addon.db.profile.filters.item.weapon.sword == true ) and
-				 ( addon.db.profile.filters.item.weapon.polearm == true ) and
-				 ( addon.db.profile.filters.item.weapon.wand == true ) and
-				 ( addon.db.profile.filters.item.weapon.thrown == true ) and
-				 ( addon.db.profile.filters.item.weapon.ammo == true ) ) then
+		if ( FilterValueMap[val].cb:GetChecked() ) then
+			FilterValueMap[val].svroot[ FilterValueMap[val].svval ] = true
+			if ( ( weapondb.onehand == true ) and ( weapondb.twohand == true ) and
+				 ( weapondb.dagger == true ) and ( weapondb.axe == true ) and
+				 ( weapondb.mace == true ) and ( weapondb.sword == true ) and
+				 ( weapondb.polearm == true ) and ( weapondb.wand == true ) and
+				 ( weapondb.thrown == true ) and ( weapondb.ammo == true ) ) then
 				ARL_WeaponAllCB:SetChecked( true )
 			end
 			ARL_WeaponNoneCB:SetChecked( false )
 		else
-			addon.FilterValueMap[val].svroot[ addon.FilterValueMap[val].svval ] = false
-			if ( ( addon.db.profile.filters.item.weapon.onehand == false ) and
-				 ( addon.db.profile.filters.item.weapon.twohand == false ) and
-				 ( addon.db.profile.filters.item.weapon.dagger == false ) and
-				 ( addon.db.profile.filters.item.weapon.axe == false ) and
-				 ( addon.db.profile.filters.item.weapon.mace == false ) and
-				 ( addon.db.profile.filters.item.weapon.sword == false ) and
-				 ( addon.db.profile.filters.item.weapon.polearm == false ) and
-				 ( addon.db.profile.filters.item.weapon.wand == false ) and
-				 ( addon.db.profile.filters.item.weapon.thrown == false ) and
-				 ( addon.db.profile.filters.item.weapon.ammo == false ) ) then
+			FilterValueMap[val].svroot[ FilterValueMap[val].svval ] = false
+			if ( ( weapondb.onehand == false ) and ( weapondb.twohand == false ) and
+				 ( weapondb.dagger == false ) and ( weapondb.axe == false ) and
+				 ( weapondb.mace == false ) and ( weapondb.sword == false ) and
+				 ( weapondb.polearm == false ) and ( weapondb.wand == false ) and
+				 ( weapondb.thrown == false ) and ( weapondb.ammo == false ) ) then
 				ARL_WeaponNoneCB:SetChecked( true )
 			end
 			ARL_WeaponAllCB:SetChecked( false )
 		end
 	else
 		-- General case
-		if ( addon.FilterValueMap[val].cb:GetChecked() ) then
-			addon.FilterValueMap[val].svroot[ addon.FilterValueMap[val].svval ] = true
+		if ( FilterValueMap[val].cb:GetChecked() ) then
+			FilterValueMap[val].svroot[ FilterValueMap[val].svval ] = true
 		else
-			addon.FilterValueMap[val].svroot[ addon.FilterValueMap[val].svval ] = false
+			FilterValueMap[val].svroot[ FilterValueMap[val].svval ] = false
 		end
 	end

@@ -617,7 +433,7 @@ function addon.ToggleFilters( )
 		addon.Frame:SetPoint( "BOTTOMLEFT", UIParent, "BOTTOMLEFT", xPos, yPos )
 		-- Change the text and tooltip for the filter button
 		ARL_FilterButton:SetText( L["FILTER_OPEN"] )
-		addon:TooltipDisplay( ARL_FilterButton, L["FILTER_OPEN_TT"] )
+		addon:TooltipDisplay( ARL_FilterButton, L["FILTER_OPEN_DESC"] )

 		-- Hide my 5 buttons
 		ARL_ExpGeneralOptCB:Hide()
@@ -654,7 +470,7 @@ function addon.ToggleFilters( )
 		addon.Frame:SetPoint( "BOTTOMLEFT", UIParent, "BOTTOMLEFT", xPos, yPos )
 		-- Change the text and tooltip for the filter button
 		ARL_FilterButton:SetText( L["FILTER_CLOSE"] )
-		addon:TooltipDisplay( ARL_FilterButton, L["FILTER_CLOSE_TT"] )
+		addon:TooltipDisplay( ARL_FilterButton, L["FILTER_CLOSE_DESC"] )

 		-- Show my 5 buttons
 		ARL_ExpGeneralOptCB:Show()
@@ -811,7 +627,7 @@ function addon:GenericCreateButton(

 	button:SetPoint( anchorFrom, anchorFrame, anchorTo, xOffset, yOffset )
 	if ( tooltipText ~= "" ) then
-		addon:TooltipDisplay( button, tooltipText)
+		addon:TooltipDisplay( button, tooltipText )
 	end

 	return button
@@ -819,14 +635,20 @@ end

 -- Generic function for creating my expanded panel buttons
 function addon:CreateExpCB( bName, bTex, panelIndex )
-	if ( ( bName == "ARL_RepOldWorldCB" ) or ( bName == "ARL_RepBCCB" ) ) then
+	local ExpTextureSize = 34
+
+	if ( ( bName == "ARL_RepOldWorldCB" ) or ( bName == "ARL_RepBCCB" ) or ( bName == "ARL_RepLKCB" ) ) then
 		local cButton = CreateFrame( "CheckButton", bName, addon.Fly_Rep ) -- , "UICheckButtonTemplate" )
 			cButton:SetWidth( 100 )
 			cButton:SetHeight( 46 )
 			cButton:SetChecked( false )

 		local iconTex = cButton:CreateTexture( cButton:GetName() .. "buttonTex", "BORDER" )
-			iconTex:SetTexture( 'Interface/Glues/Common/' .. bTex )
+			if ( bName == "ARL_RepLKCB" ) then
+				iconTex:SetTexture( "Interface\\Addons\\AckisRecipeList\\img\\" .. bTex )
+			else
+				iconTex:SetTexture( 'Interface/Glues/Common/' .. bTex )
+			end
 			iconTex:SetWidth( 100 )
 			iconTex:SetHeight( 46 )
 			iconTex:SetAllPoints( cButton )
@@ -848,24 +670,26 @@ function addon:CreateExpCB( bName, bTex, panelIndex )

 		-- And throw up a tooltip
 		if ( bName == "ARL_RepOldWorldCB" ) then
-			addon:TooltipDisplay( cButton, L["OLD_WORLD_REP_TT"] )
+			addon:TooltipDisplay( cButton, L["FILTERING_OLDWORLD_DESC"] )
+		elseif ( bName == "ARL_RepBCCB" ) then
+			addon:TooltipDisplay( cButton, L["FILTERING_BC_DESC"] )
 		else
-			addon:TooltipDisplay( cButton, L["BC_REP_TT"] )
+			addon:TooltipDisplay( cButton, L["FILTERING_WOTLK_DESC"] )
 		end
-
+
 		return cButton
 	else
 		local cButton = CreateFrame( "CheckButton", bName, addon.Frame ) -- , "UICheckButtonTemplate" )
-			cButton:SetWidth( addon.ExpTextureSize )
-			cButton:SetHeight( addon.ExpTextureSize )
+			cButton:SetWidth( ExpTextureSize )
+			cButton:SetHeight( ExpTextureSize )
 			cButton:SetScript( "OnClick", function()
 				addon.DoFlyaway( panelIndex )
 			end )

 		local bgTex = cButton:CreateTexture( cButton:GetName() .. "bgTex", "BACKGROUND" )
 			bgTex:SetTexture( 'Interface/SpellBook/UI-Spellbook-SpellBackground' )
-			bgTex:SetHeight( addon.ExpTextureSize + 6 )
-			bgTex:SetWidth( addon.ExpTextureSize + 4 )
+			bgTex:SetHeight( ExpTextureSize + 6 )
+			bgTex:SetWidth( ExpTextureSize + 4 )
 			bgTex:SetTexCoord( 0, (43/64), 0, (43/64) )
 			bgTex:SetPoint( "CENTER", cButton, "CENTER", 0, 0 )
 		local iconTex = cButton:CreateTexture( cButton:GetName() .. "iconTex", "BORDER" )
@@ -894,6 +718,12 @@ function addon:CreateExpCB( bName, bTex, panelIndex )
 			cbText:SetJustifyH( "LEFT" )
 			cButton.text = cbText

+
+		-- Temporary disable on the Item Type Filter until the db can dig that stuff out
+		if ( bName == "ARL_ExpItemOptCB" ) then
+			cbText:SetText( addon:Grey( ExpButtonText[panelIndex] ) )
+		end
+
 		-- And throw up a tooltip
 		addon:TooltipDisplay( cButton, ExpButtonTT[panelIndex] )
 		cButton:Hide()
@@ -902,7 +732,6 @@ function addon:CreateExpCB( bName, bTex, panelIndex )
 end

 -- Allows the scan button to close the scan window
-
 function addon:ToggleFrame()
 	if (addon.Frame and addon.Frame:IsVisible()) then
 		addon.Frame:Hide()
@@ -913,10 +742,9 @@ end

 -- Set the texture on the switcher button.

-function addon.SetSwitcherTexture( tex )
--- This is really only called the first
--- time its displayed. It should reflect the first profession the user has
--- selected, or that shows up in his lists.
+function SetSwitcherTexture( tex )
+-- This is really only called the first time its displayed. It should reflect the first
+-- profession the user has selected, or that shows up in his lists.

 -- For now, just display the first texture
 	local ARL_S_NTexture = ARL_SwitcherButton:CreateTexture( "ARL_S_NTexture", "BACKGROUND" )
@@ -937,11 +765,65 @@ function addon.SetSwitcherTexture( tex )
 	ARL_SwitcherButton:SetDisabledTexture( ARL_S_DTexture )
 end

--- Switch the displayed profession in the main panel
+-- converting from hex to rgb (Thanks Maldivia)
+function toRGB(hex)
+	local r, g, b = hex:match("(..)(..)(..)")
+	return ( tonumber(r,16) / 256 ) , ( tonumber(g,16) / 256 ) , ( tonumber(b,16) / 256 )
+end
+
+-- I want to do a bit more comprehensive tooltip processing. Things like changing font sizes,
+-- adding padding to the left hand side, and using better color handling. So... this function
+-- will do that for me.
+function gttAdd(
+	leftPad,		-- number of times to pad two spaces on left side
+	textSize,		-- negative number. subtract from 12 to get fontsize
+	narrow,			-- if 1, use ARIALN instead of FRITZQ
+	wraptext,		-- wraptext for AddLine ( 0 or 1 )
+	str1,			-- left hand string
+	hexcolor1,		-- hex color code for left hand side
+	str2,			-- if present, this is a double line, and this is the right hand string
+	hexcolor2 )		-- if present, hex color code for right hand side
+
+	-- convert hex colors to r g b components. tooltips are dumb that way
+
+	local a, b, c = toRGB( hexcolor1 )
+	local d, e, f = 0, 0, 0
+	if ( hexcolor2 ) then d, e, f = toRGB( hexcolor2 ) end
+	-- Add in our left hand padding
+	local looppad = leftPad
+	local leftStr = str1
+	while ( looppad > 0 ) do
+		leftStr = "  " .. leftStr
+		looppad = looppad - 1
+	end
+	-- Are we adding a single or double line?
+	local double = false
+	if ( str2 ) then
+		arlTooltip:AddDoubleLine( leftStr, str2, a, b, c, d, e, f )
+		double = true
+	else
+		arlTooltip:AddLine( leftStr, a, b, c, wraptext )
+	end
+	-- are we changing fontsize or narrow?
+	if ( ( narrow == 1 ) or ( textSize ~= 0 ) ) then
+		local font = "Fonts\\FRIZQT__.TTF"
+		if ( narrow == 1 ) then font = "Fonts\\ARIALN.TTF" end
+		local fontsize = 11
+		if ( textSize ~= 0 ) then fontsize = fontsize + textSize end
+
+		local numlines = arlTooltip:NumLines()
+		local mytext1 = _G[ "arlTooltipTextLeft" .. numlines ]
+		mytext1:SetFont( font, fontsize )
+		if ( double == true ) then
+			local mytext2 = _G[ "arlTooltipTextRight" .. numlines ]
+			mytext2:SetFont( font, fontsize )
+		end
+	end
+end

-function addon.SwitchProfs()
-	-- Figure out what professions we know...
-	addon:GetKnownProfessions()
+-- Switch the displayed profession in the main panel
+function addon.SwitchProfs( )
+	-- Known professions should be in playerData["Professions"]

 	-- This loop is gonna be weird. The reason is because we need to
 	-- ensure that we cycle through all the known professions, but also
@@ -957,21 +839,21 @@ function addon.SwitchProfs()

 	-- ok, so first off, if we've never done this before, there is no "current"
 	-- and a single iteration will do nicely, thank you
-	if ( addon.CurrentProf == 0 ) then
+	if ( currentProfIndex == 0 ) then
 		startLoop = 1
 		endLoop = addon.MaxProfessions + 1
 	else
-		startLoop = addon.CurrentProf + 1
-		endLoop = addon.CurrentProf
+		startLoop = currentProfIndex + 1
+		endLoop = currentProfIndex
 	end
 	local index = startLoop
 	while ( index ~= endLoop ) do
-		if ( index > addon.MaxProfessions ) then
+		if ( index > MaxProfessions ) then
 			index = 1
 		else
-			if ( addon.KnownProfessions[addon.SortedProfessions[index].name] == true ) then
+			if ( playerData["Professions"][SortedProfessions[index].name] == true ) then
 				displayProf = index
-				addon.CurrentProf = index
+				currentProfIndex = index
 				break
 			else
 				index = index + 1
@@ -979,124 +861,760 @@ function addon.SwitchProfs()
 		end
 	end
 	-- Redisplay the button with the new skill
-	addon.SetSwitcherTexture( addon.SortedProfessions[addon.CurrentProf].texture )
+	SetSwitcherTexture( SortedProfessions[currentProfIndex].texture )
+	playerData.playerProfession = SortedProfessions[currentProfIndex].name
+	ReDisplay()
 end

--- What to do if someone clicks on a recipe button
-function addon.RecipeItem_OnClick( button )
-	local clickedIndex = addon.RecipeListButton[button].sI
-	local isRecipe = addon.DisplayStrings[clickedIndex].IsRecipe
-	local isExpanded = addon.DisplayStrings[clickedIndex].IsExpanded
-	local dString = addon.DisplayStrings[clickedIndex].String
-	local traverseIndex = 0
-	-- three possibilities here
-	-- 1) We clicked on the recipe button on a closed recipe
-	-- 2) We clicked on the recipe button of an open recipe
-	-- 3) we clicked on the expanded text of an open recipe
-	if ( isRecipe ) then
-		if ( isExpanded ) then
-			-- get rid of our expanded lines
-			traverseIndex = clickedIndex + 1
-			while ( addon.DisplayStrings[traverseIndex].IsRecipe == false ) do
-				tremove( addon.DisplayStrings, traverseIndex )
+function ClearRecipeButtonTooltip( bIndex )
+	local pButton = addon.PlusListButton[bIndex]
+	local rButton = addon.RecipeListButton[bIndex]
+	pButton:SetScript( "OnEnter", function () end )
+	pButton:SetScript( "OnLeave", function () end )
+	rButton:SetScript( "OnEnter", function () end )
+	rButton:SetScript( "OnLeave", function () end )
+end
+
+-- This sets the tooltip on the button during a recipelist update
+function SetRecipeButtonTooltip ( bIndex )
+	local exclude = addon.db.profile.exclusionlist
+	local pButton = addon.PlusListButton[bIndex]
+	local rButton = addon.RecipeListButton[bIndex]
+	local dStringIndex = rButton.sI
+	local rIndex = DisplayStrings[dStringIndex].sID
+	local clr1, clr2 = "", ""
+	pButton:SetScript( "OnEnter",
+		function ( pButton )
+			arlTooltip:ClearLines()
+			arlTooltip:SetOwner( pButton, "ANCHOR_RIGHT" )
+			gttAdd( 0, 1, 0, 0, recipeDB[rIndex]["Name"], addon:hexcolor( "HIGH" ) )
+			-- check if the recipe is excluded
+			if ( exclude[rIndex] == true ) then
+				clr1 = addon:hexcolor( "HORDE" )
+				gttAdd( 0, -1, 1, 0, L["RECIPE_EXCLUDED"], clr1 )
 			end
-			addon.DisplayStrings[clickedIndex].IsExpanded = false
-		else
-			-- add in our expanded lines
-			-- for the moment, just add the acquire text without parsing out \n's
-			local insertIndex = clickedIndex + 1
-			local t = {}
-			t.String = addon.RecipeListing[dString]["Acquire"]
-			t.IsRecipe = false
-			t.IsExpanded = true
-			tinsert( addon.DisplayStrings, insertIndex, t )
-			-- set our current recipe to expanded
-			addon.DisplayStrings[clickedIndex].IsExpanded = true
+			-- Add in skill level requirement, colored correctly
+			clr1 = addon:hexcolor( "NORMAL" )
+			local recipeSkill = recipeDB[rIndex]["Level"]
+			local playerSkill = playerData.playerProfessionLevel
+			if ( recipeSkill > playerSkill ) then
+				clr2 = addon:hexcolor( "HORDE" )
+			elseif ( ( playerSkill - recipeSkill ) < 20 ) then
+				clr2 = addon:hexcolor( "ORANGE" )
+			elseif ( ( playerSkill - recipeSkill ) < 30 ) then
+				clr2 = addon:hexcolor( "YELLOW" )
+			elseif ( ( playerSkill - recipeSkill ) < 40 ) then
+				clr2 = addon:hexcolor( "GREEN" )
+			else
+				clr2 = addon:hexcolor( "MIDGREY" )
+			end
+			gttAdd( 0, -1, 0, 0, L["Required Skill"] .. " :", clr1, recipeDB[rIndex]["Level"], clr2 )
+			-- spacer
+			gttAdd( 0, 0, 0, 0, ".", addon:hexcolor( "BLACK" ) )
+			-- obtain info
+			gttAdd( 0, -1, 0, 0, L["Obtained From"] .. " : ", addon:hexcolor( "NORMAL" ) )
+				-- loop through acquire methods, display each
+				for k, v in pairs( recipeDB[rIndex]["Acquire"]) do
+					if ( v["Type"] == 1 ) then				-- Trainer
+						-- Trainer:				TrainerName
+						-- TrainerZone			TrainerCoords
+						local trnr = trainerDB[v["ID"]]
+						local cStr = "(" .. trnr["Coordx"] .. ", " .. trnr["Coordy"] .. ")"
+						clr1 = addon:hexcolor( "TRAINER" )
+						if ( trnr["Faction"] == BFAC["Horde"] ) then
+							clr2 = addon:hexcolor( "HORDE" )
+						elseif ( trnr["Faction"] == BFAC["Alliance"] ) then
+							clr2 = addon:hexcolor( "ALLIANCE" )
+						else
+							clr2 = addon:hexcolor( "NEUTRAL" )
+						end
+						gttAdd( 0, -2, 0, 0, L["Trainer"], clr1, trnr["Name"], clr2 )
+						clr1 = addon:hexcolor( "NORMAL" )
+						clr2 = addon:hexcolor( "HIGH" )
+						gttAdd( 1, -2, 1, 0, trnr["Location"], clr1, cStr, clr2 )
+					elseif ( v["Type"] == 2 ) then			-- Vendor
+						-- Vendor:					VendorName
+						-- VendorZone				VendorCoords
+						local vndr = vendorDB[v["ID"]]
+						local cStr = "(" .. vndr["Coordx"] .. ", " .. vndr["Coordy"] .. ")"
+						clr1 = addon:hexcolor( "VENDOR" )
+						if ( vndr["Faction"] == BFAC["Horde"] ) then
+							clr2 = addon:hexcolor( "HORDE" )
+						elseif ( vndr["Faction"] == BFAC["Alliance"] ) then
+							clr2 = addon:hexcolor( "ALLIANCE" )
+						else
+							clr2 = addon:hexcolor( "NEUTRAL" )
+						end
+						gttAdd( 0, -1, 0, 0, L["Vendor"], clr1, vndr["Name"], clr2 )
+						clr1 = addon:hexcolor( "NORMAL" )
+						clr2 = addon:hexcolor( "HIGH" )
+						gttAdd( 1, -2, 1, 0, vndr["Location"], clr1, cStr, clr2 )
+					elseif ( v["Type"] == 3 ) then			-- Mob Drop
+						-- Mob Drop:				Mob Name
+						-- MobZone					MobCoords
+						local mob = mobDB[v["ID"]]
+						local cStr = "(" .. mob["Coordx"] .. ", " .. mob["Coordy"] .. ")"
+						clr1 = addon:hexcolor( "MOBDROP" )
+						clr2 = addon:hexcolor( "HORDE" )
+						gttAdd( 0, -1, 0, 0, L["Mob Drop"], clr1, mob["Name"], clr2 )
+						clr1 = addon:hexcolor( "NORMAL" )
+						clr2 = addon:hexcolor( "HIGH" )
+						gttAdd( 1, -2, 1, 0, mob["Location"], clr1, cStr, clr2 )
+					elseif ( v["Type"] == 4 ) then			-- Quest
+						-- Quest:					QuestName
+						-- QuestZone				QuestCoords
+						local qst = questDB[v["ID"]]
+						if ( qst ~= nil ) then
+							local cStr = "(" .. qst["Coordx"] .. ", " .. qst["Coordy"] .. ")"
+							clr1 = addon:hexcolor( "QUEST" )
+							if ( qst["Faction"] == BFAC["Horde"] ) then
+								clr2 = addon:hexcolor( "HORDE" )
+							elseif ( qst["Faction"] == BFAC["Alliance"] ) then
+								clr2 = addon:hexcolor( "ALLIANCE" )
+							else
+								clr2 = addon:hexcolor( "NEUTRAL" )
+							end
+							gttAdd( 0, -1, 0, 0, L["Quest"], clr1, qst["Name"], clr2 )
+							clr1 = addon:hexcolor( "NORMAL" )
+							clr2 = addon:hexcolor( "HIGH" )
+							gttAdd( 1, -2, 1, 0, qst["Location"], clr1, cStr, clr2 )
+						end
+					elseif ( v["Type"] == 5 ) then			-- Seasonal
+						-- Seasonal:				SeasonEventName
+						local ssnname = seasonDB[v["ID"]]["Name"]
+						clr1 = addon:hexcolor( "SEASON" )
+						gttAdd( 0, -1, 0, 0, L["Seasonal"], clr1, ssnname, clr1 )
+					elseif ( v["Type"] == 6 ) then			-- Reputation
+						-- Reputation:				Faction
+						-- FactionLevel				RepVendor
+						-- RepVendorZone			RepVendorCoords
+						local repfac = repDB[v["ID"]]
+						local repname = repfac["Name"] -- name
+						local rplvl = v["RepLevel"]
+						local repvndr = vendorDB[v["RepVendor"]]
+						local cStr = "(" .. repvndr["Coordx"] .. ", " .. repvndr["Coordy"] .. ")"
+
+						clr1 = addon:hexcolor( "REP" )
+						clr2 = addon:hexcolor( "NORMAL" )
+						gttAdd( 0, -1, 0, 0, L["Reputation"], clr1, repname, clr2 )
+
+						local rStr = ""
+						if ( rplvl == 0 ) then
+							rStr = L["Neutral"]
+							clr1 = addon:hexcolor( "NEUTRAL" )
+						elseif ( rplvl == 1 ) then
+							rStr = L["Friendly"]
+							clr1 = addon:hexcolor( "FRIENDLY" )
+						elseif ( rplvl == 2 ) then
+							rStr = L["Honored"]
+							clr1 = addon:hexcolor( "HONORED" )
+						elseif ( rplvl == 3 ) then
+							rStr = L["Revered"]
+							clr1 = addon:hexcolor( "REVERED" )
+						else
+							rStr = L["Exalted"]
+							clr1 = addon:hexcolor( "EXALTED" )
+						end
+						if ( repvndr["Faction"] == BFAC["Horde"] ) then
+							clr2 = addon:hexcolor( "HORDE" )
+						elseif ( repvndr["Faction"] == BFAC["Alliance"] ) then
+							clr2 = addon:hexcolor( "ALLIANCE" )
+						else
+							clr2 = addon:hexcolor( "NEUTRAL" )
+						end
+						gttAdd( 1, -2, 0, 0, rStr, clr1, repvndr["Name"], clr2 )
+						clr1 = addon:hexcolor( "NORMAL" )
+						clr2 = addon:hexcolor( "HIGH" )
+						gttAdd( 2, -2, 1, 0, repvndr["Location"], clr1, cStr, clr2 )
+					elseif ( v["Type"] == 7 ) then			-- World Drop
+						-- World Drop				RarityLevel
+						if ( v["ID"] == 1 ) then
+							clr1 = addon:hexcolor( "COMMON" )
+						elseif ( v["ID"] == 2 ) then
+							clr1 = addon:hexcolor( "UNCOMMON" )
+						elseif ( v["ID"] == 3 ) then
+							clr1 = addon:hexcolor( "RARE" )
+						elseif ( v["ID"] == 4 ) then
+							clr1 = addon:hexcolor( "EPIC" )
+						else
+							clr1 = addon:hexcolor( "NORMAL" )
+						end
+						gttAdd( 0, -1, 0, 0, L["World Drop"], clr1 )
+					else									-- Unhandled
+						clr1 = addon:hexcolor( "NORMAL" )
+						gttAdd( 0, -1, 0, 0, L["Unhandled Recipe"], clr1 )
+					end
+				end
+				gttAdd( 0, 0, 0, 0, ".", addon:hexcolor( "BLACK" ) )
+				clr1 = addon:hexcolor( "NORMAL" )
+				gttAdd( 0, -1, 0, 0, L["ALT_CLICK"], clr1 )
+				gttAdd( 0, -1, 0, 1, L["CTRL_CLICK"], clr1 )
+				gttAdd( 0, -1, 0, 1, L["SHIFT_CLICK"], clr1 )
+			arlTooltip:Show()
 		end
-	else
-		-- this inherently implies that we're on an expanded recipe
-		-- first, back up in the list of buttons until we find our recipe line
-		traverseIndex = clickedIndex - 1
-		while ( addon.DisplayStrings[traverseIndex].IsRecipe == false ) do
-			traverseIndex = traverseIndex - 1
+	)
+	pButton:SetScript( "OnLeave",
+		function( )
+			arlTooltip:Hide()
+		end
+	)
+	rButton:SetScript( "OnEnter",
+		function ( rButton )
+			arlTooltip:ClearLines()
+			arlTooltip:SetOwner( rButton, "ANCHOR_RIGHT" )
+			gttAdd( 0, 1, 0, 0, recipeDB[rIndex]["Name"], addon:hexcolor( "HIGH" ) )
+			-- check if the recipe is excluded
+			if ( exclude[rIndex] == true ) then
+				clr1 = addon:hexcolor( "HORDE" )
+				gttAdd( 0, -1, 1, 0, L["RECIPE_EXCLUDED"], clr1 )
+			end
+			-- Add in skill level requirement, colored correctly
+			clr1 = addon:hexcolor( "NORMAL" )
+			local recipeSkill = recipeDB[rIndex]["Level"]
+			local playerSkill = playerData.playerProfessionLevel
+			if ( recipeSkill > playerSkill ) then
+				clr2 = addon:hexcolor( "HORDE" )
+			elseif ( ( playerSkill - recipeSkill ) < 20 ) then
+				clr2 = addon:hexcolor( "ORANGE" )
+			elseif ( ( playerSkill - recipeSkill ) < 30 ) then
+				clr2 = addon:hexcolor( "YELLOW" )
+			elseif ( ( playerSkill - recipeSkill ) < 40 ) then
+				clr2 = addon:hexcolor( "GREEN" )
+			else
+				clr2 = addon:hexcolor( "MIDGREY" )
+			end
+			gttAdd( 0, -1, 0, 0, L["Required Skill"] .. " :", clr1, recipeDB[rIndex]["Level"], clr2 )
+			-- spacer
+			gttAdd( 0, 0, 0, 0, ".", addon:hexcolor( "BLACK" ) )
+			-- obtain info
+			gttAdd( 0, -1, 0, 0, L["Obtained From"] .. " : ", addon:hexcolor( "NORMAL" ) )
+				-- loop through acquire methods, display each
+				for k, v in pairs( recipeDB[rIndex]["Acquire"]) do
+					if ( v["Type"] == 1 ) then				-- Trainer
+						-- Trainer:				TrainerName
+						-- TrainerZone			TrainerCoords
+						local trnr = trainerDB[v["ID"]]
+						local cStr = "(" .. trnr["Coordx"] .. ", " .. trnr["Coordy"] .. ")"
+						clr1 = addon:hexcolor( "TRAINER" )
+						if ( trnr["Faction"] == BFAC["Horde"] ) then
+							clr2 = addon:hexcolor( "HORDE" )
+						elseif ( trnr["Faction"] == BFAC["Alliance"] ) then
+							clr2 = addon:hexcolor( "ALLIANCE" )
+						else
+							clr2 = addon:hexcolor( "NEUTRAL" )
+						end
+						gttAdd( 0, -2, 0, 0, L["Trainer"], clr1, trnr["Name"], clr2 )
+						clr1 = addon:hexcolor( "NORMAL" )
+						clr2 = addon:hexcolor( "HIGH" )
+						gttAdd( 1, -2, 1, 0, trnr["Location"], clr1, cStr, clr2 )
+					elseif ( v["Type"] == 2 ) then			-- Vendor
+						-- Vendor:					VendorName
+						-- VendorZone				VendorCoords
+						local vndr = vendorDB[v["ID"]]
+						local cStr = "(" .. vndr["Coordx"] .. ", " .. vndr["Coordy"] .. ")"
+						clr1 = addon:hexcolor( "VENDOR" )
+						if ( vndr["Faction"] == BFAC["Horde"] ) then
+							clr2 = addon:hexcolor( "HORDE" )
+						elseif ( vndr["Faction"] == BFAC["Alliance"] ) then
+							clr2 = addon:hexcolor( "ALLIANCE" )
+						else
+							clr2 = addon:hexcolor( "NEUTRAL" )
+						end
+						gttAdd( 0, -1, 0, 0, L["Vendor"], clr1, vndr["Name"], clr2 )
+						clr1 = addon:hexcolor( "NORMAL" )
+						clr2 = addon:hexcolor( "HIGH" )
+						gttAdd( 1, -2, 1, 0, vndr["Location"], clr1, cStr, clr2 )
+					elseif ( v["Type"] == 3 ) then			-- Mob Drop
+						-- Mob Drop:				Mob Name
+						-- MobZone					MobCoords
+						local mob = mobDB[v["ID"]]
+						local cStr = "(" .. mob["Coordx"] .. ", " .. mob["Coordy"] .. ")"
+						clr1 = addon:hexcolor( "MOBDROP" )
+						clr2 = addon:hexcolor( "HORDE" )
+						gttAdd( 0, -1, 0, 0, L["Mob Drop"], clr1, mob["Name"], clr2 )
+						clr1 = addon:hexcolor( "NORMAL" )
+						clr2 = addon:hexcolor( "HIGH" )
+						gttAdd( 1, -2, 1, 0, mob["Location"], clr1, cStr, clr2 )
+					elseif ( v["Type"] == 4 ) then			-- Quest
+						-- Quest:					QuestName
+						-- QuestZone				QuestCoords
+						local qst = questDB[v["ID"]]
+						if ( qst ~= nil ) then
+							local cStr = "(" .. qst["Coordx"] .. ", " .. qst["Coordy"] .. ")"
+							clr1 = addon:hexcolor( "QUEST" )
+							if ( qst["Faction"] == BFAC["Horde"] ) then
+								clr2 = addon:hexcolor( "HORDE" )
+							elseif ( qst["Faction"] == BFAC["Alliance"] ) then
+								clr2 = addon:hexcolor( "ALLIANCE" )
+							else
+								clr2 = addon:hexcolor( "NEUTRAL" )
+							end
+							gttAdd( 0, -1, 0, 0, L["Quest"], clr1, qst["Name"], clr2 )
+							clr1 = addon:hexcolor( "NORMAL" )
+							clr2 = addon:hexcolor( "HIGH" )
+							gttAdd( 1, -2, 1, 0, qst["Location"], clr1, cStr, clr2 )
+						end
+					elseif ( v["Type"] == 5 ) then			-- Seasonal
+						-- Seasonal:				SeasonEventName
+						local ssnname = seasonDB[v["ID"]]["Name"]
+						clr1 = addon:hexcolor( "SEASON" )
+						gttAdd( 0, -1, 0, 0, L["Seasonal"], clr1, ssnname, clr1 )
+					elseif ( v["Type"] == 6 ) then			-- Reputation
+						-- Reputation:				Faction
+						-- FactionLevel				RepVendor
+						-- RepVendorZone			RepVendorCoords
+						local repfac = repDB[v["ID"]]
+						local repname = repfac["Name"] -- name
+						local rplvl = v["RepLevel"]
+						local repvndr = vendorDB[v["RepVendor"]]
+						local cStr = "(" .. repvndr["Coordx"] .. ", " .. repvndr["Coordy"] .. ")"
+
+						clr1 = addon:hexcolor( "REP" )
+						clr2 = addon:hexcolor( "NORMAL" )
+						gttAdd( 0, -1, 0, 0, L["Reputation"], clr1, repname, clr2 )
+
+						local rStr = ""
+						if ( rplvl == 0 ) then
+							rStr = L["Neutral"]
+							clr1 = addon:hexcolor( "NEUTRAL" )
+						elseif ( rplvl == 1 ) then
+							rStr = L["Friendly"]
+							clr1 = addon:hexcolor( "FRIENDLY" )
+						elseif ( rplvl == 2 ) then
+							rStr = L["Honored"]
+							clr1 = addon:hexcolor( "HONORED" )
+						elseif ( rplvl == 3 ) then
+							rStr = L["Revered"]
+							clr1 = addon:hexcolor( "REVERED" )
+						else
+							rStr = L["Exalted"]
+							clr1 = addon:hexcolor( "EXALTED" )
+						end
+						if ( repvndr["Faction"] == BFAC["Horde"] ) then
+							clr2 = addon:hexcolor( "HORDE" )
+						elseif ( repvndr["Faction"] == BFAC["Alliance"] ) then
+							clr2 = addon:hexcolor( "ALLIANCE" )
+						else
+							clr2 = addon:hexcolor( "NEUTRAL" )
+						end
+						gttAdd( 1, -2, 0, 0, rStr, clr1, repvndr["Name"], clr2 )
+						clr1 = addon:hexcolor( "NORMAL" )
+						clr2 = addon:hexcolor( "HIGH" )
+						gttAdd( 2, -2, 1, 0, repvndr["Location"], clr1, cStr, clr2 )
+					elseif ( v["Type"] == 7 ) then			-- World Drop
+						-- World Drop				RarityLevel
+						if ( v["ID"] == 1 ) then
+							clr1 = addon:hexcolor( "COMMON" )
+						elseif ( v["ID"] == 2 ) then
+							clr1 = addon:hexcolor( "UNCOMMON" )
+						elseif ( v["ID"] == 3 ) then
+							clr1 = addon:hexcolor( "RARE" )
+						elseif ( v["ID"] == 4 ) then
+							clr1 = addon:hexcolor( "EPIC" )
+						else
+							clr1 = addon:hexcolor( "NORMAL" )
+						end
+						gttAdd( 0, -1, 0, 0, L["World Drop"], clr1 )
+					else									-- Unhandled
+						clr1 = addon:hexcolor( "NORMAL" )
+						gttAdd( 0, -1, 0, 0, L["Unhandled Recipe"], clr1 )
+					end
+				end
+				gttAdd( 0, 0, 0, 0, ".", addon:hexcolor( "BLACK" ) )
+				clr1 = addon:hexcolor( "NORMAL" )
+				gttAdd( 0, -1, 0, 0, L["ALT_CLICK"], clr1 )
+				gttAdd( 0, -1, 0, 1, L["CTRL_CLICK"], clr1 )
+				gttAdd( 0, -1, 0, 1, L["SHIFT_CLICK"], clr1 )
+			arlTooltip:Show()
 		end
-		-- unexpand it
-		addon.DisplayStrings[traverseIndex].IsExpanded = false
-		-- now remove the expanded lines until we get to a recipe again
-		traverseIndex = traverseIndex + 1
-		while ( addon.DisplayStrings[traverseIndex].IsRecipe == false ) do
-			tremove( addon.DisplayStrings, traverseIndex )
+	)
+	rButton:SetScript( "OnLeave",
+		function( )
+			arlTooltip:Hide()
 		end
-	end
-	-- finally, call our scrollframe updater
-	addon.RecipeList_Update()
+	)
 end

 -- Scrollframe update stuff
-function addon.RecipeList_Update()
+function RecipeList_Update()
+
 	-- Clear out the current buttons
-	for i = 1, addon.maxVisibleRecipes do
+	for i = 1, maxVisibleRecipes do
 		addon.RecipeListButton[i]:SetText( "" )
 		addon.RecipeListButton[i].sI = 0
 		addon.PlusListButton[i]:Hide()
+		ClearRecipeButtonTooltip( i )
 	end
-	local entries = #addon.DisplayStrings
-
-	FauxScrollFrame_Update( ARL_RecipeScrollFrame, entries, addon.maxVisibleRecipes, 16 )
-
-	-- addon.Print( "in rlu")
-	-- now fill in our buttons
-	local listOffset = FauxScrollFrame_GetOffset( ARL_RecipeScrollFrame )
-	-- addon.Print( "listOffset = " .. listOffset)
-	local buttonIndex = 1
-	local stringsIndex = buttonIndex + listOffset
-
-	local stayInLoop = true
-	while ( stayInLoop == true ) do
-		-- addon.Print( "buttonIndex/stringsIndex = " .. buttonIndex .. "/" .. stringsIndex )
-		-- addon.PlusListButton = {},  addon.RecipeListButton = {}
-		if ( addon.DisplayStrings[stringsIndex].IsRecipe ) then
-			-- display the + symbol
-			addon.PlusListButton[buttonIndex]:Show()
-			-- Is it expanded or not?
-			if ( addon.DisplayStrings[stringsIndex].IsExpanded ) then
-				addon.PlusListButton[buttonIndex]:SetNormalTexture("Interface\\Buttons\\UI-MinusButton-Up")
-				addon.PlusListButton[buttonIndex]:SetPushedTexture("Interface\\Buttons\\UI-MinusButton-Down")
-				addon.PlusListButton[buttonIndex]:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight")
-				addon.PlusListButton[buttonIndex]:SetDisabledTexture("Interface\\Buttons\\UI-MinusButton-Disabled")
+
+	local entries = #DisplayStrings
+
+	FauxScrollFrame_Update( ARL_RecipeScrollFrame, entries, maxVisibleRecipes, 16 )
+
+	if (entries > 0) then
+		-- now fill in our buttons
+		local listOffset = FauxScrollFrame_GetOffset( ARL_RecipeScrollFrame )
+		-- addon.Print( "listOffset = " .. listOffset)
+		local buttonIndex = 1
+		local stringsIndex = buttonIndex + listOffset
+
+		local stayInLoop = true
+		while ( stayInLoop == true ) do
+			-- addon.Print( "buttonIndex/stringsIndex = " .. buttonIndex .. "/" .. stringsIndex )
+			-- addon.PlusListButton = {},  addon.RecipeListButton = {}
+			if ( DisplayStrings[stringsIndex].IsRecipe ) then
+				-- display the + symbol
+				addon.PlusListButton[buttonIndex]:Show()
+				-- Is it expanded or not?
+				if ( DisplayStrings[stringsIndex].IsExpanded ) then
+					addon.PlusListButton[buttonIndex]:SetNormalTexture("Interface\\Buttons\\UI-MinusButton-Up")
+					addon.PlusListButton[buttonIndex]:SetPushedTexture("Interface\\Buttons\\UI-MinusButton-Down")
+					addon.PlusListButton[buttonIndex]:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight")
+					addon.PlusListButton[buttonIndex]:SetDisabledTexture("Interface\\Buttons\\UI-MinusButton-Disabled")
+				else
+					addon.PlusListButton[buttonIndex]:SetNormalTexture("Interface\\Buttons\\UI-PlusButton-Up")
+					addon.PlusListButton[buttonIndex]:SetPushedTexture("Interface\\Buttons\\UI-PlusButton-Down")
+					addon.PlusListButton[buttonIndex]:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight")
+					addon.PlusListButton[buttonIndex]:SetDisabledTexture("Interface\\Buttons\\UI-PlusButton-Disabled")
+				end
 			else
-				addon.PlusListButton[buttonIndex]:SetNormalTexture("Interface\\Buttons\\UI-PlusButton-Up")
-				addon.PlusListButton[buttonIndex]:SetPushedTexture("Interface\\Buttons\\UI-PlusButton-Down")
-				addon.PlusListButton[buttonIndex]:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight")
-				addon.PlusListButton[buttonIndex]:SetDisabledTexture("Interface\\Buttons\\UI-PlusButton-Disabled")
+				addon.PlusListButton[buttonIndex]:Hide()
 			end
+			addon.RecipeListButton[buttonIndex]:SetText( DisplayStrings[stringsIndex].String )
+			addon.RecipeListButton[buttonIndex].sI = stringsIndex
+
+			-- Set the tooltip on the button
+			SetRecipeButtonTooltip( buttonIndex )
+
+			buttonIndex = buttonIndex + 1
+			stringsIndex = stringsIndex + 1
+			if ( ( buttonIndex > maxVisibleRecipes ) or
+				 ( stringsIndex > entries ) ) then
+				stayInLoop = false
+			end
+		end
+	else
+		-- If the recipetotal > 0 that means we've already scanned this recipe
+		if (playerData.totalRecipes > 0) then
+			StaticPopup_Show("ARL_NOTSCANNED")
 		else
-			addon.PlusListButton[buttonIndex]:Hide()
+			StaticPopup_Show("ARL_ALLFILTERED")
 		end
-		addon.RecipeListButton[buttonIndex]:SetText( addon.DisplayStrings[stringsIndex].String )
-		addon.RecipeListButton[buttonIndex].sI = stringsIndex
-		buttonIndex = buttonIndex + 1
-		stringsIndex = stringsIndex + 1
-		if ( ( buttonIndex > addon.maxVisibleRecipes ) or
-			 ( stringsIndex > entries ) ) then
-			stayInLoop = false
+	end
+end
+
+function expandEntry( dsIndex )
+	-- insertIndex is the position in DisplayStrings that we want
+	-- to expand. Since we are expanding the current entry, the return
+	-- value should be the index of the next button after the expansion
+	-- occurs
+	local filterDB = addon.db.profile.filters
+
+	local recipeIndex = DisplayStrings[dsIndex].sID
+	dsIndex = dsIndex + 1
+
+	-- Need to loop through the available acquires and put them all in
+	for k, v in pairs( recipeDB[recipeIndex]["Acquire"] ) do
+		local pad = "  "
+		-- set the string based on type of acquire
+		--[[ 1 = Trainer , 2 = Vendor, 3 = Mob, 4 = Quest, 5 = Seasonal, 6 = Reputation --]]
+		if ( v["Type"] == 1 ) then
+			-- Trainer
+			-- Trainerdb : 	Trainer: ID, Name, Location, Coords, Faction
+			local display = false
+			local trnr = trainerDB[v["ID"]]
+			if ( filterDB.general.faction ~= true ) then
+				if ( ( trnr["Faction"] == BFAC[myFaction] ) or
+					 ( trnr["Faction"] == BFAC["Neutral"] ) or
+					 ( trnr["Faction"] == nil ) ) then
+					display = true
+				end
+			else
+				display = true
+			end
+			if ( display == true ) then
+				-- properly colourize
+				local tStr = addon:Trainer( L["Trainer"] .. " : " )
+				local nStr = ""
+				local cStr = addon:Coords( "(" .. trnr["Coordx"] .. ", " .. trnr["Coordy"] .. ")" )
+
+				t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+				if ( trnr["Faction"] == BFAC["Horde"] ) then
+					nStr = addon:Horde( trnr["Name"] )
+				elseif ( trnr["Faction"] == BFAC["Alliance"] ) then
+					nStr = addon:Alliance( trnr["Name"] )
+				else
+					nStr = addon:Neutral( trnr["Name"] )
+				end
+				t.String = pad .. tStr .. nStr
+
+				tinsert( DisplayStrings, dsIndex, t )
+				dsIndex = dsIndex + 1
+				t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+				t.String = pad .. pad .. trnr["Location"] .. " " .. cStr
+				tinsert( DisplayStrings, dsIndex, t )
+				dsIndex = dsIndex + 1
+			end
+		elseif ( ( v["Type"] == 2 ) and
+				 ( filterDB.obtain.vendor == true ) ) then
+			-- Vendor
+			-- VendorDB : ID, Name, Location, Coords, Faction
+			local display = false
+			local vndr = vendorDB[v["ID"]]
+			if ( filterDB.general.faction ~= true ) then
+				if ( ( vndr["Faction"] == BFAC[myFaction] ) or
+					 ( vndr["Faction"] == BFAC["Neutral"] ) or
+					 ( vndr["Faction"] == nil ) ) then
+					display = true
+				end
+			else
+				display = true
+			end
+			if ( display == true ) then
+				-- properly colourize
+				local tStr = addon:Vendor( L["Vendor"] .. " : " )
+				local nStr = ""
+				local cStr = addon:Coords( "(" .. vndr["Coordx"] .. ", " .. vndr["Coordy"] .. ")" )
+
+				t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+				if ( vndr["Faction"] == BFAC["Horde"] ) then
+					nStr = addon:Horde( vndr["Name"] )
+				elseif ( vndr["Faction"] == BFAC["Alliance"] ) then
+					nStr = addon:Alliance( vndr["Name"] )
+				else
+					nStr = addon:Neutral( vndr["Name"] )
+				end
+				t.String = pad .. tStr .. nStr
+
+				tinsert( DisplayStrings, dsIndex, t )
+				dsIndex = dsIndex + 1
+				t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+				t.String = pad .. pad .. vndr["Location"] .. " " .. cStr
+				tinsert( DisplayStrings, dsIndex, t )
+				dsIndex = dsIndex + 1
+			end
+		elseif ( ( v["Type"] == 3 ) and ( filterDB.obtain.mobdrop == true ) ) then
+			-- Mob Drop Obtain
+			-- MobDB: ID, Name, Zone, Coordx, Coordy
+			local mob = mobDB[v["ID"]]
+
+			-- properly colourize
+			local tStr = addon:MobDrop( L["Mob Drop"] .. " : " )
+			local nStr = ""
+			local cStr = addon:Coords( "(" .. mob["Coordx"] .. ", " .. mob["Coordy"] .. ")" )
+
+			t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+			nStr = addon:Horde( mob["Name"] )
+			t.String = pad .. tStr .. nStr
+
+			tinsert( DisplayStrings, dsIndex, t )
+			dsIndex = dsIndex + 1
+			t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+			t.String = pad .. pad .. mob["Location"] .. " " .. cStr
+			tinsert( DisplayStrings, dsIndex, t )
+			dsIndex = dsIndex + 1
+		elseif ( ( v["Type"] == 4 ) and
+				 ( filterDB.obtain.quest ) ) then
+			-- Quest Obtain
+			-- Quest: ID, Name, Location, Coords to start, Faction
+			local display = false
+			local qst = questDB[v["ID"]]
+			if ( qst ) then
+				if ( filterDB.general.faction ~= true ) then
+					if ( ( qst["Faction"] == BFAC[myFaction] ) or
+						 ( qst["Faction"] == BFAC["Neutral"] ) or
+						 ( qst["Faction"] == nil ) ) then
+						display = true
+					end
+				else
+					display = true
+				end
+			end
+			if ( display == true ) then
+				-- properly colourize
+				local tStr = addon:Quest( L["Quest"] .. " : " )
+				local nStr = ""
+				local cStr = addon:Coords( "(" .. qst["Coordx"] .. ", " .. qst["Coordy"] .. ")" )
+
+				t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+				if ( qst["Faction"] == BFAC["Horde"] ) then
+					nStr = addon:Horde( qst["Name"] )
+				elseif ( qst["Faction"] == BFAC["Alliance"] ) then
+					nStr = addon:Alliance( qst["Name"] )
+				else
+					nStr = addon:Neutral( qst["Name"] )
+				end
+				t.String = pad .. tStr .. nStr
+
+				tinsert( DisplayStrings, dsIndex, t )
+				dsIndex = dsIndex + 1
+				t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+				t.String = pad .. pad .. qst["Location"] .. " " .. cStr
+				tinsert( DisplayStrings, dsIndex, t )
+				dsIndex = dsIndex + 1
+			end
+		elseif ( v["Type"] == 5 ) then
+			-- Seasonal: ID, Name
+			local ssnname = seasonDB[v["ID"]]["Name"]
+			t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+			local tStr = addon:Season( L["Seasonal"] .. " : " .. ssnname )
+			t.String = pad .. tStr
+			tinsert( DisplayStrings, dsIndex, t )
+			dsIndex = dsIndex + 1
+		elseif ( v["Type"] == 6 ) then -- Need to check if we're displaying the currently id'd rep or not as well
+			-- Reputation Obtain
+			-- Rep: ID, Faction
+			-- RepLevel = 0 (Neutral), 1 (Friendly), 2 (Honored), 3 (Revered), 4 (Exalted)
+			-- RepVendor - VendorID
+			-- Rep: RepName
+			--   RepLevel: RepVndrName
+			--     RepVndrLoc (Cx,Cy)
+			local display = false
+			local repfac = repDB[v["ID"]]
+			local repname = repfac["Name"] -- name
+			local rplvl = v["RepLevel"]
+			local repvndr = vendorDB[v["RepVendor"]]
+
+			if ( filterDB.general.faction ~= true ) then
+				if ( ( repvndr["Faction"] == BFAC[myFaction] ) or
+					 ( repvndr["Faction"] == BFAC["Neutral"] ) or
+					 ( repvndr["Faction"] == nil ) ) then
+					display = true
+				end
+			else
+				display = true
+			end
+			if ( display == true ) then
+				-- properly colourize
+				local tStr = addon:Rep( L["Reputation"] .. " : " )
+				local nStr = ""
+				local rStr = ""
+				local cStr = addon:Coords( "(" .. repvndr["Coordx"] .. ", " .. repvndr["Coordy"] .. ")" )
+
+				t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+				t.String = pad .. tStr .. repname
+				tinsert( DisplayStrings, dsIndex, t )
+				dsIndex = dsIndex + 1
+
+			-- RepLevel = 0 (Neutral), 1 (Friendly), 2 (Honored), 3 (Revered), 4 (Exalted)
+				if ( rplvl == 0 ) then rStr = addon:Neutral( L["Neutral"] .. " : " )
+				elseif ( rplvl == 1 ) then rStr = addon:Friendly( L["Friendly"] .. " : " )
+				elseif ( rplvl == 2 ) then rStr = addon:Honored( L["Honored"] .. " : " )
+				elseif ( rplvl == 3 ) then rStr = addon:Revered( L["Revered"] .. " : " )
+				else rStr = addon:Exalted( L["Exalted"] .. " : " ) end
+
+				if ( repvndr["Faction"] == BFAC["Horde"] ) then
+					nStr = addon:Horde( repvndr["Name"] )
+				elseif ( repvndr["Faction"] == BFAC["Alliance"] ) then
+					nStr = addon:Alliance( repvndr["Name"] )
+				else
+					nStr = addon:Neutral( repvndr["Name"] )
+				end
+				t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+				t.String = pad .. pad .. rStr .. nStr
+
+				tinsert( DisplayStrings, dsIndex, t )
+				dsIndex = dsIndex + 1
+				t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+				t.String = pad .. pad .. pad .. repvndr["Location"] .. " " .. cStr
+				tinsert( DisplayStrings, dsIndex, t )
+				dsIndex = dsIndex + 1
+			end
+		elseif ( ( v["Type"] == 7 ) and ( filterDB.obtain.worlddrop == true ) ) then
+			t = {}; t.IsRecipe = false; t.sID = recipeIndex; t.IsExpanded = true
+			t.String = pad .. addon:RarityColor( v["ID"] + 1, L["World Drop"] )
+			tinsert( DisplayStrings, dsIndex, t )
+			dsIndex = dsIndex + 1
+		else
+			t = {}
+			t.IsRecipe = false
+			t.sID = recipeIndex
+			t.IsExpanded = true
+			t.String = "Unhandled Acquire Case"
+			tinsert( DisplayStrings, dsIndex, t )
+			dsIndex = dsIndex + 1
+		end
+	end
+
+	return dsIndex
+end
+
+-- What to do if someone clicks on a recipe button
+function addon.RecipeItem_OnClick( button )
+	local clickedIndex = addon.RecipeListButton[button].sI
+	local isRecipe = DisplayStrings[clickedIndex].IsRecipe
+	local isExpanded = DisplayStrings[clickedIndex].IsExpanded
+	local dString = DisplayStrings[clickedIndex].String
+	local clickedSpellIndex = DisplayStrings[clickedIndex].sID
+	local traverseIndex = 0
+
+	-- First, check if this is a "modified" click, and react appropriately
+	if ( IsShiftKeyDown() ) then
+		local itemID = recipeDB[clickedSpellIndex]["ItemID"]
+		local _, itemLink = GetItemInfo( itemID )
+		ChatFrameEditBox:Insert( itemLink )
+	elseif ( IsControlKeyDown() ) then
+		ChatFrameEditBox:Insert( recipeDB[clickedSpellIndex]["RecipeLink"] )
+	elseif ( IsAltKeyDown() ) then
+		-- Code needed here to insert this item into the "Ignore List"
+		addon:ToggleExcludeRecipe( clickedSpellIndex )
+		ReDisplay()
+	else
+		-- three possibilities here
+		-- 1) We clicked on the recipe button on a closed recipe
+		-- 2) We clicked on the recipe button of an open recipe
+		-- 3) we clicked on the expanded text of an open recipe
+		if ( isRecipe ) then
+			if ( isExpanded ) then
+				-- get rid of our expanded lines
+				traverseIndex = clickedIndex + 1
+				while ( DisplayStrings[traverseIndex].IsRecipe == false ) do
+					tremove( DisplayStrings, traverseIndex )
+					-- if this is the last entry in the whole list, we should break out
+					if not DisplayStrings[traverseIndex] then
+						break
+					end
+				end
+				DisplayStrings[clickedIndex].IsExpanded = false
+			else
+				-- add in our expanded lines
+				expandEntry( clickedIndex )
+				-- set our current recipe to expanded
+				DisplayStrings[clickedIndex].IsExpanded = true
+			end
+		else
+			-- this inherently implies that we're on an expanded recipe
+			-- first, back up in the list of buttons until we find our recipe line
+			traverseIndex = clickedIndex - 1
+			while ( DisplayStrings[traverseIndex].IsRecipe == false ) do
+				traverseIndex = traverseIndex - 1
+			end
+			-- unexpand it
+			DisplayStrings[traverseIndex].IsExpanded = false
+			-- now remove the expanded lines until we get to a recipe again
+			traverseIndex = traverseIndex + 1
+			while ( DisplayStrings[traverseIndex].IsRecipe == false ) do
+				tremove( DisplayStrings, traverseIndex )
+			end
 		end
+		-- finally, call our scrollframe updater
+		RecipeList_Update()
 	end
 end

 -- Rep Filtering panel switcher
 function addon.RepFilterSwitch( whichrep )
-	-- only have two to deal with at the moment
 	-- 1	ARL_RepOldWorldCB		Old World Rep
 	-- 2	ARL_RepBCCB				Burning Crusade
-	-- 3	Wrath of the Lich King (soon)
+	-- 3	ARL_RepLKCB				Wrath of the Lich King
 	local ShowPanel = false
 	if ( whichrep == 1 ) then
 		if ( ARL_RepOldWorldCB:GetChecked() ) then
 			ShowPanel = true
 			addon.Fly_Rep_OW:Show()
 			addon.Fly_Rep_BC:Hide()
+			addon.Fly_Rep_LK:Hide()
 			ARL_RepBCCB:SetChecked( false )
+			ARL_RepLKCB:SetChecked( false )
 		else
 			ShowPanel = false
 		end
@@ -1105,7 +1623,20 @@ function addon.RepFilterSwitch( whichrep )
 			ShowPanel = true
 			addon.Fly_Rep_OW:Hide()
 			addon.Fly_Rep_BC:Show()
+			addon.Fly_Rep_LK:Hide()
 			ARL_RepOldWorldCB:SetChecked( false )
+			ARL_RepLKCB:SetChecked( false )
+		else
+			ShowPanel = false
+		end
+	else -- whichrep == 3 (WotLK)
+		if ( ARL_RepLKCB:GetChecked() ) then
+			ShowPanel = true
+			addon.Fly_Rep_OW:Hide()
+			addon.Fly_Rep_BC:Hide()
+			addon.Fly_Rep_LK:Show()
+			ARL_RepOldWorldCB:SetChecked( false )
+			ARL_RepBCCB:SetChecked( false )
 		else
 			ShowPanel = false
 		end
@@ -1120,7 +1651,8 @@ function addon.RepFilterSwitch( whichrep )

 		addon.Fly_Rep_OW:SetPoint( "TOPRIGHT", addon.Flyaway, "TOPRIGHT", -7, -20 )
 		addon.Fly_Rep_BC:SetPoint( "TOPRIGHT", addon.Flyaway, "TOPRIGHT", -7, -20 )
-else
+		addon.Fly_Rep_LK:SetPoint( "TOPRIGHT", addon.Flyaway, "TOPRIGHT", -7, -20 )
+	else
 		addon.flyTexture:ClearAllPoints()
 		addon.Flyaway:SetWidth(136)
 		addon.Flyaway:SetHeight(312)
@@ -1129,8 +1661,10 @@ else
 		addon.flyTexture:SetTexCoord( 0, (136/256), 0, (312/512) )
 		addon.Fly_Rep_OW:Hide()
 		addon.Fly_Rep_BC:Hide()
-		ARL_RepBCCB:SetChecked( false )
+		addon.Fly_Rep_LK:Hide()
 		ARL_RepOldWorldCB:SetChecked( false )
+		ARL_RepBCCB:SetChecked( false )
+		ARL_RepLKCB:SetChecked( false )
 	end
 end

@@ -1138,209 +1672,230 @@ function addon.setFlyawayState ( )
 	-- This function sets all the current options in the flyaway panel to make
 	-- sure they are consistent with the SV options. This is run every time the
 	-- Flyaway panel "OnShow" triggers
-
+	local filterdb = addon.db.profile.filters
+	local armordb = filterdb.item.armor
+	local weapondb = filterdb.item.weapon
 	-- General Options
-	ARL_ClassCB:SetChecked( addon.db.profile.filters.general.class )
-	ARL_SpecialtyCB:SetChecked( addon.db.profile.filters.general.specialty )
-	ARL_LevelCB:SetChecked( addon.db.profile.filters.general.skill )
-	ARL_FactionCB:SetChecked( addon.db.profile.filters.general.faction )
-	ARL_KnownCB:SetChecked( addon.db.profile.filters.general.known )
-	ARL_UnknownCB:SetChecked( addon.db.profile.filters.general.unknown )
+	ARL_ClassCB:SetChecked( filterdb.general.class )
+	ARL_SpecialtyCB:SetChecked( filterdb.general.specialty )
+	ARL_LevelCB:SetChecked( filterdb.general.skill )
+	ARL_FactionCB:SetChecked( filterdb.general.faction )
+	ARL_KnownCB:SetChecked( filterdb.general.known )
+	ARL_UnknownCB:SetChecked( filterdb.general.unknown )
 	-- Obtain Options
-	ARL_InstanceCB:SetChecked( addon.db.profile.filters.obtain.instance )
-	ARL_RaidCB:SetChecked( addon.db.profile.filters.obtain.raid )
-	ARL_QuestCB:SetChecked( addon.db.profile.filters.obtain.quest )
-	ARL_SeasonalCB:SetChecked( addon.db.profile.filters.obtain.seasonal )
-	ARL_TrainerCB:SetChecked( addon.db.profile.filters.obtain.trainer )
-	ARL_VendorCB:SetChecked( addon.db.profile.filters.obtain.vendor )
-	ARL_PVPCB:SetChecked( addon.db.profile.filters.obtain.pvp )
-	ARL_DiscoveryCB:SetChecked( addon.db.profile.filters.obtain.discovery )
-	ARL_WorldDropCB:SetChecked( addon.db.profile.filters.obtain.worlddrop )
-	ARL_MobDropCB:SetChecked( addon.db.profile.filters.obtain.mobdrop )
+	ARL_InstanceCB:SetChecked( filterdb.obtain.instance )
+	ARL_RaidCB:SetChecked( filterdb.obtain.raid )
+	ARL_QuestCB:SetChecked( filterdb.obtain.quest )
+	ARL_SeasonalCB:SetChecked( filterdb.obtain.seasonal )
+	ARL_TrainerCB:SetChecked( filterdb.obtain.trainer )
+	ARL_VendorCB:SetChecked( filterdb.obtain.vendor )
+	ARL_PVPCB:SetChecked( filterdb.obtain.pvp )
+	ARL_DiscoveryCB:SetChecked( filterdb.obtain.discovery )
+	ARL_WorldDropCB:SetChecked( filterdb.obtain.worlddrop )
+	ARL_MobDropCB:SetChecked( filterdb.obtain.mobdrop )
 	-- Binding Options
-	ARL_iBoECB:SetChecked( addon.db.profile.filters.binding.itemboe )
-	ARL_iBoPCB:SetChecked( addon.db.profile.filters.binding.itembop )
-	ARL_rBoECB:SetChecked( addon.db.profile.filters.binding.recipeboe )
-	ARL_rBoPCB:SetChecked( addon.db.profile.filters.binding.recipebop )
+	ARL_iBoECB:SetChecked( filterdb.binding.itemboe )
+	ARL_iBoPCB:SetChecked( filterdb.binding.itembop )
+	ARL_rBoECB:SetChecked( filterdb.binding.recipeboe )
+	ARL_rBoPCB:SetChecked( filterdb.binding.recipebop )
 	-- Armor Options
-	if ( ( addon.db.profile.filters.item.armor.cloth == true ) and
-		 ( addon.db.profile.filters.item.armor.leather == true ) and
-		 ( addon.db.profile.filters.item.armor.mail == true ) and
-		 ( addon.db.profile.filters.item.armor.plate == true ) and
-		 ( addon.db.profile.filters.item.armor.cloak == true ) and
-		 ( addon.db.profile.filters.item.armor.necklace == true ) and
-		 ( addon.db.profile.filters.item.armor.ring == true ) and
-		 ( addon.db.profile.filters.item.armor.trinket == true ) ) then
+	if ( ( armordb.cloth == true ) and ( armordb.leather == true ) and
+		 ( armordb.mail == true ) and ( armordb.plate == true ) and
+		 ( armordb.cloak == true ) and ( armordb.necklace == true ) and
+		 ( armordb.ring == true ) and ( armordb.trinket == true ) ) then
 		ARL_ArmorAllCB:SetChecked( true )
 	else
 		ARL_ArmorAllCB:SetChecked( false )
 	end
-	if ( ( addon.db.profile.filters.item.armor.cloth == false ) and
-		 ( addon.db.profile.filters.item.armor.leather == false ) and
-		 ( addon.db.profile.filters.item.armor.mail == false ) and
-		 ( addon.db.profile.filters.item.armor.plate == false ) and
-		 ( addon.db.profile.filters.item.armor.cloak == false ) and
-		 ( addon.db.profile.filters.item.armor.necklace == false ) and
-		 ( addon.db.profile.filters.item.armor.ring == false ) and
-		 ( addon.db.profile.filters.item.armor.trinket == false ) ) then
+	if ( ( armordb.cloth == false ) and ( armordb.leather == false ) and
+		 ( armordb.mail == false ) and ( armordb.plate == false ) and
+		 ( armordb.cloak == false ) and ( armordb.necklace == false ) and
+		 ( armordb.ring == false ) and ( armordb.trinket == false ) ) then
 		ARL_ArmorNoneCB:SetChecked( true )
 	else
 		ARL_ArmorNoneCB:SetChecked( false )
 	end
-	ARL_ArmorClothCB:SetChecked( addon.db.profile.filters.item.armor.cloth )
-	ARL_ArmorLeatherCB:SetChecked( addon.db.profile.filters.item.armor.leather )
-	ARL_ArmorMailCB:SetChecked( addon.db.profile.filters.item.armor.mail )
-	ARL_ArmorPlateCB:SetChecked( addon.db.profile.filters.item.armor.plate )
-
-	ARL_ArmorCloakCB:SetChecked( addon.db.profile.filters.item.armor.cloak )
-	ARL_ArmorNecklaceCB:SetChecked( addon.db.profile.filters.item.armor.necklace )
-	ARL_ArmorRingCB:SetChecked( addon.db.profile.filters.item.armor.ring )
-	ARL_ArmorTrinketCB:SetChecked( addon.db.profile.filters.item.armor.trinket )
+	ARL_ArmorClothCB:SetChecked( armordb.cloth )
+	ARL_ArmorLeatherCB:SetChecked( armordb.leather )
+	ARL_ArmorMailCB:SetChecked( armordb.mail )
+	ARL_ArmorPlateCB:SetChecked( armordb.plate )
+	ARL_ArmorCloakCB:SetChecked( armordb.cloak )
+	ARL_ArmorNecklaceCB:SetChecked( armordb.necklace )
+	ARL_ArmorRingCB:SetChecked( armordb.ring )
+	ARL_ArmorTrinketCB:SetChecked( armordb.trinket )
 	-- Weapon Options
-	if ( ( addon.db.profile.filters.item.weapon.onehand == true ) and
-		 ( addon.db.profile.filters.item.weapon.twohand == true ) and
-		 ( addon.db.profile.filters.item.weapon.dagger == true ) and
-		 ( addon.db.profile.filters.item.weapon.axe == true ) and
-		 ( addon.db.profile.filters.item.weapon.mace == true ) and
-		 ( addon.db.profile.filters.item.weapon.sword == true ) and
-		 ( addon.db.profile.filters.item.weapon.polearm == true ) and
-		 ( addon.db.profile.filters.item.weapon.wand == true ) and
-		 ( addon.db.profile.filters.item.weapon.thrown == true ) and
-		 ( addon.db.profile.filters.item.weapon.ammo == true ) ) then
+	if ( ( weapondb.onehand == true ) and ( weapondb.twohand == true ) and
+		 ( weapondb.dagger == true ) and ( weapondb.axe == true ) and
+		 ( weapondb.mace == true ) and ( weapondb.sword == true ) and
+		 ( weapondb.polearm == true ) and ( weapondb.wand == true ) and
+		 ( weapondb.thrown == true ) and ( weapondb.ammo == true ) and
+		 ( weapondb.fist == true ) ) then
 		ARL_WeaponAllCB:SetChecked( true )
 	else
 		ARL_WeaponAllCB:SetChecked( false )
 	end
-	if ( ( addon.db.profile.filters.item.weapon.onehand == false ) and
-		 ( addon.db.profile.filters.item.weapon.twohand == false ) and
-		 ( addon.db.profile.filters.item.weapon.dagger == false ) and
-		 ( addon.db.profile.filters.item.weapon.axe == false ) and
-		 ( addon.db.profile.filters.item.weapon.mace == false ) and
-		 ( addon.db.profile.filters.item.weapon.sword == false ) and
-		 ( addon.db.profile.filters.item.weapon.polearm == false ) and
-		 ( addon.db.profile.filters.item.weapon.wand == false ) and
-		 ( addon.db.profile.filters.item.weapon.thrown == false ) and
-		 ( addon.db.profile.filters.item.weapon.ammo == false ) ) then
+	if ( ( weapondb.onehand == false ) and ( weapondb.twohand == false ) and
+		 ( weapondb.dagger == false ) and ( weapondb.axe == false ) and
+		 ( weapondb.mace == false ) and ( weapondb.sword == false ) and
+		 ( weapondb.polearm == false ) and ( weapondb.wand == false ) and
+		 ( weapondb.thrown == false ) and ( weapondb.ammo == false ) and
+		 ( weapondb.fist == false ) ) then
 		ARL_WeaponNoneCB:SetChecked( true )
 	else
 		ARL_WeaponNoneCB:SetChecked( false )
 	end
-	ARL_Weapon1HCB:SetChecked( addon.db.profile.filters.item.weapon.onehand )
-	ARL_Weapon2HCB:SetChecked( addon.db.profile.filters.item.weapon.twohand )
-	ARL_WeaponDaggerCB:SetChecked( addon.db.profile.filters.item.weapon.dagger )
-	ARL_WeaponAxeCB:SetChecked( addon.db.profile.filters.item.weapon.axe )
-	ARL_WeaponMaceCB:SetChecked( addon.db.profile.filters.item.weapon.mace )
-	ARL_WeaponSwordCB:SetChecked( addon.db.profile.filters.item.weapon.sword )
-	ARL_WeaponPolearmCB:SetChecked( addon.db.profile.filters.item.weapon.polearm )
-	ARL_WeaponWandCB:SetChecked( addon.db.profile.filters.item.weapon.wand )
-	ARL_WeaponThrownCB:SetChecked( addon.db.profile.filters.item.weapon.thrown )
-	ARL_WeaponAmmoCB:SetChecked( addon.db.profile.filters.item.weapon.ammo )
+	ARL_Weapon1HCB:SetChecked( weapondb.onehand )
+	ARL_Weapon2HCB:SetChecked( weapondb.twohand )
+	ARL_WeaponDaggerCB:SetChecked( weapondb.dagger )
+	ARL_WeaponAxeCB:SetChecked( weapondb.axe )
+	ARL_WeaponMaceCB:SetChecked( weapondb.mace )
+	ARL_WeaponSwordCB:SetChecked( weapondb.sword )
+	ARL_WeaponPolearmCB:SetChecked( weapondb.polearm )
+	ARL_WeaponWandCB:SetChecked( weapondb.wand )
+	ARL_WeaponThrownCB:SetChecked( weapondb.thrown )
+	ARL_WeaponAmmoCB:SetChecked( weapondb.ammo )
+	ARL_WeaponFistCB:SetChecked( weapondb.fist )
 --[[
 	--Disable weapon options. Probably don't need to touch these...
 	ARL_WeaponStaffCB
 	ARL_WeaponBowCB
 	ARL_WeaponCrossbowCB ]]--
 	-- Player Type Options
-	ARL_PlayerTankCB:SetChecked( addon.db.profile.filters.player.tank )
-	ARL_PlayerMeleeCB:SetChecked( addon.db.profile.filters.player.melee )
-	ARL_PlayerHealerCB:SetChecked( addon.db.profile.filters.player.healer )
-	ARL_PlayerCasterCB:SetChecked( addon.db.profile.filters.player.caster )
+	ARL_PlayerTankCB:SetChecked( filterdb.player.tank )
+	ARL_PlayerMeleeCB:SetChecked( filterdb.player.melee )
+	ARL_PlayerHealerCB:SetChecked( filterdb.player.healer )
+	ARL_PlayerCasterCB:SetChecked( filterdb.player.caster )
 	-- Old World Rep Options
-	ARL_RepArgentDawnCB:SetChecked( addon.db.profile.filters.rep.argentdawn )
-	ARL_RepCenarionCircleCB:SetChecked( addon.db.profile.filters.rep.cenarioncircle )
-	ARL_RepThoriumCB:SetChecked( addon.db.profile.filters.rep.thoriumbrotherhood )
-	ARL_RepTimbermawCB:SetChecked( addon.db.profile.filters.rep.timbermaw )
-	ARL_RepZandalarCB:SetChecked( addon.db.profile.filters.rep.zandalar )
+	ARL_RepArgentDawnCB:SetChecked( filterdb.rep.argentdawn )
+	ARL_RepCenarionCircleCB:SetChecked( filterdb.rep.cenarioncircle )
+	ARL_RepThoriumCB:SetChecked( filterdb.rep.thoriumbrotherhood )
+	ARL_RepTimbermawCB:SetChecked( filterdb.rep.timbermaw )
+	ARL_RepZandalarCB:SetChecked( filterdb.rep.zandalar )
 	-- BC Rep Options
-	ARL_RepAldorCB:SetChecked( addon.db.profile.filters.rep.aldor )
-	ARL_RepAshtongueCB:SetChecked( addon.db.profile.filters.rep.ashtonguedeathsworn )
-	ARL_RepCenarionExpeditionCB:SetChecked( addon.db.profile.filters.rep.cenarionexpedition )
-	ARL_RepConsortiumCB:SetChecked( addon.db.profile.filters.rep.consortium )
-	ARL_RepHonorHoldCB:SetChecked( addon.db.profile.filters.rep.hellfire )
-	ARL_RepKeepersOfTimeCB:SetChecked( addon.db.profile.filters.rep.keepersoftime )
-	ARL_RepKurenaiCB:SetChecked( addon.db.profile.filters.rep.nagrand )
-	ARL_RepLowerCityCB:SetChecked( addon.db.profile.filters.rep.lowercity )
-	ARL_RepScaleSandsCB:SetChecked( addon.db.profile.filters.rep.scaleofthesands )
-	ARL_RepScryersCB:SetChecked( addon.db.profile.filters.rep.scryer )
-	ARL_RepShatarCB:SetChecked( addon.db.profile.filters.rep.shatar )
-	ARL_RepShatteredSunCB:SetChecked( addon.db.profile.filters.rep.shatteredsun )
-	ARL_RepSporeggarCB:SetChecked( addon.db.profile.filters.rep.sporeggar )
-	ARL_RepVioletEyeCB:SetChecked( addon.db.profile.filters.rep.violeteye )
+	ARL_RepAldorCB:SetChecked( filterdb.rep.aldor )
+	ARL_RepAshtongueCB:SetChecked( filterdb.rep.ashtonguedeathsworn )
+	ARL_RepCenarionExpeditionCB:SetChecked( filterdb.rep.cenarionexpedition )
+	ARL_RepConsortiumCB:SetChecked( filterdb.rep.consortium )
+	ARL_RepHonorHoldCB:SetChecked( filterdb.rep.hellfire )
+	ARL_RepKeepersOfTimeCB:SetChecked( filterdb.rep.keepersoftime )
+	ARL_RepKurenaiCB:SetChecked( filterdb.rep.nagrand )
+	ARL_RepLowerCityCB:SetChecked( filterdb.rep.lowercity )
+	ARL_RepScaleSandsCB:SetChecked( filterdb.rep.scaleofthesands )
+	ARL_RepScryersCB:SetChecked( filterdb.rep.scryer )
+	ARL_RepShatarCB:SetChecked( filterdb.rep.shatar )
+	ARL_RepShatteredSunCB:SetChecked( filterdb.rep.shatteredsun )
+	ARL_RepSporeggarCB:SetChecked( filterdb.rep.sporeggar )
+	ARL_RepVioletEyeCB:SetChecked( filterdb.rep.violeteye )
+-- Below this is WotLK stuff. May need to be changed post beta.
+	ARL_RepArgentCrusadeCB:SetChecked( filterdb.rep.argentcrusade )
+	ARL_RepFrenzyheartCB:SetChecked( filterdb.rep.frenzyheart )
+	ARL_RepEbonBladeCB:SetChecked( filterdb.rep.ebonblade )
+	ARL_RepKirinTorCB:SetChecked( filterdb.rep.kirintor )
+	ARL_RepSonsOfHodirCB:SetChecked( filterdb.rep.sonsofhodir )
+	ARL_RepKaluakCB:SetChecked( filterdb.rep.kaluak )
+	ARL_RepOraclesCB:SetChecked( filterdb.rep.oracles )
+	ARL_RepWyrmrestCB:SetChecked( filterdb.rep.wyrmrest )
+	ARL_RepSilverCovenantCB:SetChecked( filterdb.rep.silvercovenant )
+	ARL_RepSunreaversCB:SetChecked( filterdb.rep.sunreavers )
+	ARL_RepExplorersLeagueCB:SetChecked( filterdb.rep.explorersleague )
+	ARL_RepValianceCB:SetChecked( filterdb.rep.valiance )
+	ARL_RepHandOfVengeanceCB:SetChecked( filterdb.rep.handofvengeance )
+	ARL_RepTaunkaCB:SetChecked( filterdb.rep.taunka )
+	ARL_RepWarsongOffensiveCB:SetChecked( filterdb.rep.warsongoffensive )
 end

 function addon.resetFilters()
+	local filterdb = addon.db.profile.filters
 	-- reset all filters to their default values
-	addon.db.profile.filters.general.faction = true
-	addon.db.profile.filters.general.class = false
-	addon.db.profile.filters.general.specialty = false
-	addon.db.profile.filters.general.skill = true
-	addon.db.profile.filters.general.known = false
-	addon.db.profile.filters.general.unknown = true
-
-	addon.db.profile.filters.obtain.trainer = true
-	addon.db.profile.filters.obtain.vendor = true
-	addon.db.profile.filters.obtain.instance = true
-	addon.db.profile.filters.obtain.raid = true
-	addon.db.profile.filters.obtain.seasonal = true
-	addon.db.profile.filters.obtain.quest = true
-	addon.db.profile.filters.obtain.pvp = true
-	addon.db.profile.filters.obtain.discovery = true
-	addon.db.profile.filters.obtain.worlddrop = true
-	addon.db.profile.filters.obtain.mobdrop = true
-
-	addon.db.profile.filters.binding.itemboe = true
-	addon.db.profile.filters.binding.itembop = true
-	addon.db.profile.filters.binding.recipebop = true
-	addon.db.profile.filters.binding.recipeboe = true
-
-	addon.db.profile.filters.item.armor.cloth = true
-	addon.db.profile.filters.item.armor.leather = true
-	addon.db.profile.filters.item.armor.mail = true
-	addon.db.profile.filters.item.armor.plate = true
-	addon.db.profile.filters.item.armor.trinket = true
-	addon.db.profile.filters.item.armor.cloak = true
-	addon.db.profile.filters.item.armor.ring = true
-	addon.db.profile.filters.item.armor.necklace = true
-
-	addon.db.profile.filters.item.weapon.onehand = true
-	addon.db.profile.filters.item.weapon.twohand = true
-	addon.db.profile.filters.item.weapon.axe = true
-	addon.db.profile.filters.item.weapon.sword = true
-	addon.db.profile.filters.item.weapon.mace = true
-	addon.db.profile.filters.item.weapon.polearm = true
-	addon.db.profile.filters.item.weapon.dagger = true
-	addon.db.profile.filters.item.weapon.staff = true
-	addon.db.profile.filters.item.weapon.wand = true
-	addon.db.profile.filters.item.weapon.thrown = true
-	addon.db.profile.filters.item.weapon.bow = true
-	addon.db.profile.filters.item.weapon.crossbow = true
-	addon.db.profile.filters.item.weapon.ammo = true
-
-	addon.db.profile.filters.player.melee = true
-	addon.db.profile.filters.player.tank = true
-	addon.db.profile.filters.player.healer = true
-	addon.db.profile.filters.player.caster = true
-
-	addon.db.profile.filters.rep.aldor = true
-	addon.db.profile.filters.rep.scryer = true
-	addon.db.profile.filters.rep.argentdawn = true
-	addon.db.profile.filters.rep.ashtonguedeathsworn = true
-	addon.db.profile.filters.rep.cenarioncircle = true
-	addon.db.profile.filters.rep.cenarionexpedition = true
-	addon.db.profile.filters.rep.consortium = true
-	addon.db.profile.filters.rep.hellfire = true
-	addon.db.profile.filters.rep.keepersoftime = true
-	addon.db.profile.filters.rep.nagrand = true
-	addon.db.profile.filters.rep.lowercity = true
-	addon.db.profile.filters.rep.scaleofthesands = true
-	addon.db.profile.filters.rep.shatar = true
-	addon.db.profile.filters.rep.shatteredsun = true
-	addon.db.profile.filters.rep.sporeggar = true
-	addon.db.profile.filters.rep.thoriumbrotherhood = true
-	addon.db.profile.filters.rep.timbermaw = true
-	addon.db.profile.filters.rep.violeteye = true
-	addon.db.profile.filters.rep.zandalar = true
+	filterdb.general.faction = true
+	filterdb.general.class = false
+	filterdb.general.specialty = false
+	filterdb.general.skill = true
+	filterdb.general.known = false
+	filterdb.general.unknown = true
+
+	filterdb.obtain.trainer = true
+	filterdb.obtain.vendor = true
+	filterdb.obtain.instance = true
+	filterdb.obtain.raid = true
+	filterdb.obtain.seasonal = true
+	filterdb.obtain.quest = true
+	filterdb.obtain.pvp = true
+	filterdb.obtain.discovery = true
+	filterdb.obtain.worlddrop = true
+	filterdb.obtain.mobdrop = true
+
+	filterdb.binding.itemboe = true
+	filterdb.binding.itembop = true
+	filterdb.binding.recipebop = true
+	filterdb.binding.recipeboe = true
+
+	filterdb.item.armor.cloth = true
+	filterdb.item.armor.leather = true
+	filterdb.item.armor.mail = true
+	filterdb.item.armor.plate = true
+	filterdb.item.armor.trinket = true
+	filterdb.item.armor.cloak = true
+	filterdb.item.armor.ring = true
+	filterdb.item.armor.necklace = true
+
+	filterdb.item.weapon.onehand = true
+	filterdb.item.weapon.twohand = true
+	filterdb.item.weapon.axe = true
+	filterdb.item.weapon.sword = true
+	filterdb.item.weapon.mace = true
+	filterdb.item.weapon.polearm = true
+	filterdb.item.weapon.dagger = true
+	filterdb.item.weapon.fist = true
+	filterdb.item.weapon.staff = true
+	filterdb.item.weapon.wand = true
+	filterdb.item.weapon.thrown = true
+	filterdb.item.weapon.bow = true
+	filterdb.item.weapon.crossbow = true
+	filterdb.item.weapon.ammo = true
+
+	filterdb.player.melee = true
+	filterdb.player.tank = true
+	filterdb.player.healer = true
+	filterdb.player.caster = true
+
+	filterdb.rep.aldor = true
+	filterdb.rep.scryer = true
+	filterdb.rep.argentdawn = true
+	filterdb.rep.ashtonguedeathsworn = true
+	filterdb.rep.cenarioncircle = true
+	filterdb.rep.cenarionexpedition = true
+	filterdb.rep.consortium = true
+	filterdb.rep.hellfire = true
+	filterdb.rep.keepersoftime = true
+	filterdb.rep.nagrand = true
+	filterdb.rep.lowercity = true
+	filterdb.rep.scaleofthesands = true
+	filterdb.rep.shatar = true
+	filterdb.rep.shatteredsun = true
+	filterdb.rep.sporeggar = true
+	filterdb.rep.thoriumbrotherhood = true
+	filterdb.rep.timbermaw = true
+	filterdb.rep.violeteye = true
+	filterdb.rep.zandalar = true
+-- Below this is WotLK stuff. May need to be changed post beta.
+	filterdb.rep.argentcrusade = true
+	filterdb.rep.frenzyheart = true
+	filterdb.rep.ebonblade = true
+	filterdb.rep.kirintor = true
+	filterdb.rep.sonsofhodir = true
+	filterdb.rep.kaluak = true
+	filterdb.rep.oracles = true
+	filterdb.rep.wyrmrest = true
+	filterdb.rep.silvercovenant = true
+	filterdb.rep.sunreavers = true
+	filterdb.rep.explorersleague = true
+	filterdb.rep.valiance = true
+	filterdb.rep.handofvengeance = true
+	filterdb.rep.taunka = true
+	filterdb.rep.warsongoffensive = true

+	addon.resetTitle()
 	addon.Flyaway:Hide()
 end

@@ -1357,8 +1912,10 @@ function addon.DoFlyaway( panel )
 	local ChangeFilters = false
 	addon.Fly_Rep_OW:Hide()
 	addon.Fly_Rep_BC:Hide()
-	ARL_RepBCCB:SetChecked( false )
+	addon.Fly_Rep_LK:Hide()
 	ARL_RepOldWorldCB:SetChecked( false )
+	ARL_RepBCCB:SetChecked( false )
+	ARL_RepLKCB:SetChecked( false )
 	if ( panel == 1 ) then
 		if ( ARL_ExpGeneralOptCB:GetChecked() ) then
 			-- uncheck all other buttons
@@ -1371,7 +1928,7 @@ function addon.DoFlyaway( panel )
 			ARL_ExpGeneralOptCB.text:SetText( addon:White( ExpButtonText[1] ) )
 			ARL_ExpObtainOptCB.text:SetText( addon:Yellow( ExpButtonText[2] ) )
 			ARL_ExpBindingOptCB.text:SetText( addon:Yellow( ExpButtonText[3] ) )
-			ARL_ExpItemOptCB.text:SetText( addon:Yellow( ExpButtonText[4] ) )
+--			ARL_ExpItemOptCB.text:SetText( addon:Yellow( ExpButtonText[4] ) )
 			ARL_ExpPlayerOptCB.text:SetText( addon:Yellow( ExpButtonText[5] ) )
 			ARL_ExpRepOptCB.text:SetText( addon:Yellow( ExpButtonText[6] ) )
 			-- display the correct subframe with all the buttons and such, hide the others
@@ -1399,7 +1956,7 @@ function addon.DoFlyaway( panel )
 			ARL_ExpGeneralOptCB.text:SetText( addon:Yellow( ExpButtonText[1] ) )
 			ARL_ExpObtainOptCB.text:SetText( addon:White( ExpButtonText[2] ) )
 			ARL_ExpBindingOptCB.text:SetText( addon:Yellow( ExpButtonText[3] ) )
-			ARL_ExpItemOptCB.text:SetText( addon:Yellow( ExpButtonText[4] ) )
+--			ARL_ExpItemOptCB.text:SetText( addon:Yellow( ExpButtonText[4] ) )
 			ARL_ExpPlayerOptCB.text:SetText( addon:Yellow( ExpButtonText[5] ) )
 			ARL_ExpRepOptCB.text:SetText( addon:Yellow( ExpButtonText[6] ) )
 			-- display the correct subframe with all the buttons and such, hide the others
@@ -1427,7 +1984,7 @@ function addon.DoFlyaway( panel )
 			ARL_ExpGeneralOptCB.text:SetText( addon:Yellow( ExpButtonText[1] ) )
 			ARL_ExpObtainOptCB.text:SetText( addon:Yellow( ExpButtonText[2] ) )
 			ARL_ExpBindingOptCB.text:SetText( addon:White( ExpButtonText[3] ) )
-			ARL_ExpItemOptCB.text:SetText( addon:Yellow( ExpButtonText[4] ) )
+--			ARL_ExpItemOptCB.text:SetText( addon:Yellow( ExpButtonText[4] ) )
 			ARL_ExpPlayerOptCB.text:SetText( addon:Yellow( ExpButtonText[5] ) )
 			ARL_ExpRepOptCB.text:SetText( addon:Yellow( ExpButtonText[6] ) )
 			-- display the correct subframe with all the buttons and such, hide the others
@@ -1483,7 +2040,7 @@ function addon.DoFlyaway( panel )
 			ARL_ExpGeneralOptCB.text:SetText( addon:Yellow( ExpButtonText[1] ) )
 			ARL_ExpObtainOptCB.text:SetText( addon:Yellow( ExpButtonText[2] ) )
 			ARL_ExpBindingOptCB.text:SetText( addon:Yellow( ExpButtonText[3] ) )
-			ARL_ExpItemOptCB.text:SetText( addon:Yellow( ExpButtonText[4] ) )
+--			ARL_ExpItemOptCB.text:SetText( addon:Yellow( ExpButtonText[4] ) )
 			ARL_ExpPlayerOptCB.text:SetText( addon:White( ExpButtonText[5] ) )
 			ARL_ExpRepOptCB.text:SetText( addon:Yellow( ExpButtonText[6] ) )
 			-- display the correct subframe with all the buttons and such, hide the others
@@ -1511,7 +2068,7 @@ function addon.DoFlyaway( panel )
 			ARL_ExpGeneralOptCB.text:SetText( addon:Yellow( ExpButtonText[1] ) )
 			ARL_ExpObtainOptCB.text:SetText( addon:Yellow( ExpButtonText[2] ) )
 			ARL_ExpBindingOptCB.text:SetText( addon:Yellow( ExpButtonText[3] ) )
-			ARL_ExpItemOptCB.text:SetText( addon:Yellow( ExpButtonText[4] ) )
+--			ARL_ExpItemOptCB.text:SetText( addon:Yellow( ExpButtonText[4] ) )
 			ARL_ExpPlayerOptCB.text:SetText( addon:Yellow( ExpButtonText[5] ) )
 			ARL_ExpRepOptCB.text:SetText( addon:White( ExpButtonText[6] ) )
 			-- display the correct subframe with all the buttons and such, hide the others
@@ -1532,14 +2089,14 @@ function addon.DoFlyaway( panel )
 	if ( ChangeFilters == true ) then
 		-- Depending on which panel we're showing, either display one column
 		-- or two column
-		if ( ( panel == 1 ) or ( panel == 3 ) or ( panel == 4 ) ) then
+		if ( ( panel == 3 ) or ( panel == 4 ) ) then
 			addon.flyTexture:ClearAllPoints()
 			addon.Flyaway:SetWidth(234)
 			addon.Flyaway:SetHeight(312)
 			addon.flyTexture:SetTexture( [[Interface\Addons\AckisRecipeList\img\fly_2col]] )
 			addon.flyTexture:SetAllPoints( addon.Flyaway )
 			addon.flyTexture:SetTexCoord( 0, (234/256), 0, (312/512) )
-		elseif ( ( panel == 2 ) or ( panel == 5 ) or ( panel == 6 ) ) then
+		elseif ( ( panel == 1 ) or ( panel == 2 ) or ( panel == 5 ) or ( panel == 6 ) ) then
 			addon.flyTexture:ClearAllPoints()
 			addon.Flyaway:SetWidth(136)
 			addon.Flyaway:SetHeight(312)
@@ -1557,1021 +2114,1028 @@ end

 -- This does the initial fillup of the DisplayStrings structure.
 -- This won't run if all we're doing is expanding/contracting a recipe
-function addon.initDisplayStrings()
-	addon.DisplayStrings = nil
-	addon.DisplayStrings = {}
-	for i, RecipeName in ipairs( addon.SortedRecipeIndex ) do
-		-- include filtering for search string here?
-		local t = {}
-		t.String = RecipeName
-		t.IsRecipe = true
-		t.IsExpanded = false
-		tinsert( addon.DisplayStrings, i, t )
+function initDisplayStrings()
+	local exclude = addon.db.profile.exclusionlist
+	DisplayStrings = nil
+	DisplayStrings = {}
+	local insertIndex = 1
+	for i = 1, #sortedRecipeIndex do
+		local recipeIndex = sortedRecipeIndex[i]
+		if ( ( recipeDB[recipeIndex]["Display"] == true ) and
+			 ( recipeDB[recipeIndex]["Search"] == true ) ) then
+			local t = {}
+			-- add in recipe difficulty coloring
+			local recStr = ""
+			if ( exclude[recipeIndex] == true ) then
+				recStr = "** " .. recipeDB[recipeIndex]["Name"] .. " **"
+			else
+				recStr = recipeDB[recipeIndex]["Name"]
+			end
+			local recipeSkill = recipeDB[recipeIndex]["Level"]
+			local playerSkill = playerData.playerProfessionLevel
+			if ( recipeSkill > playerSkill ) then
+				t.String = addon:Red( recStr )
+			elseif ( ( playerSkill - recipeSkill ) < 20 ) then
+				t.String = addon:Orange( recStr )
+			elseif ( ( playerSkill - recipeSkill ) < 30 ) then
+				t.String = addon:Yellow( recStr )
+			elseif ( ( playerSkill - recipeSkill ) < 40 ) then
+				t.String = addon:Green( recStr )
+			else
+				t.String = addon:MidGrey( recStr )
+			end
+			t.sID = recipeIndex
+			t.IsRecipe = true
+			t.IsExpanded = false
+			tinsert( DisplayStrings, insertIndex, t )
+			insertIndex = insertIndex + 1
+		end
 	end
 end

 -- This does an initial fillup of the DisplayStrings, as above.
 -- However, in this case, it expands every recipe
-function addon.expandallDisplayStrings( )
-	addon.DisplayStrings = nil
-	addon.DisplayStrings = {}
+function expandallDisplayStrings( )
+	local exclude = addon.db.profile.exclusionlist
+	DisplayStrings = nil
+	DisplayStrings = {}
 	local insertIndex = 1
-	for i, RecipeName in ipairs( addon.SortedRecipeIndex ) do
-		-- include filtering for search string here?
-		local t = {}
-		t.String = RecipeName
-		t.IsRecipe = true
-		if ( addon.RecipeListing[RecipeName]["Acquire"] ) then
-			t.IsExpanded = true
-			tinsert( addon.DisplayStrings, insertIndex, t )
-			insertIndex = insertIndex + 1
-			-- for now, just insert it as a single string. eventually, I need to pick
-			-- this apart into individual strings...
-			t = {}
-			t.String = addon.RecipeListing[RecipeName]["Acquire"]
-			t.IsRecipe = false
-			t.IsExpanded = true
-			tinsert( addon.DisplayStrings, insertIndex, t )
-			insertIndex = insertIndex + 1
-		else
-			t.IsExpanded = false
-			tinsert( addon.DisplayStrings, insertIndex, t )
-			insertIndex = insertIndex + 1
+	for i = 1, #sortedRecipeIndex do
+		local recipeIndex = sortedRecipeIndex[i]
+		if ( ( recipeDB[recipeIndex]["Display"] == true ) and
+			 ( recipeDB[recipeIndex]["Search"] == true ) ) then
+			local t = {}
+			-- add in recipe difficulty coloring
+			local recStr = ""
+			if ( exclude[recipeIndex] == true ) then
+				recStr = "** " .. recipeDB[recipeIndex]["Name"] .. " **"
+			else
+				recStr = recipeDB[recipeIndex]["Name"]
+			end
+			local recipeSkill = recipeDB[recipeIndex]["Level"]
+			local playerSkill = playerData.playerProfessionLevel
+			if ( recipeSkill > playerSkill ) then
+				t.String = addon:Red( recStr )
+			elseif ( ( playerSkill - recipeSkill ) < 20 ) then
+				t.String = addon:Orange( recStr )
+			elseif ( ( playerSkill - recipeSkill ) < 30 ) then
+				t.String = addon:Yellow( recStr )
+			elseif ( ( playerSkill - recipeSkill ) < 40 ) then
+				t.String = addon:Green( recStr )
+			else
+				t.String = addon:MidGrey( recStr )
+			end
+			t.sID = sortedRecipeIndex[i]
+			t.IsRecipe = true
+			if ( recipeDB[recipeIndex]["Acquire"] ) then
+				-- we have acquire information for this. push the title entry into the strings
+				-- and start processing the acquires
+				t.IsExpanded = true
+				tinsert( DisplayStrings, insertIndex, t )
+				insertIndex = expandEntry( insertIndex )
+			else
+				t.IsExpanded = false
+				tinsert( DisplayStrings, insertIndex, t )
+				insertIndex = insertIndex + 1
+			end
 		end
 	end
 end

 function addon.ExpandAll_Clicked( )
 	-- Called when the expand all button is clicked
-	if ( ARL_ExpandButton:GetText() == L["ExpandAll"] ) then
-		ARL_ExpandButton:SetText( L["ContractAll"] )
-		addon:TooltipDisplay( ARL_ExpandButton, L["CONTRACT_TT"] )
-		addon.expandallDisplayStrings( addon.SortedRecipeIndex )
+	if ( ARL_ExpandButton:GetText() == L["EXPANDALL"] ) then
+		ARL_ExpandButton:SetText( L["CONTRACTALL"] )
+		addon:TooltipDisplay( ARL_ExpandButton, L["CONTRACTALL_DESC"] )
+		expandallDisplayStrings( )
 	else
-		ARL_ExpandButton:SetText( L["ExpandAll"] )
-		addon:TooltipDisplay( ARL_ExpandButton, L["EXPAND_TT"] )
-		addon.initDisplayStrings( addon.SortedRecipeIndex )
+		ARL_ExpandButton:SetText( L["EXPANDALL"] )
+		addon:TooltipDisplay( ARL_ExpandButton, L["EXPANDALL_DESC"] )
+		initDisplayStrings( )
 	end
-	addon.RecipeList_Update()
+	RecipeList_Update()
 end

 -- Creates the initial frame to display recipes into
-function addon:CreateFrame(CurrentProfession, CurrentProfessionLevel, CurrentSpeciality)
+function addon:CreateFrame(
+	rDB,		-- RecipeList
+	sortedRI,	-- sortedindex
+	cPlayer,	-- playerdata
+	asTable,	-- AllSpecialtiesTable
+	trList,		-- TrainerList
+	vList,		-- VendorList
+	qList,		-- QuestList
+	rList,		-- ReputationList
+	sList,		-- SeasonalList
+	mList )		-- MobList

-	addon.ResetOkayARL = false
-	addon.CurrentProfession = CurrentProfession
-
-	-- Normal GUI
-	if (not addon.db.profile.testgui) then
-		if (not addon.Frame) then
-
-			-- Create the main frame
-			addon.Frame = CreateFrame("Frame", "addon.Frame", UIParent)
-			--Allows ARL to be closed with the Escape key
-			tinsert(UISpecialFrames, "addon.Frame")
-
-			addon.Frame:SetWidth(384)
-			addon.Frame:SetHeight(430)
-			addon.Frame:SetBackdrop(
-			{
-				bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background",
-				edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border",
-				tile="false",
-				edgeSize = 16,
-				insets = {
-					left = 5,
-					right = 5,
-					top = 5,
-					bottom = 5
-				}
-			})
-			addon.Frame:SetBackdropColor(0, 0, 0)
-			addon.Frame:EnableMouse(true)
-			addon.Frame:EnableKeyboard(true)
-			addon.Frame:SetMovable(true)
-			addon.Frame:SetScript("OnMouseDown", function() addon.Frame:StartMoving() end)
-			addon.Frame:SetScript("OnHide", function() self:CloseWindow()	end)
-			addon.Frame:SetScript("OnMouseUp", function()	addon.Frame:StopMovingOrSizing() end)
-
-			-- ATSW for some reason has a window "bigger" than what you can see
-			if (ATSWFrame and not CraftIsPetTraining()) then
-				addon.Frame:SetFrameStrata("DIALOG")
-			end
-
-			-- Add header frame
-			addon.Frame.Header = CreateFrame("Frame", "addon.Frame.Header", addon.Frame)
-
-			addon.Frame.Header:SetWidth(192)
-			addon.Frame.Header:SetHeight(32)
-			addon.Frame.Header:ClearAllPoints()
-			addon.Frame.Header:SetPoint("TOP", addon.Frame, "TOP", 0, 6)
-			addon.Frame.Header:EnableMouse(true)
-			addon.Frame.Header:SetMovable(true)
-			addon.Frame.Header:SetScript("OnMouseDown", function()
-											addon.Frame:StartMoving()
-										end
-			)
-			addon.Frame.Header:SetScript("OnMouseUp", function()
-											addon.Frame:StopMovingOrSizing()
-										end
-			)
-
-			-- Add texture to the header frame
-			addon.Frame.Header.Texture = addon.Frame.Header:CreateTexture("addon.Frame.Header.Texture", "ARTWORK")
-
-			addon.Frame.Header.Texture:SetTexture("Interface\\DialogFrame\\UI-DialogBox-Header")
-			addon.Frame.Header.Texture:SetWidth(475)
-			addon.Frame.Header.Texture:SetHeight(64)
-			addon.Frame.Header.Texture:ClearAllPoints()
-			addon.Frame.Header.Texture:SetPoint("TOP", addon.Frame.Header, "TOP", 0, 5)
-
-			-- Add text to header frame
-			addon.Frame.Header.Text = addon.Frame.Header:CreateFontString("addon.Frame.Header.Text", "ARTWORK")
-
-			addon.Frame.Header.Text:SetFontObject(GameFontNormal)
-			addon.Frame.Header.Text:ClearAllPoints()
-			addon.Frame.Header.Text:SetPoint("CENTER", addon.Frame.Header, "CENTER", 0, 0)
-			addon.Frame.Header.Text:SetText(self:White(addon.ARLTitle))
-
-			-- Add close button
-			addon.Frame.CloseButton = CreateFrame("Button","addon.Frame.CloseButton",addon.Frame,"UIPanelButtonTemplate")
-
-			addon.Frame.CloseButton:SetWidth(100)
-			addon.Frame.CloseButton:SetHeight(24)
-			addon.Frame.CloseButton:ClearAllPoints()
-			addon.Frame.CloseButton:SetPoint("BOTTOMRIGHT", addon.Frame, -10, 10)
-			addon.Frame.CloseButton:RegisterForClicks("LeftButtonUp")
-			addon.Frame.CloseButton:SetScript("OnClick", function() self:CloseWindow() end)
-			addon.Frame.CloseButton:SetScript("OnEnter", function(this)
-												GameTooltip_SetDefaultAnchor(GameTooltip, this)
-												GameTooltip:SetText(self:White(L["Close Window"]))
-												GameTooltip:Show()
-			end
-										)
-			addon.Frame.CloseButton:SetScript("OnLeave", function() GameTooltip:Hide() end)
-			if (not addon.wrath) then
-				addon.Frame.CloseButton:SetFont("GameFontHighlightSmall",12)
-			end
-			addon.Frame.CloseButton:SetText(self:White(L["Close"]))
-			addon.Frame.CloseButton:Enable()
-
-			-- Add expand all button
-			addon.Frame.ExpandAllButton = CreateFrame("Button","addon.Frame.ExpandAllButton",addon.Frame,"UIPanelButtonTemplate")
-
-			addon.Frame.ExpandAllButton:SetWidth(16)
-			addon.Frame.ExpandAllButton:SetHeight(16)
-			addon.Frame.ExpandAllButton:SetNormalTexture("Interface\\Buttons\\UI-PlusButton-Up")
-			addon.Frame.ExpandAllButton:SetPushedTexture("Interface\\Buttons\\UI-PlusButton-Down")
-			addon.Frame.ExpandAllButton:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight")
-			addon.Frame.ExpandAllButton:ClearAllPoints()
-			addon.Frame.ExpandAllButton:SetPoint("TOPRIGHT",addon.Frame,"TOPRIGHT",-10,-20)
-			addon.Frame.ExpandAllButton:SetScript("OnClick", function() self:ExpandAll() end)
-			addon.Frame.ExpandAllButton:SetScript("OnEnter", function(this)
-													GameTooltip_SetDefaultAnchor(GameTooltip, this)
-													GameTooltip:SetText(self:White(L["Expand All"]))
-													GameTooltip:Show()
-												end
-			)
-			addon.Frame.ExpandAllButton:SetScript("OnLeave", function() GameTooltip:Hide() end)
-			addon.Frame.ExpandAllButton:Enable()
-
-			-- Add collaspse all button
-			addon.Frame.CollapseAllButton = CreateFrame("Button","addon.Frame.CollapseAllButton",addon.Frame,"UIPanelButtonTemplate")
-
-			addon.Frame.CollapseAllButton:SetWidth(16)
-			addon.Frame.CollapseAllButton:SetHeight(16)
-			addon.Frame.CollapseAllButton:SetNormalTexture("Interface\\Buttons\\UI-MinusButton-Up")
-			addon.Frame.CollapseAllButton:SetPushedTexture("Interface\\Buttons\\UI-MinusButton-Down")
-			addon.Frame.CollapseAllButton:SetHighlightTexture("Interface\\Buttons\\UI-MinusButton-Hilight")
-			addon.Frame.CollapseAllButton:ClearAllPoints()
-			addon.Frame.CollapseAllButton:SetPoint("TOPRIGHT",addon.Frame,"TOPRIGHT",-30,-20)
-			addon.Frame.CollapseAllButton:SetScript("OnClick", function() self:CloseAll() end)
-			addon.Frame.CollapseAllButton:SetScript("OnEnter", function(this)
-														GameTooltip_SetDefaultAnchor(GameTooltip, this)
-														GameTooltip:SetText(self:White(L["Collapse All"]))
-														GameTooltip:Show()
-													end
-			)
-			addon.Frame.CollapseAllButton:SetScript("OnLeave", function() GameTooltip:Hide() end)
-			addon.Frame.CollapseAllButton:Enable()
-
-			-- Add a "close with x" button
-			addon.Frame.XButton = CreateFrame("Button","addon.Frame.XButton",addon.Frame,"UIPanelCloseButton")
-
-			addon.Frame.XButton:ClearAllPoints()
-			addon.Frame.XButton:SetPoint("TOPRIGHT",addon.Frame,"TOPRIGHT",0,0)
-			addon.Frame.XButton:RegisterForClicks("LeftButtonUp")
-			addon.Frame.XButton:SetScript("OnClick", function() self:CloseWindow() end)
-			addon.Frame.XButton:SetScript("OnEnter", function(this)
-											GameTooltip_SetDefaultAnchor(GameTooltip, this)
-											GameTooltip:SetText(self:White(L["Close Window"]))
-											GameTooltip:Show()
-										end
-			)
-			addon.Frame.XButton:SetScript("OnLeave", function() GameTooltip:Hide() end)
-			addon.Frame.XButton:Enable()
+--[[
+	cPlayer is a table containing:
+		.playerProfession == player profession which has been opened
+		.playerProfessionLevel == skill level of profession
+		.playerSpecialty == Specialty if any or ""
+		.totalRecipes == Total recipes added to the database
+		.foundRecipes == Total recipes found that the player knows
+		.filteredRecipes == Total recipes filtered
+		["Professions"] == list of all professions with the ones the player knows set as true
+		["Reputation"] == Reputation levels, what I had in current ARLform was if you didn't have the rep level, it would display it in red
+--]]
+
+	myFaction = UnitFactionGroup( "player" )
+	local HonorHold_Thrallmar_FactionText = ""
+	local Kurenai_Maghar_FactionText = ""
+	-- Values forthe progressbar (defaults)
+	local pbMin = 0
+	local pbMax = 100
+	local pbCur = 50

-			-- Adds scroll frame to mainframe
-			addon.Frame.ScrollFrame = CreateFrame("ScrollFrame", "addon.Frame.ScrollFrame", addon.Frame, "UIPanelScrollFrameTemplate")
-
-			addon.Frame.ScrollFrame:ClearAllPoints()
-			addon.Frame.ScrollFrame:SetPoint("TOPLEFT", addon.Frame, "TOPLEFT", 10, -50)
-			addon.Frame.ScrollFrame:SetHeight(345)
-			addon.Frame.ScrollFrame:SetWidth(344)
-			addon.Frame.ScrollFrame:EnableMouseWheel(true)
-			addon.Frame.ScrollFrame:EnableMouse(true)
-
-			addon.Frame.ScrollChild = CreateFrame("Frame", "addon.Frame.ScrollChild", addon.Frame.ScrollFrame)
-
-			addon.Frame.ScrollChild:ClearAllPoints()
-			addon.Frame.ScrollChild:SetPoint("TOPLEFT", addon.Frame.ScrollFrame, "TOPLEFT", 10, -30)
-			addon.Frame.ScrollChild:SetWidth(340)
-			addon.Frame.ScrollChild:SetHeight(345)
-			addon.Frame.ScrollChild:EnableMouseWheel(true)
-			addon.Frame.ScrollChild:EnableMouse(true)
-
-			addon.Frame.ScrollFrame:SetScrollChild(addon.Frame.ScrollChild)
-
-			-- Add progress bar to frame
-			addon.Frame.ProgressBar = CreateFrame("StatusBar", "addon.Frame.ProgressBar", addon.Frame)
-
-			addon.Frame.ProgressBar:SetWidth(260)
-			addon.Frame.ProgressBar:SetHeight(20)
-			addon.Frame.ProgressBar:ClearAllPoints()
-			addon.Frame.ProgressBar:SetPoint("BOTTOMLEFT", addon.Frame, 10, 10)
-			addon.Frame.ProgressBar:SetStatusBarTexture("Interface\\PaperDollInfoFrame\\UI-Character-Skills-Bar")
-			addon.Frame.ProgressBar:SetOrientation("HORIZONTAL")
-			addon.Frame.ProgressBar:SetStatusBarColor(0.25, 0.25, 0.75)
-
-			addon.Frame.ProgressBarBorder = CreateFrame("Button", "addon.Frame.ProgressBarBorder", addon.Frame.ProgressBar)
-
-			-- Add border to status bar
-			addon.Frame.ProgressBarBorder:SetNormalTexture("Interface\\PaperDollInfoFrame\\UI-Character-Skills-BarBorder")
-			addon.Frame.ProgressBarBorder:SetWidth(270)
-			addon.Frame.ProgressBarBorder:SetHeight(40)
-			addon.Frame.ProgressBarBorder:ClearAllPoints()
-			addon.Frame.ProgressBarBorder:SetPoint("CENTER", addon.Frame.ProgressBar, "CENTER", 0, 0)
-
-			addon.Frame.ProgressBarText = addon.Frame.ProgressBar:CreateFontString("addon.Frame.ProgressBarText", "ARTWORK")
-
-			-- Add text to header frame
-			addon.Frame.ProgressBarText:SetFontObject(GameFontHighlightSmall)
-			addon.Frame.ProgressBarText:ClearAllPoints()
-			addon.Frame.ProgressBarText:SetPoint("CENTER", addon.Frame.ProgressBar, "CENTER", 0, 0)
-
-			-- Adds Profession header text
-			addon.Frame.ProfessionText = addon.Frame:CreateFontString(nil, "ARTWORK", "GameFontNormal")
-			addon.Frame.ProfessionText:ClearAllPoints()
-			addon.Frame.ProfessionText:SetPoint("TOP", 0, -30)
+	addon.ResetOkayARL = false

+	sortedRecipeIndex = sortedRI
+	recipeDB = rDB
+	allSpecTable = asTable
+	playerData = cPlayer
+	currentProfession = playerData.playerProfession
+	trainerDB = trList
+	vendorDB = vList
+	questDB = qList
+	repDB = rList
+	seasonDB = sList
+	mobDB = mList
+
+	-- reset current display items
+	DisplayStrings = {}
+
+	-- get our current profession's index
+	for k, v in pairs( SortedProfessions ) do
+		if ( v.name == currentProfession ) then
+			currentProfIndex = k
+			break
 		end
+	end

-		addon.Frame:ClearAllPoints()
+	-- Adding a check in to see if we're Horde or Alliance, and change the displayed reputation
+	-- strings to be faction correct (eg, Honor Hold / Thrallmar )
+	if ( myFaction == "Alliance" ) then
+		HonorHold_Thrallmar_FactionText = BFAC["Honor Hold"]
+		Kurenai_Maghar_FactionText = BFAC["Kurenai"]
+	else
+		HonorHold_Thrallmar_FactionText = BFAC["Thrallmar"]
+		Kurenai_Maghar_FactionText = BFAC["The Mag'har"]
+	end

-		-- Anchor the frame to a specific window
-
-		-- Anchors to Skillet window
-		if (Skillet and Skillet:IsActive() and not CraftIsPetTraining()) then
-			addon.Frame:SetPoint("LEFT", SkilletFrame, "RIGHT", 0, 0)
-		-- Anchor to Beast window if skillet is active
-		elseif (Skillet and Skillet:IsActive() and CraftIsPetTraining()) then
-			addon.Frame:SetPoint("RIGHT", CraftFrame, "RIGHT", 345, 30)
-		-- Anchor to ATSW
-		elseif (ATSWFrame) then
-			addon.Frame:SetPoint("RIGHT", ATSWFrame, "RIGHT", 350, 25)
-		-- Move the window over a bit for trade tabs to be seen
-		elseif (TradeTabs) then
-			if (addon.SkillType == "Trade") then
-				addon.Frame:SetPoint("RIGHT", TradeSkillFrame, "RIGHT", 385, 30)
-			-- Anchor to crafting window
-			elseif (addon.SkillType == "Craft") then
-				addon.Frame:SetPoint("RIGHT", CraftFrame, "RIGHT", 385, 30)
-			end
-		-- Anchor to trade skill window
-		elseif (addon.SkillType == "Trade") then
-			addon.Frame:SetPoint("RIGHT", TradeSkillFrame, "RIGHT", 345, 30)
-		-- Anchor to crafting window
-		elseif (addon.SkillType == "Craft") then
-			addon.Frame:SetPoint("RIGHT", CraftFrame, "RIGHT", 345, 30)
-		-- Nothing found to anchor, just put it up in the middle
-		else
-			addon.Frame:SetPoint("CENTER", UIParent, "CENTER", 0, 0)
-		end
+	if (not addon.Frame) then
+		-- Create the main frame
+		addon.Frame = CreateFrame("Frame", "addon.Frame", UIParent)
+		--Allows ARL to be closed with the Escape key
+		tinsert(UISpecialFrames, "addon.Frame")

-		-- Set the text / status bar display  of the progress bar
-		if (CurrentSpeciality == "") then
-			addon.Frame.ProfessionText:SetText(self:Yellow(CurrentProfession))
-		else
-			addon.Frame.ProfessionText:SetText(self:Yellow(CurrentProfession .. " - " .. CurrentSpeciality))
-		end
+		addon.Frame:SetWidth(293)
+		addon.Frame:SetHeight(447)

-		addon.Frame:Show()
+		addon.bgTexture = addon.Frame:CreateTexture( "AckisRecipeList.bgTexture", "ARTWORK" )
+		addon.bgTexture:SetTexture( "Interface\\Addons\\AckisRecipeList\\img\\main" )
+		addon.bgTexture:SetAllPoints( addon.Frame )
+		addon.bgTexture:SetTexCoord( 0, (293/512), 0, (447/512) )
+		addon.Frame:SetFrameStrata( "BACKGROUND" )
+		addon.Frame:SetHitRectInsets( 5, 5, 5, 5 )

-		-- Add frame elements
-		AddRecipeInfo(CurrentProfession, CurrentProfessionLevel, CurrentSpeciality)
+		addon.Frame:EnableMouse(true)
+		addon.Frame:EnableKeyboard(true)
+		addon.Frame:SetMovable(true)
+		addon.Frame:SetScript("OnMouseDown", function() addon.Frame:StartMoving() end)
+		addon.Frame:SetScript("OnHide", function() self:CloseWindow() end)
+		addon.Frame:SetScript("OnMouseUp", function() addon.Frame:StopMovingOrSizing() end)

-		-- Include filtered recipes in overall count
-		if (addon.db.profile.includefiltered) then
-			addon.Frame.ProgressBar:SetMinMaxValues(0, addon.NumberOfRecipes)
-			addon.Frame.ProgressBar:SetValue(addon.FoundRecipes)
-			addon.Frame.ProgressBarText:SetText(addon.FoundRecipes .. " \\ " .. addon.NumberOfRecipes .. " - " .. math.floor(addon.FoundRecipes / addon.NumberOfRecipes * 100) .. "%")
-		-- Do not include filtered recipes
-		else
-			addon.Frame.ProgressBar:SetMinMaxValues(0, addon.NumberOfRecipes - addon.FilteredRecipes)
-			addon.Frame.ProgressBar:SetValue(addon.FoundRecipes)
-			addon.Frame.ProgressBarText:SetText(addon.FoundRecipes .. " \\ " .. addon.NumberOfRecipes - addon.FilteredRecipes .. " - " .. math.floor(addon.FoundRecipes / (addon.NumberOfRecipes - addon.FilteredRecipes) * 100) .. "%")
-		end
+		addon.Frame:ClearAllPoints()
+		addon.Frame:SetPoint("CENTER", UIParent, "CENTER", 0, 0)
+		addon.Frame:Show()
+		addon.Frame._Expanded = false

-	else
-		-- New dev GUI
-		self:Print("Test purposes only.")
-
-		-- Adding a check in to see if we're Horde or Alliance, and change the displayed reputation
-		-- strings to be faction correct (eg, Honor Hold / Thrallmar )
-		if ( UnitFactionGroup( "player" ) == "Alliance" ) then
-			addon.HonorHold_Thrallmar_FactionText = BFAC["Honor Hold"]
-			addon.Kurenai_Maghar_FactionText = BFAC["Kurenai"]
-		else
-			addon.HonorHold_Thrallmar_FactionText = BFAC["Thrallmar"]
-			addon.Kurenai_Maghar_FactionText = BFAC["The Mag'har"]
-		end
+		addon.Frame.HeadingText = addon.Frame:CreateFontString( "addon.Frame.HeadingText", "ARTWORK" )
+
+		addon.Frame.HeadingText:SetFontObject( "GameFontHighlightSmall" )
+		addon.Frame.HeadingText:ClearAllPoints()
+		addon.Frame.HeadingText:SetPoint("TOP", addon.Frame, "TOP", 20, -16)
+		addon.Frame.HeadingText:SetJustifyH( "CENTER" )
+
+		local ARL_SwitcherButton = CreateFrame( "Button", "ARL_SwitcherButton", addon.Frame, "UIPanelButtonTemplate" )
+			ARL_SwitcherButton:SetWidth( 64 )
+			ARL_SwitcherButton:SetHeight( 64 )
+			ARL_SwitcherButton:SetPoint( "TOPLEFT", addon.Frame, "TOPLEFT", 1, -2 )
+			ARL_SwitcherButton:SetScript( "OnClick", function()
+				addon.SwitchProfs( cPlayer )
+			end )

-		if (not addon.Frame) then
-			-- Create the main frame
-			addon.Frame = CreateFrame("Frame", "addon.Frame", UIParent)
-			--Allows ARL to be closed with the Escape key
-			tinsert(UISpecialFrames, "addon.Frame")
-
-			addon.Frame:SetWidth(293)
-			addon.Frame:SetHeight(447)
-
-			addon.bgTexture = addon.Frame:CreateTexture( "AckisRecipeList.bgTexture", "ARTWORK" )
-			addon.bgTexture:SetTexture( [[Interface\Addons\AckisRecipeList\img\main]] )
-			addon.bgTexture:SetAllPoints( addon.Frame )
-			addon.bgTexture:SetTexCoord( 0, (293/512), 0, (447/512) )
-			addon.Frame:SetFrameStrata( "BACKGROUND" )
-			addon.Frame:SetHitRectInsets( 5, 5, 5, 5 )
-
-			addon.Frame:EnableMouse(true)
-			addon.Frame:EnableKeyboard(true)
-			addon.Frame:SetMovable(true)
-			addon.Frame:SetScript("OnMouseDown", function() addon.Frame:StartMoving() end)
-			addon.Frame:SetScript("OnHide", function() self:CloseWindow() end)
-			addon.Frame:SetScript("OnMouseUp", function() addon.Frame:StopMovingOrSizing() end)
-
-			addon.Frame:ClearAllPoints()
-			addon.Frame:SetPoint("CENTER", UIParent, "CENTER", 0, 0)
-			addon.Frame:Show()
-			addon.Frame._Expanded = false
-
-			addon.Frame.HeadingText = addon.Frame:CreateFontString( "addon.Frame.HeadingText", "ARTWORK" )
-
-			addon.Frame.HeadingText:SetFontObject( "GameFontHighlightSmall" )
-			addon.Frame.HeadingText:ClearAllPoints()
-			addon.Frame.HeadingText:SetPoint("TOP", addon.Frame, "TOP", 20, -16)
-			addon.Frame.HeadingText:SetJustifyH( "CENTER" )
-
-			local ARL_SwitcherButton = CreateFrame( "Button", "ARL_SwitcherButton", addon.Frame, "UIPanelButtonTemplate" )
-				ARL_SwitcherButton:SetWidth( 64 )
-				ARL_SwitcherButton:SetHeight( 64 )
-				ARL_SwitcherButton:SetPoint( "TOPLEFT", addon.Frame, "TOPLEFT", 1, -2 )
-				addon.SetSwitcherTexture( addon.CurrentProf )
-				ARL_SwitcherButton:SetScript( "OnClick", addon.SwitchProfs )
-
-			-- Stuff in the non-expanded frame (or both)
-			local ARL_CloseXButton = CreateFrame( "Button", "ARL_CloseXButton", addon.Frame, "UIPanelCloseButton" )
-				ARL_CloseXButton:SetFrameLevel( 5 )
-				ARL_CloseXButton:SetScript( "OnClick",
-					function(this)
-						this:GetParent():Hide()
-					end
-				)
-				ARL_CloseXButton:SetPoint( "TOPRIGHT", addon.Frame, "TOPRIGHT", 5, -6 )
-
-			local ARL_FilterButton = addon:GenericCreateButton( "ARL_FilterButton", addon.Frame,
-				25, 90, "TOPRIGHT", addon.Frame, "TOPRIGHT", -8, -40, "GameFontNormalSmall",
-				"GameFontHighlightSmall", L["FILTER_OPEN"], "CENTER", L["FILTER_OPEN_TT"], 1 )
-				ARL_FilterButton:SetScript( "OnClick", addon.ToggleFilters )
-
-			local ARL_SortButton = addon:GenericCreateButton( "ARL_SortButton", addon.Frame,
-				25, 90, "TOPLEFT", addon.Frame, "TOPLEFT", 80, -40, "GameFontNormalSmall",
-				"GameFontHighlightSmall", L["Sort"], "CENTER", L["SORT_TT"], 1 )
-
-			local ARL_ExpandButton = addon:GenericCreateButton( "ARL_ExpandButton", addon.Frame,
-				21, 40, "TOPRIGHT", ARL_SortButton, "BOTTOMLEFT", -26, -6, "GameFontNormalSmall",
-				"GameFontHighlightSmall", L["ExpandAll"], "CENTER", L["EXPAND_TT"], 1 )
---			ARL_ExpandButton:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				ARL_ExpandButton:SetScript( "OnClick", addon.ExpandAll_Clicked )
-
-			local ARL_SearchButton = addon:GenericCreateButton( "ARL_SearchButton", addon.Frame,
-				25, 74, "TOPLEFT", ARL_SortButton, "BOTTOMRIGHT", 41, -2, "GameFontNormalSmall",
-				"GameFontHighlightSmall", L["Search"], "CENTER", L["SEARCH_TT"], 1 )
-
-			local ARL_ClearButton = addon:GenericCreateButton( "ARL_ClearButton", addon.Frame,
-				28, 28, "RIGHT", ARL_SearchButton, "LEFT", 3, -1, "GameFontNormalSmall",
-				"GameFontHighlightSmall", "", "CENTER", L["CLEAR_TT"], 3 )
-
-			local ARL_CloseButton = addon:GenericCreateButton( "ARL_CloseButton", addon.Frame,
-				22, 69, "BOTTOMRIGHT", addon.Frame, "BOTTOMRIGHT", -4, 3, "GameFontNormalSmall",
-				"GameFontHighlightSmall", L["Close"], "CENTER", L["Close Window"], 1 )
-				ARL_CloseButton:SetScript( "OnClick",
-					function(this)
-						this:GetParent():Hide()
-					end
-				)
-
-			-- The main recipe list buttons and scrollframe
-
-			addon.PlusListButton = {}
-			addon.RecipeListButton = {}
-			for i = 1, addon.maxVisibleRecipes do
-				local Temp_Plus = addon:GenericCreateButton( "ARL_PlusListButton" .. i, addon.Frame,
-					16, 16, "TOPLEFT", addon.Frame, "TOPLEFT", 20, -98, "GameFontNormalSmall",
-					"GameFontHighlightSmall", "", "LEFT", "testTT", 2 )
-				local Temp_Recipe = addon:GenericCreateButton( "ARL_RecipeListButton" .. i, addon.Frame,
-					17, 224, "TOPLEFT", addon.Frame, "TOPLEFT", 37, -97, "GameFontNormalSmall",
-					"GameFontHighlightSmall", "Blort", "LEFT", "blortTT", 0 )
-				if not ( i == 1 ) then
-					Temp_Plus:SetPoint( "TOPLEFT", addon.PlusListButton[i-1], "BOTTOMLEFT", 0, -1 )
-					Temp_Recipe:SetPoint( "TOPLEFT", addon.RecipeListButton[i-1], "BOTTOMLEFT", 0, 0 )
+		-- Stuff in the non-expanded frame (or both)
+		local ARL_CloseXButton = CreateFrame( "Button", "ARL_CloseXButton", addon.Frame, "UIPanelCloseButton" )
+			ARL_CloseXButton:SetFrameLevel( 5 )
+			ARL_CloseXButton:SetScript( "OnClick",
+				function(this)
+					this:GetParent():Hide()
 				end
-				Temp_Plus:SetScript( "OnClick", function ()
-					addon.RecipeItem_OnClick( i )
-				end )
-				Temp_Recipe:SetScript( "OnClick", function ()
-					addon.RecipeItem_OnClick( i )
-				end )
-				addon.PlusListButton[i] = Temp_Plus
-				addon.RecipeListButton[i] = Temp_Recipe
-			end
+			)
+			ARL_CloseXButton:SetPoint( "TOPRIGHT", addon.Frame, "TOPRIGHT", 5, -6 )
+
+		local ARL_FilterButton = addon:GenericCreateButton( "ARL_FilterButton", addon.Frame,
+			25, 90, "TOPRIGHT", addon.Frame, "TOPRIGHT", -8, -40, "GameFontNormalSmall",
+			"GameFontHighlightSmall", L["FILTER_OPEN"], "CENTER", L["FILTER_OPEN_DESC"], 1 )
+			ARL_FilterButton:SetScript( "OnClick", addon.ToggleFilters )
+
+		local ARL_SortButton = addon:GenericCreateButton( "ARL_SortButton", addon.Frame,
+			25, 90, "TOPLEFT", addon.Frame, "TOPLEFT", 80, -40, "GameFontNormalSmall",
+			"GameFontHighlightSmall", L["Sorting"], "CENTER", L["SORTING_DESC"], 1 )
+			-- Disable until we have sorting figured out
+			ARL_SortButton:Disable()
+
+		local ARL_ExpandButton = addon:GenericCreateButton( "ARL_ExpandButton", addon.Frame,
+			21, 40, "TOPRIGHT", ARL_SortButton, "BOTTOMLEFT", -26, -6, "GameFontNormalSmall",
+			"GameFontHighlightSmall", L["EXPANDALL"], "CENTER", L["EXPANDALL_DESC"], 1 )
+			ARL_ExpandButton:SetScript( "OnClick", addon.ExpandAll_Clicked )
+
+		local ARL_SearchButton = addon:GenericCreateButton( "ARL_SearchButton", addon.Frame,
+			25, 74, "TOPLEFT", ARL_SortButton, "BOTTOMRIGHT", 41, -2, "GameFontNormalSmall",
+			"GameFontHighlightSmall", L["Search"], "CENTER", L["SEARCH_DESC"], 1 )
+			-- Disable this until searching is working
+			ARL_SearchButton:Disable()
+
+		local ARL_ClearButton = addon:GenericCreateButton( "ARL_ClearButton", addon.Frame,
+			28, 28, "RIGHT", ARL_SearchButton, "LEFT", 3, -1, "GameFontNormalSmall",
+			"GameFontHighlightSmall", "", "CENTER", L["CLEAR_DESC"], 3 )
+			-- Disable this until searching is working
+			ARL_ClearButton:Disable()
+
+		local ARL_CloseButton = addon:GenericCreateButton( "ARL_CloseButton", addon.Frame,
+			22, 69, "BOTTOMRIGHT", addon.Frame, "BOTTOMRIGHT", -4, 3, "GameFontNormalSmall",
+			"GameFontHighlightSmall", L["Close"], "CENTER", L["CLOSE_DESC"], 1 )
+			ARL_CloseButton:SetScript( "OnClick",
+				function(this)
+					this:GetParent():Hide()
+				end
+			)

-			local ARL_RecipeScrollFrame = CreateFrame( "ScrollFrame", "ARL_RecipeScrollFrame",
-				addon.Frame, "FauxScrollFrameTemplate" )
-			ARL_RecipeScrollFrame:SetHeight( 322 )
-			ARL_RecipeScrollFrame:SetWidth( 243 )
-			ARL_RecipeScrollFrame:SetPoint( "TOPLEFT", addon.Frame, "TOPLEFT", 20, -97 )
-			ARL_RecipeScrollFrame:SetScript( "OnVerticalScroll", function()
-				FauxScrollFrame_OnVerticalScroll( 16, addon.RecipeList_Update )
+		-- ProgressBar for our skills
+		local ARL_ProgressBar = CreateFrame("StatusBar", "ARL_ProgressBar", addon.Frame)
+			ARL_ProgressBar:SetWidth(194)
+			ARL_ProgressBar:SetHeight(14)
+			ARL_ProgressBar:ClearAllPoints()
+			ARL_ProgressBar:SetPoint("BOTTOMLEFT", addon.Frame, 17, 7)
+			ARL_ProgressBar:SetStatusBarTexture("Interface\\Addons\\AckisRecipeList\\img\\progressbar")
+			ARL_ProgressBar:SetOrientation("HORIZONTAL")
+			ARL_ProgressBar:SetStatusBarColor(0.25, 0.25, 0.75)
+			ARL_ProgressBar:SetFrameStrata( "LOW" )
+
+			ARL_ProgressBar:SetMinMaxValues( pbMin, pbMax)
+			ARL_ProgressBar:SetValue( pbCur )
+
+		local ARL_ProgressBarText = ARL_ProgressBar:CreateFontString( "ARL_ProgressBarText", "ARTWORK" )
+			ARL_ProgressBarText:SetWidth(194)
+			ARL_ProgressBarText:SetHeight(14)
+			ARL_ProgressBarText:SetFontObject( "GameFontHighlightSmall" )
+			ARL_ProgressBarText:ClearAllPoints()
+			ARL_ProgressBarText:SetPoint("CENTER", ARL_ProgressBar, "CENTER", 0, 0 )
+			ARL_ProgressBarText:SetJustifyH( "CENTER" )
+ 			ARL_ProgressBarText:SetText( pbCur .. " / " .. pbMax .. " - " .. math.floor( pbCur / pbMax * 100) .. "%")
+
+		-- I'm going to use my own tooltip for recipebuttons
+		arlTooltip = CreateFrame( "GameTooltip", "arlTooltip", nil, "GameTooltipTemplate" )
+
+		-- The main recipe list buttons and scrollframe
+		addon.PlusListButton = {}
+		addon.RecipeListButton = {}
+		for i = 1, maxVisibleRecipes do
+			local Temp_Plus = addon:GenericCreateButton( "ARL_PlusListButton" .. i, addon.Frame,
+				16, 16, "TOPLEFT", addon.Frame, "TOPLEFT", 20, -100, "GameFontNormalSmall",
+				"GameFontHighlightSmall", "", "LEFT", "", 2 )
+			local Temp_Recipe = addon:GenericCreateButton( "ARL_RecipeListButton" .. i, addon.Frame,
+				16, 224, "TOPLEFT", addon.Frame, "TOPLEFT", 37, -100, "GameFontNormalSmall",
+				"GameFontHighlightSmall", "Blort", "LEFT", "", 0 )
+			if not ( i == 1 ) then
+				Temp_Plus:SetPoint( "TOPLEFT", addon.PlusListButton[i-1], "BOTTOMLEFT", 0, 3 )
+				Temp_Recipe:SetPoint( "TOPLEFT", addon.RecipeListButton[i-1], "BOTTOMLEFT", 0, 3 )
+			end
+			Temp_Plus:SetScript( "OnClick", function ()
+				addon.RecipeItem_OnClick( i )
 			end )
+			Temp_Recipe:SetScript( "OnClick", function ()
+				addon.RecipeItem_OnClick( i )
+			end )
+			addon.PlusListButton[i] = Temp_Plus
+			addon.RecipeListButton[i] = Temp_Recipe
+		end

-			-- Stuff that appears on the main frame only when expanded
-
-			local ARL_ResetButton = addon:GenericCreateButton( "ARL_ResetButton", addon.Frame,
-				25, 90, "TOPRIGHT", ARL_FilterButton, "BOTTOMRIGHT", 0, -2, "GameFontNormalSmall",
-				"GameFontHighlightSmall", L["Reset"], "CENTER", L["RESET_TT"], 1 )
-				ARL_ResetButton:SetScript( "OnClick", addon.resetFilters )
-				ARL_ResetButton:Hide()
-
-			local ARL_ApplyButton = addon:GenericCreateButton( "ARL_ApplyButton", addon.Frame,
-				22, 69, "RIGHT", ARL_CloseButton, "LEFT", -80, 0, "GameFontNormalSmall",
-				"GameFontHighlightSmall", L["Apply"], "CENTER", L["Apply_TT"], 1 )
+		local ARL_RecipeScrollFrame = CreateFrame( "ScrollFrame", "ARL_RecipeScrollFrame",
+			addon.Frame, "FauxScrollFrameTemplate" )
+		ARL_RecipeScrollFrame:SetHeight( 322 )
+		ARL_RecipeScrollFrame:SetWidth( 243 )
+		ARL_RecipeScrollFrame:SetPoint( "TOPLEFT", addon.Frame, "TOPLEFT", 20, -97 )
+		ARL_RecipeScrollFrame:SetScript( "OnVerticalScroll", function(self, arg1)
+			FauxScrollFrame_OnVerticalScroll( self, arg1, 16, RecipeList_Update )
+		end )
+
+		-- Stuff that appears on the main frame only when expanded
+
+		local ARL_ResetButton = addon:GenericCreateButton( "ARL_ResetButton", addon.Frame,
+			25, 90, "TOPRIGHT", ARL_FilterButton, "BOTTOMRIGHT", 0, -2, "GameFontNormalSmall",
+			"GameFontHighlightSmall", L["Reset"], "CENTER", L["RESET_DESC"], 1 )
+			ARL_ResetButton:SetScript( "OnClick", addon.resetFilters )
+			ARL_ResetButton:Hide()
+
+		local ARL_ApplyButton = addon:GenericCreateButton( "ARL_ApplyButton", addon.Frame,
+			22, 69, "RIGHT", ARL_CloseButton, "LEFT", -80, 0, "GameFontNormalSmall",
+			"GameFontHighlightSmall", L["Apply"], "CENTER", L["APPLY_DESC"], 1 )
+			ARL_ApplyButton:SetScript( "OnClick", ReDisplay )
 			ARL_ApplyButton:Hide()

-			-- EXPANDED : 5 buttons for opening/closing the flyaway
+		-- EXPANDED : 5 buttons for opening/closing the flyaway

-			ARL_ExpGeneralOptCB = addon:CreateExpCB( "ARL_ExpGeneralOptCB", "INV_Misc_Note_06", 1 )
-			ARL_ExpGeneralOptCB:SetPoint( "TOPRIGHT", ARL_FilterButton, "BOTTOMLEFT", -1, -50 )
+		ARL_ExpGeneralOptCB = addon:CreateExpCB( "ARL_ExpGeneralOptCB", "INV_Misc_Note_06", 1 )
+		ARL_ExpGeneralOptCB:SetPoint( "TOPRIGHT", ARL_FilterButton, "BOTTOMLEFT", -1, -50 )

-			ARL_ExpObtainOptCB = addon:CreateExpCB( "ARL_ExpObtainOptCB", "Spell_Shadow_MindRot", 2 )
-			ARL_ExpObtainOptCB:SetPoint( "TOPLEFT", ARL_ExpGeneralOptCB, "BOTTOMLEFT", 0, -8 )
+		ARL_ExpObtainOptCB = addon:CreateExpCB( "ARL_ExpObtainOptCB", "Spell_Shadow_MindRot", 2 )
+		ARL_ExpObtainOptCB:SetPoint( "TOPLEFT", ARL_ExpGeneralOptCB, "BOTTOMLEFT", 0, -8 )

-			ARL_ExpBindingOptCB = addon:CreateExpCB( "ARL_ExpBindingOptCB", "INV_Belt_20", 3 )
-			ARL_ExpBindingOptCB:SetPoint( "TOPLEFT", ARL_ExpObtainOptCB, "BOTTOMLEFT", -0, -8 )
+		ARL_ExpBindingOptCB = addon:CreateExpCB( "ARL_ExpBindingOptCB", "INV_Belt_20", 3 )
+		ARL_ExpBindingOptCB:SetPoint( "TOPLEFT", ARL_ExpObtainOptCB, "BOTTOMLEFT", -0, -8 )

-			ARL_ExpItemOptCB = addon:CreateExpCB( "ARL_ExpItemOptCB", "INV_Misc_EngGizmos_19", 4 )
-			ARL_ExpItemOptCB:SetPoint( "TOPLEFT", ARL_ExpBindingOptCB, "BOTTOMLEFT", -0, -8 )
+		ARL_ExpItemOptCB = addon:CreateExpCB( "ARL_ExpItemOptCB", "INV_Misc_EngGizmos_19", 4 )
+		ARL_ExpItemOptCB:SetPoint( "TOPLEFT", ARL_ExpBindingOptCB, "BOTTOMLEFT", -0, -8 )
+		ARL_ExpItemOptCB:Disable()

-			ARL_ExpPlayerOptCB = addon:CreateExpCB( "ARL_ExpPlayerOptCB", "INV_Misc_GroupLooking", 5 )
-			ARL_ExpPlayerOptCB:SetPoint( "TOPLEFT", ARL_ExpItemOptCB, "BOTTOMLEFT", -0, -8 )
+		ARL_ExpPlayerOptCB = addon:CreateExpCB( "ARL_ExpPlayerOptCB", "INV_Misc_GroupLooking", 5 )
+		ARL_ExpPlayerOptCB:SetPoint( "TOPLEFT", ARL_ExpItemOptCB, "BOTTOMLEFT", -0, -8 )

-			ARL_ExpRepOptCB = addon:CreateExpCB( "ARL_ExpRepOptCB", "INV_Scroll_05", 6 )
-			ARL_ExpRepOptCB:SetPoint( "TOPLEFT", ARL_ExpPlayerOptCB, "BOTTOMLEFT", -0, -8 )
+		ARL_ExpRepOptCB = addon:CreateExpCB( "ARL_ExpRepOptCB", "INV_Scroll_05", 6 )
+		ARL_ExpRepOptCB:SetPoint( "TOPLEFT", ARL_ExpPlayerOptCB, "BOTTOMLEFT", -0, -8 )

-		-- Frame for the flyaway pane
-			addon.Flyaway = CreateFrame("Frame", "addon.Flyaway", addon.Frame)
-				addon.Flyaway:SetWidth(234)
-				addon.Flyaway:SetHeight(312)
+	-- Frame for the flyaway pane
+		addon.Flyaway = CreateFrame("Frame", "addon.Flyaway", addon.Frame)
+			addon.Flyaway:SetWidth(234)
+			addon.Flyaway:SetHeight(312)

-				addon.flyTexture = addon.Flyaway:CreateTexture( "AckisRecipeList.flyTexture", "ARTWORK" )
-				addon.flyTexture:SetTexture( [[Interface\Addons\AckisRecipeList\img\fly_2col]] )
-				addon.flyTexture:SetAllPoints( addon.Flyaway )
-				addon.flyTexture:SetTexCoord( 0, (234/256), 0, (312/512) )
-				addon.Flyaway:SetFrameStrata( "LOW" )
-				addon.Flyaway:SetHitRectInsets( 5, 5, 5, 5 )
+			addon.flyTexture = addon.Flyaway:CreateTexture( "AckisRecipeList.flyTexture", "ARTWORK" )
+			addon.flyTexture:SetTexture( "Interface\\Addons\\AckisRecipeList\\img\\fly_2col" )
+			addon.flyTexture:SetAllPoints( addon.Flyaway )
+			addon.flyTexture:SetTexCoord( 0, (234/256), 0, (312/512) )
+			addon.Flyaway:SetFrameStrata( "LOW" )
+			addon.Flyaway:SetHitRectInsets( 5, 5, 5, 5 )

-				addon.Flyaway:EnableMouse(true)
-				addon.Flyaway:EnableKeyboard(true)
-				addon.Flyaway:SetMovable(false)
+			addon.Flyaway:EnableMouse(true)
+			addon.Flyaway:EnableKeyboard(true)
+			addon.Flyaway:SetMovable(false)

-				addon.Flyaway:ClearAllPoints()
-				addon.Flyaway:SetPoint("TOPLEFT", addon.Frame, "TOPRIGHT", -6, -102)
+			addon.Flyaway:ClearAllPoints()
+			addon.Flyaway:SetPoint("TOPLEFT", addon.Frame, "TOPRIGHT", -6, -102)

-				addon.Flyaway:SetScript( "OnShow", addon.setFlyawayState )
-				addon.Flyaway:Hide()
+			addon.Flyaway:SetScript( "OnShow", addon.setFlyawayState )
+			addon.Flyaway:Hide()

 		-- Flyaway virtual frames to group buttons/text easily (and make them easy to show/hide)

-			addon.Fly_General = CreateFrame( "Frame", "addon.Fly_General", addon.Flyaway )
-				addon.Fly_General:SetWidth( 210 )
-				addon.Fly_General:SetHeight( 280 )
-				addon.Fly_General:SetFrameStrata( "MEDIUM" )
-				addon.Fly_General:EnableMouse( true )
-				addon.Fly_General:EnableKeyboard( true )
-				addon.Fly_General:SetMovable( false )
-				addon.Fly_General:SetPoint( "TOPLEFT", addon.Flyaway, "TOPLEFT", 17, -16 )
-				addon.Fly_General:Hide()
---[[			( ) Class Specific recipes
-				( ) Craft Specialty recipes
-				( ) All skill levels
-				( ) Cross-Faction
-				( ) Known	  ( ) Unknown		]]--
-				local ARL_ClassCB = CreateFrame( "CheckButton", "ARL_ClassCB", addon.Fly_General, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_ClassCB, addon.Fly_General, L["CLASS_TOGGLE"], 1, 1, 1, 0 )
-					ARL_ClassCBText:SetText( L["Class Specific recipes"] )
-				local ARL_SpecialtyCB = CreateFrame( "CheckButton", "ARL_SpecialtyCB", addon.Fly_General, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_SpecialtyCB, addon.Fly_General, L["SPECIALITY_TOGGLE"], 2, 2, 1, 0 )
-					ARL_SpecialtyCBText:SetText( L["Craft Specialty recipes"] )
-				local ARL_LevelCB = CreateFrame( "CheckButton", "ARL_LevelCB", addon.Fly_General, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_LevelCB, addon.Fly_General, L["SKILL_TOGGLE"], 3, 3, 1, 0 )
-					ARL_LevelCBText:SetText( L["All Skill Levels"] )
-				local ARL_FactionCB = CreateFrame( "CheckButton", "ARL_FactionCB", addon.Fly_General, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_FactionCB, addon.Fly_General, L["FACTION_TOGGLE"], 4, 4, 1, 0 )
-					ARL_FactionCBText:SetText( L["Faction"] )
-				local ARL_KnownCB = CreateFrame( "CheckButton", "ARL_KnownCB", addon.Fly_General, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_KnownCB, addon.Fly_General, L["KNOWN_TT"], 5, 5, 1, 0 )
-					ARL_KnownCBText:SetText( L["Known"] )
-				local ARL_UnknownCB = CreateFrame( "CheckButton", "ARL_UnknownCB", addon.Fly_General, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_UnknownCB, addon.Fly_General, L["UNKNOWN_TT"], 6, 5, 2, 0 )
-					ARL_UnknownCBText:SetText( L["Unknown"] )
-
-			addon.Fly_Obtain = CreateFrame( "Frame", "addon.Fly_Obtain", addon.Flyaway )
-				addon.Fly_Obtain:SetWidth( 210 )
-				addon.Fly_Obtain:SetHeight( 280 )
-				addon.Fly_Obtain:SetFrameStrata( "MEDIUM" )
-				addon.Fly_Obtain:EnableMouse( true )
-				addon.Fly_Obtain:EnableKeyboard( true )
-				addon.Fly_Obtain:SetMovable( false )
-				addon.Fly_Obtain:SetPoint( "TOPLEFT", addon.Flyaway, "TOPLEFT", 17, -16 )
-				addon.Fly_Obtain:Hide()
---[[			( ) Instance	( ) Raid
-				( ) Quest		( ) Seasonal
-				( ) Trainer		( ) Vendor
-				( ) PVP			( ) Discovery
-				( ) World Drop	( ) Mob Drop					]]--
-				local ARL_InstanceCB = CreateFrame( "CheckButton", "ARL_InstanceCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_InstanceCB, addon.Fly_Obtain, L["INSTANCE_TOGGLE"], 7, 1, 1, 0 )
-					ARL_InstanceCBText:SetText( L["Instance"] )
-				local ARL_RaidCB = CreateFrame( "CheckButton", "ARL_RaidCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RaidCB, addon.Fly_Obtain, L["RAID_TOGGLE"], 8, 2, 1, 0 )
-					ARL_RaidCBText:SetText( L["Raid"] )
-				local ARL_QuestCB = CreateFrame( "CheckButton", "ARL_QuestCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_QuestCB, addon.Fly_Obtain, L["QUEST_TOGGLE"], 9, 3, 1, 0 )
-					ARL_QuestCBText:SetText( L["Quest"] )
-				local ARL_SeasonalCB = CreateFrame( "CheckButton", "ARL_SeasonalCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_SeasonalCB, addon.Fly_Obtain, L["SEASONAL_TOGGLE"], 10, 4, 1, 0 )
-					ARL_SeasonalCBText:SetText( L["Seasonal"] )
-				local ARL_TrainerCB = CreateFrame( "CheckButton", "ARL_TrainerCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_TrainerCB, addon.Fly_Obtain, L["TRAINER_TOGGLE"], 11, 5, 1, 0 )
-					ARL_TrainerCBText:SetText( L["Trainer"] )
-				local ARL_VendorCB = CreateFrame( "CheckButton", "ARL_VendorCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_VendorCB, addon.Fly_Obtain, L["VENDOR_TOGGLE"], 12, 6, 1, 0 )
-					ARL_VendorCBText:SetText( L["Vendor"] )
-				local ARL_PVPCB = CreateFrame( "CheckButton", "ARL_PVPCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_PVPCB, addon.Fly_Obtain, L["PVP_TOGGLE"], 13, 7, 1, 0 )
-					ARL_PVPCBText:SetText( L["PVP"] )
-				local ARL_DiscoveryCB = CreateFrame( "CheckButton", "ARL_DiscoveryCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_DiscoveryCB, addon.Fly_Obtain, L["DISCOVERY_TT"], 14, 8, 1, 0 )
-					ARL_DiscoveryCBText:SetText( L["Discovery"] )
-				local ARL_WorldDropCB = CreateFrame( "CheckButton", "ARL_WorldDropCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WorldDropCB, addon.Fly_Obtain, L["WORLD_DROP_TOGGLE"], 39, 9, 1, 0 )
-					ARL_WorldDropCBText:SetText( L["World Drop"] )
-				local ARL_MobDropCB = CreateFrame( "CheckButton", "ARL_MobDropCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_MobDropCB, addon.Fly_Obtain, L["MOB_DROP_TT"], 40, 10, 1, 0 )
-					ARL_MobDropCBText:SetText( L["Mob Drop"] )
-
-			addon.Fly_Binding = CreateFrame( "Frame", "addon.Fly_Binding", addon.Flyaway )
-				addon.Fly_Binding:SetWidth( 210 )
-				addon.Fly_Binding:SetHeight( 280 )
-				addon.Fly_Binding:SetFrameStrata( "MEDIUM" )
-				addon.Fly_Binding:EnableMouse( true )
-				addon.Fly_Binding:EnableKeyboard( true )
-				addon.Fly_Binding:SetMovable( false )
-				addon.Fly_Binding:SetPoint( "TOPLEFT", addon.Flyaway, "TOPLEFT", 17, -16 )
-				addon.Fly_Binding:Hide()
---[[			( ) Crafted Item is Bind on Equip
-				( ) Crafted Item is Bind on Pickup
-				( ) Recipe is Bind on Equip
-				( ) Recipe is Bind on Pickup		]]--
-				local ARL_iBoECB = CreateFrame( "CheckButton", "ARL_iBoECB", addon.Fly_Binding, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_iBoECB, addon.Fly_Binding, L["IBOE_TT"], 15, 1, 1, 0 )
-					ARL_iBoECBText:SetText( L["IBOE"] )
-				local ARL_iBoPCB = CreateFrame( "CheckButton", "ARL_iBoPCB", addon.Fly_Binding, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_iBoPCB, addon.Fly_Binding, L["IBOP_TT"], 16, 2, 1, 0 )
-					ARL_iBoPCBText:SetText( L["IBOP"] )
-				local ARL_rBoECB = CreateFrame( "CheckButton", "ARL_rBoECB", addon.Fly_Binding, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_rBoECB, addon.Fly_Binding, L["RBOE_TT"], 17, 3, 1, 0 )
-					ARL_rBoECBText:SetText( L["RBOE"] )
-				local ARL_rBoPCB = CreateFrame( "CheckButton", "ARL_rBoPCB", addon.Fly_Binding, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_rBoPCB, addon.Fly_Binding, L["RBOP_TT"], 18, 4, 1, 0 )
-					ARL_rBoPCBText:SetText( L["RBOP"] )
-
-			addon.Fly_Item = CreateFrame( "Frame", "addon.Fly_Item", addon.Flyaway )
-				addon.Fly_Item:SetWidth( 210 )
-				addon.Fly_Item:SetHeight( 280 )
-				addon.Fly_Item:SetFrameStrata( "MEDIUM" )
-				addon.Fly_Item:EnableMouse( true )
-				addon.Fly_Item:EnableKeyboard( true )
-				addon.Fly_Item:SetMovable( false )
-				addon.Fly_Item:SetPoint( "TOPLEFT", addon.Flyaway, "TOPLEFT", 17, -16 )
-				addon.Fly_Item:Hide()
---[[			Armor:
-					( ) All		( ) None
-					( ) Cloth	( ) Leather
-					( ) Mail	( ) Plate
-
-					( ) Cloak	( ) Necklace
-					( ) Rings	( ) Trinkets ]]--
-				local ARL_ArmorText = addon.Fly_Item:CreateFontString( "ARL_ArmorText", "OVERLAY", "GameFontHighlight" )
-					ARL_ArmorText:SetText( L["Armor"] .. ":" )
-					ARL_ArmorText:SetPoint( "TOPLEFT", addon.Fly_Item, "TOPLEFT", 5, -8 )
-					ARL_ArmorText:SetHeight( 14 )
-					ARL_ArmorText:SetWidth( 150 )
-					ARL_ArmorText:SetJustifyH( "LEFT" )
-				local ARL_ArmorAllCB = CreateFrame( "CheckButton", "ARL_ArmorAllCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_ArmorAllCB, addon.Fly_Item, L["ArmorAll_TT"], 19, 2, 1, 0 )
-					ARL_ArmorAllCBText:SetText( L["All"] )
-				local ARL_ArmorNoneCB = CreateFrame( "CheckButton", "ARL_ArmorNoneCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_ArmorNoneCB, addon.Fly_Item, L["ArmorNone_TT"], 20, 2, 2, 0 )
-					ARL_ArmorNoneCBText:SetText( L["None"] )
-				local ARL_ArmorClothCB = CreateFrame( "CheckButton", "ARL_ArmorClothCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_ArmorClothCB, addon.Fly_Item, L["CLOTH_TOGGLE"], 21, 3, 1, 0 )
-					ARL_ArmorClothCBText:SetText( L["Cloth"] )
-				local ARL_ArmorLeatherCB = CreateFrame( "CheckButton", "ARL_ArmorLeatherCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_ArmorLeatherCB, addon.Fly_Item, L["LEATHER_TOGGLE"], 22, 3, 2, 0 )
-					ARL_ArmorLeatherCBText:SetText( L["Leather"] )
-				local ARL_ArmorMailCB = CreateFrame( "CheckButton", "ARL_ArmorMailCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_ArmorMailCB, addon.Fly_Item, L["MAIL_TOGGLE"], 23, 4, 1, 0 )
-					ARL_ArmorMailCBText:SetText( L["Mail"] )
-				local ARL_ArmorPlateCB = CreateFrame( "CheckButton", "ARL_ArmorPlateCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_ArmorPlateCB, addon.Fly_Item, L["PLATE_TOGGLE"], 24, 4, 2, 0 )
-					ARL_ArmorPlateCBText:SetText( L["Plate"] )
-
-				local ARL_ArmorCloakCB = CreateFrame( "CheckButton", "ARL_ArmorCloakCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_ArmorCloakCB, addon.Fly_Item, L["CLOAK_TOGGLE"], 64, 5, 1, 0 )
-					ARL_ArmorCloakCBText:SetText( L["Cloak"] )
-				local ARL_ArmorNecklaceCB = CreateFrame( "CheckButton", "ARL_ArmorNecklaceCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_ArmorNecklaceCB, addon.Fly_Item, L["NECKLACE_TOGGLE"], 65, 5, 2, 0 )
-					ARL_ArmorNecklaceCBText:SetText( L["Necklace"] )
-				local ARL_ArmorRingCB = CreateFrame( "CheckButton", "ARL_ArmorRingCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_ArmorRingCB, addon.Fly_Item, L["RING_TOGGLE"], 66, 6, 1, 0 )
-					ARL_ArmorRingCBText:SetText( L["Ring"] )
-				local ARL_ArmorTrinketCB = CreateFrame( "CheckButton", "ARL_ArmorTrinketCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_ArmorTrinketCB, addon.Fly_Item, L["TRINKET_TOGGLE"], 67, 6, 2, 0 )
-					ARL_ArmorTrinketCBText:SetText( L["Trinket"] )
---[[			Weapon:
-					( ) All		( ) None
-					( ) 1H		( ) 2H
-					( ) Dagger	( ) Axe
-					( ) Mace	( ) Sword
-					( ) Polearm	( ) Thrown
-					( ) Bow		( ) Crossbow
-					( ) Staff						]]--
-				local ARL_WeaponText = addon.Fly_Item:CreateFontString( "ARL_WeaponText", "OVERLAY", "GameFontHighlight" )
-					ARL_WeaponText:SetText( L["Weapon"] .. ":" )
-					ARL_WeaponText:SetPoint( "TOPLEFT", addon.Fly_Item, "TOPLEFT", 5, -116 )
-					ARL_WeaponText:SetHeight( 14 )
-					ARL_WeaponText:SetWidth( 150 )
-					ARL_WeaponText:SetJustifyH( "LEFT" )
-				local ARL_WeaponAllCB = CreateFrame( "CheckButton", "ARL_WeaponAllCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponAllCB, addon.Fly_Item, L["WeaponAll_TT"], 25, 8, 1, 0 )
-					ARL_WeaponAllCBText:SetText( L["All"] )
-				local ARL_WeaponNoneCB = CreateFrame( "CheckButton", "ARL_WeaponNoneCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponNoneCB, addon.Fly_Item, L["WeaponNone_TT"], 26, 8, 2, 0 )
-					ARL_WeaponNoneCBText:SetText( L["None"] )
-				local ARL_Weapon1HCB = CreateFrame( "CheckButton", "ARL_Weapon1HCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_Weapon1HCB, addon.Fly_Item, L["Weapon1H_TT"], 27, 9, 1, 0 )
-					ARL_Weapon1HCBText:SetText( L["1H"] )
-				local ARL_Weapon2HCB = CreateFrame( "CheckButton", "ARL_Weapon2HCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_Weapon2HCB, addon.Fly_Item, L["Weapon2H_TT"], 28, 9, 2, 0 )
-					ARL_Weapon2HCBText:SetText( L["2H"] )
-				local ARL_WeaponDaggerCB = CreateFrame( "CheckButton", "ARL_WeaponDaggerCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponDaggerCB, addon.Fly_Item, L["WeaponDagger_TT"], 29, 10, 1, 0 )
-					ARL_WeaponDaggerCBText:SetText( L["Dagger"] )
-				local ARL_WeaponAxeCB = CreateFrame( "CheckButton", "ARL_WeaponAxeCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponAxeCB, addon.Fly_Item, L["WeaponAxe_TT"], 30, 10, 2, 0 )
-					ARL_WeaponAxeCBText:SetText( L["Axe"] )
-				local ARL_WeaponMaceCB = CreateFrame( "CheckButton", "ARL_WeaponMaceCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponMaceCB, addon.Fly_Item, L["WeaponMace_TT"], 31, 11, 1, 0 )
-					ARL_WeaponMaceCBText:SetText( L["Mace"] )
-				local ARL_WeaponSwordCB = CreateFrame( "CheckButton", "ARL_WeaponSwordCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponSwordCB, addon.Fly_Item, L["WeaponSword_TT"], 32, 11, 2, 0 )
-					ARL_WeaponSwordCBText:SetText( L["Sword"] )
-				local ARL_WeaponPolearmCB = CreateFrame( "CheckButton", "ARL_WeaponPolearmCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponPolearmCB, addon.Fly_Item, L["WeaponPolearm_TT"], 33, 12, 1, 0 )
-					ARL_WeaponPolearmCBText:SetText( L["Polearm"] )
-				local ARL_WeaponStaffCB = CreateFrame( "CheckButton", "ARL_WeaponStaffCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponStaffCB, addon.Fly_Item, L["WeaponStaff_TT"], 34, 12, 2, 0 )
-					ARL_WeaponStaffCBText:SetText( L["Staff"] )
-					-- Disabled for now...
-					ARL_WeaponStaffCBText:SetText( addon:Grey( L["Staff"] ) )
-					ARL_WeaponStaffCB:Disable()
-				local ARL_WeaponWandCB = CreateFrame( "CheckButton", "ARL_WeaponWandCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponWandCB, addon.Fly_Item, L["WeaponWand_TT"], 68, 13, 1, 0 )
-					ARL_WeaponWandCBText:SetText( L["Wand"] )
-				local ARL_WeaponThrownCB = CreateFrame( "CheckButton", "ARL_WeaponThrownCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponThrownCB, addon.Fly_Item, L["WeaponThrown_TT"], 35, 13, 2, 0 )
-					ARL_WeaponThrownCBText:SetText( L["Thrown"] )
-				local ARL_WeaponBowCB = CreateFrame( "CheckButton", "ARL_WeaponBowCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponBowCB, addon.Fly_Item, L["WeaponBow_TT"], 36, 14, 1, 0 )
-					ARL_WeaponBowCBText:SetText( L["Bow"] )
-					-- Disabled for now...
-					ARL_WeaponBowCBText:SetText( addon:Grey( L["Bow"] ) )
-					ARL_WeaponBowCB:Disable()
-				local ARL_WeaponCrossbowCB = CreateFrame( "CheckButton", "ARL_WeaponCrossbowCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponCrossbowCB, addon.Fly_Item, L["WeaponCrossbow_TT"], 37, 14, 2, 0 )
-					ARL_WeaponCrossbowCBText:SetText( L["Crossbow"] )
-					-- Disabled for now...
-					ARL_WeaponCrossbowCBText:SetText( addon:Grey( L["Crossbow"] ) )
-					ARL_WeaponCrossbowCB:Disable()
-				local ARL_WeaponAmmoCB = CreateFrame( "CheckButton", "ARL_WeaponAmmoCB", addon.Fly_Item, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_WeaponAmmoCB, addon.Fly_Item, L["WeaponAmmo_TT"], 38, 15, 1, 0 )
-					ARL_WeaponAmmoCBText:SetText( L["Ammo"] )
-
-			addon.Fly_Player= CreateFrame( "Frame", "addon.Fly_Player", addon.Flyaway )
-				addon.Fly_Player:SetWidth( 112 )
-				addon.Fly_Player:SetHeight( 280 )
-				addon.Fly_Player:SetFrameStrata( "MEDIUM" )
-				addon.Fly_Player:EnableMouse( true )
-				addon.Fly_Player:EnableKeyboard( true )
-				addon.Fly_Player:SetMovable( false )
-				addon.Fly_Player:SetPoint( "TOPLEFT", addon.Flyaway, "TOPLEFT", 17, -16 )
-				addon.Fly_Player:Hide()
---[[			( ) Tank	  ( ) Melee DPS
-				( ) Healer	  ( ) Caster DPS		]]--
-				local ARL_PlayerTankCB = CreateFrame( "CheckButton", "ARL_PlayerTankCB", addon.Fly_Player, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_PlayerTankCB, addon.Fly_Player, L["TANKING_TOGGLE"], 41, 1, 1, 0 )
-					ARL_PlayerTankCBText:SetText( L["Tank"] )
-				local ARL_PlayerMeleeCB = CreateFrame( "CheckButton", "ARL_PlayerMeleeCB", addon.Fly_Player, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_PlayerMeleeCB, addon.Fly_Player, L["MELEE_TOGGLE"], 42, 2, 1, 0 )
-					ARL_PlayerMeleeCBText:SetText( L["Melee DPS"] )
-				local ARL_PlayerHealerCB = CreateFrame( "CheckButton", "ARL_PlayerHealerCB", addon.Fly_Player, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_PlayerHealerCB, addon.Fly_Player, L["HEALING_TOGGLE"], 43, 3, 1, 0 )
-					ARL_PlayerHealerCBText:SetText( L["Healer"] )
-				local ARL_PlayerCasterCB = CreateFrame( "CheckButton", "ARL_PlayerCasterCB", addon.Fly_Player, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_PlayerCasterCB, addon.Fly_Player, L["CASTERDPS_TOGGLE"], 44, 4, 1, 0 )
-					ARL_PlayerCasterCBText:SetText( L["Caster DPS"] )
-
-			addon.Fly_Rep = CreateFrame( "Frame", "addon.Fly_Rep", addon.Flyaway )
-				addon.Fly_Rep:SetWidth( 112 )
-				addon.Fly_Rep:SetHeight( 280 )
-				addon.Fly_Rep:SetFrameStrata( "MEDIUM" )
-				addon.Fly_Rep:EnableMouse( true )
-				addon.Fly_Rep:EnableKeyboard( true )
-				addon.Fly_Rep:SetMovable( false )
-				addon.Fly_Rep:SetPoint( "TOPLEFT", addon.Flyaway, "TOPLEFT", 17, -16 )
-				addon.Fly_Rep:Hide()
-
-				ARL_RepOldWorldCB = addon:CreateExpCB( "ARL_RepOldWorldCB", "Glues-WoW-Logo", 1 )
-				ARL_RepOldWorldCB:SetPoint( "TOPLEFT", addon.Fly_Rep, "TOPLEFT", 0, -10 )
-				ARL_RepOldWorldCB:SetScript( "OnClick", function()
-					addon.RepFilterSwitch( 1 )
-				end )
-
-				ARL_RepBCCB = addon:CreateExpCB( "ARL_RepBCCB", "GLUES-WOW-BCLOGO", 1 )
-				ARL_RepBCCB:SetPoint( "TOPLEFT", addon.Fly_Rep, "TOPLEFT", 0, -60 )
-				ARL_RepBCCB:SetScript( "OnClick", function()
-					addon.RepFilterSwitch( 2 )
-				end )
-
-				addon.Fly_Rep_OW= CreateFrame( "Frame", "addon.Fly_Rep_OW", addon.Fly_Rep )
-				addon.Fly_Rep_OW:SetWidth( 150 )
-				addon.Fly_Rep_OW:SetHeight( 280 )
-				addon.Fly_Rep_OW:SetFrameStrata( "MEDIUM" )
-				addon.Fly_Rep_OW:EnableMouse( true )
-				addon.Fly_Rep_OW:EnableKeyboard( true )
-				addon.Fly_Rep_OW:SetMovable( false )
-				addon.Fly_Rep_OW:SetPoint( "TOPRIGHT", addon.Flyaway, "TOPRIGHT", -7, -16 )
-				addon.Fly_Rep_OW:Hide()
---[[			( ) Argent Dawn
-				( ) Cenarion Circle
-				( ) Thorium Brotherhood
-				( ) Timbermaw Hold
-				( ) Zandalar Tribe				]]--
-				local ARL_RepArgentDawnCB = CreateFrame( "CheckButton", "ARL_RepArgentDawnCB", addon.Fly_Rep_OW, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepArgentDawnCB, addon.Fly_Rep_OW,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["Argent Dawn"] ), 45, 1, 1, 0 )
-					ARL_RepArgentDawnCBText:SetText( BFAC["Argent Dawn"] )
-					ARL_RepArgentDawnCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepCenarionCircleCB = CreateFrame( "CheckButton", "ARL_RepCenarionCircleCB", addon.Fly_Rep_OW, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepCenarionCircleCB, addon.Fly_Rep_OW,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["Cenarion Circle"] ), 46, 2, 1, 0 )
-					ARL_RepCenarionCircleCBText:SetText( BFAC["Cenarion Circle"] )
-					ARL_RepCenarionCircleCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepThoriumCB = CreateFrame( "CheckButton", "ARL_RepThoriumCB", addon.Fly_Rep_OW, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepThoriumCB, addon.Fly_Rep_OW,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["Thorium Brotherhood"] ), 47, 3, 1, 0 )
-					ARL_RepThoriumCBText:SetText( BFAC["Thorium Brotherhood"] )
-					ARL_RepThoriumCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepTimbermawCB = CreateFrame( "CheckButton", "ARL_RepTimbermawCB", addon.Fly_Rep_OW, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepTimbermawCB, addon.Fly_Rep_OW,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["Timbermaw Hold"] ), 48, 4, 1, 0 )
-					ARL_RepTimbermawCBText:SetText( BFAC["Timbermaw Hold"] )
-					ARL_RepTimbermawCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepZandalarCB = CreateFrame( "CheckButton", "ARL_RepZandalarCB", addon.Fly_Rep_OW, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepZandalarCB, addon.Fly_Rep_OW,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["Zandalar Tribe"] ), 49, 5, 1, 0 )
-					ARL_RepZandalarCBText:SetText( BFAC["Zandalar Tribe"] )
-					ARL_RepZandalarCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-
-				addon.Fly_Rep_BC= CreateFrame( "Frame", "addon.Fly_Rep_BC", addon.Fly_Rep )
-				addon.Fly_Rep_BC:SetWidth( 150 )
-				addon.Fly_Rep_BC:SetHeight( 280 )
-				addon.Fly_Rep_BC:SetFrameStrata( "MEDIUM" )
-				addon.Fly_Rep_BC:EnableMouse( true )
-				addon.Fly_Rep_BC:EnableKeyboard( true )
-				addon.Fly_Rep_BC:SetMovable( false )
-				addon.Fly_Rep_BC:SetPoint( "TOPRIGHT", addon.Flyaway, "TOPRIGHT", -7, -16 )
-				addon.Fly_Rep_BC:Hide()
---[[			( ) The Aldor
-				( ) Ashtongue Deathsworn
-				( ) Cenarion Expedition
-				( ) The Consortium
-				( ) Honor Hold / Thrallmar
-				( ) Keepers of Time
-				( ) Kurenai / The Mag'har
-				( ) Lower City
-				( ) The Scale of the Sands
-				( ) The Scryers
-				( ) The Sha'tar
-				( ) Shattered Sun Offensive
-				( ) Sporeggar
-				( ) The Violet Eye				]]--
-				local ARL_RepAldorCB = CreateFrame( "CheckButton", "ARL_RepAldorCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepAldorCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["The Aldor"] ), 50, 1, 1, 0 )
-					ARL_RepAldorCBText:SetText( BFAC["The Aldor"] )
-					ARL_RepAldorCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepAshtongueCB = CreateFrame( "CheckButton", "ARL_RepAshtongueCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepAshtongueCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["Ashtongue Deathsworn"] ), 51, 2, 1, 0 )
-					ARL_RepAshtongueCBText:SetText( BFAC["Ashtongue Deathsworn"] )
-					ARL_RepAshtongueCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepCenarionExpeditionCB = CreateFrame( "CheckButton", "ARL_RepCenarionExpeditionCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepCenarionExpeditionCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["Cenarion Expedition"] ), 52, 3, 1, 0 )
-					ARL_RepCenarionExpeditionCBText:SetText( BFAC["Cenarion Expedition"] )
-					ARL_RepCenarionExpeditionCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepConsortiumCB = CreateFrame( "CheckButton", "ARL_RepConsortiumCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepConsortiumCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["The Consortium"] ), 53, 4, 1, 0 )
-					ARL_RepConsortiumCBText:SetText( BFAC["The Consortium"] )
-					ARL_RepConsortiumCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepHonorHoldCB = CreateFrame( "CheckButton", "ARL_RepHonorHoldCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepHonorHoldCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], addon.HonorHold_Thrallmar_FactionText ), 54, 5, 1, 0 )
-					ARL_RepHonorHoldCBText:SetText( addon.HonorHold_Thrallmar_FactionText )
-					ARL_RepHonorHoldCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepKeepersOfTimeCB = CreateFrame( "CheckButton", "ARL_RepKeepersOfTimeCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepKeepersOfTimeCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["Keepers of Time"] ), 55, 6, 1, 0 )
-					ARL_RepKeepersOfTimeCBText:SetText( BFAC["Keepers of Time"] )
-					ARL_RepKeepersOfTimeCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepKurenaiCB = CreateFrame( "CheckButton", "ARL_RepKurenaiCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepKurenaiCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], addon.Kurenai_Maghar_FactionText ), 56, 7, 1, 0 )
-					ARL_RepKurenaiCBText:SetText( addon.Kurenai_Maghar_FactionText )
-					ARL_RepKurenaiCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepLowerCityCB = CreateFrame( "CheckButton", "ARL_RepLowerCityCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepLowerCityCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["Lower City"] ), 57, 8, 1, 0 )
-					ARL_RepLowerCityCBText:SetText( BFAC["Lower City"] )
-					ARL_RepLowerCityCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepScaleSandsCB = CreateFrame( "CheckButton", "ARL_RepScaleSandsCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepScaleSandsCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["The Scale of the Sands"] ), 58, 9, 1, 0 )
-					ARL_RepScaleSandsCBText:SetText( BFAC["The Scale of the Sands"] )
-					ARL_RepScaleSandsCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepScryersCB = CreateFrame( "CheckButton", "ARL_RepScryersCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepScryersCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["The Scryers"] ), 59, 10, 1, 0 )
-					ARL_RepScryersCBText:SetText( BFAC["The Scryers"] )
-					ARL_RepScryersCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepShatarCB = CreateFrame( "CheckButton", "ARL_RepShatarCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepShatarCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["The Sha'tar"] ), 60, 11, 1, 0 )
-					ARL_RepShatarCBText:SetText( BFAC["The Sha'tar"] )
-					ARL_RepShatarCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepShatteredSunCB = CreateFrame( "CheckButton", "ARL_RepShatteredSunCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepShatteredSunCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["Shattered Sun Offensive"] ), 61, 12, 1, 0 )
-					ARL_RepShatteredSunCBText:SetText( BFAC["Shattered Sun Offensive"] )
-					ARL_RepShatteredSunCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepSporeggarCB = CreateFrame( "CheckButton", "ARL_RepSporeggarCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepSporeggarCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["Sporeggar"] ), 62, 13, 1, 0 )
-					ARL_RepSporeggarCBText:SetText( BFAC["Sporeggar"] )
-					ARL_RepSporeggarCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-				local ARL_RepVioletEyeCB = CreateFrame( "CheckButton", "ARL_RepVioletEyeCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
-					addon:GenericMakeCB( ARL_RepVioletEyeCB, addon.Fly_Rep_BC,
-						string.format( L["SPECIFIC_REP_TOGGLE"], BFAC["The Violet Eye"] ), 63, 14, 1, 0 )
-					ARL_RepVioletEyeCBText:SetText( BFAC["The Violet Eye"] )
-					ARL_RepVioletEyeCBText:SetFont( [[Fonts\ARIALN.TTF]], 11 )
-
-			-- Now that everything exists, populate the global filter table
-			addon.FilterValueMap = {
-			-- General Options
-				[1]  = { cb = ARL_ClassCB,					svroot = addon.db.profile.filters.general, svval = "class" },
-				[2]  = { cb = ARL_SpecialtyCB,				svroot = addon.db.profile.filters.general, svval = "specialty" },
-				[3]  = { cb = ARL_LevelCB,					svroot = addon.db.profile.filters.general, svval = "skill" },
-				[4]  = { cb = ARL_FactionCB,				svroot = addon.db.profile.filters.general, svval = "faction" },
-				[5]  = { cb = ARL_KnownCB,					svroot = addon.db.profile.filters.general, svval = "known" },
-				[6]  = { cb = ARL_UnknownCB,				svroot = addon.db.profile.filters.general, svval = "unknown" },
-			-- Obtain Options
-				[7]  = { cb = ARL_InstanceCB,				svroot = addon.db.profile.filters.obtain, svval = "instance" },
-				[8]  = { cb = ARL_RaidCB,					svroot = addon.db.profile.filters.obtain, svval = "raid" },
-				[9]  = { cb = ARL_QuestCB,					svroot = addon.db.profile.filters.obtain, svval = "quest" },
-				[10] = { cb = ARL_SeasonalCB,				svroot = addon.db.profile.filters.obtain, svval = "seasonal" },
-				[11] = { cb = ARL_TrainerCB,				svroot = addon.db.profile.filters.obtain, svval = "trainer" },
-				[12] = { cb = ARL_VendorCB,					svroot = addon.db.profile.filters.obtain, svval = "vendor" },
-				[13] = { cb = ARL_PVPCB,					svroot = addon.db.profile.filters.obtain, svval = "pvp" },
-				[14] = { cb = ARL_DiscoveryCB,				svroot = addon.db.profile.filters.obtain, svval = "discovery" },
-				[39] = { cb = ARL_WorldDropCB,				svroot = addon.db.profile.filters.obtain, svval = "worlddrop" },
-				[40] = { cb = ARL_MobDropCB,				svroot = addon.db.profile.filters.obtain, svval = "mobdrop" },
-			-- Binding Options
-				[15] = { cb = ARL_iBoECB,					svroot = addon.db.profile.filters.binding, svval = "itemboe" },
-				[16] = { cb = ARL_iBoPCB,					svroot = addon.db.profile.filters.binding, svval = "itembop" },
-				[17] = { cb = ARL_rBoECB,					svroot = addon.db.profile.filters.binding, svval = "recipeboe" },
-				[18] = { cb = ARL_rBoPCB,					svroot = addon.db.profile.filters.binding, svval = "recipebop" },
-			-- Armor Options
-				[19] = { cb = ARL_ArmorAllCB,				svroot = "special case handler",			  svval = "" },
-				[20] = { cb = ARL_ArmorNoneCB,				svroot = "special case handler",			  svval = "" },
-				[21] = { cb = ARL_ArmorClothCB,				svroot = addon.db.profile.filters.item.armor, svval = "cloth" },
-				[22] = { cb = ARL_ArmorLeatherCB,			svroot = addon.db.profile.filters.item.armor, svval = "leather" },
-				[23] = { cb = ARL_ArmorMailCB,				svroot = addon.db.profile.filters.item.armor, svval = "mail" },
-				[24] = { cb = ARL_ArmorPlateCB,				svroot = addon.db.profile.filters.item.armor, svval = "plate" },
-				[64] = { cb = ARL_ArmorCloakCB,				svroot = addon.db.profile.filters.item.armor, svval = "cloak" },
-				[65] = { cb = ARL_ArmorNecklaceCB,			svroot = addon.db.profile.filters.item.armor, svval = "necklace" },
-				[66] = { cb = ARL_ArmorRingCB,				svroot = addon.db.profile.filters.item.armor, svval = "ring" },
-				[67] = { cb = ARL_ArmorTrinketCB,			svroot = addon.db.profile.filters.item.armor, svval = "trinket" },
-			-- Weapon Options
-				[25] = { cb = ARL_WeaponAllCB,				svroot = "special case handler",			   svval = "" },
-				[26] = { cb = ARL_WeaponNoneCB,				svroot = "special case handler",			   svval = "" },
-				[27] = { cb = ARL_Weapon1HCB,				svroot = addon.db.profile.filters.item.weapon, svval = "onehand" },
-				[28] = { cb = ARL_Weapon2HCB,				svroot = addon.db.profile.filters.item.weapon, svval = "twohand" },
-				[29] = { cb = ARL_WeaponDaggerCB,			svroot = addon.db.profile.filters.item.weapon, svval = "dagger" },
-				[30] = { cb = ARL_WeaponAxeCB,				svroot = addon.db.profile.filters.item.weapon, svval = "axe" },
-				[31] = { cb = ARL_WeaponMaceCB,				svroot = addon.db.profile.filters.item.weapon, svval = "mace" },
-				[32] = { cb = ARL_WeaponSwordCB,			svroot = addon.db.profile.filters.item.weapon, svval = "sword" },
-				[33] = { cb = ARL_WeaponPolearmCB,			svroot = addon.db.profile.filters.item.weapon, svval = "polearm" },
-				[34] = { cb = ARL_WeaponStaffCB,			svroot = "disabled",						   svval = "" },
-				[68] = { cb = ARL_WeaponWandCB,				svroot = addon.db.profile.filters.item.weapon, svval = "wand" },
-				[35] = { cb = ARL_WeaponThrownCB,			svroot = addon.db.profile.filters.item.weapon, svval = "thrown" },
-				[36] = { cb = ARL_WeaponBowCB,				svroot = "disabled",						   svval = "" },
-				[37] = { cb = ARL_WeaponCrossbowCB,			svroot = "disabled",						   svval = "" },
-				[38] = { cb = ARL_WeaponAmmoCB,				svroot = addon.db.profile.filters.item.weapon, svval = "ammo" },
-			-- Player Type Options
-				[41] = { cb = ARL_PlayerTankCB,				svroot = addon.db.profile.filters.player, svval = "tank" },
-				[42] = { cb = ARL_PlayerMeleeCB,			svroot = addon.db.profile.filters.player, svval = "melee" },
-				[43] = { cb = ARL_PlayerHealerCB,			svroot = addon.db.profile.filters.player, svval = "healer" },
-				[44] = { cb = ARL_PlayerCasterCB,			svroot = addon.db.profile.filters.player, svval = "caster" },
-			-- Old World Rep Options
-				[45] = { cb = ARL_RepArgentDawnCB,			svroot = addon.db.profile.filters.rep, svval = "argentdawn" },
-				[46] = { cb = ARL_RepCenarionCircleCB,		svroot = addon.db.profile.filters.rep, svval = "cenarioncircle" },
-				[47] = { cb = ARL_RepThoriumCB,				svroot = addon.db.profile.filters.rep, svval = "thoriumbrotherhood" },
-				[48] = { cb = ARL_RepTimbermawCB,			svroot = addon.db.profile.filters.rep, svval = "timbermaw" },
-				[49] = { cb = ARL_RepZandalarCB,			svroot = addon.db.profile.filters.rep, svval = "zandalar" },
-			-- BC Rep Options
-				[50] = { cb = ARL_RepAldorCB,				svroot = addon.db.profile.filters.rep, svval = "aldor" },
-				[51] = { cb = ARL_RepAshtongueCB,			svroot = addon.db.profile.filters.rep, svval = "ashtonguedeathsworn" },
-				[52] = { cb = ARL_RepCenarionExpeditionCB,	svroot = addon.db.profile.filters.rep, svval = "cenarionexpedition" },
-				[53] = { cb = ARL_RepConsortiumCB,			svroot = addon.db.profile.filters.rep, svval = "consortium" },
-				[54] = { cb = ARL_RepHonorHoldCB,			svroot = addon.db.profile.filters.rep, svval = "hellfire" },
-				[55] = { cb = ARL_RepKeepersOfTimeCB,		svroot = addon.db.profile.filters.rep, svval = "keepersoftime" },
-				[56] = { cb = ARL_RepKurenaiCB,				svroot = addon.db.profile.filters.rep, svval = "nagrand" },
-				[57] = { cb = ARL_RepLowerCityCB,			svroot = addon.db.profile.filters.rep, svval = "lowercity" },
-				[58] = { cb = ARL_RepScaleSandsCB,			svroot = addon.db.profile.filters.rep, svval = "scaleofthesands" },
-				[59] = { cb = ARL_RepScryersCB,				svroot = addon.db.profile.filters.rep, svval = "scryer" },
-				[60] = { cb = ARL_RepShatarCB,				svroot = addon.db.profile.filters.rep, svval = "shatar" },
-				[61] = { cb = ARL_RepShatteredSunCB,		svroot = addon.db.profile.filters.rep, svval = "shatteredsun" },
-				[62] = { cb = ARL_RepSporeggarCB,			svroot = addon.db.profile.filters.rep, svval = "sporeggar" },
-				[63] = { cb = ARL_RepVioletEyeCB,			svroot = addon.db.profile.filters.rep, svval = "violeteye" },
-			}
+		addon.Fly_General = CreateFrame( "Frame", "addon.Fly_General", addon.Flyaway )
+			addon.Fly_General:SetWidth( 210 )
+			addon.Fly_General:SetHeight( 280 )
+			addon.Fly_General:SetFrameStrata( "MEDIUM" )
+			addon.Fly_General:EnableMouse( true )
+			addon.Fly_General:EnableKeyboard( true )
+			addon.Fly_General:SetMovable( false )
+			addon.Fly_General:SetPoint( "TOPLEFT", addon.Flyaway, "TOPLEFT", 17, -16 )
+			addon.Fly_General:Hide()
+--			( ) Class Specific recipes
+--			( ) Craft Specialty recipes
+--			( ) All skill levels
+--			( ) Cross-Faction
+--			( ) Known	  ( ) Unknown
+			local ARL_ClassCB = CreateFrame( "CheckButton", "ARL_ClassCB", addon.Fly_General, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_ClassCB, addon.Fly_General, L["CLASS_DESC"], 1, 1, 1, 0 )
+				ARL_ClassCBText:SetText( L["Classes"] )
+			local ARL_SpecialtyCB = CreateFrame( "CheckButton", "ARL_SpecialtyCB", addon.Fly_General, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_SpecialtyCB, addon.Fly_General, L["SPECIALTY_DESC"], 2, 2, 1, 0 )
+				ARL_SpecialtyCBText:SetText( L["Specialties"] )
+			local ARL_LevelCB = CreateFrame( "CheckButton", "ARL_LevelCB", addon.Fly_General, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_LevelCB, addon.Fly_General, L["SKILL_DESC"], 3, 3, 1, 0 )
+				ARL_LevelCBText:SetText( L["Skill"] )
+			local ARL_FactionCB = CreateFrame( "CheckButton", "ARL_FactionCB", addon.Fly_General, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_FactionCB, addon.Fly_General, L["FACTION_DESC"], 4, 4, 1, 0 )
+				ARL_FactionCBText:SetText( L["Faction"] )
+			local ARL_KnownCB = CreateFrame( "CheckButton", "ARL_KnownCB", addon.Fly_General, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_KnownCB, addon.Fly_General, L["KNOWN_DESC"], 5, 5, 1, 0 )
+				ARL_KnownCBText:SetText( L["Known"] )
+			local ARL_UnknownCB = CreateFrame( "CheckButton", "ARL_UnknownCB", addon.Fly_General, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_UnknownCB, addon.Fly_General, L["UNKNOWN_DESC"], 6, 6, 1, 0 )
+				ARL_UnknownCBText:SetText( L["Unknown"] )
+
+		addon.Fly_Obtain = CreateFrame( "Frame", "addon.Fly_Obtain", addon.Flyaway )
+			addon.Fly_Obtain:SetWidth( 210 )
+			addon.Fly_Obtain:SetHeight( 280 )
+			addon.Fly_Obtain:SetFrameStrata( "MEDIUM" )
+			addon.Fly_Obtain:EnableMouse( true )
+			addon.Fly_Obtain:EnableKeyboard( true )
+			addon.Fly_Obtain:SetMovable( false )
+			addon.Fly_Obtain:SetPoint( "TOPLEFT", addon.Flyaway, "TOPLEFT", 17, -16 )
+			addon.Fly_Obtain:Hide()
+--			( ) Instance	( ) Raid
+--			( ) Quest		( ) Seasonal
+--			( ) Trainer		( ) Vendor
+--			( ) PVP		( ) Discovery
+--			( ) World Drop	( ) Mob Drop
+			local ARL_InstanceCB = CreateFrame( "CheckButton", "ARL_InstanceCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_InstanceCB, addon.Fly_Obtain, L["INSTANCE_DESC"], 7, 1, 1, 0 )
+				ARL_InstanceCBText:SetText( L["Instance"] )
+			local ARL_RaidCB = CreateFrame( "CheckButton", "ARL_RaidCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RaidCB, addon.Fly_Obtain, L["RAID_DESC"], 8, 2, 1, 0 )
+				ARL_RaidCBText:SetText( L["Raid"] )
+			local ARL_QuestCB = CreateFrame( "CheckButton", "ARL_QuestCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_QuestCB, addon.Fly_Obtain, L["QUEST_DESC"], 9, 3, 1, 0 )
+				ARL_QuestCBText:SetText( L["Quest"] )
+			local ARL_SeasonalCB = CreateFrame( "CheckButton", "ARL_SeasonalCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_SeasonalCB, addon.Fly_Obtain, L["SEASONAL_DESC"], 10, 4, 1, 0 )
+				ARL_SeasonalCBText:SetText( L["Seasonal"] )
+			local ARL_TrainerCB = CreateFrame( "CheckButton", "ARL_TrainerCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_TrainerCB, addon.Fly_Obtain, L["TRAINER_DESC"], 11, 5, 1, 0 )
+				ARL_TrainerCBText:SetText( L["Trainer"] )
+			local ARL_VendorCB = CreateFrame( "CheckButton", "ARL_VendorCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_VendorCB, addon.Fly_Obtain, L["VENDOR_DESC"], 12, 6, 1, 0 )
+				ARL_VendorCBText:SetText( L["Vendor"] )
+			local ARL_PVPCB = CreateFrame( "CheckButton", "ARL_PVPCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_PVPCB, addon.Fly_Obtain, L["PVP_DESC"], 13, 7, 1, 0 )
+				ARL_PVPCBText:SetText( L["PVP"] )
+			local ARL_DiscoveryCB = CreateFrame( "CheckButton", "ARL_DiscoveryCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_DiscoveryCB, addon.Fly_Obtain, L["DISCOVERY_DESC"], 14, 8, 1, 0 )
+				ARL_DiscoveryCBText:SetText( L["Discovery"] )
+			local ARL_WorldDropCB = CreateFrame( "CheckButton", "ARL_WorldDropCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WorldDropCB, addon.Fly_Obtain, L["WORLD_DROP_DESC"], 39, 9, 1, 0 )
+				ARL_WorldDropCBText:SetText( L["World Drop"] )
+			local ARL_MobDropCB = CreateFrame( "CheckButton", "ARL_MobDropCB", addon.Fly_Obtain, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_MobDropCB, addon.Fly_Obtain, L["MOB_DROP_DESC"], 40, 10, 1, 0 )
+				ARL_MobDropCBText:SetText( L["Mob Drop"] )
+
+		addon.Fly_Binding = CreateFrame( "Frame", "addon.Fly_Binding", addon.Flyaway )
+			addon.Fly_Binding:SetWidth( 210 )
+			addon.Fly_Binding:SetHeight( 280 )
+			addon.Fly_Binding:SetFrameStrata( "MEDIUM" )
+			addon.Fly_Binding:EnableMouse( true )
+			addon.Fly_Binding:EnableKeyboard( true )
+			addon.Fly_Binding:SetMovable( false )
+			addon.Fly_Binding:SetPoint( "TOPLEFT", addon.Flyaway, "TOPLEFT", 17, -16 )
+			addon.Fly_Binding:Hide()
+--			( ) Crafted Item is Bind on Equip
+--			( ) Crafted Item is Bind on Pickup
+--			( ) Recipe is Bind on Equip
+--			( ) Recipe is Bind on Pickup
+			local ARL_iBoECB = CreateFrame( "CheckButton", "ARL_iBoECB", addon.Fly_Binding, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_iBoECB, addon.Fly_Binding, L["BOE_DESC"], 15, 1, 1, 0 )
+				ARL_iBoECBText:SetText( L["BOEFilter"] )
+			local ARL_iBoPCB = CreateFrame( "CheckButton", "ARL_iBoPCB", addon.Fly_Binding, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_iBoPCB, addon.Fly_Binding, L["BOP_DESC"], 16, 2, 1, 0 )
+				ARL_iBoPCBText:SetText( L["BOPFilter"] )
+			local ARL_rBoECB = CreateFrame( "CheckButton", "ARL_rBoECB", addon.Fly_Binding, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_rBoECB, addon.Fly_Binding, L["RECIPE_BOE_DESC"], 17, 3, 1, 0 )
+				ARL_rBoECBText:SetText( L["RecipeBOEFilter"] )
+			local ARL_rBoPCB = CreateFrame( "CheckButton", "ARL_rBoPCB", addon.Fly_Binding, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_rBoPCB, addon.Fly_Binding, L["RECIPE_BOP_DESC"], 18, 4, 1, 0 )
+				ARL_rBoPCBText:SetText( L["RecipeBOPFilter"] )
+
+		addon.Fly_Item = CreateFrame( "Frame", "addon.Fly_Item", addon.Flyaway )
+			addon.Fly_Item:SetWidth( 210 )
+			addon.Fly_Item:SetHeight( 280 )
+			addon.Fly_Item:SetFrameStrata( "MEDIUM" )
+			addon.Fly_Item:EnableMouse( true )
+			addon.Fly_Item:EnableKeyboard( true )
+			addon.Fly_Item:SetMovable( false )
+			addon.Fly_Item:SetPoint( "TOPLEFT", addon.Flyaway, "TOPLEFT", 17, -16 )
+			addon.Fly_Item:Hide()
+--			Armor:
+--				( ) All		( ) None
+--				( ) Cloth	( ) Leather
+--				( ) Mail	( ) Plate
+--
+--				( ) Cloak	( ) Necklace
+--				( ) Rings	( ) Trinkets
+			local ARL_ArmorText = addon.Fly_Item:CreateFontString( "ARL_ArmorText", "OVERLAY", "GameFontHighlight" )
+				ARL_ArmorText:SetText( L["Armor"] .. ":" )
+				ARL_ArmorText:SetPoint( "TOPLEFT", addon.Fly_Item, "TOPLEFT", 5, -8 )
+				ARL_ArmorText:SetHeight( 14 )
+				ARL_ArmorText:SetWidth( 150 )
+				ARL_ArmorText:SetJustifyH( "LEFT" )
+			local ARL_ArmorAllCB = CreateFrame( "CheckButton", "ARL_ArmorAllCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_ArmorAllCB, addon.Fly_Item, L["ARMOR_ALL_DESC"], 19, 2, 1, 0 )
+				ARL_ArmorAllCBText:SetText( L["All"] )
+			local ARL_ArmorNoneCB = CreateFrame( "CheckButton", "ARL_ArmorNoneCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_ArmorNoneCB, addon.Fly_Item, L["ARMOR_NONE_DESC"], 20, 2, 2, 0 )
+				ARL_ArmorNoneCBText:SetText( L["None"] )
+			local ARL_ArmorClothCB = CreateFrame( "CheckButton", "ARL_ArmorClothCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_ArmorClothCB, addon.Fly_Item, L["CLOTH_DESC"], 21, 3, 1, 0 )
+				ARL_ArmorClothCBText:SetText( L["Cloth"] )
+			local ARL_ArmorLeatherCB = CreateFrame( "CheckButton", "ARL_ArmorLeatherCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_ArmorLeatherCB, addon.Fly_Item, L["LEATHER_DESC"], 22, 3, 2, 0 )
+				ARL_ArmorLeatherCBText:SetText( L["Leather"] )
+			local ARL_ArmorMailCB = CreateFrame( "CheckButton", "ARL_ArmorMailCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_ArmorMailCB, addon.Fly_Item, L["MAIL_DESC"], 23, 4, 1, 0 )
+				ARL_ArmorMailCBText:SetText( L["Mail"] )
+			local ARL_ArmorPlateCB = CreateFrame( "CheckButton", "ARL_ArmorPlateCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_ArmorPlateCB, addon.Fly_Item, L["PLATE_DESC"], 24, 4, 2, 0 )
+				ARL_ArmorPlateCBText:SetText( L["Plate"] )
+
+			local ARL_ArmorCloakCB = CreateFrame( "CheckButton", "ARL_ArmorCloakCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_ArmorCloakCB, addon.Fly_Item, L["CLOAK_DESC"], 64, 5, 1, 0 )
+				ARL_ArmorCloakCBText:SetText( L["Cloak"] )
+			local ARL_ArmorNecklaceCB = CreateFrame( "CheckButton", "ARL_ArmorNecklaceCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_ArmorNecklaceCB, addon.Fly_Item, L["NECKLACE_DESC"], 65, 5, 2, 0 )
+				ARL_ArmorNecklaceCBText:SetText( L["Necklace"] )
+			local ARL_ArmorRingCB = CreateFrame( "CheckButton", "ARL_ArmorRingCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_ArmorRingCB, addon.Fly_Item, L["RING_DESC"], 66, 6, 1, 0 )
+				ARL_ArmorRingCBText:SetText( L["Ring"] )
+			local ARL_ArmorTrinketCB = CreateFrame( "CheckButton", "ARL_ArmorTrinketCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_ArmorTrinketCB, addon.Fly_Item, L["TRINKET_DESC"], 67, 6, 2, 0 )
+				ARL_ArmorTrinketCBText:SetText( L["Trinket"] )
+--			Weapon:
+--				( ) All		( ) None
+--				( ) 1H		( ) 2H
+--				( ) Dagger	( ) Axe
+--				( ) Mace	( ) Sword
+--				( ) Polearm	( ) Thrown
+--				( ) Bow	( ) Crossbow
+--				( ) Staff
+			local ARL_WeaponText = addon.Fly_Item:CreateFontString( "ARL_WeaponText", "OVERLAY", "GameFontHighlight" )
+				ARL_WeaponText:SetText( L["Weapon"] .. ":" )
+				ARL_WeaponText:SetPoint( "TOPLEFT", addon.Fly_Item, "TOPLEFT", 5, -116 )
+				ARL_WeaponText:SetHeight( 14 )
+				ARL_WeaponText:SetWidth( 150 )
+				ARL_WeaponText:SetJustifyH( "LEFT" )
+			local ARL_WeaponAllCB = CreateFrame( "CheckButton", "ARL_WeaponAllCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponAllCB, addon.Fly_Item, L["WEAPON_ALL_DESC"], 25, 8, 1, 0 )
+				ARL_WeaponAllCBText:SetText( L["All"] )
+			local ARL_WeaponNoneCB = CreateFrame( "CheckButton", "ARL_WeaponNoneCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponNoneCB, addon.Fly_Item, L["WEAPON_NONE_DESC"], 26, 8, 2, 0 )
+				ARL_WeaponNoneCBText:SetText( L["None"] )
+			local ARL_Weapon1HCB = CreateFrame( "CheckButton", "ARL_Weapon1HCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_Weapon1HCB, addon.Fly_Item, L["ONEHAND_DESC"], 27, 9, 1, 0 )
+				ARL_Weapon1HCBText:SetText( L["One Hand"] )
+			local ARL_Weapon2HCB = CreateFrame( "CheckButton", "ARL_Weapon2HCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_Weapon2HCB, addon.Fly_Item, L["TWOHAND_DESC"], 28, 9, 2, 0 )
+				ARL_Weapon2HCBText:SetText( L["Two Hand"] )
+			local ARL_WeaponDaggerCB = CreateFrame( "CheckButton", "ARL_WeaponDaggerCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponDaggerCB, addon.Fly_Item, L["DAGGER_DESC"], 29, 10, 1, 0 )
+				ARL_WeaponDaggerCBText:SetText( L["Dagger"] )
+			local ARL_WeaponAxeCB = CreateFrame( "CheckButton", "ARL_WeaponAxeCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponAxeCB, addon.Fly_Item, L["AXE_DESC"], 30, 10, 2, 0 )
+				ARL_WeaponAxeCBText:SetText( L["Axe"] )
+			local ARL_WeaponMaceCB = CreateFrame( "CheckButton", "ARL_WeaponMaceCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponMaceCB, addon.Fly_Item, L["MACE_DESC"], 31, 11, 1, 0 )
+				ARL_WeaponMaceCBText:SetText( L["Mace"] )
+			local ARL_WeaponSwordCB = CreateFrame( "CheckButton", "ARL_WeaponSwordCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponSwordCB, addon.Fly_Item, L["SWORD_DESC"], 32, 11, 2, 0 )
+				ARL_WeaponSwordCBText:SetText( L["Sword"] )
+			local ARL_WeaponPolearmCB = CreateFrame( "CheckButton", "ARL_WeaponPolearmCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponPolearmCB, addon.Fly_Item, L["POLEARM_DESC"], 33, 12, 1, 0 )
+				ARL_WeaponPolearmCBText:SetText( L["Polearm"] )
+			local ARL_WeaponFistCB = CreateFrame( "CheckButton", "ARL_WeaponFistCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponFistCB, addon.Fly_Item, L["FIST_DESC"], 84, 12, 2, 0 )
+				ARL_WeaponFistCBText:SetText( L["Fist"] )
+
+			local ARL_WeaponStaffCB = CreateFrame( "CheckButton", "ARL_WeaponStaffCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponStaffCB, addon.Fly_Item, L["STAFF_DESC"], 34, 13, 1, 0 )
+				ARL_WeaponStaffCBText:SetText( L["Staff"] )
+				-- Disabled for now...
+				ARL_WeaponStaffCBText:SetText( addon:Grey( L["Staff"] ) )
+				ARL_WeaponStaffCB:Disable()
+			local ARL_WeaponWandCB = CreateFrame( "CheckButton", "ARL_WeaponWandCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponWandCB, addon.Fly_Item, L["WAND_DESC"], 68, 13, 2, 0 )
+				ARL_WeaponWandCBText:SetText( L["Wand"] )
+			local ARL_WeaponThrownCB = CreateFrame( "CheckButton", "ARL_WeaponThrownCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponThrownCB, addon.Fly_Item, L["THROWN_DESC"], 35, 14, 1, 0 )
+				ARL_WeaponThrownCBText:SetText( L["Thrown"] )
+			local ARL_WeaponBowCB = CreateFrame( "CheckButton", "ARL_WeaponBowCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponBowCB, addon.Fly_Item, L["BOW_DESC"], 36, 14, 2, 0 )
+				ARL_WeaponBowCBText:SetText( L["Bow"] )
+				-- Disabled for now...
+				ARL_WeaponBowCBText:SetText( addon:Grey( L["Bow"] ) )
+				ARL_WeaponBowCB:Disable()
+			local ARL_WeaponCrossbowCB = CreateFrame( "CheckButton", "ARL_WeaponCrossbowCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponCrossbowCB, addon.Fly_Item, L["CROSSBOW_DESC"], 37, 15, 1, 0 )
+				ARL_WeaponCrossbowCBText:SetText( L["Crossbow"] )
+				-- Disabled for now...
+				ARL_WeaponCrossbowCBText:SetText( addon:Grey( L["Crossbow"] ) )
+				ARL_WeaponCrossbowCB:Disable()
+			local ARL_WeaponAmmoCB = CreateFrame( "CheckButton", "ARL_WeaponAmmoCB", addon.Fly_Item, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_WeaponAmmoCB, addon.Fly_Item, L["AMMO_DESC"], 38, 15, 2, 0 )
+				ARL_WeaponAmmoCBText:SetText( L["Ammo"] )
+
+		addon.Fly_Player= CreateFrame( "Frame", "addon.Fly_Player", addon.Flyaway )
+			addon.Fly_Player:SetWidth( 112 )
+			addon.Fly_Player:SetHeight( 280 )
+			addon.Fly_Player:SetFrameStrata( "MEDIUM" )
+			addon.Fly_Player:EnableMouse( true )
+			addon.Fly_Player:EnableKeyboard( true )
+			addon.Fly_Player:SetMovable( false )
+			addon.Fly_Player:SetPoint( "TOPLEFT", addon.Flyaway, "TOPLEFT", 17, -16 )
+			addon.Fly_Player:Hide()
+--			( ) Tank	  ( ) Melee DPS
+--			( ) Healer	  ( ) Caster DPS
+			local ARL_PlayerTankCB = CreateFrame( "CheckButton", "ARL_PlayerTankCB", addon.Fly_Player, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_PlayerTankCB, addon.Fly_Player, L["TANKS_DESC"], 41, 1, 1, 0 )
+				ARL_PlayerTankCBText:SetText( L["Tanks"] )
+			local ARL_PlayerMeleeCB = CreateFrame( "CheckButton", "ARL_PlayerMeleeCB", addon.Fly_Player, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_PlayerMeleeCB, addon.Fly_Player, L["MELEE_DPS_DESC"], 42, 2, 1, 0 )
+				ARL_PlayerMeleeCBText:SetText( L["Melee DPS"] )
+			local ARL_PlayerHealerCB = CreateFrame( "CheckButton", "ARL_PlayerHealerCB", addon.Fly_Player, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_PlayerHealerCB, addon.Fly_Player, L["HEALERS_DESC"], 43, 3, 1, 0 )
+				ARL_PlayerHealerCBText:SetText( L["Healers"] )
+			local ARL_PlayerCasterCB = CreateFrame( "CheckButton", "ARL_PlayerCasterCB", addon.Fly_Player, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_PlayerCasterCB, addon.Fly_Player, L["CASTER_DPS_DESC"], 44, 4, 1, 0 )
+				ARL_PlayerCasterCBText:SetText( L["Caster DPS"] )
+
+		addon.Fly_Rep = CreateFrame( "Frame", "addon.Fly_Rep", addon.Flyaway )
+			addon.Fly_Rep:SetWidth( 112 )
+			addon.Fly_Rep:SetHeight( 280 )
+			addon.Fly_Rep:SetFrameStrata( "MEDIUM" )
+			addon.Fly_Rep:EnableMouse( true )
+			addon.Fly_Rep:EnableKeyboard( true )
+			addon.Fly_Rep:SetMovable( false )
+			addon.Fly_Rep:SetPoint( "TOPLEFT", addon.Flyaway, "TOPLEFT", 17, -16 )
+			addon.Fly_Rep:Hide()
+
+			ARL_RepOldWorldCB = addon:CreateExpCB( "ARL_RepOldWorldCB", "Glues-WoW-Logo", 1 )
+			ARL_RepOldWorldCB:SetPoint( "TOPLEFT", addon.Fly_Rep, "TOPLEFT", 0, -10 )
+			ARL_RepOldWorldCB:SetScript( "OnClick", function()
+				addon.RepFilterSwitch( 1 )
+			end )

-		end
-		-- We'll be in "ExpandAll" mode to start with. Make sure the button knows that:
-		ARL_ExpandButton:SetText( L["ExpandAll"] )
-		addon:TooltipDisplay( ARL_ExpandButton, L["EXPAND_TT"] )
+			ARL_RepBCCB = addon:CreateExpCB( "ARL_RepBCCB", "GLUES-WOW-BCLOGO", 1 )
+			ARL_RepBCCB:SetPoint( "TOPLEFT", addon.Fly_Rep, "TOPLEFT", 0, -60 )
+			ARL_RepBCCB:SetScript( "OnClick", function()
+				addon.RepFilterSwitch( 2 )
+			end )
+
+			ARL_RepLKCB = addon:CreateExpCB( "ARL_RepLKCB", "wotlk_logo", 1 )
+			ARL_RepLKCB:SetPoint( "TOPLEFT", addon.Fly_Rep, "TOPLEFT", 0, -110 )
+			ARL_RepLKCB:SetScript( "OnClick", function()
+				addon.RepFilterSwitch( 3 )
+			end )

-		-- Reset our addon title text
-		addon.resetTitle()
+			addon.Fly_Rep_OW= CreateFrame( "Frame", "addon.Fly_Rep_OW", addon.Fly_Rep )
+			addon.Fly_Rep_OW:SetWidth( 150 )
+			addon.Fly_Rep_OW:SetHeight( 280 )
+			addon.Fly_Rep_OW:SetFrameStrata( "MEDIUM" )
+			addon.Fly_Rep_OW:EnableMouse( true )
+			addon.Fly_Rep_OW:EnableKeyboard( true )
+			addon.Fly_Rep_OW:SetMovable( false )
+			addon.Fly_Rep_OW:SetPoint( "TOPRIGHT", addon.Flyaway, "TOPRIGHT", -7, -16 )
+			addon.Fly_Rep_OW:Hide()
+--			( ) Argent Dawn
+--			( ) Cenarion Circle
+--			( ) Thorium Brotherhood
+--			( ) Timbermaw Hold
+--			( ) Zandalar Tribe
+			local ARL_RepArgentDawnCB = CreateFrame( "CheckButton", "ARL_RepArgentDawnCB", addon.Fly_Rep_OW, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepArgentDawnCB, addon.Fly_Rep_OW,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Argent Dawn"] ), 45, 1, 1, 0 )
+				ARL_RepArgentDawnCBText:SetText( BFAC["Argent Dawn"] )
+				ARL_RepArgentDawnCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepCenarionCircleCB = CreateFrame( "CheckButton", "ARL_RepCenarionCircleCB", addon.Fly_Rep_OW, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepCenarionCircleCB, addon.Fly_Rep_OW,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Cenarion Circle"] ), 46, 2, 1, 0 )
+				ARL_RepCenarionCircleCBText:SetText( BFAC["Cenarion Circle"] )
+				ARL_RepCenarionCircleCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepThoriumCB = CreateFrame( "CheckButton", "ARL_RepThoriumCB", addon.Fly_Rep_OW, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepThoriumCB, addon.Fly_Rep_OW,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Thorium Brotherhood"] ), 47, 3, 1, 0 )
+				ARL_RepThoriumCBText:SetText( BFAC["Thorium Brotherhood"] )
+				ARL_RepThoriumCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepTimbermawCB = CreateFrame( "CheckButton", "ARL_RepTimbermawCB", addon.Fly_Rep_OW, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepTimbermawCB, addon.Fly_Rep_OW,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Timbermaw Hold"] ), 48, 4, 1, 0 )
+				ARL_RepTimbermawCBText:SetText( BFAC["Timbermaw Hold"] )
+				ARL_RepTimbermawCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepZandalarCB = CreateFrame( "CheckButton", "ARL_RepZandalarCB", addon.Fly_Rep_OW, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepZandalarCB, addon.Fly_Rep_OW,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Zandalar Tribe"] ), 49, 5, 1, 0 )
+				ARL_RepZandalarCBText:SetText( BFAC["Zandalar Tribe"] )
+				ARL_RepZandalarCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+
+			addon.Fly_Rep_BC= CreateFrame( "Frame", "addon.Fly_Rep_BC", addon.Fly_Rep )
+			addon.Fly_Rep_BC:SetWidth( 150 )
+			addon.Fly_Rep_BC:SetHeight( 280 )
+			addon.Fly_Rep_BC:SetFrameStrata( "MEDIUM" )
+			addon.Fly_Rep_BC:EnableMouse( true )
+			addon.Fly_Rep_BC:EnableKeyboard( true )
+			addon.Fly_Rep_BC:SetMovable( false )
+			addon.Fly_Rep_BC:SetPoint( "TOPRIGHT", addon.Flyaway, "TOPRIGHT", -7, -16 )
+			addon.Fly_Rep_BC:Hide()
+--			( ) The Aldor
+--			( ) Ashtongue Deathsworn
+--			( ) Cenarion Expedition
+--			( ) The Consortium
+--			( ) Honor Hold / Thrallmar
+--			( ) Keepers of Time
+--			( ) Kurenai / The Mag'har
+--			( ) Lower City
+--			( ) The Scale of the Sands
+--			( ) The Scryers
+--			( ) The Sha'tar
+--			( ) Shattered Sun Offensive
+--			( ) Sporeggar
+--			( ) The Violet Eye
+			local ARL_RepAldorCB = CreateFrame( "CheckButton", "ARL_RepAldorCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepAldorCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Aldor"] ), 50, 1, 1, 0 )
+				ARL_RepAldorCBText:SetText( BFAC["The Aldor"] )
+				ARL_RepAldorCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepAshtongueCB = CreateFrame( "CheckButton", "ARL_RepAshtongueCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepAshtongueCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Ashtongue Deathsworn"] ), 51, 2, 1, 0 )
+				ARL_RepAshtongueCBText:SetText( BFAC["Ashtongue Deathsworn"] )
+				ARL_RepAshtongueCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepCenarionExpeditionCB = CreateFrame( "CheckButton", "ARL_RepCenarionExpeditionCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepCenarionExpeditionCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Cenarion Expedition"] ), 52, 3, 1, 0 )
+				ARL_RepCenarionExpeditionCBText:SetText( BFAC["Cenarion Expedition"] )
+				ARL_RepCenarionExpeditionCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepConsortiumCB = CreateFrame( "CheckButton", "ARL_RepConsortiumCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepConsortiumCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Consortium"] ), 53, 4, 1, 0 )
+				ARL_RepConsortiumCBText:SetText( BFAC["The Consortium"] )
+				ARL_RepConsortiumCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepHonorHoldCB = CreateFrame( "CheckButton", "ARL_RepHonorHoldCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepHonorHoldCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], HonorHold_Thrallmar_FactionText ), 54, 5, 1, 0 )
+				ARL_RepHonorHoldCBText:SetText( HonorHold_Thrallmar_FactionText )
+				ARL_RepHonorHoldCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepKeepersOfTimeCB = CreateFrame( "CheckButton", "ARL_RepKeepersOfTimeCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepKeepersOfTimeCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Keepers of Time"] ), 55, 6, 1, 0 )
+				ARL_RepKeepersOfTimeCBText:SetText( BFAC["Keepers of Time"] )
+				ARL_RepKeepersOfTimeCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepKurenaiCB = CreateFrame( "CheckButton", "ARL_RepKurenaiCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepKurenaiCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], Kurenai_Maghar_FactionText ), 56, 7, 1, 0 )
+				ARL_RepKurenaiCBText:SetText( Kurenai_Maghar_FactionText )
+				ARL_RepKurenaiCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepLowerCityCB = CreateFrame( "CheckButton", "ARL_RepLowerCityCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepLowerCityCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Lower City"] ), 57, 8, 1, 0 )
+				ARL_RepLowerCityCBText:SetText( BFAC["Lower City"] )
+				ARL_RepLowerCityCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepScaleSandsCB = CreateFrame( "CheckButton", "ARL_RepScaleSandsCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepScaleSandsCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Scale of the Sands"] ), 58, 9, 1, 0 )
+				ARL_RepScaleSandsCBText:SetText( BFAC["The Scale of the Sands"] )
+				ARL_RepScaleSandsCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepScryersCB = CreateFrame( "CheckButton", "ARL_RepScryersCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepScryersCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Scryers"] ), 59, 10, 1, 0 )
+				ARL_RepScryersCBText:SetText( BFAC["The Scryers"] )
+				ARL_RepScryersCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepShatarCB = CreateFrame( "CheckButton", "ARL_RepShatarCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepShatarCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Sha'tar"] ), 60, 11, 1, 0 )
+				ARL_RepShatarCBText:SetText( BFAC["The Sha'tar"] )
+				ARL_RepShatarCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepShatteredSunCB = CreateFrame( "CheckButton", "ARL_RepShatteredSunCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepShatteredSunCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Shattered Sun Offensive"] ), 61, 12, 1, 0 )
+				ARL_RepShatteredSunCBText:SetText( BFAC["Shattered Sun Offensive"] )
+				ARL_RepShatteredSunCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepSporeggarCB = CreateFrame( "CheckButton", "ARL_RepSporeggarCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepSporeggarCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Sporeggar"] ), 62, 13, 1, 0 )
+				ARL_RepSporeggarCBText:SetText( BFAC["Sporeggar"] )
+				ARL_RepSporeggarCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepVioletEyeCB = CreateFrame( "CheckButton", "ARL_RepVioletEyeCB", addon.Fly_Rep_BC, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepVioletEyeCB, addon.Fly_Rep_BC,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Violet Eye"] ), 63, 14, 1, 0 )
+				ARL_RepVioletEyeCBText:SetText( BFAC["The Violet Eye"] )
+				ARL_RepVioletEyeCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+
+-- Everything below here is WotLK stuff. May need to be changed after beta.
+			addon.Fly_Rep_LK= CreateFrame( "Frame", "addon.Fly_Rep_LK", addon.Fly_Rep )
+			addon.Fly_Rep_LK:SetWidth( 150 )
+			addon.Fly_Rep_LK:SetHeight( 280 )
+			addon.Fly_Rep_LK:SetFrameStrata( "MEDIUM" )
+			addon.Fly_Rep_LK:EnableMouse( true )
+			addon.Fly_Rep_LK:EnableKeyboard( true )
+			addon.Fly_Rep_LK:SetMovable( false )
+			addon.Fly_Rep_LK:SetPoint( "TOPRIGHT", addon.Flyaway, "TOPRIGHT", -7, -16 )
+			addon.Fly_Rep_LK:Hide()
+--			( ) Argent Crusade
+--			( ) Frenzyheart Tribe
+--			( ) Knights of the Ebon Blade
+--			( ) Kirin Tor
+--			( ) The Sons of Hodir
+--			( ) The Kalu'ak
+--			( ) The Oracles
+--			( ) The Wyrmrest Accord
+--			( ) The Silver Convenant
+--			( ) The Sunreavers
+--			( ) Explorer's League
+--			( ) Valiance Expedition
+--			( ) The Hand of Vengeance
+--			( ) The Taunka
+--			( ) Warsong Offensive
+			local ARL_RepArgentCrusadeCB = CreateFrame( "CheckButton", "ARL_RepArgentCrusadeCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepArgentCrusadeCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Argent Crusade"] ), 69, 1, 1, 0 )
+				ARL_RepArgentCrusadeCBText:SetText( BFAC["Argent Crusade"] )
+				ARL_RepArgentCrusadeCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepFrenzyheartCB = CreateFrame( "CheckButton", "ARL_RepFrenzyheartCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepFrenzyheartCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Frenzyheart Tribe"] ), 70, 2, 1, 0 )
+				ARL_RepFrenzyheartCBText:SetText( BFAC["Frenzyheart Tribe"] )
+				ARL_RepFrenzyheartCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepEbonBladeCB = CreateFrame( "CheckButton", "ARL_RepEbonBladeCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepEbonBladeCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Knights of the Ebon Blade"] ), 71, 3, 1, 0 )
+				ARL_RepEbonBladeCBText:SetText( BFAC["Knights of the Ebon Blade"] )
+				ARL_RepEbonBladeCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepKirinTorCB = CreateFrame( "CheckButton", "ARL_RepKirinTorCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepKirinTorCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Kirin Tor"] ), 72, 4, 1, 0 )
+				ARL_RepKirinTorCBText:SetText( BFAC["Kirin Tor"] )
+				ARL_RepKirinTorCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepSonsOfHodirCB = CreateFrame( "CheckButton", "ARL_RepSonsOfHodirCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepSonsOfHodirCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Sons of Hodir"] ), 73, 5, 1, 0 )
+				ARL_RepSonsOfHodirCBText:SetText( BFAC["The Sons of Hodir"] )
+				ARL_RepSonsOfHodirCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepKaluakCB = CreateFrame( "CheckButton", "ARL_RepKaluakCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepKaluakCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Kalu'ak"] ), 74, 6, 1, 0 )
+				ARL_RepKaluakCBText:SetText( BFAC["The Kalu'ak"] )
+				ARL_RepKaluakCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepOraclesCB = CreateFrame( "CheckButton", "ARL_RepOraclesCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepOraclesCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Oracles"] ), 75, 7, 1, 0 )
+				ARL_RepOraclesCBText:SetText( BFAC["The Oracles"] )
+				ARL_RepOraclesCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepWyrmrestCB = CreateFrame( "CheckButton", "ARL_RepWyrmrestCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepWyrmrestCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Wyrmrest Accord"] ), 76, 8, 1, 0 )
+				ARL_RepWyrmrestCBText:SetText( BFAC["The Wyrmrest Accord"] )
+				ARL_RepWyrmrestCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepSilverCovenantCB = CreateFrame( "CheckButton", "ARL_RepSilverCovenantCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepSilverCovenantCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Silver Convenant"] ), 77, 9, 1, 0 )
+				ARL_RepSilverCovenantCBText:SetText( BFAC["The Silver Convenant"] )
+				ARL_RepSilverCovenantCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepSunreaversCB = CreateFrame( "CheckButton", "ARL_RepSunreaversCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepSunreaversCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Sunreavers"] ), 78, 10, 1, 0 )
+				ARL_RepSunreaversCBText:SetText( BFAC["The Sunreavers"] )
+				ARL_RepSunreaversCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepExplorersLeagueCB = CreateFrame( "CheckButton", "ARL_RepExplorersLeagueCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepExplorersLeagueCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Explorer's League"] ), 79, 11, 1, 0 )
+				ARL_RepExplorersLeagueCBText:SetText( BFAC["Explorer's League"] )
+				ARL_RepExplorersLeagueCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepValianceCB = CreateFrame( "CheckButton", "ARL_RepValianceCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepValianceCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Valiance Expedition"] ), 80, 12, 1, 0 )
+				ARL_RepValianceCBText:SetText( BFAC["Valiance Expedition"] )
+				ARL_RepValianceCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepHandOfVengeanceCB = CreateFrame( "CheckButton", "ARL_RepHandOfVengeanceCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepHandOfVengeanceCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Hand of Vengeance"] ), 81, 13, 1, 0 )
+				ARL_RepHandOfVengeanceCBText:SetText( BFAC["The Hand of Vengeance"] )
+				ARL_RepHandOfVengeanceCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepTaunkaCB = CreateFrame( "CheckButton", "ARL_RepTaunkaCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepTaunkaCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["The Taunka"] ), 82, 14, 1, 0 )
+				ARL_RepTaunkaCBText:SetText( BFAC["The Taunka"] )
+				ARL_RepTaunkaCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+			local ARL_RepWarsongOffensiveCB = CreateFrame( "CheckButton", "ARL_RepWarsongOffensiveCB", addon.Fly_Rep_LK, "UICheckButtonTemplate" )
+				addon:GenericMakeCB( ARL_RepWarsongOffensiveCB, addon.Fly_Rep_LK,
+					string.format( L["SPECIFIC_REP_DESC"], BFAC["Warsong Offensive"] ), 83, 15, 1, 0 )
+				ARL_RepWarsongOffensiveCBText:SetText( BFAC["Warsong Offensive"] )
+				ARL_RepWarsongOffensiveCBText:SetFont( "Fonts\\ARIALN.TTF", 11 )
+
+		-- Now that everything exists, populate the global filter table
+		local filterdb = addon.db.profile.filters
+		FilterValueMap = {
+		-- General Options
+			[1]  = { cb = ARL_ClassCB,					svroot = filterdb.general,		svval = "class" },
+			[2]  = { cb = ARL_SpecialtyCB,				svroot = filterdb.general,		svval = "specialty" },
+			[3]  = { cb = ARL_LevelCB,					svroot = filterdb.general,		svval = "skill" },
+			[4]  = { cb = ARL_FactionCB,				svroot = filterdb.general,		svval = "faction" },
+			[5]  = { cb = ARL_KnownCB,					svroot = filterdb.general,		svval = "known" },
+			[6]  = { cb = ARL_UnknownCB,				svroot = filterdb.general,		svval = "unknown" },
+		-- Obtain Options
+			[7]  = { cb = ARL_InstanceCB,				svroot = filterdb.obtain,		svval = "instance" },
+			[8]  = { cb = ARL_RaidCB,					svroot = filterdb.obtain,		svval = "raid" },
+			[9]  = { cb = ARL_QuestCB,					svroot = filterdb.obtain,		svval = "quest" },
+			[10] = { cb = ARL_SeasonalCB,				svroot = filterdb.obtain,		svval = "seasonal" },
+			[11] = { cb = ARL_TrainerCB,				svroot = filterdb.obtain,		svval = "trainer" },
+			[12] = { cb = ARL_VendorCB,					svroot = filterdb.obtain,		svval = "vendor" },
+			[13] = { cb = ARL_PVPCB,					svroot = filterdb.obtain,		svval = "pvp" },
+			[14] = { cb = ARL_DiscoveryCB,				svroot = filterdb.obtain,		svval = "discovery" },
+			[39] = { cb = ARL_WorldDropCB,				svroot = filterdb.obtain,		svval = "worlddrop" },
+			[40] = { cb = ARL_MobDropCB,				svroot = filterdb.obtain,		svval = "mobdrop" },
+		-- Binding Options
+			[15] = { cb = ARL_iBoECB,					svroot = filterdb.binding,		svval = "itemboe" },
+			[16] = { cb = ARL_iBoPCB,					svroot = filterdb.binding,		svval = "itembop" },
+			[17] = { cb = ARL_rBoECB,					svroot = filterdb.binding,		svval = "recipeboe" },
+			[18] = { cb = ARL_rBoPCB,					svroot = filterdb.binding,		svval = "recipebop" },
+		-- Armor Options
+			[19] = { cb = ARL_ArmorAllCB,				svroot = "special case",		svval = "" },
+			[20] = { cb = ARL_ArmorNoneCB,				svroot = "special case",		svval = "" },
+			[21] = { cb = ARL_ArmorClothCB,				svroot = filterdb.item.armor,	svval = "cloth" },
+			[22] = { cb = ARL_ArmorLeatherCB,			svroot = filterdb.item.armor,	svval = "leather" },
+			[23] = { cb = ARL_ArmorMailCB,				svroot = filterdb.item.armor,	svval = "mail" },
+			[24] = { cb = ARL_ArmorPlateCB,				svroot = filterdb.item.armor,	svval = "plate" },
+			[64] = { cb = ARL_ArmorCloakCB,				svroot = filterdb.item.armor,	svval = "cloak" },
+			[65] = { cb = ARL_ArmorNecklaceCB,			svroot = filterdb.item.armor,	svval = "necklace" },
+			[66] = { cb = ARL_ArmorRingCB,				svroot = filterdb.item.armor,	svval = "ring" },
+			[67] = { cb = ARL_ArmorTrinketCB,			svroot = filterdb.item.armor,	svval = "trinket" },
+		-- Weapon Options
+			[25] = { cb = ARL_WeaponAllCB,				svroot = "special case",		svval = "" },
+			[26] = { cb = ARL_WeaponNoneCB,				svroot = "special case",		svval = "" },
+			[27] = { cb = ARL_Weapon1HCB,				svroot = filterdb.item.weapon,	svval = "onehand" },
+			[28] = { cb = ARL_Weapon2HCB,				svroot = filterdb.item.weapon,	svval = "twohand" },
+			[29] = { cb = ARL_WeaponDaggerCB,			svroot = filterdb.item.weapon,	svval = "dagger" },
+			[30] = { cb = ARL_WeaponAxeCB,				svroot = filterdb.item.weapon,	svval = "axe" },
+			[31] = { cb = ARL_WeaponMaceCB,				svroot = filterdb.item.weapon,	svval = "mace" },
+			[32] = { cb = ARL_WeaponSwordCB,			svroot = filterdb.item.weapon,	svval = "sword" },
+			[33] = { cb = ARL_WeaponPolearmCB,			svroot = filterdb.item.weapon,	svval = "polearm" },
+			[84] = { cb = ARL_WeaponFistCB,				svroot = filterdb.item.weapon,	svval = "fist" },
+			[34] = { cb = ARL_WeaponStaffCB,			svroot = "disabled",			svval = "" },
+			[68] = { cb = ARL_WeaponWandCB,				svroot = filterdb.item.weapon,	svval = "wand" },
+			[35] = { cb = ARL_WeaponThrownCB,			svroot = filterdb.item.weapon,	svval = "thrown" },
+			[36] = { cb = ARL_WeaponBowCB,				svroot = "disabled",			svval = "" },
+			[37] = { cb = ARL_WeaponCrossbowCB,			svroot = "disabled",			svval = "" },
+			[38] = { cb = ARL_WeaponAmmoCB,				svroot = filterdb.item.weapon,	svval = "ammo" },
+		-- Player Type Options
+			[41] = { cb = ARL_PlayerTankCB,				svroot = filterdb.player,		svval = "tank" },
+			[42] = { cb = ARL_PlayerMeleeCB,			svroot = filterdb.player,		svval = "melee" },
+			[43] = { cb = ARL_PlayerHealerCB,			svroot = filterdb.player,		svval = "healer" },
+			[44] = { cb = ARL_PlayerCasterCB,			svroot = filterdb.player,		svval = "caster" },
+		-- Old World Rep Options
+			[45] = { cb = ARL_RepArgentDawnCB,			svroot = filterdb.rep,			svval = "argentdawn" },
+			[46] = { cb = ARL_RepCenarionCircleCB,		svroot = filterdb.rep,			svval = "cenarioncircle" },
+			[47] = { cb = ARL_RepThoriumCB,				svroot = filterdb.rep,			svval = "thoriumbrotherhood" },
+			[48] = { cb = ARL_RepTimbermawCB,			svroot = filterdb.rep,			svval = "timbermaw" },
+			[49] = { cb = ARL_RepZandalarCB,			svroot = filterdb.rep,			svval = "zandalar" },
+		-- BC Rep Options
+			[50] = { cb = ARL_RepAldorCB,				svroot = filterdb.rep,			svval = "aldor" },
+			[51] = { cb = ARL_RepAshtongueCB,			svroot = filterdb.rep,			svval = "ashtonguedeathsworn" },
+			[52] = { cb = ARL_RepCenarionExpeditionCB,	svroot = filterdb.rep,			svval = "cenarionexpedition" },
+			[53] = { cb = ARL_RepConsortiumCB,			svroot = filterdb.rep,			svval = "consortium" },
+			[54] = { cb = ARL_RepHonorHoldCB,			svroot = filterdb.rep,			svval = "hellfire" },
+			[55] = { cb = ARL_RepKeepersOfTimeCB,		svroot = filterdb.rep,			svval = "keepersoftime" },
+			[56] = { cb = ARL_RepKurenaiCB,				svroot = filterdb.rep,			svval = "nagrand" },
+			[57] = { cb = ARL_RepLowerCityCB,			svroot = filterdb.rep,			svval = "lowercity" },
+			[58] = { cb = ARL_RepScaleSandsCB,			svroot = filterdb.rep,			svval = "scaleofthesands" },
+			[59] = { cb = ARL_RepScryersCB,				svroot = filterdb.rep,			svval = "scryer" },
+			[60] = { cb = ARL_RepShatarCB,				svroot = filterdb.rep,			svval = "shatar" },
+			[61] = { cb = ARL_RepShatteredSunCB,		svroot = filterdb.rep,			svval = "shatteredsun" },
+			[62] = { cb = ARL_RepSporeggarCB,			svroot = filterdb.rep,			svval = "sporeggar" },
+			[63] = { cb = ARL_RepVioletEyeCB,			svroot = filterdb.rep,			svval = "violeteye" },
+		-- LK Rep Options (may need to be changed after beta.
+			[69] = { cb = ARL_RepArgentCrusadeCB,		svroot = filterdb.rep,			svval = "argentcrusade" },
+			[70] = { cb = ARL_RepFrenzyheartCB,			svroot = filterdb.rep,			svval = "frenzyheart" },
+			[71] = { cb = ARL_RepEbonBladeCB,			svroot = filterdb.rep,			svval = "ebonblade" },
+			[72] = { cb = ARL_RepKirinTorCB,			svroot = filterdb.rep,			svval = "kirintor" },
+			[73] = { cb = ARL_RepSonsOfHodirCB,			svroot = filterdb.rep,			svval = "sonsofhodir" },
+			[74] = { cb = ARL_RepKaluakCB,				svroot = filterdb.rep,			svval = "kaluak" },
+			[75] = { cb = ARL_RepOraclesCB,				svroot = filterdb.rep,			svval = "oracles" },
+			[76] = { cb = ARL_RepWyrmrestCB,			svroot = filterdb.rep,			svval = "wyrmrest" },
+			[77] = { cb = ARL_RepSilverCovenantCB,		svroot = filterdb.rep,			svval = "silvercovenant" },
+			[78] = { cb = ARL_RepSunreaversCB,			svroot = filterdb.rep,			svval = "sunreavers" },
+			[79] = { cb = ARL_RepExplorersLeagueCB,		svroot = filterdb.rep,			svval = "explorersleague" },
+			[80] = { cb = ARL_RepValianceCB,			svroot = filterdb.rep,			svval = "valiance" },
+			[81] = { cb = ARL_RepHandOfVengeanceCB,		svroot = filterdb.rep,			svval = "handofvengeance" },
+			[82] = { cb = ARL_RepTaunkaCB,				svroot = filterdb.rep,			svval = "taunka" },
+			[83] = { cb = ARL_RepWarsongOffensiveCB,	svroot = filterdb.rep,			svval = "warsongoffensive" },
+		}
+	end
+	-- reset the scale
+	addon.Frame:SetScale( addon.db.profile.uiscale )
+	arlTooltip:SetScale ( addon.db.profile.tooltipscale )
+	-- We'll be in "ExpandAll" mode to start with. Make sure the button knows that:
+	ARL_ExpandButton:SetText( L["EXPANDALL"] )
+	addon:TooltipDisplay( ARL_ExpandButton, L["EXPANDALL_DESC"] )
+
+	-- Reset our addon title text
+	addon.resetTitle()
+	-- Set the texture on our switcher button correctly
+	SetSwitcherTexture( SortedProfessions[currentProfIndex].texture )

-		-- Take our sorted list, and fill up DisplayStrings
-		addon.initDisplayStrings( )
+	-- Take our sorted list, and fill up DisplayStrings
+	initDisplayStrings( )

-		-- And update our scrollframe
-		addon.RecipeList_Update( )
-		addon.Frame:Show()
+	-- Update our progressbar
+	pbCur = cPlayer.foundRecipes
+	if ( addon.db.profile.includefiltered == true ) then
+		pbMax = cPlayer.totalRecipes
+	else
+		pbMax = cPlayer.totalRecipes - cPlayer.filteredRecipes
 	end
+	ARL_ProgressBar:SetMinMaxValues( pbMin, pbMax)
+	ARL_ProgressBar:SetValue( pbCur )
+	ARL_ProgressBarText:SetText( pbCur .. " / " .. pbMax .. " - " .. math.floor( pbCur / pbMax * 100) .. "%")
+
+	-- And update our scrollframe
+	RecipeList_Update( )
+	addon.Frame:Show()
 end

 -- Creates a frame where you can copy and paste contents from.  Adds the textdump text into that frame.
diff --git a/AckisRecipeList.lua b/AckisRecipeList.lua
index ef142d5..51f2c5f 100644
--- a/AckisRecipeList.lua
+++ b/AckisRecipeList.lua
@@ -1,5 +1,7 @@
 --[[
+
 ************************************************************************
+
 AckisRecipeList
 $Date$
 $Rev$
@@ -11,270 +13,48 @@ GUI done by Zhinjio

 Please see Wowace.com for more information.

-************************************************************************
-
 Documentation:
-	The mod is segmented into different files, based on what they do.
-
-Localization:
-	All the localization files are located in the "Locals" sub-
-	directory.  Feel free to edit locals in any language, make the enUS
-	more effecient, correct typos, etc.  All I would ask is if you do
-	edit something, check in-game first to make sure the change works.
-
-Graphical Interface:
-	All the graphical interface functions are located in ARLFrame.lua.
-	This file contains all the functions needed for the GUI.  If you
-	have enhancements, know how to fix an issue, etc please feel free to
-	contribute.  Just leave a detailed commit note.  If it's a new
-	feature please run it by me first before adding anything.
-
-Recipe Database:
-	The recipe database (for professions, and beast skills) as well as
-	the vendor data base are all located in the RecipeDB folder.  The
-	basic format for the function to add recipes is:
-
-	Spell ID, Skill Level, Obtain Information, Flags
-
-	Spell ID is the IDs of the spell that creates the item.  For example,
-	Robe of Winter Night is item ID 14136
-		(http://www.wowdb.com/item.aspx?id=14136)
-	It's created by spell ID 18436
-		(http://www.wowdb.com/spell.aspx?id=18436)
-
-	Skill level is the level of the profession in which you can learn
-	the specified pattern.
-
-	Obtain information is how the recipe is learned.  For world drops,
-	it's as simple as listing the type of world drop, same for trainers.
-	However, for monster drops, quest rewards, faction rewards, there is
-	a function which will add the information in an easy to read format.
-
-	Flags are different flags which allow me to filter out the recipes.
-	These flags are defined as:
-		-- ALLIANCE= Alliance faction only
-		-- HORDE = Horde faction only
-		-- 1 = Trainer
-		-- 2 = Vendor
-		-- 3 = Item BoE
-		-- 4 = Item BoP
-		-- 5 = Instance
-		-- 6 = Raid
-		-- 7 = Seasonal
-		-- 8 = Quest
-		-- 9 = PVP
-		-- 10 = cloth
-		-- 11 = leather
-		-- 12 = mail
-		-- 13 = plate
-		-- 14 = physical dps (melee/hunters)
-		-- 15 = tanking
-		-- 16 = healing
-		-- 17 = caster DPS
-		-- 18 = world drop
-		-- 19 = Recipe BoE
-		-- 20 = Recipe BoP
-		-- 21 = 1H
-		-- 22 = 2H
-		-- 23 = Cloak
-		-- 24 = Trinket
-		-- 25 = Ring
-		-- 26 = Necklace
-		-- 27 = Axe
-		-- 28 = Sword
-		-- 29 = Mace
-		-- 30 = Polearm
-		-- 31 = Dagger
-		-- 32 = Staff
-		-- 33 = Wand
-		-- 34 = Thrown
-		-- 35 = Bow
-		-- 36 = Crossbow
-		-- 37 = Ammo
-
-	There are additional flags based off of:
-		-- Reputation (All reps in the game that have recipes)
-		-- Player class (All classes in the game)
-		-- Player tradeskill speciality (All specific tradeskill specialities)
-
-Feel free to update any recipes with flags, new recipes, correcting
-the obtain information, etc.  Just please ensure you leave a detailed
-commit note.
+	Please see Documentation.txt for comprehensive documentation.

 ************************************************************************
-SavedVariable Structure
-
-addon.db.profile---->
-	testgui = [true|false],								-- display Zhinjio's suckass gui
-	includefiltered = [true|false],						-- include filtered recipes in totals
-	closeguionskillclose = [true|false],				-- close the GUI when the skill frame closes
-	sorting = ["Name"|"Skill"|"Acquisition"],			-- sort method in the gui
-	filteredrecipes = {
-		"RecipeNameToNotDisplay",						-- a structure that holds recipes the user does
-		"AnotherRecipeNameToNotDisplay",				-- not want to display
-		...
-	},
-	filters = {
-		general = {
-			class = [true|false],						-- display all class specific recipes
-			specialty = [true|false],					-- display all crafting specialty recipes
-			skill = [true|false],						-- display all skill levels
-			faction = [true|false],						-- display cross faction recipes
-			known = [true|false],						-- display known recipes
-			unknown = [true|false],						-- display unknown recipes
-		},
-		obtain = {
-			instance = [true|false],					-- show recipes obtained from instances
-			raid = [true|false],						-- show recipes obtained from raids
-			quest = [true|false],						-- show recipes obtained from quests
-			seasonal = [true|false],					-- show recipes obtained during seasonal events
-			trainer = [true|false],						-- show recipes obtained from trainers
-			vendor = [true|false],						-- show recipes obtained from vendors
-			pvp = [true|false],							-- show recipes obtained from PVP
-			discovery = [true|false],					-- show recipes obtained by discovery
-			worlddrop = [true|false],					-- show recipes that are world drops
-			mobdrop = [true|false],						-- show recipes that are specific mob drops
-		},
-		binding = {
-			itembop = [true|false],						-- show recipes where the crafted item is BoP
-			itemboe = [true|false],						-- show recipes where the crafted item is BoE
-			recipebop = [true|false],					-- show recipes where the recipe itself is BoP
-			recipeboe = [true|false],					-- show recipes where the recipe itself is BoE
-		},
-		item = {
-			armor = {
-				cloth = [true|false],					-- show recipes that create cloth armor items
-				leather = [true|false],					-- show recipes that create leather armor items
-				mail = [true|false],					-- show recipes that create mail armor items
-				plate = [true|false],					-- show recipes that create plate armor items
-				cloak = [true|false],					-- show recipes that create cloak items
-				trinket = [true|false],					-- show recipes that create trinket items
-				ring = [true|false],					-- show recipes that create ring items
-				necklace = [true|false],				-- show recipes that create necklace items
-			},
-			weapon = {
-				onehand = [true|false],					-- show recipes that create one-handed weapon items
-				twohand = [true|false],					-- show recipes that create two-handed weapon items
-				axe = [true|false],						-- show recipes that create axe weapon items
-				sword = [true|false],					-- show recipes that create sword weapon items
-				mace = [true|false],					-- show recipes that create mace weapon items
-				polearm = [true|false],					-- show recipes that create polearm weapon items
-				dagger = [true|false],					-- show recipes that create dagger weapon items
-				staff = [true|false],					-- show recipes that create staff weapon items
-				wand = [true|false],					-- show recipes that create wand items
-				thrown = [true|false],					-- show recipes that create thrown weapon items
-				bow = [true|false],						-- show recipes that create bow weapon items
-				crossbow = [true|false],				-- show recipes that create crossbow weapon items
-				ammo = [true|false],					-- show recipes that create ammunition
-			},
-		},
-		player = {
-			caster = [true|false],						-- show recipes that caster dps players can use
-			melee = [true|false],						-- show recipes that melee dps players can use
-			tank = [true|false],						-- show recipes that tank players can use
-			healer = [true|false],						-- show recipes that healer players can use
-		},
-		rep = {
-			aldor = [true|false],						-- show recipes obtained from aldir rep
-			argentdawn = [true|false],					-- show recipes obtained from argent dawn rep
-			ashtonguedeathsworn = [true|false],			-- show recipes obtained from ashtongue deathsworn rep
-			cenarioncircle = [true|false],				-- show recipes obtained from cenarion circle rep
-			cenarionexpedition = [true|false],			-- show recipes obtained from cenarion expedition rep
-			hellfire = [true|false],					-- show recipes obtained from (honor hold / thrallmar) rep
-			consortium = [true|false],					-- show recipes obtained from consortium rep
-			keepersoftime = [true|false],				-- show recipes obtained from keepers of time rep
-			lowercity = [true|false],					-- show recipes obtained from lower city rep
-			nagrand = [true|false],						-- show recipes obtained from (kurenai / mag'har) rep
-			scaleofthesands = [true|false],				-- show recipes obtained from scale of the sands rep
-			scryer = [true|false],						-- show recipes obtained from scryer rep
-			shatar = [true|false],						-- show recipes obtained from sha'tar rep
-			shatteredsun = [true|false],				-- show recipes obtained from shattered sun offensive rep
-			sporeggar = [true|false],					-- show recipes obtained from sporeggar rep
-			thoriumbrotherhood = [true|false],			-- show recipes obtained from thorium brotherhood rep
-			timbermaw = [true|false],					-- show recipes obtained from timbermaw hold rep
-			violeteye = [true|false],					-- show recipes obtained from violet eye rep
-			zandalar = [true|false],					-- show recipes obtained from zandalar tribe rep
-		}
-	}

-************************************************************************
 --]]

-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")

 AckisRecipeList = LibStub("AceAddon-3.0"):NewAddon("Ackis Recipe List", "AceConsole-3.0", "AceEvent-3.0")

-local addon = AckisRecipeList
+local MODNAME	= "Ackis Recipe List"
+
+local addon		= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
+local L			= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+

+-- We should probably clean thes up and use arguments/return values
 -- Global variables which are used between multiple files
-addon.RecipeListing = nil
-addon.SortedRecipeIndex = nil
-addon.VendorList = nil
-addon.PetList = nil
 addon.SkillType = nil
-addon.FoundRecipes = nil
-addon.FilteredRecipes = nil
-addon.NumberOfRecipes = nil
-addon.ResetOkayBlizz = nil
-addon.ResetOkayARL = nil
-addon.wrath = false
--- To make tabbing between professions easier
-addon.KnownProfessions = {
-	["Alchemy"] = false,
-	["Blacksmithing"] = false,
-	["Cooking"] = false,
-	["Enchanting"] = false,
-	["Engineering"] = false,
-	["First Aid"] = false,
-	["Leatherworking"] = false,
-	["Poisons"]	= false,
-	["Smelting"] = false,
-	["Tailoring"] = false,
-	["Jewelcrafting"] = false,
-	["Beast Training"] = false,
-	["Inscription"] = false,
-}
-addon.SortedProfessions = {
-	{ name = "Alchemy",			texture = "alchemy" },		-- 1
-	{ name = "Beast Training",	texture = "beast" },		-- 2
-	{ name = "Blacksmithing",	texture = "blacksmith" },	-- 3
-	{ name = "Cooking",			texture = "cooking" },		-- 4
-	{ name = "Enchanting",		texture = "enchant" },		-- 5
-	{ name = "Engineering",		texture = "engineer" },		-- 6
-	{ name = "First Aid",		texture = "firstaid" },		-- 7
-	{ name = "Inscribing",		texture = "inscribe" },		-- 8
-	{ name = "Jewelcrafting",	texture = "jewel" },		-- 9
-	{ name = "Leatherworking",	texture = "leather" },		-- 10
-	{ name = "Poisons",			texture = "poison" },		-- 11
-	{ name = "Smelting",		texture = "smelting" },		-- 12
-	{ name = "Tailoring",		texture = "tailor" },		-- 13
-}
-addon.MaxProfessions = 13
-addon.CurrentProf = 0
-addon.CurrentProfession = ""
-addon.maxVisibleRecipes = 19
-addon.ExpTextureSize = 34
-addon.HonorHold_Thrallmar_FactionText = ""
-addon.Kurenai_Maghar_FactionText = ""
-addon.FilterValueMap = {}
-addon.MaxFilterIndex = 68
+
+addon.playerProfession = ""
+addon.MaxFilterIndex = 129
+
+addon.optionsFrame = {}

 -- Frame variables
 addon.ScanButton = nil
 addon.Frame = nil

+-- tooltip needs to be global so I can access individual lines in it and
+-- modify then
+_G["arlTooltip"]= nil
+
 -- Make global API calls local to speed things up
-local GetNumCrafts = GetNumCrafts
 local GetNumTradeSkills = GetNumTradeSkills
 local GetSpellInfo = GetSpellInfo
 local GetSpellName = GetSpellName
-local GetCraftInfo = GetCraftInfo
-local GetCraftName = GetCraftName
 local GetTradeSkillLine = GetTradeSkillLine
 local GetTradeSkillInfo = GetTradeSkillInfo
-local CraftIsPetTraining = CraftIsPetTraining
-local GetDifficultyColor= GetDifficultyColor
+
 local select = select
 local format = format
 local string = string
@@ -283,875 +63,33 @@ local tonumber = tonumber
 local pairs = pairs
 local table = table
 local next = next
-local UnitLevel = UnitLevel
-local UnitClass = UnitClass
+local tremove = table.remove
+local tsort = table.sort
+local tinsert = table.insert
+local sfind = string.find
 local InterfaceOptionsFrame_OpenToFrame = InterfaceOptionsFrame_OpenToFrame
 local BOOKTYPE_SPELL = BOOKTYPE_SPELL

--- We use playerFaction quite often, lets just get it once and reuse it
-local playerFaction = UnitFactionGroup("player")
-
--- Constants which are used everytime the add-on is loaded
-
--- New Shiny addonversion without Revision
-local addonversion = GetAddOnMetadata("AckisRecipeList", "Version")
-local nagrandfac = BFAC["Kurenai"] .. "\\" .. BFAC["The Mag'har"]
-local hellfirefac = BFAC["Honor Hold"] .. "\\" .. BFAC["Thrallmar"]
-local factionlevels = {}
-
--- Global constants which are used between multiple files
-addon.ARLTitle = "ARL (v." .. addonversion .. ")"
-addon.FullTitle = "Ackis Recipe List (v." .. addonversion .. ")"
-
--- We use line breaks quite often lets make it a constant send you can't use \t in WoW
-addon.br = "\n    - "
-
---[[
-
-	Configuration Options
-
-]]--
-
--- Returns configuration options for ARL
-local function giveOptions()
-
-	local command_options = {
-	    type = "group",
-	    args =
-		{
-			header1 =
-			{
-				order = 5,
-				type = "header",
-				name = "",
-			},
-			version =
-			{
-				order = 5,
-				type = "description",
-				name = L["Version"] .. addonversion .. "\n",
-			},
-			run =
-			{
-				type = "execute",
-				name = L["Scan Recipes"],
-				desc = L["Scans an open tradeskill for missing recipes."],
-				func = function(info) addon:AckisRecipeList_Command() end,
-				order = 50,
-			},
-			textdump =
-			{
-				type = "execute",
-				name = L["Text Dump"],
-				desc = L["Displays all recipes in a comma seperated value format which can be copied and pasted into another client."],
-				func = function(info) addon:TextDump() end,
-				order = 55,
-			},
-		}
-	}
-
-	return command_options
-
-end
-
--- Returns configuration options for profiling
-local function giveProfiles()
-
-	local profiles = LibStub("AceDBOptions-3.0"):GetOptionsTable(addon.db)
-	return profiles
-
-end
-
--- Returns configuration options for display
-local function giveDisplay()
-
-	local display =
-	{
-		type = "group",
-		name = L["Display"],
-		desc = L["DISPLAY_OPTIONS"],
-		order = 1,
-		args =
-		{
-			desc =
-			{
-				order = 1,
-				type = "description",
-				name = L["DISPLAY_OPTIONS"] .. "\n",
-			},
-			longdesc =
-			{
-				order = 2,
-				type = "description",
-				name = L["DISPLAY_OPTIONS_LONG"] .. "\n",
-			},
-			testgui =
-			{
-				name	= "Test GUI",
-				desc	= "New test GUI don't use this please.",
-				type	= "toggle",
-				get		= function() return addon.db.profile.testgui end,
-				set		= function() addon.db.profile.testgui = not addon.db.profile.testgui end,
-				order	= 6,
-			},
-			includefiltered =
-			{
-				name	= L["Include Filtered"],
-				desc	= L["FILTERCOUNT_TOGGLE"],
-				type	= "toggle",
-				get		= function() return addon.db.profile.includefiltered end,
-				set		= function() addon.db.profile.includefiltered = not addon.db.profile.includefiltered end,
-				order	= 4,
-			},
-			closegui =
-			{
-				name	= L["Close GUI"],
-				desc	= L["CLOSEGUI_TOGGLE"],
-				type	= "toggle",
-				get		= function() return addon.db.profile.closeguionskillclose end,
-				set		= function() addon.db.profile.closeguionskillclose = not addon.db.profile.closeguionskillclose end,
-				order	= 5,
-			},
-		}
-	}
-
-	return display
-
-end
-
--- Returns configuraion options for filter
-local function giveFilter()
-
-	local filter =
-	{
-		type = "group",
-		name = L["Filter"],
-		desc = L["FILTER_OPTIONS"],
-		order = 2,
-		args =
-		{
-			desc =
-			{
-				order = 1,
-				type = "description",
-				name = L["FILTER_OPTIONS"] .. "\n",
-			},
-			longdesc =
-			{
-				order = 2,
-				type = "description",
-				name = L["FILTER_OPTIONS_LONG"] .. "\n",
-			},
-			factions =
-			{
-				name	= L["Faction"],
-				desc	= L["FACTION_TOGGLE"],
-				type	= "toggle",
-				get		= function() return addon.db.profile.filters.general.faction end,
-				set		= function() addon.db.profile.filters.general.faction = not addon.db.profile.filters.general.faction end,
-				order	= 5,
-			},
-			classes =
-			{
-				name      = L["Classes"],
-				desc      = L["CLASS_TOGGLE"],
-				type      = "toggle",
-				get       = function() return addon.db.profile.filters.general.class end,
-				set       = function() addon.db.profile.filters.general.class = not addon.db.profile.filters.general.class end,
-				order     = 10,
-			},
-			specialities =
-			{
-				name      = L["Specialities"],
-				desc      = L["SPECIALITY_TOGGLE"],
-				type      = "toggle",
-				get       = function() return addon.db.profile.filters.general.specialty end,
-				set       = function() addon.db.profile.filters.general.specialty = not addon.db.profile.filters.general.specialty end,
-				order     = 15,
-			},
-			skill =
-			{
-				name      = L["Skill"],
-				desc      = L["SKILL_TOGGLE"],
-				type      = "toggle",
-				get       = function() return addon.db.profile.filters.general.skill end,
-				set       = function() addon.db.profile.filters.general.skill = not addon.db.profile.filters.general.skill end,
-				order     = 20,
-			},
-			armour =
-			{
-				type = "group",
-				name = L["Armour"],
-				desc = L["ARMOUR_OPTIONS"],
-				order = 29,
-				args =
-				{
-					desc =
-					{
-						order = 1,
-						type = "description",
-						name = L["ARMOUR_OPTIONS"] .. "\n",
-					},
-					longdesc =
-					{
-						order = 2,
-						type = "description",
-						name = L["ARMOUR_OPTIONS_LONG"] .. "\n",
-					},
-					cloth =
-					{
-						name      = L["Cloth"],
-						desc      = L["CLOTH_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.item.armor.cloth end,
-						set       = function() addon.db.profile.filters.item.armor.cloth = not addon.db.profile.filters.item.armor.cloth end,
-						order     = 90,
-					},
-					leather =
-					{
-						name      = L["Leather"],
-						desc      = L["LEATHER_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.item.armor.leather end,
-						set       = function() addon.db.profile.filters.item.armor.leather = not addon.db.profile.filters.item.armor.leather end,
-						order     = 91,
-					},
-					mail =
-					{
-						name      = L["Mail"],
-						desc      = L["MAIL_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.item.armor.mail end,
-						set       = function() addon.db.profile.filters.item.armor.mail = not addon.db.profile.filters.item.armor.mail end,
-						order     = 92,
-					},
-					plate =
-					{
-						name      = L["Plate"],
-						desc      = L["PLATE_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.item.armor.plate end,
-						set       = function() addon.db.profile.filters.item.armor.plate = not addon.db.profile.filters.item.armor.plate end,
-						order     = 93,
-					},
-					cloak =
-					{
-						name      = L["Cloak"],
-						desc      = L["CLOAK_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.item.armor.cloak end,
-						set       = function() addon.db.profile.filters.item.armor.cloak = not addon.db.profile.filters.item.armor.cloak end,
-						order     = 94,
-					},
-					ring =
-					{
-						name      = L["Ring"],
-						desc      = L["RING_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.item.armor.ring end,
-						set       = function() addon.db.profile.filters.item.armor.ring = not addon.db.profile.filters.item.armor.ring end,
-						order     = 95,
-					},
-					trinket =
-					{
-						name      = L["Trinket"],
-						desc      = L["TRINKET_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.item.armor.trinket end,
-						set       = function() addon.db.profile.filters.item.armor.trinket = not addon.db.profile.filters.item.armor.trinket end,
-						order     = 96,
-					},
-					necklace =
-					{
-						name      = L["Necklace"],
-						desc      = L["NECKLACE_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.item.armor.necklace end,
-						set       = function() addon.db.profile.filters.item.armor.necklace = not addon.db.profile.filters.item.armor.necklace end,
-						order     = 97,
-					},
-				}
-			},
-			binding =
-			{
-				type = "group",
-				name = L["Binding"],
-				desc = L["BINDING_OPTIONS"],
-				order = 30,
-				args =
-				{
-					desc =
-					{
-						order = 1,
-						type = "description",
-						name = L["BINDING_OPTIONS"] .. "\n",
-					},
-					longdesc =
-					{
-						order = 2,
-						type = "description",
-						name = L["BINDING_OPTIONS_LONG"] .. "\n",
-					},
-					BOE =
-					{
-						name	= L["BOEFilter"],
-						desc	= L["BOE_TOGGLE"],
-						type	= "toggle",
-						get		= function() return addon.db.profile.filters.binding.itemboe end,
-						set		= function() addon.db.profile.filters.binding.itemboe = not addon.db.profile.filters.binding.itemboe end,
-						order	= 5,
-					},
-					BOP =
-					{
-						name	= L["BOPFilter"],
-						desc	= L["BOP_TOGGLE"],
-						type	= "toggle",
-						get		= function() return addon.db.profile.filters.binding.itembop end,
-						set		= function() addon.db.profile.filters.binding.itembop = not addon.db.profile.filters.binding.itembop end,
-						order	= 6,
-					},
-					RecipeBOE =
-					{
-						name	= L["RecipeBOEFilter"],
-						desc	= L["RECIPE_BOE_TOGGLE"],
-						type	= "toggle",
-						get		= function() return addon.db.profile.filters.binding.recipeboe end,
-						set		= function() addon.db.profile.filters.binding.recipeboe = not addon.db.profile.filters.binding.recipeboe end,
-						order	= 7,
-					},
-					RecipeBOP =
-					{
-						name	= L["RecipeBOPFilter"],
-						desc	= L["RECIPE_BOP_TOGGLE"],
-						type	= "toggle",
-						get		= function() return addon.db.profile.filters.binding.recipebop end,
-						set		= function() addon.db.profile.filters.binding.recipebop = not addon.db.profile.filters.binding.recipebop end,
-						order	= 8,
-					},
-				}
-			},
-			crafting =
-			{
-				type = "group",
-				name = L["Crafting"],
-				desc = L["CRAFTING_OPTIONS"],
-				order = 35,
-				args =
-				{
-					desc =
-					{
-						order = 1,
-						type = "description",
-						name = L["CRAFTING_OPTIONS"] .. "\n",
-					},
-					longdesc =
-					{
-						order = 2,
-						type = "description",
-						name = L["CRAFTING_OPTIONS_LONG"] .. "\n",
-					},
-					melee =
-					{
-						name      = L["Melee"],
-						desc      = L["MELEE_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.player.melee end,
-						set       = function() addon.db.profile.filters.player.melee = not addon.db.profile.filters.player.melee end,
-						order     = 5,
-					},
-					tanking =
-					{
-						name      = L["Tanking"],
-						desc      = L["TANKING_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.player.tank end,
-						set       = function() addon.db.profile.filters.player.tank = not addon.db.profile.filters.player.tank end,
-						order     = 10,
-					},
-					casterdps =
-					{
-						name      = L["Caster DPS"],
-						desc      = L["CASTERDPS_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.player.caster end,
-						set       = function() addon.db.profile.filters.player.caster = not addon.db.profile.filters.player.caster end,
-						order     = 15,
-					},
-					healing =
-					{
-						name      = L["Healing"],
-						desc      = L["HEALING_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.player.healer end,
-						set       = function() addon.db.profile.filters.player.healer = not addon.db.profile.filters.player.healer end,
-						order     = 20,
-					},
-				}
-			},
-			obtain =
-			{
-				type = "group",
-				name = L["Obtain"],
-				desc = L["OBTAIN_OPTIONS"],
-				order = 40,
-				args =
-				{
-					desc =
-					{
-						order = 1,
-						type = "description",
-						name = L["OBTAIN_OPTIONS"] .. "\n",
-					},
-					longdesc =
-					{
-						order = 2,
-						type = "description",
-						name = L["OBTAIN_OPTIONS_LONG"] .. "\n",
-					},
-					instance =
-					{
-						name	= L["Instance"],
-						desc	= L["INSTANCE_TOGGLE"],
-						type	= "toggle",
-						get		= function() return addon.db.profile.filters.obtain.instance end,
-						set		= function() addon.db.profile.filters.obtain.instance = not addon.db.profile.filters.obtain.instance end,
-						order	= 10,
-					},
-					raid =
-					{
-						name      = L["Raid"],
-						desc      = L["RAID_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.obtain.raid end,
-						set       = function() addon.db.profile.filters.obtain.raid = not addon.db.profile.filters.obtain.raid end,
-						order     = 11,
-					},
-					PVP =
-					{
-						name	= L["PVP"],
-						desc	= L["PVP_TOGGLE"],
-						type	= "toggle",
-						get		= function() return addon.db.profile.filters.obtain.pvp end,
-						set		= function() addon.db.profile.filters.obtain.pvp = not addon.db.profile.filters.obtain.pvp end,
-						order	= 20,
-					},
-					quest =
-					{
-						name	= L["Quest"],
-						desc	= L["QUEST_TOGGLE"],
-						type	= "toggle",
-						get		= function() return addon.db.profile.filters.obtain.quest end,
-						set		= function() addon.db.profile.filters.obtain.quest = not addon.db.profile.filters.obtain.quest end,
-						order	= 30,
-					},
-					trainer =
-					{
-						name      = L["Trainer"],
-						desc      = L["TRAINER_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.obtain.trainer end,
-						set       = function() addon.db.profile.filters.obtain.trainer = not addon.db.profile.filters.obtain.trainer end,
-						order     = 60,
-					},
-					vendor =
-					{
-						name      = L["Vendor"],
-						desc      = L["VENDOR_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.obtain.vendor end,
-						set       = function() addon.db.profile.filters.obtain.vendor = not addon.db.profile.filters.obtain.vendor end,
-						order     = 70,
-					},
-					seasonal =
-					{
-						name      = L["Seasonal"],
-						desc      = L["SEASONAL_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.obtain.seasonal end,
-						set       = function() addon.db.profile.filters.obtain.seasonal = not addon.db.profile.filters.obtain.seasonal end,
-						order     = 80,
-					},
-					discovery =
-					{
-						name      = L["Discovery"],
-						desc      = L["DISCOVERY_TT"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.obtain.discovery end,
-						set       = function() addon.db.profile.filters.obtain.discovery = not addon.db.profile.filters.obtain.discovery end,
-						order     = 81,
-					},
-					worlddrop =
-					{
-						name      = L["World Drop"],
-						desc      = L["WORLD_DROP_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.obtain.worlddrop end,
-						set       = function() addon.db.profile.filters.obtain.worlddrop = not addon.db.profile.filters.obtain.worlddrop end,
-						order     = 82,
-					},
-					mobdrop =
-					{
-						name      = L["Mob Drop"],
-						desc      = L["MOB_DROP_TOGGLE"],
-						type      = "toggle",
-						get       = function() return addon.db.profile.filters.obtain.mobdrop end,
-						set       = function() addon.db.profile.filters.obtain.mobdrop = not addon.db.profile.filters.obtain.mobdrop end,
-						order     = 83,
-					},
-				}
-			},
-			reputations =
-			{
-				type = "group",
-				name = L["Reputation"],
-				desc = L["REP_OPTIONS"],
-				order = 45,
-				args =
-				{
-					desc =
-					{
-						order = 1,
-						type = "description",
-						name = L["REP_OPTIONS"] .. "\n",
-					},
-					longdesc =
-					{
-						order = 2,
-						type = "description",
-						name = L["REP_OPTIONS_LONG"] .. "\n",
-					},
-					oldworld =
-					{
-						type = "group",
-						name = L["Old World"],
-						desc = L["OLDWORLD_OPTIONS"],
-						order = 5,
-						args =
-						{
-							desc =
-							{
-								order = 1,
-								type = "description",
-								name = L["OLDWORLD_OPTIONS"] .. "\n",
-							},
-							longdesc =
-							{
-								order = 2,
-								type = "description",
-								name = L["OLDWORLD_OPTIONS_LONG"] .. "\n",
-							},
-							ArgentDawn =
-							{
-								name	= BFAC["Argent Dawn"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["Argent Dawn"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.argentdawn end,
-								set		= function() addon.db.profile.filters.rep.argentdawn = not addon.db.profile.filters.rep.argentdawn end,
-								order	= 3,
-							},
-							CenarionCircle =
-							{
-								name	= BFAC["Cenarion Circle"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["Cenarion Circle"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.cenarioncircle end,
-								set		= function() addon.db.profile.filters.rep.cenarioncircle = not addon.db.profile.filters.rep.cenarioncircle end,
-								order	= 15,
-							},
-							TB =
-							{
-								name	= BFAC["Thorium Brotherhood"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["Thorium Brotherhood"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.thoriumbrotherhood end,
-								set		= function() addon.db.profile.filters.rep.thoriumbrotherhood = not addon.db.profile.filters.rep.thoriumbrotherhood end,
-								order	= 75,
-							},
-							Timbermaw =
-							{
-								name	= BFAC["Timbermaw Hold"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["Timbermaw Hold"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.timbermaw end,
-								set		= function() addon.db.profile.filters.rep.timbermaw = not addon.db.profile.filters.rep.timbermaw end,
-								order	= 80,
-							},
-							Zandalar =
-							{
-								name	= BFAC["Zandalar Tribe"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["Zandalar Tribe"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.zandalar end,
-								set		= function() addon.db.profile.filters.rep.zandalar = not addon.db.profile.filters.rep.zandalar end,
-								order	= 90,
-							},
-						},
-					},
-					BC =
-					{
-						type = "group",
-						name = L["Burning Crusade"],
-						desc = L["BC_OPTIONS"],
-						order = 10,
-						args =
-						{
-							desc =
-							{
-								order = 1,
-								type = "description",
-								name = L["BC_OPTIONS"] .. "\n",
-							},
-							longdesc =
-							{
-								order = 2,
-								type = "description",
-								name = L["BC_OPTIONS_LONG"] .. "\n",
-							},
-							Aldor =
-							{
-								name	= BFAC["The Aldor"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["The Aldor"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.aldor end,
-								set		= function() addon.db.profile.filters.rep.aldor = not addon.db.profile.filters.rep.aldor end,
-								order	= 3,
-							},
-							Ashtongue =
-							{
-								name	= BFAC["Ashtongue Deathsworn"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["Ashtongue Deathsworn"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.ashtonguedeathsworn end,
-								set		= function() addon.db.profile.filters.rep.ashtonguedeathsworn = not addon.db.profile.filters.rep.ashtonguedeathsworn end,
-								order	= 10,
-							},
-							CenarionExpedition =
-							{
-								name	= BFAC["Cenarion Expedition"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["Cenarion Expedition"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.cenarionexpedition end,
-								set		= function() addon.db.profile.filters.rep.cenarionexpedition = not addon.db.profile.filters.rep.cenarionexpedition end,
-								order	= 20,
-							},
-							Consortium =
-							{
-								name	= BFAC["The Consortium"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["The Consortium"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.consortium end,
-								set		= function() addon.db.profile.filters.rep.consortium = not addon.db.profile.filters.rep.consortium end,
-								order	= 25,
-							},
-							HellfireFactions =
-							{
-								name	= hellfirefac,
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],hellfirefac),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.hellfire end,
-								set		= function() addon.db.profile.filters.rep.hellfire = not addon.db.profile.filters.rep.hellfire end,
-								order	= 30,
-							},
-							KoT =
-							{
-								name	= BFAC["Keepers of Time"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["Keepers of Time"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.keepersoftime end,
-								set		= function() addon.db.profile.filters.rep.keepersoftime = not addon.db.profile.filters.rep.keepersoftime end,
-								order	= 35,
-							},
-							NagrandFactions =
-							{
-								name	= nagrandfac,
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],nagrandfac),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.nagrand end,
-								set		= function() addon.db.profile.filters.rep.nagrand = not addon.db.profile.filters.rep.nagrand end,
-								order	= 40,
-							},
-							LowerCity =
-							{
-								name	= BFAC["Lower City"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["Lower City"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.lowercity end,
-								set		= function() addon.db.profile.filters.rep.lowercity = not addon.db.profile.filters.rep.lowercity end,
-								order	= 45,
-							},
-							Scale =
-							{
-								name	= BFAC["The Scale of the Sands"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["The Scale of the Sands"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.scaleofthesands end,
-								set		= function() addon.db.profile.filters.rep.scaleofthesands = not addon.db.profile.filters.rep.scaleofthesands end,
-								order	= 50,
-							},
-							Scryer =
-							{
-								name	= BFAC["The Scryers"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["The Scryers"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.scryer end,
-								set		= function() addon.db.profile.filters.rep.scryer = not addon.db.profile.filters.rep.scryer end,
-								order	= 55,
-							},
-							Shatar =
-							{
-								name	= BFAC["The Sha'tar"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["The Sha'tar"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.shatar end,
-								set		= function() addon.db.profile.filters.rep.shatar = not addon.db.profile.filters.rep.shatar end,
-								order	= 60,
-							},
-							SSO =
-							{
-								name	= BFAC["Shattered Sun Offensive"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["Shattered Sun Offensive"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.shatteredsun end,
-								set		= function() addon.db.profile.filters.rep.shatteredsun = not addon.db.profile.filters.rep.shatteredsun end,
-								order	= 65,
-							},
-							Sporeggar =
-							{
-								name	= BFAC["Sporeggar"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["Sporeggar"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.sporeggar end,
-								set		= function() addon.db.profile.filters.rep.sporeggar = not addon.db.profile.filters.rep.sporeggar end,
-								order	= 70,
-							},
-							Violeteye =
-							{
-								name	= BFAC["The Violet Eye"],
-								desc	= format(L["SPECIFIC_REP_TOGGLE"],BFAC["The Violet Eye"]),
-								type	= "toggle",
-								get		= function() return addon.db.profile.filters.rep.violeteye end,
-								set		= function() addon.db.profile.filters.rep.violeteye = not addon.db.profile.filters.rep.violeteye end,
-								order	= 85,
-							},
-						}
-					},
-					WotLK =
-					{
-						type = "group",
-						name = L["Wrath of the Lich King"],
-						desc = L["WOTLK_OPTIONS"],
-						order = 15,
-						args =
-						{
-							desc =
-							{
-								order = 1,
-								type = "description",
-								name = L["WOTLK_OPTIONS"] .. "\n",
-							},
-							longdesc =
-							{
-								order = 2,
-								type = "description",
-								name = L["WOTLK_OPTIONS_LONG"] .. "\n",
-							},
-						}
-					},
-				}
-			},
-		}
-	}
-
-	return filter
-
-end
-
--- Returns configuraion options for sorintg
-local function giveSorting()
-
-	addon:Print("Debug: Sorting parameters called")
-
-	local sortlist = {L["Name"], L["Skill"], L["Acquisition"]}
-
-	local sorting =
-	{
-		type = "group",
-		name = L["Sort"],
-		desc = L["SORT_OPTIONS"],
-		order = 2,
-		args =
-		{
-			desc =
-			{
-				order = 1,
-				type = "description",
-				name = L["SORT_OPTIONS"] .. "\n",
-			},
-			longdesc =
-			{
-				order = 2,
-				type = "description",
-				name = L["SORT_OPTIONS_LONG"] .. "\n",
-			},
-			sorting = {
-				name	= L["Sort"],
-				desc	= L["SORT_OPTIONS"],
-				type	= "select",
-				values	= function() return sortlist end,
-				get		= function() return addon.db.profile.sortmethod end,
-				set		= function(info,name) addon.db.profile.sortmethod = name end,
-				order	= 3,
-				},
-		},
-	}
-
-	return sorting
-
-end
-
---[[
-
-	Saved variables functions
-
-]]--
-
-
---[[
-
-	Reset functions
-
-]]--
-
--- Reset all variables
+local guildname = GetGuildInfo("player")

-function addon:ResetVariables()
+if (guildname == "Team Ice") then

-	addon.RecipeListing = nil
-
-	addon.SkillType = nil
-	addon.FoundRecipes = nil
-	addon.NumberOfRecipes = nil
-	addon.FilteredRecipes = nil
+	addon:Print("Not allowed to use this addon.")
+	return

 end

--- Initializes the initial recipe array, reseting it completely.
-
-function addon:InitializeRecipeArray()
-
-	-- Reset namespace to be empty
-	addon.RecipeListing = {}
-
-	-- Sets the total number of recipes to 0.
-	addon.NumberOfRecipes = 0
+-- Constants which are used everytime the add-on is loaded

-	-- Sets the number of found recipes to 0.
-	addon.FoundRecipes = 0
+-- New Shiny addonversion without Revision
+addon.addonversion = GetAddOnMetadata("AckisRecipeList", "Version")

-	-- Sets number of filtered recipes to 0
-	addon.FilteredRecipes = 0
+-- Global constants which are used between multiple files
+addon.ARLTitle = "ARL (v." .. addon.addonversion .. ")"
+addon.FullTitle = "Ackis Recipe List (v." .. addon.addonversion .. ")"

-end
+-- We use line breaks quite often lets make it a constant send you can't use \t in WoW
+addon.br = "\n    - " -- Nuke this

 --[[

@@ -1159,48 +97,38 @@ end

 ]]--

--- Register slash commands and profile defaults
+-- Description: Function run when the addon is initialized.  Registers the slash commands, options, and database
+-- Expected result: The addon parameters are initialized, slash commands are enabled, database is enabled, and
+--	interface options are registered
+-- Input: None
+-- Output: None

 function addon:OnInitialize()

-	local AceConfig = LibStub("AceConfig-3.0")
-	local AceConfigReg = LibStub("AceConfigRegistry-3.0")
-	local AceConfigDialog = LibStub("AceConfigDialog-3.0")
-
-	-- Defaults to char
-	--self.db = LibStub("AceDB-3.0"):New("ARL-1-DB", defaults, "char")
-	self.db = LibStub("AceDB-3.0"):New("ARLDB")
-
-	-- Create the options with Ace3
-	AceConfig:RegisterOptionsTable("Ackis Recipe List",giveOptions)
-	AceConfigReg:RegisterOptionsTable("Ackis Recipe List Display",giveDisplay)
-	AceConfigReg:RegisterOptionsTable("Ackis Recipe List Sorting",giveSorting)
-	AceConfigReg:RegisterOptionsTable("Ackis Recipe List Filter",giveFilter)
-	AceConfigReg:RegisterOptionsTable("Ackis Recipe List Profile",giveProfiles)
-
-	-- Add the options to blizzard frame (add them backwards so they show up in the proper order
-	self.optionsFrame = AceConfigDialog:AddToBlizOptions("Ackis Recipe List","Ackis Recipe List")
-	self.optionsFrame[L["About"]] = LibStub("LibAboutPanel").new("Ackis Recipe List", "Ackis Recipe List")
-	self.optionsFrame[L["Display"]] = AceConfigDialog:AddToBlizOptions("Ackis Recipe List Display", L["Display"], "Ackis Recipe List")
-	self.optionsFrame[L["Filter"]] = AceConfigDialog:AddToBlizOptions("Ackis Recipe List Filter", L["Filter"], "Ackis Recipe List")
-	self.optionsFrame[L["Sort"]] = AceConfigDialog:AddToBlizOptions("Ackis Recipe List Sorting", L["Sort"], "Ackis Recipe List")
-	self.optionsFrame[L["Profile"]] = AceConfigDialog:AddToBlizOptions("Ackis Recipe List Profile", L["Profile"], "Ackis Recipe List")
+	self.db = LibStub("AceDB-3.0"):New("ARLDB2")
+
+	self:SetupOptions()

 	-- Register slash commands
 	self:RegisterChatCommand("arl", "ChatCommand")
+	self:RegisterChatCommand("ackisrecipelist", "ChatCommand")

 	-- Set default options, which are to include everything in the scan
 	self.db:RegisterDefaults(
 	{
 		profile = {
 			-- Sorting Options
-			sortmethod = 2,
+			sorting = L["Skill"],

 			-- Display Options
-			usegui = true,
 			includefiltered = false,
 			closeguionskillclose = false,
-			testgui = false,
+			ignoreexclusionlist = false,
+			uiscale = 1,
+			tooltipscale = .9,
+
+			-- Recipe Exclusion
+			exclusionlist = {},

 			-- Filter Options
 			filters = {
@@ -1234,6 +162,7 @@ function addon:OnInitialize()
 						cloak = true,
 						ring = true,
 						necklace = true,
+						shield = true,
 					},
 					weapon = {
 						onehand = true,
@@ -1243,6 +172,7 @@ function addon:OnInitialize()
 						mace = true,
 						polearm = true,
 						dagger = true,
+						fist = true,
 						staff = true,
 						wand = true,
 						thrown = true,
@@ -1283,30 +213,47 @@ function addon:OnInitialize()
 					timbermaw = true,
 					violeteye = true,
 					zandalar = true,
+-- Below this is WotLK stuff. May need to be changed post beta.
+					argentcrusade = true,
+					frenzyheart = true,
+					ebonblade = true,
+					kirintor = true,
+					sonsofhodir = true,
+					kaluak = true,
+					oracles = true,
+					wyrmrest = true,
+					silvercovenant = true,
+					sunreavers = true,
+					explorersleague = true,
+					valiance = true,
+					handofvengeance = true,
+					taunka = true,
+					warsongoffensive = true,
 				}
 			}
 		}
 	} )

-	-- Populate the repuatation level
-	self:GetFactionLevels()
-
 end

--- Register events and create the scan button on enable
+-- Description: Function run when the addon is enabled.  Registers events and pre-loads certain variables.
+-- Expected result: Events are registered, scan button and faction levels are identified
+-- Input: None
+-- Output: None

 function addon:OnEnable()

-	-- Make addon respond to the tradeskill and crafting windows being shown
+	-- Make addon respond to the tradeskill windows being shown
 	self:RegisterEvent("TRADE_SKILL_SHOW")
-	self:RegisterEvent("CRAFT_SHOW")

-	-- Addon responds to tradeskill and crafting windows being closed.
-	self:RegisterEvent("CRAFT_CLOSE")
+	-- Addon responds to tradeskill windows being closed.
 	self:RegisterEvent("TRADE_SKILL_CLOSE")

+	-- Addon responds when a players faction level changes
+	self:RegisterEvent("UPDATE_FACTION")
+
 	-- Add an option so that ARL will work with Manufac
-	if Manufac then
+	if (Manufac) then
 		Manufac.options.args.ARLScan = {
 			type = 'execute',
 			name = L["Scan Skills"],
@@ -1316,26 +263,23 @@ function addon:OnEnable()
 		}
 	end

-	local _, _, _, ver = GetBuildInfo()
-	if ver >= 30000 then
-		self:Print("Enabling WotLK compatibility")
-		addon.wrath = true
-	end
+	-- Populate the repuatation level
+	self:GetFactionLevels()

 	--Create the button now for later use
 	self:CreateScanButton()

 end

--- Hides the frame if the mod gets disabled
+-- Description: Run when the addon is disabled. Ace3 takes care of unregistering events, etc.
+-- Expected result: Events are unregistered, frame is hidden if it exists and plug-ins into other mods are removed
+-- Input: None
+-- Output: None

 function addon:OnDisable()

-	self:ResetVariables()
-	addon.VendorList = nil
-	addon.PetList = nil
-
-	if addon.Frame then
+	-- If we disable the addon when the GUI is up, hide it.
+	if (addon.Frame) then
 		addon.Frame:Hide()
 	end

@@ -1346,39 +290,36 @@ function addon:OnDisable()

 end

--- Watch for the trade skill window to be shown, add all specific trade skills to an array, then scan the trade skill window for all recipes.
-
-function addon:TRADE_SKILL_SHOW()
+-- Description: Shows the scan button when the trade skill window is open.
+-- Expected result: Scan button is shown.
+-- Input: None
+-- Output: None

-	-- If we don't have a skill window open already
-	if (Skillet and Skillet:IsActive()) or (ATSWFrame) or (addon.SkillType == nil or addon.SkillType == "Trade") then
+--[[

-		addon.SkillType = "Trade"
-		addon.ResetOkayBlizz = false
+	Event handling functions

-		if (addon.ScanButton and not Skillet) then
-			self:ShowScanButton()
-		end
+]]--

-	else
+function addon:TRADE_SKILL_SHOW()

-		self:Print(L["TwoCraftingWindows"])
+	addon.SkillType = "Trade"

+	if (addon.ScanButton and not Skillet) then
+		self:ShowScanButton()
 	end

 end

--- Clean up tables from memory when trade skill window is closed
+-- Description: Hides the scan button when the trade skill window is closed.
+-- Expected result: Scan button is hidden and the GUI is closed if the person has that option selected.
+-- Input: None
+-- Output: None

 function addon:TRADE_SKILL_CLOSE()

-	addon.ResetOkayBlizz = true
 	addon.SkillType = nil

-	if (addon.ResetOkayBlizz and addon.ResetOkayARL) then
-		self:ResetVariables()
-	end
-
 	if (addon.db.profile.closeguionskillclose and addon.Frame) then
 		self:CloseWindow()
 	end
@@ -1389,1381 +330,1331 @@ function addon:TRADE_SKILL_CLOSE()

 end

--- Watch for the craft skill window to be shown, add all specific trade skills to an array, then scan the craft skill window for all recipes.
+-- Description: Will update the internal list of faction tables when a players faction changes
+-- Expected result: Faction table is updated with new reputation levels
+-- Input: None
+-- Output: None

-function addon:CRAFT_SHOW()
+function addon:UPDATE_FACTION()

-	-- If we don't have a skill window open already
-	if (Skillet and Skillet:IsActive()) or (ATSWFrame) or (addon.SkillType == nil or addon.SkillType == "Craft") then
+	-- Reputation has changed so lets update the table
+	self:SetRepDB()

-		addon.SkillType = "Craft"
-		addon.ResetOkayBlizz = false
+end

-		if (addon.ScanButton and (not Skillet or CraftIsPetTraining())) then
-			self:ShowScanButton()
-		end
+--[[

-	else
+	Player Data Acquisition Functions
+
+]]--

-		self:Print(L["TwoCraftingWindows"])
+-- Description: Scans all reputations to get reputation levels to determine if the player can learn a reputation recipe
+-- Expected result: Updates a table with players current faction level
+-- Input: Faction table
+-- Output: None, array is referenced

+function addon:GetFactionLevels(RepTable)
+-- Bug here when I reload UI
+	if (not RepTable) then
+		return
 	end

-end
+	for i=1,GetNumFactions(),1 do
+		local name,_,replevel = GetFactionInfo(i)

--- Clean up tables from memory when craft window is closed
+		-- If the rep is greater than neutral
+		if (replevel > 4) then
+		-- We use levels of 0, 1, 2, 3, 4 internally for reputation levels, make it corrospond here
+			RepTable[name] = replevel - 4
+		end
+	end
+end

-function addon:CRAFT_CLOSE()
+-- Description: Scans first 25 spellbook slots to identify all applicable professions
+-- Expected result: Updates a table with players current professions
+-- Input: Profession table
+-- Output: None, array is referenced

-	addon.ResetOkayBlizz = true
-	addon.SkillType = nil
+function addon:GetKnownProfessions(ProfTable)

-	if (addon.ResetOkayBlizz and addon.ResetOkayARL) then
-		self:ResetVariables()
-	end
+	-- Reset the table, they may have unlearnt a profession
+	for i in pairs(ProfTable) do

-	if (addon.db.profile.closeguionskillclose and addon.Frame) then
-		self:CloseWindow()
-	end
+		ProfTable[i] = false

-	if (addon.ScanButton and not Skillet) then
-		addon.ScanButton:Hide()
 	end

-end
+	-- Scan through the spell book getting the spell names
+	for index=1,25,1 do

--- Slash command handler
+		local spellName = GetSpellName(index, BOOKTYPE_SPELL)

-function addon:ChatCommand(input)
+		if (not spellName) or (index == 25) then

-	if (addon.wrath) then
-		InterfaceOptionsFrame_OpenToFrame(self.optionsFrame[L["About"]])
-	else
+			-- Nothing found
+			break

-		if (not input) or (input and input:trim() == "") or (input == string.lower(L["About"])) then
-			-- Open About panel if there's no parameters
-			InterfaceOptionsFrame_OpenToFrame(self.optionsFrame[L["About"]])
-			--InterfaceOptionsFrame_OpenToFrame(self.optionsFrame)
-		elseif (input == string.lower(L["Sort"])) then
-			InterfaceOptionsFrame_OpenToFrame(self.optionsFrame[L["Sort"]])
-		elseif (input == string.lower(L["Filter"])) then
-			InterfaceOptionsFrame_OpenToFrame(self.optionsFrame[L["Filter"]])
-		elseif (input == string.lower(L["Display"])) then
-			InterfaceOptionsFrame_OpenToFrame(self.optionsFrame[L["Display"]])
-		elseif (input == string.lower(L["Profile"])) then
-			InterfaceOptionsFrame_OpenToFrame(self.optionsFrame[L["Profile"]])
-		else
-			LibStub("AceConfigCmd-3.0"):HandleCommand("arl", "Ackis Recipe List", input)
 		end

+		if (ProfTable[spellName] == false) then
+
+			ProfTable[spellName] = true
+
+		end
 	end

 end

---[[
+-- Description: Scans first 25 spellbook slots to identify which trade skill Specialty we have
+-- Expected result: Returns the name of the trade skill Specialty
+-- Input: Specialty Table and Current Profession
+-- Output: String of current Specialty

-	Tradeskill functions
+function addon:GetTradeSpecialty(SpecialtyTable, playerdata)

-]]--
+	--Scan the first 25 entries
+	for index=1,25,1 do
+
+		local spellName = GetSpellName(index, BOOKTYPE_SPELL)

--- Adds a specifc recipe to the recipe list array.
+		-- Nothing found, return nothing
+		if (not spellName) or (index == 25) then

-function addon:addTradeSkill(RecipeName, RecipeLevel, RecipeAcquire, RecipeLink, ...)
+			return ""

-	--[[
+		-- We have a match, return that spell name
+		elseif (SpecialtyTable[playerdata.playerProfession]) and (SpecialtyTable[playerdata.playerProfession][spellName]) then

-	************************************************************************
+			local _, _, ID =  string.find(GetSpellLink(spellName), "spell:(%d+)")
+			return ID

-	Recipe Array Structure:
-
-	SpellID = {
-		Level - Skill level at which you can learn the recipe
-		RecipeLink - String containing the recipe link
-		Known - Boolean determining if you know the recipe
-		Display - Boolean determing if we display the recipe or not
-		Item - ID of the item created by the recipe
-		Name - Name of the recipe
-		Acquire = {
-			ID = {
-				Type - Type of acquire (vendor, trainer, mob, quest, faction)
-				Name - Name of acquire info
-				Location - World location
-				Coords - Specific coordinates
-				Faction - Faction information (neutral/horde/alliance) <- Only for vendor, trainer, quest
-				ID - Quest, Mob or NPC ID
-				Limited Supply - Is the recipe limited supply (vendor only)
-			}
-		}
-		Flags = {
-			class:
-				deathknight
-				druid
-				hunter
-				mage
-				paladin
-				priest
-				rogue
-				warlock
-				warrior
-			specialty:
-				speciality1 (Gnomish engineering, primal mooncloth, elemental, weaponsmith)
-				speciality2 (Gobling engineering, shadowcloth, dragonscale, hammersmith)
-				speciality3 (spellcloth, tribal, axesmith)
-				speciality4 (swordsmith)
-				speciality5 (armorsmith)
-			obtain:
-				instance
-				raid
-				quest
-				seasonal
-				trainer
-				vendor
-				pvp
-				discovery
-				worlddrop
-				mobdrop
-			binding:
-				itembop
-				itemboe
-				recipebop
-				recipeboe
-			item:
-				armor:
-					cloth
-					leather
-					mail
-					plate
-					cloak
-					trinket
-					ring
-					necklace
-				weapon:
-					onehand
-					twohand
-					axe
-					sword
-					mace
-					polearm
-					dagger
-					staff
-					wand
-					thrown
-					bow
-					crossbow
-					ammo
-			player:
-				caster
-				melee
-				tank
-				healer
-			rep:
-				aldor
-				argentdawn
-				ashtonguedeathsworn
-				cenarioncircle
-				cenarionexpedition
-				hellfire
-				consortium
-				keepersoftime
-				lowercity
-				nagrand
-				scaleofthesands
-				scryer
-				shatar
-				shatteredsun
-				sporeggar
-				thoriumbrotherhood
-				timbermaw
-				violeteye
-				zandalar
-		}
-	}
+		end

-	************************************************************************
-
-	]]--
+	end

+end

-	-- Creates a table in the addon.RecipeListing table storing all information about a recipe
-	addon.RecipeListing[RecipeName] = {}
-	-- Set the name and acquire information
-	addon.RecipeListing[RecipeName]["Level"] = RecipeLevel
-	addon.RecipeListing[RecipeName]["Acquire"] = RecipeAcquire
-	addon.RecipeListing[RecipeName]["RecipeLink"] = RecipeLink
+--[[
+	Tradeskill functions
+--]]

-	-- All recipes are unknown until scan occurs
-	addon.RecipeListing[RecipeName]["Known"] = false
+-- Description: Adds a specific recipe, along with it's info to an array
+-- Expected result: The RecipeDB will have a recipe entry created for it.
+-- Input: Recipe array reference, SpellID of recipe, Skill level of recipe, Item ID of item created, Rarity of recipe, and Specialty of the recipe
+-- Output: None, array is passed as a reference

-	-- Increment the total number of recipes added to the list
-	addon.NumberOfRecipes = addon.NumberOfRecipes + 1
+function addon:addTradeSkill(RecipeDB, SpellID, SkillLevel, ItemID, Rarity, Profession, Specialty)

-	-- Create the speciality space
-	addon.RecipeListing[RecipeName]["Speciality"] = {}
-	-- Parse all extra variables and add them to the speciality table
-	local numvars = select('#',...)
-	for i=1,numvars,1 do
-		local temp = select(i,...)
-		tinsert(addon.RecipeListing[RecipeName]["Speciality"],temp)
+	--[[
+		Recipe DB Structures are defined in Documentation.lua
+	--]]
+
+	-- Creates a table in the RecipeListing table storing all information about a recipe
+	RecipeDB[SpellID] = {}
+	-- Set the information passed
+	RecipeDB[SpellID]["Level"] = SkillLevel
+	RecipeDB[SpellID]["ItemID"] = ItemID
+	RecipeDB[SpellID]["Rarity"] = Rarity
+	RecipeDB[SpellID]["Profession"] = GetSpellInfo(Profession)
+
+	-- Get the recipe link from the spell ID
+	local spellLink = GetSpellLink(SpellID)
+
+	if (spellLink ~= nil) then
+		RecipeDB[SpellID]["RecipeLink"] = string.gsub(spellLink, "spell", "enchant")
+	else
+		RecipeDB[SpellID]["RecipeLink"] = nil
 	end

-	-- Do we display this recipe?  Used for specific hiding of a recipe, or search filter results
-	addon.RecipeListing[RecipeName]["Display"] = true
-
-end
+	-- Get the recipe name now
+	RecipeDB[SpellID]["Name"] = GetSpellInfo(SpellID) or nil

--- Same as previous function but uses spell ID to get recipe name
+	if (RecipeDB[SpellID]["Name"] == nil) then

-function addon:addTradeSkillSpell(RecipeName, RecipeLevel, RecipeAcquire, ...)
+		self:Print(format(L["SpellIDCache"],SpellID))

-	if (GetSpellInfo(RecipeName) ~= nil) then
-		local spelllink = GetSpellLink(RecipeName)
-		self:addTradeSkill(GetSpellInfo(RecipeName), RecipeLevel, RecipeAcquire, spelllink, ...)
-	else
-		self:addTradeSkill(tostring(RecipeName), RecipeLevel, RecipeAcquire, nil, ...)
-		self:Print(format(L["SpellIDCache"],RecipeName))
 	end

-end
+	-- All recipes are unknown until scan occurs
+	RecipeDB[SpellID]["Known"] = false

--- Same as previous but combines spell rank for beast training
+	-- All recipes are set to be displayed until the filtering occurs
+	RecipeDB[SpellID]["Display"] = true

-function addon:addTradeSkillBeast(RecipeName, RecipeLevel, RecipeAcquire, ...)
+	-- All recipes are set to be showing in the search results
+	RecipeDB[SpellID]["Search"] = true

-	-- Variables named after friends on an old server because they both really wanted to be in my mod :P
-	local Jimo,Megadopolous = GetSpellInfo(RecipeName)
+	-- Create the flag space in the RecipeDB
+	RecipeDB[SpellID]["Flags"] = {}

-	if (Jimo ~= nil) then
-		local TempHunterSkill = Jimo .. " (" .. Megadopolous .. ")"
-		local spelllink = GetSpellLink(RecipeName)
-		self:addTradeSkill(TempHunterSkill, RecipeLevel, RecipeAcquire, spelllink, ...)
-	else
-		self:addTradeSkill(tostring(RecipeName), RecipeLevel, RecipeAcquire, nil, ...)
-		self:Print(format(L["SpellIDCache"],RecipeName))
-	end
+	-- Set all the flags to be false, will also set the padding spaces to false as well.
+	for i=1,addon.MaxFilterIndex,1 do

-end
+		RecipeDB[SpellID]["Flags"][tonumber(i)] = false

--- Adds vendor information to the vendor list array.
+	end

-function addon:addVendorList(VendorID, VendorName, VendorFaction, VendorLoc, VendorCoords)
+	-- Create the Acquire space in the RecipeDB
+	RecipeDB[SpellID]["Acquire"] = {}

-	addon.VendorList[VendorID] = {}
-	addon.VendorList[VendorID]["Name"] = VendorName
-	addon.VendorList[VendorID]["Faction"] = VendorFaction
-	addon.VendorList[VendorID]["Location"] = VendorLoc
-	addon.VendorList[VendorID]["Coords"] = VendorCoords
+	-- Assumption that there will only be 1 speciality for a trade skill
+	RecipeDB[SpellID]["Specialty"] = Specialty or nil

 end

--- Adds pet information to the pet list array
+-- Description: Adds all flag related information to the RecipeDB associated with the spell ID
+-- Expected result: The RecipeDB will have flag information added for a specific recipe
+-- Input: Recipe array reference, SpellID of recipe, all flags
+-- Output: None, array is passed as a reference

-function addon:addPetList(PetID, PetName, PetLocation, PetLevelMin, PetLevelMax, isElite, isRare)
+function addon:addTradeFlags(RecipeDB, SpellID, ...)

-	addon.PetList[PetID] = {}
-	addon.PetList[PetID]["Name"] = PetName
-	addon.PetList[PetID]["Location"] = PetLocation
-	addon.PetList[PetID]["MinLvl"] = PetLevelMin
-	addon.PetList[PetID]["MaxLvl"] = PetLevelMax
-	addon.PetList[PetID]["Elite"] = isElite
-	addon.PetList[PetID]["Rare"] = isRare
+	-- flags are defined in Documentation.lua

-end
+	local numvars = select('#',...)

--- Modifies recipe array if a recipe is found, setting the Known flag as true.
+	-- Find out how many flags we're adding
+	for i=1,numvars,1 do

-function addon:foundTradeSkill(RecipeName)
+		-- Get the value of the current flag
+		local flag = select(i, ...)

-	addon.RecipeListing[RecipeName]["Known"] = true
+		RecipeDB[SpellID]["Flags"][flag] = true

-	-- Increase found count
-	addon.FoundRecipes = addon.FoundRecipes + 1
+	end
+

 end

---[[
-
-	Recipe Filtering Functions
+-- Description: Adds all Acquire related information to the RecipeDB associated with the spell ID
+-- Expected result: The RecipeDB will have acqusition information added for a specific recipe
+-- Input: Recipe array reference, SpellID of recipe, all Acquire info
+-- Output: None, array is passed as a reference

-]]--
+function addon:addTradeAcquire(RecipeDB, SpellID, ...)

--- Toggles the filtering of a specific recipe, including it or preventing it from being displayed in the results
+	-- Find out how many flags we're adding
+	local numvars = select('#',...)

-function addon:ToggleFilterRecipe(RecipeName)
+	-- Index for the number of Acquire entries we have
+	local index = 1

-	-- Remove the recipe name from the saved variables
-	if (addon.RecipeListing[RecipeName]["Display"] == false) then
-		tremove(addon.db.profile.filteredrecipes,RecipeName)
-	-- Add recipe name to the saved variables
-	else
-		tinsert(addon.db.profile.filteredrecipes,RecipeName)
-	end
+	-- Index for which variables we're parsing through
+	local i = 1

-	addon.RecipeListing[RecipeName]["Display"] = not addon.RecipeListing[RecipeName]["Display"]
+	while (i < numvars) do
+		-- Create the space for the current Acquire method
+		RecipeDB[SpellID]["Acquire"][index] = {}

-end
+		-- Get the Type and ID of the values
+		local AcquireType, AcquireID = select(i, ...)

--- Parses through the filtered recipe list, marking the ones which appear in the list to not display
+		RecipeDB[SpellID]["Acquire"][index]["Type"] = AcquireType
+		RecipeDB[SpellID]["Acquire"][index]["ID"] = AcquireID

-function addon:MarkFilteredRecipes()
+		i = i + 2

-	-- Parse the filtered recipes saved variables
-	for i,k in pairs(addon.db.profile.filteredrecipes) do
-		-- If the recipe is in our current database mark it to not be displayed
-		if (addon.RecipeListing[k]) then
-			addon.RecipeListing[k]["Display"] = false
+		if (AcquireType == 6) then
+			local RepLevel, RepVendor = select(i, ...)
+			RecipeDB[SpellID]["Acquire"][index]["RepLevel"] = RepLevel
+			RecipeDB[SpellID]["Acquire"][index]["RepVendor"] = RepVendor
+			i = i + 2
 		end
-	end

+		index = index + 1
+	end
 end

--- Checks to see if a recipe is known or not.  If the recipe is not in the database, output it to chat.
+-- Description: Adds a specific entry (ie: vendor, mob, etc) to the lookup list
+-- Expected result: Look up list will have an entry added to it
+-- Input: List to add to, ID of entry, Name, Faction Location and Coordinates (X and Y)
+-- Output: None, array is passed as a reference

-function addon:CheckRecipe(RecipeName)
+function addon:addLookupList(DB, ID, Name, Loc, Coordx, Coordy, Faction)

-	if (addon.RecipeListing[RecipeName]) then
-		-- Update array that recipe was found
-		self:foundTradeSkill(RecipeName)
-	else
-		self:Print(L["MissingFromDBWarning"])
-		-- Notify users in chat that skill is missing from the database.
-		for i = 1, 50000 do
-			local spellName = GetSpellInfo(i)
-			if (spellName and (spellName:lower() == RecipeName:lower())) then
-				self:printMissingSkill(RecipeName,i)
-				return
-			end
-		end
-	end
+	--[[
+		For individual database structures, see Documentation.lua
+	]]--

-end
+	DB[ID] = {}
+	DB[ID]["Name"] = Name

-do
+	if (Loc) then

-	-- Class table for class checks to make them go faster
-	local ClassTable = {
-		["WARLOCK"] = true,
-		["WARRIOR"] = true,
-		["HUNTER"] = true,
-		["MAGE"] = true,
-		["PRIEST"] = true,
-		["DRUID"] = true,
-		["PALADIN"] = true,
-		["SHAMAN"] = true,
-		["ROGUE"] = true,
-		--["DEATHKNIGHT"] = true,
-	}
+		DB[ID]["Location"] = Loc

-	-- Rep table space which wil lbe used to check if a recipe is displayed or not
-	local RepTable = nil
+	end

-	-- All Alchemy Specialities
-	local AlchemySpec = {
-		[GetSpellInfo(28674)] = true,
-		[GetSpellInfo(28678)] = true,
-		[GetSpellInfo(28676)] = true,
-	}
+	if (Coordx) and (Coordy) then

-	-- All Blacksmithing Specialities
-	local BlacksmithSpec = {
-		[GetSpellInfo(9788)] = true, -- Armorsmith
-		[GetSpellInfo(17041)] = true, -- Master Axesmith
-		[GetSpellInfo(17040)] = true, -- Master Hammersmith
-		[GetSpellInfo(17039)] = true, -- Master Swordsmith
-		[GetSpellInfo(9787)] = true, -- Weaponsmith
-	}
+		DB[ID]["Coordx"] = Coordx
+		DB[ID]["Coordy"] = Coordy

-	-- All Engineering Specialities
-	local EngineeringSpec = {
-		[GetSpellInfo(20219)] = true, -- Gnomish
-		[GetSpellInfo(20222)] = true, -- Goblin
-	}
+	end

-	-- All Leatherworking Specialities
-	local LeatherworkSpec = {
-		[GetSpellInfo(10657)] = true, -- Dragonscale
-		[GetSpellInfo(10659)] = true, -- Elemental
-		[GetSpellInfo(10661)] = true, -- Tribal
-	}
+	if (Faction) then

-	-- All Tailoring Specialities
-	local TailorSpec = {
-		[GetSpellInfo(26797)] = true, -- Spellfire
-		[GetSpellInfo(26801)] = true, -- Shadoweave
-		[GetSpellInfo(26798)] = true, -- Primal Mooncloth
-	}
+		if (Faction == 1) then

-	-- List of classes which have specialities
-	local SpecialtyTable = {
-		[GetSpellInfo(2259)] = AlchemySpec,
-		[GetSpellInfo(2018)] = BlacksmithSpec,
-		[GetSpellInfo(4036)] = EngineeringSpec,
-		[GetSpellInfo(2108)] = LeatherworkSpec,
-		[GetSpellInfo(3908)] = TailorSpec,
-	}
+			DB[ID]["Faction"] = BFAC["Horde"]

-	-- List containing all possible specialities
-	local AllSpecialitiesTable = {
-	}
+		elseif (Faction == 2) then

-	-- Populate the speciality table with all specialities, not adding alchemy because no recipes have alchemy filters
-	for i in pairs(BlacksmithSpec) do AllSpecialitiesTable[i] = true end
-	for i in pairs(EngineeringSpec) do AllSpecialitiesTable[i] = true end
-	for i in pairs(LeatherworkSpec) do AllSpecialitiesTable[i] = true end
-	for i in pairs(TailorSpec) do AllSpecialitiesTable[i] = true end
+			DB[ID]["Faction"] = BFAC["Alliance"]

-	-- Toggles the value in the rep table when the profile is updated
-	function addon:UpdateReptable(rep)
-		RepTable[rep] = not RepTable[rep]
-	end
+		elseif (Faction == 3) then

-	-- Creates the reputation table
-	local function PopulateReptable()
-
-		if (RepTable == nil) then
-			RepTable = {}
-		end
-
-		RepTable[BFAC["The Scryers"]] = addon.db.profile.filters.rep.scryer
-		RepTable[BFAC["The Aldor"]] = addon.db.profile.filters.rep.aldor
-		RepTable[BFAC["Argent Dawn"]] = addon.db.profile.filters.rep.argentdawn
-		RepTable[BFAC["Ashtongue Deathsworn"]] = addon.db.profile.filters.rep.ashtonguedeathsworn
-		RepTable[BFAC["Cenarion Circle"]] = addon.db.profile.filters.rep.cenarioncircle
-		RepTable[BFAC["Cenarion Expedition"]] = addon.db.profile.filters.rep.cenarionexpedition
-		RepTable[BFAC["The Consortium"]] = addon.db.profile.filters.rep.consortium
-		RepTable[BFAC["Honor Hold"]] = addon.db.profile.filters.rep.hellfire
-		RepTable[BFAC["Thrallmar"]] = addon.db.profile.filters.rep.hellfire
-		RepTable[BFAC["Keepers of Time"]] = addon.db.profile.filters.rep.keepersoftime
-		RepTable[BFAC["Kurenai"]] = addon.db.profile.filters.rep.nagrand
-		RepTable[BFAC["The Mag'har"]] = addon.db.profile.filters.rep.nagrand
-		RepTable[BFAC["Lower City"]] = addon.db.profile.filters.rep.lowercity
-		RepTable[BFAC["The Scale of the Sands"]] = addon.db.profile.filters.rep.scaleofthesands
-		RepTable[BFAC["The Sha'tar"]] = addon.db.profile.filters.rep.shatar
-		RepTable[BFAC["Shattered Sun Offensive"]] = addon.db.profile.filters.rep.shatteredsun
-		RepTable[BFAC["Sporeggar"]] = addon.db.profile.filters.rep.sporeggar
-		RepTable[BFAC["Thorium Brotherhood"]] = addon.db.profile.filters.rep.thoriumbrotherhood
-		RepTable[BFAC["Timbermaw Hold"]] = addon.db.profile.filters.rep.timbermaw
-		RepTable[BFAC["The Violet Eye"]] = addon.db.profile.filters.rep.violeteye
-		RepTable[BFAC["Zandalar Tribe"]] = addon.db.profile.filters.rep.zandalar
+			DB[ID]["Faction"] = BFAC["Neutral"]
+
+		end

 	end

-	-- Get the players class
-	local _, playerClass = UnitClass("player")
+end
+
+--[[
+
+	Recipe Scanning Functions
+
+]]--

-	-- Internal function to determine if a specific faction is to be displayed or not
+-- Description: Scans the recipe listing and marks known recipes as true in the database
+-- Expected result: The array of Recipes will have all known recipes toggles to true
+-- Input: Recipe Array
+-- Output: The total number of recipes known

-	local function CheckDisplayFaction(CurrentCheck)
+function addon:ScanForKnownRecipes(RecipeDB, playerdata)
+
+	self:Print("DEBUG: Scanning for known recipes.")
+
+	-- Clear the "Have Materials" check box
+	if not Skillet and TradeSkillFrameAvailableFilterCheckButton:GetChecked() then

-		return RepTable[CurrentCheck]
+		TradeSkillFrameAvailableFilterCheckButton:SetChecked(false)
+		TradeSkillOnlyShowMakeable(false)

 	end

-	-- Check to see if recipe should be displayed or not
+	-- Clear the sub-classes filters
+	SetTradeSkillSubClassFilter(0, 1, 1)
+	UIDropDownMenu_SetSelectedID(TradeSkillSubClassDropDown, 1)

-	function addon:CheckDisplayRecipe(RecipeName, CurrentProfessionLevel, CurrentProfession, CurrentSpeciality)
+	-- Clear the inventory slot filter
+	SetTradeSkillInvSlotFilter(0, 1, 1);
+	UIDropDownMenu_SetSelectedID(TradeSkillInvSlotDropDown, 1)

-		-- For flag info see comments at start of file in comments
+	-- Expand all headers so we can see all the recipes there are
+	for i = GetNumTradeSkills(), 1, -1 do

-		-- Update the rep table with appropiate flags
-		-- May want to change this so that we don't update the table for every scan
-		PopulateReptable()
+		local _, tradeType = GetTradeSkillInfo(i)

-		-- Check to see if we're filtering this recipe due to search results or as a specific filter
-		if (not addon.RecipeListing[RecipeName]["Display"]) then
-			addon.FilteredRecipes = addon.FilteredRecipes + 1
-			return false
-		end
+		if tradeType == "header" then

-		-- Display all skill levels
-		if (addon.RecipeListing[RecipeName]["Level"] > CurrentProfessionLevel) and (not addon.db.profile.filters.general.skill) then
-			addon.FilteredRecipes = addon.FilteredRecipes + 1
-			return false
-		end
+			ExpandTradeSkillSubClass(i)

-		local classcheck = false
-		local classoccur = false
-		local displaycheck = true
+		end

-		if (addon.RecipeListing[RecipeName]["Speciality"] ~= nil) then
+	end

-			for i, CurrentCheck in pairs(addon.RecipeListing[RecipeName]["Speciality"]) do
+	playerdata.foundRecipes = 0

-				-- Display trainer recipes
-				if (not addon.db.profile.filters.obtain.trainer) and (CurrentCheck == 1) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+	-- Scan through all recipes
+	for i = 1, GetNumTradeSkills() do

-				-- Display vendor recipes
-				if (not addon.db.profile.filters.obtain.vendor) and (CurrentCheck == 2) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+		local tradeName, tradeType = GetTradeSkillInfo(i)

-				-- Display BoE recipes
-				if (not addon.db.profile.filters.binding.itemboe) and (CurrentCheck == 3) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+		-- Ignore all trade skill headers
+		if (tradeType ~= "header") then

-				-- Display BoP recipes
-				if (not addon.db.profile.filters.binding.itembop) and (CurrentCheck == 4) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+			-- Get the trade skill link for the specified recipe
+			local SpellLink = GetTradeSkillRecipeLink(i)
+			-- Get the SpellID from the spell link
+			local _,_,SpellString = sfind(SpellLink, "enchant:(%d+)")
+			local SpellID = tonumber(SpellString)

-				-- Display instance recipes
-				if (not addon.db.profile.filters.obtain.instance) and (CurrentCheck == 5) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+			-- Spell ID is in RecipeDB so lets flag it as known
+			if (RecipeDB[SpellID]) then

-				-- Display hard to obtain raid recipes
-				if (not addon.db.profile.filters.obtain.raid) and (CurrentCheck == 6) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+				-- Update array that recipe was found
+				RecipeDB[SpellID]["Known"] = true
+				playerdata.foundRecipes = playerdata.foundRecipes + 1

-				-- Display seasonal recipes
-				if (not addon.db.profile.filters.obtain.seasonal) and (CurrentCheck == 7) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+			-- We didn't find it in our database, lets notify people that we don't have it
+			else

-				-- Display pvp recipes
-				if (not addon.db.profile.filters.obtain.pvp) and (CurrentCheck == 8) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+				self:Print(self:Red(tradeName .. " " .. SpellString) .. self:White(L["MissingFromDB"]))

-				-- Display quest recipes
-				if (not addon.db.profile.filters.obtain.quest) and (CurrentCheck == 9) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+			end

-				-- Display cloth recipes
-				if (not addon.db.profile.filters.item.armor.cloth) and (CurrentCheck == 10) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+		end

-				-- Display leather recipes
-				if (not addon.db.profile.filters.item.armor.leather) and (CurrentCheck == 11) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+	end

-				-- Display mail recipes
-				if (not addon.db.profile.filters.item.armor.mail) and (CurrentCheck == 12) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+end

-				-- Display plate recipes
-				if (not addon.db.profile.filters.item.armor.plate) and (CurrentCheck == 13) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+do

-				-- Display melee dps recipes
-				if (not addon.db.profile.filters.player.melee) and (CurrentCheck == 14) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+	local classmap = {

-				-- Display tanking recipes
-				if (not addon.db.profile.filters.player.tank) and (CurrentCheck == 15) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+		["DEATHKNIGHT"] = 21,
+		["DRUID"] = 22,
+		["HUNTER"] = 23,
+		["MAGE"] = 24,
+		["PALADIN"] = 25,
+		["PRIEST"] = 26,
+		["SHAMAN"] = 27,
+		["ROGUE"] = 28,
+		["WARLOCK"] = 29,
+		["WARRIOR"] = 30

-				-- Display healer recipes
-				if (not addon.db.profile.filters.player.healer) and (CurrentCheck == 16) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+	}

-				-- Display caster dps recipes
-				if (not addon.db.profile.filters.player.caster) and (CurrentCheck == 17) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
-
-				-- Display world drop recipes
-				if (not addon.db.profile.filters.obtain.worlddrop) and (CurrentCheck == 18) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+	local reptable = nil
+
+	local function CreateRepTable()
+
+		addon:Print("DEBUG: Creating rep filter table")
+		local repdb = addon.db.profile.filters.rep
+
+		reptable = {
+			[96] = repdb.argentdawn,
+			[97] = repdb.cenarioncircle,
+			[98] = repdb.thoriumbrotherhood,
+			[99] = repdb.timbermaw,
+			[100] = repdb.zandalar,
+			[101] = repdb.aldor,
+			[102] = repdb.ashtonguedeathsworn,
+			[103] = repdb.cenarionexpedition,
+			[104] = repdb.hellfire,
+			[105] = repdb.consortium,
+			[106] = repdb.keepersoftime,
+			[107] = repdb.lowercity,
+			[108] = repdb.nagrand,
+			[109] = repdb.scaleofthesands,
+			[110] = repdb.scryer,
+			[111] = repdb.shatar,
+			[112] = repdb.shatteredsun,
+			[113] = repdb.sporeggar,
+			[114] = repdb.violeteye,
+			[115] = repdb.argentcrusade,
+			[116] = repdb.frenzyheart,
+			[117] = repdb.ebonblade,
+			[118] = repdb.kirintor,
+			[119] = repdb.sonsofhodir,
+			[120] = repdb.kaluak,
+			[121] = repdb.oracles,
+			[122] = repdb.wyrmrest,
+			[123] = repdb.silvercovenant,
+			[124] = repdb.sunreavers,
+			[125] = repdb.explorersleague,
+			[126] = repdb.valiance,
+			[127] = repdb.handofvengeance,
+			[128] = repdb.taunka,
+			[129] = repdb.warsongoffensive,
+		}

-				-- Display recipe bop recipes
-				if (not addon.db.profile.filters.binding.recipebop) and (CurrentCheck == 19) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+	end

-				-- Display recipe boe recipes
-				if (not addon.db.profile.filters.binding.recipeboe) and (CurrentCheck == 20) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+	function addon:ClearRepTable()

-				-- Display all faction recipes -and make sure the check is Horde or Alliance
-				if (not addon.db.profile.filters.general.faction) and ((CurrentCheck == BFAC["Horde"]) or (CurrentCheck == BFAC["Alliance"])) and (CurrentCheck ~= playerFaction) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+		self:Print("DEBUG: Clearing rep filter table")
+		reptable = nil

-				-- Reputation check
-				local ReputationCheck = CheckDisplayFaction(CurrentCheck)
-				if (ReputationCheck ~= nil) and (ReputationCheck == false) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-					return false
-				end
+	end

-				-- Display all specialities (ie: Primal Mooncloth, Spellcloth, etc.)
-				if (not addon.db.profile.filters.general.specialty) then
-					-- Are we looking at a speciality and is the current profession a profession that has a speciality?
-					if (SpecialtyTable[CurrentProfession]) and (AllSpecialitiesTable[CurrentCheck]) then
-						if (CurrentSpeciality ~= CurrentCheck) then
-							addon.FilteredRecipes = addon.FilteredRecipes + 1
-							return false
-						end
-					end
-				end
+	local function CheckReputationDisplay(Recipe, flags)

-				-- Display all class type recipes
-				if (not addon.db.profile.filters.general.class) and (ClassTable[CurrentCheck]) then
-					-- Set that a class check has occured in the case of multiple classes.
-					classoccur = true
-					if (CurrentCheck == playerClass) then
-						classcheck = true
-					end
-				end
+		if (not reptable) then

-			end
+			CreateRepTable()

 		end

-		if (displaycheck == true) then
-			if (classoccur == true) then
-				if (classcheck == false) then
-					addon.FilteredRecipes = addon.FilteredRecipes + 1
-				end
-				return classcheck
-			else
-				return true
-			end
-		else
-			addon.FilteredRecipes = addon.FilteredRecipes + 1
-			return false
-		end
+		local display = true

-	end
+		for i in pairs(reptable) do

-	-- Scans the first 24 entries in the spellbook to find which profession speciality someone is (assumption is that it will be within the first 24 because of the general tab)
+			if (flags[i]) then

-	function addon:GetTradeSpeciality(CurrentProfession)
+				if (reptable[i]) then

-		-- Don't use the main speciality table, create our own copy so we can add alchemy to it
-		local specialitytable = SpecialtyTable
-		specialitytable[GetSpellInfo(3908)] = TailorSpec
+					display = true

-		for index=1,25,1 do
-			local spellName = GetSpellName(index, BOOKTYPE_SPELL)
+				else

-			-- Nothing found
-			if (not spellName) or (index == 25) or (not specialitytable[CurrentProfession]) then
-				return ""
-			end
+					display = false
+
+				end

-			if (specialitytable[CurrentProfession][spellName]) then
-				return spellName
 			end
+
 		end

+		return display
+
 	end

-end
+	-- Description: Scans a specific recpie to determine if it is to be displayed or not.
+	-- Expected result: Returns true or false depending on if the recipe should be displayed
+	-- Input:
+	-- Output: Boolean on whether or not to display the recipe

---[[
+	function addon:CheckDisplayRecipe(Recipe, AllSpecialtiesTable, playerProfessionLevel, playerProfession, playerSpecialty, playerFaction, playerClass)

-	Text output functions
+		-- For flag info see comments at start of file in comments
+		local filterdb = addon.db.profile.filters
+		local flags = Recipe["Flags"]

-]]--
+		-- See Documentation file for logic explanation
+		-- Stage 1
+		-- Loop through exclusive flags (hard filters)
+		-- If one of these does not pass we do not display the recipe
+		-- So to be more effecient we'll just leave this function if there's a false

--- Prints out to chat a message stating that a current recipe is missing from the internal database.  Output will be in a comma seperated value.
+		local generaldb = filterdb.general

-function addon:printMissingSkill(RecipeName,spellID)
+		-- Is this recipe in my currently selected profession?
+		if (Recipe["Profession"] ~= playerProfession) then
+			return false
+		end

-	if (spellID) then
-		self:Print(self:Red(RecipeName .. " " .. spellID) .. self:White(L["MissingFromDB"]))
-	else
-		self:Print(self:Red(RecipeName) .. self:White(L["MissingFromDB"]))
-	end
+		-- Include known
+		if (generaldb.known == false) and (Recipe["Known"] == true) then
+			return false
+		end

-end
+		-- Include unknown
+		if (generaldb.unknown == false) and (Recipe["Known"] == false) then
+			return false
+		end

---[[
+		-- Display both horde and alliance factions?
+		if (generaldb.faction == false) then
+			-- We want to filter out all the Horde only recipes
+			if (playerFaction == BFAC["Alliance"]) then
+				-- Filter out Horde only
+				if (flags[1] == false) and (flags[2] == true) then
+					return false
+				end
+			-- We want to filter out all the Alliance only recipes
+			else
+				-- Filter out Alliance only
+				if (flags[2] == false) and (flags[1] == true) then
+					return false
+				end
+			end
+		end

-	RecipeAcquisition Functions
+		-- Display all skill levels?
+		if (generaldb.skill == false) and (Recipe["Level"] > playerProfessionLevel) then
+			return false
+		end

-]]--
+		-- Display all classes?
+		if (generaldb.class == false) and (flags[classmap[playerClass]] == false) then
+			return false
+		end

--- Combines all monster information into a single string for output
+		-- Display all specialities?
+		if (generaldb.specialty == false) then
+			if (Recipe["Specialty"]) and (Recipe["Specialty"] ~= playerSpecialty) then
+				return false
+			end
+		end

-function addon:CombineMobs(BoE, MobNames, MobLoc)
+		local bindingdb = filterdb.binding

-	if (BoE == true) then
-		-- BoE drop from a mob
-		return format("%s%s (%s)",L["BoE"],MobNames,MobLoc)
-	else
-		-- BoP drop from a mob
-		return format("%s%s (%s)",L["BoP"],MobNames,MobLoc)
-	end
+		-- Include BoE Items in the scan? (if I want to see BoE items, only filter those that are not BoE)
+		if (bindingdb.itemboe == false) and (flags[36] == true) then
+			return false
+		end

-end
+		-- Include BoP Items in the scan? (if I want to see BoP items, only filter those that are not BoP)
+		if (bindingdb.itembop == false) and (flags[37] == true) then
+			return false
+		end

-do
-	-- Table to store string components in
-	local t = {}
+		-- Include BoA Items in the scan? (if I want to see BoA items, only filter those that are not BoA)
+		if (bindingdb.itemboa == false) and (flags[38] == true) then
+			return false
+		end

-	-- Combines all quest information into a single string for output
+		-- Include BoE Recipes in the scan? (if I want to see BoE recipes, only filter those that are not BoE)
+		if (bindingdb.recipeboe == false) and (flags[40] == true) then
+			return false
+		end

-	function addon:CombineQuests(...)
-	-- Ackis: If you'd just like to show the tooltip, `GameTooltip:SetHyperlink("quest:"..uid)`
-		-- Reset the table
-		for k in pairs(t) do t[k] = nil end
+		-- Include BoP Recipes in the scan? (if I want to see BoP recipes, only filter those that are not BoP)
+		if (bindingdb.recipebop == false) and (flags[41] == true) then
+			return false
+		end

-		--local questlinkformat = "\124Hquest:%s:%s\124h%s\124h" -- quest ID, quest level, quest name
+		-- Include BoA Recipes in the scan? (if I want to see BoA recipes, only filter those that are not BoA)
+		if (bindingdb.recipeboa == false) and (flags[42] == true) then
+			return false
+		end

-		local numvars = select('#',...)
+		local playerdb = filterdb.player

-		-- Parse through the list
-		for i=1,numvars,3 do
-			local QuestName, QuestFaction, QuestLoc = select(i,...)
-			if (QuestFaction == 1) then
-				if (addon.db.profile.filters.general.faction or playerFaction == BFAC["Alliance"]) then
-					table.insert(t,self:Cyan(format("%s%s (%s)",L["QuestReward"],QuestName,QuestLoc)))
-				end
-			elseif (QuestFaction == 2) then
-				if (addon.db.profile.filters.general.faction or playerFaction == BFAC["Horde"]) then
-					table.insert(t,self:Red(format("%s%s (%s)",L["QuestReward"],QuestName,QuestLoc)))
-				end
-			elseif (QuestFaction == 0) then
-				table.insert(t,self:Gold(format("%s%s (%s)",L["QuestReward"],QuestName,QuestLoc)))
-			end
+		-- Include melee type recipes?
+		if (playerdb.melee == false) and (flags[51] == true) then
+			return false
 		end

-		return table.concat(t,addon.br)
+		-- Include tanking type recipes?
+		if (playerdb.tank == false) and (flags[52] == true) then
+			return false
+		end

-	end
+		-- Include healing type recipes?
+		if (playerdb.healer == false) and (flags[53] == true) then
+			return false
+		end

-	-- Combines all pet information into a single string for output
+		-- Include caster type recipes?
+		if (playerdb.caster == false) and (flags[54] == true) then
+			return false
+		end

-	function addon:CombinePets(...)
-		-- Reset the table
-		for k in pairs(t) do t[k] = nil end
+		local armordb = filterdb.item.armor

-		local numvars = select('#',...)
+		if (armordb.cloth == false) and (flags[56] == true) then
+			return false
+		end

-		for i=1,numvars,1 do
-	        local CurrentCheck = select(i, ...)
-			local temp = GetDifficultyColor(tonumber(addon.PetList[CurrentCheck]["MinLvl"]))
-			local ColourMin = self:Colourize(self:RGBtoHEX(temp.r,temp.g,temp.b),addon.PetList[CurrentCheck]["MinLvl"])
-			temp = GetDifficultyColor(tonumber(addon.PetList[CurrentCheck]["MaxLvl"]))
-			local ColourMax = self:Colourize(self:RGBtoHEX(temp.r,temp.g,temp.b),addon.PetList[CurrentCheck]["MaxLvl"])
-				-- Normal
-			if (not addon.PetList[CurrentCheck]["Rare"] and not addon.PetList[CurrentCheck]["Elite"]) then
-				if (addon.PetList[CurrentCheck]["MinLvl"] == addon.PetList[CurrentCheck]["MaxLvl"]) then
-					table.insert(t,format("%s: (%s): %s",addon.PetList[CurrentCheck]["Name"], ColourMin, addon.PetList[CurrentCheck]["Location"]))
-				else
-					table.insert(t,format("%s: (%s - %s): %s",addon.PetList[CurrentCheck]["Name"], ColourMin, ColourMax, addon.PetList[CurrentCheck]["Location"]))
-				end
-			-- Rare only
-			elseif (addon.PetList[CurrentCheck]["Rare"] and not addon.PetList[CurrentCheck]["Elite"]) then
-				if (addon.PetList[CurrentCheck]["MinLvl"] == addon.PetList[CurrentCheck]["MaxLvl"]) then
-					table.insert(t,format("%s: %s (%s): %s", L["Rare"],addon.PetList[CurrentCheck]["Name"], ColourMin, addon.PetList[CurrentCheck]["Location"]))
-				else
-					table.insert(t,format("%s: %s (%s - %s): %s", L["Rare"],addon.PetList[CurrentCheck]["Name"], ColourMin, ColourMax, addon.PetList[CurrentCheck]["Location"]))
-				end
-			-- Elite only
-			elseif (not addon.PetList[CurrentCheck]["Rare"] and addon.PetList[CurrentCheck]["Elite"]) then
-				if (addon.PetList[CurrentCheck]["MinLvl"] == addon.PetList[CurrentCheck]["MaxLvl"]) then
-					table.insert(t,format("%s: %s (%s): %s", L["Elite"],addon.PetList[CurrentCheck]["Name"], ColourMin, addon.PetList[CurrentCheck]["Location"]))
-				else
-					table.insert(t,format("%s: %s (%s - %s): %s", L["Elite"],addon.PetList[CurrentCheck]["Name"], ColourMin, ColourMax, addon.PetList[CurrentCheck]["Location"]))
-				end
-			-- Rare elite
-			else
-				if (addon.PetList[CurrentCheck]["MinLvl"] == addon.PetList[CurrentCheck]["MaxLvl"]) then
-					table.insert(t,format("%s %s: %s (%s): %s", L["Rare"],L["Elite"],addon.PetList[CurrentCheck]["Name"], ColourMin, addon.PetList[CurrentCheck]["Location"]))
-				else
-					table.insert(t,format("%s %s: %s (%s - %s): %s", L["Rare"],L["Elite"],addon.PetList[CurrentCheck]["Name"], ColourMin, ColourMax, addon.PetList[CurrentCheck]["Location"]))
-				end
-			end
+		if (armordb.leather == false) and (flags[57] == true) then
+			return false
 		end

-		return table.concat(t, addon.br)
+		if (armordb.mail == false) and (flags[58] == true) then
+			return false
+		end

-	end
+		if (armordb.plate == false) and (flags[59] == true) then
+			return false
+		end

-	-- Combines Vendor name, location, faction into a single string.  A list of Vendor IDs is provided, along with if the recipe is limited supply.
+		if (armordb.trinket == false) and (flags[61] == true) then
+			return false
+		end

-	function addon:CombineVendors(...)
-		-- Reset the table
-		for k in pairs(t) do t[k] = nil end
+		if (armordb.cloak == false) and (flags[60] == true) then
+			return false
+		end

-		local numvars = select('#',...)
+		if (armordb.ring == false) and (flags[62] == true) then
+			return false
+		end

-		-- Add type of vendor to string
-		if (select(numvars, ...) == false) then
-			table.insert(t,L["Vendor"])
-		else
-			table.insert(t,L["LimitedSupply"])
+		if (armordb.necklace == false) and (flags[63] == true) then
+			return false
 		end

-		for i=1,(numvars-1),1 do
-			local CurrentCheck = select(i, ...)
-			if (addon.VendorList[CurrentCheck]["Faction"] == BFAC["Alliance"]) then
-				if (addon.db.profile.filters.general.faction or playerFaction == BFAC["Alliance"]) then
-					table.insert(t,self:Cyan(format("%s - %s: %s", addon.VendorList[CurrentCheck]["Name"], addon.VendorList[CurrentCheck]["Location"], addon.VendorList[CurrentCheck]["Coords"])))
-				end
-			elseif (addon.VendorList[CurrentCheck]["Faction"] == BFAC["Horde"]) then
-				if (addon.db.profile.filters.general.faction or playerFaction == BFAC["Horde"]) then
-					table.insert(t,self:Red(format("%s - %s: %s", addon.VendorList[CurrentCheck]["Name"], addon.VendorList[CurrentCheck]["Location"], addon.VendorList[CurrentCheck]["Coords"])))
-				end
-			elseif (addon.VendorList[CurrentCheck]["Faction"] == BFAC["Neutral"]) then
-				table.insert(t,self:Gold(format("%s - %s: %s", addon.VendorList[CurrentCheck]["Name"], addon.VendorList[CurrentCheck]["Location"], addon.VendorList[CurrentCheck]["Coords"])))
-			else
-				table.insert(t,format("%s - %s: %s",  addon.VendorList[CurrentCheck]["Name"], addon.VendorList[CurrentCheck]["Location"], addon.VendorList[CurrentCheck]["Coords"]))
-			end
+		if (armordb.shield == false) and (flags[64] == true) then
+			return false
 		end

-		return table.concat(t, addon.br)
+		local weapondb = filterdb.item.weapon

-	end
+		if (weapondb.onehand == false) and (flags[66] == true) then
+			return false
+		end

-end
+		if (weapondb.twohand == false) and (flags[67] == true) then
+			return false
+		end

--- Combines repuation level and faction name into a single string.
+		if (weapondb.axe == false) and (flags[68] == true) then
+			return false
+		end

-function addon:AddSingleReputation(RepLevel, Faction)
+		if (weapondb.sword == false) and (flags[69] == true) then
+			return false
+		end

-	local newfaction
+		if (weapondb.mace == false) and (flags[70] == true) then
+			return false
+		end

-	if (not factionlevels[Faction] or factionlevels[Faction] <= RepLevel) then
-		newfaction = format("%s: %s -",self:Red(L["Reputation"]),self:Red(Faction))
-	else
-		newfaction = format("%s: %s -",L["Reputation"],Faction)
-	end
+		if (weapondb.polearm == false) and (flags[71] == true) then
+			return false
+		end

-	if (RepLevel == 1) then
-		return format("%s %s",newfaction,self:Friendly(BFAC["Friendly"]))
-	elseif (RepLevel == 2) then
-		return format("%s %s",newfaction,self:Honored(BFAC["Honored"]))
-	elseif (RepLevel == 3) then
-		return format("%s %s",newfaction,self:Revered(BFAC["Revered"]))
-	elseif (RepLevel == 4) then
-		return format("%s %s",newfaction,self:Exalted(BFAC["Exalted"]))
-	else
-		self:Print(format(L["FactionError"],RepLevel))
-		return format("%s %s",newfaction,RepLevel)
-	end
-end
+		if (weapondb.dagger == false) and (flags[72] == true) then
+			return false
+		end
+
+		if (weapondb.fist == false) and (flags[79] == true) then
+			return false
+		end

--- Combines reputation level and faction name of two factions into a single string.
+		if (weapondb.staff == false) and (flags[73] == true) then
+			return false
+		end

-function addon:AddDoubleReputation(RepLevel, Faction1, Faction2)
+		if (weapondb.wand == false) and (flags[74] == true) then
+			return false
+		end

-	if (not addon.db.profile.filters.general.faction) then
-		local tempfac = ""
-		-- Only return Alliance specific factions
-		if (playerFaction == BFAC["Alliance"]) then
-			tempfac = Faction1
-		-- Only return Horde speficic factions
-		elseif (playerFaction == BFAC["Horde"]) then
-			tempfac = Faction2
+		if (weapondb.thrown == false) and (flags[75] == true) then
+			return false
 		end
-		-- Return the single faction
-		return(self:AddSingleReputation(RepLevel,tempfac))
-	else
-		-- Return both factions reputations
-		return self:AddSingleReputation(RepLevel,Faction1) .. addon.br .. self:AddSingleReputation(RepLevel,Faction2)
-	end

-end
+		if (weapondb.bow == false) and (flags[76] == true) then
+			return false
+		end

---[[
+		if (weapondb.crossbow == false) and (flags[77] == true) then
+			return false
+		end

-	Searching Functions
+		if (weapondb.ammo == false) and (flags[78] == true) then
+			return false
+		end

-]]--
+		if (not CheckReputationDisplay(Recipe, flags)) then
+			return false
+		end

--- Searches through the recipe name and acquisition information, setting the display flag to false if the search string does not appear
+		-- Stage 2
+		-- loop through nonexclusive (soft filters) flags until one is true
+		-- If one of these is true (ie: we want to see trainers and there is a trainer flag) we display the recipe

-function addon:SearchRecipeDB(searchstring)
+		local obtaindb = filterdb.obtain

-	for i in pairs(addon.RecipeListing) do
-		if (not string.find(i,searchstring)) and (not string.find(addon.RecipeListing[i]["Acquire"],searchstring)) then
-			addon.RecipeListing[i]["Display"] = false
+		-- Display trainer recipes
+		if (obtaindb.trainer == true) and (flags[3] == true) then
+			return true
 		end
-	end

-end
+		-- Display vendor recipes
+		if (obtaindb.vendor == true) and (flags[4] == true) then
+			return true
+		end

--- Resets the display flags of all recipes in the database
+		-- Display instance recipes
+		if (obtaindb.instance == true) and (flags[5] == true) then
+			return true
+		end

-function addon:ResetSearch()
+		-- Display raid recipes
+		if (obtaindb.raid == true) and (flags[6] == true) then
+			return true
+		end

-	for i in pairs(addon.RecipeListing) do
-		addon.RecipeListing[i]["Display"] = true
-	end
+		-- Display seasonal recipes
+		if (obtaindb.seasonal == true) and (flags[7] == true) then
+			return true
+		end

-end
+		-- Display quest recipes
+		if (obtaindb.quest == true) and (flags[8] == true) then
+			return true
+		end

---[[
+		-- Display PVP recipes
+		if (obtaindb.PVP == true) and (flags[9] == true) then
+			return true
+		end

-	Sorting Functions
+		-- Display world drop recipes
+		if (obtaindb.worlddrop == true) and (flags[10] == true) then
+			return true
+		end

-]]--
+		-- Display mob drop recipes
+		if (obtaindb.mobdrop == true) and (flags[11] == true) then
+			return true
+		end

--- Returns true if a Recipe1 has a lower skill level than Recipe2
+		-- Display discovery recipes
+		if (obtaindb.discovery == true) and (flags[12] == true) then
+			return true
+		end
+
+		-- If we get here it means that no flags matched our values
+		self:Print("DEBUG: No filter flags matched for: " .. Recipe["Name"])

-local function SortMissingSkill(Recipe1, Recipe2)
+		return false

-	return addon.RecipeListing[Recipe1]["Level"] < addon.RecipeListing[Recipe2]["Level"]
+	end

 end

--- Returns true if a Recipe1 come before Recipe2 in the alphabet
+-- Description: Creates an array of which factions we want to include in our display and which ones to ignore
+-- Expected result: Array of all factions created with those which we want to display having a true flag
+-- Input: Rep Table Array
+-- Output: None, array is passed as a reference

-local function SortMissingName(Recipe1, Recipe2)
+function addon:PopulateRepFilters(RepTable)
+
+	self:Print("DEBUG: Updating Rep Filters")
+	local repfilters = addon.db.profile.filters.rep
+	RepTable[BFAC["The Scryers"]] = repfilters.scryer
+	RepTable[BFAC["The Aldor"]] = repfilters.aldor
+	RepTable[BFAC["Argent Dawn"]] = repfilters.argentdawn
+	RepTable[BFAC["Ashtongue Deathsworn"]] = repfilters.ashtonguedeathsworn
+	RepTable[BFAC["Cenarion Circle"]] = repfilters.cenarioncircle
+	RepTable[BFAC["Cenarion Expedition"]] = repfilters.cenarionexpedition
+	RepTable[BFAC["The Consortium"]] = repfilters.consortium
+	RepTable[BFAC["Honor Hold"]] = repfilters.hellfire
+	RepTable[BFAC["Thrallmar"]] = repfilters.hellfire
+	RepTable[BFAC["Keepers of Time"]] = repfilters.keepersoftime
+	RepTable[BFAC["Kurenai"]] = repfilters.nagrand
+	RepTable[BFAC["The Mag'har"]] = repfilters.nagrand
+	RepTable[BFAC["Lower City"]] = repfilters.lowercity
+	RepTable[BFAC["The Scale of the Sands"]] = repfilters.scaleofthesands
+	RepTable[BFAC["The Sha'tar"]] = repfilters.shatar
+	RepTable[BFAC["Shattered Sun Offensive"]] = repfilters.shatteredsun
+	RepTable[BFAC["Sporeggar"]] = repfilters.sporeggar
+	RepTable[BFAC["Thorium Brotherhood"]] = repfilters.thoriumbrotherhood
+	RepTable[BFAC["Timbermaw Hold"]] = repfilters.timbermaw
+	RepTable[BFAC["The Violet Eye"]] = repfilters.violeteye
+	RepTable[BFAC["Zandalar Tribe"]] = repfilters.zandalar
+-- Below this is WotLK data. May need to be changed post beta.
+	RepTable[BFAC["Argent Crusade"]] = repfilters.argentcrusade
+	RepTable[BFAC["Frenzyheart Tribe"]] = repfilters.frenzyheart
+	RepTable[BFAC["Knights of the Ebon Blade"]] = repfilters.ebonblade
+	RepTable[BFAC["Kirin Tor"]] = repfilters.kirintor
+	RepTable[BFAC["The Sons of Hodir"]] = repfilters.sonsofhodir
+	RepTable[BFAC["The Kalu'ak"]] = repfilters.kaluak
+	RepTable[BFAC["The Oracles"]] = repfilters.oracles
+	RepTable[BFAC["The Wyrmrest Accord"]] = repfilters.wyrmrest
+	RepTable[BFAC["The Silver Convenant"]] = repfilters.silvercovenant
+	RepTable[BFAC["The Sunreavers"]] = repfilters.sunreavers
+	RepTable[BFAC["Explorer's League"]] = repfilters.explorersleague
+	RepTable[BFAC["Valiance Expedition"]] = repfilters.valiance
+	RepTable[BFAC["The Hand of Vengeance"]] = repfilters.handofvengeance
+	RepTable[BFAC["The Taunka"]] = repfilters.taunka
+	RepTable[BFAC["Warsong Offensive"]] = repfilters.warsongoffensive
+end

-	return Recipe1 < Recipe2
+-- Description: Scans the recipe listing and updates the filters according to user preferences
+-- Expected result: The array of Recipes will have all Display flags toggles according to display preferences and the number of filtered recipes
+-- Input: Recipe Array, Skill level for current profession, name of current profession, and current profession Specialty
+-- Output: Number of recipes that are filtered

-end
+function addon:UpdateFilters(RecipeDB, AllSpecialtiesTable, playerdata)

--- Returns true if a Recipe1 come before Recipe2 in the alphabet
+	local playerProfessionLevel = playerdata.playerProfessionLevel
+	local playerProfession = playerdata.playerProfession
+	local playerSpecialty = playerdata.playerSpecialty
+	local playerFaction = playerdata.playerFaction
+	local playerClass = playerdata.playerClass

-local function SortMissingAcquisition(Recipe1, Recipe2)
+	playerdata.filteredRecipes = 0

-	return addon.RecipeListing[Recipe1]["Acquire"] < addon.RecipeListing[Recipe2]["Acquire"]
+	-- Parse through all the entries in the Recipe array
+	for RecipeID in pairs(RecipeDB) do
+--self:Print(RecipeID)
+		-- Determine if we are to display this recipe or not
+		local displayflag = self:CheckDisplayRecipe(RecipeDB[RecipeID], AllSpecialtiesTable, playerProfessionLevel, playerProfession, playerSpecialty, playerFaction, playerClass)

-end
+		if (displayflag == false) then

--- Sorts the RecipeListing with the given sorting function  and adds them to the global sorted recipe list
+			playerdata.filteredRecipes = playerdata.filteredRecipes + 1

-function addon:SortMissingRecipes(SortFunction)
+		end
+
+		-- Set the display flag
+		RecipeDB[RecipeID]["Display"] = displayflag

-	addon.SortedRecipeIndex = {}
-	-- Get all the indexes of the RecipeListing
-	for n in pairs(addon.RecipeListing) do
-		table.insert(addon.SortedRecipeIndex, n)
 	end

-	-- Sort the indexes according to the function
-	table.sort(addon.SortedRecipeIndex, SortFunction)
+	self:ClearRepTable()

 end

 --[[

-	Recipe Array Functions
+	ARL Logic Functions

 ]]--

--- Initialize the profession tables depending on which skill window is opened.
+-- Description: Determines which profession we are dealing with and loads up the recipe information for it.
+-- Expected result: The RecipeDBis populated with recipe information
+-- Input: RecipeDB, Current Profession we're examining
+-- Output: Total number of recipes in the database

-local function InitializeTradeRecipes(CurrentProfession)
+local function InitializeRecipes(RecipeDB, playerdata)

 	-- Table of all possible professions with init functions
 	local professiontable =
 	{
 		[GetSpellInfo(2259)] = addon.InitAlchemy,
-		[GetSpellInfo(2018)] = addon.InitBlackSmith,
+		[GetSpellInfo(2018)] = addon.InitBlacksmithing,
 		[GetSpellInfo(2550)] = addon.InitCooking,
+		[GetSpellInfo(7411)] = addon.InitEnchanting,
 		[GetSpellInfo(4036)] = addon.InitEngineering,
 		-- Use first aid spell of applying bandages to fix issues with other localizations
 		[GetSpellInfo(746)] = addon.InitFirstAid,
 		-- Hack to get first aid working on frFR since I can't seem to get a proper spell ID :P
 		["Premiers soins"] = addon.InitFirstAid,
 		--[GetSpellInfo(3273)] = addon.InitFirstAid,
-		[GetSpellInfo(2108)] = addon.InitLeatherWorking,
-		[GetSpellInfo(2842)] = addon.InitRoguePoison,
+		[GetSpellInfo(2108)] = addon.InitLeatherworking,
 		[GetSpellInfo(2575)] = addon.InitSmelting,
 		[GetSpellInfo(3908)] = addon.InitTailoring,
 		[GetSpellInfo(25229)] = addon.InitJewelcrafting,
+		[GetSpellInfo(45357)] = addon.InitInscription,
+		[GetSpellInfo(28481)] = addon.InitRuneforging,
 	}
-	if (addon.wrath) then
-		professiontable[GetSpellInfo(45357)] = addon.InitInscription
-		professiontable[GetSpellInfo(7411)] = addon.InitEnchanting
-	end

 	-- Thanks to sylvanaar/xinhuan for the code snippet
-	local a = professiontable[CurrentProfession]
+	local a = professiontable[playerdata.playerProfession]

 	if a then
-		a(addon)
+		playerdata.totalRecipes = a(addon, RecipeDB)
 	else
-		addon:Print(L["UnknownTradeSkill"]:format(CurrentProfession))
+		addon:Print(L["UnknownTradeSkill"]:format(playerdata.playerProfession))
 	end

 end

--- Initialize the profession tables depending on which skill window is opened.
-
-local function InitializeCraftRecipes(CurrentProfession)
+-- Description: Determines what to do when the slash command is called.
+-- Expected result: The appropiate window is opened based on the slash command.
+-- Input: None
+-- Output: None

-	local CurrentProfessionLevel
+function addon:ChatCommand(input)

-	if (CurrentProfession == GetSpellInfo(7411)) then
-		-- Get the current level of the craft.
-		CurrentProfessionLevel = _G["CraftRankFrame"]:GetValue() --Better way to do this?
-		-- Add all enchanting recipes to the table
-		addon:InitEnchanting()
+	-- Open About panel if there's no parameters or if we do /arl about
+	if (not input) or (input and input:trim() == "") or (input == string.lower(L["About"]))then
+		InterfaceOptionsFrame_OpenToCategory(self.optionsFrame["About"])
+	elseif (input == string.lower(L["Sorting"])) or (input == string.lower(L["Sort"]))  or (input == string.lower(L["Display"])) then
+		InterfaceOptionsFrame_OpenToCategory(self.optionsFrame)
+	elseif (input == string.lower(L["Profile"])) then
+		InterfaceOptionsFrame_OpenToCategory(self.optionsFrame["Profiles"])
+	elseif (input == string.lower(L["Filter"])) then
+		InterfaceOptionsFrame_OpenToCategory(self.optionsFrame["Filters"])
+	else
+		LibStub("AceConfigCmd-3.0"):HandleCommand("arl", "Ackis Recipe List", input)
+	end

-	elseif (CurrentProfession == GetSpellInfo(5149)) then
+end

-		-- Player level = profession level for beast training
-		CurrentProfessionLevel = UnitLevel("player")
-		-- Create a table to store all possible pets
-		addon.PetList = {}
-		-- Add all beast training recipes to the table
-		addon:InitBeastTraining()
+do

-	else
+	local RecipeList = nil

-		CurrentProfessionLevel = 0
-		addon:Print(L["UnknownTradeSkill"]:format(CurrentProfession))
+	local MobList = nil
+	local QuestList = nil
+	local ReputationList = nil
+	local TrainerList = nil
+	local SeasonalList = nil
+	local VendorList = nil
+	local RepFilters = nil
+	local AllSpecialtiesTable = nil
+	local SpecialtyTable = nil

-	end
+	local playerdata = nil

-	return CurrentProfessionLevel
+	-- Description: Updates the reputation table.  This only happens seldomly so I'm not worried about effeciency
+	-- Expected result: Reputation table is updated with appropiate levels
+	-- Input: None
+	-- Output: None

-end
+	function addon:SetRepDB()

--- Gets all the factions the player knows and their rep levels
+		if (playerdata and playerdata["Reputation"]) then

-function addon:GetFactionLevels()
+			self:GetFactionLevels(playerdata["Reputation"])

-	for i=1,GetNumFactions(),1 do
-		local name,_,replevel = GetFactionInfo(i)
-		-- If the rep is greater than neutral
-		if (replevel > 4) then
-			-- We use levels of 0, 1, 2, 3, 4 internally for reputation levels, make it corrospond here
-			factionlevels[name] = replevel - 4
 		end
+
 	end

-end
+	-- Description: Function called when the scan button is clicked.   Parses recipes and displays output
+	-- Expected result: A gui window of all recipes accoring to filter is printed out
+	-- Input: None
+	-- Output: None

--- Scans the first 24 entries in the spellbook to find out which professions you know.
-
-function addon:GetKnownProfessions()
-	-- reset all professions to false (someone may have unlearned something
-	-- who knows
-	addon.KnownProfessions = {
-		["Alchemy"] = false,
-		["Blacksmithing"] = false,
-		["Cooking"] = false,
-		["Enchanting"] = false,
-		["Engineering"] = false,
-		["First Aid"] = false,
-		["Leatherworking"] = false,
-		["Poisons"]	= false,
-		["Smelting"] = false,
-		["Tailoring"] = false,
-		["Jewelcrafting"] = false,
-		["Beast Training"] = false,
-		["Inscription"] = false,
-	}
-	for index=1,25,1 do
-		local spellName = GetSpellName(index, BOOKTYPE_SPELL)
-		if (not spellName) or (index == 25) then
-			-- Nothing found
-			break
-		end
-		if ( addon.KnownProfessions[spellName] == false ) then
-			addon.KnownProfessions[spellName] = true
-		end
-	end
-end
+	function addon:AckisRecipeList_Command(textdump)

---[[
+		-- If we don't have a trade skill window open, lets return out of here
+		if (addon.SkillType == nil) then

-	Scanning functions
+			self:Print(L["OpenTradeSkillWindow"])
+			return

-]]--
+		-- Trade type skills
+		elseif (addon.SkillType == "Trade") then
+
+			-- First time a scan has been run, we need to get the player specifc data, specifically faction information, profession information and other pertinant data.
+			if (playerdata == nil) then
+
+				playerdata = {}
+
+				playerdata.playerFaction = UnitFactionGroup("player")
+				local _
+				_, playerdata.playerClass = UnitClass("player")
+
+				playerdata["Reputation"] = {}
+				self:GetFactionLevels(playerdata["Reputation"])
+
+				playerdata["Professions"] = {
+					[GetSpellInfo(2259)] = false, -- Alchemy
+					[GetSpellInfo(2018)] = false, -- Blacksmithing
+					[GetSpellInfo(2550)] = false, -- Cooking
+					[GetSpellInfo(7411)] = false, -- Enchanting
+					[GetSpellInfo(4036)] = false, -- Engineering
+					[GetSpellInfo(746)] = false, -- First Aid
+					--["Premiers soins"] = false, -- First Aid (Hack for frFR local)
+					[GetSpellInfo(2108)] = false, -- Leatherworking
+					[GetSpellInfo(2575)] = false, -- Smelting
+					[GetSpellInfo(3908)] = false, -- Tailoring
+					[GetSpellInfo(25229)] = false, -- Jewelcrafting
+					[GetSpellInfo(45357)] = false, -- Inscription
+					[GetSpellInfo(28481)] = false, -- Runeforging
+				}

--- Scans your recipe book for Trade Skill Recipes
+				self:GetKnownProfessions(playerdata["Professions"])

-function addon:ScanTradeSkills()
+				-- All Alchemy Specialties
+				local AlchemySpec = {
+					[GetSpellInfo(28674)] = true,
+					[GetSpellInfo(28678)] = true,
+					[GetSpellInfo(28676)] = true,
+				}

-	-- Clear the "Have Materials" check box
-	if not Skillet and TradeSkillFrameAvailableFilterCheckButton:GetChecked() then
-		TradeSkillFrameAvailableFilterCheckButton:SetChecked(false)
-		TradeSkillOnlyShowMakeable(false)
-	end
+				-- All Blacksmithing Specialties
+				local BlacksmithSpec = {
+					[GetSpellInfo(9788)] = true, -- Armorsmith
+					[GetSpellInfo(17041)] = true, -- Master Axesmith
+					[GetSpellInfo(17040)] = true, -- Master Hammersmith
+					[GetSpellInfo(17039)] = true, -- Master Swordsmith
+					[GetSpellInfo(9787)] = true, -- Weaponsmith
+				}

-	-- Clear the sub-classes filters
-	SetTradeSkillSubClassFilter(0, 1, 1)
-	UIDropDownMenu_SetSelectedID(TradeSkillSubClassDropDown, 1)
+				-- All Engineering Specialties
+				local EngineeringSpec = {
+					[GetSpellInfo(20219)] = true, -- Gnomish
+					[GetSpellInfo(20222)] = true, -- Goblin
+				}

-	-- Clear the inventory slot filter
-	SetTradeSkillInvSlotFilter(0, 1, 1);
-	UIDropDownMenu_SetSelectedID(TradeSkillInvSlotDropDown, 1)
+				-- All Leatherworking Specialties
+				local LeatherworkSpec = {
+					[GetSpellInfo(10657)] = true, -- Dragonscale
+					[GetSpellInfo(10659)] = true, -- Elemental
+					[GetSpellInfo(10661)] = true, -- Tribal
+				}

-	-- Expand all headers
-	for i = GetNumTradeSkills(), 1, -1 do
-		local _, tradeType = GetTradeSkillInfo(i)
-		if tradeType == "header" then
-			ExpandTradeSkillSubClass(i)
-		end
-	end
+				-- All Tailoring Specialties
+				local TailorSpec = {
+					[GetSpellInfo(26797)] = true, -- Spellfire
+					[GetSpellInfo(26801)] = true, -- Shadoweave
+					[GetSpellInfo(26798)] = true, -- Primal Mooncloth
+				}

-	-- Scan through all recipes
-	for i = 1, GetNumTradeSkills() do
-		local skillName, tradeType = GetTradeSkillInfo(i)
-		-- Ignore all trade skill headers
-		if (tradeType ~= "header") then
-			self:CheckRecipe(skillName)
-		end
-	end
+				-- List of classes which have Specialties
+				SpecialtyTable = {
+					[GetSpellInfo(2259)] = AlchemySpec,
+					[GetSpellInfo(2018)] = BlacksmithSpec,
+					[GetSpellInfo(4036)] = EngineeringSpec,
+					[GetSpellInfo(2108)] = LeatherworkSpec,
+					[GetSpellInfo(3908)] = TailorSpec,
+				}

-end
+				-- List containing all possible Specialties
+				AllSpecialtiesTable = {}

--- Scans your recipe book for Craft Skill Recipes (enchanting and beast training are handled differently than other trade skills)
+				-- Populate the Specialty table with all Specialties, not adding alchemy because no recipes have alchemy filters
+				for i in pairs(BlacksmithSpec) do AllSpecialtiesTable[i] = true end
+				for i in pairs(EngineeringSpec) do AllSpecialtiesTable[i] = true end
+				for i in pairs(LeatherworkSpec) do AllSpecialtiesTable[i] = true end
+				for i in pairs(TailorSpec) do AllSpecialtiesTable[i] = true end

-function addon:ScanCraftSkills()
+			end
+
+			-- Initializes the mob list
+			if (MobList == nil) then
+
+				MobList = {}
+				self:InitMob(MobList)

-	-- Beast Training
-	if CraftIsPetTraining() then
-		for i = 1, GetNumCrafts() do
-			local skillName, skillRank = GetCraftInfo(i)
-			local FullSkillName = format("%s (%s)",skillName, skillRank)
-			self:CheckRecipe(FullSkillName)
-		end
-	-- Enchanting and any other craft
-	else
-		-- Clear the "Have Materials" check box
-		if not Skillet and CraftFrameAvailableFilterCheckButton:GetChecked() then
-			CraftFrameAvailableFilterCheckButton:SetChecked(false)
-			CraftOnlyShowMakeable(false)
-		end
-
-		-- Clear the inventory slots filter
-		UIDropDownMenu_SetSelectedID(CraftFrameFilterDropDown, 1)
-		SetCraftFilter(1)
-		CraftFrame.selected = 1
-
-		-- Scans crafting recipes in opened window, expanding all headers
-		for i = GetNumCrafts(), 1, -1 do
-			local _, _, craftType = GetCraftInfo(i)
-			if craftType == "header" then
-				ExpandCraftSkillLine(i)
 			end
-		end

-		-- Scan through all recipes
-		for i = 1, GetNumCrafts() do
-			local skillName, _, craftType = GetCraftInfo(i)
-			-- Ignore all trade skill headers
-			if (craftType ~= "header") then
-				self:CheckRecipe(skillName)
+			-- Initializes the quest list
+			if (QuestList == nil) then
+
+				QuestList = {}
+				self:InitQuest(QuestList)
+
 			end
-		end
-	end
-end

--- Description: Scans the recipe listing and updates the filters according to user preferences
--- Expected result: The array of Recipes will have all Display flags toggles according to display preferences
--- Input: Recipe Array, Skill level for current profession, name of current profession, and current profession speciality
--- Output: None, array is passed as a reference
+			-- Initializes the reputation list
+			if (ReputationList == nil) then

-function addon:UpdateFilters(Recipes, CurrentProfessionLevel, CurrentProfession, CurrentSpeciality)
+				ReputationList = {}
+				self:InitReputation(ReputationList)

-	-- Parse through all the entries in the Recipe array
-	for RecipeName in pairs(Recipes) do
+			end

-		-- Determine if we are to display this recipe or not
-		local displayflag = self:CheckDisplayRecipe(RecipeName, CurrentProfessionLevel, CurrentProfession, CurrentSpeciality)
+			-- Initializes the trainer list
+			if (TrainerList == nil) then

-		-- Set the display flag
-		Recipes[RecipeName]["Display"] = displayflag
+				TrainerList = {}
+				self:InitTrainer(TrainerList)

-	end
+			end

-end
+			-- Initializes the season list
+			if (SeasonalList == nil) then

--- Main logic for add-on, will call all sub-functions
+				SeasonalList = {}
+				self:InitSeasons(SeasonalList)

-function addon:AckisRecipeList_Command()
+			end

-	local CurrentProfession, CurrentProfessionLevel, CurrentSpeciality
+			-- Initializes the vendor list
+			if (VendorList == nil) then

-	-- Initializes the vendor list
-	if (addon.VendorList == nil) then
-		addon.VendorList = {}
-		self:InitVendor()
-	end
+				VendorList = {}
+				self:InitVendor(VendorList)

-	self:InitializeRecipeArray()
+			end

-	if (addon.SkillType == nil) then
+			-- Initializes the reputation filters
+			-- Don't assign values no because we do a scan later on
+			if (RepFilters == nil) then

-		self:Print(L["OpenTradeSkillWindow"])
-		return
+				RepFilters = {}

-	-- Trade type skills
-	elseif (addon.SkillType == "Trade") then
+			end

-		-- Get the name of the current trade skill opened, along with the current level of the skill.
-		CurrentProfession, CurrentProfessionLevel = GetTradeSkillLine()
-		CurrentSpeciality = self:GetTradeSpeciality(CurrentProfession)
-		InitializeTradeRecipes(CurrentProfession)
+			-- Initializes the recipe list
+			-- Note there is no reset function implemented yet
+			if (RecipeList == nil) then

-		if (CurrentProfession == GetSpellInfo(2842)) then
-			-- Player level = profession level for rogue poisons
-			CurrentProfessionLevel = UnitLevel("player")
-		end
+				RecipeList = {}

-		self:ScanTradeSkills()
-		self:UpdateFilters(addon.RecipeListing, CurrentProfessionLevel, CurrentProfession, CurrentSpeciality)
+			end

-	-- Craft type skills
-	elseif (addon.SkillType == "Craft") then
+			-- Get the name of the current trade skill opened, along with the current level of the skill.
+			playerdata.playerProfession, playerdata.playerProfessionLevel = GetTradeSkillLine()

-		if (not addon.wrath) then
+			-- Get the current profession Specialty
+			playerdata.playerSpecialty = self:GetTradeSpecialty(SpecialtyTable, playerdata)
+			self:Print("DEBUG: Player specialty: " .. playerdata.playerSpecialty)

-			-- Get the name of the current craft.
-			CurrentProfession = GetCraftName()
-			CurrentProfessionLevel = InitializeCraftRecipes(CurrentProfession)
-			CurrentSpeciality = self:GetTradeSpeciality(CurrentProfession)
+			-- Add the recipes to the database
+			InitializeRecipes(RecipeList, playerdata)

-			self:ScanCraftSkills()
-			self:UpdateFilters(addon.RecipeListing, CurrentProfessionLevel, CurrentProfession, CurrentSpeciality)
+			-- Scan all recipes and mark the ones which ones we know
+			self:ScanForKnownRecipes(RecipeList, playerdata)

-		else
+			-- Update the table containing which reps to display
+			self:PopulateRepFilters(RepFilters)

-			self:Print("The crafting frame is not supported in Wrath of the Lich King. If you see this message submit a ticket on CurseForge please.")
-			return
+			-- Add filtering flags to the recipes
+			self:UpdateFilters(RecipeList, AllSpecialtiesTable, playerdata)
+
+			-- Mark excluded recipes
+			if (not addon.db.profile.ignoreexclusionlist) then

+				self:GetExclusions(RecipeList)
+
+			end
 		end

-	end
+		-- Sort the recipe list now
+		local sortedindex = self:SortMissingRecipes(RecipeList)

-	-- Sort the recipe list now
-	local sorttype = addon.db.profile.sortmethod
+		if (textdump == true) then

-	if (sorttype == 2) then
-		self:SortMissingRecipes(SortMissingSkill)
-	elseif (sorttype == 1) then
-		self:SortMissingRecipes(SortMissingName)
-	elseif (sorttype == 3) then
-		self:SortMissingRecipes(SortMissingAcquisition)
-	end
+			local temptext = self:GetTextDump(RecipeList)
+
+			self:DisplayTextDump(temptext)

-	self:CreateFrame(CurrentProfession, CurrentProfessionLevel, CurrentSpeciality)
+		else
+
+			self:Print("Debug: Found (known) Recipes: " .. playerdata.foundRecipes)
+			self:Print("Debug: Total Recipes: " .. playerdata.totalRecipes)
+			self:Print("Debug: Filtered Recipes: " .. playerdata.filteredRecipes)
+			self:CreateFrame(RecipeList, sortedindex, playerdata, AllSpecialtiesTable,
+								TrainerList, VendorList, QuestList, ReputationList,
+								SeasonalList, MobList)
+
+		end
+
+	end

 end

 --[[

-	Text dumping functions
+	Sorting Functions

 ]]--

--- Returns a text dump of everything about recipes, so the user can copy and paste it into another program
+-- Description: Sorts the recipe Database depending on the settings defined in the database.
+-- Expected result: A sorted array indexing values in the RecipeDB is returned.
+-- Input: The Recipe Database
+-- Output: A pointer to an array containing sorted values

-function addon:GetTextDump()
+function addon:SortMissingRecipes(RecipeDB)

-	local texttable = {}
+	-- Create a new array for the sorted index
+	local SortedRecipeIndex = {}

-	for i in pairs(addon.RecipeListing) do
+	-- Find out how he want to sort
+	local sorttype = addon.db.profile.sorting

-		if (addon.RecipeListing[i]["Known"]) then
-			table.insert(texttable,i .. "," .. addon.RecipeListing[i]["Level"] .. "," .. string.gsub(addon.RecipeListing[i]["Acquire"],addon.br," -") .. ",true")
-		else
-			table.insert(texttable,i .. "," .. addon.RecipeListing[i]["Level"] .. "," .. string.gsub(addon.RecipeListing[i]["Acquire"],addon.br," -") .. ",false")
-		end
+	self:Print("DEBUG: Sorting recipe array by: " .. sorttype)

+	-- Get all the indexes of the RecipeListing
+	for n, v in pairs(RecipeDB) do
+		tinsert(SortedRecipeIndex, n)
 	end

-	return table.concat(texttable,"\n")
+	if (sorttype == L["Skill"]) then

-end
+		tsort(SortedRecipeIndex, function(a,b) return RecipeDB[a]["Level"] < RecipeDB[b]["Level"] end)

--- Opens up a GUI window with a text dump in it
+	elseif (sorttype == L["Name"]) then

-function addon:TextDump()
+		tsort(SortedRecipeIndex, function(a,b) return RecipeDB[a]["Name"] < RecipeDB[b]["Name"] end)

-	local CurrentProfession, CurrentProfessionLevel, CurrentSpeciality
+	elseif (sorttype == L["Acquisition"]) then
+
+		tsort(SortedRecipeIndex, function(a,b) return RecipeDB[a]["Acquire"][1]["Type"] < RecipeDB[b]["Acquire"][1]["Type"] end)

-	-- Initializes the vendor list
-	if (addon.VendorList == nil) then
-		addon.VendorList = {}
-		self:InitVendor()
 	end

-	self:InitializeRecipeArray()
+	return SortedRecipeIndex

-	if (addon.SkillType == nil) then
+end

-		self:Print(L["OpenTradeSkillWindow"])
-		return
+--[[
+
+	Recipe Exclusion Functions

-	-- Trade type skills
-	elseif (addon.SkillType == "Trade") then
+--]]

-		-- Get the name of the current trade skill opened, along with the current level of the skill.
-		CurrentProfession, CurrentProfessionLevel = GetTradeSkillLine()
-		CurrentSpeciality = self:GetTradeSpeciality(CurrentProfession)
-		InitializeTradeRecipes(CurrentProfession)
+-- Description: Marks all exclusions in the recipe database to not be displayed
+-- Expected result: Parses the recipe database marking all exlusions to not be displays
+-- Input: Recipe Database
+-- Output: None, Recipe Database is passed as a reference

-		if (CurrentProfession == GetSpellInfo(2842)) then
-			-- Player level = profession level for rogue poisons
-			CurrentProfessionLevel = UnitLevel("player")
+function addon:GetExclusions(RecipeDB)
+
+	local exclusionlist = addon.db.profile.exclusionlist
+
+	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
+			RecipeDB[i]["Display"] = false
 		end
+	end
+
+end
+
+-- Description: Removes or adds a recipe to the exclusion list.
+-- Expected result: The exclusion database is updated.
+-- Input: The spell IDsof the recipe
+-- Output: Exclusion database is updated
+
+function addon:ToggleExcludeRecipe(SpellID)

-		self:ScanTradeSkills()
-		self:UpdateFilters(addon.RecipeListing, CurrentProfessionLevel, CurrentProfession, CurrentSpeciality)
+	local exclusionlist = addon.db.profile.exclusionlist

-	-- Craft type skills
-	elseif (addon.SkillType == "Craft") then
+	-- Remove the Spell from the exclusion list
+	if (exclusionlist[SpellID]) then

-		if (not addon.wrath) then
+		exclusionlist[SpellID] = nil

-			-- Get the name of the current craft.
-			CurrentProfession = GetCraftName()
-			CurrentProfessionLevel = InitializeCraftRecipes(CurrentProfession)
-			CurrentSpeciality = self:GetTradeSpeciality(CurrentProfession)
+	else
+
+		exclusionlist[SpellID] = true
+
+	end

-			self:ScanCraftSkills()
-			self:UpdateFilters(addon.RecipeListing, CurrentProfessionLevel, CurrentProfession, CurrentSpeciality)
+end
+
+--[[
+
+	Searching Functions
+
+]]--
+
+-- Description: Scans through the recipe database and toggles the flag on if the item is in the search criteria
+-- Expected result: The Search flag is toggle off for anything that does not meet search criteria
+-- Input: Recipe database
+-- Output: None, array is a reference
+
+function addon:SearchRecipeDB(RecipeDB, searchstring)
+
+	-- Go through the entire database
+	for SpellID in pairs(RecipeDB) do
+
+		-- Allow us to search by spell ID
+		if sfind(SpellID,searchstring) or
+
+		-- Allow us to search byitem ID
+		sfind(RecipeDB[SpellID]["ItemID"],searchstring) or
+
+		-- Allow us to search by name
+		sfind(RecipeDB[SpellID]["Name"],searchstring) then
+
+		-- Allow us to search in the Acquire information
+		--sfind(RecipeDB[SpellID]["Name"],searchstring) then
+
+			RecipeDB[SpellID]["Search"] = true

 		else

-			self:Print("The crafting frame is not supported in Wrath of the Lich King. If you see this message submit a ticket on CurseForge please.")
-			return
+			RecipeDB[SpellID]["Search"] = false

 		end

 	end

-	-- Sort the recipe list now
-	local sorttype = addon.db.profile.sortmethod
+end
+
+-- Description: Goes through the recipe database and resets all the search flags
+-- Expected result: All search flags are reset to true
+-- Input: Recipe database
+-- Output: None, array is a reference
+
+function addon:ResetSearch(RecipeDB)
+
+	for SpellID in pairs(RecipeDB) do
+
+		RecipeDB[SpellID]["Search"] = true

-	if (sorttype == 2) then
-		self:SortMissingRecipes(SortMissingSkill)
-	elseif (sorttype == 1) then
-		self:SortMissingRecipes(SortMissingName)
-	elseif (sorttype == 3) then
-		self:SortMissingRecipes(SortMissingAcquisition)
 	end

-	local temptext = self:GetTextDump()
+end
+
+--[[
+
+	Text dumping functions
+
+]]--
+
+-- Description: Scans through the recipe database providing a string of comma seperated values for all recipe information
+-- Expected result: Single string of all recipes provided.
+-- Input: Recipe database
+-- Output: Array is a reference, string of text dump
+
+function addon:GetTextDump(RecipeDB)

-	self:DisplayTextDump(temptext)
+	local texttable = {}
+
+	for SpellID in pairs(RecipeDB) do
+
+		if (RecipeDB[SpellID]["Known"]) then
+
+			tinsert(texttable,SpellID .. "," .. RecipeDB[SpellID]["Name"] .. "," .. RecipeDB[SpellID]["Level"] .. "," .. ",true")
+
+		else
+
+			tinsert(texttable,SpellID .. "," .. RecipeDB[SpellID]["Name"] .. "," .. RecipeDB[SpellID]["Level"] .. "," .. ",false")
+
+		end
+
+	end
+
+	return table.concat(texttable,"\n")

 end
diff --git a/AckisRecipeList.toc b/AckisRecipeList.toc
index e3422ad..2d3169e 100644
--- a/AckisRecipeList.toc
+++ b/AckisRecipeList.toc
@@ -1,54 +1,48 @@
 ## Title: Ackis Recipe List
 ## Title-enUS: Ackis Recipe List
-## Title-enGB: Ackis Recipe List
 ## Title-koKR: Ackis의 제조법 리스트
 ## Title-deDE: Ackis Rezeptliste

-## Notes: Displays a list of missing recipes for your trade skills.  Works with all trade skills, including rogue poisons and hunter beast training.
-## Notes-enUS: Displays a list of missing recipes for your trade skills.  Works with all trade skills, including rogue poisons and hunter beast training.
-## Notes-enGB: Displays a list of missing recipes for your trade skills.  Works with all trade skills, including rogue poisons and hunter beast training.
+## Notes: Scans your tradeskills and tells you which recipes you are missing, along with information on how to obtain them.
+## Notes-enUS: Scans your tradeskills and tells you which recipes you are missing, along with information on how to obtain them.
 ## Notes-frFR: Affiche une liste des recettes manquantes de vos métiers. Fonctionne avec tous les métiers, y compris les poisons des voleurs et les capacités des familiers des chasseurs.
 ## Notes-deDE: Zeigt eine Liste der Rezepte, die Ihr noch nicht mit eurem Beruf gelernt habt.  Funktioniert mit allen Berufen sowie den klassenspezifischen Berufen. (noch nicht vollständig übersetzt)
 ## Notes-esES: Muestra una lista de recetas inexistentes para sus Habilidades de Comercio. Funciona con todas las habilidades comerciales, incluidas venenos y entrenamiento de bestias del cazador.
 ## Notes-zhCN: 全面详细的商业技能信息插件,包括毒药和宠物技能.
 ## Notes-koKR: 캐릭터가 배우지 못한 제조법을 표시합니다. 모든 전문기술 및 도적의 독과 사냥꾼의 야수 훈련도 포함합니다.

-## Author: Ackis
-## X-Author-Server: Illidan US
-## X-Author-Faction: Horde
+## Author: Ackis, Zhinjio
 ## eMail: ackis AT shaw DOT ca
 ## X-email: ackis AT shaw DOT ca
 ## X-License: MIT modified with notification clause
 ## X-Donate: Donate a few bucks/hours at your local animal shelter, or send me UDE Point codes, a Murky Code, or an account upgrade certificate.

-## Interface: 20400
-## Version: 0.9372
+## Interface: 30000
+## Version: Beta 4
 ## X-Revision: $Rev$
 ## X-Date: $Date$

-## X-credits: FGWarmonger, Kagaro, Speeddymon, Xinhuan, Zhinjio
+## X-credits: FGWarmonger, Kagaro, Speeddymon, Xinhuan

 ## X-Category: Tradeskill
 ## X-Localizations: enUS, frFR, zhCN, zhTW, deDE, koKR, esES, esMX, ruRU
 ## X-Website: http://www.wowwiki.com/AckisRecipeList/
 ## X-Feedback: http://wow.curse.com/downloads/wow-addons/details/arl.aspx

-## X-LoadOn-Slash: /arl
 ## Dependencies:
-## X-Embeds: Ace3, LibStub, CallbackHandler-1.0, LibAboutPanel, LibBabble-Zone-3.0, LibBabble-Faction-3.0, LibBabble-Boss-3.0
 ## OptionalDeps: Ace3, LibStub, CallbackHandler-1.0, LibAboutPanel, LibBabble-Zone-3.0, LibBabble-Faction-3.0, LibBabble-Boss-3.0, Skillet, ATSW, Manufac
 ## DefaultState: Enabled
 ## LoadOnDemand: 0

-## SavedVariables: ARLDB
+## SavedVariables: ARLDB2

-# Library files
 embeds.xml

 # Localization files
 local.xml

 AckisRecipeList.lua
+ARLConfig.lua
 ARLFrame.lua
 ARLColour.lua

diff --git a/Documentation.lua b/Documentation.lua
new file mode 100644
index 0000000..07362cb
--- /dev/null
+++ b/Documentation.lua
@@ -0,0 +1,528 @@
+--[[
+****************************************************************************************
+
+Documentation.lua
+
+Documentation to keep the other files nice and tidy
+Is all just text but keeping in .lua form so editors can collapse sections easily.
+
+$Date$
+$Rev$
+
+****************************************************************************************
+]]--
+
+--[[
+************************************************************************
+Localization:
+	All the localization files are located in the "Locals" sub-
+	directory.  Feel free to edit locals in any language, make the enUS
+	more effecient, correct typos, etc.  All I would ask is if you do
+	edit something, check in-game first to make sure the change works.
+************************************************************************
+--]]
+
+--[[
+************************************************************************
+Graphical Interface:
+	All the graphical interface functions are located in ARLFrame.lua.
+	This file contains all the functions needed for the GUI.  If you
+	have enhancements, know how to fix an issue, etc please feel free to
+	contribute.  Just leave a detailed commit note.  If it's a new
+	feature please run it by me first before adding anything.
+************************************************************************
+--]]
+
+--[[
+************************************************************************
+In the RecipeDB is a single file for each profession. Each recipe is inserted
+into the database via 3 functions. For example:
+
+	self:addTradeSkill(RecipeDB, 25610, 120, 20950, 1)
+	self:addTradeFlags(RecipeDB, 25610, 1,2,3,4,21,22,23,24,25,26,27,28,29,30,36,40,41,47,56,62)
+	self:addTradeAcquire(RecipeDB, 25610, 2, 4877, 2, 1448)
+
+addTradeSkill
+	This function adds the main recipe entry, including the following information:
+		-- Spell ID
+		-- Skill Level Learnt
+		-- Item ID created
+		-- Recipe Rarity
+		-- Recipe Speciality (if applicable)
+	From there, internal functions determine the following:
+		-- Name of the recipe
+		-- Link determining the recipe made
+
+addTradeFlags
+	This function adds a series of "flags" about the recipe. This include a fairly
+	exhaustive look at the recipe and the item made, where is can be obtained, etc.
+	The individual flags are documented further down
+
+addTradeAcquire
+	This function adds entries into the main database with exact instructions on how the recipe
+	can be obtained. The details of these acquire methods are detailed further down
+************************************************************************
+--]]
+
+--[[
+************************************************************************
+SavedVariable Structure
+	* default values are indicated where applicable
+	* descriptions of values are at right
+
+addon.db.profile---->
+		sorting = ""Skill" [ | "Name" | "Acquisition" ]		-- Sorting method
+
+	includefiltered			= false [ | true ]			-- include filtered recipes in progress bar
+	closeguionskillclose		= false [ | true ]			-- close ARL GUI when skill window closes
+	ignoreexclusionlist		= false [ | true ]			-- ignore exclusion list (they get displayed)
+	uiscale				= 1 (Ranged from .5 -> 1.5)	-- the UI Scaling
+
+	exclusionlist = {
+		ExcludedSpellID1		= true,				-- list of excluded recipes
+		ExcludedSpellID2	= true,
+		...
+	}
+
+	filters = {
+		general = {									-- General Filters
+			faction		= true [ | false ]				-- Display Cross Faction recipes
+			class			= false [ | true ]				-- Display All Class Specific recipes
+			specialty		= false [ | true ]				-- Display All Specialty recipes
+			skill			= true [ | false ]				-- Display All Skill Level recipes
+			known		= false [ | true ]				-- Display All Known recipes
+			unknown		= true [ | false ]				-- Display All Unknown recipes
+		},
+		obtain = {									-- Obtain Options
+			trainer		= true [ | false ]				-- Display trainer obtained recipes
+			vendor		= true [ | false ]				-- Display vendor obtained recipes
+			instance		= true [ | false ]				-- Display instance obtained recipes
+			raid			= true [ | false ]				-- Display raid obtained recipes
+			seasonal		= true [ | false ]				-- Display seasonal recipes
+			quest			= true [ | false ]				-- Display quest reward recipes
+			pvp			= true [ | false ]				-- Display pvp obtained recipes
+			discovery		= true [ | false ]				-- Display discverved recipes
+			worlddrop		= true [ | false ]				-- Display world drop recipes
+			mobdrop		= true [ | false ]				-- Display mob drop recipes
+		},
+		item = {									-- Item Filters (Armor/Weapon)
+			armor = {
+				cloth		= true [ | false ]				-- Display cloth recipes
+				leather	= true [ | false ]				-- Display leather recipes
+				mail		= true [ | false ]				-- Display mail recipes
+				plate		= true [ | false ]				-- Display plate recipes
+				trinket	= true [ | false ]				-- Display trinket recipes
+				cloak		= true [ | false ]				-- Display cloak recipes
+				ring		= true [ | false ]				-- Display ring recipes
+				necklace	= true [ | false ]				-- Display necklace recipes
+				shield	= true [ | false ]				-- Display shield recipes
+			},
+			weapon = {
+				onehand	= true [ | false ]				-- Display one hand weapon recipes
+				twohand	= true [ | false ]				-- Display two hand weapon recipes
+				axe		= true [ | false ]				-- Display axe weapon recipes
+				sword	= true [ | false ]				-- Display sword weapon recipes
+				mace		= true [ | false ]				-- Display mace weapon recipes
+				polearm	= true [ | false ]				-- Display polearm weapon recipes
+				dagger	= true [ | false ]				-- Display dagegr weapon recipes
+				fist		= true [ | false ]				-- Display fist weapon recipes
+				staff		= true [ | false ]				-- Display staff weapon recipes
+				wand		= true [ | false ]				-- Display wand weapon recipes
+				thrown	= true [ | false ]				-- Display thrown weapon recipes
+				bow		= true [ | false ]				-- Display bow weapon recipes
+				crossbow	= true [ | false ]				-- Display crossbow weapon recipes
+				ammo		= true [ | false ]				-- Display ammo recipes
+			},
+		},
+		binding = {									-- Item/Recipe Binding filters
+			itemboe		= true [ | false ]				-- Crafted Item is BoE
+			itembop		= true [ | false ]				-- Crafted Item is BoP
+			recipebop		= true [ | false ]				-- Recipe is BoE
+			recipeboe		= true [ | false ]				-- Recipe is BoE
+		},
+		player = {									-- Player Type filters
+			melee			= true [ | false ]				-- Melee DPS recipes
+			tank			= true [ | false ]				-- Tank recipes
+			healer		= true [ | false ]				-- Healer recipes
+			caster		= true [ | false ]				-- Caster DPS recipes
+		},
+		rep = {									-- Reputation filters
+												-- Azeroth faction filters
+			aldor				= true [ | false ]
+			scryer			= true [ | false ]
+			argentdawn			= true [ | false ]
+			ashtonguedeathsworn 	= true [ | false ]
+			cenarioncircle		= true [ | false ]
+												-- Outland faction filters
+			cenarionexpedition	= true [ | false ]
+			consortium			= true [ | false ]
+			hellfire			= true [ | false ]
+			keepersoftime		= true [ | false ]
+			nagrand			= true [ | false ]
+			lowercity			= true [ | false ]
+			scaleofthesands		= true [ | false ]
+			shatar			= true [ | false ]
+			shatteredsun		= true [ | false ]
+			sporeggar			= true [ | false ]
+			thoriumbrotherhood	= true [ | false ]
+			timbermaw			= true [ | false ]
+			violeteye			= true [ | false ]
+			zandalar			= true [ | false ]
+												-- WotLK faction filters
+			argentcrusade		= true [ | false ]
+			frenzyheart		= true [ | false ]
+			ebonblade			= true [ | false ]
+			kirintor			= true [ | false ]
+			sonsofhodir			= true [ | false ]
+			kaluak			= true [ | false ]
+			oracles			= true [ | false ]
+			wyrmrest			= true [ | false ]
+			silvercovenant		= true [ | false ]
+			sunreavers			= true [ | false ]
+			explorersleague		= true [ | false ]
+			valiance			= true [ | false ]
+			handofvengeance		= true [ | false ]
+			taunka			= true [ | false ]
+			warsongoffensive		= true [ | false ]
+		}
+	}
+************************************************************************
+
+--]]
+
+
+--[[
+************************************************************************
+Item Flags
+	A recipe can be flagged with many (or even all) of the below flags. They are defined
+	as follows:
+
+	-- How to obtain (flags 1 - 20 for growth):
+		-- 1 = Alliance faction only
+		-- 2 = Horde faction only
+		-- 3 = Trainer
+		-- 4 = Vendor
+		-- 5 = Instance
+		-- 6 = Raid
+		-- 7 = Seasonal
+		-- 8 = Quest
+		-- 9 = PVP
+		-- 10 = World Drop
+		-- 11 = Mob drop
+		-- 12 = Discovery
+
+	-- Class (flags 21-35 for growth):
+		-- 21 = Deathknight
+		-- 22 = Druid
+		-- 23 = Hunter
+		-- 24 = Mage
+		-- 25 = Paladin
+		-- 26 = Priest
+		-- 27 = Shaman
+		-- 28 = Rogue
+		-- 29 = Warlock
+		-- 30 = Warrior
+
+	-- Type of crafted item (36-45 for growth):
+		-- 36 = Item BoE
+		-- 37 = Item BoP
+		-- 38 = Item BoA
+		-- 40 = Recipe BoE
+		-- 41 = Recipe BoP
+		-- 42 = Recipe BoA
+
+	-- Item class (46-50 for growth):
+		-- 46 = Weapon
+		-- 47 = Armor
+
+	-- Item Type (51-55 for growth):
+		-- 51 = Physical DPS (melee/hunters)
+		-- 52 = Tanking
+		-- 53 = Healing
+		-- 54 = Caster DPS
+
+	-- Armor Type (56-65 for growth):
+		-- 56 = Cloth
+		-- 57 = Leather
+		-- 58 = Mail
+		-- 59 = Plate
+		-- 60 = Cloak
+		-- 61 = Trinket
+		-- 62 = Ring
+		-- 63 = Necklace
+		-- 64 = Shield
+
+	-- Weapon Type (66-85 for growth):
+		-- 66 = 1H
+		-- 67 = 2H
+		-- 68 = Axe
+		-- 69 = Sword
+		-- 70 = Mace
+		-- 71 = Polearm
+		-- 72 = Dagger
+		-- 73 = Staff
+		-- 74 = Wand
+		-- 75 = Thrown
+		-- 76 = Bow
+		-- 77 = Crossbow
+		-- 78 = Ammo
+		-- 79 = Fist
+
+	-- Reputation
+		-- Original WoW (96-100):
+			-- 96 = Argent Dawn
+			-- 97 = Cenarion Circle
+			-- 98 = Thorium Brotherhood
+			-- 99 = Timbermaw Hold
+			-- 100 = Zandalar Tribe
+		-- Burning Crusade (101-114):
+			-- 101 = The Aldor
+			-- 102 = Ashtongue Deathsworn
+			-- 103 = Cenarion Expedition
+			-- 104 = Hellfire Factions (Thrallmar/Honor Hold)
+			-- 105 = Consortium
+			-- 106 = Keepers of Time
+			-- 107 = Lower City
+			-- 108 = Nagrand Factions (Maghar/Kureni)
+			-- 109 = Scale of the Sands
+			-- 110 = The Scryer
+			-- 111 = Sha'tar
+			-- 112 = Shattered Sun
+			-- 113 = Sporeggar
+			-- 114 = Violeteye
+		-- Below this is WotLK stuff. May need to be changed post beta
+		-- LK (115-XXX):
+			-- 115 = Argent Crusade
+			-- 116 = Frenzyheart Tribe
+			-- 117 = Knights of the Ebon Blade
+			-- 118 = Kirin Tor
+			-- 119 = The Sons of Hodir
+			-- 120 = The Kalu'ak
+			-- 121 = The Oracles
+			-- 122 = The Wyrmrest Accord
+			-- 123 = The Silver Convenant
+			-- 124 = The Sunreavers
+			-- 125 = Explorer's League
+			-- 126 = Valiance Expedition
+			-- 127 = The Hand of Vengeance
+			-- 128 = The Taunka
+			-- 129 = Warsong Offensive
+
+************************************************************************
+--]]
+
+
+--[[
+************************************************************************
+Item Acquire methods (and associated database values)
+	Defined below is the specification for the arguments passed back into
+	addTradeAcquire. Each Acquire Type passes in different parameters
+	depending on how the recipe is acquired:
+
+	Acquire Type = 1								( Trainer )
+		ID				- Index into TrainerList
+	Acquire Type = 2								( Vendor )
+		ID				- Index into VendorList
+	Acquire Type = 3								( Mob Drop )
+		ID				- Index into MobList
+	Acquire Type = 4								( Quest )
+		ID				- Index into QuestList
+	Acquire Type = 5								( Seasonal )
+		ID				- Index into SeasonList
+	Acquire Type = 6								( Reputation )
+		ID				- Index into ReputationList
+		RepLevel		- ReputationLevel**
+		RepVendor		- Index into VendorList
+	Acquire Type = 7								( World Drop )
+		ID				- Rarity Level
+
+
+	** - Reputation Level :
+		0 = Neutral
+		1 = Friendly
+		2 = Honored
+		3 = Revered
+		4 = Exalted
+************************************************************************
+--]]
+
+--[[
+************************************************************************
+
+Table Structures:
+
+	Recipe Array Structure:
+		SpellID = {
+			Level			- Skill level at which you can learn the recipe
+			ItemID			- ID of the item created by the recipe (if it exists)
+			Name			- Name of the recipe
+			Rarity			- Rarity level of recipe **
+			RecipeLink		- String containing the recipe link
+			Display			- Boolean determing if we display the recipe or not (via filters)
+			Known			- Boolean determining if you know the recipe
+			Search			- Boolean determining if it's in the search results (true = yes, false = no)
+			Profession		- Flag for identifying which profession it is.
+			Speciality		- Profession speciality (if it exists)
+		}
+
+	Rarity colours:
+		0 -		poor			#919191
+		1 -		common			#ffffff
+		2 -		uncommon		#00A900
+		3 -		rare			#0062C3
+		4 -		epic			#B343FF
+		5 -		legendary		#FA9900
+		6 -		artifact		#e5cc80
+
+	self:addLookupList(MobDB, 590, L["Defias Looter"], BZONE["Westfall"], 38.52, 55.94)
+		MobList
+			ID = {
+				Name			- Mob name
+				Location		- Mob location (zone)
+				Coordx			- X coordinate
+				Coordy			- Y coordinate
+			}
+
+	self:addLookupList(QuestDB, 2859, L["Wild Leather Leggings"], BZONE["Feralas"], 47.97, 67.15, 2)
+		QuestList
+			ID = {
+				Name			- Quest Name
+				Location		- Zone
+				Coordx			- X Coordinate of quest start
+				Coordy			- Y Coordinate of quest start
+				Faction			- Faction **
+			}
+
+	self:addLookupList(RepDB, 54, BFAC["Gnomeregan Exiles"]) -- Acquire Flag:
+		ReputationList
+			ID = {
+				Name			-- translated faction
+			}
+
+	self:addLookupList(SeasonDB, 3, L["Darkmoon Faire"])
+		SeasonList
+			ID = {
+				Name			-- Translated Seasonal Event name
+			}
+
+	self:addLookupList(TrainerDB, 16583, L["Rohok"], BZONE["Hellfire Peninsula"], 54.62, 40.62, 2)
+		TrainerList
+			ID = {
+				Name			-- Trainer Name
+				Location		-- Location (zone)
+				Coordx			-- Trainer X coordinate
+				Coordy			-- Trainer Y coordinate
+				Faction			-- Faction ID **
+			}
+
+	self:addLookupList(VendorDB, 13433, L["Wulmort Jinglepocket"], BZONE[""], 0, 0, 0)
+		VendorList
+			ID = {
+				Name			-- Vendor Name
+				Location		-- Location (zone)
+				Coordx			-- Vendor X coordinate
+				Coordy			-- Vendor Y coordinate
+				Faction			-- Vendor Faction ID **
+
+	**
+		1 -		Horde
+		2 -		Alliance
+		3 -		Neutral
+
+************************************************************************
+--]]
+
+--[[
+************************************************************************
+Tooltip format: (acquire order : 5 7 3 4 1 2 6 )
+
+Recipe Name
+
+Obtained from :
+Seasonal:				SeasonEventName
+World Drop				RarityLevel
+Mob Drop:				Mob Name
+MobZone					MobCoords
+Quest:					QuestName
+QuestZone				QuestCoords
+Trainer:				TrainerName
+TrainerZone				TrainerCoords
+Vendor:					VendorName
+VendorZone				VendorCoords
+Reputation:				Faction
+FactionLevel			RepVendor
+RepVendorZone			RepVendorCoords
+
+Alt-Click to add this recipe to your ignore list
+Ctrl-Click to add this recipe's link to your chat
+Shift-Click to add the item crafted by this recipe's link to your chat
+
+--]]
+
+--[[
+************************************************************************
+ZJ - 10/6/08
+
+I started thinking about the general flow of the CheckDisplayRecipe function. Since
+I was adding a few things in there, I figured I'd put my logic down here. Feel free to
+use it or discard it as you see fit
+
+Filters can be divided into two general categories:
+	Exclusive		: if ANY of these are flagged to "FALSE", the recipe will not display
+	Non-exclusive	: if ANY of these filters are flagged to "TRUE", the recipe will display
+
+Thus, one possible flow for the CheckDisplayRecipe function is as follows:
+
+Stage 1 : Exclusive filters
+	- set retval to true
+	- loop through ALL Exclusive filters. If any "FALSE" condition exists, flag to false and exit loop
+
+Stage 2 : Nonexclusive filters (only do this is Stage 1 produced a TRUE value
+	- set retval to false
+	- loop through ALL Nonexclusive filters. If any "TRUE" condition exists, flag to true and exit loop
+
+	Finally, return retval
+
+I believe this will get through the flags in the shortest possible route, short circuiting the
+looping when any condition warrants it
+************************************************************************
+--]]
+
+--[[
+************************************************************************
+List of Exclusive filters:
+	specialty
+	known
+	unknown
+	class
+	skill
+	bindings (
+		itemboe
+		itembop
+		recipebop
+		recipeboe
+	)
+
+List of Non-exclusive filters:
+	-- If false, this will only exclude the display of cross-faction vendors/trainers/etc
+	faction
+
+	-- The following filters will simply squelch the display of that particular acquire method
+	trainer
+	vendor
+	instance
+	raid
+	seasonal
+	quest
+	pvp
+	discovery
+	worlddrop
+	mobdrop
+	item	(This includes ALL weapon and armor item types)
+	player types ( melee, tank, caster, healer )
+	reputation (All recputation flags )
+
+	-- Note that if NO acquire methods remain unfiltered, the recipe will not be displayed
+
+************************************************************************
+--]]
\ No newline at end of file
diff --git a/Locals/ARLLocals-enUS.lua b/Locals/ARLLocals-enUS.lua
index 6255a93..4262027 100644
--- a/Locals/ARLLocals-enUS.lua
+++ b/Locals/ARLLocals-enUS.lua
@@ -16,114 +16,258 @@ Please make sure you update the ToC file with any translations.
 ****************************************************************************************
 ]]--

+--[[
+Locale schema
+	* single and double words are just fine, anything longer should have a tag
+	* tag name rules:
+		* tags should be ALL_CAPITAL_LETTERS with words separated with _'s
+		* descriptions are typically used in tooltips and header in sections
+		* short descriptions will end in _DESC
+		* long descriptions will end in _LONG
+	* don't include the object being described in the name (no _TOGGLE or _TT) since it
+	  can be used several times to describe different objects (in theory)
+	* group related elements together, either by their location in the GUI/config,
+	  or by purpose (Weapon categories, etc)
+]]--
+
 local L = LibStub("AceLocale-3.0"):NewLocale("Ackis Recipe List", "enUS", true)
+
 if not L then return end

--- Addon Info
-L["Version"] = "Version: "
+-- General strings
+L["Filters"]				= true
+L["All"]					= true
+L["None"]					= true
+L["Ok"]						= true
+
+-- Config Options
+L["About"]					= true
+L["Main Options"]			= true
+L["General Settings"]		= true
+L["Display Settings"]		= true
+L["Sorting Settings"]		= true
+L["Profile Options"]		= true
+
+-- Config UI Elements and their associated descriptions
+L["MAIN_OPTIONS_DESC"]		= "Main configuration options"
+L["Scan Skills"]			= true
+L["SCAN_RECIPES_DESC"]		= "Scans an open tradeskill for missing recipes."
+L["Text Dump"]				= true
+L["TEXT_DUMP_DESC"]			= "Displays all recipes in a comma seperated value format which can be copied and pasted into another client."
+L["DISPLAY_SETTINGS_DESC"]	= "Allows you to customize how the GUI behaves."
+L["SORTING_SETTINGS_DESC"]	= "Allows you to customize the way displayed recipes are sorted."
+
+-- Config UI Elements and their associated descriptions
+L["Include Filtered"]		= true
+L["FILTERCOUNT_DESC"]		= "Include filtered 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
+L["DISPLAY_EXCLUSION_DESC"]	= "Display recipes that are in the exclusion list."
+L["UI Scale"]				= true
+L["UI_SCALE_DESC"]			= "Changes the scale of the UI. Ranges from .5 to 1.5 (1 is default)"
+L["Tooltip Scale"]			= true
+L["TOOLTIP_SCALE_DESC"]		= "Changes the scale of the ARL Tooltip. Ranges from .5 to 1.5 (.9 is default)"
+L["Sorting"]				= true
+L["Sort"]					= true
+L["Display"]				= true
+L["SORTING_DESC"]			= "Change the way in which displayed recipes are sorted."
+L["Version"]				= "Version: "
+L["Name"]					= true
+L["Skill"]					= true
+L["Acquisition"]			= true
+
+-- Filter Config Options
+L["Filtering Options"]		= true
+L["General"]				= true
+L["Obtain"]					= true
+L["Binding"]				= true
+L["Item"]					= true
+L["Armor"]					= true
+L["Weapons"]				= true
+L["Player Type"]			= true
+L["Reputation"]				= true
+L["Old World"]				= true
+L["Burning Crusade"]		= true
+L["Wrath of the Lich King"]	= true

--- Options Categories
-L["About"] = true
-L["Display"] = true
-L["DISPLAY_OPTIONS"] = "Display Options"
-L["DISPLAY_OPTIONS_LONG"] = "Allows you to customize how the GUI behaves."
-L["Filter"] = true
-L["Filters"] = true
-L["FILTER_OPTIONS"] = "Filtering Options"
-L["FILTER_OPTIONS_LONG"] = "Allows you to customize which recipes are filtered."
-L["Reputation"] = true
-L["REP_OPTIONS"] = "Reputation Options"
-L["REP_OPTIONS_LONG"] = "Allows you to customize which reputations are included in the scan."
-L["Binding"] = true
-L["BINDING_OPTIONS"] = "Binding Options"
-L["BINDING_OPTIONS_LONG"] = "Allows you to customize which types of binding are included in the scan."
-L["Crafting"] = true
-L["CRAFTING_OPTIONS"] = "Crafting Options"
-L["CRAFTING_OPTIONS_LONG"] = "Allows you to customize which types of crafting items are included in the scan."
-L["Armour"] = true
-L["ARMOUR_OPTIONS"] = "Armour Options"
-L["ARMOUR_OPTIONS_LONG"] = "Allows you to customize which armour types are included in the scan."
-L["Obtain"] = true
-L["OBTAIN_OPTIONS"] = "Obtain Options"
-L["OBTAIN_OPTIONS_LONG"] = "Allows you to customize which methods of obtaining a recipe are included in the scan."
-L["Sort"] = "Sorting"
-L["SORT_OPTIONS"] = "Sorting Options"
-L["SORT_OPTIONS_LONG"] = "Allows you to customize the way missing recipes are sorted and displayed."
-L["Profile"] = true
-L["Scan Recipes"] = true
-L["Scans an open tradeskill for missing recipes."] = true
-L["Text Dump"] = true
-L["Displays all recipes in a comma seperated value format which can be copied and pasted into another client."] = true
+-- Filter Configuration Descriptions
+L["FILTERING_OPTIONS_DESC"]		= "Allows you to customize which recipes are filtered."
+L["General Filtering Options"]	= true
+L["FILTERING_GENERAL_DESC"]		= "Configuration for several more general filter types."
+L["Obtain Filtering Options"]	= true
+L["FILTERING_OBTAIN_DESC"]		= "Configuration for which methods of obtaining recipes are included in the scan."
+L["Binding Filtering Options"]	= true
+L["FILTERING_BINDING_DESC"]		= "Configuration for which types of binding are included in the scan."
+L["Item Filtering Options"]		= true
+L["FILTERING_ITEM_DESC"]		= "Configuration for which item types are included in the scan."
+L["Armor Filtering Options"]	= true
+L["FILTERING_Armor_DESC"]		= "Configuration for which types of armor are included in the scan."
+L["Weapon Filtering Options"]	= true
+L["FILTERING_WEAPONS_DESC"]		= "Configuration for which types of weapons are included in the scan."
+L["Player Type Filtering Options"]	= true
+L["FILTERING_PLAYERTYPE_DESC"]	= "Configuration for items matching which player types are included in the scan."
+L["Reputation Filtering Options"]	= true
+L["FILTERING_REP_DESC"]			= "Configuration for which reputation reward recipes are included in the scan."
+L["Old World Rep. Filtering Options"]	= true
+L["FILTERING_OLDWORLD_DESC"]	= "Configuration for which Old World Reputation reward recipes are included in the scan."
+L["Burning Crusade Rep. Filtering Options"]	= true
+L["FILTERING_BC_DESC"]			= "Configuration for which Burning Crusade Reputation reward recipes are included in the scan."
+L["Lich King Rep. Filtering Options"]	= true
+L["FILTERING_WOTLK_DESC"]		= "Configuration for which Wrath of the Lich King Reputation reward recipes are included in the scan."

--- Display Options
-L["Include Filtered"] = true
-L["FILTERCOUNT_TOGGLE"] = "Include filtered recipes in the count of total recipes."
-L["Close GUI"] = true
-L["CLOSEGUI_TOGGLE"] = "Close the ARL window when the crafting window is closed."
+-- General Filter UI Elements and their associated descriptions
+L["Faction"]				= true
+L["FACTION_DESC"]			= "Include both horde and alliance faction recipes in the scan."
+L["Classes"]				= true
+L["CLASS_DESC"]				= "Include all class specific recipes in the scan."
+L["Specialties"]			= true
+L["SPECIALTY_DESC"]			= "Include all trade-skill specialties in the scan."
+L["Skill"]					= true
+L["SKILL_DESC"]				= "Include all recipes in the scan, regardless of your current skill level."
+L["Known"]					= true
+L["KNOWN_DESC"]				= "Include all known recipes in the scan."
+L["Unknown"]				= true
+L["UNKNOWN_DESC"]			= "Include all unknown recipes in the scan."

--- Filtering Options
-L["Faction"] = true
-L["FACTION_TOGGLE"] = "Both horde and alliance faction recipes should be included in the scan."
-L["Classes"] = true
-L["CLASS_TOGGLE"] = "Class specific recipes should be included in the scan."
-L["Specialities"] = true
-L["SPECIALITY_TOGGLE"] = "All trade-skill specialities should be included in the scan."
-L["Skill"] = true
-L["SKILL_TOGGLE"] = "Include all recipes regardless of your current skill level."
-L["Old World"] = true
-L["OLDWORLD_OPTIONS"] = "Original WoW Reputations"
-L["OLDWORLD_OPTIONS_LONG"] = "Allows you to customize which Original WoW reputations should be included in the scan."
-L["Burning Crusade"] = true
-L["BC_OPTIONS"] = "Burning Crusade Reputations"
-L["BC_OPTIONS_LONG"] = "Allows you to customize which Burning Crusade reputations should be included in the scan."
-L["Wrath of the Lich King"]= true
-L["WOTLK_OPTIONS"] = "Wrath of the Lich King Reputations"
-L["WOTLK_OPTIONS_LONG"] = "Allows you to customize which Wrath of the Lich King reputations should be included in the scan."
+-- Obtain Filter UI Elements and their associated descriptions
+L["Instance"]				= true
+L["INSTANCE_DESC"]			= "Recipes obtained from (5 man) instances should be included in the scan."
+L["Raid"]					= true
+L["RAID_DESC"]				= "Recipes obtained in raids (ie: Molten Core, Serpent Shrine Cavern, etc.) should be included in the scan."
+L["Quest"]					= true
+L["QUEST_DESC"]				= "Recipes obtained as quest rewards should be included in the scan."
+L["Seasonal"]				= true
+L["SEASONAL_DESC"]			= "Recipes obtained in seasonal events should be included in the scan."
+L["Trainer"]				= true
+L["TRAINER_DESC"]			= "Recipes learned from trainers should be included in the scan."
+L["Vendor"]					= true
+L["VENDOR_DESC"]			= "Recipes purchased from vendors should be included in the scan."
+L["PVP"]					= true
+L["PVP_DESC"]				= "Recipes obtained through PVP should be included in the scan."
+L["Discovery"]				= true
+L["DISCOVERY_DESC"]			= "Recipes obtained through Discovery should be included in the scan."
+L["World Drop"]				= true
+L["WORLD_DROP_DESC"]		= "Recipes that are World Drops should be included in the scan."
+L["Mob Drop"]				= true
+L["MOB_DROP_DESC"]			= "Recipes that are Mob Drops should be included in the scan."

--- Obtain Filter Options
-L["BOEFilter"] = "Item Bind on Equip"
-L["BOE_TOGGLE"] = "Recipes that make Bind on Equip items should be included in the scan."
-L["BOPFilter"] = "Item Bind on Pickup"
-L["BOP_TOGGLE"] = "Recipes that make Bind on Pickup items should be included in the scan."
-L["RecipeBOEFilter"] = "Recipe Bind on Equip"
-L["RECIPE_BOE_TOGGLE"] = "Recipes that are Bind on Equip should be included in the scan."
-L["RecipeBOPFilter"] = "Recipe Bind on Pickup"
-L["RECIPE_BOP_TOGGLE"] = "Recipes that are Bind on Pickup should be included in the scan."
-L["PVP_TOGGLE"] = "PVP obtained recipes should be included in the scan."
-L["RAID_TOGGLE"] = "Hard to get raid (ie: Molten Core, Serpent Shrine Cavern, etc.) recipes should be included in the scan."
-L["SEASONAL_TOGGLE"] = "Seasonal obtained recipes should be included in the scan."
-L["TRAINER_TOGGLE"] = "Trainer learned recipes should be included in the scan."
-L["VENDOR_TOGGLE"] = "Vendor bought recipes should be included in the scan."
-L["INSTANCE_TOGGLE"] = "Recipes which are obtained from instances should be included in the scan."
-L["QUEST_TOGGLE"] = "Quest reward recipes should be included in the scan."
-L["Cloth"] = true
-L["CLOTH_TOGGLE"] = "Patterns that make cloth items should be included in the scan."
-L["Leather"] = true
-L["LEATHER_TOGGLE"] = "Patterns that make leather items should be included in the scan."
-L["Mail"] = true
-L["MAIL_TOGGLE"] = "Patterns that make mail items should be included in the scan."
-L["Plate"] = true
-L["PLATE_TOGGLE"] = "Patterns that make plate items should be included in the scan."
-L["Melee"] = true
-L["MELEE_TOGGLE"] = "Patterns that are used for melee/physical dps should be included in the scan."
-L["Caster DPS"] = true
-L["CASTERDPS_TOGGLE"] = "Patterns that are used for caster dps should be included in the scan."
-L["Tanking"] = true
-L["TANKING_TOGGLE"] = "Patterns that are used for tanking should be included in the scan."
-L["Healing"] = true
-L["HEALING_TOGGLE"] = "Patterns that are used for healing should be included in the scan."
-L["World Drop"] = true
-L["WORLD_DROP_TOGGLE"] = "Patterns that are World Drops should be included in the scan."
-L["MOB_DROP_TOGGLE"] = "Patterns that are Mob Drops should be included in the scan."
+-- Binding Filter UI Elements and their associated descriptions
+L["BOEFilter"]				= "Item Bind on Equip"
+L["BOE_DESC"]				= "Recipes that make Bind on Equip items should be included in the scan."
+L["BOPFilter"]				= "Item Bind on Pickup"
+L["BOP_DESC"]				= "Recipes that make Bind on Pickup items should be included in the scan."
+L["RecipeBOEFilter"]		= "Recipe Bind on Equip"
+L["RECIPE_BOE_DESC"]		= "Recipes that are Bind on Equip should be included in the scan."
+L["RecipeBOPFilter"]		= "Recipe Bind on Pickup"
+L["RECIPE_BOP_DESC"]		= "Recipes that are Bind on Pickup should be included in the scan."

--- Sorting options
-L["Name"] = true
-L["Skill"] = true
-L["Acquisition"] = true
+-- Item - Armor UI Elements and their associated descriptions
+L["Cloth"]					= true
+L["CLOTH_DESC"]				= "Recipes that make cloth items should be included in the scan."
+L["Leather"]				= true
+L["LEATHER_DESC"]			= "Recipes that make leather items should be included in the scan."
+L["Mail"]					= true
+L["MAIL_DESC"]				= "Recipes that make mail items should be included in the scan."
+L["Plate"]					= true
+L["PLATE_DESC"]				= "Recipes that make plate items should be included in the scan."
+L["Cloak"]					= true
+L["CLOAK_DESC"]				= "Recipes that make cloaks should be included in the scan."
+L["Ring"]					= true
+L["RING_DESC"]				= "Recipes that make rings should be included in the scan."
+L["Trinket"]				= true
+L["TRINKET_DESC"]			= "Recipes that make trinkets should be included in the scan."
+L["Necklace"]				= true
+L["NECKLACE_DESC"]			= "Recipes that make necklaces should be included in the scan."
+L["Shield"]					= true
+L["SHIELD_DESC"]			= "Recipes that make shields should be included in the scan."

--- Reputation Toggles
-L["SPECIFIC_REP_TOGGLE"] = "Include %s faction."
+-- Item - Weapon UI Elements and their associated descriptions
+L["One Hand"]				= true
+L["ONEHAND_DESC"]			= "Recipes that make one handed items should be included in the scan."
+L["Two Hand"]				= true
+L["TWOHAND_DESC"]			= "Recipes that make two handed items should be included in the scan."
+L["Axe"]					= true
+L["AXE_DESC"]				= "Recipes that make axes should be included in the scan."
+L["Sword"]					= true
+L["SWORD_DESC"]				= "Recipes that make swords should be included in the scan."
+L["Mace"]					= true
+L["MACE_DESC"]				= "Recipes that make maces should be included in the scan."
+L["Polearm"]				= true
+L["POLEARM_DESC"]			= "Recipes that make polearms should be included in the scan."
+L["Dagger"]					= true
+L["DAGGER_DESC"]			= "Recipes that make daggers should be included in the scan."
+L["Fist"]					= true
+L["FIST_DESC"]				= "Recipes that make fist weapons should be included in the scan."
+L["Staff"]					= true
+L["STAFF_DESC"]				= "Recipes that make staves should be included in the scan."
+L["Wand"]					= true
+L["WAND_DESC"]				= "Recipes that make wands should be included in the scan."
+L["Thrown"]					= true
+L["THROWN_DESC"]			= "Recipes that make thrown weapons should be included in the scan."
+L["Bow"]					= true
+L["BOW_DESC"]				= "Recipes that make bows should be included in the scan."
+L["Crossbow"]				= true
+L["CROSSBOW_DESC"]			= "Recipes that make crossbows should be included in the scan."
+L["Ammo"]					= true
+L["AMMO_DESC"]				= "Recipes that make ammunition should be included in the scan."

+-- Player Type Filtering UI Elements and their associated descriptions
+L["Melee DPS"]				= true
+L["MELEE_DPS_DESC"]			= "Recipes that are used by melee dps players should be included in the scan."
+L["Tanks"]					= true
+L["TANKS_DESC"]				= "Recipes that are used by tank players should be included in the scan."
+L["Caster DPS"]				= true
+L["CASTER_DPS_DESC"]		= "Recipes that are used by casting dps players should be included in the scan."
+L["Healers"]				= true
+L["HEALERS_DESC"]			= "Recipes that are used by healer players should be included in the scan."
+
+-- Reputation Filtering UI Elements and their associated description
+L["SPECIFIC_REP_DESC"]		= "Include %s faction."
+
+-- ZJUI UI Elements (when different from the above ones) and their associated descriptions
+L["FILTER_OPEN"]			= "Filter >>>"
+L["FILTER_OPEN_DESC"]		= "Open filter option panel."
+L["FILTER_CLOSE"]			= "<<< Filter"
+L["FILTER_CLOSE_DESC"]		= "Close filter option panel."
+L["EXPANDALL"]				= "+ All"
+L["EXPANDALL_DESC"]			= "Expand all recipes listed below."
+L["CONTRACTALL"]			= "- All"
+L["CONTRACTALL_DESC"]		= "Minimize all recipes listed below."
+L["Search"]					= true
+L["SEARCH_DESC"]			= "Filter to recipes that contain text at left."
+L["CLEAR_DESC"]				= "Clear the search textbox."
+L["Close"]					= "Exit"
+L["CLOSE_DESC"]				= "Close the Ackis Recipe List Window."
+L["Reset"]					= true
+L["RESET_DESC"]				= "Reset All Filters to default values."
+L["Apply"]					= true
+L["APPLY_DESC"]				= "Apply the above selected filters to the recipe list"
+L["ARMOR_ALL_DESC"]			= "Recipes that make ANY armor item should be included in the scan."
+L["ARMOR_NONE_DESC"]		= "Do NOT include any recipes that make armor items in the scan."
+L["WEAPON_ALL_DESC"]		= "Recipes that make ANY weapon item should be included in the scan."
+L["WEAPON_NONE_DESC"]		= "Do NOT include any recipes that make weapon items in the scan."
+
+-- Common Tooltip Strings (where different from above)
+L["CTRL_CLICK"]			= "Ctrl-Click to add this recipe's link to your chat"
+L["ALT_CLICK"]			= "Alt-Click to add this recipe to your ignore list"
+L["SHIFT_CLICK"]		= "Shift-Click to add the item crafted by this recipe's link to your chat"
+L["Obtained From"]		= true
+L["RECIPE_EXCLUDED"]	= "Recipe is in Exclusion list"
+L["Required Skill"]		= true
+
+-- Reputation Level String
+L["Neutral"]	= true
+L["Friendly"]	= true
+L["Honored"]	= true
+L["Revered"]	= true
+L["Exalted"]	= true
+
+-- Popup Strings
+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."
+
+------------------------------------------
 -- Non-gui text
 L["MissingFromDB"] = ": is is missing from the database. \nPlease inform the author of the add-on about this recipe."
 L["MissingRecipePrefix"] = "Missing Recipe: "
@@ -132,163 +276,12 @@ L["InitiateScanSpecial"] = "Scanning %s - %s for missing recipes at skill level
 L["RecipeListSummary"] = "\nYou know %s out of %s total recipes (%s%%).\nYou are missing %s recipes."
 L["UnknownTradeSkill"] = "You have opened up a trade skill window which is not supported by this add-on.  The trade skill is %s.  Please provide the author of the add-on with this information."
 L["OpenTradeSkillWindow"] = "Please open trade skill window to scan."
-L["TwoCraftingWindows"] = "Crafting window already open.  Please close the other window and re-open this one if you wish to scan for missing recipes."
 L["SpellIDCache"] = "Spell ID: %s is not in your local cache.  Please submit a ticket at http://wow.curseforge.com/projects/ackis-recipe-list/tickets/ and include the spell ID and the profession in which you were scanning."
 L["FactionError"] = "Warning: Reputation level of %s is unknown."
 L["MissingFromDBWarning"] = "A recipe not in the database has been detected.  Tere may be some lag while we scan for the missing recipe spell ID."

--- GUI Text
-L["Close"] = true
-L["ScanButton"] = "Scan Skills"
-L["Scan Skills"] = true
-L["FILTER_OPEN"] = "Filter >>>"
-L["FILTER_CLOSE"] = "<<< Filter"
-L["Reset"] = true
-L["Sort"] = true
-L["World Drop"] = true
-L["Mob Drop"] = true
-L["Quest"] = true
-L["Reputation"] = true
-L["Instance"] = true
-L["BoPMenu"] = "BoP"
-L["Horde"] = true
-L["Alliance"] = true
-L["Known"] = true
-L["Unknown"] = true
-
--- More stuff for new gui, ZJ 7/26/08
-L["General"] = true
-L["Class Specific recipes"] = true
-L["Craft Specialty recipes"] = true
-L["All Skill Levels"] = true
-L["Item"] = true
-L["Armor"] = true
-L["Weapon"] = true
-L["Player"] = true
-L["Tank"] = true
-L["Healer"] = true
-L["Melee DPS"] = true
-L["All"] = true
-L["None"] = true
-L["Dagger"] = true
-L["1H"] = "One Hand"
-L["2H"] = "Two Hand"
-L["Axe"] = true
-L["Mace"] = true
-L["Sword"] = true
-L["Polearm"] = true
-L["Thrown"] = true
-L["Ammo"] = true
--- unused, but included anyway. Who knows what the future may bring
-L["Bow"] = true
-L["Crossbow"] = true
-L["Staff"] = true
--- More stuff for new GUI, ZJ 8/11/08
-L["Search"] = true
-L["SEARCH_TT"] = "Filter to recipes that contain text at left"
-L["Apply"] = true
-L["Apply_TT"] = "Apply the above selected filters to the recipe list"
-L["ExpandAll"] = "+ All"
-L["EXPAND_TT"] = "Expand all recipes listed below"
-L["ContractAll"] = "- All"
-L["CONTRACT_TT"] = "Minimize all recipes listed below"
-L["Clear"] = "(X)"
-L["CLEAR_TT"] = "Clear the search textbox"
--- new GUI, ZJ 8/26/08
-L["General_TT"] = "Click to configure General Filtering Options"
-L["Obtain_TT"] = "Click to configure Obtain Filtering Options"
-L["Binding_TT"] = "Click to configure Binding Filtering Options"
-L["Item_TT"] = "Click to configure Item Filtering Options"
-L["Player_TT"] = "Click to configure Player Filtering options"
-L["Reputation_TT"] = "Click to configure Reputation Filtering options"
-L["IBOE_TT"] = "Bind on Equip Crafted items will be included in the scan"
-L["IBOE"] = "Crafted Item is Bind on Equip"
-L["IBOP_TT"] = "Bind on Pickup Crafted items will be included in the scan"
-L["IBOP"] = "Crafted Item is Bind on Pickup"
-L["RBOE_TT"] = "Bind on Equip Recipes will be included in the scan"
-L["RBOE"] = "Recipe is Bind on Equip"
-L["RBOP_TT"] = "Bind on Pickup Recipes will be included in the scan"
-L["RBOP"] = "Recipe is Bind on Pickup"
-L["ArmorAll_TT"] = "Include all Armor recipes in the scan"
-L["ArmorNone_TT"] = "Do not include any Armor recipes in the scan"
-L["WeaponAll_TT"] = "Include all Weapon recipes in the scan"
-L["WeaponNone_TT"] = "Do not include any Weapon recipes in the scan"
-L["Weapon1H_TT"] = "Include one handed Weapon recipes in the scan"
-L["Weapon2H_TT"] = "Include two handed Weapon recipes in the scan"
-L["WeaponDagger_TT"] = "Include Dagger recipes in the scan"
-L["WeaponAxe_TT"] = "Include Axe recipes in the scan"
-L["WeaponMace_TT"] = "Include Mace recipes in the scan"
-L["WeaponSword_TT"] = "Include Sword recipes in the scan"
-L["WeaponPolearm_TT"] = "Include Polearm recipes in the scan"
-L["WeaponThrown_TT"] = "Include Thrown Weapon recipes in the scan"
-L["WeaponBow_TT"] = "Include Bow recipes in the scan"
-L["WeaponCrossbow_TT"] = "Include Crossbow recipes in the scan"
-L["WeaponStaff_TT"] = "Include Staff recipes in the scan"
-L["WeaponAmmo_TT"] = "Include Ammunition recipes in the scan"
-L["WeaponWand_TT"] = "Include Wand recipes in the scan"
-L["MOB_DROP_TT"] = "Include Mob Drop recipes in the scan"
--- ZJ 8/28/08
-L["CLOAK_TOGGLE"] = "Include Cloak item recipes in the scan"
-L["Cloak"] = true
-L["NECKLACE_TOGGLE"] = "Include Necklace item recipes in the scan"
-L["Necklace"] = true
-L["RING_TOGGLE"] = "Include Ring recipes in the scan"
-L["Ring"] = true
-L["TRINKET_TOGGLE"] = "Include Trinket recipes in the scan"
-L["Trinket"] = true
-L["Wand"] = true
-L["OLD_WORLD_REP_TT"] = "Click to configure Old World Reputation Filtering Options"
-L["BC_REP_TT"] = "Click to configure Burning Crusade Reputation Filtering Options"
-
--- Tooltip Text
-L["Scan Skills Long"] = "Scan for missing recipes using Ackis Recipe List."
-L["Close Window"] = "Close the Ackis Recipe List Window."
-L["Expand All"] = "Expands all recipes."
-L["Collapse All"] = "Collapses all recipes."
-L["FILTER_OPEN_TT"] = "Open filter option panel."
-L["FILTER_CLOSE_TT"] = "Close filter option panel."
-L["RESET_TT"] = "Reset Filters to default values."
-L["SORT_TT"] = "Change the sort order for the list."
-L["VENDOR_TT"] = "Check to include Vendor recipes in the list."
-L["TRAINER_TT"]= "Check to include Trained recipes in the list."
-L["WORLD_TT"] = "Check to include World Drop recipes in the list."
-L["MOB_TT"] = "Check to include specific Mob Drop recipes in the list."
-L["QUEST_TT"] = "Check to include Quest reward recipes in the list."
-L["SEASON_TT"] = "Check to includes Seasonal recipes in the list."
-L["REP_TT"] = "Check to include Reputation reward recipes in the list."
-L["INSTANCE_TT"] = "Check in include recipes only found in instances in the list."
-L["BOP_TT"] = "Check to only view Bind on Pickup recipes in the list."
-L["HORDE_TT"] = "Check to include Horde only recipes in the list."
-L["ALLIANCE_TT"] = "Check to include Alliance only recipes in the list."
-L["KNOWN_TT"] = "Check to include known recipes in the list."
-L["UNKNOWN_TT"] = "Check to include unknown recipes in the list."
-L["DISCOVERY_TT"] = "Check to include discovered recipes in the list."
-L["ARMOR_TT"] = "Check to include Armor recipes in the list."
-L["WEAPON_TT"] = "Check to include Weapon recipes in the list."
-
 -- Recipe Database
-L["Trainer"] = true
 L["LimitedSupply"] = "Limited Supply Vendor"
-L["Vendor"] = true
-L["Discovery"] = true
-L["PVP"] = true
-L["Raid"] = true
-
---Skillup Levels
-L["Journeyman"] = true
-L["Expert"] = true
-L["Artisan"] = true
-L["Master"] = true
-
--- Common ways to obtain recipes
-L["UZD"] = "Uncommon Zone Drop: "
-L["CWD"] = "Common World Drop"
-L["UWD"] = "Uncommon World Drop"
-L["RWD"] = "Rare World Drop"
-L["EWD"] = "Epic World Drop"
-L["BoE"] = "Bind on Equip Drop: "
-L["BoP"] = "Bind on Pickup Drop: "
-L["QuestReward"] = "Quest Reward: "

 -- Common quests/drops
 L["DMCACHE"] = "Knot Thimblejack's Cache"
@@ -310,832 +303,699 @@ L["SunwellBoE"] = "Raid Bind on Equip Drop: Random bosses and mobs in Sunwell."
 L["BT/HYJALBoE"] = "Raid Bind on Equip Drop: Random bosses and mobs in Hyjal/BT."
 L["ZA"] = "Raid Bind on Pickup Drop: Random bosses in Zul'Aman."
 L["Unknown"] = "Unknown Drop: The drop location of this recipe is unknown.  Please contribute by posting on the Ackis Recipe List thread at www.wowace.com/forums"
+L["Unknown Zone"] = true

--- Faction info
-L["WintersVeil"] = "Seasonal: Feast of Winters Veil"
-L["Lunar Festival"] = "Seasonal: Lunar Festival"
+-- Special Event information
+L["Midsummer Fire Festival"] = true
+L["Feast of Winters Veil"] = true
+L["Lunar Festival"] = true
 L["Darkmoon Faire"] = true
 L["Seasonal"] = true

--- Alchemy Obtain Information
-L["Discovery - Flasks/Potions"] = "Discovery: Discovered by creating flasks, elixirs or potions containing Outland herbs."
-L["Discovery - Protection Potions"] = "Discovery: Discovered by creating major protection potions."
-L["Discovery - Transmutes"] = "Discovery: Discovered by transmuting items that contain Outland materials."
-L["Goblin Rocket Fuel Obt"] = "Crafted: This recipe is crafted by Goblin Engineers"
-L["Gurubashi Mojo Madness Obt"] = "Raid: You can learn this by clicking on a stone table in Zul'Gurub in the Edge of Madness"
-L["Mighty Trolls Blood Potion Obt"] = "Trainer: Henry Stern, "
--- Mob Drop
-L["Elixir of Greater Firepower Obt"] = "Dark Iron Slaver, Dark Iron Watchman, Dark Iron Taskmaster"
-L["Elixir of the Mongoose Obt"] = "Jadefire Rogue, Legashi Rogue"
-L["Elixir of the Sages Obt"] = "Scarlet Enchanter, Scarlet Cleric, Scarlet Curate, Scarlet Archmage, Scarlet Inquisitor"
-L["Fel Mana Potion Obt"] = "Eclipsion Soldier, Eclipsion Bloodward, Eclipsion Blood Knight, Eclipsion Spellbinder, Eclipsion Archmage, Eclipsion Centurion, Eclipsion Cavalier, Torloth the Magnificent, Illidari Watcher"
-L["Fel Regeneration Potion Obt"] = "Deathforge Imp, Deathforge Guardian, Deathforge Smith, Deathforge Tinkerer"
-L["Fel Strength Elixir Obt"] = "Mo'arg Weaponsmiths, Terrormasters, Wrathwalkers, Shadow Council Warlocks"
-L["Gift of Arthas Obt"] = "Skeletal Flayer, Slavering Ghoul"
-L["Greater Arcane Protection Potion Obt"] = "Cobalt Mageweavers"
-L["Greater Fire Protection Potion Obt"] = "Firebrand Invoker, Firebrand Pyromancer"
-L["Greater Frost Protection Potion Obt"] = "Frostmaul Giants"
-L["Greater Nature Protection Potion Obt"] = "Decaying Horror, Rotting Behemoths"
-L["Greater Shadow Protection Potion Obt"] = "Dark Adepts, Shadowmages"
-L["Major Arcane Protection Potion Obt"] = "Vir'aani Arcanists"
-L["Major Fire Protection Potion Obt"] = "Sunseeker Astromages"
-L["Major Holy Protection Potion Obt"] = "Abyssal Flamebringers"
-L["Major Shadow Protection Potion Obt"] = "Shadow Council Warlock"
-L["Mighty Rage Potion Obt"] = "Blackrock Slayer"
-L["Wildvine Potion Obt"] = "Random Trolls"
--- Quest
-L["Discolored Healing Potion Obt"] = "Wild Hearts"
-L["Elixir of Brute Force Obt"] = "Dadanga is Hungry (Random reward)"
-L["Lesser Stoneshield Potion Obt"] = "Liquid Stone"
-L["Restorative Potion Obt"] = "Badlands Reagent Run II"
-
--- Blacksmithin Obtain Information
-L["Inlaid Mithril Cylinder Obt"] = "Crafted: This recipe is crafted by Gnomish Engineers"
-L["Blacksmithing Plans"] = "Randomly drops from blacksmithing plans"
--- Mob Drop
-L["Dark Iron Sunderer Obt"] = "Hammered Patrons, Ribbly's Crony"
-L["Felsteel Gloves Obt"] = "Auchenai Monks"
-L["Felsteel Helm Obt"] = "Cabal Fanatic"
-L["Felsteel Leggings Obt"] = "Unchained Doombringer"
-L["Frostguard Obt"] = "Foreman Marcrid"
-L["Greater Ward of Shielding Obt"] = "Sunfury Bloodwatchers"
-L["Khorium Belt Obt"] = "Murkblood Raiders"
-L["Khorium Boots Obt"] = "Disembodied Protector"
-L["Khorium Pants Obt"] = "Deathforge Guardians"
-L["Ragesteel Breastplate Obt"] = "Ashtongue Warrior"
-L["Ragesteel Gloves Obt"] = "Boulderfist Warrior"
-L["Ragesteel Helm Obt"] = "Anger Guards"
-L["Ragesteel Shoulders Obt"] = "Enraged Earth Spirit, Enraged Air Spirirt, Enraged Fire Spirirt, Enraged Water Spirirt"
-L["Runic Breastplate Obt"] = "Strashaz Myrmidons"
-L["Runic Plate Boots Obt"] = "Scarlet Cavaliers"
-L["Runic Plate Helm Obt"] = "Strashaz Warriors"
-L["Runic Plate Leggings Obt"] = "Scarlet Smiths"
-L["Runic Plate Shoulders Obt"] = "Strashaz Serpent Guards"
-L["Swiftsteel Gloves Obt"] = "Nexus Stalkers"
-L["Volcanic Hammer Obt"] = "Volchan"
--- Quest
-L["Barbaric Iron Boots Obt"] = "Trampled Under Foot"
-L["Barbaric Iron Breastplate Obt"] = "Barbaric Battlements"
-L["Barbaric Iron Gloves Obt"] = "Joys of Omosh"
-L["Barbaric Iron Helm Obt"] = "Horns of Frenzy"
-L["Barbaric Iron Shoulders Obt"] = "On Iron Pauldroms"
-L["Blazing Rapier Obt"] = "Corruption"
-L["Dawn's Edge Obt"] = "Snakestone of the Shadow Huntress"
-L["Demon Forged Breastplate Obt"] = "The Demon Forge"
-L["Enchanted Battlehammer Obt"] = "Sweet Serenity"
-L["Enchanted Thorium Breastplate Obt"] = "Enchanted Thorium Platemail Vol I (Requires drops from other instances to get the quest)"
-L["Enchanted Thorium Helm Obt"] = "Enchanted Thorium Platemail Vol III (Requires drops from other instances to get the quest)"
-L["Enchanted Thorium Leggings Obt"] = "Enchanted Thorium Platemail Vol II (Requires drops from other instances to get the quest)"
-L["Fiery Plate Gauntlets Obt"] = "Fiery Plate Gauntlets"
-L["Golden Scale Gauntlets Obt"] = "The Origins of Smithing"
-L["Heavy Copper Longsword Obt"] = "Supplying the Front"
-L["Imperial Plate Belt Obt"] = "Imperial Plate Belt"
-L["Imperial Plate Boots Obt"] = "Imperial Plate Boots"
-L["Imperial Plate Bracers Obt"] = "Imperial Plate Bracers"
-L["Imperial Plate Chest Obt"] = "Imperial Plate Chest"
-L["Imperial Plate Helm Obt"] = "Imperial Plate Helm"
-L["Imperial Plate Leggings Obt"] = "Imperial Plate Leggings"
-L["Imperial Plate Shoulders Obt"] = "Imperial Plate Shoulders"
-L["Ironforge Breastplate Obt"] = "Gearing Redridge"
-L["Orcish War Leggings Obt"] = "The Old Ways"
-L["Ornate Mithril Gloves Obt"] = "The Great Silver Deceiver"
-L["Ornate Mithril Helm Obt"] = "A Good Head on Your Shoulders"
-L["Ornate Mithril Pants Obt"] = "Smelt On, Smelt Off"
-L["Ornate Mithril Shoulder Obt"] = "The Art of the Imbue"
-L["Sulfuron Hammer Obt"] = "A Binding Contract"
-
--- Cooking Obtain Information
-L["Fishing Daily"] = "Quest Reward: Random reward from the fishing daily quest."
-L["Cooking Daily"] = "Quest Reward: Random reward from the cooking daily quest."
-L["Goldthorn Tea Obt"] = "Talk to Henry Stern in RFD"
-L["Stewed Trout Obt"] = "Trainer: Kylene"
--- Mob Drop
-L["Runn Tum Tuber Surprise Obt"] = "Pusillin"
--- Quest
-L["Barbecued Buzzard Wing Obt"] = "Barbecued Buzzard Wings"
-L["Beer Basted Boar Ribs Obt"] = "Beer Basted Boar Ribs"
-L["Big Bear Steak Obt"] = "The Rescue"
-L["Blood Sausage Obt"] = "Thelsamar Blood Sausages"
-L["Buzzard Bites Obt"] = "Smooth as Butter"
-L["Crocolisk Gumbo Obt"] = "Apprentice's Duties"
-L["Crocolisk Steak Obt"] = "Crocolisk Hunting"
-L["Crunchy Serpent Obt"] = "Mok'Nathal Treats"
-L["Crunchy Spider Surprise Obt"] = "Culinary Crunch"
-L["Curiously Tasty Omelet Obt"] = "Ormer's Revenge"
-L["Dig Rat Stew Obt"] = "Dig Rat Stew"
-L["Dirge's Kickin' Chimaerok Chops Obt"] = "Dirge's Kickin' Chimaerok Chops"
-L["Gooey Spider Cake Obt"] = "Dusky Crab Cakes"
-L["Goretusk Liver Pie Obt"] = "Goretusk Liver Pie"
-L["Hot Lion Chops Obt"] = "Elixir of Pain"
-L["Kaldorei Spider Kabob Obt"] = "Recipe of the Kaldorei"
-L["Murloc Fin Soup Obt"] = "Selling Fish"
-L["Redridge Goulash Obt"] = "Redridge Goulash"
-L["Roasted Moongraze Tenderloin Obt"] = "The Great Moongraze Hunt"
-L["Seasoned Wolf Kabob Obt"] = "Seasoned Wolf Kabobs"
-L["Smoked Desert Dumplings Obt"] = "Desert Recipe"
-L["Soothing Turtle Bisque Obt"] = "Soothing Turtle Bisque"
-L["Strider Stew Obt"] = "Easy Strider Living"
-L["Tasty Lion Steak Obt"] = "Costly Menace"
-L["Thistle Tea Ally Obt"] = "Klaven's Tower"
-L["Thistle Tea Horde Obt"] = "Mission: Possible But Not Probable"
-L["Westfall Stew Obt"] = "Westfall Stew"
-
--- Enchanting Obtain Information
-L["Enchant 2H Weapon - Major Agility Obt"] = "Eredar Deathbringer"
-L["Enchant 2H Weapon - Major Intellect Obt"] = "Crimson Sorcerer"
-L["Enchant 2H Weapon - Major Spirit Obt"] = "Scholomance Adept"
-L["Enchant 2H Weapon - Savagery Obt"] = "Shattered Hand Centurions"
-L["Enchant 2H Weapon - Superior Impact Obt"] = "Blackhand Elite"
-L["Enchant Boots - Dexterity Obt"] = "Raging Skeletons"
-L["Enchant Boots - Fortitude Obt"] = "Ethereal Priest"
-L["Enchant Boots - Surefooted Obt"] = "Phantom Stagehand"
-L["Enchant Bracer - Fortitude Obt"] = "Coilfang Oracles"
-L["Enchant Bracer - Major Defense Obt"] = "Ethereum Nullifier"
-L["Enchant Bracer - Spellpower Obt"] = "Bloodmaul Geomancers"
-L["Enchant Bracer - Superior Strength Obt"] = "Deadwind Warlock"
-L["Enchant Cloak - Greater Arcane Resistance Obt"] = "Eclipsion Archmages"
-L["Enchant Cloak - Greater Shadow Resistance Obt"] = "Voidshriekers"
-L["Enchant Cloak - Lesser Agility Obt"] = "Syndicate Assassin"
-L["Enchant Cloak - Lesser Agility Obt1"] = "Wastewander Assassin, Wastewander Scofflaw"
-L["Enchant Gloves - Advanced Herbalism Obt"] = "Mire Lord, Molt Thorn, Swampwalker, Swampwalker Elder, Tangled Horror"
-L["Enchant Gloves - Advanced Mining Obt"] = "Venture Co. Strip Miner"
-L["Enchant Gloves - Fishing Obt"] = "Scargil, Torn Fin Coastrunner, Torn Fin Oracle, Torn Fin Muckdweller, Torn Fin Tidehunter"
-L["Enchant Gloves - Herbalism Obt"] = "Crazed Ancient, Withered Ancient"
-L["Enchant Gloves - Herbalism Obt1"] = "Vengeful Ancient, Blackened Ancient, Charred Ancient"
-L["Enchant Gloves - Mining Obt"] = "Dark Iron Dwarf, Dark Iron Demonlitionist, Dark Iron Tunneler, Dark Iron Saboteur, Balgaras the Foul"
-L["Enchant Gloves - Skinning Obt"] = "Nimar the Slayer, Witherbark Berserker, Witherbark Headhunter, Witherbark Shadow Hunter"
-L["Enchant Weapon - Crusader Obt"] = "Scarlet Spellbinder"
-L["Enchant Weapon - Crusader Obt1"] = "Scarlet Archmage"
-L["Enchant Weapon - Deathfrost Obt"] = "Lord Ahune - Midsummer Fire Festival"
-L["Enchant Weapon - Fiery Weapon Obt"] = "Pyromancer Loregrain"
-L["Enchant Weapon - Icy Chill Obt"] = "Anguished Highborne"
-L["Enchant Weapon - Lifestealing Obt"] = "Spectral Researcher"
-L["Enchant Weapon - Major Intellect Obt"] = "Sunfury Researchers"
-L["Enchant Weapon - Major Spellpower Obt"] = "Bash'ir Spell-Thief"
-L["Enchant Weapon - Superior Striking Obt"] = "Spirestone Warlord"
-L["Enchant Weapon - Unholy Weapon Obt"] = "Thuzadin Shadowcaster"
-L["Smoking Heart of the Mountain Obt"] = "Lord Roccor"
-
--- Engineering Obtain Information
-L["ENG_MEMBERSHIP_BENEFITS"] = "Random Quest Reward: Renewing Membership"
-L["Field Repair Bot 74A Obt"] = " Clickable scroll near the boss."
-L["Minor Recombobulator Obt"] = "Use White Punch Card in slot Matrix Punchograph 3005-A.  Next, use Yellow Punch Card in Matrix Punchograph 3005-B."
-L["Discombobulator Ray Obt"] = "Use Security DELTA Data Access Card on the D machine."
--- Mob Drop
-L["Adamantite Arrow Maker Obt"] = "Sunfury Archer"
-L["Arcanite Dragonling Obt"] = "Cobalt Mageweaver"
-L["Dark Iron Rifle Obt"] = "Doomforge Craftsman"
-L["Felsteel Boomstick Obt"] = "Doomforge Engineer"
-L["Field Repair Bot 110G Obt"] = "Gan'Arg Analyzers"
-L["Flawless Arcanite Rifle Obt"] = "Mossflayer Shadowhunter"
-L["Hyper-Vision Goggles Obt"] = "Mo'arg Weaponsmiths"
-L["Khorium Scope Obt"] = "Sunfury Bowman"
-L["Major Recombobulator Obt"] = " Tribute Run Chest"
-L["Weapon Technician"] = true
-L["Crimson Inquisitor"] = true
--- Quest
-L["Flash Bomb Obt"] = "Flash Bomb Recipe"
-L["Steam Tonk Controller Obt"] = "40 Tickets - Schematic: Steam Tonk Controller"
-L["Zapthrottle Mote Extractor Obt"] = "Zapthrottle Mote Extractor!"
-
--- First Aid Obtain Information
--- Nothing here needed yet
-
--- Jewelcrafting Obtain Information
-L["Blades Edge Summon Bosses"] = "Ogri'la summon bosses"
--- Mob Drop
-L["Arcane Khorium Band Obt"] = "Mageslayers"
-L["Chaotic Skyfire Diamond Obt"] = "Coilskar Siren"
-L["Coronet of the Verdant Flame Obt"] = "Sunseeker Botanists"
-L["Khorium Band of Frost Obt"] = "Coilfang Sorceresses"
-L["Khorium Band of Leaves Obt"] = "Vekh'nir Dreadhawks"
-L["Khorium Band of Shadows Obt"] = "Dark Conclave Shadowmancers"
--- Quest
-
--- Leatheworking Obtain Information
--- Mob Drop
-L["Bag of Many Hides Obt"] = "Gordunni Back-Breaker, Gordunni Head-Splitter, Gordunni Elementalist, Gordunni Soulreaper"
-L["Anvilrage Captain"] = "Anvilrage Captain"
-L["Blue Dragonscale Shoulders Obt"] = "Cliff Breaker"
-L["Devilsaur Leggings Obt"] = "Cloned Ooze, Muculent Ooze"
-L["Flame Armor Kit Obt"] = "Gargantuan Abyssals"
-L["Frostsaber Gloves Obt"] = "Winterfall Totemic"
-L["Frostsaber Leggings Obt"] = "Winterfall Den Watcher"
-L["Frostsaber Tunic Obt"] = "Winterfall Ursa"
-L["Green Dragonscale Leggings Obt"] = "Murk Worm"
-L["Heavy Scorpid Leggings Obt"] = "Blackrock Slayer"
-L["Heavy Scorpid Shoulders Obt"] = "Blackrock Battlemaster"
-L["Heavy Scorpid Vest Obt"] = "Portal Seeker"
-L["Ironfeather Breastplate Obt"] = "Vilebranch Hideskinner"
-L["Living Breastplate Obt"] = "Decaying Horror"
-L["Living Leggings Obt"] = "Deadwood Shaman"
-L["Shadow Armor Kit Obt"] = "Time-Lost Shadowmages"
-L["Stormshroud Armor Obt"] = "Arkkoran Oracle"
-L["Stormshroud Gloves Obt"] = "The Windreaver"
-L["Stormshroud Gloves Obt1"] = "Princess Tempestria, Winterspring"
-L["Stormshroud Shoulders Obt"] = "Son of Arkkoroc"
-L["Stylin' Adventure Hat Obt"] = "Durnholde Riflemen"
-L["Stylin' Crimson Hat Obt"] = "Sethekk Ravenguard"
-L["Stylin' Jungle Hat Obt"] = "Rift Lords, Rift Keepers"
-L["Tough Scorpid Boots Obt"] = "Wastewander Rogue"
-L["Tough Scorpid Bracers Obt"] = "Wastewander Shadow Mage"
-L["Tough Scorpid Breastplate Obt"] = "Wastewander Bandit"
-L["Tough Scorpid Gloves Obt"] = "Wastewander Thief"
-L["Tough Scorpid Helm Obt"] = "Andre Firebeard, Wastewander Scofflaw"
-L["Tough Scorpid Leggings Obt"] = "Wastewander Rogue"
-L["Volcanic Breastplate Obt"] = "Firebrand Grunt"
-L["Volcanic Leggings Obt"] = "Firegut Brute"
-L["Volcanic Shoulders Obt"] = "Firebrand Legionnaire"
--- Quest
-L["Deviate Scale Belt Obt"] = "Deviate Eradication"
-L["Kodo Hide Bag Obt"] = "Kodo Hide Bag"
-L["Moonglow Vest Obt"] = "Moonglow Vest"
-L["Onyxia Scale Cloak Obt"] = "The Journey Has Just Begun after turning in Head of Onyxia"
-L["Wild Leather Boots Obt"] = "Wild Leather Boots"
-L["Wild Leather Cloak Obt"] = "Master of the Wild Leather"
-L["Wild Leather Helmet Obt"] = "Wild Leather Helmet"
-L["Wild Leather Leggings Obt"] = "Wild Leather Leggings"
-L["Wild Leather Shoulders Obt"] = "Wild Leather Shoulders"
-L["Wild Leather Vest Obt"] = "Wild Leather Vest"
-
--- Smelting Obtain Information
-L["Dark Iron Obt"] = "Requires 20 Gold Bars, 2 Star Rubies, and 10 Truesilver Bars - Talk to Gloom'Rel, who is one of the undead in the Summoner's Tomb."
-L["Elementium Obt"] = "Mind control Krixix in BWL.  On the pet bar there will be an option to train this ability for yourself and others."
+-- Monster/Quest/Trainer/Vendor strings:

--- Rogue Poison Obtain Information
--- Nothing here needed yet
-
--- Tailoring Obtain Information
-L["Arcanoweave Boots Obt"] = "Sunseeker Astromages"
-L["Arcanoweave Bracers Obt"] = "Arcatraz Sentinels"
-L["Black Silk Pack Obt"] = "Syndicate Spy"
-L["Black Silk Pack Obt1"] = "Theramore Infiltrator"
-L["Black Silk Pack Obt2"] = "Shadowy Assassin"
-L["Cindercloth Cloak Obt"] = "Thaurissan Firewalker"
-L["Cindercloth Gloves Obt"] = "Twilight Fire Guard"
-L["Cindercloth Pants Obt"] = "Thaurissan Firewalker"
-L["Cindercloth Vest Obt"] = "Twilight Fire Guard"
-L["Cloak of Fire Obt"] = "Overmaster Pyron"
-L["Felcloth Bag Obt"] = "Book that spawns after killing Jandice Barov"
-L["Ghostweave Belt Obt"] = "Lingering Highborne"
-L["Ghostweave Gloves Obt"] = "Lingering Highborne"
-L["Ghostweave Gloves Obt1"] = "Unseen Servant"
-L["Ghostweave Vest Obt"] = "Unseen Servant"
-L["Mooncloth Boots Obt"] = "Sacred Cloth"
-L["Robe of the Archmage Obt"] = "Firebrand Pyromancer"
-L["Robe of Winter Night Obt"] = "Cobalt Mageweaver"
-L["Robes of Arcana Obt"] = "Dark Strand Voidcaller"
-L["Robes of Arcana Obt1"] = "Defias Enchanter"
-L["Shadoweave Mask Obt"] = "The Undermarket"
-L["Soulcloth Shoulders Obt"] = "Phantom Attendants"
-L["Soulcloth Vest Obt"] = "Phantom Valet"
-L["Wizardweave Leggings Obt"] = "Dark Summoner"
-
--- Beast Training Obtain Information
-L["Rare"] = true
-L["Elite"] = true
--- Beasts which have training skills
-L["Agam'ar"] = true
-L["Aku'mai Fisher"] = true
-L["Aku'mai Snapjaw"] = true
-L["Angerclaw Mauler"] = true
-L["Arash-ethis"] = true
-L["Ashenvale Bear"] = true
-L["Ashmane Boar"] = true
-L["Barbed Crustacean"] = true
-L["Barnabus"] = true
-L["Battleboar"] = true
-L["Bellygrub"] = true
-L["Besseleth"] = true
-L["Bhag'thera"] = true
-L["Bjarn"] = true
-L["Black Bear Patriarch"] = true
-L["Black Ravager Mastiff"] = true
-L["Black Ravager"] = true
-L["Blackrock Worg"] = true
-L["Blackwind Warp Chaser"] = true
-L["Blisterpaw Hyena"] = true
-L["Bloodaxe Worg"] = true
-L["Bloodfalcon"] = true
-L["Bloodmaul Battle Worg"] = true
-L["Bloodmaul Dire Wolf"] = true
-L["Bloodsnout Worg"] = true
-L["Bonepaw Hyena"] = true
-L["Bristleback Battleboar"] = true
-L["Broken Tooth"] = true
-L["Carrion Vulture"] = true
-L["Cave Creeper"] = true
-L["Chatter"] = true
-L["Clack the Reaver"] = true
-L["Clattering Crawler"] = true
-L["Cleft Scorpid"] = true
-L["Cloud Serpent"] = true
-L["Cobalt Serpent"] = true
-L["Coilskar Cobra"] = true
-L["Corrupted Mottled Boar"] = true
-L["Corrupted Scorpid"] = true
-L["Coyote Packleader"] = true
-L["Coyote"] = true
-L["Crag Boar"] = true
-L["Crag Coyote"] = true
-L["Crag Stalker"] = true
-L["Crazed Dragonhawk"] = true
-L["Creepthess"] = true
-L["Dark Screecher"] = true
-L["Dark Worg"] = true
-L["Darkfang Creeper"] = true
-L["Deadly Cleft Scorpid"] = true
-L["Deadmire"] = true
-L["Death Flayer"] = true
-L["Death Howl"] = true
-L["Deathlash Scorpid"] = true
-L["Deathstrike Tarantula"] = true
-L["Deep Stinger"] = true
-L["Deepmoss Creeper"] = true
-L["Deepmoss Webspinner"] = true
-L["Den Mother"] = true
-L["Deviate Adder"] = true
-L["Deviate Coiler Hatchling"] = true
-L["Deviate Coiler"] = true
-L["Deviate Crocolisk"] = true
-L["Deviate Dreadfang"] = true
-L["Deviate Moccasin"] = true
-L["Deviate Stinglash"] = true
-L["Deviate Venomwing"] = true
-L["Deviate Viper"] = true
-L["Dire Mottled Boar"] = true
-L["Diseased Grizzly"] = true
-L["Diseased Wolf"] = true
-L["Dread Flyer"] = true
-L["Dread Ripper"] = true
-L["Dreadfang Lurker"] = true
-L["Dreadfang Widow"] = true
-L["Dreadmaw Crocolisk"] = true
-L["Drywallow Crocolisk"] = true
-L["Drywallow Daggermaw"] = true
-L["Drywallow Snapper"] = true
-L["Durotar Tiger"] = true
-L["Eclipsion Dragonhawk"] = true
-L["Elder Ashenvale Bear"] = true
-L["Elder Cloud Serpent"] = true
-L["Elder Crag Boar"] = true
-L["Elder Crag Coyote"] = true
-L["Elder Mistvale Gorilla"] = true
-L["Elder Moss Creeper"] = true
-L["Elder Mottled Boar"] = true
-L["Elder Mountain Boar"] = true
-L["Elder Plainstrider"] = true
-L["Elder Shadowmaw Panther"] = true
-L["Elder Shardtooth"] = true
-L["Elder Springpaw"] = true
-L["Encrusted Surf Crawler"] = true
-L["Enraged Ravager"] = true
-L["Felpaw Ravager"] = true
-L["Felpaw Wolf"] = true
-L["Felsworn Scalewing"] = true
-L["Feral Crag Coyote"] = true
-L["Feral Dragonhawk Hatchling"] = true
-L["Feral Mountain Lion"] = true
-L["Ferocious Grizzled Bear"] = true
-L["Fire Roc"] = true
-L["Firetail Scorpid"] = true
-L["Flatland Cougar"] = true
-L["Fleeting Plainstrider"] = true
-L["Forest Lurker"] = true
-L["Forest Moss Creeper"] = true
-L["Forest Spider"] = true
-L["Foreststrider Fledgling"] = true
-L["Frostsaber Cub"] = true
-L["Frostsaber Huntress"] = true
-L["Frostsaber Stalker"] = true
-L["Ghamoo-ra"] = true
-L["Ghost Saber"] = true
-L["Ghostclaw Lynx"] = true
-L["Ghostclaw Ravager"] = true
-L["Ghostpaw Alpha"] = true
-L["Ghostpaw Runner"] = true
-L["Giant Foreststrider"] = true
-L["Giant Moss Creeper"] = true
-L["Giant Plains Creeper"] = true
-L["Giant Webwood Spider"] = true
-L["Giant Wetlands Crocolisk"] = true
-L["Githyiss the Vile"] = true
-L["Goretusk"] = true
-L["Gray Bear"] = true
-L["Gray Forest Wolf"] = true
-L["Great Goretusk"] = true
-L["Greater Duskbat"] = true
-L["Greater Firebird"] = true
-L["Greater Fleshripper"] = true
-L["Greater Kraul Bat"] = true
-L["Greater Tarantula"] = true
-L["Greater Thunderhawk"] = true
-L["Greater Windroc"] = true
-L["Green Recluse"] = true
-L["Groddoc Thunderer"] = true
-L["Grovestalker Lynx "] = true
-L["Grunter"] = true
-L["Gutripper"] = true
-L["Hakkar'i Frostwing"] = true
-L["Hakkar'i Sapper"] = true
-L["Ice Claw Bear"] = true
-L["Ironback"] = true
-L["Ironbeak Hunter"] = true
-L["Ironbeak Owl"] = true
-L["Ironbeak Screecher"] = true
-L["Ironfur Bear"] = true
-L["Ironfur Patriarch"] = true
-L["Jaguero Stalker"] = true
-L["Jungle Thunderer"] = true
-L["Juvenile Snow Leopard"] = true
-L["Kaliri Matriarch"] = true
-L["Kaliri Swooper"] = true
-L["King Bangalash"] = true
-L["Kraul Bat"] = true
-L["Krellack"] = true
-L["Kresh"] = true
-L["Kurzen War Tiger"] = true
-L["Lady Sathrah"] = true
-L["Large Crag Boar"] = true
-L["Large Loch Crocolisk"] = true
-L["Leech Widow"] = true
-L["Loch Crocolisk"] = true
-L["Longsnout"] = true
-L["Longtooth Howler"] = true
-L["Longtooth Runner"] = true
-L["Lost Torranche"] = true
-L["Lupos"] = true
-L["Magram Bonepaw"] = true
-L["Male Kaliri Hatchling"] = true
-L["Mangeclaw"] = true
-L["Mangy Mountain Boar"] = true
-L["Mazzranache"] = true
-L["Mesa Buzzard"] = true
-L["Mist Howler"] = true
-L["Mistvale Gorilla"] = true
-L["Mongress"] = true
-L["Monstrous Crawler"] = true
-L["Monstrous Plaguebat"] = true
-L["Moonstalker Runt"] = true
-L["Moonstalker Sire"] = true
-L["Mottled Boar"] = true
-L["Mottled Drywallow Crocolisk"] = true
-L["Mountain Boar"] = true
-L["Mountain Lion"] = true
-L["Mudrock Snapjaw"] = true
-L["Murk Slitherer"] = true
-L["Murk Spitter"] = true
-L["Naraxis"] = true
-L["Night Web Matriarch"] = true
-L["Night Web Spider"] = true
-L["Nightsaber"] = true
-L["Noxious Plaguebat"] = true
-L["Oasis Snapjaw"] = true
-L["Ol' Sooty"] = true
-L["Old Cliff Jumper"] = true
-L["Old Grizzlegut"] = true
-L["Olm the Wise"] = true
-L["Ornery Plainstrider"] = true
-L["Panther"] = true
-L["Phoenix-Hawk Hatchling"] = true
-L["Plague Lurker"] = true
-L["Plaguebat"] = true
-L["Plagued Swine"] = true
-L["Plains Creeper"] = true
-L["Porcine Entourage"] = true
-L["Prairie Stalker"] = true
-L["Prairie Wolf Alpha"] = true
-L["Prairie Wolf"] = true
-L["Princess"] = true
-L["Prowler"] = true
-L["Pygmy Surf Crawler"] = true
-L["Quillfang Ravager"] = true
-L["Quillfang Skitterer"] = true
-L["Rabid Blisterpaw"] = true
-L["Rabid Crag Coyote"] = true
-L["Ragged Scavenger"] = true
-L["Raging Agam'ar"] = true
-L["Rak'Shiri"] = true
-L["Ravage"] = true
-L["Ravager Specimen"] = true
-L["Ravenous Windroc"] = true
-L["Razorfang Hatchling"] = true
-L["Razzashi Adder"] = true
-L["Razzashi Cobra"] = true
-L["Razzashi Serpent"] = true
-L["Rekk'tilac"] = true
-L["Rema"] = true
-L["Ridge Huntress"] = true
-L["Ridge Stalker Patriarch"] = true
-L["Ridge Stalker"] = true
-L["Rip-Blade Ravager"] = true
-L["Ripfang Lynx"] = true
-L["Ripscale"] = true
-L["Roc"] = true
-L["Rockhide Boar"] = true
-L["Rogue Vale Screecher"] = true
-L["Rotting Agam'ar"] = true
-L["Salt Flats Vulture"] = true
-L["Saltwater Snapjaw"] = true
-L["Sandfury Guardian"] = true
-L["Sarkoth"] = true
-L["Savannah Patriarch"] = true
-L["Sawtooth Snapper"] = true
-L["Scalewing Serpent"] = true
-L["Scarlet Tracking Hound"] = true
-L["Scarred Crag Boar"] = true
-L["Scarshield Worg"] = true
-L["Scorchshell Pincer"] = true
-L["Scorpashi Lasher"] = true
-L["Scorpashi Snapper"] = true
-L["Scorpashi Venomlash"] = true
-L["Scorpid Bonecrawler"] = true
-L["Scorpid Duneburrower"] = true
-L["Scorpid Dunestalker"] = true
-L["Scorpid Hunter"] = true
-L["Scorpid Reaver"] = true
-L["Scorpid Tail Lasher"] = true
-L["Scorpid Terror"] = true
-L["Scorpid Worker"] = true
-L["Scorpok Stinger"] = true
-L["Searing Roc"] = true
-L["Shadow Panther"] = true
-L["Shadowmaw Panther"] = true
-L["Shadowwing Owl"] = true
-L["Shanda the Spinner"] = true
-L["Shardtooth Bear"] = true
-L["Shore Crawler"] = true
-L["Shrike Bat"] = true
-L["Silithid Creeper"] = true
-L["Silithid Swarmer"] = true
-L["Silt Crawler"] = true
-L["Silvermane Howler"] = true
-L["Silvermane Stalker"] = true
-L["Silvermane Wolf"] = true
-L["Sin'Dall"] = true
-L["Skettis Kaliri"] = true
-L["Skittering Crustacean"] = true
-L["Small Crag Boar"] = true
-L["Snapjaw"] = true
-L["Snapping Crustacean"] = true
-L["Snarler"] = true
-L["Snow Tracker Wolf"] = true
-L["Son of Hakkar"] = true
-L["Soulflayer"] = true
-L["Sparkleshell Snapper"] = true
-L["Spawn of Hakkar"] = true
-L["Spiteflayer"] = true
-L["Spot"] = true
-L["Starving Blisterpaw"] = true
-L["Starving Mountain Lion"] = true
-L["Starving Winter Wolf"] = true
-L["Stonelash Flayer"] = true
-L["Stonelash Pincer"] = true
-L["Stonelash Scorpid"] = true
-L["Stonetusk Boar"] = true
-L["Stranglethorn Tiger"] = true
-L["Strigid Hunter"] = true
-L["Strigid Owl"] = true
-L["Swamp Jaguar"] = true
-L["Swiftwing Shredder"] = true
-L["Tarantula"] = true
-L["Thistle Bear"] = true
-L["Thistle Boar"] = true
-L["Thornfang Ravager"] = true
-L["Thornfang Venomspitter"] = true
-L["Thunderhawk Cloudscraper"] = true
-L["Thunderhawk Hatchling"] = true
-L["Tide Crawler"] = true
-L["Timber Worg"] = true
-L["Timber"] = true
-L["Timberweb Recluse"] = true
-L["Twilight Runner"] = true
-L["U'cha"] = true
-L["Uhk'loc"] = true
-L["Un'Goro Thunderer"] = true
-L["Vale Screecher"] = true
-L["Venomlash Scorpid"] = true
-L["Venomous Cloud Serpent"] = true
-L["Venomtail Scorpid"] = true
-L["Venomtip Scorpid"] = true
-L["Vicious Night Web Spider"] = true
-L["Vile Sting"] = true
-L["Vilebranch Raiding Wolf"] = true
-L["Warp Chaser"] = true
-L["Warp Hunter"] = true
-L["Warp Stalker"] = true
-L["Washte Pawne"] = true
-L["Wayward Buzzard"] = true
-L["Webwood Silkspinner"] = true
-L["Webwood Venomfang"] = true
-L["Wildthorn Lurker"] = true
-L["Windroc Hunter"] = true
-L["Windroc Huntress"] = true
-L["Windroc Matriarch"] = true
-L["Windroc"] = true
-L["Winter Wolf"] = true
-L["Winterspring Owl"] = true
-L["Winterspring Screecher"] = true
-L["Wood Lurker"] = true
-L["Worg"] = true
-L["Young Forest Bear"] = true
-L["Young Goretusk"] = true
-L["Young Mesa Buzzard"] = true
-L["Young Panther"] = true
-L["Young Stranglethorn Tiger"] = true
-L["Young Thistle Boar"] = true
-L["Zaricotl"] = true
-L["Zulian Panther"] = true
-L["Zulian Stalker"] = true
-
--- Vendor Names
+L["40 Tickets - Schematic: Steam Tonk Controller"] = true
+L["A Binding Contract"] = true
 L["Aaron Hollman"] = true
+L["Aayndia Floralwind"] = true
 L["Abigail Shiel"] = true
+L["Abyssal Flamebringer"] = true
+L["Accursed Apparition"] = true
+L["Adele Fielder"] = true
+L["Aendel Windspear"] = true
 L["Aged Dalaran Wizard"] = true
+L["Ainethil"] = true
+L["Akham"] = true
+L["Akil'zon"] = true
+L["Alanna Raveneye"] = true
 L["Alchemist Gribble"] = true
+L["Alchemist Mallory"] = true
 L["Alchemist Pestlezugg"] = true
 L["Aldraan"] = true
+L["Alegorn"] = true
+L["Aleinia"] = true
+L["Alestus"] = true
 L["Alexandra Bolero"] = true
 L["Algernon"] = true
+L["Almaador"] = true
+L["Alorra"] = true
 L["Altaa"] = true
+L["Alurmi"] = true
+L["Amin"] = true
 L["Amy Davenport"] = true
+L["Anchorite Ensham"] = true
+L["Anchorite Fateema"] = true
+L["Anchorite Paetheus"] = true
+L["Andre Firebeard"] = true
 L["Andrew Hilbert"] = true
 L["Andrion Darkspinner"] = true
 L["Androd Fadran"] = true
+L["Anetheron"] = true
+L["Anger Guard"] = true
+L["Anguished Highborne"] = true
+L["Annora"] = true
+L["Anvilrage Captain"] = true
+L["Anvilrage Guardsman"] = true
+L["Anvilrage Marshal"] = true
+L["Anvilrage Medic"] = true
+L["Anvilrage Reservist"] = true
+L["Apexis Guardian"] = true
 L["Apothecary Antonivich"] = true
+L["Apprentice Darius"] = true
+L["Apprentice's Duties"] = true
+L["Arathel Sunforge"] = true
+L["Arcane Aberration"] = true
+L["Arcane Protector"] = true
+L["Arcanist Sheynathren"] = true
+L["Arcatraz Sentinel"] = true
+L["Archimonde"] = true
 L["Aresella"] = true
+L["Argent Quartermaster Hasana"] = true
+L["Argent Quartermaster Lightspark"] = true
+L["Arkkoran Oracle"] = true
+L["Arnok"] = true
+L["Arodis Sunblade"] = true
 L["Arras"] = true
 L["Arred"] = true
 L["Arrond"] = true
+L["Arthur Moore"] = true
+L["Artificer Daelo"] = true
 L["Asarnan"] = true
+L["Ashtongue Warrior"] = true
+L["Aska Mistrunner"] = true
+L["Atal'ai Witch Doctor"] = true
+L["Attumen the Huntsman"] = true
+L["Auchenai Monk"] = true
+L["Auctioneer Wabang"] = true
+L["Avian Darkhawk"] = true
+L["Azgalor"] = true
+L["Azuregos"] = true
 L["Balai Lok'Wein"] = true
 L["Bale"] = true
+L["Balgaras the Foul"] = true
+L["Balnazzar"] = true
 L["Banalash"] = true
+L["Bannok Grimaxe"] = true
+L["Bar Talet"] = true
+L["Barbaric Battlements"] = true
+L["Barbecued Buzzard Wings"] = true
+L["Barbed Lasher"] = true
+L["Barim Spilthoof"] = true
+L["Baron Geddon"] = true
+L["Baron Rivendare"] = true
+L["Bash'ir Arcanist"] = true
+L["Bash'ir Raider"] = true
+L["Bash'ir Spell-Thief"] = true
+L["Basil Frye"] = true
+L["Baxter"] = true
+L["Beer Basted Boar Ribs"] = true
+L["Belil"] = true
+L["Bemarrin"] = true
+L["Bena Winterhoof"] = true
+L["Bengus Deepforge"] = true
+L["Berudan Keysworn"] = true
+L["Betty Quin"] = true
+L["Blackened Ancient"] = true
+L["Blackhand Assassin"] = true
+L["Blackhand Elite"] = true
+L["Blackheart the Inciter"] = true
+L["Blackrock Battlemaster"] = true
+L["Blackrock Slayer"] = true
+L["Blackrock Soldier"] = true
+L["Blacksmith Calypso"] = true
+L["Blackwater Deckhand"] = true
+L["Blackwing"] = true
 L["Blimo Gadgetspring"] = true
 L["Blixrez Goodstitch"] = true
 L["Blizrik Buckshot"] = true
 L["Bliztik"] = true
+L["Bloodfen Lashtail"] = true
+L["Bloodmaul Geomancer"] = true
+L["Bloodmaul Soothsayer"] = true
+L["Bloodsail Raider"] = true
+L["Bloodwarder Squire"] = true
+L["Bog Giant"] = true
 L["Bombus Finespindle"] = true
+L["Bonechewer Backbreaker"] = true
+L["Bonechewer Blade Fury"] = true
+L["Borgosh Corebender"] = true
+L["Borgus Steelhand"] = true
 L["Borto"] = true
 L["Borya"] = true
+L["Boulderfist Brute"] = true
+L["Boulderfist Invader"] = true
+L["Boulderfist Mauler"] = true
+L["Boulderfist Warrior"] = true
+L["Bowen Brisboise"] = true
+L["Brawn"] = true
+L["Braxxus"] = true
+L["Brek Stonehoof"] = true
 L["Brienna Starglow"] = true
+L["Brikk Keencraft"] = true
 L["Bro'kin"] = true
+L["Brock Stoneseeker"] = true
+L["Brom Killian"] = true
 L["Bronk"] = true
+L["Bronk Guzzlegear"] = true
+L["Brumman"] = true
+L["Brumn Winterhoof"] = true
+L["Brutus"] = true
 L["Burbik Gearspanner"] = true
 L["Burko"] = true
+L["Burning Exile"] = true
+L["Buzzek Bracketswing"] = true
+L["Byancie"] = true
+L["Cabal Fanatic"] = true
+L["Camberon"] = true
+L["Cannon Master Willey"] = true
+L["Captain Halyndor"] = true
+L["Captain Skarloc"] = true
 L["Captured Gnome"] = true
+L["Carolai Anise"] = true
+L["Caryssia Moonhunter"] = true
 L["Catherine Leland"] = true
+L["Cave Yeti"] = true
+L["Celie Steelwing"] = true
+L["Cenarion Hold Infantry"] = true
+L["Charred Ancient"] = true
+L["Chaw Stronghide"] = true
 L["Christoph Jeffcoat"] = true
+L["Chrono Lord Deja"] = true
+L["Clarise Gnarltree"] = true
+L["Cleft Scorpid"] = true
+L["Cliff Breaker"] = true
+L["Cloned Ooze"] = true
+L["Cluster Launcher"] = true
 L["Clyde Ranthal"] = true
+L["Cobalt Mageweaver"] = true
+L["Coilfang Champion"] = true
+L["Coilfang Oracle"] = true
+L["Coilfang Serpentguard"] = true
+L["Coilfang Sorceress"] = true
+L["Coilskar Siren"] = true
+L["Coldmist Widow"] = true
 L["Constance Brisboise"] = true
-L["Cookie McWeaksauce"] = true
+L["Cook Ghilm"] = true
 L["Cookie One-Eye"] = true
 L["Coreiel"] = true
 L["Corporal Bluth"] = true
+L["Corruption"] = true
+L["Costly Menace"] = true
 L["Cowardly Crosby"] = true
+L["Crazed Ancient"] = true
+L["Crazed Murkblood Foreman"] = true
+L["Crazed Murkblood Miner"] = true
 L["Crazk Sparks"] = true
+L["Crimson Battle Mage"] = true
+L["Crimson Inquisitor"] = true
+L["Crimson Sorcerer"] = true
 L["Cro Threadstrong"] = true
+L["Crocolisk Hunting"] = true
+L["Cruelfin"] = true
+L["Crypt Crawler"] = true
+L["Crystal Boughman"] = true
+L["Culinary Crunch"] = true
+L["Cyndra Kindwhisper"] = true
+L["Daedal"] = true
 L["Daga Ramba"] = true
+L["Daggermaw Blackhide"] = true
 L["Daggle Ironshaper"] = true
+L["Dalinna"] = true
+L["Dalliah the Doomsayer"] = true
 L["Dalria"] = true
+L["Dan Golthas"] = true
+L["Dane Lindgren"] = true
 L["Daniel Bartlett"] = true
 L["Danielle Zipstitch"] = true
+L["Dank Drizzlecut"] = true
+L["Dannelor"] = true
+L["Danwe"] = true
 L["Darian Singh"] = true
+L["Darianna"] = true
+L["Dark Adept"] = true
+L["Dark Caster"] = true
+L["Dark Conclave Shadowmancer"] = true
+L["Dark Iron Demolitionist"] = true
+L["Dark Iron Dwarf"] = true
+L["Dark Iron Saboteur"] = true
+L["Dark Iron Slaver"] = true
+L["Dark Iron Taskmaster"] = true
+L["Dark Iron Tunneler"] = true
+L["Dark Iron Watchman"] = true
+L["Dark Strand Voidcaller"] = true
+L["Dark Summoner"] = true
+L["Darkfang Lurker"] = true
+L["Darkmaster Gandling"] = true
+L["Darkweaver Syth"] = true
+L["Darmari"] = true
 L["Darnall"] = true
+L["Daryl Riknussun"] = true
+L["Daryl Stack"] = true
+L["Deadwind Warlock"] = true
+L["Deadwood Den Watcher"] = true
+L["Deadwood Shaman"] = true
 L["Dealer Malij"] = true
+L["Deathforge Guardian"] = true
+L["Deathforge Imp"] = true
+L["Deathforge Smith"] = true
+L["Deathforge Summoner"] = true
+L["Deathforge Tinkerer"] = true
+L["Deathshadow Hound"] = true
+L["Decaying Horror"] = true
+L["Deek Fizzlebizz"] = true
+L["Defias Enchanter"] = true
+L["Defias Looter"] = true
+L["Defias Pirate"] = true
 L["Defias Profiteer"] = true
+L["Defias Renegade Mage"] = true
+L["Defias Squallshaper"] = true
+L["Delfrum Flintbeard"] = true
 L["Deneb Walker"] = true
 L["Derak Nightfall"] = true
+L["Deriz"] = true
+L["Deviate Eradication"] = true
 L["Deynna"] = true
+L["Dig Rat Stew"] = true
 L["Dirge Quikcleave"] = true
+L["Dirge's Kickin' Chimaerok Chops"] = true
+L["Disembodied Protector"] = true
+L["Disembodied Vindicator"] = true
 L["Doba"] = true
+L["Doctor Herbert Halsey"] = true
+L["Doctor Marsh"] = true
+L["Doctor Martin Felben"] = true
+L["Dolothos"] = true
+L["Doomforge Arcanasmith"] = true
+L["Doomforge Craftsman"] = true
+L["Doomforge Dragoon"] = true
+L["Doomforge Engineer"] = true
 L["Drac Roughcut"] = true
 L["Drake Lindgren"] = true
+L["Drakk Stonehand"] = true
 L["Drovnar Strongbrew"] = true
+L["Drywhisker Digger"] = true
+L["Duhng"] = true
+L["Dulvi"] = true
+L["Durnholde Rifleman"] = true
+L["Durnholde Sentry"] = true
+L["Dusky Crab Cakes"] = true
+L["Dwukk"] = true
+L["Easy Strider Living"] = true
+L["Eclipsion Archmage"] = true
+L["Eclipsion Blood Knight"] = true
+L["Eclipsion Bloodwarder"] = true
+L["Eclipsion Cavalier"] = true
+L["Eclipsion Centurion"] = true
+L["Eclipsion Soldier"] = true
+L["Eclipsion Spellbinder"] = true
 L["Edna Mullby"] = true
+L["Edrem"] = true
 L["Egomis"] = true
 L["Eiin"] = true
+L["Eldara Dawnrunner"] = true
+L["Eldrin"] = true
+L["Elixir of Pain"] = true
 L["Elynna"] = true
+L["Emeriss"] = true
+L["Emperor Vek'nilash"] = true
 L["Emrul Riknussun"] = true
+L["Enchanted Thorium Platemail: Volume I"] = true
+L["Enchanted Thorium Platemail: Volume II"] = true
+L["Enchanted Thorium Platemail: Volume III"] = true
+L["Enchanter Aeldron"] = true
+L["Enchanter Salias"] = true
+L["Enchantress Metura"] = true
+L["Enchantress Volali"] = true
+L["Enraged Air Spirit"] = true
+L["Enraged Earth Spirit"] = true
+L["Enraged Fire Spirit"] = true
+L["Enraged Water Spirit"] = true
+L["Epoch Hunter"] = true
+L["Eredar Deathbringer"] = true
 L["Eriden"] = true
 L["Erika Tate"] = true
 L["Erilia"] = true
+L["Erin Kelly"] = true
+L["Ethereal Priest"] = true
+L["Ethereum Nullifier"] = true
+L["Ethereum Researcher"] = true
+L["Eunice Burch"] = true
+L["Faldron"] = true
+L["Fantei"] = true
+L["Fariel Starsong"] = true
+L["Farii"] = true
+L["Fazu"] = true
+L["Fedryen Swiftspear"] = true
 L["Feera"] = true
 L["Felannia"] = true
 L["Felicia Doan"] = true
 L["Felika"] = true
+L["Fera Palerunner"] = true
+L["Feruul"] = true
+L["Fiery Plate Gauntlets"] = true
+L["Fimble Finespindle"] = true
+L["Finbus Geargrind"] = true
+L["Firebrand Grunt"] = true
+L["Firebrand Invoker"] = true
+L["Firebrand Legionnaire"] = true
+L["Firebrand Pyromancer"] = true
+L["Fireguard Destroyer"] = true
+L["Firegut Brute"] = true
+L["Flash Bomb Recipe"] = true
+L["Fleshbeast"] = true
+L["Foreman Marcrid"] = true
 L["Fradd Swiftgear"] = true
+L["Franklin Lloyd"] = true
+L["Fremal Doohickey"] = true
+L["Frenzied Plaguehound"] = true
+L["Frostmaul Giant"] = true
+L["Furywing"] = true
 L["Fyldan"] = true
 L["Gagsprocket"] = true
+L["Galana"] = true
+L["Galvanoth"] = true
 L["Gambarinka"] = true
+L["Gan'arg Analyzer"] = true
+L["Gargantuan Abyssal"] = true
+L["Gargantuan Ooze"] = true
+L["Garr"] = true
+L["Gaston"] = true
 L["Gearcutter Cogspinner"] = true
+L["Gearing Redridge"] = true
+L["Gehennas"] = true
 L["Gelanthis"] = true
+L["Gelman Stonehand"] = true
+L["General Drakkisath"] = true
+L["Geofram Bouldertoe"] = true
 L["George Candarte"] = true
+L["Georgio Bolero"] = true
+L["Ghak Healtouch"] = true
 L["Gharash"] = true
+L["Ghermas"] = true
 L["Ghok'kah"] = true
+L["Ghoul Ravener"] = true
 L["Gidge Spellweaver"] = true
 L["Gigget Zipcoil"] = true
 L["Gikkix"] = true
+L["Gimble Thistlefuzz"] = true
 L["Gina MacGregor"] = true
+L["Glasshide Basilisk"] = true
+L["Gloresse"] = true
 L["Gloria Femmel"] = true
+L["Glutinous Ooze"] = true
 L["Glyx Brewright"] = true
 L["Gnaz Blunderflame"] = true
+L["Godan"] = true
+L["Golem Lord Argelmach"] = true
+L["Golemagg the Incinerator"] = true
+L["Goraluk Anvilcrack"] = true
+L["Gordunni Back-Breaker"] = true
+L["Gordunni Elementalist"] = true
+L["Gordunni Head-Splitter"] = true
+L["Gordunni Ogre Mage"] = true
+L["Gordunni Soulreaper"] = true
+L["Goretusk"] = true
+L["Goretusk Liver Pie"] = true
+L["Graham Van Talen"] = true
+L["Grand Warlock Nethekurse"] = true
+L["Grarnik Goodstitch"] = true
+L["Gremlock Pilsnor"] = true
+L["Gretta Finespindle"] = true
 L["Gretta Ganter"] = true
+L["Greyheart Tidecaller"] = true
+L["Grikka"] = true
 L["Grimtak"] = true
+L["Grimtotem Geomancer"] = true
+L["Grisy Spicecrackle"] = true
+L["Grizzle"] = true
+L["Gromden"] = true
+L["Grondal Moonbreeze"] = true
+L["Groum Stonebeard"] = true
+L["Grumnus Steelshaper"] = true
+L["Grutah"] = true
+L["Guillaume Sorouy"] = true
+L["Gurubashi Champion"] = true
+L["Gyth"] = true
 L["Haalrun"] = true
 L["Haferet"] = true
 L["Hagrus"] = true
+L["Hahrana Ironhide"] = true
+L["Halazzi"] = true
+L["Hama"] = true
+L["Hamanar"] = true
+L["Hammered Patron"] = true
 L["Hammon Karwn"] = true
 L["Harggan"] = true
 L["Harklan Moongrove"] = true
 L["Harlown Darkweave"] = true
 L["Harn Longcast"] = true
-L["Haughty Modiste"] = true
+L["Heavy War Golem"] = true
 L["Heldan Galesong"] = true
 L["Helenia Olden"] = true
+L["Hex Lord Malacrass"] = true
+L["Hgarth"] = true
+L["High Botanist Freywinn"] = true
+L["High Enchanter Bardolan"] = true
+L["Highland Fleshstalker"] = true
+L["Hillsbrad Tailor"] = true
 L["Himmik"] = true
+L["Hive'Zara Sandstalker"] = true
+L["Hive'Zara Wasp"] = true
+L["Horns of Frenzy"] = true
 L["Hula'mahi"] = true
+L["Humphry"] = true
+L["Hurnak Grimmord"] = true
+L["Hydromancer Thespia"] = true
+L["Illidari Watcher"] = true
+L["Imperial Plate Belt"] = true
+L["Imperial Plate Boots"] = true
+L["Imperial Plate Bracer"] = true
+L["Imperial Plate Chest"] = true
+L["Imperial Plate Helm"] = true
+L["Imperial Plate Leggings"] = true
+L["Imperial Plate Shoulders"] = true
+L["Incandescent Fel Spark"] = true
+L["Indormi"] = true
 L["Innkeeper Biribi"] = true
 L["Innkeeper Fizzgrimble"] = true
 L["Innkeeper Grilka"] = true
+L["Inscriber Saalyn"] = true
+L["Insidion"] = true
+L["Ironus Coldsteel"] = true
 L["Jabbey"] = true
+L["Jack Trapper"] = true
+L["Jadefire Rogue"] = true
+L["Jadefire Trickster"] = true
+L["Jaedenar Cultist"] = true
+L["Jalane Ayrole"] = true
+L["James Van Brunt"] = true
+L["Jan'alai"] = true
 L["Jandia"] = true
 L["Janet Hommers"] = true
 L["Jangdor Swiftstrider"] = true
 L["Jannos Ironwill"] = true
 L["Jaquilina Dramet"] = true
 L["Jase Farlane"] = true
+L["Jaxin Chong"] = true
+L["Jazdalaad"] = true
 L["Jazzrik"] = true
 L["Jeeda"] = true
+L["Jemma Quikswitch"] = true
+L["Jenna Lemkenilli"] = true
 L["Jennabink Powerseam"] = true
 L["Jessara Cordell"] = true
+L["Jhag"] = true
 L["Jim Saltit"] = true
 L["Jinky Twizzlefixxit"] = true
 L["Johan Barnes"] = true
+L["Johan Focht"] = true
+L["John Burnside"] = true
+L["Jormund Stonebrow"] = true
+L["Josef Gregorian"] = true
 L["Joseph Moore"] = true
+L["Josephine Lister"] = true
+L["Joys of Omosh"] = true
 L["Jubie Gadgetspring"] = true
 L["Jun'ha"] = true
 L["Juno Dufrain"] = true
 L["Jutak"] = true
+L["K. Lee Smallfry"] = true
 L["Kaita Deepforge"] = true
 L["Kalaen"] = true
+L["Kalinda"] = true
 L["Kalldan Felmoon"] = true
+L["Kamari"] = true
+L["Kanaria"] = true
 L["Kania"] = true
+L["Karaaz"] = true
+L["Karn Stonehoof"] = true
+L["Karolek"] = true
+L["Kayaart"] = true
+L["Kaz'rogal"] = true
+L["Keelen Sheets"] = true
 L["Keena"] = true
+L["Kelgruk Bloodaxe"] = true
 L["Kelsey Yance"] = true
 L["Kendor Kabonka"] = true
 L["Khara Deepwater"] = true
 L["Kiknikle"] = true
+L["Kil'hala"] = true
 L["Killian Sanatha"] = true
 L["Kilxx"] = true
 L["Kireena"] = true
+L["Kirin'Var Spectre"] = true
 L["Kithas"] = true
+L["Kitta Firewind"] = true
+L["Klaven's Tower"] = true
 L["Knaz Blunderflame"] = true
+L["Knot Thimblejack"] = true
+L["Kodo Hide Bag"] = true
 L["Kor'geld"] = true
+L["Koren"] = true
+L["Kradu Grimblade"] = true
+L["Kray"] = true
 L["Krek Cragcrush"] = true
 L["Kriggon Talsone"] = true
 L["Krinkle Goodsteel"] = true
+L["Krugosh"] = true
+L["Krulmoo Fullmoon"] = true
+L["Krunn"] = true
+L["Kudrii"] = true
 L["Kulwia"] = true
+L["Kurdram Stonehammer"] = true
+L["Kurzen Commando"] = true
+L["Kylanna"] = true
+L["Kylanna Windwhisper"] = true
+L["Kylene"] = true
 L["Kzixx"] = true
+L["L'lura Goldspun"] = true
 L["Laird"] = true
+L["Lalina Summermoon"] = true
 L["Landraelanis"] = true
 L["Lardan"] = true
+L["Lava Surger"] = true
+L["Lavinia Crowe"] = true
+L["Lawrence Schneider"] = true
 L["Lebowski"] = true
 L["Leeli Longhaggle"] = true
+L["Legashi Rogue"] = true
 L["Leo Sarn"] = true
 L["Leonard Porter"] = true
+L["Lethon"] = true
+L["Lieutenant General Andorov"] = true
+L["Lilliam Sparkspindle"] = true
 L["Lilly"] = true
+L["Lilyssia Nightbreeze"] = true
 L["Lindea Rabonne"] = true
+L["Lingering Highborne"] = true
+L["Liquid Stone"] = true
+L["Lissaf"] = true
 L["Lizbeth Cromwell"] = true
 L["Logannas"] = true
+L["Logistics Officer Ulrike"] = true
+L["Lokhtos Darkbargainer"] = true
 L["Loolruna"] = true
+L["Lord Kazzak"] = true
+L["Lord Roccor"] = true
 L["Lorelae Wintersong"] = true
+L["Lorokeem"] = true
+L["Lucan Cordell"] = true
+L["Lucc"] = true
+L["Lucifron"] = true
 L["Lyna"] = true
+L["Lynalis"] = true
+L["Mack Diver"] = true
 L["Madame Ruby"] = true
+L["Magar"] = true
+L["Mageslayer"] = true
+L["Magister Kalendris"] = true
+L["Magistrix Eredania"] = true
+L["Magmadar"] = true
+L["Magnus Frostwake"] = true
+L["Mahani"] = true
+L["Mahir Redstroke"] = true
 L["Mahu"] = true
+L["Mak"] = true
+L["Makaru"] = true
+L["Malcomb Wynn"] = true
+L["Maleki the Pallid"] = true
 L["Mallen Swain"] = true
 L["Malygen"] = true
+L["Mangorn Flinthammer"] = true
 L["Mari Stonehand"] = true
 L["Maria Lumere"] = true
 L["Martine Tramblay"] = true
+L["Mary Edras"] = true
 L["Masat T'andr"] = true
 L["Master Chef Mouldier"] = true
+L["Master of the Wild Leather"] = true
 L["Mathar G'ochar"] = true
+L["Matt Johnson"] = true
 L["Mavralyn"] = true
 L["Mazk Snipeshot"] = true
+L["Me'lynn"] = true
+L["Mechano-Lord Capacitus"] = true
+L["Meilosh"] = true
+L["Mekgineer Steamrigger"] = true
+L["Mekgineer Thermaplugg"] = true
 L["Melaris"] = true
+L["Mendorn"] = true
+L["Mennu the Betrayer"] = true
+L["Miall"] = true
+L["Miao'zan"] = true
 L["Micha Yance"] = true
+L["Michelle Belle"] = true
+L["Mijan"] = true
+L["Mildred Fletcher"] = true
+L["Milla Fairancora"] = true
 L["Millie Gregorian"] = true
+L["Mire Lord"] = true
+L["Mirvedon"] = true
 L["Mishta"] = true
+L["Mission: Possible But Not Probable"] = true
 L["Mixie Farshot"] = true
+L["Mo'arg Incinerator"] = true
+L["Mo'arg Weaponsmith"] = true
+L["Moam"] = true
+L["Mok'Nathal Treats"] = true
+L["Molt Thorn"] = true
+L["Molten Giant"] = true
+L["Monstrous Kaliri"] = true
 L["Montarr"] = true
+L["Moonglow Vest"] = true
+L["Moonrage Tailor"] = true
+L["Moordo"] = true
+L["Moroes"] = true
+L["Mosh'Ogg Brute"] = true
+L["Mossflayer Shadowhunter"] = true
+L["Mot Dawnstrider"] = true
+L["Mountaineer Boombellow"] = true
+L["Muaat"] = true
+L["Muculent Ooze"] = true
+L["Mudduk"] = true
+L["Mudrock Tortoise"] = true
 L["Muheru the Weaver"] = true
+L["Mukdrak"] = true
+L["Mumman"] = true
+L["Murk Worm"] = true
+L["Murkblood Raider"] = true
+L["Murmur"] = true
+L["Mutate Fear-Shrieker"] = true
 L["Muuran"] = true
+L["Mycah"] = true
 L["Mythrin'dir"] = true
 L["Naal Mistrunner"] = true
+L["Nadyia Maneweaver"] = true
+L["Nahogg"] = true
+L["Naka"] = true
+L["Nakodu"] = true
+L["Nalorakk"] = true
 L["Namdo Bizzfizzle"] = true
 L["Nandar Branson"] = true
+L["Nardstrum Kupferzwick"] = true
+L["Narj Deepslice"] = true
 L["Narkk"] = true
+L["Narv Hidecrafter"] = true
 L["Nasmara Moonsong"] = true
 L["Nata Dawnstrider"] = true
 L["Neal Allen"] = true
@@ -1143,95 +1003,410 @@ L["Neii"] = true
 L["Nergal"] = true
 L["Nerrist"] = true
 L["Nessa Shadowsong"] = true
+L["Nether Sorceress"] = true
+L["Nethermancer Sepethrea"] = true
+L["Nethermine Flayer"] = true
+L["Nexus Stalker"] = true
+L["Nexus-Prince Shaffar"] = true
+L["Night Mistress"] = true
+L["Nimar the Slayer"] = true
 L["Nina Lightbrew"] = true
 L["Nioma"] = true
+L["Nissa Firestone"] = true
+L["Nixx Sprocketspring"] = true
+L["Nogg"] = true
 L["Nula the Butcher"] = true
+L["Nurse Neela"] = true
+L["Nus"] = true
+L["Nutral"] = true
 L["Nyoma"] = true
+L["Obsidia"] = true
+L["Ockil"] = true
 L["Ogg'marr"] = true
+L["Oglethorpe Obnoticus"] = true
+L["Okothos Ironrager"] = true
+L["Okuno"] = true
+L["Oloraak"] = true
+L["On Iron Pauldrons"] = true
+L["Ontuvo"] = true
+L["Onyxia"] = true
+L["Ormer's Revenge"] = true
 L["Otho Moji'ko"] = true
 L["Outfitter Eric"] = true
+L["Overmaster Pyron"] = true
+L["Padaar"] = true
+L["Pand Stonebinder"] = true
+L["Pathaleon the Calculator"] = true
+L["Paulsta'ats"] = true
+L["Penney Copperpinch"] = true
+L["Peter Galen"] = true
+L["Phantom Attendant"] = true
+L["Phantom Guest"] = true
+L["Phantom Stagehand"] = true
+L["Phantom Valet"] = true
 L["Phea"] = true
+L["Pikkle"] = true
 L["Plugger Spazzring"] = true
+L["Portal Seeker"] = true
 L["Pratt McGrubben"] = true
+L["Priestess Delrissa"] = true
+L["Primal Ooze"] = true
+L["Princess Tempestria"] = true
+L["Prospector Nachlan"] = true
+L["Provisioner Nasela"] = true
+L["Pusillin"] = true
+L["Putridus Trickster"] = true
+L["Pyall Silentstride"] = true
+L["Pyrewood Tailor"] = true
+L["Pyromancer Loregrain"] = true
 L["Qia"] = true
+L["Quarelestra"] = true
 L["Quartermaster Davian Vaclav"] = true
+L["Quartermaster Endarin"] = true
+L["Quartermaster Enuril"] = true
 L["Quartermaster Jaffrey Noreliqe"] = true
+L["Quartermaster Miranda Breechlock"] = true
+L["Quartermaster Urgronn"] = true
+L["Quartermaster Zigris"] = true
 L["Quelis"] = true
+L["Rage Talon Fire Tongue"] = true
+L["Rage Winterchill"] = true
+L["Raging Skeleton"] = true
+L["Randal Worth"] = true
 L["Ranik"] = true
 L["Rann Flamespinner"] = true
 L["Rartar"] = true
+L["Ras Frostwhisper"] = true
 L["Rathis Tomber"] = true
+L["Rawrk"] = true
+L["Razaani Spell-Thief"] = true
+L["Razia"] = true
+L["Razzashi Broodwidow"] = true
+L["Recipe of the Kaldorei"] = true
+L["Redridge Goulash"] = true
+L["Refik"] = true
+L["Rhiannon Davis"] = true
+L["Ribbly Screwspigot"] = true
+L["Ribbly's Crony"] = true
+L["Ridge Huntress"] = true
+L["Ridgespine Stalker"] = true
+L["Rift Keeper"] = true
+L["Rift Lord"] = true
 L["Rikqiz"] = true
+L["Rin'wosho the Trader"] = true
+L["Rivendark"] = true
 L["Rizz Loosebolt"] = true
+L["Rogvar"] = true
 L["Rohok"] = true
 L["Ronald Burch"] = true
+L["Rotgath Stonebeard"] = true
+L["Rotting Behemoth"] = true
+L["Roxxik"] = true
 L["Rungor"] = true
 L["Ruppo Zipcoil"] = true
 L["Saenorion"] = true
+L["Saltstone Crystalhide"] = true
+L["Sarah Tanner"] = true
+L["Saru Steelfury"] = true
+L["Sassa Weldwell"] = true
+L["Sathein"] = true
+L["Scarab"] = true
+L["Scargil"] = true
+L["Scarlet Archmage"] = true
+L["Scarlet Chaplain"] = true
+L["Scarlet Cleric"] = true
+L["Scarlet Curate"] = true
+L["Scarlet Defender"] = true
+L["Scarlet Enchanter"] = true
+L["Scarlet Inquisitor"] = true
+L["Scarlet Myrmidon"] = true
+L["Scarlet Smith"] = true
+L["Scarlet Sorcerer"] = true
+L["Scarlet Spellbinder"] = true
+L["Scarlet Warder"] = true
+L["Scarlet Wizard"] = true
+L["Scholomance Adept"] = true
+L["Scholomance Dark Summoner"] = true
+L["Se'Jib"] = true
+L["Searing Elemental"] = true
+L["Seasoned Wolf Kabobs"] = true
+L["Sedana"] = true
 L["Seer Janidi"] = true
+L["Seersa Copperpinch"] = true
+L["Sellandus"] = true
+L["Selling Fish"] = true
+L["Sempstress Ambershine"] = true
+L["Serge Hinott"] = true
+L["Sethekk Ravenguard"] = true
 L["Sewa Mistrunner"] = true
+L["Shaani"] = true
+L["Shade of Aran"] = true
 L["Shadi Mistrunner"] = true
+L["Shadow Council Warlock"] = true
+L["Shadowmage"] = true
+L["Shadowmoon Darkcaster"] = true
+L["Shadowsword Lifeshaper"] = true
+L["Shadowsword Vanquisher"] = true
+L["Shadowsworn Thug"] = true
+L["Shadowy Assassin"] = true
+L["Shaina Fuller"] = true
 L["Shankys"] = true
+L["Sharth Voldoun"] = true
+L["Shartuul"] = true
+L["Shattered Hand Berserker"] = true
+L["Shattered Hand Centurion"] = true
+L["Shattered Hand Champion"] = true
+L["Shayis Steelfury"] = true
+L["Shazzrah"] = true
 L["Sheendra Tallgrass"] = true
+L["Shelene Rhobart"] = true
 L["Shen'dralar Provisioner"] = true
 L["Sheri Zipstitch"] = true
+L["Shoveltusk Soup Again?"] = true
+L["Shrike Bat"] = true
 L["Sid Limbardi"] = true
+L["Simon Tanner"] = true
+L["Simon Unit"] = true
+L["Skeletal Flayer"] = true
 L["Skreah"] = true
+L["Skullsplitter Mystic"] = true
+L["Skyguard Stable Master"] = true
+L["Slagg"] = true
+L["Slavering Ghoul"] = true
+L["Smelt On, Smelt Off"] = true
+L["Smith Argus"] = true
+L["Smooth as Butter"] = true
+L["Smudge Thunderwood"] = true
+L["Snakestone of the Shadow Huntress"] = true
+L["Snang"] = true
+L["Snarl"] = true
+L["Solakar Flamewreath"] = true
+L["Son of Arkkoroc"] = true
 L["Soolie Berryfizz"] = true
+L["Soothing Turtle Bisque"] = true
 L["Sovik"] = true
+L["Spectral Charger"] = true
+L["Spectral Citizen"] = true
+L["Spectral Researcher"] = true
+L["Spectral Teacher"] = true
+L["Spell Shade"] = true
+L["Spirestone Battle Mage"] = true
+L["Spirestone Mystic"] = true
+L["Spirestone Warlord"] = true
+L["Spitelash Siren"] = true
+L["Springspindle Fizzlegear"] = true
+L["Sprite Jumpsprocket"] = true
+L["Stephen Ryback"] = true
+L["Stone Guardian"] = true
+L["Stonevault Seer"] = true
+L["Stranglethorn Tiger"] = true
+L["Strashaz Warrior"] = true
+L["Stromgarde Defender"] = true
 L["Stuart Fleming"] = true
+L["Suffering Highborne"] = true
+L["Sul'lithuz Broodling"] = true
 L["Sumi"] = true
+L["Sunblade Arch Mage"] = true
+L["Sunblade Cabalist"] = true
+L["Sunblade Dawn Priest"] = true
+L["Sunblade Dusk Priest"] = true
+L["Sunblade Protector"] = true
+L["Sunblade Scout"] = true
+L["Sunblade Slayer"] = true
+L["Sunblade Vindicator"] = true
+L["Sunfury Arcanist"] = true
+L["Sunfury Arch Mage"] = true
+L["Sunfury Archer"] = true
+L["Sunfury Bloodwarder"] = true
+L["Sunfury Bowman"] = true
+L["Sunfury Geologist"] = true
+L["Sunfury Researcher"] = true
+L["Sunseeker Astromage"] = true
+L["Sunseeker Botanist"] = true
 L["Super-Seller 680"] = true
 L["Supply Officer Mills"] = true
+L["Supplying the Front"] = true
+L["Swampwalker"] = true
+L["Swampwalker Elder"] = true
+L["Sweet Serenity"] = true
+L["Sylann"] = true
+L["Sylvanna Forestmoon"] = true
+L["Syndicate Assassin"] = true
+L["Syndicate Spy"] = true
+L["Syphoner"] = true
+L["Taerar"] = true
+L["Tal"] = true
+L["Taladan"] = true
+L["Tally Berryfizz"] = true
+L["Talmar"] = true
 L["Tamar"] = true
+L["Tangled Horror"] = true
 L["Tansy Puddlefizz"] = true
 L["Tarban Hearthgrain"] = true
 L["Tari'qa"] = true
+L["Tarn"] = true
 L["Tatiana"] = true
+L["Teg Dawnstrider"] = true
+L["Tel'Athir"] = true
+L["Telonis"] = true
+L["Tepa"] = true
+L["Terestian Illhoof"] = true
+L["Terrormaster"] = true
 L["Thaddeus Webb"] = true
+L["Thamner Pol"] = true
 L["Tharynn Bouden"] = true
+L["Thaurissan Firewalker"] = true
+L["The Art of the Imbue"] = true
+L["The Demon Forge"] = true
+L["The Great Moongraze Hunt"] = true
+L["The Great Silver Deceiver"] = true
+L["The Origins of Smithing"] = true
+L["The Prophet Skeram"] = true
+L["The Rescue"] = true
+L["The Rokk"] = true
+L["The Taste Test"] = true
+L["The Undermarket"] = true
+L["The Windreaver"] = true
+L["The Zapthrottle Mote Extractor!"] = true
+L["Theka the Martyr"] = true
+L["Thelsamar Blood Sausages"] = true
+L["Theramore Infiltrator"] = true
+L["Theramore Marine"] = true
+L["Theramore Preserver"] = true
+L["Therum Deepforge"] = true
 L["Thomas Yance"] = true
+L["Thonys Pillarstone"] = true
+L["Thorkaf Dragoneye"] = true
+L["Thornfang Ravager"] = true
+L["Thorngrin the Tender"] = true
+L["Thrag Stonehoof"] = true
+L["Thund"] = true
+L["Thuzadin Shadowcaster"] = true
 L["Tilli Thistlefuzz"] = true
+L["Time-Lost Shadowmage"] = true
+L["Timothy Worthington"] = true
+L["Tinkerwiz"] = true
+L["Tinkmaster Overspark"] = true
+L["Tognus Flintfire"] = true
+L["Tomas"] = true
+L["Tomb Fiend"] = true
+L["Torloth the Magnificent"] = true
+L["Torn Fin Coastrunner"] = true
+L["Torn Fin Muckdweller"] = true
+L["Torn Fin Oracle"] = true
+L["Torn Fin Tidehunter"] = true
+L["Trampled Under Foot"] = true
+L["Traugh"] = true
+L["Treant"] = true
+L["Trianna"] = true
+L["Trixie Quikswitch"] = true
 L["Truk Wildbeard"] = true
 L["Tunkk"] = true
+L["Twilight Avenger"] = true
+L["Twilight Drakonaar"] = true
+L["Twilight Fire Guard"] = true
+L["Twilight Geolord"] = true
+L["Ug'thok"] = true
 L["Ulthaan"] = true
 L["Ulthir"] = true
+L["Una"] = true
+L["Unchained Doombringer"] = true
+L["Unseen Servant"] = true
 L["Uriku"] = true
 L["Uthok"] = true
+L["Uthrar Threx"] = true
 L["Vaean"] = true
 L["Valdaron"] = true
+L["Vance Undergloom"] = true
+L["Vargus"] = true
+L["Vazario Linkgrease"] = true
 L["Veenix"] = true
+L["Vekh'nir Dreadhawk"] = true
+L["Vekniss Guardian"] = true
 L["Vendor-Tron 1000"] = true
+L["Vengeful Ancient"] = true
+L["Venture Co. Geologist"] = true
+L["Venture Co. Strip Miner"] = true
+L["Vhan"] = true
 L["Vharr"] = true
+L["Victor Ward"] = true
 L["Viggz Shinesparked"] = true
+L["Vilebranch Hideskinner"] = true
+L["Vilebranch Shadowcaster"] = true
+L["Vir'aani Arcanist"] = true
+L["Vira Younghoof"] = true
 L["Vivianna"] = true
 L["Vizzklick"] = true
 L["Vodesiin"] = true
+L["Voidshrieker"] = true
+L["Volchan"] = true
+L["Vosur Brakthel"] = true
+L["Waldor"] = true
+L["Warlord Kalithresh"] = true
+L["Warp Splinter"] = true
+L["Wastewander Assassin"] = true
+L["Wastewander Bandit"] = true
+L["Wastewander Rogue"] = true
+L["Wastewander Scofflaw"] = true
+L["Wastewander Shadow Mage"] = true
+L["Wastewander Thief"] = true
+L["Weapon Technician"] = true
 L["Wenna Silkbeard"] = true
 L["Werg Thickblade"] = true
+L["Westfall Stew"] = true
+L["Whuut"] = true
 L["Wik'Tar"] = true
+L["Wild Hearts"] = true
+L["Wild Leather Boots"] = true
+L["Wild Leather Helmet"] = true
+L["Wild Leather Leggings"] = true
+L["Wild Leather Shoulders"] = true
+L["Wild Leather Vest"] = true
 L["Wind Trader Lathrai"] = true
+L["Winterfall Den Watcher"] = true
+L["Winterfall Totemic"] = true
+L["Winterfall Ursa"] = true
+L["Witherbark Berserker"] = true
+L["Witherbark Headhunter"] = true
+L["Witherbark Shadow Hunter"] = true
+L["Withered Ancient"] = true
+L["Woodpaw Mongrel"] = true
 L["Wrahk"] = true
+L["Wrath Corruptor"] = true
+L["Wrath Hammer Construct"] = true
+L["Wrathwalker"] = true
 L["Wulan"] = true
+L["Wulmort Jinglepocket"] = true
 L["Wunna Darkmane"] = true
 L["Xandar Goodbeard"] = true
 L["Xen'to"] = true
 L["Xizk Goodstitch"] = true
 L["Xizzer Fizzbolt"] = true
+L["Xylinnia Starshine"] = true
+L["Xyrol"] = true
+L["Yarr Hammerstone"] = true
 L["Yatheon"] = true
+L["Yelmak"] = true
 L["Yonada"] = true
+L["Ysondre"] = true
+L["Ythyar"] = true
 L["Yuka Screwspigot"] = true
 L["Yurial Soulwater"] = true
+L["Zalas Witherbark"] = true
+L["Zamja"] = true
 L["Zan Shivsproket"] = true
 L["Zannok Hidepiercer"] = true
 L["Zansoa"] = true
 L["Zaralda"] = true
+L["Zarcsin"] = true
 L["Zarena Cromwind"] = true
+L["Zargh"] = true
+L["Zarise"] = true
+L["Zarrin"] = true
+L["Zebig"] = true
 L["Zixil"] = true
 L["Zorbin Fandazzle"] = true
+L["Zul'jin"] = true
+L["Zula Slagfury"] = true
 L["Zurai"] = true
-L["Narj Deepslice"] = true
-L["Fazu"] = true
-L["Zargh"] = true
-L["Smudge Thunderwood"] = true
-L["Sassa Weldwell"] = true
+L["\"Cookie\" McWeaksauce"] = true
diff --git a/Locals/ARLLocals-koKR.lua b/Locals/ARLLocals-koKR.lua
index 4727c5d..38bc5aa 100644
--- a/Locals/ARLLocals-koKR.lua
+++ b/Locals/ARLLocals-koKR.lua
@@ -134,7 +134,6 @@ L["InitiateScanSpecial"] = "%1$s 검색 - %2$s 숙련도에 %3$s 분류의 제
 L["RecipeListSummary"] = "\n당신은 총 %2$s개의 제조법 중 %1$s개를 배웠습니다 (%3$s%%).\n미습득한 제조법은  %4$s개 입니다."
 L["UnknownTradeSkill"] = "이 애드온이 지원하지 않는 전문기술 창을 열었습니다.  해당 기술은 %s 입니다.  이 정보를 애드온의 제작자에게 전달해주세요."
 L["OpenTradeSkillWindow"] = "전문기술 창을 연 후에 기술 검색 해주세요."
-L["TwoCraftingWindows"] = "전문기술 차이 이미 열려 있습니다. 빠진 제조법의 검색을 위해 창을 닫고 다시 열어 주십시오."
 L["SpellIDCache"] = "주문 ID: %s은 캐쉬에 없습니다. http://wow.curseforge.com/projects/ackis-recipe-list/tickets/에 전문기술과 주문ID를 검색해서 올려주십시오."
 L["FactionError"] = "경고: %s의 평판 레벨을 알 수 없습니다."
 L["MissingFromDBWarning"] = "검색된 리스트에 제조법이 없습니다. 아마도 주문ID가 다르거나 검색시 인터넷 상태로 인한 것일 수 있습니다."
diff --git a/Locals/LocalStrings-enUS.lua b/Locals/LocalStrings-enUS.lua
new file mode 100644
index 0000000..83c9509
--- /dev/null
+++ b/Locals/LocalStrings-enUS.lua
@@ -0,0 +1,1097 @@
+L["40 Tickets - Schematic: Steam Tonk Controller"] = true
+L["A Binding Contract"] = true
+L["Aaron Hollman"] = true
+L["Aayndia Floralwind"] = true
+L["Abigail Shiel"] = true
+L["Abyssal Flamebringer"] = true
+L["Accursed Apparition"] = true
+L["Adele Fielder"] = true
+L["Aendel Windspear"] = true
+L["Aged Dalaran Wizard"] = true
+L["Ainethil"] = true
+L["Akham"] = true
+L["Akil'zon"] = true
+L["Alanna Raveneye"] = true
+L["Alchemist Gribble"] = true
+L["Alchemist Mallory"] = true
+L["Alchemist Pestlezugg"] = true
+L["Aldraan"] = true
+L["Alegorn"] = true
+L["Aleinia"] = true
+L["Alestus"] = true
+L["Alexandra Bolero"] = true
+L["Algernon"] = true
+L["Almaador"] = true
+L["Alorra"] = true
+L["Altaa"] = true
+L["Alurmi"] = true
+L["Amin"] = true
+L["Amy Davenport"] = true
+L["Anchorite Ensham"] = true
+L["Anchorite Fateema"] = true
+L["Anchorite Paetheus"] = true
+L["Andre Firebeard"] = true
+L["Andrew Hilbert"] = true
+L["Andrion Darkspinner"] = true
+L["Androd Fadran"] = true
+L["Anetheron"] = true
+L["Anger Guard"] = true
+L["Anguished Highborne"] = true
+L["Annora"] = true
+L["Anvilrage Captain"] = true
+L["Anvilrage Guardsman"] = true
+L["Anvilrage Marshal"] = true
+L["Anvilrage Medic"] = true
+L["Anvilrage Reservist"] = true
+L["Apexis Guardian"] = true
+L["Apothecary Antonivich"] = true
+L["Apprentice Darius"] = true
+L["Apprentice's Duties"] = true
+L["Arathel Sunforge"] = true
+L["Arcane Aberration"] = true
+L["Arcane Protector"] = true
+L["Arcanist Sheynathren"] = true
+L["Arcatraz Sentinel"] = true
+L["Archimonde"] = true
+L["Aresella"] = true
+L["Argent Quartermaster Hasana"] = true
+L["Argent Quartermaster Lightspark"] = true
+L["Arkkoran Oracle"] = true
+L["Arnok"] = true
+L["Arodis Sunblade"] = true
+L["Arras"] = true
+L["Arred"] = true
+L["Arrond"] = true
+L["Arthur Moore"] = true
+L["Artificer Daelo"] = true
+L["Asarnan"] = true
+L["Ashtongue Warrior"] = true
+L["Aska Mistrunner"] = true
+L["Atal'ai Witch Doctor"] = true
+L["Attumen the Huntsman"] = true
+L["Auchenai Monk"] = true
+L["Auctioneer Wabang"] = true
+L["Avian Darkhawk"] = true
+L["Azgalor"] = true
+L["Azuregos"] = true
+L["Balai Lok'Wein"] = true
+L["Bale"] = true
+L["Balgaras the Foul"] = true
+L["Balnazzar"] = true
+L["Banalash"] = true
+L["Bannok Grimaxe"] = true
+L["Bar Talet"] = true
+L["Barbaric Battlements"] = true
+L["Barbecued Buzzard Wings"] = true
+L["Barbed Lasher"] = true
+L["Barim Spilthoof"] = true
+L["Baron Geddon"] = true
+L["Baron Rivendare"] = true
+L["Bash'ir Arcanist"] = true
+L["Bash'ir Raider"] = true
+L["Bash'ir Spell-Thief"] = true
+L["Basil Frye"] = true
+L["Baxter"] = true
+L["Beer Basted Boar Ribs"] = true
+L["Belil"] = true
+L["Bemarrin"] = true
+L["Bena Winterhoof"] = true
+L["Bengus Deepforge"] = true
+L["Berudan Keysworn"] = true
+L["Betty Quin"] = true
+L["Blackened Ancient"] = true
+L["Blackhand Assassin"] = true
+L["Blackhand Elite"] = true
+L["Blackheart the Inciter"] = true
+L["Blackrock Battlemaster"] = true
+L["Blackrock Slayer"] = true
+L["Blackrock Soldier"] = true
+L["Blacksmith Calypso"] = true
+L["Blackwater Deckhand"] = true
+L["Blackwing"] = true
+L["Blimo Gadgetspring"] = true
+L["Blixrez Goodstitch"] = true
+L["Blizrik Buckshot"] = true
+L["Bliztik"] = true
+L["Bloodfen Lashtail"] = true
+L["Bloodmaul Geomancer"] = true
+L["Bloodmaul Soothsayer"] = true
+L["Bloodsail Raider"] = true
+L["Bloodwarder Squire"] = true
+L["Bog Giant"] = true
+L["Bombus Finespindle"] = true
+L["Bonechewer Backbreaker"] = true
+L["Bonechewer Blade Fury"] = true
+L["Borgosh Corebender"] = true
+L["Borgus Steelhand"] = true
+L["Borto"] = true
+L["Borya"] = true
+L["Boulderfist Brute"] = true
+L["Boulderfist Invader"] = true
+L["Boulderfist Mauler"] = true
+L["Boulderfist Warrior"] = true
+L["Bowen Brisboise"] = true
+L["Brawn"] = true
+L["Braxxus"] = true
+L["Brek Stonehoof"] = true
+L["Brienna Starglow"] = true
+L["Brikk Keencraft"] = true
+L["Bro'kin"] = true
+L["Brock Stoneseeker"] = true
+L["Brom Killian"] = true
+L["Bronk"] = true
+L["Bronk Guzzlegear"] = true
+L["Brumman"] = true
+L["Brumn Winterhoof"] = true
+L["Brutus"] = true
+L["Burbik Gearspanner"] = true
+L["Burko"] = true
+L["Burning Exile"] = true
+L["Buzzek Bracketswing"] = true
+L["Byancie"] = true
+L["Cabal Fanatic"] = true
+L["Camberon"] = true
+L["Cannon Master Willey"] = true
+L["Captain Halyndor"] = true
+L["Captain Skarloc"] = true
+L["Captured Gnome"] = true
+L["Carolai Anise"] = true
+L["Caryssia Moonhunter"] = true
+L["Catherine Leland"] = true
+L["Cave Yeti"] = true
+L["Celie Steelwing"] = true
+L["Cenarion Hold Infantry"] = true
+L["Charred Ancient"] = true
+L["Chaw Stronghide"] = true
+L["Christoph Jeffcoat"] = true
+L["Chrono Lord Deja"] = true
+L["Clarise Gnarltree"] = true
+L["Cleft Scorpid"] = true
+L["Cliff Breaker"] = true
+L["Cloned Ooze"] = true
+L["Cluster Launcher"] = true
+L["Clyde Ranthal"] = true
+L["Cobalt Mageweaver"] = true
+L["Coilfang Champion"] = true
+L["Coilfang Oracle"] = true
+L["Coilfang Serpentguard"] = true
+L["Coilfang Sorceress"] = true
+L["Coilskar Siren"] = true
+L["Coldmist Widow"] = true
+L["Constance Brisboise"] = true
+L["Cook Ghilm"] = true
+L["Cookie One-Eye"] = true
+L["Coreiel"] = true
+L["Corporal Bluth"] = true
+L["Corruption"] = true
+L["Costly Menace"] = true
+L["Cowardly Crosby"] = true
+L["Crazed Ancient"] = true
+L["Crazed Murkblood Foreman"] = true
+L["Crazed Murkblood Miner"] = true
+L["Crazk Sparks"] = true
+L["Crimson Battle Mage"] = true
+L["Crimson Inquisitor"] = true
+L["Crimson Sorcerer"] = true
+L["Cro Threadstrong"] = true
+L["Crocolisk Hunting"] = true
+L["Cruelfin"] = true
+L["Crypt Crawler"] = true
+L["Crystal Boughman"] = true
+L["Culinary Crunch"] = true
+L["Cyndra Kindwhisper"] = true
+L["Daedal"] = true
+L["Daga Ramba"] = true
+L["Daggermaw Blackhide"] = true
+L["Daggle Ironshaper"] = true
+L["Dalinna"] = true
+L["Dalliah the Doomsayer"] = true
+L["Dalria"] = true
+L["Dan Golthas"] = true
+L["Dane Lindgren"] = true
+L["Daniel Bartlett"] = true
+L["Danielle Zipstitch"] = true
+L["Dank Drizzlecut"] = true
+L["Dannelor"] = true
+L["Danwe"] = true
+L["Darian Singh"] = true
+L["Darianna"] = true
+L["Dark Adept"] = true
+L["Dark Caster"] = true
+L["Dark Conclave Shadowmancer"] = true
+L["Dark Iron Demolitionist"] = true
+L["Dark Iron Dwarf"] = true
+L["Dark Iron Saboteur"] = true
+L["Dark Iron Slaver"] = true
+L["Dark Iron Taskmaster"] = true
+L["Dark Iron Tunneler"] = true
+L["Dark Iron Watchman"] = true
+L["Dark Strand Voidcaller"] = true
+L["Dark Summoner"] = true
+L["Darkfang Lurker"] = true
+L["Darkmaster Gandling"] = true
+L["Darkweaver Syth"] = true
+L["Darmari"] = true
+L["Darnall"] = true
+L["Daryl Riknussun"] = true
+L["Daryl Stack"] = true
+L["Deadwind Warlock"] = true
+L["Deadwood Den Watcher"] = true
+L["Deadwood Shaman"] = true
+L["Dealer Malij"] = true
+L["Deathforge Guardian"] = true
+L["Deathforge Imp"] = true
+L["Deathforge Smith"] = true
+L["Deathforge Summoner"] = true
+L["Deathforge Tinkerer"] = true
+L["Deathshadow Hound"] = true
+L["Decaying Horror"] = true
+L["Deek Fizzlebizz"] = true
+L["Defias Enchanter"] = true
+L["Defias Looter"] = true
+L["Defias Pirate"] = true
+L["Defias Profiteer"] = true
+L["Defias Renegade Mage"] = true
+L["Defias Squallshaper"] = true
+L["Delfrum Flintbeard"] = true
+L["Deneb Walker"] = true
+L["Derak Nightfall"] = true
+L["Deriz"] = true
+L["Deviate Eradication"] = true
+L["Deynna"] = true
+L["Dig Rat Stew"] = true
+L["Dirge Quikcleave"] = true
+L["Dirge's Kickin' Chimaerok Chops"] = true
+L["Disembodied Protector"] = true
+L["Disembodied Vindicator"] = true
+L["Doba"] = true
+L["Doctor Herbert Halsey"] = true
+L["Doctor Marsh"] = true
+L["Doctor Martin Felben"] = true
+L["Dolothos"] = true
+L["Doomforge Arcanasmith"] = true
+L["Doomforge Craftsman"] = true
+L["Doomforge Dragoon"] = true
+L["Doomforge Engineer"] = true
+L["Drac Roughcut"] = true
+L["Drake Lindgren"] = true
+L["Drakk Stonehand"] = true
+L["Drovnar Strongbrew"] = true
+L["Drywhisker Digger"] = true
+L["Duhng"] = true
+L["Dulvi"] = true
+L["Durnholde Rifleman"] = true
+L["Durnholde Sentry"] = true
+L["Dusky Crab Cakes"] = true
+L["Dwukk"] = true
+L["Easy Strider Living"] = true
+L["Eclipsion Archmage"] = true
+L["Eclipsion Blood Knight"] = true
+L["Eclipsion Bloodwarder"] = true
+L["Eclipsion Cavalier"] = true
+L["Eclipsion Centurion"] = true
+L["Eclipsion Soldier"] = true
+L["Eclipsion Spellbinder"] = true
+L["Edna Mullby"] = true
+L["Edrem"] = true
+L["Egomis"] = true
+L["Eiin"] = true
+L["Eldara Dawnrunner"] = true
+L["Eldrin"] = true
+L["Elixir of Pain"] = true
+L["Elynna"] = true
+L["Emeriss"] = true
+L["Emperor Vek'nilash"] = true
+L["Emrul Riknussun"] = true
+L["Enchanted Thorium Platemail: Volume I"] = true
+L["Enchanted Thorium Platemail: Volume II"] = true
+L["Enchanted Thorium Platemail: Volume III"] = true
+L["Enchanter Aeldron"] = true
+L["Enchanter Salias"] = true
+L["Enchantress Metura"] = true
+L["Enchantress Volali"] = true
+L["Enraged Air Spirit"] = true
+L["Enraged Earth Spirit"] = true
+L["Enraged Fire Spirit"] = true
+L["Enraged Water Spirit"] = true
+L["Epoch Hunter"] = true
+L["Eredar Deathbringer"] = true
+L["Eriden"] = true
+L["Erika Tate"] = true
+L["Erilia"] = true
+L["Erin Kelly"] = true
+L["Ethereal Priest"] = true
+L["Ethereum Nullifier"] = true
+L["Ethereum Researcher"] = true
+L["Eunice Burch"] = true
+L["Faldron"] = true
+L["Fantei"] = true
+L["Fariel Starsong"] = true
+L["Farii"] = true
+L["Fazu"] = true
+L["Fedryen Swiftspear"] = true
+L["Feera"] = true
+L["Felannia"] = true
+L["Felicia Doan"] = true
+L["Felika"] = true
+L["Fera Palerunner"] = true
+L["Feruul"] = true
+L["Fiery Plate Gauntlets"] = true
+L["Fimble Finespindle"] = true
+L["Finbus Geargrind"] = true
+L["Firebrand Grunt"] = true
+L["Firebrand Invoker"] = true
+L["Firebrand Legionnaire"] = true
+L["Firebrand Pyromancer"] = true
+L["Fireguard Destroyer"] = true
+L["Firegut Brute"] = true
+L["Flash Bomb Recipe"] = true
+L["Fleshbeast"] = true
+L["Foreman Marcrid"] = true
+L["Fradd Swiftgear"] = true
+L["Franklin Lloyd"] = true
+L["Fremal Doohickey"] = true
+L["Frenzied Plaguehound"] = true
+L["Frostmaul Giant"] = true
+L["Furywing"] = true
+L["Fyldan"] = true
+L["Gagsprocket"] = true
+L["Galana"] = true
+L["Galvanoth"] = true
+L["Gambarinka"] = true
+L["Gan'arg Analyzer"] = true
+L["Gargantuan Abyssal"] = true
+L["Gargantuan Ooze"] = true
+L["Garr"] = true
+L["Gaston"] = true
+L["Gearcutter Cogspinner"] = true
+L["Gearing Redridge"] = true
+L["Gehennas"] = true
+L["Gelanthis"] = true
+L["Gelman Stonehand"] = true
+L["General Drakkisath"] = true
+L["Geofram Bouldertoe"] = true
+L["George Candarte"] = true
+L["Georgio Bolero"] = true
+L["Ghak Healtouch"] = true
+L["Gharash"] = true
+L["Ghermas"] = true
+L["Ghok'kah"] = true
+L["Ghoul Ravener"] = true
+L["Gidge Spellweaver"] = true
+L["Gigget Zipcoil"] = true
+L["Gikkix"] = true
+L["Gimble Thistlefuzz"] = true
+L["Gina MacGregor"] = true
+L["Glasshide Basilisk"] = true
+L["Gloresse"] = true
+L["Gloria Femmel"] = true
+L["Glutinous Ooze"] = true
+L["Glyx Brewright"] = true
+L["Gnaz Blunderflame"] = true
+L["Godan"] = true
+L["Golem Lord Argelmach"] = true
+L["Golemagg the Incinerator"] = true
+L["Goraluk Anvilcrack"] = true
+L["Gordunni Back-Breaker"] = true
+L["Gordunni Elementalist"] = true
+L["Gordunni Head-Splitter"] = true
+L["Gordunni Ogre Mage"] = true
+L["Gordunni Soulreaper"] = true
+L["Goretusk"] = true
+L["Goretusk Liver Pie"] = true
+L["Graham Van Talen"] = true
+L["Grand Warlock Nethekurse"] = true
+L["Grarnik Goodstitch"] = true
+L["Gremlock Pilsnor"] = true
+L["Gretta Finespindle"] = true
+L["Gretta Ganter"] = true
+L["Greyheart Tidecaller"] = true
+L["Grikka"] = true
+L["Grimtak"] = true
+L["Grimtotem Geomancer"] = true
+L["Grisy Spicecrackle"] = true
+L["Grizzle"] = true
+L["Gromden"] = true
+L["Grondal Moonbreeze"] = true
+L["Groum Stonebeard"] = true
+L["Grumnus Steelshaper"] = true
+L["Grutah"] = true
+L["Guillaume Sorouy"] = true
+L["Gurubashi Champion"] = true
+L["Gyth"] = true
+L["Haalrun"] = true
+L["Haferet"] = true
+L["Hagrus"] = true
+L["Hahrana Ironhide"] = true
+L["Halazzi"] = true
+L["Hama"] = true
+L["Hamanar"] = true
+L["Hammered Patron"] = true
+L["Hammon Karwn"] = true
+L["Harggan"] = true
+L["Harklan Moongrove"] = true
+L["Harlown Darkweave"] = true
+L["Harn Longcast"] = true
+L["Heavy War Golem"] = true
+L["Heldan Galesong"] = true
+L["Helenia Olden"] = true
+L["Hex Lord Malacrass"] = true
+L["Hgarth"] = true
+L["High Botanist Freywinn"] = true
+L["High Enchanter Bardolan"] = true
+L["Highland Fleshstalker"] = true
+L["Hillsbrad Tailor"] = true
+L["Himmik"] = true
+L["Hive'Zara Sandstalker"] = true
+L["Hive'Zara Wasp"] = true
+L["Horns of Frenzy"] = true
+L["Hula'mahi"] = true
+L["Humphry"] = true
+L["Hurnak Grimmord"] = true
+L["Hydromancer Thespia"] = true
+L["Illidari Watcher"] = true
+L["Imperial Plate Belt"] = true
+L["Imperial Plate Boots"] = true
+L["Imperial Plate Bracer"] = true
+L["Imperial Plate Chest"] = true
+L["Imperial Plate Helm"] = true
+L["Imperial Plate Leggings"] = true
+L["Imperial Plate Shoulders"] = true
+L["Incandescent Fel Spark"] = true
+L["Indormi"] = true
+L["Innkeeper Biribi"] = true
+L["Innkeeper Fizzgrimble"] = true
+L["Innkeeper Grilka"] = true
+L["Inscriber Saalyn"] = true
+L["Insidion"] = true
+L["Ironus Coldsteel"] = true
+L["Jabbey"] = true
+L["Jack Trapper"] = true
+L["Jadefire Rogue"] = true
+L["Jadefire Trickster"] = true
+L["Jaedenar Cultist"] = true
+L["Jalane Ayrole"] = true
+L["James Van Brunt"] = true
+L["Jan'alai"] = true
+L["Jandia"] = true
+L["Janet Hommers"] = true
+L["Jangdor Swiftstrider"] = true
+L["Jannos Ironwill"] = true
+L["Jaquilina Dramet"] = true
+L["Jase Farlane"] = true
+L["Jaxin Chong"] = true
+L["Jazdalaad"] = true
+L["Jazzrik"] = true
+L["Jeeda"] = true
+L["Jemma Quikswitch"] = true
+L["Jenna Lemkenilli"] = true
+L["Jennabink Powerseam"] = true
+L["Jessara Cordell"] = true
+L["Jhag"] = true
+L["Jim Saltit"] = true
+L["Jinky Twizzlefixxit"] = true
+L["Johan Barnes"] = true
+L["Johan Focht"] = true
+L["John Burnside"] = true
+L["Jormund Stonebrow"] = true
+L["Josef Gregorian"] = true
+L["Joseph Moore"] = true
+L["Josephine Lister"] = true
+L["Joys of Omosh"] = true
+L["Jubie Gadgetspring"] = true
+L["Jun'ha"] = true
+L["Juno Dufrain"] = true
+L["Jutak"] = true
+L["K. Lee Smallfry"] = true
+L["Kaita Deepforge"] = true
+L["Kalaen"] = true
+L["Kalinda"] = true
+L["Kalldan Felmoon"] = true
+L["Kamari"] = true
+L["Kanaria"] = true
+L["Kania"] = true
+L["Karaaz"] = true
+L["Karn Stonehoof"] = true
+L["Karolek"] = true
+L["Kayaart"] = true
+L["Kaz'rogal"] = true
+L["Keelen Sheets"] = true
+L["Keena"] = true
+L["Kelgruk Bloodaxe"] = true
+L["Kelsey Yance"] = true
+L["Kendor Kabonka"] = true
+L["Khara Deepwater"] = true
+L["Kiknikle"] = true
+L["Kil'hala"] = true
+L["Killian Sanatha"] = true
+L["Kilxx"] = true
+L["Kireena"] = true
+L["Kirin'Var Spectre"] = true
+L["Kithas"] = true
+L["Kitta Firewind"] = true
+L["Klaven's Tower"] = true
+L["Knaz Blunderflame"] = true
+L["Knot Thimblejack"] = true
+L["Kodo Hide Bag"] = true
+L["Kor'geld"] = true
+L["Koren"] = true
+L["Kradu Grimblade"] = true
+L["Kray"] = true
+L["Krek Cragcrush"] = true
+L["Kriggon Talsone"] = true
+L["Krinkle Goodsteel"] = true
+L["Krugosh"] = true
+L["Krulmoo Fullmoon"] = true
+L["Krunn"] = true
+L["Kudrii"] = true
+L["Kulwia"] = true
+L["Kurdram Stonehammer"] = true
+L["Kurzen Commando"] = true
+L["Kylanna"] = true
+L["Kylanna Windwhisper"] = true
+L["Kylene"] = true
+L["Kzixx"] = true
+L["L'lura Goldspun"] = true
+L["Laird"] = true
+L["Lalina Summermoon"] = true
+L["Landraelanis"] = true
+L["Lardan"] = true
+L["Lava Surger"] = true
+L["Lavinia Crowe"] = true
+L["Lawrence Schneider"] = true
+L["Lebowski"] = true
+L["Leeli Longhaggle"] = true
+L["Legashi Rogue"] = true
+L["Leo Sarn"] = true
+L["Leonard Porter"] = true
+L["Lethon"] = true
+L["Lieutenant General Andorov"] = true
+L["Lilliam Sparkspindle"] = true
+L["Lilly"] = true
+L["Lilyssia Nightbreeze"] = true
+L["Lindea Rabonne"] = true
+L["Lingering Highborne"] = true
+L["Liquid Stone"] = true
+L["Lissaf"] = true
+L["Lizbeth Cromwell"] = true
+L["Logannas"] = true
+L["Logistics Officer Ulrike"] = true
+L["Lokhtos Darkbargainer"] = true
+L["Loolruna"] = true
+L["Lord Kazzak"] = true
+L["Lord Roccor"] = true
+L["Lorelae Wintersong"] = true
+L["Lorokeem"] = true
+L["Lucan Cordell"] = true
+L["Lucc"] = true
+L["Lucifron"] = true
+L["Lyna"] = true
+L["Lynalis"] = true
+L["Mack Diver"] = true
+L["Madame Ruby"] = true
+L["Magar"] = true
+L["Mageslayer"] = true
+L["Magister Kalendris"] = true
+L["Magistrix Eredania"] = true
+L["Magmadar"] = true
+L["Magnus Frostwake"] = true
+L["Mahani"] = true
+L["Mahir Redstroke"] = true
+L["Mahu"] = true
+L["Mak"] = true
+L["Makaru"] = true
+L["Malcomb Wynn"] = true
+L["Maleki the Pallid"] = true
+L["Mallen Swain"] = true
+L["Malygen"] = true
+L["Mangorn Flinthammer"] = true
+L["Mari Stonehand"] = true
+L["Maria Lumere"] = true
+L["Martine Tramblay"] = true
+L["Mary Edras"] = true
+L["Masat T'andr"] = true
+L["Master Chef Mouldier"] = true
+L["Master of the Wild Leather"] = true
+L["Mathar G'ochar"] = true
+L["Matt Johnson"] = true
+L["Mavralyn"] = true
+L["Mazk Snipeshot"] = true
+L["Me'lynn"] = true
+L["Mechano-Lord Capacitus"] = true
+L["Meilosh"] = true
+L["Mekgineer Steamrigger"] = true
+L["Mekgineer Thermaplugg"] = true
+L["Melaris"] = true
+L["Mendorn"] = true
+L["Mennu the Betrayer"] = true
+L["Miall"] = true
+L["Miao'zan"] = true
+L["Micha Yance"] = true
+L["Michelle Belle"] = true
+L["Mijan"] = true
+L["Mildred Fletcher"] = true
+L["Milla Fairancora"] = true
+L["Millie Gregorian"] = true
+L["Mire Lord"] = true
+L["Mirvedon"] = true
+L["Mishta"] = true
+L["Mission: Possible But Not Probable"] = true
+L["Mixie Farshot"] = true
+L["Mo'arg Incinerator"] = true
+L["Mo'arg Weaponsmith"] = true
+L["Moam"] = true
+L["Mok'Nathal Treats"] = true
+L["Molt Thorn"] = true
+L["Molten Giant"] = true
+L["Monstrous Kaliri"] = true
+L["Montarr"] = true
+L["Moonglow Vest"] = true
+L["Moonrage Tailor"] = true
+L["Moordo"] = true
+L["Moroes"] = true
+L["Mosh'Ogg Brute"] = true
+L["Mossflayer Shadowhunter"] = true
+L["Mot Dawnstrider"] = true
+L["Mountaineer Boombellow"] = true
+L["Muaat"] = true
+L["Muculent Ooze"] = true
+L["Mudduk"] = true
+L["Mudrock Tortoise"] = true
+L["Muheru the Weaver"] = true
+L["Mukdrak"] = true
+L["Mumman"] = true
+L["Murk Worm"] = true
+L["Murkblood Raider"] = true
+L["Murmur"] = true
+L["Mutate Fear-Shrieker"] = true
+L["Muuran"] = true
+L["Mycah"] = true
+L["Mythrin'dir"] = true
+L["Naal Mistrunner"] = true
+L["Nadyia Maneweaver"] = true
+L["Nahogg"] = true
+L["Naka"] = true
+L["Nakodu"] = true
+L["Nalorakk"] = true
+L["Namdo Bizzfizzle"] = true
+L["Nandar Branson"] = true
+L["Nardstrum Kupferzwick"] = true
+L["Narj Deepslice"] = true
+L["Narkk"] = true
+L["Narv Hidecrafter"] = true
+L["Nasmara Moonsong"] = true
+L["Nata Dawnstrider"] = true
+L["Neal Allen"] = true
+L["Neii"] = true
+L["Nergal"] = true
+L["Nerrist"] = true
+L["Nessa Shadowsong"] = true
+L["Nether Sorceress"] = true
+L["Nethermancer Sepethrea"] = true
+L["Nethermine Flayer"] = true
+L["Nexus Stalker"] = true
+L["Nexus-Prince Shaffar"] = true
+L["Night Mistress"] = true
+L["Nimar the Slayer"] = true
+L["Nina Lightbrew"] = true
+L["Nioma"] = true
+L["Nissa Firestone"] = true
+L["Nixx Sprocketspring"] = true
+L["Nogg"] = true
+L["Nula the Butcher"] = true
+L["Nurse Neela"] = true
+L["Nus"] = true
+L["Nutral"] = true
+L["Nyoma"] = true
+L["Obsidia"] = true
+L["Ockil"] = true
+L["Ogg'marr"] = true
+L["Oglethorpe Obnoticus"] = true
+L["Okothos Ironrager"] = true
+L["Okuno"] = true
+L["Oloraak"] = true
+L["On Iron Pauldrons"] = true
+L["Ontuvo"] = true
+L["Onyxia"] = true
+L["Ormer's Revenge"] = true
+L["Otho Moji'ko"] = true
+L["Outfitter Eric"] = true
+L["Overmaster Pyron"] = true
+L["Padaar"] = true
+L["Pand Stonebinder"] = true
+L["Pathaleon the Calculator"] = true
+L["Paulsta'ats"] = true
+L["Penney Copperpinch"] = true
+L["Peter Galen"] = true
+L["Phantom Attendant"] = true
+L["Phantom Guest"] = true
+L["Phantom Stagehand"] = true
+L["Phantom Valet"] = true
+L["Phea"] = true
+L["Pikkle"] = true
+L["Plugger Spazzring"] = true
+L["Portal Seeker"] = true
+L["Pratt McGrubben"] = true
+L["Priestess Delrissa"] = true
+L["Primal Ooze"] = true
+L["Princess Tempestria"] = true
+L["Prospector Nachlan"] = true
+L["Provisioner Nasela"] = true
+L["Pusillin"] = true
+L["Putridus Trickster"] = true
+L["Pyall Silentstride"] = true
+L["Pyrewood Tailor"] = true
+L["Pyromancer Loregrain"] = true
+L["Qia"] = true
+L["Quarelestra"] = true
+L["Quartermaster Davian Vaclav"] = true
+L["Quartermaster Endarin"] = true
+L["Quartermaster Enuril"] = true
+L["Quartermaster Jaffrey Noreliqe"] = true
+L["Quartermaster Miranda Breechlock"] = true
+L["Quartermaster Urgronn"] = true
+L["Quartermaster Zigris"] = true
+L["Quelis"] = true
+L["Rage Talon Fire Tongue"] = true
+L["Rage Winterchill"] = true
+L["Raging Skeleton"] = true
+L["Randal Worth"] = true
+L["Ranik"] = true
+L["Rann Flamespinner"] = true
+L["Rartar"] = true
+L["Ras Frostwhisper"] = true
+L["Rathis Tomber"] = true
+L["Rawrk"] = true
+L["Razaani Spell-Thief"] = true
+L["Razia"] = true
+L["Razzashi Broodwidow"] = true
+L["Recipe of the Kaldorei"] = true
+L["Redridge Goulash"] = true
+L["Refik"] = true
+L["Rhiannon Davis"] = true
+L["Ribbly Screwspigot"] = true
+L["Ribbly's Crony"] = true
+L["Ridge Huntress"] = true
+L["Ridgespine Stalker"] = true
+L["Rift Keeper"] = true
+L["Rift Lord"] = true
+L["Rikqiz"] = true
+L["Rin'wosho the Trader"] = true
+L["Rivendark"] = true
+L["Rizz Loosebolt"] = true
+L["Rogvar"] = true
+L["Rohok"] = true
+L["Ronald Burch"] = true
+L["Rotgath Stonebeard"] = true
+L["Rotting Behemoth"] = true
+L["Roxxik"] = true
+L["Rungor"] = true
+L["Ruppo Zipcoil"] = true
+L["Saenorion"] = true
+L["Saltstone Crystalhide"] = true
+L["Sarah Tanner"] = true
+L["Saru Steelfury"] = true
+L["Sassa Weldwell"] = true
+L["Sathein"] = true
+L["Scarab"] = true
+L["Scargil"] = true
+L["Scarlet Archmage"] = true
+L["Scarlet Chaplain"] = true
+L["Scarlet Cleric"] = true
+L["Scarlet Curate"] = true
+L["Scarlet Defender"] = true
+L["Scarlet Enchanter"] = true
+L["Scarlet Inquisitor"] = true
+L["Scarlet Myrmidon"] = true
+L["Scarlet Smith"] = true
+L["Scarlet Sorcerer"] = true
+L["Scarlet Spellbinder"] = true
+L["Scarlet Warder"] = true
+L["Scarlet Wizard"] = true
+L["Scholomance Adept"] = true
+L["Scholomance Dark Summoner"] = true
+L["Se'Jib"] = true
+L["Searing Elemental"] = true
+L["Seasoned Wolf Kabobs"] = true
+L["Sedana"] = true
+L["Seer Janidi"] = true
+L["Seersa Copperpinch"] = true
+L["Sellandus"] = true
+L["Selling Fish"] = true
+L["Sempstress Ambershine"] = true
+L["Serge Hinott"] = true
+L["Sethekk Ravenguard"] = true
+L["Sewa Mistrunner"] = true
+L["Shaani"] = true
+L["Shade of Aran"] = true
+L["Shadi Mistrunner"] = true
+L["Shadow Council Warlock"] = true
+L["Shadowmage"] = true
+L["Shadowmoon Darkcaster"] = true
+L["Shadowsword Lifeshaper"] = true
+L["Shadowsword Vanquisher"] = true
+L["Shadowsworn Thug"] = true
+L["Shadowy Assassin"] = true
+L["Shaina Fuller"] = true
+L["Shankys"] = true
+L["Sharth Voldoun"] = true
+L["Shartuul"] = true
+L["Shattered Hand Berserker"] = true
+L["Shattered Hand Centurion"] = true
+L["Shattered Hand Champion"] = true
+L["Shayis Steelfury"] = true
+L["Shazzrah"] = true
+L["Sheendra Tallgrass"] = true
+L["Shelene Rhobart"] = true
+L["Shen'dralar Provisioner"] = true
+L["Sheri Zipstitch"] = true
+L["Shoveltusk Soup Again?"] = true
+L["Shrike Bat"] = true
+L["Sid Limbardi"] = true
+L["Simon Tanner"] = true
+L["Simon Unit"] = true
+L["Skeletal Flayer"] = true
+L["Skreah"] = true
+L["Skullsplitter Mystic"] = true
+L["Skyguard Stable Master"] = true
+L["Slagg"] = true
+L["Slavering Ghoul"] = true
+L["Smelt On, Smelt Off"] = true
+L["Smith Argus"] = true
+L["Smooth as Butter"] = true
+L["Smudge Thunderwood"] = true
+L["Snakestone of the Shadow Huntress"] = true
+L["Snang"] = true
+L["Snarl"] = true
+L["Solakar Flamewreath"] = true
+L["Son of Arkkoroc"] = true
+L["Soolie Berryfizz"] = true
+L["Soothing Turtle Bisque"] = true
+L["Sovik"] = true
+L["Spectral Charger"] = true
+L["Spectral Citizen"] = true
+L["Spectral Researcher"] = true
+L["Spectral Teacher"] = true
+L["Spell Shade"] = true
+L["Spirestone Battle Mage"] = true
+L["Spirestone Mystic"] = true
+L["Spirestone Warlord"] = true
+L["Spitelash Siren"] = true
+L["Springspindle Fizzlegear"] = true
+L["Sprite Jumpsprocket"] = true
+L["Stephen Ryback"] = true
+L["Stone Guardian"] = true
+L["Stonevault Seer"] = true
+L["Stranglethorn Tiger"] = true
+L["Strashaz Warrior"] = true
+L["Stromgarde Defender"] = true
+L["Stuart Fleming"] = true
+L["Suffering Highborne"] = true
+L["Sul'lithuz Broodling"] = true
+L["Sumi"] = true
+L["Sunblade Arch Mage"] = true
+L["Sunblade Cabalist"] = true
+L["Sunblade Dawn Priest"] = true
+L["Sunblade Dusk Priest"] = true
+L["Sunblade Protector"] = true
+L["Sunblade Scout"] = true
+L["Sunblade Slayer"] = true
+L["Sunblade Vindicator"] = true
+L["Sunfury Arcanist"] = true
+L["Sunfury Arch Mage"] = true
+L["Sunfury Archer"] = true
+L["Sunfury Bloodwarder"] = true
+L["Sunfury Bowman"] = true
+L["Sunfury Geologist"] = true
+L["Sunfury Researcher"] = true
+L["Sunseeker Astromage"] = true
+L["Sunseeker Botanist"] = true
+L["Super-Seller 680"] = true
+L["Supply Officer Mills"] = true
+L["Supplying the Front"] = true
+L["Swampwalker"] = true
+L["Swampwalker Elder"] = true
+L["Sweet Serenity"] = true
+L["Sylann"] = true
+L["Sylvanna Forestmoon"] = true
+L["Syndicate Assassin"] = true
+L["Syndicate Spy"] = true
+L["Syphoner"] = true
+L["Taerar"] = true
+L["Tal"] = true
+L["Taladan"] = true
+L["Tally Berryfizz"] = true
+L["Talmar"] = true
+L["Tamar"] = true
+L["Tangled Horror"] = true
+L["Tansy Puddlefizz"] = true
+L["Tarban Hearthgrain"] = true
+L["Tari'qa"] = true
+L["Tarn"] = true
+L["Tatiana"] = true
+L["Teg Dawnstrider"] = true
+L["Tel'Athir"] = true
+L["Telonis"] = true
+L["Tepa"] = true
+L["Terestian Illhoof"] = true
+L["Terrormaster"] = true
+L["Thaddeus Webb"] = true
+L["Thamner Pol"] = true
+L["Tharynn Bouden"] = true
+L["Thaurissan Firewalker"] = true
+L["The Art of the Imbue"] = true
+L["The Demon Forge"] = true
+L["The Great Moongraze Hunt"] = true
+L["The Great Silver Deceiver"] = true
+L["The Origins of Smithing"] = true
+L["The Prophet Skeram"] = true
+L["The Rescue"] = true
+L["The Rokk"] = true
+L["The Taste Test"] = true
+L["The Undermarket"] = true
+L["The Windreaver"] = true
+L["The Zapthrottle Mote Extractor!"] = true
+L["Theka the Martyr"] = true
+L["Thelsamar Blood Sausages"] = true
+L["Theramore Infiltrator"] = true
+L["Theramore Marine"] = true
+L["Theramore Preserver"] = true
+L["Therum Deepforge"] = true
+L["Thomas Yance"] = true
+L["Thonys Pillarstone"] = true
+L["Thorkaf Dragoneye"] = true
+L["Thornfang Ravager"] = true
+L["Thorngrin the Tender"] = true
+L["Thrag Stonehoof"] = true
+L["Thund"] = true
+L["Thuzadin Shadowcaster"] = true
+L["Tilli Thistlefuzz"] = true
+L["Time-Lost Shadowmage"] = true
+L["Timothy Worthington"] = true
+L["Tinkerwiz"] = true
+L["Tinkmaster Overspark"] = true
+L["Tognus Flintfire"] = true
+L["Tomas"] = true
+L["Tomb Fiend"] = true
+L["Torloth the Magnificent"] = true
+L["Torn Fin Coastrunner"] = true
+L["Torn Fin Muckdweller"] = true
+L["Torn Fin Oracle"] = true
+L["Torn Fin Tidehunter"] = true
+L["Trampled Under Foot"] = true
+L["Traugh"] = true
+L["Treant"] = true
+L["Trianna"] = true
+L["Trixie Quikswitch"] = true
+L["Truk Wildbeard"] = true
+L["Tunkk"] = true
+L["Twilight Avenger"] = true
+L["Twilight Drakonaar"] = true
+L["Twilight Fire Guard"] = true
+L["Twilight Geolord"] = true
+L["Ug'thok"] = true
+L["Ulthaan"] = true
+L["Ulthir"] = true
+L["Una"] = true
+L["Unchained Doombringer"] = true
+L["Unseen Servant"] = true
+L["Uriku"] = true
+L["Uthok"] = true
+L["Uthrar Threx"] = true
+L["Vaean"] = true
+L["Valdaron"] = true
+L["Vance Undergloom"] = true
+L["Vargus"] = true
+L["Vazario Linkgrease"] = true
+L["Veenix"] = true
+L["Vekh'nir Dreadhawk"] = true
+L["Vekniss Guardian"] = true
+L["Vendor-Tron 1000"] = true
+L["Vengeful Ancient"] = true
+L["Venture Co. Geologist"] = true
+L["Venture Co. Strip Miner"] = true
+L["Vhan"] = true
+L["Vharr"] = true
+L["Victor Ward"] = true
+L["Viggz Shinesparked"] = true
+L["Vilebranch Hideskinner"] = true
+L["Vilebranch Shadowcaster"] = true
+L["Vir'aani Arcanist"] = true
+L["Vira Younghoof"] = true
+L["Vivianna"] = true
+L["Vizzklick"] = true
+L["Vodesiin"] = true
+L["Voidshrieker"] = true
+L["Volchan"] = true
+L["Vosur Brakthel"] = true
+L["Waldor"] = true
+L["Warlord Kalithresh"] = true
+L["Warp Splinter"] = true
+L["Wastewander Assassin"] = true
+L["Wastewander Bandit"] = true
+L["Wastewander Rogue"] = true
+L["Wastewander Scofflaw"] = true
+L["Wastewander Shadow Mage"] = true
+L["Wastewander Thief"] = true
+L["Weapon Technician"] = true
+L["Wenna Silkbeard"] = true
+L["Werg Thickblade"] = true
+L["Westfall Stew"] = true
+L["Whuut"] = true
+L["Wik'Tar"] = true
+L["Wild Hearts"] = true
+L["Wild Leather Boots"] = true
+L["Wild Leather Helmet"] = true
+L["Wild Leather Leggings"] = true
+L["Wild Leather Shoulders"] = true
+L["Wild Leather Vest"] = true
+L["Wind Trader Lathrai"] = true
+L["Winterfall Den Watcher"] = true
+L["Winterfall Totemic"] = true
+L["Winterfall Ursa"] = true
+L["Witherbark Berserker"] = true
+L["Witherbark Headhunter"] = true
+L["Witherbark Shadow Hunter"] = true
+L["Withered Ancient"] = true
+L["Woodpaw Mongrel"] = true
+L["Wrahk"] = true
+L["Wrath Corruptor"] = true
+L["Wrath Hammer Construct"] = true
+L["Wrathwalker"] = true
+L["Wulan"] = true
+L["Wulmort Jinglepocket"] = true
+L["Wunna Darkmane"] = true
+L["Xandar Goodbeard"] = true
+L["Xen'to"] = true
+L["Xizk Goodstitch"] = true
+L["Xizzer Fizzbolt"] = true
+L["Xylinnia Starshine"] = true
+L["Xyrol"] = true
+L["Yarr Hammerstone"] = true
+L["Yatheon"] = true
+L["Yelmak"] = true
+L["Yonada"] = true
+L["Ysondre"] = true
+L["Ythyar"] = true
+L["Yuka Screwspigot"] = true
+L["Yurial Soulwater"] = true
+L["Zalas Witherbark"] = true
+L["Zamja"] = true
+L["Zan Shivsproket"] = true
+L["Zannok Hidepiercer"] = true
+L["Zansoa"] = true
+L["Zaralda"] = true
+L["Zarcsin"] = true
+L["Zarena Cromwind"] = true
+L["Zargh"] = true
+L["Zarise"] = true
+L["Zarrin"] = true
+L["Zebig"] = true
+L["Zixil"] = true
+L["Zorbin Fandazzle"] = true
+L["Zul'jin"] = true
+L["Zula Slagfury"] = true
+L["Zurai"] = true
+L["\"Cookie\" McWeaksauce"] = true
+
diff --git a/RecipeDB/ARL-Alchemy.lua b/RecipeDB/ARL-Alchemy.lua
index a5ada76..5e0450b 100644
--- a/RecipeDB/ARL-Alchemy.lua
+++ b/RecipeDB/ARL-Alchemy.lua
@@ -1,223 +1,2003 @@
 --[[

+************************************************************************
+
 ARL-Alchemy.lua

 Alchemy data for all of AckisRecipeList

+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+211 found from data mining.
+5 ignored.
+24 WotLK ignored.
+
+************************************************************************
+
 $Date$
 $Rev$

+************************************************************************
+
+Format:
+
+	self:addTradeSkill(RecipeDB, Spell ID, Skill Level, Item ID, Rarity, Specialty)
+
+************************************************************************
+
 ]]--

-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-local BZONE		= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local BBOSS		= LibStub("LibBabble-Boss-3.0"):GetLookupTable()
-
-local addon = AckisRecipeList
-
-function addon:InitAlchemy()
-
-	-- Trainer Recipes
-	self:addTradeSkillSpell(2330, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(2329, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(7183, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(3170, 15, L["Trainer"],1)
-	self:addTradeSkillSpell(2331, 25, L["Trainer"],1)
-	self:addTradeSkillSpell(2332, 40, L["Trainer"],1)
-	self:addTradeSkillSpell(2334, 50, L["Trainer"],1)
-	self:addTradeSkillSpell(2337, 55, L["Trainer"],1)
-	self:addTradeSkillSpell(7836, 80, L["Trainer"],1)
-	self:addTradeSkillSpell(3171, 90, L["Trainer"],1)
-	self:addTradeSkillSpell(7179, 90, L["Trainer"],1)
-	self:addTradeSkillSpell(7841, 100, L["Trainer"],1)
-	self:addTradeSkillSpell(3447, 110, L["Trainer"],1)
-	self:addTradeSkillSpell(3173, 120, L["Trainer"],1)
-	self:addTradeSkillSpell(3176, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(3177, 130, L["Trainer"],1)
-	self:addTradeSkillSpell(7837, 130, L["Trainer"],1)
-	self:addTradeSkillSpell(7845, 140, L["Trainer"],1)
-	self:addTradeSkillSpell(7181, 155, L["Trainer"],1)
-	self:addTradeSkillSpell(3452, 160, L["Trainer"],1)
-	self:addTradeSkillSpell(3448, 165, L["Trainer"],1)
-	self:addTradeSkillSpell(11449, 185, L["Trainer"],1)
-	self:addTradeSkillSpell(11450, 195, L["Trainer"],1)
-	self:addTradeSkillSpell(12609, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(11451, 205, L["Trainer"],1)
-	self:addTradeSkillSpell(11448, 205, L["Trainer"],1)
-	self:addTradeSkillSpell(11457, 215, L["Trainer"],1)
-	self:addTradeSkillSpell(22808, 215, L["Trainer"],1)
-	self:addTradeSkillSpell(11460, 230, L["Trainer"],1)
-	self:addTradeSkillSpell(15833, 230, L["Trainer"],1)
-	self:addTradeSkillSpell(11461, 235, L["Trainer"],1)
-	self:addTradeSkillSpell(11465, 235, L["Trainer"],1)
-	self:addTradeSkillSpell(11467, 240, L["Trainer"],1)
-	self:addTradeSkillSpell(11478, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(17551, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(17553, 260, L["Trainer"],1)
-	self:addTradeSkillSpell(17556, 275, L["Trainer"],1)
-	self:addTradeSkillSpell(17573, 285, L["Trainer"],1)
-	self:addTradeSkillSpell(33740, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(33738, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(33732, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(28544, 305, L["Trainer"],1)
-	self:addTradeSkillSpell(28545, 310, L["Trainer"],1)
-	self:addTradeSkillSpell(39636, 310, L["Trainer"],1)
-	self:addTradeSkillSpell(33733, 310, L["Trainer"],1)
-	self:addTradeSkillSpell(45061, 325, L["Trainer"],1)
-	self:addTradeSkillSpell(33741, 315, L["Trainer"],1)
-	self:addTradeSkillSpell(39638, 320, L["Trainer"],1)
-	self:addTradeSkillSpell(38070, 325, L["Trainer"],1)
-	self:addTradeSkillSpell(28551, 325, L["Trainer"],1)
-
-	-- Vendor Recipes
-	self:addTradeSkillSpell(6617, 60, self:CombineVendors(130, 131, 12, 132, false),2)
-	self:addTradeSkillSpell(7255, 100, self:CombineVendors(133, 76, 132, false),2)
-	self:addTradeSkillSpell(7256, 135, self:CombineVendors(110, 135, false),2)
-	self:addTradeSkillSpell(6624, 150, self:CombineVendors(136, 137, 134, false),2)
-	self:addTradeSkillSpell(3449, 165, self:CombineVendors(138, 140, false),2)
-	self:addTradeSkillSpell(7257, 165, self:CombineVendors(141, 142, false),2)
-	self:addTradeSkillSpell(6618, 175, self:CombineVendors(131, 134, false),2)
-	self:addTradeSkillSpell(7258, 190, self:CombineVendors(143, 144, false),2)
-	self:addTradeSkillSpell(7259, 190, self:CombineVendors(145, 146, 147, 144, false),2)
-	self:addTradeSkillSpell(3454, 200, self:CombineVendors(148, false),2)
-	self:addTradeSkillSpell(11459, 200, self:CombineVendors(145, false),2)
-	self:addTradeSkillSpell(11479, 225, self:CombineVendors(145, false),2)
-	self:addTradeSkillSpell(11480, 225, self:CombineVendors(145, false),2)
-	self:addTradeSkillSpell(11473, 245, self:CombineVendors(146, 147, false),2)
-	self:addTradeSkillSpell(11476, 250, self:CombineVendors(149, 150, false),2)
-	self:addTradeSkillSpell(11477, 250, self:CombineVendors(151, 152, false),2)
-	self:addTradeSkillSpell(17554, 265, self:CombineVendors(136, 137, false),2)
-	self:addTradeSkillSpell(17187, 275, self:CombineVendors(145, false),2)
-	self:addTradeSkillSpell(17560, 275, self:CombineVendors(123, false),2)
-	self:addTradeSkillSpell(28543, 305, self:CombineVendors(154, 155, 156, 157, 158, false),2)
-	self:addTradeSkillSpell(28546, 315, self:CombineVendors(159, 160, false),2)
-	self:addTradeSkillSpell(28549, 320, self:CombineVendors(161, 160, false),2)
-	self:addTradeSkillSpell(39639, 330, self:CombineVendors(162, 163, false),2,9)
-	self:addTradeSkillSpell(28555, 340, self:CombineVendors(157, 161, false),2)
-	self:addTradeSkillSpell(28557, 345, self:CombineVendors(157, 161, false),2)
-	self:addTradeSkillSpell(28562, 350, self:CombineVendors(157, 159, false),2)
-	self:addTradeSkillSpell(29688, 350, self:CombineVendors(155, 158, 164, false),2)
-
-	-- World Drops
-	self:addTradeSkillSpell(3230, 50, L["UWD"],3)
-	self:addTradeSkillSpell(2335, 60, L["UWD"],3)
-	self:addTradeSkillSpell(8240, 90, L["UWD"],3)
-	self:addTradeSkillSpell(3172, 110, L["UWD"],3)
-	self:addTradeSkillSpell(3174, 120, L["UWD"],3)
-	self:addTradeSkillSpell(2333, 140, L["UWD"],3)
-	self:addTradeSkillSpell(3188, 150, L["UWD"],3)
-	self:addTradeSkillSpell(3450, 175, L["UWD"],3)
-	self:addTradeSkillSpell(3453, 195, L["UWD"],3)
-	self:addTradeSkillSpell(11453, 210, L["UWD"],3)
-	self:addTradeSkillSpell(11464, 235, L["UWD"],3)
-	self:addTradeSkillSpell(11468, 240, L["UWD"],3)
-	self:addTradeSkillSpell(11472, 245, L["UWD"],3)
-	self:addTradeSkillSpell(3175, 250, L["UWD"],3)
-	self:addTradeSkillSpell(17566, 275, L["UWD"],3)
-	self:addTradeSkillSpell(17563, 275, L["UWD"],3)
-	self:addTradeSkillSpell(17564, 275, L["UWD"],3)
-	self:addTradeSkillSpell(17565, 275, L["UWD"],3)
-	self:addTradeSkillSpell(17570, 280, L["UWD"],3)
-	self:addTradeSkillSpell(17572, 285, L["UWD"],3)
-	self:addTradeSkillSpell(17634, 300, L["UWD"],3)
-	self:addTradeSkillSpell(28550, 320, L["UWD"],3)
-	self:addTradeSkillSpell(28552, 325, L["UWD"],3)
-	self:addTradeSkillSpell(28563, 350, L["UWD"],3)
-	self:addTradeSkillSpell(28564, 350, L["UWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-	self:addTradeSkillSpell(28565, 350, L["UWD"],3)
-	self:addTradeSkillSpell(28570, 355, L["UWD"],3)
-	self:addTradeSkillSpell(28578, 365, L["UWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-
-	-- Specific Drops
-	self:addTradeSkillSpell(4508, 50, self:CombineQuests(L["Discolored Healing Potion Obt"],2,BZONE["Silverpine Forest"]), BFAC["Horde"],8)
-	self:addTradeSkillSpell(3451, 180, L["CWD"] .. addon.br .. L["Mighty Trolls Blood Potion Obt"] .. BZONE["Razorfen Downs"],1,3)
-	self:addTradeSkillSpell(11456, 210, L["Goblin Rocket Fuel Obt"])
-	self:addTradeSkillSpell(4942, 215, self:CombineQuests(L["Lesser Stoneshield Potion Obt"],0,BZONE["Badlands"]),8)
-	self:addTradeSkillSpell(11452, 215, self:CombineQuests(L["Restorative Potion Obt"],2,BZONE["Badlands"],L["Restorative Potion Obt"],1,BZONE["Loch Modan"]),8)
-	self:addTradeSkillSpell(11458, 225, self:CombineMobs(true,L["Wildvine Potion Obt"],BZONE["Stranglethorn Vale"]) .. addon.br .. self:CombineMobs(true,L["Wildvine Potion Obt"],BZONE["The Hinterlands"]),3)
-	self:addTradeSkillSpell(11466, 240, self:CombineMobs(true,L["Gift of Arthas Obt"],BZONE["Western Plaguelands"]),3)
-	self:addTradeSkillSpell(26277, 250, self:CombineMobs(true,L["Elixir of Greater Firepower Obt"],BZONE["Searing Gorge"]),3)
-	self:addTradeSkillSpell(17552, 255, self:CombineMobs(true,L["Mighty Rage Potion Obt"],BZONE["Burning Steppes"]),3)
-	self:addTradeSkillSpell(17555, 270, self:CombineMobs(true,L["Elixir of the Sages Obt"],BZONE["Eastern Plaguelands"]),3)
-	self:addTradeSkillSpell(17557, 275, self:CombineQuests(L["Elixir of Brute Force Obt"],0,BZONE["Un'Goro Crater"]),8)
-	self:addTradeSkillSpell(17562, 275, self:CombineQuests(L["Spectral Essence Obt"],0,BZONE["Western Plaguelands"]),8)
-	self:addTradeSkillSpell(17571, 280, self:CombineMobs(true,L["Elixir of the Mongoose Obt"],BZONE["Azshara"]),3)
-	self:addTradeSkillSpell(17574, 290, self:CombineMobs(true,L["Greater Fire Protection Potion Obt"],BZONE["Lower Blackrock Spire"]),3)
-	self:addTradeSkillSpell(17575, 290, self:CombineMobs(true,L["Greater Frost Protection Potion Obt"],BZONE["Winterspring"]),3)
-	self:addTradeSkillSpell(17576, 290, self:CombineMobs(true,L["Greater Nature Protection Potion Obt"],BZONE["Western Plaguelands"]),3)
-	self:addTradeSkillSpell(17577, 290, self:CombineMobs(true,L["Greater Arcane Protection Potion Obt"],BZONE["Winterspring"]),3)
-	self:addTradeSkillSpell(17578, 290, self:CombineMobs(true,L["Greater Shadow Protection Potion Obt"],BZONE["Eastern Plaguelands"]),3)
-	self:addTradeSkillSpell(17580, 295, self:CombineMobs(false,BBOSS["Darkmaster Gandling"],BZONE["Scholomance"]) .. addon.br .. L["Spectral Essence Obt"],4,5,8)
-	self:addTradeSkillSpell(17635, 300, self:CombineMobs(true,BBOSS["General Drakkisath"],BZONE["Upper Blackrock Spire"]) .. addon.br .. self:AddSingleReputation(4, BFAC["The Sha'tar"]), BFAC["The Sha'tar"],3,5)
-	self:addTradeSkillSpell(17636, 300, self:CombineMobs(true,BBOSS["Balnazzar"],BZONE["Stratholme"]) .. addon.br .. self:AddSingleReputation(4, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"],3,5)
-	self:addTradeSkillSpell(17637, 300, self:CombineMobs(true,BBOSS["Ras Frostwhisper"],BZONE["Scholomance"]) .. addon.br .. self:AddSingleReputation(4, BFAC["Keepers of Time"]), BFAC["Keepers of Time"],3,5)
-	self:addTradeSkillSpell(17638, 300, self:CombineMobs(true,BBOSS["Gyth"],BZONE["Upper Blackrock Spire"]) .. addon.br .. self:AddSingleReputation(4, BFAC["Lower City"]), BFAC["Lower City"],3,5)
-	self:addTradeSkillSpell(38960, 335, self:CombineMobs(false,L["Fel Strength Elixir Obt"],BZONE["Shadowmoon Valley"]),4)
-	self:addTradeSkillSpell(38962, 345, self:CombineMobs(false,L["Fel Regeneration Potion Obt"],BZONE["Shadowmoon Valley"]),4)
-	self:addTradeSkillSpell(28575, 360, self:CombineMobs(false,L["Major Arcane Protection Potion Obt"],BZONE["Nagrand"]),4)
-	self:addTradeSkillSpell(28571, 360, self:CombineMobs(false,L["Major Fire Protection Potion Obt"],BZONE["The Mechanar"]),4,5)
-	self:addTradeSkillSpell(28572, 360, self:CombineMobs(false,BBOSS["Nexus-Prince Shaffar"],BZONE["Mana-Tombs"]),4,5)
-	self:addTradeSkillSpell(28577, 360, self:CombineMobs(false,L["Major Holy Protection Potion Obt"],BZONE["Blade's Edge Mountains"]),4)
-	self:addTradeSkillSpell(28576, 360, self:CombineMobs(false,L["Major Shadow Protection Potion Obt"],BZONE["Shadowmoon Valley"]),4)
-	self:addTradeSkillSpell(38961, 360, self:CombineMobs(false,L["Fel Mana Potion Obt"],BZONE["Shadowmoon Valley"]),4)
-	self:addTradeSkillSpell(28579, 365, self:CombineMobs(false,BBOSS["Captain Skarloc"],BZONE["Old Hillsbrad Foothills"]),4,5)
-
-	-- Seasonal
-	self:addTradeSkillSpell(21923, 190, L["WintersVeil"], 7)
-
-	-- Reputations
-	self:addTradeSkillSpell(17559, 275, self:AddSingleReputation(2, BFAC["Argent Dawn"]), BFAC["Argent Dawn"])
-	self:addTradeSkillSpell(17561, 275, self:AddSingleReputation(1, BFAC["Timbermaw Hold"]), BFAC["Timbermaw Hold"])
-	self:addTradeSkillSpell(24365, 275, self:AddSingleReputation(3, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24366, 275, self:AddSingleReputation(1, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24367, 285, self:AddSingleReputation(4, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24368, 290, self:AddSingleReputation(2, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(25146, 300, self:AddSingleReputation(1, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(17632, 350, self:AddSingleReputation(3, BFAC["The Sha'tar"]), BFAC["The Sha'tar"])
-	self:addTradeSkillSpell(28556, 345, self:AddSingleReputation(3, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(28558, 350, self:AddSingleReputation(3, BFAC["Lower City"]), BFAC["Lower City"])
-	self:addTradeSkillSpell(28566, 350, self:AddSingleReputation(3, BFAC["The Sha'tar"]), BFAC["The Sha'tar"])
-	self:addTradeSkillSpell(28567, 350, self:AddSingleReputation(3, BFAC["Sporeggar"]), BFAC["Sporeggar"])
-	self:addTradeSkillSpell(28568, 350, self:AddDoubleReputation(3, BFAC["Kurenai"], BFAC["The Mag'har"]), BFAC["The Mag'har"])
-	self:addTradeSkillSpell(28569, 350, self:AddSingleReputation(3, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(32765, 350, self:AddSingleReputation(2, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(32766, 350, self:AddDoubleReputation(2, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(28573, 360, self:AddSingleReputation(4, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(42736, 375, self:AddSingleReputation(2, BFAC["The Violet Eye"]), BFAC["The Violet Eye"], 6)
-	self:addTradeSkillSpell(39637, 320, self:AddSingleReputation(2, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(28553, 330, self:AddDoubleReputation(2, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(28554, 335, self:AddSingleReputation(4, BFAC["Sporeggar"]), BFAC["Sporeggar"])
-	self:addTradeSkillSpell(47046, 375, self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"], 15)
-	self:addTradeSkillSpell(47048, 375, self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"], 17)
-	self:addTradeSkillSpell(47049, 375, self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"], 16)
-	self:addTradeSkillSpell(47050, 375, self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"], 14)
-
-	-- Raid Drops
-	self:addTradeSkillSpell(22732, 300, L["MOLTENCORE"], 6)
-	self:addTradeSkillSpell(24266, 300, L["Gurubashi Mojo Madness Obt"], 6)
-
-	-- Discovery Recipes
-	self:addTradeSkillSpell(28583, 350, L["Discovery - Transmutes"], L["Discovery"])
-	self:addTradeSkillSpell(28580, 350, L["Discovery - Transmutes"], L["Discovery"])
-	self:addTradeSkillSpell(28584, 350, L["Discovery - Transmutes"], L["Discovery"])
-	self:addTradeSkillSpell(28585, 350, L["Discovery - Transmutes"], L["Discovery"])
-	self:addTradeSkillSpell(28582, 350, L["Discovery - Transmutes"], L["Discovery"])
-	self:addTradeSkillSpell(28581, 350, L["Discovery - Transmutes"], L["Discovery"])
-	self:addTradeSkillSpell(28587, 360, L["Discovery - Flasks/Potions"], L["Discovery"])
-	self:addTradeSkillSpell(28588, 360, L["Discovery - Flasks/Potions"], L["Discovery"])
-	self:addTradeSkillSpell(28589, 360, L["Discovery - Flasks/Potions"], L["Discovery"])
-	self:addTradeSkillSpell(28590, 360, L["Discovery - Flasks/Potions"], L["Discovery"])
-	self:addTradeSkillSpell(28591, 360, L["Discovery - Flasks/Potions"], L["Discovery"])
-	self:addTradeSkillSpell(28586, 360, L["Discovery - Flasks/Potions"], L["Discovery"])
-	self:addTradeSkillSpell(41458, 375, L["Discovery - Protection Potions"], L["Discovery"])
-	self:addTradeSkillSpell(41500, 375, L["Discovery - Protection Potions"], L["Discovery"])
-	self:addTradeSkillSpell(41501, 375, L["Discovery - Protection Potions"], L["Discovery"])
-	self:addTradeSkillSpell(41502, 375, L["Discovery - Protection Potions"], L["Discovery"])
-	self:addTradeSkillSpell(41503, 375, L["Discovery - Protection Potions"], L["Discovery"])
-
-	if (addon.wrath) then
-		--self:addTradeSkillSpell(54213, 355, L["Trainer"],1) -- Flask of mojo
-	end
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+function addon:InitAlchemy(RecipeDB)
+
+	local recipecount = 0
+
+	-- Elixir of Lion's Strength -- 2329
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2329, 15, 2454, 1, 2259)
+	self:addTradeFlags(RecipeDB, 2329, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Minor Healing Potion -- 2330
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2330, 15, 118, 1, 2259)
+	self:addTradeFlags(RecipeDB, 2330, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Minor Mana Potion -- 2331
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2331, 25, 2455, 1, 2259)
+	self:addTradeFlags(RecipeDB, 2331, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2331, 1, 1215, 1, 1246, 1, 1386, 1, 1470, 1, 2132, 1, 2391, 1, 2837, 1, 3009, 1, 3184, 1, 3347, 1, 3603, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 5500, 1, 7948, 1, 11041, 1, 11042, 1, 11044, 1, 11046, 1, 11047, 1, 16161, 1, 16588, 1, 16642, 1, 16643, 1, 16723, 1, 16741, 1, 17215, 1, 18802, 1, 19052)
+
+	-- Minor Rejuvenation Potion -- 2332
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2332, 30, 2456, 1, 2259)
+	self:addTradeFlags(RecipeDB, 2332, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2332, 1, 1215, 1, 1246, 1, 1386, 1, 1470, 1, 2132, 1, 2391, 1, 2837, 1, 3009, 1, 3184, 1, 3347, 1, 3603, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 5500, 1, 7948, 1, 11041, 1, 11042, 1, 11044, 1, 11046, 1, 11047, 1, 16161, 1, 16588, 1, 16642, 1, 16643, 1, 16723, 1, 16741, 1, 17215, 1, 18802, 1, 19052)
+
+	-- Elixir of Lesser Agility -- 2333
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2333, 125, 3390, 2, 2259)
+	self:addTradeFlags(RecipeDB, 2333, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 2333, 7, 2)
+
+	-- Elixir of Minor Fortitude -- 2334
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2334, 40, 2458, 1, 2259)
+	self:addTradeFlags(RecipeDB, 2334, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2334, 1, 1215, 1, 1246, 1, 1386, 1, 1470, 1, 2132, 1, 2391, 1, 2837, 1, 3009, 1, 3184, 1, 3347, 1, 3603, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 5500, 1, 7948, 1, 11041, 1, 11042, 1, 11044, 1, 11046, 1, 11047, 1, 16161, 1, 16588, 1, 16642, 1, 16643, 1, 16723, 1, 16741, 1, 17215, 1, 18802, 1, 19052)
+
+	-- Swiftness Potion -- 2335
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2335, 50, 2459, 2, 2259)
+	self:addTradeFlags(RecipeDB, 2335, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 2335, 7, 2)
+
+	-- Elixir of Tongues -- 2336
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 2336, 60, 2460, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 2336, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Lesser Healing Potion -- 2337
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2337, 45, 858, 1, 2259)
+	self:addTradeFlags(RecipeDB, 2337, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2337, 1, 1215, 1, 1246, 1, 1386, 1, 1470, 1, 2132, 1, 2391, 1, 2837, 1, 3009, 1, 3184, 1, 3347, 1, 3603, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 5500, 1, 7948, 1, 11041, 1, 11042, 1, 11044, 1, 11046, 1, 11047, 1, 16161, 1, 16588, 1, 16642, 1, 16643, 1, 16723, 1, 16741, 1, 17215, 1, 18802, 1, 19052)
+
+	-- Weak Troll's Blood Potion -- 3170
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3170, 20, 3382, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3170, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3170, 1, 1215, 1, 1246, 1, 1386, 1, 1470, 1, 2132, 1, 2391, 1, 2837, 1, 3009, 1, 3184, 1, 3347, 1, 3603, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 5500, 1, 7948, 1, 11041, 1, 11042, 1, 11044, 1, 11046, 1, 11047, 1, 16161, 1, 16588, 1, 16642, 1, 16643, 1, 16723, 1, 16741, 1, 17215, 1, 18802, 1, 19052)
+
+	-- Elixir of Wisdom -- 3171
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3171, 80, 3383, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3171, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3171, 1, 1386, 1, 2391, 1, 2837, 1, 3009, 1, 3347, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 7948, 1, 11042, 1, 16588, 1, 16642, 1, 16723, 1, 18802, 1, 19052)
+
+	-- Minor Magic Resistance Potion -- 3172
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3172, 95, 3384, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3172, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3172, 7, 1)
+
+	-- Lesser Mana Potion -- 3173
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3173, 105, 3385, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3173, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3173, 1, 1386, 1, 2391, 1, 2837, 1, 3009, 1, 3347, 1, 3964, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 7948, 1, 11042, 1, 16588, 1, 16642, 1, 16723, 1, 18802, 1, 19052)
+
+	-- Potion of Curing -- 3174
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3174, 105, 3386, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3174, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3174, 7, 1)
+
+	-- Limited Invulnerability Potion -- 3175
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3175, 235, 3387, 2, 2259)
+	self:addTradeFlags(RecipeDB, 3175, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3175, 7, 2)
+
+	-- Strong Troll's Blood Potion -- 3176
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3176, 110, 3388, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3176, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3176, 1, 1386, 1, 2391, 1, 2837, 1, 3009, 1, 3347, 1, 3964, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 7948, 1, 11042, 1, 16588, 1, 16642, 1, 16723, 1, 18802, 1, 19052)
+
+	-- Elixir of Defense -- 3177
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3177, 115, 3389, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3177, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3177, 1, 1386, 1, 2391, 1, 2837, 1, 3009, 1, 3347, 1, 3964, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 7948, 1, 11042, 1, 16588, 1, 16642, 1, 16723, 1, 18802, 1, 19052)
+
+	-- Elixir of Ogre's Strength -- 3188
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3188, 135, 3391, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3188, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3188, 7, 1)
+
+	-- Elixir of Minor Agility -- 3230
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3230, 40, 2457, 2, 2259)
+	self:addTradeFlags(RecipeDB, 3230, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3230, 7, 2)
+
+	-- Healing Potion -- 3447
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3447, 95, 929, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3447, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3447, 1, 1386, 1, 2391, 1, 2837, 1, 3009, 1, 3347, 1, 3964, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 7948, 1, 11042, 1, 16588, 1, 16642, 1, 16723, 1, 18802, 1, 19052)
+
+	-- Lesser Invisibility Potion -- 3448
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3448, 145, 3823, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3448, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3448, 1, 1386, 1, 4160, 1, 4611, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Shadow Oil -- 3449
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3449, 150, 3824, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3449, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3449, 2, 2481, 2, 4878)
+
+	-- Elixir of Fortitude -- 3450
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3450, 155, 3825, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3450, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3450, 7, 1, 1, 1386, 1, 4160, 1, 4611, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Mighty Troll's Blood Potion -- 3451
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3451, 160, 3826, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3451, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3451, 7, 1)
+
+	-- Mana Potion -- 3452
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3452, 140, 3827, 1, 2259)
+	self:addTradeFlags(RecipeDB, 3452, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3452, 1, 1386, 1, 4160, 1, 4611, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Elixir of Detect Lesser Invisibility -- 3453
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3453, 175, 3828, 2, 2259)
+	self:addTradeFlags(RecipeDB, 3453, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3453, 7, 2)
+
+	-- Frost Oil -- 3454
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3454, 180, 3829, 2, 2259)
+	self:addTradeFlags(RecipeDB, 3454, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3454, 2, 2480)
+
+	-- Discolored Healing Potion -- 4508
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 4508, 40, 4596, 2, 2259)
+	self:addTradeFlags(RecipeDB, 4508, 2,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 4508, 4, 429)
+
+	-- Lesser Stoneshield Potion -- 4942
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 4942, 190, 4623, 1, 2259)
+	self:addTradeFlags(RecipeDB, 4942, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 4942, 4, 715)
+
+	-- Rage Potion -- 6617
+	-- Vendor
+	-- Flags: Warrior, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6617, 50, 5631, 1, 2259)
+	self:addTradeFlags(RecipeDB, 6617, 1,2,4,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6617, 2, 1669, 2, 1685, 2, 3335, 2, 3499)
+
+	-- Great Rage Potion -- 6618
+	-- Vendor
+	-- Flags: Warrior, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6618, 155, 5633, 1, 2259)
+	self:addTradeFlags(RecipeDB, 6618, 1,2,4,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6618, 2, 3335, 2, 4226)
+
+	-- Cowardly Flight Potion -- 6619
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 6619, 110, 5632, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 6619, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Free Action Potion -- 6624
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6624, 135, 5634, 1, 2259)
+	self:addTradeFlags(RecipeDB, 6624, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6624, 2, 3348, 2, 4226, 2, 5178)
+
+	-- Elixir of Water Breathing -- 7179
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7179, 80, 5996, 1, 2259)
+	self:addTradeFlags(RecipeDB, 7179, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 7179, 1, 1386, 1, 2391, 1, 2837, 1, 3009, 1, 3347, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 7948, 1, 11042, 1, 16588, 1, 16642, 1, 16723, 1, 18802, 1, 19052)
+
+	-- Greater Healing Potion -- 7181
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7181, 135, 1710, 1, 2259)
+	self:addTradeFlags(RecipeDB, 7181, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 7181, 1, 1386, 1, 4160, 1, 4611, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Elixir of Minor Defense -- 7183
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7183, 15, 5997, 1, 2259)
+	self:addTradeFlags(RecipeDB, 7183, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Holy Protection Potion -- 7255
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7255, 90, 6051, 1, 2259)
+	self:addTradeFlags(RecipeDB, 7255, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7255, 2, 1685, 2, 3134, 2, 3490)
+
+	-- Shadow Protection Potion -- 7256
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7256, 120, 6048, 1, 2259)
+	self:addTradeFlags(RecipeDB, 7256, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7256, 2, 2393, 2, 3956)
+
+	-- Fire Protection Potion -- 7257
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7257, 170, 6049, 1, 2259)
+	self:addTradeFlags(RecipeDB, 7257, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7257, 2, 2380, 2, 4083)
+
+	-- Frost Protection Potion -- 7258
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7258, 165, 6050, 1, 2259)
+	self:addTradeFlags(RecipeDB, 7258, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7258, 2, 2812, 2, 2848)
+
+	-- Nature Protection Potion -- 7259
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7259, 170, 6052, 1, 2259)
+	self:addTradeFlags(RecipeDB, 7259, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7259, 2, 2848, 2, 5594, 2, 8157, 2, 8158)
+
+	-- Blackmouth Oil -- 7836
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7836, 60, 6370, 1, 2259)
+	self:addTradeFlags(RecipeDB, 7836, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 7836, 1, 1386, 1, 2391, 1, 2837, 1, 3009, 1, 3347, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 7948, 1, 11042, 1, 16588, 1, 16642, 1, 16723, 1, 18802, 1, 19052)
+
+	-- Fire Oil -- 7837
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7837, 130, 6371, 1, 2259)
+	self:addTradeFlags(RecipeDB, 7837, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 7837, 1, 1386, 1, 2391, 1, 2837, 1, 3009, 1, 3347, 1, 3964, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 7948, 1, 11042, 1, 16588, 1, 16642, 1, 16723, 1, 18802, 1, 19052)
+
+	-- Swim Speed Potion -- 7841
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7841, 90, 6372, 1, 2259)
+	self:addTradeFlags(RecipeDB, 7841, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 7841, 1, 1386, 1, 2391, 1, 2837, 1, 3009, 1, 3347, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 7948, 1, 11042, 1, 16588, 1, 16642, 1, 16723, 1, 18802, 1, 19052)
+
+	-- Elixir of Firepower -- 7845
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7845, 125, 6373, 1, 2259)
+	self:addTradeFlags(RecipeDB, 7845, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 7845, 1, 1386, 1, 2391, 1, 2837, 1, 3009, 1, 3347, 1, 3964, 1, 4160, 1, 4609, 1, 4611, 1, 5177, 1, 5499, 1, 7948, 1, 11042, 1, 16588, 1, 16642, 1, 16723, 1, 18802, 1, 19052)
+
+	-- Elixir of Giant Growth -- 8240
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8240, 80, 6662, 2, 2259)
+	self:addTradeFlags(RecipeDB, 8240, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 8240, 7, 2)
+
+	-- Elixir of Waterwalking -- 11447
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 11447, 150, 8827, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 11447, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Greater Mana Potion -- 11448
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11448, 180, 6149, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11448, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 11448, 1, 1386, 1, 4160, 1, 4611, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Elixir of Agility -- 11449
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11449, 165, 8949, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11449, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 11449, 1, 1386, 1, 4160, 1, 4611, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Elixir of Greater Defense -- 11450
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11450, 175, 8951, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11450, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 11450, 1, 1386, 1, 4160, 1, 4611, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Oil of Immolation -- 11451
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11451, 180, 8956, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11451, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 11451, 1, 1386, 1, 4160, 1, 4611, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Restorative Potion -- 11452
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11452, 185, 9030, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11452, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Magic Resistance Potion -- 11453
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11453, 185, 9036, 2, 2259)
+	self:addTradeFlags(RecipeDB, 11453, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 11453, 7, 2)
+
+	-- Goblin Rocket Fuel -- 11456
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11456, 185, 9061, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11456, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Superior Healing Potion -- 11457
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11457, 190, 3928, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11457, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 11457, 1, 1386, 1, 4160, 1, 4611, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Wildvine Potion -- 11458
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11458, 200, 9144, 2, 2259)
+	self:addTradeFlags(RecipeDB, 11458, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 11458, 7, 2)
+
+	-- Philosopher's Stone -- 11459
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val5id1val5id2val5id3val5id4val5id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11459, 200, 9149, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11459, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 11459, 2, 5594)
+
+	-- Elixir of Detect Undead -- 11460
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11460, 205, 9154, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11460, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 11460, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Arcane Elixir -- 11461
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11461, 210, 9155, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11461, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 11461, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Invisibility Potion -- 11464
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11464, 210, 9172, 2, 2259)
+	self:addTradeFlags(RecipeDB, 11464, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 11464, 7, 2)
+
+	-- Elixir of Greater Intellect -- 11465
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11465, 210, 9179, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11465, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 11465, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Gift of Arthas -- 11466
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11466, 215, 9088, 2, 2259)
+	self:addTradeFlags(RecipeDB, 11466, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 11466, 3, 1783, 3, 1791)
+
+	-- Elixir of Greater Agility -- 11467
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11467, 215, 9187, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11467, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 11467, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Elixir of Dream Vision -- 11468
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11468, 215, 9197, 2, 2259)
+	self:addTradeFlags(RecipeDB, 11468, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 11468, 7, 2)
+
+	-- Elixir of Giants -- 11472
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11472, 220, 9206, 2, 2259)
+	self:addTradeFlags(RecipeDB, 11472, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 11472, 7, 2)
+
+	-- Ghost Dye -- 11473
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11473, 220, 9210, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11473, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 11473, 2, 8157, 2, 8158)
+
+	-- Elixir of Shadow Power -- 11476
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11476, 225, 9264, 2, 2259)
+	self:addTradeFlags(RecipeDB, 11476, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 11476, 2, 1313, 2, 4610)
+
+	-- Elixir of Demonslaying -- 11477
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11477, 225, 9224, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11477, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 11477, 2, 8177, 2, 8178)
+
+	-- Elixir of Detect Demon -- 11478
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11478, 225, 9233, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11478, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 11478, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Transmute: Iron to Gold -- 11479
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11479, 200, 3577, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11479, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 11479, 2, 5594)
+
+	-- Transmute: Mithril to Truesilver -- 11480
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11480, 200, 6037, 1, 2259)
+	self:addTradeFlags(RecipeDB, 11480, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 11480, 2, 5594)
+
+	-- Catseye Elixir -- 12609
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12609, 180, 10592, 1, 2259)
+	self:addTradeFlags(RecipeDB, 12609, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12609, 1, 1386, 1, 4160, 1, 4611, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Dreamless Sleep Potion -- 15833
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15833, 205, 12190, 1, 2259)
+	self:addTradeFlags(RecipeDB, 15833, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 15833, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Transmute: Arcanite -- 17187
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17187, 260, 12360, 1, 2259)
+	self:addTradeFlags(RecipeDB, 17187, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17187, 2, 5594)
+
+	-- Stonescale Oil -- 17551
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17551, 240, 13423, 1, 2259)
+	self:addTradeFlags(RecipeDB, 17551, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 17551, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Mighty Rage Potion -- 17552
+	-- Trainer
+	-- Mob Drop
+	-- Flags: Warrior, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17552, 230, 13442, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17552, 1,2,3,11,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17552, 3, 7027, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Superior Mana Potion -- 17553
+	-- Trainer
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17553, 235, 13443, 1, 2259)
+	self:addTradeFlags(RecipeDB, 17553, 1,2,3,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17553, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052, 2, 4226)
+
+	-- Elixir of Superior Defense -- 17554
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17554, 240, 13445, 1, 2259)
+	self:addTradeFlags(RecipeDB, 17554, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17554, 2, 3348, 2, 5178)
+
+	-- Elixir of the Sages -- 17555
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17555, 245, 13447, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17555, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17555, 3, 9449, 3, 9450, 3, 9451, 3, 9452, 3, 15162, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Major Healing Potion -- 17556
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17556, 250, 13446, 1, 2259)
+	self:addTradeFlags(RecipeDB, 17556, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17556, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Elixir of Brute Force -- 17557
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17557, 250, 13453, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17557, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17557, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Transmute: Air to Fire -- 17559
+	-- Argent Dawn - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17559, 260, 7078, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17559, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,96)
+	self:addTradeAcquire(RecipeDB, 17559, 6, 529, 2, 10856, 6, 529, 2, 10857, 6, 529, 2, 11536)
+
+	-- Transmute: Fire to Earth -- 17560
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17560, 260, 7076, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17560, 2,4,5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 17560, 2, 9499)
+
+	-- Transmute: Earth to Water -- 17561
+	-- Timbermaw Hold - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17561, 260, 7080, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17561, 4,21,22,23,24,25,26,27,28,29,30,36,41,99)
+	self:addTradeAcquire(RecipeDB, 17561, 6, 576, 1, 11557)
+
+	-- Transmute: Water to Air -- 17562
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17562, 260, 7082, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17562, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 17562, 2, 11278)
+
+	-- Transmute: Undeath to Water -- 17563
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17563, 260, 7080, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17563, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17563, 7, 2)
+
+	-- Transmute: Water to Undeath -- 17564
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17564, 260, 12808, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17564, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17564, 7, 2)
+
+	-- Transmute: Life to Earth -- 17565
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17565, 260, 7076, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17565, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17565, 7, 2)
+
+	-- Transmute: Earth to Life -- 17566
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17566, 260, 12803, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17566, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17566, 7, 2)
+
+	-- Greater Stoneshield Potion -- 17570
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17570, 255, 13455, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17570, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17570, 7, 2)
+
+	-- Elixir of the Mongoose -- 17571
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17571, 255, 13452, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17571, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17571, 3, 2995, 3, 6201, 3, 7106)
+
+	-- Purification Potion -- 17572
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17572, 260, 13462, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17572, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17572, 7, 2, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Greater Arcane Elixir -- 17573
+	-- Trainer
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Instance: 1477 - type1category3maxlevel55territory1minlevel50nameThe Temple of Atal'Hakkarid1477
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17573, 260, 13454, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17573, 1,2,3,5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17573, 3, 5717, 3, 9197, 3, 10318, 3, 10412, 3, 11480, 1, 1386, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Greater Fire Protection Potion -- 17574
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17574, 265, 13457, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17574, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17574, 3, 9262, 3, 9264)
+
+	-- Greater Frost Protection Potion -- 17575
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17575, 265, 13456, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17575, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17575, 3, 7428)
+
+	-- Greater Nature Protection Potion -- 17576
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17576, 265, 13458, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17576, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17576, 3, 1812, 3, 1813)
+
+	-- Greater Arcane Protection Potion -- 17577
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17577, 265, 13461, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17577, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17577, 3, 7437)
+
+	-- Greater Shadow Protection Potion -- 17578
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17578, 265, 13459, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17578, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17578, 3, 8546, 3, 8550)
+
+	-- Greater Holy Protection Potion -- 17579
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 17579, 265, 13460, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 17579, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Major Mana Potion -- 17580
+	-- Instance: 2057 - type1category3maxlevel60territory1minlevel58nameScholomanceid2057
+	-- Mob Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17580, 270, 13444, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17580, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 17580, 3, 1853, 2, 11278)
+
+	-- Alchemist's Stone -- 17632
+	-- The Sha'tar - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val15id1val15id2val15id3val15id4val15id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17632, 350, 13503, 1, 2259)
+	self:addTradeFlags(RecipeDB, 17632, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,63,111)
+	self:addTradeAcquire(RecipeDB, 17632, 6, 935, 3, 21432)
+
+	-- Flask of Petrification -- 17634
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17634, 300, 13506, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17634, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17634, 7, 2)
+
+	-- Flask of the Titans -- 17635
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17635, 300, 13510, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17635, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17635, 3, 10363)
+
+	-- Flask of Distilled Wisdom -- 17636
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17636, 300, 13511, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17636, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17636, 3, 10813)
+
+	-- Flask of Supreme Power -- 17637
+	-- Instance: 2057 - type1category3maxlevel60territory1minlevel58nameScholomanceid2057
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17637, 300, 13512, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17637, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17637, 3, 10508)
+
+	-- Flask of Chromatic Resistance -- 17638
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17638, 300, 13513, 2, 2259)
+	self:addTradeFlags(RecipeDB, 17638, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 17638, 3, 10339)
+
+	-- Elixir of Frost Power -- 21923
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 21923, 170, 17708, 1, 2259)
+	self:addTradeFlags(RecipeDB, 21923, 3,7,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 21923, 5, 1)
+
+	-- Refined Scale of Onyxia -- 22430
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 22430, 300, 17967, 3, 2259)
+	--self:addTradeFlags(RecipeDB, 22430, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Major Rejuvenation Potion -- 22732
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22732, 290, 18253, 3, 2259)
+	self:addTradeFlags(RecipeDB, 22732, 6,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 22732, 3, 11982, 3, 11988, 3, 12056, 3, 12057, 3, 12118, 3, 12259, 3, 12264)
+
+	-- Elixir of Greater Water Breathing -- 22808
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22808, 190, 18294, 1, 2259)
+	self:addTradeFlags(RecipeDB, 22808, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 22808, 1, 1386, 1, 4160, 1, 4611, 1, 7948, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Gurubashi Mojo Madness -- 24266
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24266, 300, 19931, 3, 2259)
+	self:addTradeFlags(RecipeDB, 24266, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Mageblood Potion -- 24365
+	-- Zandalar Tribe - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24365, 250, 20007, 1, 2259)
+	self:addTradeFlags(RecipeDB, 24365, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,100)
+	self:addTradeAcquire(RecipeDB, 24365, 6, 270, 3, 14921)
+
+	-- Greater Dreamless Sleep Potion -- 24366
+	-- Zandalar Tribe - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24366, 250, 20002, 1, 2259)
+	self:addTradeFlags(RecipeDB, 24366, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,100)
+	self:addTradeAcquire(RecipeDB, 24366, 6, 270, 1, 14921)
+
+	-- Living Action Potion -- 24367
+	-- Zandalar Tribe - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24367, 260, 20008, 1, 2259)
+	self:addTradeFlags(RecipeDB, 24367, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,100)
+	self:addTradeAcquire(RecipeDB, 24367, 6, 270, 4, 14921)
+
+	-- Major Troll's Blood Potion -- 24368
+	-- Zandalar Tribe - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24368, 265, 20004, 1, 2259)
+	self:addTradeFlags(RecipeDB, 24368, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,100)
+	self:addTradeAcquire(RecipeDB, 24368, 6, 270, 2, 14921)
+
+	-- Transmute: Elemental Fire -- 25146
+	-- Thorium Brotherhood - Friendly
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25146, 292, 7068, 1, 2259)
+	self:addTradeFlags(RecipeDB, 25146, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,98)
+	self:addTradeAcquire(RecipeDB, 25146, 6, 59, 1, 12944)
+
+	-- Elixir of Greater Firepower -- 26277
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26277, 225, 21546, 2, 2259)
+	self:addTradeFlags(RecipeDB, 26277, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 26277, 3, 5844, 3, 5846, 3, 5854, 3, 8637)
+
+	-- Elixir of Camouflage -- 28543
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28543, 305, 22823, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28543, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28543, 2, 16588, 2, 16641, 2, 16705, 2, 18802, 2, 19837)
+
+	-- Elixir of Major Strength -- 28544
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28544, 305, 22824, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28544, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 28544, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Elixir of Healing Power -- 28545
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28545, 310, 22825, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28545, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 28545, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Sneaking Potion -- 28546
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28546, 315, 22826, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28546, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28546, 2, 18017, 2, 19042)
+
+	-- Elixir of Major Frost Power -- 28549
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28549, 320, 22827, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28549, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28549, 2, 18005, 2, 18017)
+
+	-- Insane Strength Potion -- 28550
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28550, 320, 22828, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28550, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28550, 7, 2)
+
+	-- Super Healing Potion -- 28551
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28551, 325, 22829, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28551, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 28551, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Elixir of the Searching Eye -- 28552
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28552, 325, 22830, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28552, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28552, 7, 2)
+
+	-- Elixir of Major Agility -- 28553
+	-- Honor Hold - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28553, 330, 22831, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28553, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,104)
+	self:addTradeAcquire(RecipeDB, 28553, 6, 946, 2, 17657)
+
+	-- Shrouding Potion -- 28554
+	-- Sporeggar - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28554, 335, 22871, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28554, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,113)
+	self:addTradeAcquire(RecipeDB, 28554, 6, 970, 4, 18382)
+
+	-- Super Mana Potion -- 28555
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28555, 340, 22832, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28555, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28555, 2, 18005, 2, 19837)
+
+	-- Elixir of Major Firepower -- 28556
+	-- The Scryers - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28556, 345, 22833, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28556, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,110)
+	self:addTradeAcquire(RecipeDB, 28556, 6, 934, 3, 19331)
+
+	-- Elixir of Major Defense -- 28557
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28557, 345, 22834, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28557, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28557, 2, 18005, 2, 19837)
+
+	-- Elixir of Major Shadow Power -- 28558
+	-- Lower City - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28558, 350, 22835, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28558, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,107)
+	self:addTradeAcquire(RecipeDB, 28558, 6, 1011, 3, 21655)
+
+	-- Major Dreamless Sleep Potion -- 28562
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28562, 350, 22836, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28562, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28562, 2, 19042, 2, 19837)
+
+	-- Heroic Potion -- 28563
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28563, 350, 22837, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28563, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28563, 7, 2)
+
+	-- Haste Potion -- 28564
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28564, 350, 22838, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28564, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28564, 7, 2)
+
+	-- Destruction Potion -- 28565
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28565, 350, 22839, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28565, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28565, 7, 2)
+
+	-- Transmute: Primal Air to Fire -- 28566
+	-- The Sha'tar - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28566, 350, 21884, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28566, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,111)
+	self:addTradeAcquire(RecipeDB, 28566, 6, 935, 3, 21432)
+
+	-- Transmute: Primal Earth to Water -- 28567
+	-- Sporeggar - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28567, 350, 21885, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28567, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,113)
+	self:addTradeAcquire(RecipeDB, 28567, 6, 970, 3, 18382)
+
+	-- Transmute: Primal Fire to Earth -- 28568
+	-- The Mag'har - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28568, 350, 22452, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28568, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,108)
+	self:addTradeAcquire(RecipeDB, 28568, 6, 941, 3, 20241)
+
+	-- Transmute: Primal Water to Air -- 28569
+	-- Cenarion Expedition - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28569, 350, 22451, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28569, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,103)
+	self:addTradeAcquire(RecipeDB, 28569, 6, 942, 3, 17904)
+
+	-- Elixir of Major Mageblood -- 28570
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28570, 355, 22840, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28570, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28570, 7, 2)
+
+	-- Major Fire Protection Potion -- 28571
+	-- Instance: 3849 - type5category3territory1expansion1minlevel70nameTempest Keep: The Mechanarid3849
+	-- Instance: 3849 - type5category3territory1expansion1minlevel70nameTempest Keep: The Mechanarid3849
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28571, 360, 22841, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28571, 5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 28571, 3, 19168, 3, 19221)
+
+	-- Major Frost Protection Potion -- 28572
+	-- Instance: 3792 - type5category3maxlevel66territory1expansion1minlevel64nameAuchindoun: Mana-Tombsid3792
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28572, 360, 22842, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28572, 5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 28572, 3, 18344)
+
+	-- Major Nature Protection Potion -- 28573
+	-- Cenarion Expedition - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28573, 360, 22844, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28573, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,103)
+	self:addTradeAcquire(RecipeDB, 28573, 6, 942, 4, 17904)
+
+	-- Major Arcane Protection Potion -- 28575
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28575, 360, 22845, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28575, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 28575, 3, 17150)
+
+	-- Major Shadow Protection Potion -- 28576
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28576, 360, 22846, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28576, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 28576, 3, 21302)
+
+	-- Major Holy Protection Potion -- 28577
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28577, 360, 22847, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28577, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 28577, 3, 19973)
+
+	-- Elixir of Empowerment -- 28578
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28578, 365, 22848, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28578, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28578, 7, 2)
+
+	-- Ironshield Potion -- 28579
+	-- Instance: 2367 - type5category3maxlevel68territory1expansion1minlevel66nameCaverns of Time: Old Hillsbrad Foothillsid2367
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28579, 365, 22849, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28579, 5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 28579, 3, 17862)
+
+	-- Transmute: Primal Shadow to Water -- 28580
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28580, 370, 21885, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28580, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Primal Water to Shadow -- 28581
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28581, 370, 22456, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28581, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Primal Mana to Fire -- 28582
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28582, 370, 21884, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28582, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Primal Fire to Mana -- 28583
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28583, 370, 22457, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28583, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Primal Life to Earth -- 28584
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28584, 370, 22452, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28584, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Primal Earth to Life -- 28585
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28585, 370, 21886, 2, 2259)
+	self:addTradeFlags(RecipeDB, 28585, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Super Rejuvenation Potion -- 28586
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28586, 375, 22850, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28586, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Flask of Fortification -- 28587
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28587, 375, 22851, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28587, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Flask of Mighty Restoration -- 28588
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28588, 375, 22853, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28588, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Flask of Relentless Assault -- 28589
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28589, 375, 22854, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28589, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Flask of Blinding Light -- 28590
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28590, 375, 22861, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28590, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Flask of Pure Death -- 28591
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28591, 375, 22866, 1, 2259)
+	self:addTradeFlags(RecipeDB, 28591, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Primal Might -- 29688
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29688, 350, 23571, 2, 2259)
+	self:addTradeFlags(RecipeDB, 29688, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 29688, 2, 16641, 2, 16705, 2, 19074)
+
+	-- Transmute: Earthstorm Diamond -- 32765
+	-- Cenarion Expedition - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32765, 350, 25867, 1, 2259)
+	self:addTradeFlags(RecipeDB, 32765, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,103)
+	self:addTradeAcquire(RecipeDB, 32765, 6, 942, 2, 17904)
+
+	-- Transmute: Skyfire Diamond -- 32766
+	-- Honor Hold - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32766, 350, 25868, 1, 2259)
+	self:addTradeFlags(RecipeDB, 32766, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,104)
+	self:addTradeAcquire(RecipeDB, 32766, 6, 946, 2, 17657)
+
+	-- Volatile Healing Potion -- 33732
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33732, 300, 28100, 1, 2259)
+	self:addTradeFlags(RecipeDB, 33732, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 33732, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Unstable Mana Potion -- 33733
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33733, 310, 28101, 1, 2259)
+	self:addTradeFlags(RecipeDB, 33733, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 33733, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Onslaught Elixir -- 33738
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33738, 300, 28102, 1, 2259)
+	self:addTradeFlags(RecipeDB, 33738, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 33738, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Adept's Elixir -- 33740
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33740, 300, 28103, 1, 2259)
+	self:addTradeFlags(RecipeDB, 33740, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 33740, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Elixir of Mastery -- 33741
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33741, 315, 28104, 1, 2259)
+	self:addTradeFlags(RecipeDB, 33741, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 33741, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Mercurial Stone -- 38070
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38070, 325, 31080, 1, 2259)
+	self:addTradeFlags(RecipeDB, 38070, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 38070, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Fel Strength Elixir -- 38960
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38960, 335, 31679, 3, 2259)
+	self:addTradeFlags(RecipeDB, 38960, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 38960, 3, 19740, 3, 19755, 3, 21302, 3, 21314)
+
+	-- Fel Mana Potion -- 38961
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38961, 360, 31677, 3, 2259)
+	self:addTradeFlags(RecipeDB, 38961, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 38961, 3, 19792, 3, 19795, 3, 19796, 3, 19806, 3, 22016, 3, 22017, 3, 22018, 3, 22076, 3, 22093)
+
+	-- Fel Regeneration Potion -- 38962
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38962, 345, 31676, 3, 2259)
+	self:addTradeFlags(RecipeDB, 38962, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 38962, 3, 19754, 3, 19756, 3, 20878, 3, 20887)
+
+	-- Elixir of Major Fortitude -- 39636
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39636, 310, 32062, 1, 2259)
+	self:addTradeFlags(RecipeDB, 39636, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 39636, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Earthen Elixir -- 39637
+	-- Cenarion Expedition - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39637, 320, 32063, 1, 2259)
+	self:addTradeFlags(RecipeDB, 39637, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,103)
+	self:addTradeAcquire(RecipeDB, 39637, 6, 942, 2, 17904)
+
+	-- Elixir of Draenic Wisdom -- 39638
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39638, 320, 32067, 1, 2259)
+	self:addTradeFlags(RecipeDB, 39638, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 39638, 1, 16588, 1, 18802, 1, 19052)
+
+	-- Elixir of Ironskin -- 39639
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39639, 330, 32068, 1, 2259)
+	self:addTradeFlags(RecipeDB, 39639, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 39639, 2, 18821, 2, 18822)
+
+	-- Cauldron of Major Arcane Protection -- 41458
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41458, 340, 32839, 1, 2259)
+	self:addTradeFlags(RecipeDB, 41458, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Cauldron of Major Fire Protection -- 41500
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41500, 340, 32849, 1, 2259)
+	self:addTradeFlags(RecipeDB, 41500, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Cauldron of Major Frost Protection -- 41501
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41501, 340, 32850, 1, 2259)
+	self:addTradeFlags(RecipeDB, 41501, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Cauldron of Major Nature Protection -- 41502
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41502, 340, 32851, 1, 2259)
+	self:addTradeFlags(RecipeDB, 41502, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Cauldron of Major Shadow Protection -- 41503
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Discovery,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41503, 340, 32852, 1, 2259)
+	self:addTradeFlags(RecipeDB, 41503, 3,12,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Flask of Chromatic Wonder -- 42736
+	-- The Violet Eye - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42736, 375, 33208, 2, 2259)
+	self:addTradeFlags(RecipeDB, 42736, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,114)
+	self:addTradeAcquire(RecipeDB, 42736, 6, 967, 2, 18255)
+
+	-- Mad Alchemist's Potion -- 45061
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 45061, 320, 34440, 1, 2259)
+	self:addTradeFlags(RecipeDB, 45061, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Guardian's Alchemist Stone -- 47046
+	-- Shattered Sun Offensive - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats: Tanking,
+	-- Item Stats: val54id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 47046, 375, 35748, 1, 2259)
+	self:addTradeFlags(RecipeDB, 47046, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,52,63,112)
+	self:addTradeAcquire(RecipeDB, 47046, 6, 1077, 4, 25032)
+
+	-- Sorcerer's Alchemist Stone -- 47048
+	-- Shattered Sun Offensive - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val63id19val63id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 47048, 375, 35749, 1, 2259)
+	self:addTradeFlags(RecipeDB, 47048, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,54,63,112)
+	self:addTradeAcquire(RecipeDB, 47048, 6, 1077, 4, 25032)
+
+	-- Redeemer's Alchemist Stone -- 47049
+	-- Shattered Sun Offensive - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats: Healing,
+	-- Item Stats: val40id19val119id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 47049, 375, 35750, 1, 2259)
+	self:addTradeFlags(RecipeDB, 47049, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,53,63,112)
+	self:addTradeAcquire(RecipeDB, 47049, 6, 1077, 4, 25032)
+
+	-- Assassin's Alchemist Stone -- 47050
+	-- Shattered Sun Offensive - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val108id9val108id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 47050, 375, 35751, 1, 2259)
+	self:addTradeFlags(RecipeDB, 47050, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,63,112)
+	self:addTradeAcquire(RecipeDB, 47050, 6, 1077, 4, 25032)
+
+	-- Transmute: Eternal Life to Shadow -- 53771
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53771, , 35627, 2, 2259)
+	--self:addTradeFlags(RecipeDB, 53771, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Eternal Life to Fire -- 53773
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53773, , 36860, 2, 2259)
+	--self:addTradeFlags(RecipeDB, 53773, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Eternal Fire to Water -- 53774
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53774, , 35622, 2, 2259)
+	--self:addTradeFlags(RecipeDB, 53774, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Eternal Fire to Life -- 53775
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53775, , 35625, 2, 2259)
+	--self:addTradeFlags(RecipeDB, 53775, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Eternal Air to Water -- 53776
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53776, , 35622, 2, 2259)
+	--self:addTradeFlags(RecipeDB, 53776, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Eternal Air to Earth -- 53777
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53777, , 35624, 2, 2259)
+	--self:addTradeFlags(RecipeDB, 53777, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Eternal Shadow to Earth -- 53779
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53779, , 35624, 2, 2259)
+	--self:addTradeFlags(RecipeDB, 53779, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Eternal Shadow to Life -- 53780
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53780, , 35625, 2, 2259)
+	--self:addTradeFlags(RecipeDB, 53780, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Eternal Earth to Air -- 53781
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53781, , 35623, 2, 2259)
+	--self:addTradeFlags(RecipeDB, 53781, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Eternal Earth to Shadow -- 53782
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53782, , 35627, 2, 2259)
+	--self:addTradeFlags(RecipeDB, 53782, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Eternal Water to Air -- 53783
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53783, , 35623, 2, 2259)
+	--self:addTradeFlags(RecipeDB, 53783, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Transmute: Eternal Water to Fire -- 53784
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53784, , 36860, 2, 2259)
+	--self:addTradeFlags(RecipeDB, 53784, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Pygmy Oil -- 53812
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53812, 375, 40195, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 53812, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Runic Healing Potion -- 53836
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53836, , 33447, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 53836, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Runic Mana Potion -- 53837
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53837, , 33448, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 53837, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Resurgent Healing Potion -- 53838
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53838, 345, 39671, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 53838, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Icy Mana Potion -- 53839
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53839, 355, 40067, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 53839, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Elixir of Mighty Agility -- 53840
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53840, 385, 39666, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 53840, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Wrath Elixir -- 53841
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53841, 350, 40068, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 53841, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Spellpower Elixir -- 53842
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53842, 360, 40070, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 53842, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Elixir of Spirit -- 53847
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53847, 385, 40072, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 53847, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Crazy Alchemist's Potion -- 53895
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53895, 375, 40077, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 53895, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Elixir of Toughness -- 53899
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53899, 375, 40079, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 53899, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Indestructible Potion -- 53905
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53905, 395, 40093, 1, 2259)
+	--self:addTradeFlags(RecipeDB, 53905, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	return recipecount

 end
diff --git a/RecipeDB/ARL-BeastTrain.lua b/RecipeDB/ARL-BeastTrain.lua
deleted file mode 100644
index 41133d9..0000000
--- a/RecipeDB/ARL-BeastTrain.lua
+++ /dev/null
@@ -1,518 +0,0 @@
---[[
-
-ARL-BeastTrain.lua
-
-Beast Training data for all of AckisRecipeList
-
-$Date$
-$Rev$
-
-]]--
-
-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-local BZONE		= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-
-local addon = AckisRecipeList
-
-function addon:InitBeastTraining()
-
-	-- Add pets in which skill may be aquired.
-	self:addPetList(1, L["Ragged Scavenger"], BZONE["Tirisfal Glades"], 2, 3, false, false)
-	self:addPetList(2, L["Night Web Spider"], BZONE["Tirisfal Glades"], 3, 4, false, false)
-	self:addPetList(3, L["Forest Spider"], BZONE["Elwynn Forest"], 5, 6, false, false)
-	self:addPetList(4, L["Githyiss the Vile"], BZONE["Teldrassil"], 5, 5, false, false)
-	self:addPetList(5, L["Night Web Matriarch"], BZONE["Tirisfal Glades"], 5, 5, false, false)
-	self:addPetList(6, L["Prairie Wolf"], BZONE["Mulgore"], 5, 6, false, false)
-	self:addPetList(7, L["Snow Tracker Wolf"], BZONE["Dun Morogh"], 6, 7, false, false)
-	self:addPetList(8, L["Gray Forest Wolf"], BZONE["Elwynn Forest"], 7, 8, false, false)
-	self:addPetList(9, L["Prairie Stalker"], BZONE["Mulgore"], 7, 8, false, false)
-	self:addPetList(10, L["Webwood Venomfang"], BZONE["Teldrassil"], 7, 8, false, false)
-	self:addPetList(11, L["Winter Wolf"], BZONE["Dun Morogh"], 7, 8, false, false)
-	self:addPetList(12, L["Dreadmaw Crocolisk"], BZONE["Durotar"], 9, 11, false, false)
-	self:addPetList(13, L["Starving Winter Wolf"], BZONE["Dun Morogh"], 8, 9, false, false)
-	self:addPetList(14, L["Webwood Silkspinner"], BZONE["Teldrassil"], 8, 9, false, false)
-	self:addPetList(15, L["Prairie Wolf Alpha"], BZONE["Mulgore"], 9, 10, false, false)
-	self:addPetList(16, L["Prowler"], BZONE["Elwynn Forest"], 9, 10, false, false)
-	self:addPetList(17, L["Ravager Specimen"], BZONE["Azuremyst Isle"], 9, 10, false, false)
-	self:addPetList(18, L["Vicious Night Web Spider"], BZONE["Tirisfal Glades"], 9, 10, false, false)
-	self:addPetList(19, L["Coyote"], BZONE["Westfall"], 10, 11, false, false)
-	self:addPetList(20, L["Forest Lurker"], BZONE["Loch Modan"], 9, 11, false, false)
-	self:addPetList(21, L["Giant Webwood Spider"], BZONE["Teldrassil"], 10, 11, false, false)
-	self:addPetList(22, L["Timber"], BZONE["Dun Morogh"], 10, 10, false, true)
-	self:addPetList(23, L["Worg"], BZONE["Silverpine Forest"], 10, 11, false, false)
-	self:addPetList(24, L["Coyote Packleader"], BZONE["Westfall"], 11, 12, false, false)
-	self:addPetList(25, L["Lady Sathrah"], BZONE["Teldrassil"], 12, 12, false, false)
-	self:addPetList(26, L["Loch Crocolisk"], BZONE["Loch Modan"], 14, 15, false, false)
-	self:addPetList(27, L["Oasis Snapjaw"], BZONE["The Barrens"], 15, 16, false, false)
-	self:addPetList(28, L["Tarantula"], BZONE["Redridge Mountains"], 15, 16, false, false)
-	self:addPetList(29, L["Bloodsnout Worg"], BZONE["Silverpine Forest"], 16, 16, false, false)
-	self:addPetList(30, L["Deepmoss Creeper"], BZONE["Stonetalon Mountains"], 16, 17, false, false)
-	self:addPetList(31, L["Ghostclaw Ravager"], BZONE["Ghostlands"], 16, 17, false, false)
-	self:addPetList(32, L["Wood Lurker"], BZONE["Loch Modan"], 17, 18, false, false)
-	self:addPetList(33, L["Deviate Crocolisk"], BZONE["Wailing Caverns"], 18, 19, false, false)
-	self:addPetList(34, L["Deepmoss Webspinner"], BZONE["Stonetalon Mountains"], 19, 20, false, false)
-	self:addPetList(35, L["Ghostpaw Runner"], BZONE["Ashenvale"], 19, 20, false, false)
-	self:addPetList(36, L["Greater Tarantula"], BZONE["Redridge Mountains"], 19, 20, false, false)
-	self:addPetList(37, L["Shanda the Spinner"], BZONE["Loch Modan"], 19, 19, false, true)
-	self:addPetList(38, L["Forest Moss Creeper"], BZONE["Hillsbrad Foothills"], 20, 21, false, false)
-	self:addPetList(39, L["Kresh"], BZONE["Wailing Caverns"], 20, 20, true, false)
-	self:addPetList(40, L["Besseleth"], BZONE["Stonetalon Mountains"], 21, 21, true, false)
-	self:addPetList(41, L["Green Recluse"], BZONE["Duskwood"], 21, 22, false, false)
-	self:addPetList(42, L["Large Loch Crocolisk"], BZONE["Loch Modan"], 22, 22, false, true)
-	self:addPetList(43, L["Aku'mai Fisher"], BZONE["Blackfathom Deeps"], 23, 24, true, false)
-	self:addPetList(44, L["Chatter"], BZONE["Redridge Mountains"], 23, 23, false, true)
-	self:addPetList(45, L["Lupos"], BZONE["Duskwood"], 23, 23, false, true)
-	self:addPetList(46, L["Creepthess"], BZONE["Hillsbrad Foothills"], 24, 24, false, true)
-	self:addPetList(47, L["Black Ravager"], BZONE["Duskwood"], 24, 25, false, false)
-	self:addPetList(48, L["Giant Moss Creeper"], BZONE["Hillsbrad Foothills"], 24, 25, false, false)
-	self:addPetList(49, L["Leech Widow"], BZONE["Wetlands"], 24, 24, false, true)
-	self:addPetList(50, L["Black Ravager Mastiff"], BZONE["Duskwood"], 25, 26, false, false)
-	self:addPetList(51, L["Ghamoo-ra"], BZONE["Blackfathom Deeps"], 25, 25, true, false)
-	self:addPetList(52, L["Giant Wetlands Crocolisk"], BZONE["Wetlands"], 25, 26, false, false)
-	self:addPetList(53, L["Aku'mai Snapjaw"], BZONE["Blackfathom Deeps"], 26, 27, true, false)
-	self:addPetList(54, L["Elder Moss Creeper"], BZONE["Hillsbrad Foothills"], 26, 27, false, false)
-	self:addPetList(55, L["Ghostpaw Alpha"], BZONE["Ashenvale"], 27, 28, false, false)
-	self:addPetList(56, L["Naraxis"], BZONE["Duskwood"], 27, 27, false, true)
-	self:addPetList(57, L["Wildthorn Lurker"], BZONE["Ashenvale"], 28, 29, false, false)
-	self:addPetList(58, L["Snapjaw"], BZONE["Hillsbrad Foothills"], 30, 31, false, false)
-	self:addPetList(59, L["Plains Creeper"], BZONE["Arathi Highlands"], 32, 33, false, false)
-	self:addPetList(60, L["Sparkleshell Snapper"], BZONE["Thousand Needles"], 34, 35, false, false)
-	self:addPetList(61, L["Crag Coyote"], BZONE["Badlands"], 35, 36, false, false)
-	self:addPetList(62, L["Drywallow Crocolisk"], BZONE["Dustwallow Marsh"], 35, 36, false, false)
-	self:addPetList(63, L["Giant Plains Creeper"], BZONE["Arathi Highlands"], 35, 36, false, false)
-	self:addPetList(64, L["Barnabus"], BZONE["Badlands"], 38, 38, false, true)
-	self:addPetList(65, L["Darkfang Creeper"], BZONE["Dustwallow Marsh"], 38, 39, false, false)
-	self:addPetList(66, L["Mottled Drywallow Crocolisk"], BZONE["Dustwallow Marsh"], 38, 39, false, false)
-	self:addPetList(67, L["Ripscale"], BZONE["Dustwallow Marsh"], 39, 39, false, true)
-	self:addPetList(68, L["Deathstrike Tarantula"], BZONE["Swamp of Sorrows"], 40, 41, false, false)
-	self:addPetList(69, L["Drywallow Daggermaw"], BZONE["Dustwallow Marsh"], 40, 41, false, false)
-	self:addPetList(70, L["Longtooth Runner"], BZONE["Feralas"], 40, 41, false, false)
-	self:addPetList(71, L["Mudrock Snapjaw"], BZONE["Dustwallow Marsh"], 41, 42, false, false)
-	self:addPetList(72, L["Sawtooth Snapper"], BZONE["Swamp of Sorrows"], 41, 42, false, false)
-	self:addPetList(73, L["Old Cliff Jumper"], BZONE["The Hinterlands"], 42, 42, false, true)
-	self:addPetList(74, L["Snarler"], BZONE["Feralas"], 42, 42, false, true)
-	self:addPetList(75, L["Deadmire"], BZONE["Dustwallow Marsh"], 45, 45, false, false)
-	self:addPetList(76, L["Felpaw Wolf"], BZONE["Felwood"], 47, 48, false, false)
-	self:addPetList(77, L["Timberweb Recluse"], BZONE["Azshara"], 47, 48, false, false)
-	self:addPetList(78, L["Death Howl"], BZONE["Felwood"], 49, 49, false, true)
-	self:addPetList(79, L["Rekk'tilac"], BZONE["Searing Gorge"], 48, 48, false, true)
-	self:addPetList(80, L["Saltwater Snapjaw"], BZONE["The Hinterlands"], 49, 50, false, false)
-	self:addPetList(81, L["Cave Creeper"], BZONE["Blackrock Depths"], 50, 52, false, false)
-	self:addPetList(82, L["Vilebranch Raiding Wolf"], BZONE["The Hinterlands"], 50, 51, false, false)
-	self:addPetList(83, L["Felpaw Ravager"], BZONE["Felwood"], 51, 52, false, false)
-	self:addPetList(84, L["Ironback"], BZONE["The Hinterlands"], 51, 51, false, true)
-	self:addPetList(85, L["Uhk'loc"], BZONE["Un'Goro Crater"], 52, 53, false, true)
-	self:addPetList(86, L["Diseased Wolf"], BZONE["Western Plaguelands"], 53, 54, false, false)
-	self:addPetList(87, L["Plague Lurker"], BZONE["Western Plaguelands"], 54, 55, false, false)
-	self:addPetList(88, L["Bloodaxe Worg"], BZONE["Blackrock Spire"], 56, 57, true, false)
-	self:addPetList(89, L["Quillfang Ravager"], BZONE["Hellfire Peninsula"], 62, 63, false, false)
-	self:addPetList(90, L["Thornfang Venomspitter"], BZONE["Hellfire Peninsula"], 62, 63, false, false)
-	self:addPetList(91, L["Dreadfang Lurker"], BZONE["Terokkar Forest"], 63, 64, false, false)
-	self:addPetList(92, L["Dreadfang Widow"], BZONE["Terokkar Forest"], 64, 65, false, false)
-	self:addPetList(93, L["Rema"], BZONE["Blade's Edge Mountains"], 66, 66, false, false)
-	self:addPetList(94, L["Scorpid Worker"], BZONE["Durotar"], 3, 3, false, false)
-	self:addPetList(95, L["Sarkoth"], BZONE["Durotar"], 4, 4, false, false)
-	self:addPetList(96, L["Pygmy Surf Crawler"], BZONE["Durotar"], 5, 6, false, false)
-	self:addPetList(97, L["Strigid Owl"], BZONE["Teldrassil"], 5, 6, false, false)
-	self:addPetList(98, L["Ice Claw Bear"], BZONE["Dun Morogh"], 7, 8, false, false)
-	self:addPetList(99, L["Elder Springpaw"], BZONE["Eversong Woods"], 8, 9, false, false)
-	self:addPetList(100, L["Strigid Hunter"], BZONE["Teldrassil"], 8, 9, false, false)
-	self:addPetList(101, L["Young Forest Bear"], BZONE["Elwynn Forest"], 8, 9, false, false)
-	self:addPetList(102, L["Encrusted Surf Crawler"], BZONE["Durotar"], 9, 10, false, false)
-	self:addPetList(103, L["Venomtail Scorpid"], BZONE["Durotar"], 9, 10, false, false)
-	self:addPetList(104, L["Death Flayer"], BZONE["Durotar"], 11, 11, false, true)
-	self:addPetList(105, L["Ferocious Grizzled Bear"], BZONE["Silverpine Forest"], 11, 12, false, false)
-	self:addPetList(106, L["Mangeclaw"], BZONE["Dun Morogh"], 11, 11, false, false)
-	self:addPetList(107, L["Thistle Bear"], BZONE["Darkshore"], 11, 12, false, false)
-	self:addPetList(108, L["Bjarn"], BZONE["Dun Morogh"], 12, 12, false, true)
-	self:addPetList(109, L["Tide Crawler"], BZONE["Darkshore"], 12, 14, false, false)
-	self:addPetList(110, L["Ghostclaw Lynx"], BZONE["Ghostlands"], 13, 14, false, false)
-	self:addPetList(111, L["Black Bear Patriarch"], BZONE["Loch Modan"], 16, 17, false, false)
-	self:addPetList(113, L["Shore Crawler"], BZONE["Westfall"], 17, 18, false, false)
-	self:addPetList(114, L["Den Mother"], BZONE["Darkshore"], 18, 19, false, false)
-	self:addPetList(115, L["Clattering Crawler"], BZONE["Ashenvale"], 19, 20, false, false)
-	self:addPetList(116, L["Ghost Saber"], BZONE["Darkshore"], 19, 20, false, false)
-	self:addPetList(117, L["Ol' Sooty"], BZONE["Loch Modan"], 20, 20, false, false)
-	self:addPetList(118, L["Ashenvale Bear"], BZONE["Ashenvale"], 21, 22, false, false)
-	self:addPetList(119, L["Gray Bear"], BZONE["Hillsbrad Foothills"], 21, 22, false, false)
-	self:addPetList(120, L["Skittering Crustacean"], BZONE["Blackfathom Deeps"], 22, 23, true, false)
-	self:addPetList(121, L["Snapping Crustacean"], BZONE["Blackfathom Deeps"], 23, 24, true, false)
-	self:addPetList(122, L["Barbed Crustacean"], BZONE["Blackfathom Deeps"], 25, 26, true, false)
-	self:addPetList(123, L["Elder Ashenvale Bear"], BZONE["Ashenvale"], 25, 26, false, false)
-	self:addPetList(124, L["Scorpashi Snapper"], BZONE["Desolace"], 30, 31, false, false)
-	self:addPetList(125, L["Scorpid Reaver"], BZONE["Thousand Needles"], 31, 32, false, false)
-	self:addPetList(126, L["Scorpashi Lasher"], BZONE["Desolace"], 34, 35, false, false)
-	self:addPetList(127, L["Vile Sting"], BZONE["Thousand Needles"], 35, 35, true, false)
-	self:addPetList(128, L["Drywallow Snapper"], BZONE["Dustwallow Marsh"], 37, 38, false, false)
-	self:addPetList(129, L["Venomlash Scorpid"], BZONE["Uldaman"], 39, 40, false, true)
-	self:addPetList(130, L["Scorpid Hunter"], BZONE["Tanaris"], 40, 41, false, false)
-	self:addPetList(131, L["Silt Crawler"], BZONE["Swamp of Sorrows"], 40, 41, false, false)
-	self:addPetList(132, L["Ironfur Bear"], BZONE["Feralas"], 41, 42, false, false)
-	self:addPetList(133, L["King Bangalash"], BZONE["Stranglethorn Vale"], 43, 43, true, false)
-	self:addPetList(134, L["Monstrous Crawler"], BZONE["Swamp of Sorrows"], 43, 44, false, false)
-	self:addPetList(135, L["Old Grizzlegut"], BZONE["Feralas"], 43, 43, false, true)
-	self:addPetList(136, L["Ironfur Patriarch"], BZONE["Feralas"], 48, 49, false, false)
-	self:addPetList(137, L["Angerclaw Mauler"], BZONE["Felwood"], 49, 50, false, false)
-	self:addPetList(138, L["Ironbeak Hunter"], BZONE["Felwood"], 50, 51, false, false)
-	self:addPetList(139, L["Mongress"], BZONE["Felwood"], 50, 50, false, true)
-	self:addPetList(140, L["Olm the Wise"], BZONE["Felwood"], 52, 52, false, true)
-	self:addPetList(141, L["Clack the Reaver"], BZONE["Blasted Lands"], 53, 53, false, true)
-	self:addPetList(142, L["Shardtooth Bear"], BZONE["Winterspring"], 53, 54, false, false)
-	self:addPetList(143, L["Deathlash Scorpid"], BZONE["Burning Steppes"], 54, 55, false, false)
-	self:addPetList(144, L["Winterspring Owl"], BZONE["Winterspring"], 54, 56, false, false)
-	self:addPetList(145, L["Diseased Grizzly"], BZONE["Western Plaguelands"], 55, 56, false, false)
-	self:addPetList(146, L["Elder Shardtooth"], BZONE["Winterspring"], 57, 58, false, false)
-	self:addPetList(147, L["Winterspring Screecher"], BZONE["Winterspring"], 57, 59, false, false)
-	self:addPetList(148, L["Male Kaliri Hatchling"], BZONE["Hellfire Peninsula"], 61, 61, false, false)
-	self:addPetList(150, L["Scorpid Bonecrawler"], BZONE["Terokkar Forest"], 64, 65, false, false)
-	self:addPetList(151, L["Ravenous Windroc"], BZONE["Nagrand"], 65, 66, false, false)
-	self:addPetList(152, L["Windroc Hunter"], BZONE["Nagrand"], 65, 65, false, false)
-	self:addPetList(153, L["Greater Windroc"], BZONE["Nagrand"], 66, 67, false, false)
-	self:addPetList(154, L["Windroc Huntress"], BZONE["Nagrand"], 66, 66, false, false)
-	self:addPetList(155, L["Gutripper"], BZONE["Nagrand"], 67, 67, true, false)
-	self:addPetList(156, L["Shadowwing Owl"], BZONE["Shadowmoon Valley"], 67, 67, false, false)
-	self:addPetList(157, L["Ripfang Lynx"], BZONE["Netherstorm"], 68, 69, false, false)
-	self:addPetList(158, L["Mottled Boar"], BZONE["Durotar"], 1, 2, false, false)
-	self:addPetList(159, L["Young Thistle Boar"], BZONE["Teldrassil"], 1, 2, false, false)
-	self:addPetList(160, L["Thistle Boar"], BZONE["Teldrassil"], 2, 3, false, false)
-	self:addPetList(161, L["Battleboar"], BZONE["Mulgore"], 3, 4, false, false)
-	self:addPetList(162, L["Small Crag Boar"], BZONE["Dun Morogh"], 3, 3, false, false)
-	self:addPetList(163, L["Bristleback Battleboar"], BZONE["Mulgore"], 4, 5, false, false)
-	self:addPetList(164, L["Crag Boar"], BZONE["Dun Morogh"], 5, 6, false, false)
-	self:addPetList(165, L["Dire Mottled Boar"], BZONE["Durotar"], 6, 7, false, false)
-	self:addPetList(166, L["Large Crag Boar"], BZONE["Dun Morogh"], 6, 7, false, false)
-	self:addPetList(167, L["Elder Crag Boar"], BZONE["Dun Morogh"], 7, 8, false, false)
-	self:addPetList(168, L["Porcine Entourage"], BZONE["Elwynn Forest"], 7, 7, false, false)
-	self:addPetList(169, L["Rockhide Boar"], BZONE["Elwynn Forest"], 7, 8, false, false)
-	self:addPetList(170, L["Stonetusk Boar"], BZONE["Elwynn Forest"], 7, 8, false, false)
-	self:addPetList(171, L["Elder Mottled Boar"], BZONE["Durotar"], 8, 9, false, false)
-	self:addPetList(172, L["Princess"], BZONE["Elwynn Forest"], 9, 9, false, false)
-	self:addPetList(173, L["Scarred Crag Boar"], BZONE["Dun Morogh"], 9, 10, false, false)
-	self:addPetList(174, L["Corrupted Mottled Boar"], BZONE["Durotar"], 10, 11, false, false)
-	self:addPetList(175, L["Longsnout"], BZONE["Elwynn Forest"], 10, 11, false, false)
-	self:addPetList(176, L["Mountain Boar"], BZONE["Loch Modan"], 10, 11, false, false)
-	self:addPetList(177, L["Young Goretusk"], BZONE["Westfall"], 12, 13, false, false)
-	self:addPetList(178, L["Goretusk"], BZONE["Westfall"], 14, 15, false, false)
-	self:addPetList(179, L["Mangy Mountain Boar"], BZONE["Loch Modan"], 14, 15, false, false)
-	self:addPetList(180, L["Elder Mountain Boar"], BZONE["Loch Modan"], 16, 17, false, false)
-	self:addPetList(181, L["Great Goretusk"], BZONE["Redridge Mountains"], 16, 17, false, false)
-	self:addPetList(182, L["Agam'ar"], BZONE["Razorfen Kraul"], 24, 25, true, false)
-	self:addPetList(183, L["Bellygrub"], BZONE["Redridge Mountains"], 24, 24, false, false)
-	self:addPetList(184, L["Raging Agam'ar"], BZONE["Razorfen Kraul"], 25, 26, true, false)
-	self:addPetList(185, L["Rotting Agam'ar"], BZONE["Razorfen Kraul"], 28, 28, true, false)
-	self:addPetList(186, L["Ashmane Boar"], BZONE["Blasted Lands"], 48, 49, false, false)
-	self:addPetList(187, L["Grunter"], BZONE["Blasted Lands"], 50, 50, false, true)
-	self:addPetList(188, L["Plagued Swine"], BZONE["Eastern Plaguelands"], 60, 60, false, false)
-	self:addPetList(189, L["Juvenile Snow Leopard"], BZONE["Dun Morogh"], 5, 6, false, false)
-	self:addPetList(190, L["Nightsaber"], BZONE["Teldrassil"], 5, 6, false, false)
-	self:addPetList(191, L["Greater Duskbat"], BZONE["Tirisfal Glades"], 6, 7, false, false)
-	self:addPetList(192, L["Durotar Tiger"], BZONE["Durotar"], 7, 8, false, false)
-	self:addPetList(193, L["Flatland Cougar"], BZONE["Mulgore"], 7, 8, false, false)
-	self:addPetList(194, L["Elder Plainstrider"], BZONE["Mulgore"], 8, 9, false, false)
-	self:addPetList(195, L["Mazzranache"], BZONE["Mulgore"], 9, 9, false, true)
-	self:addPetList(196, L["Moonstalker Runt"], BZONE["Darkshore"], 10, 11, false, false)
-	self:addPetList(197, L["Foreststrider Fledgling"], BZONE["Darkshore"], 11, 13, false, false)
-	self:addPetList(198, L["Fleeting Plainstrider"], BZONE["The Barrens"], 12, 13, false, false)
-	self:addPetList(199, L["Savannah Patriarch"], BZONE["The Barrens"], 15, 16, false, false)
-	self:addPetList(200, L["Ornery Plainstrider"], BZONE["The Barrens"], 16, 17, false, false)
-	self:addPetList(201, L["Giant Foreststrider"], BZONE["Darkshore"], 17, 19, false, false)
-	self:addPetList(202, L["Moonstalker Sire"], BZONE["Darkshore"], 17, 18, false, false)
-	self:addPetList(203, L["Starving Mountain Lion"], BZONE["Hillsbrad Foothills"], 23, 24, false, false)
-	self:addPetList(204, L["Twilight Runner"], BZONE["Stonetalon Mountains"], 23, 24, false, false)
-	self:addPetList(205, L["Crag Stalker"], BZONE["Thousand Needles"], 25, 26, false, false)
-	self:addPetList(206, L["Feral Mountain Lion"], BZONE["Hillsbrad Foothills"], 27, 28, false, false)
-	self:addPetList(207, L["Kraul Bat"], BZONE["Razorfen Kraul"], 30, 31, true, false)
-	self:addPetList(208, L["Young Panther"], BZONE["Stranglethorn Vale"], 30, 31, false, false)
-	self:addPetList(209, L["Young Stranglethorn Tiger"], BZONE["Stranglethorn Vale"], 30, 31, false, false)
-	self:addPetList(210, L["Greater Kraul Bat"], BZONE["Razorfen Kraul"], 32, 32, true, false)
-	self:addPetList(211, L["Panther"], BZONE["Stranglethorn Vale"], 32, 33, false, false)
-	self:addPetList(212, L["Ridge Stalker"], BZONE["Badlands"], 36, 37, false, false)
-	self:addPetList(213, L["Ridge Huntress"], BZONE["Badlands"], 38, 39, false, false)
-	self:addPetList(214, L["Shrike Bat"], BZONE["Uldaman"], 38, 39, true, false)
-	self:addPetList(215, L["Dark Screecher"], BZONE["Blackrock Depths"], 50, 52, false, false)
-	self:addPetList(216, L["Jaguero Stalker"], BZONE["Stranglethorn Vale"], 50, 50, false, false)
-	self:addPetList(217, L["Plaguebat"], BZONE["Eastern Plaguelands"], 53, 55, false, false)
-	self:addPetList(218, L["Noxious Plaguebat"], BZONE["Eastern Plaguelands"], 54, 56, false, false)
-	self:addPetList(219, L["Frostsaber Cub"], BZONE["Winterspring"], 55, 56, false, false)
-	self:addPetList(220, L["Monstrous Plaguebat"], BZONE["Eastern Plaguelands"], 56, 58, false, false)
-	self:addPetList(221, L["Grovestalker Lynx "], BZONE["Blade's Edge Mountains"], 65, 66, false, false)
-	self:addPetList(223, L["Lost Torranche"], BZONE["Terokkar Forest"], 70, 70, false, false)
-	self:addPetList(224, L["Kurzen War Tiger"], BZONE["Stranglethorn Vale"], 32, 33, false, false)
-	self:addPetList(225, L["Stranglethorn Tiger"], BZONE["Stranglethorn Vale"], 32, 33, false, false)
-	self:addPetList(226, L["Bonepaw Hyena"], BZONE["Desolace"], 33, 35, false, false)
-	self:addPetList(227, L["Scarlet Tracking Hound"], BZONE["Scarlet Monastery"], 33, 34, true, false)
-	self:addPetList(229, L["Spot"], BZONE["Dustwallow Marsh"], 35, 35, false, false)
-	self:addPetList(230, L["Swamp Jaguar"], BZONE["Swamp of Sorrows"], 36, 37, false, false)
-	self:addPetList(231, L["Broken Tooth"], BZONE["Badlands"], 37, 37, false, true)
-	self:addPetList(232, L["Feral Crag Coyote"], BZONE["Badlands"], 37, 38, false, false)
-	self:addPetList(233, L["Magram Bonepaw"], BZONE["Desolace"], 37, 38, false, false)
-	self:addPetList(234, L["Sin'Dall"], BZONE["Stranglethorn Vale"], 37, 37, false, false)
-	self:addPetList(235, L["Elder Crag Coyote"], BZONE["Badlands"], 39, 40, false, false)
-	self:addPetList(236, L["Bhag'thera"], BZONE["Stranglethorn Vale"], 40, 40, true, false)
-	self:addPetList(238, L["Ridge Stalker Patriarch"], BZONE["Badlands"], 40, 41, false, false)
-	self:addPetList(239, L["Starving Blisterpaw"], BZONE["Tanaris"], 41, 42, false, false)
-	self:addPetList(240, L["Elder Shadowmaw Panther"], BZONE["Stranglethorn Vale"], 42, 43, false, false)
-	self:addPetList(242, L["Rabid Crag Coyote"], BZONE["Badlands"], 42, 43, false, false)
-	self:addPetList(244, L["Blisterpaw Hyena"], BZONE["Tanaris"], 44, 45, false, false)
-	self:addPetList(245, L["Rabid Blisterpaw"], BZONE["Tanaris"], 47, 48, false, false)
-	self:addPetList(246, L["Silvermane Stalker"], BZONE["The Hinterlands"], 47, 48, false, false)
-	self:addPetList(249, L["Ravage"], BZONE["Blasted Lands"], 51, 51, false, true)
-	self:addPetList(250, L["Scarshield Worg"], BZONE["Blackrock Spire"], 53, 54, false, false)
-	self:addPetList(251, L["Blackrock Worg"], BZONE["Burning Steppes"], 54, 55, false, false)
-	self:addPetList(253, L["Rak'Shiri"], BZONE["Winterspring"], 57, 57, false, true)
-	self:addPetList(254, L["Frostsaber Huntress"], BZONE["Winterspring"], 58, 59, false, false)
-	self:addPetList(255, L["Frostsaber Stalker"], BZONE["Winterspring"], 59, 60, false, false)
-	self:addPetList(256, L["Razorfang Hatchling"], BZONE["Hellfire Peninsula"], 59, 60, false, false)
-	self:addPetList(257, L["Zulian Panther"], BZONE["Zul'Gurub"], 60, 60, true, false)
-	self:addPetList(258, L["Zulian Stalker"], BZONE["Zul'Gurub"], 61, 61, true, false)
-	self:addPetList(259, L["Rip-Blade Ravager"], BZONE["Blade's Edge Mountains"], 63, 63, false, false)
-	self:addPetList(261, L["Young Mesa Buzzard"], BZONE["Arathi Highlands"], 31, 32, false, false)
-	self:addPetList(263, L["Mesa Buzzard"], BZONE["Arathi Highlands"], 34, 35, false, false)
-	self:addPetList(264, L["Wayward Buzzard"], BZONE["Badlands"], 35, 37, false, false)
-	self:addPetList(265, L["Dread Flyer"], BZONE["Desolace"], 36, 37, false, false)
-	self:addPetList(267, L["Vale Screecher"], BZONE["Feralas"], 41, 43, false, false)
-	self:addPetList(268, L["Roc"], BZONE["Tanaris"], 42, 43, false, false)
-	self:addPetList(269, L["Fire Roc"], BZONE["Tanaris"], 43, 45, false, false)
-	self:addPetList(270, L["Rogue Vale Screecher"], BZONE["Feralas"], 44, 46, false, false)
-	self:addPetList(271, L["Greater Firebird"], BZONE["Tanaris"], 46, 46, false, true)
-	self:addPetList(272, L["Searing Roc"], BZONE["Tanaris"], 47, 49, false, false)
-	self:addPetList(273, L["Ironbeak Owl"], BZONE["Felwood"], 48, 49, false, false)
-	self:addPetList(274, L["Arash-ethis"], BZONE["Feralas"], 49, 49, false, true)
-	self:addPetList(275, L["Carrion Vulture"], BZONE["Western Plaguelands"], 50, 52, false, false)
-	self:addPetList(278, L["Spawn of Hakkar"], BZONE["The Temple of Atal'Hakkar"], 51, 51, false, false)
-	self:addPetList(279, L["Ironbeak Screecher"], BZONE["Felwood"], 52, 53, true, false)
-	self:addPetList(281, L["Spiteflayer"], BZONE["Blasted Lands"], 52, 52, false, true)
-	self:addPetList(284, L["Zaricotl"], BZONE["Badlands"], 55, 55, false, false)
-	self:addPetList(286, L["Kaliri Swooper"], BZONE["Hellfire Peninsula"], 60, 60, false, false)
-	self:addPetList(287, L["Windroc"], BZONE["Nagrand"], 64, 65, false, false)
-	self:addPetList(290, L["Windroc Matriarch"], BZONE["Nagrand"], 66, 66, false, true)
-	self:addPetList(292, L["Skettis Kaliri"], BZONE["Terokkar Forest"], 70, 70, false, false)
-	self:addPetList(293, L["Feral Dragonhawk Hatchling"], BZONE["Eversong Woods"], 5, 6, false, false)
-	self:addPetList(294, L["Crazed Dragonhawk"], BZONE["Eversong Woods"], 7, 8, false, false)
-	self:addPetList(295, L["Eclipsion Dragonhawk"], BZONE["Shadowmoon Valley"], 67, 68, false, false)
-	self:addPetList(296, L["Bloodfalcon"], BZONE["The Botanica"], 69, 70, true, false)
-	self:addPetList(297, L["Phoenix-Hawk Hatchling"], BZONE["Tempest Keep"], 70, 70, true, false)
-	self:addPetList(300, L["Mist Howler"], BZONE["Ashenvale"], 22, 22, false, true)
-	self:addPetList(304, L["Longtooth Howler"], BZONE["Feralas"], 43, 44, false, false)
-	self:addPetList(305, L["Silvermane Howler"], BZONE["The Hinterlands"], 45, 46, false, false)
-	self:addPetList(308, L["Silvermane Wolf"], BZONE["The Hinterlands"], 43, 44, false, false)
-	self:addPetList(312, L["Timber Worg"], BZONE["Terokkar Forest"], 62, 63, false, false)
-	self:addPetList(313, L["Dark Worg"], BZONE["Nagrand"], 64, 65, false, false)
-	self:addPetList(314, L["Bloodmaul Dire Wolf"], BZONE["Blade's Edge Mountains"], 65, 65, false, false)
-	self:addPetList(315, L["Bloodmaul Battle Worg"], BZONE["Blade's Edge Mountains"], 66, 67, false, false)
-	self:addPetList(323, L["Enraged Ravager"], BZONE["Bloodmyst Isle"], 16, 17, false, false)
-	self:addPetList(328, L["Quillfang Skitterer"], BZONE["Hellfire Peninsula"], 61, 62, false, false)
-	self:addPetList(330, L["Thornfang Ravager"], BZONE["Hellfire Peninsula"], 62, 63, false, false)
-	self:addPetList(332, L["Deviate Coiler Hatchling"], BZONE["Wailing Caverns"], 11, 11, true, false)
-	self:addPetList(333, L["Deviate Coiler"], BZONE["Wailing Caverns"], 15, 16, true, false)
-	self:addPetList(334, L["Deviate Stinglash"], BZONE["Wailing Caverns"], 16, 17, true, false)
-	self:addPetList(335, L["Thunderhawk Hatchling"], BZONE["The Barrens"], 18, 20, false, false)
-	self:addPetList(336, L["Deviate Dreadfang"], BZONE["Wailing Caverns"], 20, 21, true, false)
-	self:addPetList(337, L["Deviate Venomwing"], BZONE["Wailing Caverns"], 20, 21, true, false)
-	self:addPetList(338, L["Thunderhawk Cloudscraper"], BZONE["The Barrens"], 20, 22, false, false)
-	self:addPetList(339, L["Greater Thunderhawk"], BZONE["The Barrens"], 23, 24, false, false)
-	self:addPetList(340, L["Cloud Serpent"], BZONE["Thousand Needles"], 25, 26, false, false)
-	self:addPetList(341, L["Washte Pawne"], BZONE["The Barrens"], 25, 25, false, false)
-	self:addPetList(342, L["Venomous Cloud Serpent"], BZONE["Thousand Needles"], 26, 28, false, false)
-	self:addPetList(343, L["Elder Cloud Serpent"], BZONE["Thousand Needles"], 27, 29, false, false)
-	self:addPetList(347, L["Hakkar'i Frostwing"], BZONE["The Temple of Atal'Hakkar"], 49, 50, true, false)
-	self:addPetList(348, L["Hakkar'i Sapper"], BZONE["The Temple of Atal'Hakkar"], 49, 50, true, false)
-	self:addPetList(350, L["Son of Hakkar"], BZONE["Zul'Gurub"], 60, 60, true, false)
-	self:addPetList(351, L["Soulflayer"], BZONE["Zul'Gurub"], 61, 61, true, false)
-	self:addPetList(352, L["Felsworn Scalewing"], BZONE["Blade's Edge Mountains"], 66, 67, false, false)
-	self:addPetList(353, L["Scalewing Serpent"], BZONE["Blade's Edge Mountains"], 66, 67, false, false)
-	self:addPetList(354, L["Cobalt Serpent"], BZONE["Sethekk Halls"], 68, 71, true, false)
-	self:addPetList(355, L["Swiftwing Shredder"], BZONE["Netherstorm"], 68, 69, false, false)
-	self:addPetList(356, L["Deviate Adder"], BZONE["Wailing Caverns"], 18, 19, true, false)
-	self:addPetList(357, L["Deviate Viper"], BZONE["Wailing Caverns"], 19, 20, true, false)
-	self:addPetList(358, L["Deviate Moccasin"], BZONE["Wailing Caverns"], 20, 21, true, false)
-	self:addPetList(359, L["Murk Slitherer"], BZONE["The Temple of Atal'Hakkar"], 45, 46, true, false)
-	self:addPetList(360, L["Sandfury Guardian"], BZONE["The Temple of Atal'Hakkar"], 45, 46, true, false)
-	self:addPetList(361, L["Murk Spitter"], BZONE["The Temple of Atal'Hakkar"], 46, 47, true, false)
-	self:addPetList(362, L["Razzashi Adder"], BZONE["Zul'Gurub"], 60, 60, true, false)
-	self:addPetList(363, L["Razzashi Cobra"], BZONE["Zul'Gurub"], 60, 60, true, false)
-	self:addPetList(364, L["Razzashi Serpent"], BZONE["Zul'Gurub"], 60, 60, true, false)
-	self:addPetList(365, L["Coilskar Cobra"], BZONE["Shadowmoon Valley"], 68, 68, false, false)
-	self:addPetList(366, L["Mountain Lion"], BZONE["Alterac Mountains"], 32, 33, false, false)
-	self:addPetList(368, L["Shadowmaw Panther"], BZONE["Stranglethorn Vale"], 37, 38, false, false)
-	self:addPetList(369, L["Shadow Panther"], BZONE["Swamp of Sorrows"], 39, 40, false, false)
-	self:addPetList(376, L["Corrupted Scorpid"], BZONE["Durotar"], 10, 11, false, false)
-	self:addPetList(378, L["Silithid Creeper"], BZONE["The Barrens"], 20, 21, false, false)
-	self:addPetList(379, L["Silithid Swarmer"], BZONE["The Barrens"], 21, 22, false, false)
-	self:addPetList(382, L["Scorpid Terror"], BZONE["Thousand Needles"], 33, 34, false, false)
-	self:addPetList(383, L["Cleft Scorpid"], BZONE["Uldaman"], 35, 36, false, false)
-	self:addPetList(385, L["Scorpashi Venomlash"], BZONE["Desolace"], 38, 39, false, false)
-	self:addPetList(387, L["Deadly Cleft Scorpid"], BZONE["Uldaman"], 42, 43, false, false)
-	self:addPetList(388, L["Scorpid Tail Lasher"], BZONE["Tanaris"], 43, 44, false, false)
-	self:addPetList(389, L["Scorpid Duneburrower"], BZONE["Tanaris"], 46, 47, false, false)
-	self:addPetList(390, L["Scorpid Dunestalker"], BZONE["Tanaris"], 46, 47, false, false)
-	self:addPetList(391, L["Deep Stinger"], BZONE["Blackrock Depths"], 50, 52, false, false)
-	self:addPetList(392, L["Venomtip Scorpid"], BZONE["Burning Steppes"], 52, 53, false, false)
-	self:addPetList(394, L["Stonelash Scorpid"], BZONE["Silithus"], 54, 55, false, false)
-	self:addPetList(395, L["Firetail Scorpid"], BZONE["Burning Steppes"], 56, 57, false, false)
-	self:addPetList(396, L["Krellack"], BZONE["Silithus"], 56, 56, false, true)
-	self:addPetList(397, L["Stonelash Pincer"], BZONE["Silithus"], 56, 57, false, false)
-	self:addPetList(398, L["Stonelash Flayer"], BZONE["Silithus"], 58, 59, false, false)
-	self:addPetList(399, L["Scorpok Stinger"], BZONE["Blasted Lands"], 50, 51, false, false)
-	self:addPetList(401, L["Scorchshell Pincer"], BZONE["Shadowmoon Valley"], 68, 69, false, false)
-	self:addPetList(402, L["Greater Fleshripper"], BZONE["Westfall"], 16, 17, false, false)
-	self:addPetList(403, L["Salt Flats Vulture"], BZONE["Thousand Needles"], 32, 34, false, false)
-	self:addPetList(405, L["Dread Ripper"], BZONE["Desolace"], 39, 40, false, false)
-	self:addPetList(411, L["Kaliri Matriarch"], BZONE["Hellfire Peninsula"], 63, 63, false, false)
-	self:addPetList(421, L["Mistvale Gorilla"], BZONE["Stranglethorn Vale"], 32, 33, false, false)
-	self:addPetList(422, L["Jungle Thunderer"], BZONE["Stranglethorn Vale"], 37, 38, false, false)
-	self:addPetList(423, L["Elder Mistvale Gorilla"], BZONE["Stranglethorn Vale"], 40, 41, false, false)
-	self:addPetList(424, L["Groddoc Thunderer"], BZONE["Feralas"], 49, 50, false, false)
-	self:addPetList(425, L["Un'Goro Thunderer"], BZONE["Un'Goro Crater"], 52, 53, false, false)
-	self:addPetList(426, L["U'cha"], BZONE["Un'Goro Crater"], 55, 55, false, false)
-	self:addPetList(427, L["Warp Stalker"], BZONE["Terokkar Forest"], 63, 64, false, false)
-	self:addPetList(428, L["Warp Hunter"], BZONE["Terokkar Forest"], 64, 65, false, false)
-	self:addPetList(429, L["Warp Chaser"], BZONE["Netherstorm"], 67, 68, false, false)
-	self:addPetList(430, L["Blackwind Warp Chaser"], BZONE["Terokkar Forest"], 69, 70, false, false)
-
-	-- Add all possible beast skills
-	--self:addTradeSkillBeast(1, 1, addon:CombinePets(1)) --This is my test skill for hunter abilities since my hunter has everything
-	--self:addTradeSkillBeast(3, 3, addon:CombinePets(37)) --This is my test skill for hunter abilities since my hunter has everything
-	--self:addTradeSkillBeast(4, 4, addon:CombinePets(39)) --This is my test skill for hunter abilities since my hunter has everything
-	--self:addTradeSkillBeast(5, 5, addon:CombinePets(94,95,96,97,98)) --This is my test skill for hunter abilities since my hunter has everything
-	--self:addTradeSkillBeast(7, 7, addon:CombinePets(423,424,425,426,427,428,429,430)) --This is my test skill for hunter abilities since my hunter has everything
-	self:addTradeSkillBeast(24495, 20, L["Trainer"],1)
-	self:addTradeSkillBeast(24508, 30, L["Trainer"],1)
-	self:addTradeSkillBeast(24509, 40, L["Trainer"],1)
-	self:addTradeSkillBeast(24510, 50, L["Trainer"],1)
-	self:addTradeSkillBeast(27350, 60, L["Trainer"],1)
-	self:addTradeSkillBeast(35699, 30, L["Trainer"],1)
-	self:addTradeSkillBeast(35700, 60, L["Trainer"],1)
-	self:addTradeSkillBeast(25077, 30, L["Trainer"],1)
-	self:addTradeSkillBeast(24440, 20, L["Trainer"],1)
-	self:addTradeSkillBeast(24441, 30, L["Trainer"],1)
-	self:addTradeSkillBeast(24463, 40, L["Trainer"],1)
-	self:addTradeSkillBeast(24464, 50, L["Trainer"],1)
-	self:addTradeSkillBeast(27351, 60, L["Trainer"],1)
-	self:addTradeSkillBeast(24475, 20, L["Trainer"],1)
-	self:addTradeSkillBeast(24476, 30, L["Trainer"],1)
-	self:addTradeSkillBeast(24477, 40, L["Trainer"],1)
-	self:addTradeSkillBeast(24478, 50, L["Trainer"],1)
-	self:addTradeSkillBeast(27352, 60, L["Trainer"],1)
-	self:addTradeSkillBeast(4195, 10, L["Trainer"],1)
-	self:addTradeSkillBeast(4196, 12, L["Trainer"],1)
-	self:addTradeSkillBeast(4197, 18, L["Trainer"],1)
-	self:addTradeSkillBeast(4198, 24, L["Trainer"],1)
-	self:addTradeSkillBeast(4199, 30, L["Trainer"],1)
-	self:addTradeSkillBeast(4200, 36, L["Trainer"],1)
-	self:addTradeSkillBeast(4201, 42, L["Trainer"],1)
-	self:addTradeSkillBeast(4202, 48, L["Trainer"],1)
-	self:addTradeSkillBeast(5048, 54, L["Trainer"],1)
-	self:addTradeSkillBeast(5049, 60, L["Trainer"],1)
-	self:addTradeSkillBeast(27062, 70, L["Trainer"],1)
-	self:addTradeSkillBeast(24547, 10, L["Trainer"],1)
-	self:addTradeSkillBeast(24556, 12, L["Trainer"],1)
-	self:addTradeSkillBeast(24557, 18, L["Trainer"],1)
-	self:addTradeSkillBeast(24558, 24, L["Trainer"],1)
-	self:addTradeSkillBeast(24559, 30, L["Trainer"],1)
-	self:addTradeSkillBeast(24560, 36, L["Trainer"],1)
-	self:addTradeSkillBeast(24561, 42, L["Trainer"],1)
-	self:addTradeSkillBeast(24562, 48, L["Trainer"],1)
-	self:addTradeSkillBeast(24631, 54, L["Trainer"],1)
-	self:addTradeSkillBeast(24632, 60, L["Trainer"],1)
-	self:addTradeSkillBeast(27362, 70, L["Trainer"],1)
-	self:addTradeSkillBeast(24494, 20, L["Trainer"],1)
-	self:addTradeSkillBeast(24511, 30, L["Trainer"],1)
-	self:addTradeSkillBeast(24512, 40, L["Trainer"],1)
-	self:addTradeSkillBeast(24513, 50, L["Trainer"],1)
-	self:addTradeSkillBeast(27354, 60, L["Trainer"],1)
-	self:addTradeSkillBeast(24490, 20, L["Trainer"],1)
-	self:addTradeSkillBeast(24514, 30, L["Trainer"],1)
-	self:addTradeSkillBeast(24515, 40, L["Trainer"],1)
-	self:addTradeSkillBeast(24516, 50, L["Trainer"],1)
-	self:addTradeSkillBeast(27353, 60, L["Trainer"],1)
-	self:addTradeSkillBeast(1853, 10, L["Trainer"],1)
-	self:addTradeSkillBeast(14922, 10, L["Trainer"],1)
-	self:addTradeSkillBeast(14923, 20, L["Trainer"],1)
-	self:addTradeSkillBeast(14924, 30, L["Trainer"],1)
-	self:addTradeSkillBeast(14925, 40, L["Trainer"],1)
-	self:addTradeSkillBeast(14926, 50, L["Trainer"],1)
-	self:addTradeSkillBeast(14927, 60, L["Trainer"],1)
-	self:addTradeSkillBeast(27344, 70, L["Trainer"],1)
-	self:addTradeSkillBeast(17253, 1, addon:CombinePets(1,2,3,4,5,6,7,8,9,10,11,12))
-	self:addTradeSkillBeast(17255, 10, addon:CombinePets(13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28))
-	self:addTradeSkillBeast(17256, 16, addon:CombinePets(29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46))
-	self:addTradeSkillBeast(17257, 24, addon:CombinePets(47,48,49,50,51,52,53,54,55,56,57,58))
-	self:addTradeSkillBeast(17258, 32, addon:CombinePets(59,60,61,62,63,64,65,66,128))
-	self:addTradeSkillBeast(17259, 40, addon:CombinePets(67,68,69,70,71,72,73,74,75,76,77,78))
-	self:addTradeSkillBeast(17260, 48, addon:CombinePets(79,80,81,82,83,84,85,86,87))
-	self:addTradeSkillBeast(17261, 56, addon:CombinePets(88,89,90,91))
-	self:addTradeSkillBeast(27050, 64, addon:CombinePets(92,93))
-	self:addTradeSkillBeast(16827, 1, addon:CombinePets(94,95,96,97,98))
-	self:addTradeSkillBeast(16828, 10, addon:CombinePets(99,100,101,102,103,104,105,106,107,108,109,110))
-	self:addTradeSkillBeast(16829, 16, addon:CombinePets(111,31,113,114,115,116,117,118,119,120,121))
-	self:addTradeSkillBeast(16830, 24, addon:CombinePets(122,123,124,125))
-	self:addTradeSkillBeast(16831, 32, addon:CombinePets(126,127,129))
-	self:addTradeSkillBeast(16832, 40, addon:CombinePets(130,131,132,133,134,135))
-	self:addTradeSkillBeast(3010, 48, addon:CombinePets(136,137,138,139,140,141,142,143,144,145))
-	self:addTradeSkillBeast(3009, 56, addon:CombinePets(146,147,148))
-	self:addTradeSkillBeast(27049, 64, addon:CombinePets(150,151,152,153,154,155,156,157))
-	self:addTradeSkillBeast(7371, 10, addon:CombinePets(158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176))
-	self:addTradeSkillBeast(26177, 12, addon:CombinePets(177,178,179,180,181))
-	self:addTradeSkillBeast(26178, 24, addon:CombinePets(182,183,184,185))
-	--self:addTradeSkillBeast(26179, 36, L["Charge (Rank 4) Obt"]) -- No charge rank 4 in the game
-	self:addTradeSkillBeast(26201, 48, addon:CombinePets(186,187))
-	self:addTradeSkillBeast(27685, 60, addon:CombinePets(188))
-	self:addTradeSkillBeast(1747, 10, addon:CombinePets(189,190,191,192,193,194,195,196,197,198))
-	self:addTradeSkillBeast(1748, 15, addon:CombinePets(199,200,201,202,203,204))
-	self:addTradeSkillBeast(1749, 25, addon:CombinePets(205,206,207,208,209,210,211))
-	self:addTradeSkillBeast(1750, 35, addon:CombinePets(212,213,214))
-	self:addTradeSkillBeast(1751, 45, addon:CombinePets(215,216,217,218))
-	self:addTradeSkillBeast(16698, 55, addon:CombinePets(219,220))
-	self:addTradeSkillBeast(27346, 65, addon:CombinePets(221,157,223))
-	self:addTradeSkillBeast(23100, 30, addon:CombinePets(224,225,226,227,61,229,230,231,232,233,234,235))
-	self:addTradeSkillBeast(23111, 40, addon:CombinePets(236,70,238,239,240,73,242,133,244,245,246))
-	self:addTradeSkillBeast(23112, 50, addon:CombinePets(187,82,249,250,251,88,253,254,255,256,257,258,259))
-	self:addTradeSkillBeast(23145, 30, addon:CombinePets(207,261,210,263,264,265,214))
-	self:addTradeSkillBeast(23147, 40, addon:CombinePets(267,268,269,270,271,272,273,274))
-	self:addTradeSkillBeast(23148, 50, addon:CombinePets(275,215,138,278,279,140,281,217,144,284,147,286,287,152,154,290,156,292))
-	self:addTradeSkillBeast(34889, 1, addon:CombinePets(293,294))
-	self:addTradeSkillBeast(35323, 60, addon:CombinePets(295,296,297))
-	self:addTradeSkillBeast(24604, 10, addon:CombinePets(23,24,300))
-	self:addTradeSkillBeast(24605, 24, addon:CombinePets(50,55,235,304,305))
-	self:addTradeSkillBeast(24603, 40, addon:CombinePets(70,74,308,76,78))
-	self:addTradeSkillBeast(24597, 56, addon:CombinePets(88,312,313,314,315,93))
-	self:addTradeSkillBeast(35290, 1, addon:CombinePets(160,161,163,165,166,169))
-	self:addTradeSkillBeast(35291, 8, addon:CombinePets(171,17,174,176,178))
-	self:addTradeSkillBeast(35292, 16, addon:CombinePets(180,323,181))
-	self:addTradeSkillBeast(35293, 24, addon:CombinePets(183))
-	--self:addTradeSkillBeast(35294, 32, L["Gore (Rank 5) Obt"]) -- Not in game
-	--self:addTradeSkillBeast(35295, 40, L["Gore (Rank 6) Obt"]) -- Not in game
-	self:addTradeSkillBeast(35296, 48, addon:CombinePets(186))
-	self:addTradeSkillBeast(35297, 56, addon:CombinePets(188,328,89,330))
-	self:addTradeSkillBeast(35298, 63, addon:CombinePets(259))
-	self:addTradeSkillBeast(24844, 1, addon:CombinePets(332))
-	self:addTradeSkillBeast(25008, 12, addon:CombinePets(333,334,335,336,337,338,339))
-	self:addTradeSkillBeast(25009, 24, addon:CombinePets(340,341,342,343))
-	self:addTradeSkillBeast(25010, 36, addon:CombinePets(267,270))
-	self:addTradeSkillBeast(25011, 48, addon:CombinePets(274,347,348,278))
-	self:addTradeSkillBeast(25012, 60, addon:CombinePets(350,351,352,353,354,355))
-	self:addTradeSkillBeast(35387, 15, addon:CombinePets(356,357,358))
-	self:addTradeSkillBeast(35389, 45, addon:CombinePets(359,360,361))
-	self:addTradeSkillBeast(35392, 60, addon:CombinePets(362,363,364,365))
-	self:addTradeSkillBeast(24451, 30, addon:CombinePets(366,212,368,369))
-	self:addTradeSkillBeast(24454, 40, addon:CombinePets(238,240))
-	self:addTradeSkillBeast(24455, 50, addon:CombinePets(216,255,258))
-	self:addTradeSkillBeast(24641, 10, addon:CombinePets(103,376,104,378,379))
-	self:addTradeSkillBeast(24584, 24, addon:CombinePets(124,125,382,383,127,385))
-	self:addTradeSkillBeast(24588, 40, addon:CombinePets(130,387,388,389,390,391,392,143,394))
-	self:addTradeSkillBeast(24589, 56, addon:CombinePets(395,396,397,398))
-	self:addTradeSkillBeast(27361, 64, addon:CombinePets(399,150,401))
-	self:addTradeSkillBeast(24424, 10, addon:CombinePets(402))
-	self:addTradeSkillBeast(24580, 24, addon:CombinePets(403,214,405))
-	self:addTradeSkillBeast(24581, 48, addon:CombinePets(273,275, 215))
-	self:addTradeSkillBeast(24582, 56, addon:CombinePets(220,147,411))
-	self:addTradeSkillBeast(27349, 64, addon:CombinePets(153,290,155))
-	self:addTradeSkillBeast(26064, 20, addon:CombinePets(39,43,51,53,58,84))
-	self:addTradeSkillBeast(26090, 30, addon:CombinePets(421,422))
-	self:addTradeSkillBeast(26187, 40, addon:CombinePets(423,424))
-	self:addTradeSkillBeast(26188, 50, addon:CombinePets(425,426))
-	--self:addTradeSkillBeast(27063, 60,  "HUNTER") -- Not in game
-	self:addTradeSkillBeast(35348, 60, addon:CombinePets(427,428,429,430))
-
-end
\ No newline at end of file
diff --git a/RecipeDB/ARL-BlackSmith.lua b/RecipeDB/ARL-BlackSmith.lua
index 78b15b6..8c9f19e 100644
--- a/RecipeDB/ARL-BlackSmith.lua
+++ b/RecipeDB/ARL-BlackSmith.lua
@@ -1,420 +1,4098 @@
 --[[

-ARLBlackSmith-.lua
+************************************************************************
+
+ARL-BlackSmith.lua

 Blacksmithing data for all of AckisRecipeList

+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+391 found from data mining.
+0 ignored.
+6 WotLK ignored.
+
+************************************************************************
+
 $Date$
 $Rev$

+************************************************************************
+
+Format:
+
+	self:addTradeSkill(RecipeDB, Spell ID, Skill Level, Item ID, Rarity, Specialty)
+
+************************************************************************
+
 ]]--

-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-local BZONE		= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local BBOSS		= LibStub("LibBabble-Boss-3.0"):GetLookupTable()
-
-local addon = AckisRecipeList
-
-function addon:InitBlackSmith()
-
-	-- Trainer Recipes
-	self:addTradeSkillSpell(2660, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(2663, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(12260, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(2662, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(2737, 15, L["Trainer"],1)
-	self:addTradeSkillSpell(3319, 20, L["Trainer"],1)
-	self:addTradeSkillSpell(2738, 20, L["Trainer"],1)
-	self:addTradeSkillSpell(3115, 25, L["Trainer"],1)
-	self:addTradeSkillSpell(3320, 25, L["Trainer"],1)
-	self:addTradeSkillSpell(2739, 25, L["Trainer"],1)
-	self:addTradeSkillSpell(8880, 30, L["Trainer"],1)
-	self:addTradeSkillSpell(9983, 30, L["Trainer"],1)
-	self:addTradeSkillSpell(3293, 35, L["Trainer"],1)
-	self:addTradeSkillSpell(2661, 35, L["Trainer"],1)
-	self:addTradeSkillSpell(3323, 40, L["Trainer"],1)
-	self:addTradeSkillSpell(3324, 45, L["Trainer"],1)
-	self:addTradeSkillSpell(3116, 65, L["Trainer"],1)
-	self:addTradeSkillSpell(7408, 65, L["Trainer"],1)
-	self:addTradeSkillSpell(2665, 65, L["Trainer"],1)
-	self:addTradeSkillSpell(3326, 75, L["Trainer"],1)
-	self:addTradeSkillSpell(2664, 90, L["Trainer"],1)
-	self:addTradeSkillSpell(3294, 90, L["Trainer"],1)
-	self:addTradeSkillSpell(2666, 90, L["Trainer"],1)
-	self:addTradeSkillSpell(3292, 95, L["Trainer"],1)
-	self:addTradeSkillSpell(7817, 95, L["Trainer"],1)
-	self:addTradeSkillSpell(3491, 105, L["Trainer"],1)
-	self:addTradeSkillSpell(7818, 100, L["Trainer"],1)
-	self:addTradeSkillSpell(19666, 100, L["Trainer"],1)
-	self:addTradeSkillSpell(34979, 100, L["Trainer"],1)
-	self:addTradeSkillSpell(2668, 105, L["Trainer"],1)
-	self:addTradeSkillSpell(2670, 105, L["Trainer"],1)
-	self:addTradeSkillSpell(3328, 110, L["Trainer"],1)
-	self:addTradeSkillSpell(2740, 110, L["Trainer"],1)
-	self:addTradeSkillSpell(6517, 115, L["Trainer"],1)
-	self:addTradeSkillSpell(2741, 115, L["Trainer"],1)
-	self:addTradeSkillSpell(2742, 120, L["Trainer"],1)
-	self:addTradeSkillSpell(2672, 120, L["Trainer"],1)
-	self:addTradeSkillSpell(3117, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(3337, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(9985, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(2674, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(3296, 130, L["Trainer"],1)
-	self:addTradeSkillSpell(3331, 130, L["Trainer"],1)
-	self:addTradeSkillSpell(9986, 130, L["Trainer"],1)
-	self:addTradeSkillSpell(3333, 135, L["Trainer"],1)
-	self:addTradeSkillSpell(9987, 135, L["Trainer"],1)
-	self:addTradeSkillSpell(2675, 145, L["Trainer"],1)
-	self:addTradeSkillSpell(8768, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(14379, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(19667, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(3506, 155, L["Trainer"],1)
-	self:addTradeSkillSpell(3501, 165, L["Trainer"],1)
-	self:addTradeSkillSpell(3502, 170, L["Trainer"],1)
-	self:addTradeSkillSpell(3508, 180, L["Trainer"],1)
-	self:addTradeSkillSpell(15972, 180, L["Trainer"],1)
-	self:addTradeSkillSpell(7223, 185, L["Trainer"],1)
-	self:addTradeSkillSpell(9916, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(9918, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(9921, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(9920, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(14380, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(19668, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(34981, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(9926, 205, L["Trainer"],1)
-	self:addTradeSkillSpell(9928, 205, L["Trainer"],1)
-	self:addTradeSkillSpell(9931, 210, L["Trainer"],1)
-	self:addTradeSkillSpell(9993, 210, L["Trainer"],1)
-	self:addTradeSkillSpell(9935, 215, L["Trainer"],1)
-	self:addTradeSkillSpell(9959, 230, L["Trainer"],1)
-	self:addTradeSkillSpell(9961, 230, L["Trainer"],1)
-	self:addTradeSkillSpell(10001, 230, L["Trainer"],1)
-	self:addTradeSkillSpell(9968, 235, L["Trainer"],1)
-	self:addTradeSkillSpell(9972, 235, L["Trainer"],1)
-	self:addTradeSkillSpell(9979, 240, L["Trainer"],1)
-	self:addTradeSkillSpell(16641, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(16640, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(16639, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(19669, 275, L["Trainer"],1)
-	self:addTradeSkillSpell(20201, 275, L["Trainer"],1)
-	self:addTradeSkillSpell(34982, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(10003, 235 , L["Trainer"],1)
-	self:addTradeSkillSpell(10007, 245, L["Trainer"],1)
-	self:addTradeSkillSpell(10011, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(10015, 260, L["Trainer"],1)
-  	self:addTradeSkillSpell(9954, 225, L["Trainer"],1)
-	self:addTradeSkillSpell(9974, 245, L["Trainer"],1)
-	self:addTradeSkillSpell(29654, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(34607, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(32655, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(29551, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(29545, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(29547, 305, L["Trainer"],1)
-	self:addTradeSkillSpell(29557, 310, L["Trainer"],1)
-	self:addTradeSkillSpell(29552, 310, L["Trainer"],1)
-	self:addTradeSkillSpell(29548, 315, L["Trainer"],1)
-	self:addTradeSkillSpell(29549, 315, L["Trainer"],1)
-	self:addTradeSkillSpell(29553, 315, L["Trainer"],1)
-	self:addTradeSkillSpell(29558, 315, L["Trainer"],1)
-	self:addTradeSkillSpell(29565, 320, L["Trainer"],1)
-	self:addTradeSkillSpell(29556, 320, L["Trainer"],1)
-	self:addTradeSkillSpell(29550, 325, L["Trainer"],1)
-	self:addTradeSkillSpell(32284, 325, L["Trainer"],1)
-	self:addTradeSkillSpell(34983, 350, L["Trainer"],1)
-
-	-- Vendor Recipes
-	self:addTradeSkillSpell(3494, 155, self:CombineVendors(171, 172, 173, false),2)
-	self:addTradeSkillSpell(3492, 160, self:CombineVendors(174, 175, 176, false),2)
-	self:addTradeSkillSpell(3496, 180, self:CombineVendors(177, false),2)
-	self:addTradeSkillSpell(3498, 185, self:CombineVendors(178, 179, false),2)
-	self:addTradeSkillSpell(3503, 190, self:CombineVendors(180, false),2)
-	self:addTradeSkillSpell(9937, 215, self:CombineVendors(181, 182, false),2)
-	self:addTradeSkillSpell(29566, 325, self:CombineVendors(183, 184, 185, false),2)
-	self:addTradeSkillSpell(29568, 330, self:CombineVendors(183, 184, 185, false),2)
-	self:addTradeSkillSpell(29569, 330, self:CombineVendors(183, 184, 185, false),2)
-	self:addTradeSkillSpell(29571, 335, self:CombineVendors(183, 184, 185, false),2)
-	self:addTradeSkillSpell(29603, 335, self:CombineVendors(186, 187, false),2)
-	self:addTradeSkillSpell(29605, 335, self:CombineVendors(186, 187, false),2)
-	self:addTradeSkillSpell(29728, 340, self:CombineVendors(188, 189, false),2)
-	self:addTradeSkillSpell(29606, 340, self:CombineVendors(186, 187, false),2)
-	self:addTradeSkillSpell(32656, 350, self:CombineVendors(183, false),2)
-	self:addTradeSkillSpell(32657, 375, self:CombineVendors(188, 189, false),2)
-
-	-- World Drops
-	self:addTradeSkillSpell(3321, 35, L["UWD"],3)
-	self:addTradeSkillSpell(3325, 60, L["UWD"],3)
-	self:addTradeSkillSpell(2667, 80, L["UWD"],3)
-	self:addTradeSkillSpell(3295, 125, L["UWD"],3)
-	self:addTradeSkillSpell(3330, 125, L["UWD"],3)
-	self:addTradeSkillSpell(2673, 130, L["UWD"],3)
-	self:addTradeSkillSpell(6518, 140, L["UWD"],3)
-	self:addTradeSkillSpell(3297, 145, L["UWD"],3)
-	self:addTradeSkillSpell(3334, 145, L["UWD"],3)
-	self:addTradeSkillSpell(3336, 150, L["UWD"],3)
-	self:addTradeSkillSpell(7221, 150, L["UWD"],3)
-	self:addTradeSkillSpell(12259, 155, L["UWD"],3)
-	self:addTradeSkillSpell(3504, 160, L["UWD"],3)
-	self:addTradeSkillSpell(7222, 165, L["UWD"],3)
-	self:addTradeSkillSpell(3495, 170, L["UWD"],3)
-	self:addTradeSkillSpell(3507, 170, L["UWD"],3)
-	self:addTradeSkillSpell(3493, 175, L["UWD"],3)
-	self:addTradeSkillSpell(3505, 175, L["UWD"],3)
-	self:addTradeSkillSpell(3513, 185, L["UWD"],3)
-	self:addTradeSkillSpell(7224, 190, L["UWD"],3)
-	self:addTradeSkillSpell(15973, 190, L["UWD"],3)
-	self:addTradeSkillSpell(3511, 195, L["UWD"],3)
-	self:addTradeSkillSpell(3497, 200, L["UWD"],3)
-	self:addTradeSkillSpell(3500, 200, L["UWD"],3)
-	self:addTradeSkillSpell(3515, 200, L["UWD"],3)
-	self:addTradeSkillSpell(9933, 210, L["UWD"],3)
-	self:addTradeSkillSpell(9939, 215, L["UWD"],3)
-	self:addTradeSkillSpell(9995, 220, L["UWD"],3)
-	self:addTradeSkillSpell(9997, 225, L["UWD"],3)
-	self:addTradeSkillSpell(9964, 235, L["UWD"],3)
-	self:addTradeSkillSpell(9966, 235, L["UWD"],3)
-	self:addTradeSkillSpell(10005, 240, L["UWD"],3)
-	self:addTradeSkillSpell(9970, 245, L["UWD"],3)
-	self:addTradeSkillSpell(10009, 245, L["UWD"],3)
-	self:addTradeSkillSpell(16642, 250, L["UWD"],3)
-	self:addTradeSkillSpell(16643, 250, L["UWD"],3)
-	self:addTradeSkillSpell(16644, 255, L["UWD"],3)
-	self:addTradeSkillSpell(16645, 260, L["UWD"],3)
-	self:addTradeSkillSpell(16648, 270, L["UWD"],3)
-	self:addTradeSkillSpell(16651, 275, L["UWD"],3)
-	self:addTradeSkillSpell(16652, 280, L["UWD"],3)
-	self:addTradeSkillSpell(16653, 280, L["UWD"],3)
-	self:addTradeSkillSpell(16654, 285, L["UWD"],3)
-	self:addTradeSkillSpell(16656, 290, L["UWD"],3)
-	self:addTradeSkillSpell(16659, 295, L["UWD"],3)
-	self:addTradeSkillSpell(16662, 300, L["UWD"],3)
-	self:addTradeSkillSpell(16725, 300, L["UWD"],3)
-	self:addTradeSkillSpell(16650, 270, L["UWD"],3)
-	self:addTradeSkillSpell(16660, 290, L["UWD"],3)
-	self:addTradeSkillSpell(16724, 300, L["UWD"],3)
-	self:addTradeSkillSpell(16728, 300, L["RWD"],3)
-	self:addTradeSkillSpell(16729, 300, L["EWD"],3)
-	self:addTradeSkillSpell(16741, 300, L["EWD"],3)
-	self:addTradeSkillSpell(27829, 300, L["EWD"],3)
-	self:addTradeSkillSpell(27832, 300, L["EWD"],3)
-	self:addTradeSkillSpell(27830, 300, L["EWD"],3)
-	self:addTradeSkillSpell(42688, 335, L["UWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-	self:addTradeSkillSpell(29622, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29658, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29662, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29663, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29664, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29668, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29669, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29671, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29672, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29692, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29693, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29694, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29695, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29696, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29697, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29698, 365, L["EWD"],3)
-	self:addTradeSkillSpell(43846, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29699, 365, L["EWD"],3)
-	self:addTradeSkillSpell(29700, 365, L["EWD"],3)
-
-	-- Specific Drops
-	self:addTradeSkillSpell(43549, 35, L["UWD"] .. addon.br .. self:CombineQuests(L["Heavy Copper Longsword Obt"],1,BZONE["Ironforge"]),3,8)
-	self:addTradeSkillSpell(8367, 100, self:CombineQuests(L["Ironforge Breastplate Obt"],1,BZONE["Ironforge"]),BFAC["Alliance"],8)
-	self:addTradeSkillSpell(9811, 160, self:CombineQuests(L["Barbaric Iron Shoulders Obt"],2,BZONE["Orgrimmar"]),BFAC["Horde"],8)
-	self:addTradeSkillSpell(9813, 160, self:CombineQuests(L["Barbaric Iron Breastplate Obt"],2,BZONE["Orgrimmar"]),BFAC["Horde"],8)
-	self:addTradeSkillSpell(9814, 175, self:CombineQuests(L["Barbaric Iron Helm Obt"],2,BZONE["Orgrimmar"]),BFAC["Horde"],8)
-	self:addTradeSkillSpell(9818, 180, self:CombineQuests(L["Barbaric Iron Boots Obt"],2,BZONE["Orgrimmar"]),BFAC["Horde"],8)
-	self:addTradeSkillSpell(9820, 185, self:CombineQuests(L["Barbaric Iron Gloves Obt"],2,BZONE["Orgrimmar"]),BFAC["Horde"],8)
-	self:addTradeSkillSpell(11454, 200, L["Inlaid Mithril Cylinder Obt"])
-	self:addTradeSkillSpell(11643, 205, self:CombineQuests(L["Golden Scale Gauntlets Obt"],1,BZONE["Stormwind City"]), BFAC["Alliance"],8)
-	self:addTradeSkillSpell(9945, 220, self:CombineQuests(L["Ornate Mithril Pants Obt"],0,BZONE["Stranglethorn Vale"]),8)
-	self:addTradeSkillSpell(9950, 220, self:CombineQuests(L["Ornate Mithril Gloves Obt"],0,BZONE["Stranglethorn Vale"]),8)
-	self:addTradeSkillSpell(9952, 225, self:CombineQuests(L["Ornate Mithril Shoulder Obt"],0,BZONE["Stranglethorn Vale"]),8)
-	self:addTradeSkillSpell(9980, 245, self:CombineQuests(L["Ornate Mithril Helm Obt"],0,BZONE["Stranglethorn Vale"]),8)
-	self:addTradeSkillSpell(9957, 210, self:CombineQuests(L["Orcish War Leggings Obt"],2,BZONE["Orgrimmar"]), BFAC["Horde"],8)
-	self:addTradeSkillSpell(16646, 265, self:CombineQuests(L["Imperial Plate Shoulders Obt"],0,BZONE["Tanaris"]),4,8)
-	self:addTradeSkillSpell(16647, 265, self:CombineQuests(L["Imperial Plate Belt Obt"],0,BZONE["Tanaris"]),4,8)
-	self:addTradeSkillSpell(15293, 270, self:CombineQuests(L["Blacksmithing Plans"],0,BZONE["Blackrock Depths"]) .. addon.br .. self:CombineQuests(L["Blacksmithing Plans"],0,BZONE["Stratholme"]),3,5)
-	self:addTradeSkillSpell(16649, 270, self:CombineQuests(L["Imperial Plate Bracers Obt"],0,BZONE["Tanaris"]),3,8)
-	self:addTradeSkillSpell(10013, 255, self:CombineQuests(L["Spectral Essence Obt"],0,BZONE["Western Plaguelands"]),8)
-	self:addTradeSkillSpell(16971, 280, self:CombineQuests(L["Spectral Essence Obt"],0,BZONE["Western Plaguelands"]),8)
-	self:addTradeSkillSpell(16661, 295, self:CombineQuests(L["Spectral Essence Obt"],0,BZONE["Western Plaguelands"]),8)
-	self:addTradeSkillSpell(16969, 275, self:CombineQuests(L["Spectral Essence Obt"],0,BZONE["Western Plaguelands"]),8)
-	self:addTradeSkillSpell(15295, 280, self:CombineQuests(L["Blacksmithing Plans"],0,BZONE["Blackrock Depths"]) .. addon.br .. self:CombineQuests(L["Blacksmithing Plans"],0,BZONE["Stratholme"]),3,5)
-	self:addTradeSkillSpell(16657, 295, self:CombineQuests(L["Imperial Plate Boots Obt"],0,BZONE["Tanaris"]),4,8)
-	self:addTradeSkillSpell(16658, 295, self:CombineQuests(L["Imperial Plate Helm Obt"],0,BZONE["Tanaris"]),4,8)
-	self:addTradeSkillSpell(16663, 300, self:CombineQuests(L["Imperial Plate Chest Obt"],0,BZONE["Tanaris"]),4,8)
-	self:addTradeSkillSpell(16664, 300, self:CombineMobs(false,L["Runic Plate Shoulders Obt"],BZONE["Dustwallow Marsh"]),4)
-	self:addTradeSkillSpell(16665, 300, self:CombineMobs(false,L["Runic Plate Boots Obt"],BZONE["Western Plaguelands"]),4)
-	self:addTradeSkillSpell(16726, 300, self:CombineMobs(false,L["Runic Plate Helm Obt"],BZONE["Dustwallow Marsh"]),4)
-	self:addTradeSkillSpell(16730, 300, self:CombineQuests(L["Imperial Plate Leggings Obt"],0,BZONE["Tanaris"]),4,8)
-	self:addTradeSkillSpell(16731, 300, self:CombineMobs(false,L["Runic Breastplate Obt"],BZONE["Dustwallow Marsh"]),4)
-	self:addTradeSkillSpell(16732, 300, self:CombineMobs(false,L["Runic Plate Leggings Obt"],BZONE["Western Plaguelands"]),4)
-	self:addTradeSkillSpell(21161, 300, self:CombineQuests(L["Sulfuron Hammer Obt"],0,BZONE["Blackrock Depths"]),6,8)
-	self:addTradeSkillSpell(24914, 300, self:CombineQuests(L["TrueBelieverQuest"],0,BZONE["Silithus"]),3,8)
-	self:addTradeSkillSpell(24912, 300, self:CombineQuests(L["TrueBelieverQuest"],0,BZONE["Silithus"]),3,8)
-	self:addTradeSkillSpell(24913, 300, self:CombineQuests(L["TrueBelieverQuest"],0,BZONE["Silithus"]),3,8)
-	self:addTradeSkillSpell(16984, 290, self:CombineMobs(true,L["Volcanic Hammer Obt"],BZONE["Burning Steppes"]),3)
-	self:addTradeSkillSpell(15294, 275, self:CombineMobs(true,L["Dark Iron Sunderer Obt"],BZONE["Blackrock Depths"]),3,5)
-	self:addTradeSkillSpell(16995, 300, self:CombineMobs(true,BBOSS["Cannon Master Willey"],BZONE["Stratholme"]),3,5)
-	self:addTradeSkillSpell(15296, 285, self:CombineMobs(true,BBOSS["Ribbly Screwspigot"],BZONE["Blackrock Depths"]),3,5)
-	self:addTradeSkillSpell(16667, 285, self:CombineQuests(L["Demon Forged Breastplate Obt"],0,BZONE["Upper Blackrock Spire"]),5,8)
-	self:addTradeSkillSpell(16655, 290, self:CombineQuests(L["Fiery Plate Gauntlets Obt"],0,BZONE["Winterspring"]),4,8)
-	self:addTradeSkillSpell(16742, 300, self:CombineQuests(L["Enchanted Thorium Helm Obt"],0,BZONE["Dire Maul"]),3,5)
-	self:addTradeSkillSpell(16744, 300, self:CombineQuests(L["Enchanted Thorium Leggings Obt"],0,BZONE["Dire Maul"]),3,5)
-	self:addTradeSkillSpell(16745, 300, self:CombineQuests(L["Enchanted Thorium Breastplate Obt"],0,BZONE["Dire Maul"]),3,5)
-	self:addTradeSkillSpell(16746, 300, L["EWD"] .. addon.br .. self:CombineMobs(true,BBOSS["Goraluk Anvilcrack"],BZONE["Upper Blackrock Spire"]),3,5)
-	self:addTradeSkillSpell(16990, 300, self:CombineMobs(true,BBOSS["Goraluk Anvilcrack"],BZONE["Upper Blackrock Spire"]),3,5)
-	self:addTradeSkillSpell(16992, 300, self:CombineMobs(true,L["Frostguard Obt"],BZONE["Western Plaguelands"]),3)
-	self:addTradeSkillSpell(16985, 290, self:CombineQuests(L["Blacksmithing Plans"],0,BZONE["Blackrock Depths"]) .. addon.br .. self:CombineQuests(L["Blacksmithing Plans"],0,BZONE["Stratholme"]),3,5)
-	self:addTradeSkillSpell(16983, 285, self:CombineQuests(L["Blacksmithing Plans"],0,BZONE["Blackrock Depths"]) .. addon.br .. self:CombineQuests(L["Blacksmithing Plans"],0,BZONE["Stratholme"]),3,5)
-	self:addTradeSkillSpell(16988, 300, self:CombineMobs(true,BBOSS["Maleki the Pallid"],BZONE["Stratholme"]),3,5)
-	self:addTradeSkillSpell(16993, 300, self:CombineMobs(true,BBOSS["Goraluk Anvilcrack"],BZONE["Upper Blackrock Spire"]),3,5)
-	self:addTradeSkillSpell(16991, 300, self:CombineMobs(true,BBOSS["Quartermaster Zigris"],BZONE["Lower Blackrock Spire"]),3,5)
-	self:addTradeSkillSpell(16994, 300, self:CombineMobs(true,BBOSS["Bannok Grimaxe"],BZONE["Lower Blackrock Spire"]),3,5)
-	self:addTradeSkillSpell(29619, 360, self:CombineMobs(false,L["Felsteel Gloves Obt"],BZONE["Auchenai Crypts"]),4,5)
-	self:addTradeSkillSpell(29620, 360, self:CombineMobs(false,L["Felsteel Leggings Obt"],BZONE["The Arcatraz"]),4,5)
-	self:addTradeSkillSpell(29628, 360, self:CombineMobs(false,L["Khorium Belt Obt"],BZONE["Nagrand"]),4)
-	self:addTradeSkillSpell(29629, 360, self:CombineMobs(false,L["Khorium Pants Obt"],BZONE["Shadowmoon Valley"]),4)
-	self:addTradeSkillSpell(29621, 365, self:CombineMobs(false,L["Felsteel Helm Obt"],BZONE["Shadow Labyrinth"]),4,5)
-	self:addTradeSkillSpell(29630, 365, self:CombineMobs(false,L["Khorium Boots Obt"],BZONE["Netherstorm"]),4)
-	self:addTradeSkillSpell(29642, 365, self:CombineMobs(false,L["Ragesteel Gloves Obt"],BZONE["Nagrand"]),4)
-	self:addTradeSkillSpell(29643, 365, self:CombineMobs(false,L["Ragesteel Helm Obt"],BZONE["Blade's Edge Mountains"]),4)
-	self:addTradeSkillSpell(29645, 370, self:CombineMobs(false,L["Ragesteel Breastplate Obt"],BZONE["Shadowmoon Valley"]),4)
-	self:addTradeSkillSpell(29648, 370, self:CombineMobs(false,L["Swiftsteel Gloves Obt"],BZONE["Mana-Tombs"]),4,5)
- 	self:addTradeSkillSpell(29649, 370, self:CombineMobs(false,BBOSS["High Botanist Freywinn"],BZONE["The Botanica"]),4,5)
-	self:addTradeSkillSpell(29729, 375, self:CombineMobs(false,L["Greater Ward of Shielding Obt"],BZONE["Netherstorm"]),4)
-	self:addTradeSkillSpell(42662, 365, self:CombineMobs(false,L["Ragesteel Shoulders Obt"],BZONE["Shadowmoon Valley"]),4)
-	self:addTradeSkillSpell(16978, 280, self:CombineQuests(L["Blazing Rapier Obt"],0,BZONE["Stratholme"]),5,8)
-	self:addTradeSkillSpell(16973, 280, self:CombineQuests(L["Enchanted Battlehammer Obt"],0,BZONE["Stratholme"]),5,8)
-	self:addTradeSkillSpell(16970, 275, self:CombineQuests(L["Dawn's Edge Obt"],0,BZONE["Lower Blackrock Spire"]),5,8)
-
-	-- Seasonal
-	self:addTradeSkillSpell(21913, 190, L["WintersVeil"], 7)
-
-	-- Reputations
-	self:addTradeSkillSpell(23628, 290, self:AddSingleReputation(2, BFAC["Timbermaw Hold"]), BFAC["Timbermaw Hold"])
-	self:addTradeSkillSpell(23632, 290, self:AddSingleReputation(2, BFAC["Argent Dawn"]), BFAC["Argent Dawn"])
-	self:addTradeSkillSpell(23629, 300, self:AddSingleReputation(3, BFAC["Timbermaw Hold"]), BFAC["Timbermaw Hold"])
-	self:addTradeSkillSpell(23633, 300, self:AddSingleReputation(3, BFAC["Argent Dawn"]), BFAC["Argent Dawn"])
-	self:addTradeSkillSpell(24136, 300, self:AddSingleReputation(3, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24138, 300, self:AddSingleReputation(1, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24137, 300, self:AddSingleReputation(2, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24139, 300, self:AddSingleReputation(3, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24140, 300, self:AddSingleReputation(2, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24141, 300, self:AddSingleReputation(1, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(27585, 300, self:AddSingleReputation(1, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(27588, 300, self:AddSingleReputation(2, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(27586, 300, self:AddSingleReputation(3, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(20897, 300, self:AddSingleReputation(2, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(23653, 300, self:AddSingleReputation(4, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(28244, 300, self:AddSingleReputation(3, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6)
-	self:addTradeSkillSpell(28243, 300, self:AddSingleReputation(3, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6)
-	self:addTradeSkillSpell(28242, 300, self:AddSingleReputation(4, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6)
-	self:addTradeSkillSpell(23650, 300, self:AddSingleReputation(4, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(20890, 300, self:AddSingleReputation(2, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(23652, 300, self:AddSingleReputation(4, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(20876, 300, self:AddSingleReputation(4, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(20873, 300, self:AddSingleReputation(3, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(23636, 300, self:AddSingleReputation(2, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(23637, 300, self:AddSingleReputation(3, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(24399, 300, self:AddSingleReputation(4, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(20874, 295, self:AddSingleReputation(1, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(20872, 295, self:AddSingleReputation(2, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(23638, 300, self:AddSingleReputation(3, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(23639, 300, self:AddSingleReputation(3, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(28461, 300, self:AddSingleReputation(3, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(28462, 300, self:AddSingleReputation(2, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(28463, 300, self:AddSingleReputation(1, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(27590, 300, self:AddSingleReputation(4, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(29656, 350, self:AddSingleReputation(2, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(32285, 350, self:AddSingleReputation(2, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(34608, 350, self:AddSingleReputation(2, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(29614, 350, self:AddSingleReputation(1, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(29608, 355, self:AddSingleReputation(1, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(29611, 355, self:AddSingleReputation(2, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(29615, 355, self:AddSingleReputation(4, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(29610, 360, self:AddSingleReputation(3, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(29616, 360, self:AddSingleReputation(2, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(29657, 360, self:AddDoubleReputation(4, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(29613, 365, self:AddSingleReputation(4, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(29617, 365, self:AddSingleReputation(3, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(38473, 375, self:AddSingleReputation(4, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(38475, 375, self:AddSingleReputation(3, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(38476, 375, self:AddSingleReputation(3, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(38477, 375, self:AddSingleReputation(2, BFAC["The Violet Eye"]), 6)
-	self:addTradeSkillSpell(38478, 375, self:AddSingleReputation(3, BFAC["The Violet Eye"]), 6)
-	self:addTradeSkillSpell(38479, 375, self:AddSingleReputation(2, BFAC["The Violet Eye"]), 6)
- 	self:addTradeSkillSpell(40034, 375, self:AddSingleReputation(1, BFAC["Ashtongue Deathsworn"]), BFAC["Ashtongue Deathsworn"], 6)
-	self:addTradeSkillSpell(40036, 375, self:AddSingleReputation(1, BFAC["Ashtongue Deathsworn"]), BFAC["Ashtongue Deathsworn"], 6)
-	self:addTradeSkillSpell(40035, 375, self:AddSingleReputation(2, BFAC["Ashtongue Deathsworn"]), BFAC["Ashtongue Deathsworn"], 6)
-	self:addTradeSkillSpell(40033, 375, self:AddSingleReputation(2, BFAC["Ashtongue Deathsworn"]), BFAC["Ashtongue Deathsworn"], 6)
-
-	-- Raid Drops
-	self:addTradeSkillSpell(22757, 300, L["MOLTENCORE"],3,6)
-	self:addTradeSkillSpell(27589, 300, self:CombineMobs(false,BBOSS["Moam"],BZONE["Ruins of Ahn'Qiraj"]),3,6)
-	self:addTradeSkillSpell(27587, 300, self:CombineMobs(false,BBOSS["The Prophet Skeram"],BZONE["Temple of Ahn'Qiraj"]),3,6)
-	self:addTradeSkillSpell(36392, 375, L["SSC/TKBoE"],2,6)
-	self:addTradeSkillSpell(36389, 375, L["SSC/TKBoP"],3,6)
-	self:addTradeSkillSpell(36390, 375, L["SSC/TKBoP"],3,6)
-	self:addTradeSkillSpell(36391, 375, L["SSC/TKBoE"],2,6)
-	self:addTradeSkillSpell(41134, 375, L["BT/HYJALBoP"],3,6)
-	self:addTradeSkillSpell(41135, 375, L["BT/HYJALBoE"],2,6)
-	self:addTradeSkillSpell(41132, 375, L["BT/HYJALBoP"],3,6)
-	self:addTradeSkillSpell(41133, 375, L["BT/HYJALBoE"],2,6)
-	self:addTradeSkillSpell(46140, 365, L["SunwellBoP"],3,6)
-	self:addTradeSkillSpell(46141, 365, L["SunwellBoP"],3,6)
-	self:addTradeSkillSpell(46142, 365, L["SunwellBoE"],2,6)
-	self:addTradeSkillSpell(46144, 365, L["SunwellBoE"],2,6)
-
-	-- Weaponsmith
-	self:addTradeSkillSpell(36125, 260, L["Trainer"], GetSpellInfo(9787),1)
-	self:addTradeSkillSpell(36128, 260, L["Trainer"], GetSpellInfo(9787),1)
-	self:addTradeSkillSpell(36126, 260, L["Trainer"], GetSpellInfo(9787),1)
-	self:addTradeSkillSpell(15292, 265, self:CombineMobs(true,BBOSS["Grizzle"],BZONE["Blackrock Depths"]), 3,GetSpellInfo(9787),5)
-
-	-- Armorsmith
-	self:addTradeSkillSpell(36122, 260, L["Trainer"], GetSpellInfo(9788),1)
-	self:addTradeSkillSpell(36124, 260, L["Trainer"], GetSpellInfo(9788),1)
-	self:addTradeSkillSpell(36129, 330, L["Trainer"], GetSpellInfo(9788),1)
-	self:addTradeSkillSpell(36130, 330, L["Trainer"], GetSpellInfo(9788),1)
-	self:addTradeSkillSpell(34529, 350, L["Trainer"], GetSpellInfo(9788),1)
-	self:addTradeSkillSpell(34533, 350, L["Trainer"], GetSpellInfo(9788),1)
-	self:addTradeSkillSpell(34530, 375, L["Trainer"], GetSpellInfo(9788),1)
-	self:addTradeSkillSpell(36256, 375, L["Trainer"], GetSpellInfo(9788),1)
-	self:addTradeSkillSpell(34534, 375, L["Trainer"], GetSpellInfo(9788),1)
-	self:addTradeSkillSpell(36257, 375, L["Trainer"], GetSpellInfo(9788),1)
-
-	-- Master Swordsmith
-	self:addTradeSkillSpell(36131, 330, L["Trainer"], GetSpellInfo(17039),1)
-	self:addTradeSkillSpell(36133, 330, L["Trainer"], GetSpellInfo(17039),1)
-	self:addTradeSkillSpell(34535, 350, L["Trainer"], GetSpellInfo(17039),1)
-	self:addTradeSkillSpell(34538, 350, L["Trainer"], GetSpellInfo(17039),1)
-	self:addTradeSkillSpell(36258, 375, L["Trainer"], GetSpellInfo(17039),1)
-	self:addTradeSkillSpell(34537, 375, L["Trainer"], GetSpellInfo(17039),1)
-	self:addTradeSkillSpell(34540, 375, L["Trainer"], GetSpellInfo(17039),1)
-	self:addTradeSkillSpell(36259, 375, L["Trainer"], GetSpellInfo(17039),1)
-
-	-- Master Hammersmith
-	self:addTradeSkillSpell(36137, 330, L["Trainer"], GetSpellInfo(17040),1)
-	self:addTradeSkillSpell(36136, 330, L["Trainer"], GetSpellInfo(17040),1)
-	self:addTradeSkillSpell(34545, 350, L["Trainer"], GetSpellInfo(17040),1)
-	self:addTradeSkillSpell(34547, 350, L["Trainer"], GetSpellInfo(17040),1)
-	self:addTradeSkillSpell(34548, 375, L["Trainer"], GetSpellInfo(17040),1)
-	self:addTradeSkillSpell(34546, 375, L["Trainer"], GetSpellInfo(17040),1)
-	self:addTradeSkillSpell(36262, 375, L["Trainer"], GetSpellInfo(17040),1)
-	self:addTradeSkillSpell(36263, 375, L["Trainer"], GetSpellInfo(17040),1)
-
-	-- Master Axesmith
-	self:addTradeSkillSpell(36135, 330, L["Trainer"], GetSpellInfo(17041),1)
-	self:addTradeSkillSpell(36134, 330, L["Trainer"], GetSpellInfo(17041),1)
-	self:addTradeSkillSpell(34541, 350, L["Trainer"], GetSpellInfo(17041),1)
-	self:addTradeSkillSpell(34543, 350, L["Trainer"], GetSpellInfo(17041),1)
-	self:addTradeSkillSpell(34542, 375, L["Trainer"], GetSpellInfo(17041),1)
-	self:addTradeSkillSpell(36261, 375, L["Trainer"], GetSpellInfo(17041),1)
-	self:addTradeSkillSpell(34544, 375, L["Trainer"], GetSpellInfo(17041),1)
-	self:addTradeSkillSpell(36260, 375, L["Trainer"], GetSpellInfo(17041),1)
-
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+function addon:InitBlacksmithing(RecipeDB)
+
+	local recipecount = 0
+
+	-- Rough Sharpening Stone -- 2660
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2660, 1, 2862, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2660, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Copper Chain Belt -- 2661
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val61id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2661, 35, 2851, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2661, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 2661, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Copper Chain Pants -- 2662
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val83id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2662, 10, 2852, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2662, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 2662, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Copper Bracers -- 2663
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val35id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2663, 1, 2853, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2663, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	-- No acquire information
+
+	-- Runed Copper Bracers -- 2664
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val68id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2664, 90, 2854, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2664, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 2664, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Coarse Sharpening Stone -- 2665
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2665, 50, 2863, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2665, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2665, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Runed Copper Belt -- 2666
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val86id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2666, 70, 2857, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2666, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 2666, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Runed Copper Breastplate -- 2667
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val4id1val3id3val162id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2667, 80, 2864, 2, 2018)
+	self:addTradeFlags(RecipeDB, 2667, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 2667, 7, 2)
+
+	-- Rough Bronze Leggings -- 2668
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val5id3val4id5val149id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2668, 115, 2865, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2668, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 2668, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823)
+
+	-- Rough Bronze Cuirass -- 2670
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val168id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2670, 115, 2866, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2670, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 2670, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Rough Bronze Bracers -- 2671
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val4id3val77id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2671, 115, 2867, 2, 2018)
+	self:addTradeFlags(RecipeDB, 2671, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	-- No acquire information
+
+	-- Patterned Bronze Bracers -- 2672
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val5id1val80id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2672, 120, 2868, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2672, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 2672, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Silvered Bronze Breastplate -- 2673
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val5id1val5id3val4id5val186id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2673, 130, 2869, 2, 2018)
+	self:addTradeFlags(RecipeDB, 2673, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 2673, 7, 2)
+
+	-- Heavy Sharpening Stone -- 2674
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2674, 110, 2871, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2674, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2674, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Shining Silver Breastplate -- 2675
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val14id1val6id3val214id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2675, 145, 2870, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2675, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 2675, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Copper Mace -- 2737
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val6-11id7val2.2id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2737, 15, 2844, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2737, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,70)
+	self:addTradeAcquire(RecipeDB, 2737, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Copper Axe -- 2738
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val5-10id7val1.9id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2738, 20, 2845, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2738, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,68)
+	self:addTradeAcquire(RecipeDB, 2738, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Copper Shortsword -- 2739
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val5-11id7val2.1id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2739, 25, 2847, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2739, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,69)
+	self:addTradeAcquire(RecipeDB, 2739, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Bronze Mace -- 2740
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val18-34id7val2.6id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2740, 110, 2848, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2740, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,70)
+	self:addTradeAcquire(RecipeDB, 2740, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Bronze Axe -- 2741
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val15-29id7val2.1id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2741, 115, 2849, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2741, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,68)
+	self:addTradeAcquire(RecipeDB, 2741, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Bronze Shortsword -- 2742
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val16-31id7val2.1id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2742, 120, 2850, 1, 2018)
+	self:addTradeFlags(RecipeDB, 2742, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,69)
+	self:addTradeAcquire(RecipeDB, 2742, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Rough Weightstone -- 3115
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3115, 1, 3239, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3115, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Coarse Weightstone -- 3116
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3116, 50, 3240, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3116, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3116, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Heavy Weightstone -- 3117
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3117, 110, 3241, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3117, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3117, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Heavy Copper Broadsword -- 3292
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val6id3val27-41id7val2.7id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3292, 95, 3487, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3292, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,69)
+	self:addTradeAcquire(RecipeDB, 3292, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Copper Battle Axe -- 3293
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val3id3val23-35id7val3.2id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3293, 35, 3488, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3293, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,68)
+	self:addTradeAcquire(RecipeDB, 3293, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Thick War Axe -- 3294
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val1id1val1id3val15-28id7val2.5id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3294, 70, 3489, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3294, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,68)
+	self:addTradeAcquire(RecipeDB, 3294, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Deadly Bronze Poniard -- 3295
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Dagger,
+	-- Item Stats:
+	-- Item Stats: val4id2val16-30id7val1.8id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3295, 125, 3490, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3295, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,72)
+	self:addTradeAcquire(RecipeDB, 3295, 7, 2)
+
+	-- Heavy Bronze Mace -- 3296
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val4id1val25-47id7val2.8id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3296, 130, 3491, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3296, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,70)
+	self:addTradeAcquire(RecipeDB, 3296, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Mighty Iron Hammer -- 3297
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val5id1val30-57id7val2.8id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3297, 145, 3492, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3297, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,70)
+	self:addTradeAcquire(RecipeDB, 3297, 7, 2)
+
+	-- Copper Chain Boots -- 3319
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val65id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3319, 20, 3469, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3319, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 3319, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Rough Grinding Stone -- 3320
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3320, 5, 3470, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3320, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3320, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245)
+
+	-- Copper Chain Vest -- 3321
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val1id1val108id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3321, 35, 3471, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3321, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 3321, 7, 2)
+
+	-- Runed Copper Gauntlets -- 3323
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val73id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3323, 40, 3472, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3323, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 3323, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Runed Copper Pants -- 3324
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val2id1val2id3val113id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3324, 45, 3473, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3324, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 3324, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Gemmed Copper Gauntlets -- 3325
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val90id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3325, 60, 3474, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3325, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 3325, 7, 2)
+
+	-- Coarse Grinding Stone -- 3326
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3326, 50, 3478, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3326, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3326, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245)
+
+	-- Rough Bronze Shoulders -- 3328
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val124id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3328, 110, 3480, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3328, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 3328, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Silvered Bronze Shoulders -- 3330
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val3id1val3id3val3id5val137id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3330, 125, 3481, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3330, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 3330, 7, 2)
+
+	-- Silvered Bronze Boots -- 3331
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val4id1val4id3val3id5val128id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3331, 130, 3482, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3331, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 3331, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Silvered Bronze Gauntlets -- 3333
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val4id1val4id3val3id5val118id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3333, 135, 3483, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3333, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 3333, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Green Iron Boots -- 3334
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val3id1val7id3val134id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3334, 145, 3484, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3334, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 3334, 7, 2)
+
+	-- Green Iron Gauntlets -- 3336
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val5id1val6id3val124id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3336, 150, 3485, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3336, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 3336, 7, 2)
+
+	-- Heavy Grinding Stone -- 3337
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3337, 100, 3486, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3337, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3337, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823)
+
+	-- Big Bronze Knife -- 3491
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Dagger,
+	-- Item Stats:
+	-- Item Stats: val3id3val13-25id7val1.9id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3491, 105, 3848, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3491, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,72)
+	self:addTradeAcquire(RecipeDB, 3491, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Hardened Iron Shortsword -- 3492
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val5id3val21-39id7val1.8id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3492, 160, 3849, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3492, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,46,69)
+	self:addTradeAcquire(RecipeDB, 3492, 2, 2843, 2, 3356, 2, 5512)
+
+	-- Jade Serpentblade -- 3493
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val4id1val4id2val33-62id7val2.6id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3493, 175, 3850, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3493, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,69)
+	self:addTradeAcquire(RecipeDB, 3493, 7, 2)
+
+	-- Solid Iron Maul -- 3494
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val12id3val59-89id7val3.5id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3494, 155, 3851, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3494, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,46,70)
+	self:addTradeAcquire(RecipeDB, 3494, 2, 1471, 2, 8878, 2, 9179)
+
+	-- Golden Iron Destroyer -- 3495
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val11id1val4id3val50-76id7val2.75id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3495, 170, 3852, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3495, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,70)
+	self:addTradeAcquire(RecipeDB, 3495, 7, 2)
+
+	-- Moonsteel Broadsword -- 3496
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val4id3val12id5val55-83id7val2.8id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3496, 180, 3853, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3496, 1,4,21,22,23,24,25,26,27,28,29,30,36,40,46,69)
+	self:addTradeAcquire(RecipeDB, 3496, 2, 2482)
+
+	-- Frost Tiger Blade -- 3497
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val78-118id7val3.4id8val14id11val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3497, 200, 3854, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3497, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,69)
+	self:addTradeAcquire(RecipeDB, 3497, 7, 2)
+
+	-- Massive Iron Axe -- 3498
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val11id1val7id3val71-108id7val3.5id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3498, 185, 3855, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3498, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,46,68)
+	self:addTradeAcquire(RecipeDB, 3498, 2, 1146, 2, 2483)
+
+	-- Shadow Crescent Axe -- 3500
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val11id1val10id3val58-87id7val2.5id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3500, 200, 3856, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3500, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,68)
+	self:addTradeAcquire(RecipeDB, 3500, 7, 2)
+
+	-- Green Iron Bracers -- 3501
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val86id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3501, 165, 3835, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3501, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 3501, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823)
+
+	-- Green Iron Helm -- 3502
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val5id1val11id3val171id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3502, 170, 3836, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3502, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 3502, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Golden Scale Coif -- 3503
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val10id1val10id5val181id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3503, 190, 3837, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3503, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 3503, 2, 5411)
+
+	-- Green Iron Shoulders -- 3504
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val4id1val7id3val153id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3504, 160, 3840, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3504, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 3504, 7, 2)
+
+	-- Golden Scale Shoulders -- 3505
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val7id1val6id5val160id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3505, 175, 3841, 3, 2018)
+	self:addTradeFlags(RecipeDB, 3505, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 3505, 7, 3)
+
+	-- Green Iron Leggings -- 3506
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val8id1val8id3val176id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3506, 155, 3842, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3506, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 3506, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Golden Scale Leggings -- 3507
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val11id1val5id5val184id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3507, 170, 3843, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3507, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 3507, 7, 2)
+
+	-- Green Iron Hauberk -- 3508
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val7id1val11id3val358id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3508, 180, 3844, 1, 2018)
+	self:addTradeFlags(RecipeDB, 3508, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 3508, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Golden Scale Cuirass -- 3511
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val14id1val6id5val231id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3511, 195, 3845, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3511, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 3511, 7, 2)
+
+	-- Polished Steel Boots -- 3513
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val11id3val151id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3513, 185, 3846, 2, 2018)
+	self:addTradeFlags(RecipeDB, 3513, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 3513, 7, 2)
+
+	-- Golden Scale Boots -- 3515
+	-- Instance: 796 - type1category3maxlevel45territory4minlevel34nameScarlet Monasteryid796
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val8id1val8id5val159id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3515, 200, 3847, 3, 2018)
+	self:addTradeFlags(RecipeDB, 3515, 5,11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 3515, 3, 780, 3, 1096, 3, 1142, 3, 2569, 3, 4151, 3, 4295, 3, 5237, 3, 5419)
+
+	-- Pearl-handled Dagger -- 6517
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Dagger,
+	-- Item Stats:
+	-- Item Stats: val2id2val2id3val13-26id7val1.7id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6517, 110, 5540, 1, 2018)
+	self:addTradeFlags(RecipeDB, 6517, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,72)
+	self:addTradeAcquire(RecipeDB, 6517, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Iridescent Hammer -- 6518
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val3id1val3id3val18-34id7val1.8id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6518, 140, 5541, 2, 2018)
+	self:addTradeFlags(RecipeDB, 6518, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,70)
+	self:addTradeAcquire(RecipeDB, 6518, 7, 2)
+
+	-- Iron Shield Spike -- 7221
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7221, 150, 6042, 2, 2018)
+	self:addTradeFlags(RecipeDB, 7221, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7221, 7, 2)
+
+	-- Iron Counterweight -- 7222
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7222, 165, 6043, 2, 2018)
+	self:addTradeFlags(RecipeDB, 7222, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7222, 7, 2)
+
+	-- Golden Scale Bracers -- 7223
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val91id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7223, 185, 6040, 1, 2018)
+	self:addTradeFlags(RecipeDB, 7223, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 7223, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Steel Weapon Chain -- 7224
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7224, 190, 6041, 2, 2018)
+	self:addTradeFlags(RecipeDB, 7224, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7224, 7, 2)
+
+	-- Heavy Copper Maul -- 7408
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val21-32id7val2.8id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7408, 65, 6214, 1, 2018)
+	self:addTradeFlags(RecipeDB, 7408, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,70)
+	self:addTradeAcquire(RecipeDB, 7408, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Rough Bronze Boots -- 7817
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val106id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7817, 95, 6350, 1, 2018)
+	self:addTradeFlags(RecipeDB, 7817, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 7817, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Silver Rod -- 7818
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7818, 100, 6338, 1, 2018)
+	self:addTradeFlags(RecipeDB, 7818, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 7818, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823)
+
+	-- Ironforge Chain -- 8366
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val4id3val151id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8366, 70, 6730, 2, 2018)
+	self:addTradeFlags(RecipeDB, 8366, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	-- No acquire information
+
+	-- Ironforge Breastplate -- 8367
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val3id1val3id3val198id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8367, 100, 6731, 2, 2018)
+	self:addTradeFlags(RecipeDB, 8367, 1,8,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 8367, 4, 1618)
+
+	-- Ironforge Gauntlets -- 8368
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val170id6val12id9val12id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8368, 140, 6733, 2, 2018)
+	self:addTradeFlags(RecipeDB, 8368, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	-- No acquire information
+
+	-- Iron Buckle -- 8768
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8768, 145, 7071, 1, 2018)
+	self:addTradeFlags(RecipeDB, 8768, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 8768, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Copper Dagger -- 8880
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Dagger,
+	-- Item Stats:
+	-- Item Stats: val5-10id7val1.5id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8880, 30, 7166, 1, 2018)
+	self:addTradeFlags(RecipeDB, 8880, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,72)
+	self:addTradeAcquire(RecipeDB, 8880, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Barbaric Iron Shoulders -- 9811
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val6id1val6id2val153id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9811, 160, 7913, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9811, 2,8,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 9811, 4, 2752)
+
+	-- Barbaric Iron Breastplate -- 9813
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val12id1val204id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9813, 160, 7914, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9813, 2,8,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 9813, 4, 2751)
+
+	-- Barbaric Iron Helm -- 9814
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val9id1val9id2val173id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9814, 175, 7915, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9814, 2,8,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 9814, 4, 2754)
+
+	-- Barbaric Iron Boots -- 9818
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val7id1val7id2val149id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9818, 180, 7916, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9818, 2,8,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 9818, 4, 2753)
+
+	-- Barbaric Iron Gloves -- 9820
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val11id1val137id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9820, 185, 7917, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9820, 2,8,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 9820, 4, 2755)
+
+	-- Steel Breastplate -- 9916
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val381id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9916, 200, 7963, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9916, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 9916, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Solid Sharpening Stone -- 9918
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9918, 190, 7964, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9918, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 9918, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Solid Grinding Stone -- 9920
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9920, 190, 7966, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9920, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 9920, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823)
+
+	-- Solid Weightstone -- 9921
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9921, 190, 7965, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9921, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 9921, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Heavy Mithril Shoulder -- 9926
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val12id3val225id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9926, 205, 7918, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9926, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 9926, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Heavy Mithril Gauntlet -- 9928
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val8id3val268id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9928, 205, 7919, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9928, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 9928, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Mithril Scale Pants -- 9931
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Tanking,
+	-- Item Stats: val11id5val208id6val12id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9931, 210, 7920, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9931, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,52,58)
+	self:addTradeAcquire(RecipeDB, 9931, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Heavy Mithril Pants -- 9933
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val11id3val417id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9933, 210, 7921, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9933, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 9933, 7, 2)
+
+	-- Steel Plate Helm -- 9935
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val355id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9935, 215, 7922, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9935, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 9935, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Mithril Scale Bracers -- 9937
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val6id3val7id5val106id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9937, 215, 7924, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9937, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 9937, 2, 8161, 2, 8176)
+
+	-- Mithril Shield Spike -- 9939
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9939, 215, 7967, 3, 2018)
+	self:addTradeFlags(RecipeDB, 9939, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 9939, 7, 3)
+
+	-- Mithril Scale Gloves -- 9942
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val9id3val10id5val153id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9942, 220, 7925, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9942, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	-- No acquire information
+
+	-- Ornate Mithril Pants -- 9945
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id1val375id6val12id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9945, 220, 7926, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9945, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	self:addTradeAcquire(RecipeDB, 9945, 4, 2761)
+
+	-- Ornate Mithril Gloves -- 9950
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val268id6val14id11val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9950, 220, 7927, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9950, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 9950, 4, 2762)
+
+	-- Ornate Mithril Shoulder -- 9952
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val5id1val327id6val12id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9952, 225, 7928, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9952, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	self:addTradeAcquire(RecipeDB, 9952, 4, 2763)
+
+	-- Truesilver Gauntlets -- 9954
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val16id1val7id3val300id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9954, 225, 7938, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9954, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 9954, 1, 5164, 1, 7230, 1, 11177, 1, 20125)
+
+	-- Orcish War Leggings -- 9957
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val17id1val208id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9957, 230, 7929, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9957, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	-- No acquire information
+
+	-- Heavy Mithril Breastplate -- 9959
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val15id3val536id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9959, 230, 7930, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9959, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 9959, 1, 2836, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Mithril Coif -- 9961
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val12id3val13id5val206id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9961, 230, 7931, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9961, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 9961, 1, 2836, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Mithril Spurs -- 9964
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9964, 235, 7969, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9964, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 9964, 7, 2)
+
+	-- Mithril Scale Shoulders -- 9966
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val10id3val10id5val194id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9966, 235, 7932, 3, 2018)
+	self:addTradeFlags(RecipeDB, 9966, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 9966, 7, 3)
+
+	-- Heavy Mithril Boots -- 9968
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val12id3val382id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9968, 235, 7933, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9968, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 9968, 1, 2836, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Heavy Mithril Helm -- 9970
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val15id3val469id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9970, 235, 7934, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9970, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 9970, 7, 2)
+
+	-- Ornate Mithril Breastplate -- 9972
+	-- Trainer
+	-- Flags: All classes, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9972, 240, 7935, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9972, 3,21,22,23,24,25,26,27,28,29,30,41)
+	-- No acquire information
+
+	-- Truesilver Breastplate -- 9974
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val12id3val519id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9974, 245, 7939, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9974, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 9974, 1, 5164, 1, 7230, 1, 11177, 1, 20125)
+
+	-- Ornate Mithril Boots -- 9979
+	-- Trainer
+	-- Flags: All classes, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9979, 245, 7936, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9979, 3,21,22,23,24,25,26,27,28,29,30,41)
+	-- No acquire information
+
+	-- Ornate Mithril Helm -- 9980
+	-- Trainer
+	-- Flags: All classes, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9980, 245, 7937, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9980, 3,21,22,23,24,25,26,27,28,29,30,41)
+	-- No acquire information
+
+	-- Copper Claymore -- 9983
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val15-23id7val3id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9983, 30, 7955, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9983, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,69)
+	self:addTradeAcquire(RecipeDB, 9983, 1, 514, 1, 957, 1, 1241, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3174, 1, 3355, 1, 3478, 1, 3557, 1, 4258, 1, 4596, 1, 4605, 1, 5511, 1, 6299, 1, 10266, 1, 10276, 1, 10277, 1, 10278, 1, 15400, 1, 16583, 1, 16669, 1, 16671, 1, 16724, 1, 16740, 1, 16823, 1, 17245, 1, 19341)
+
+	-- Bronze Warhammer -- 9985
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val37-57id7val3.1id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9985, 125, 7956, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9985, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,70)
+	self:addTradeAcquire(RecipeDB, 9985, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Bronze Greatsword -- 9986
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val38-58id7val3id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9986, 130, 7957, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9986, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,69)
+	self:addTradeAcquire(RecipeDB, 9986, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Bronze Battle Axe -- 9987
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val39-59id7val2.9id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9987, 135, 7958, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9987, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,68)
+	self:addTradeAcquire(RecipeDB, 9987, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Heavy Mithril Axe -- 9993
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val7id3val45-85id7val2.7id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9993, 210, 7941, 1, 2018)
+	self:addTradeFlags(RecipeDB, 9993, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,68)
+	self:addTradeAcquire(RecipeDB, 9993, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Blue Glittering Axe -- 9995
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val8id2val32-61id7val1.8id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9995, 220, 7942, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9995, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,68)
+	self:addTradeAcquire(RecipeDB, 9995, 7, 2)
+
+	-- Wicked Mithril Blade -- 9997
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val6id1val4id2val43-80id7val2.3id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9997, 225, 7943, 2, 2018)
+	self:addTradeFlags(RecipeDB, 9997, 10,21,22,23,24,25,26,27,28,29,30,36,41,46,69)
+	self:addTradeAcquire(RecipeDB, 9997, 7, 2)
+
+	-- Big Black Mace -- 10001
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val8id1val46-86id7val2.4id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10001, 230, 7945, 1, 2018)
+	self:addTradeFlags(RecipeDB, 10001, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,70)
+	self:addTradeAcquire(RecipeDB, 10001, 1, 2836, 1, 16583, 1, 16823, 1, 19341)
+
+	-- The Shatterer -- 10003
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val53-99id7val2.4id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10003, 235, 7954, 1, 2018)
+	self:addTradeFlags(RecipeDB, 10003, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,70)
+	self:addTradeAcquire(RecipeDB, 10003, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Dazzling Mithril Rapier -- 10005
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val8id2val34-63id7val1.7id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10005, 240, 7944, 2, 2018)
+	self:addTradeFlags(RecipeDB, 10005, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,69)
+	self:addTradeAcquire(RecipeDB, 10005, 7, 2)
+
+	-- Phantom Blade -- 10007
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val59-111id7val2.6id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10007, 245, 7961, 1, 2018)
+	self:addTradeFlags(RecipeDB, 10007, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,69)
+	self:addTradeAcquire(RecipeDB, 10007, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Runed Mithril Hammer -- 10009
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val7id1val4id3val41-76id7val2id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10009, 245, 7946, 3, 2018)
+	self:addTradeFlags(RecipeDB, 10009, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,70)
+	self:addTradeAcquire(RecipeDB, 10009, 7, 3)
+
+	-- Blight -- 10011
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Polearm,
+	-- Item Stats:
+	-- Item Stats: val93-141id7val2.7id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10011, 250, 7959, 1, 2018)
+	self:addTradeFlags(RecipeDB, 10011, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,71)
+	self:addTradeAcquire(RecipeDB, 10011, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Ebon Shiv -- 10013
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Dagger,
+	-- Item Stats:
+	-- Item Stats: val9id2val32-59id7val1.5id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10013, 255, 7947, 1, 2018)
+	self:addTradeFlags(RecipeDB, 10013, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,46,72)
+	self:addTradeAcquire(RecipeDB, 10013, 2, 11278)
+
+	-- Truesilver Champion -- 10015
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val108-162id7val3id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10015, 260, 7960, 1, 2018)
+	self:addTradeFlags(RecipeDB, 10015, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,69)
+	self:addTradeAcquire(RecipeDB, 10015, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Inlaid Mithril Cylinder -- 11454
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11454, 200, 9060, 1, 2018)
+	self:addTradeFlags(RecipeDB, 11454, 1,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 11454, 1, 7406, 1, 7944)
+
+	-- Golden Scale Gauntlets -- 11643
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val11id1val4id5val146id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 11643, 205, 9366, 2, 2018)
+	self:addTradeFlags(RecipeDB, 11643, 1,8,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 11643, 4, 2758)
+
+	-- Silvered Bronze Leggings -- 12259
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val7id1val6id3val6id5val176id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12259, 155, 10423, 2, 2018)
+	self:addTradeFlags(RecipeDB, 12259, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 12259, 7, 2)
+
+	-- Rough Copper Vest -- 12260
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val81id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12260, 1, 10421, 1, 2018)
+	self:addTradeFlags(RecipeDB, 12260, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	-- No acquire information
+
+	-- Golden Rod -- 14379
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 14379, 150, 11128, 1, 2018)
+	self:addTradeFlags(RecipeDB, 14379, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 14379, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Truesilver Rod -- 14380
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 14380, 200, 11144, 1, 2018)
+	self:addTradeFlags(RecipeDB, 14380, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 14380, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Dark Iron Pulverizer -- 15292
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val140-211id7val3.7id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15292, 265, 11608, 3, 2018)
+	self:addTradeFlags(RecipeDB, 15292, 5,21,22,23,24,25,26,27,28,29,30,36,40,46,70)
+	self:addTradeAcquire(RecipeDB, 15292, 3, 9028)
+
+	-- Dark Iron Mail -- 15293
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val13id3val433id6val12id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15293, 270, 11606, 2, 2018)
+	self:addTradeFlags(RecipeDB, 15293, 5,11,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 15293, 3, 8900, 3, 8901, 3, 8907, 3, 8911, 3, 8920, 3, 8983)
+
+	-- Dark Iron Sunderer -- 15294
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val101-153id7val2.6id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15294, 275, 11607, 3, 2018)
+	self:addTradeFlags(RecipeDB, 15294, 5,21,22,23,24,25,26,27,28,29,30,36,40,46,68)
+	self:addTradeAcquire(RecipeDB, 15294, 3, 9554, 3, 10043)
+
+	-- Dark Iron Shoulders -- 15295
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val10id3val514id6val10id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15295, 280, 11605, 2, 2018)
+	self:addTradeFlags(RecipeDB, 15295, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 15295, 3, 8891, 3, 8894, 3, 8899)
+
+	-- Dark Iron Plate -- 15296
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val12id3val817id6val19id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15296, 285, 11604, 3, 2018)
+	self:addTradeFlags(RecipeDB, 15296, 5,21,22,23,24,25,26,27,28,29,30,37,41,47,59)
+	self:addTradeAcquire(RecipeDB, 15296, 3, 9543)
+
+	-- Glinting Steel Dagger -- 15972
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Dagger, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val19-37id7val1.5id8val12id9val12id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15972, 180, 12259, 1, 2018)
+	self:addTradeFlags(RecipeDB, 15972, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,47,63,72)
+	self:addTradeAcquire(RecipeDB, 15972, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Searing Golden Blade -- 15973
+	-- Instance: 1337 - type1category3maxlevel47territory1minlevel39nameUldamanid1337
+	-- Instance: 796 - type1category3maxlevel45territory4minlevel34nameScarlet Monasteryid796
+	-- Instance: 796 - type1category3maxlevel45territory4minlevel34nameScarlet Monasteryid796
+	-- Instance: 796 - type1category3maxlevel45territory4minlevel34nameScarlet Monasteryid796
+	-- Instance: 1176 - type1category3maxlevel47territory1minlevel43nameZul'Farrakid1176
+	-- Instance: 1176 - type1category3maxlevel47territory1minlevel43nameZul'Farrakid1176
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Dagger, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val21-39id7val1.4id8val10id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15973, 190, 12260, 2, 2018)
+	self:addTradeFlags(RecipeDB, 15973, 5,11,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,72)
+	self:addTradeAcquire(RecipeDB, 15973, 3, 2246, 3, 2584, 3, 2732, 3, 4295, 3, 4298, 3, 4300, 3, 7078, 3, 7272, 3, 8138)
+
+	-- Dense Grinding Stone -- 16639
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16639, 250, 12644, 1, 2018)
+	self:addTradeFlags(RecipeDB, 16639, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 16639, 1, 2836, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Dense Weightstone -- 16640
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16640, 250, 12643, 1, 2018)
+	self:addTradeFlags(RecipeDB, 16640, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 16640, 1, 2836, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Dense Sharpening Stone -- 16641
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16641, 250, 12404, 1, 2018)
+	self:addTradeFlags(RecipeDB, 16641, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 16641, 1, 2836, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Thorium Armor -- 16642
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val480id6val8id32val8id33val8id34val8id35val8id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16642, 250, 12405, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16642, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 16642, 7, 2)
+
+	-- Thorium Belt -- 16643
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val270id6val6id32val6id33val6id34val6id35val6id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16643, 250, 12406, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16643, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 16643, 7, 2)
+
+	-- Thorium Bracers -- 16644
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val214id6val5id32val5id33val5id34val5id35val5id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16644, 255, 12408, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16644, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 16644, 7, 2)
+
+	-- Radiant Belt -- 16645
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val159id6val12id35val12id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16645, 260, 12416, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16645, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 16645, 7, 2)
+
+	-- Imperial Plate Shoulders -- 16646
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val12id1val11id3val380id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16646, 265, 12428, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16646, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 16646, 4, 7659)
+
+	-- Imperial Plate Belt -- 16647
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val12id1val11id3val285id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16647, 265, 12424, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16647, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 16647, 4, 7653)
+
+	-- Radiant Breastplate -- 16648
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val293id6val16id35val16id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16648, 270, 12415, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16648, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 16648, 7, 2)
+
+	-- Imperial Plate Bracers -- 16649
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val9id1val8id3val225id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16649, 270, 12425, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16649, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 16649, 4, 7655)
+
+	-- Wildthorn Mail -- 16650
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val5id3val11id5val322id6val34id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16650, 270, 12624, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16650, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 16650, 7, 2)
+
+	-- Thorium Shield Spike -- 16651
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16651, 275, 12645, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16651, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 16651, 7, 2)
+
+	-- Thorium Boots -- 16652
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val367id6val7id32val7id33val7id34val7id35val7id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16652, 280, 12409, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16652, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 16652, 7, 2)
+
+	-- Thorium Helm -- 16653
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val434id6val10id32val10id33val10id34val10id35val10id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16653, 280, 12410, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16653, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 16653, 7, 2)
+
+	-- Radiant Gloves -- 16654
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val192id6val12id35val12id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16654, 285, 12418, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16654, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 16654, 7, 2)
+
+	-- Fiery Plate Gauntlets -- 16655
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val379id6val10id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16655, 290, 12631, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16655, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 16655, 4, 5124)
+
+	-- Radiant Boots -- 16656
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val215id6val15id35val15id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16656, 290, 12419, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16656, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 16656, 7, 2)
+
+	-- Imperial Plate Boots -- 16657
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val13id1val12id3val386id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16657, 295, 12426, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16657, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 16657, 4, 7654)
+
+	-- Imperial Plate Helm -- 16658
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val18id1val17id3val456id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16658, 295, 12427, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16658, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 16658, 4, 7657)
+
+	-- Radiant Circlet -- 16659
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val258id6val18id35val18id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16659, 295, 12417, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16659, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 16659, 7, 2)
+
+	-- Dawnbringer Shoulders -- 16660
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats: Healing,
+	-- Item Stats: val10id5val455id6val15id19val44id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16660, 290, 12625, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16660, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,53,59)
+	self:addTradeAcquire(RecipeDB, 16660, 7, 3)
+
+	-- Storm Gauntlets -- 16661
+	-- World Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val7id4val218id6val21id19val10id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16661, 295, 12632, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16661, 1,2,4,10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 16661, 7, 3, 2, 11278)
+
+	-- Thorium Leggings -- 16662
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val499id6val10id32val10id33val10id34val10id35val10id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16662, 300, 12414, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16662, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 16662, 7, 2)
+
+	-- Imperial Plate Chest -- 16663
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val18id1val17id3val570id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16663, 300, 12422, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16663, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 16663, 4, 7656)
+
+	-- Runic Plate Shoulders -- 16664
+	-- Trainer
+	-- Flags: All classes, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16664, 300, 12610, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16664, 3,21,22,23,24,25,26,27,28,29,30,41)
+	-- No acquire information
+
+	-- Runic Plate Boots -- 16665
+	-- Trainer
+	-- Flags: All classes, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16665, 300, 12611, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16665, 3,21,22,23,24,25,26,27,28,29,30,41)
+	-- No acquire information
+
+	-- Demon Forged Breastplate -- 16667
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val12id3val597id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16667, 285, 12628, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16667, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 16667, 4, 5127)
+
+	-- Whitesoul Helm -- 16724
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats: Healing,
+	-- Item Stats: val15id4val15id5val629id6val12id19val35id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16724, 300, 12633, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16724, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,53,59)
+	self:addTradeAcquire(RecipeDB, 16724, 7, 3)
+
+	-- Radiant Leggings -- 16725
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val286id6val18id35val18id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16725, 300, 12420, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16725, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 16725, 7, 2)
+
+	-- Runic Plate Helm -- 16726
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val621id6val13id33val13id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16726, 300, 12612, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16726, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 16726, 3, 4364)
+
+	-- Helm of the Great Chief -- 16728
+	-- Raid: 2159 - Onyxia's Lair
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val12id3val30id5val292id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16728, 300, 12636, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16728, 6,11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 16728, 3, 6109, 3, 10184, 3, 14887, 3, 14888, 3, 14890)
+
+	-- Lionheart Helm -- 16729
+	-- Raid: 2677 - Blackwing Lair
+	-- Raid: 2159 - Onyxia's Lair
+	-- Instance: 3714 - type5category3territory1expansion1minlevel70nameHellfire Citadel: The Shattered Hallsid3714
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val18id1val645id6val28id11val20id17val28id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16729, 300, 12640, 4, 2018)
+	self:addTradeFlags(RecipeDB, 16729, 5,6,11,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 16729, 3, 6109, 3, 6560, 3, 10184, 3, 11583, 3, 14888, 3, 17694)
+
+	-- Imperial Plate Leggings -- 16730
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val18id1val18id3val507id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16730, 300, 12429, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16730, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 16730, 4, 7658)
+
+	-- Runic Breastplate -- 16731
+	-- Trainer
+	-- Flags: All classes, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16731, 300, 12613, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16731, 3,21,22,23,24,25,26,27,28,29,30,41)
+	-- No acquire information
+
+	-- Runic Plate Leggings -- 16732
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val665id6val14id33val14id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16732, 300, 12614, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16732, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 16732, 3, 1885)
+
+	-- Stronghold Gauntlets -- 16741
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2159 - Onyxia's Lair
+	-- Instance: 2057 - type1category3maxlevel60territory1minlevel58nameScholomanceid2057
+	-- Raid: 3428 - Ahn'Qiraj
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id3val504id6val14id11val14id18val20id27
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16741, 300, 12639, 4, 2018)
+	self:addTradeFlags(RecipeDB, 16741, 5,6,11,21,22,23,24,25,26,27,28,29,30,36,40,47,52,59)
+	self:addTradeAcquire(RecipeDB, 16741, 3, 5107, 3, 6109, 3, 10184, 3, 10500, 3, 11658, 3, 14887, 3, 14889, 3, 15233)
+
+	-- Enchanted Thorium Helm -- 16742
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id1val25id3val526id6val13id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16742, 300, 12620, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16742, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	self:addTradeAcquire(RecipeDB, 16742, 4, 7651)
+
+	-- Enchanted Thorium Leggings -- 16744
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val20id1val21id3val575id6val12id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16744, 300, 12619, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16744, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	self:addTradeAcquire(RecipeDB, 16744, 4, 7650)
+
+	-- Enchanted Thorium Breastplate -- 16745
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id1val26id3val657id6val13id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16745, 300, 12618, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16745, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	self:addTradeAcquire(RecipeDB, 16745, 4, 7649)
+
+	-- Invulnerable Mail -- 16746
+	-- Raid: 2677 - Blackwing Lair
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Raid: 2159 - Onyxia's Lair
+	-- Instance: 2057 - type1category3maxlevel60territory1minlevel58nameScholomanceid2057
+	-- Raid: 1977 - Zul'Gurub
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats: Tanking,
+	-- Item Stats: val611id6val20id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16746, 300, 12641, 4, 2018)
+	self:addTradeFlags(RecipeDB, 16746, 5,6,11,21,22,23,24,25,26,27,28,29,30,36,40,47,52,58)
+	self:addTradeAcquire(RecipeDB, 16746, 3, 10184, 3, 10508, 3, 10899, 3, 11370, 3, 11583, 3, 14887, 3, 14890, 3, 19034)
+
+	-- Thorium Greatsword -- 16960
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val22id1val116-175id7val3.6id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16960, 260, 12764, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16960, 3,21,22,23,24,25,26,27,28,29,30,36,41,46,69)
+	-- No acquire information
+
+	-- Bleakwood Hew -- 16965
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val11id1val5id3val100-151id7val2.7id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16965, 270, 12769, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16965, 3,21,22,23,24,25,26,27,28,29,30,36,41,46,68)
+	-- No acquire information
+
+	-- Inlaid Thorium Hammer -- 16967
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val23id1val100-151id7val3id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16967, 270, 12772, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16967, 3,21,22,23,24,25,26,27,28,29,30,36,41,46,70)
+	-- No acquire information
+
+	-- Ornate Thorium Handaxe -- 16969
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val10id1val43-81id7val1.9id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16969, 275, 12773, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16969, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,46,68)
+	self:addTradeAcquire(RecipeDB, 16969, 2, 11278)
+
+	-- Dawn's Edge -- 16970
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val53-100id7val2.1id8val14id11val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16970, 275, 12774, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16970, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 16970, 4, 5306)
+
+	-- Huge Thorium Battleaxe -- 16971
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val114-172id7val3.3id8val24id12
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16971, 280, 12775, 1, 2018)
+	self:addTradeFlags(RecipeDB, 16971, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 16971, 2, 11278)
+
+	-- Enchanted Battlehammer -- 16973
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace, Armor, Trinket,
+	-- Item Stats: Tanking,
+	-- Item Stats: val100-150id7val2.6id8val20id17val20id27
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16973, 280, 12776, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16973, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,40,46,47,52,63,70)
+	self:addTradeAcquire(RecipeDB, 16973, 4, 5305)
+
+	-- Blazing Rapier -- 16978
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val44-82id7val1.7id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16978, 280, 12777, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16978, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,40,46,69)
+	self:addTradeAcquire(RecipeDB, 16978, 4, 5307)
+
+	-- Rune Edge -- 16980
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val5id1val5id2val5id3val54-102id7val2.3id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16980, 285, 12779, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16980, 3,21,22,23,24,25,26,27,28,29,30,37,41,46,68)
+	-- No acquire information
+
+	-- Serenity -- 16983
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val52-98id7val2id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16983, 285, 12781, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16983, 21,22,23,24,25,26,27,28,29,30,36,40,46,70)
+	-- No acquire information
+
+	-- Volcanic Hammer -- 16984
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val60-113id7val2.5id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16984, 290, 12792, 2, 2018)
+	self:addTradeFlags(RecipeDB, 16984, 11,21,22,23,24,25,26,27,28,29,30,36,40,46,70)
+	self:addTradeAcquire(RecipeDB, 16984, 3, 10119)
+
+	-- Corruption -- 16985
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val30id1val30id3val-40id5val119-179id7val3id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16985, 290, 12782, 1, 2018)
+	self:addTradeFlags(RecipeDB, 16985, 21,22,23,24,25,26,27,28,29,30,37,41,46,69)
+	-- No acquire information
+
+	-- Blood Talon -- 16986
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Fist,
+	-- Item Stats:
+	-- Item Stats: val35-67id7val1.3id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16986, 300, 12795, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16986, 3,21,22,23,24,25,26,27,28,29,30,37,41,46,79)
+	-- No acquire information
+
+	-- Darkspear -- 16987
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Polearm,
+	-- Item Stats:
+	-- Item Stats: val131-197id7val3.2id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16987, 300, 12802, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16987, 3,21,22,23,24,25,26,27,28,29,30,36,41,46,71)
+	-- No acquire information
+
+	-- Hammer of the Titans -- 16988
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val15id1val163-246id7val3.8id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16988, 300, 12796, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16988, 5,21,22,23,24,25,26,27,28,29,30,36,40,46,70)
+	self:addTradeAcquire(RecipeDB, 16988, 3, 10438)
+
+	-- Arcanite Champion -- 16990
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val129-194id7val3id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16990, 300, 12790, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16990, 5,21,22,23,24,25,26,27,28,29,30,36,40,46,69)
+	self:addTradeAcquire(RecipeDB, 16990, 3, 10899)
+
+	-- Annihilator -- 16991
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val49-92id7val1.7id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16991, 300, 12798, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16991, 5,21,22,23,24,25,26,27,28,29,30,36,40,46,68)
+	self:addTradeAcquire(RecipeDB, 16991, 3, 9736)
+
+	-- Frostguard -- 16992
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val66-124id7val2.3id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16992, 300, 12797, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16992, 11,21,22,23,24,25,26,27,28,29,30,36,40,46,69)
+	self:addTradeAcquire(RecipeDB, 16992, 3, 1844)
+
+	-- Masterwork Stormhammer -- 16993
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val58-108id7val2id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16993, 300, 12794, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16993, 5,21,22,23,24,25,26,27,28,29,30,36,40,46,70)
+	self:addTradeAcquire(RecipeDB, 16993, 3, 10899)
+
+	-- Arcanite Reaper -- 16994
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val13id3val153-256id7val3.8id8val62id9val62id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16994, 300, 12784, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16994, 5,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 16994, 3, 9596)
+
+	-- Heartseeker -- 16995
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Dagger, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val4id1val49-92id7val1.7id8val14id11val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16995, 300, 12783, 3, 2018)
+	self:addTradeFlags(RecipeDB, 16995, 5,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,72)
+	self:addTradeAcquire(RecipeDB, 16995, 3, 10997)
+
+	-- Silver Skeleton Key -- 19666
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19666, 80, 15869, 1, 2018)
+	self:addTradeFlags(RecipeDB, 19666, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 19666, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Golden Skeleton Key -- 19667
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19667, 130, 15870, 1, 2018)
+	self:addTradeFlags(RecipeDB, 19667, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 19667, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Truesilver Skeleton Key -- 19668
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19668, 180, 15871, 1, 2018)
+	self:addTradeFlags(RecipeDB, 19668, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 19668, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Arcanite Skeleton Key -- 19669
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19669, 265, 15872, 1, 2018)
+	self:addTradeFlags(RecipeDB, 19669, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 19669, 1, 2836, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Arcanite Rod -- 20201
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20201, 265, 16206, 1, 2018)
+	self:addTradeFlags(RecipeDB, 20201, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 20201, 1, 2836, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Fiery Chain Girdle -- 20872
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val10id3val9id4val8id5val245id6val24id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20872, 295, 16989, 3, 2018)
+	self:addTradeFlags(RecipeDB, 20872, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 20872, 2, 12944)
+
+	-- Fiery Chain Shoulders -- 20873
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val10id3val14id4val341id6val25id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20873, 300, 16988, 3, 2018)
+	self:addTradeFlags(RecipeDB, 20873, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 20873, 2, 12944)
+
+	-- Dark Iron Bracers -- 20874
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val7id3val436id6val18id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20874, 295, 17014, 3, 2018)
+	self:addTradeFlags(RecipeDB, 20874, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 20874, 2, 12944)
+
+	-- Dark Iron Leggings -- 20876
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val14id3val863id6val30id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20876, 300, 17013, 3, 2018)
+	self:addTradeFlags(RecipeDB, 20876, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 20876, 2, 12944)
+
+	-- Dark Iron Reaver -- 20890
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val10id3val71-134id7val2.4id8val6id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20890, 300, 17015, 3, 2018)
+	self:addTradeFlags(RecipeDB, 20890, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,46,69)
+	self:addTradeAcquire(RecipeDB, 20890, 2, 12944)
+
+	-- Dark Iron Destroyer -- 20897
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val10id1val71-134id7val2.4id8val6id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20897, 300, 17016, 3, 2018)
+	self:addTradeFlags(RecipeDB, 20897, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,46,68)
+	self:addTradeAcquire(RecipeDB, 20897, 2, 12944)
+
+	-- Sulfuron Hammer -- 21161
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val176-295id7val3.7id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 21161, 300, 17193, 4, 2018)
+	self:addTradeFlags(RecipeDB, 21161, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,40,46,70)
+	self:addTradeAcquire(RecipeDB, 21161, 4, 7604)
+
+	-- Edge of Winter -- 21913
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe, Seasonal,
+	-- Item Stats:
+	-- Item Stats: val3id3val30-56id7val2.1id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 21913, 190, 17704, 2, 2018)
+	self:addTradeFlags(RecipeDB, 21913, 3,7,21,22,23,24,25,26,27,28,29,30,36,41,46,68)
+	self:addTradeAcquire(RecipeDB, 21913, 5, 1)
+
+	-- Elemental Sharpening Stone -- 22757
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22757, 280, 18262, 3, 2018)
+	self:addTradeFlags(RecipeDB, 22757, 6,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 22757, 3, 11982, 3, 11988, 3, 12056, 3, 12057, 3, 12118, 3, 12259, 3, 12264)
+
+	-- Heavy Timbermaw Belt -- 23628
+	-- Timbermaw Hold - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val9id3val193id6val42id9val42id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23628, 290, 19043, 1, 2018)
+	self:addTradeFlags(RecipeDB, 23628, 4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,99)
+	self:addTradeAcquire(RecipeDB, 23628, 6, 576, 2, 11557)
+
+	-- Heavy Timbermaw Boots -- 23629
+	-- Timbermaw Hold - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val23id3val258id6val20id9val20id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23629, 300, 19048, 1, 2018)
+	self:addTradeFlags(RecipeDB, 23629, 4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,99)
+	self:addTradeAcquire(RecipeDB, 23629, 6, 576, 3, 11557)
+
+	-- Girdle of the Dawn -- 23632
+	-- Argent Dawn - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val21id1val9id3val341id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23632, 290, 19051, 1, 2018)
+	self:addTradeFlags(RecipeDB, 23632, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,59,96)
+	self:addTradeAcquire(RecipeDB, 23632, 6, 529, 2, 10856, 6, 529, 2, 10857, 6, 529, 2, 11536)
+
+	-- Gloves of the Dawn -- 23633
+	-- Argent Dawn - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val23id1val10id3val417id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23633, 300, 19057, 1, 2018)
+	self:addTradeFlags(RecipeDB, 23633, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,59,96)
+	self:addTradeAcquire(RecipeDB, 23633, 6, 529, 3, 10856, 6, 529, 3, 10857, 6, 529, 3, 11536)
+
+	-- Dark Iron Helm -- 23636
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val20id3val845id6val35id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23636, 300, 19148, 1, 2018)
+	self:addTradeFlags(RecipeDB, 23636, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 23636, 2, 12944)
+
+	-- Dark Iron Gauntlets -- 23637
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val12id2val16id3val565id6val28id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23637, 300, 19164, 1, 2018)
+	self:addTradeFlags(RecipeDB, 23637, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 23637, 2, 12944)
+
+	-- Black Amnesty -- 23638
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Dagger,
+	-- Item Stats:
+	-- Item Stats: val53-100id7val1.6id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23638, 300, 19166, 1, 2018)
+	self:addTradeFlags(RecipeDB, 23638, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,46,72)
+	self:addTradeAcquire(RecipeDB, 23638, 2, 12944)
+
+	-- Blackfury -- 23639
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Polearm, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val35id1val15id3val105-158id7val2.1id8val14id11val14id18val10id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23639, 300, 19167, 1, 2018)
+	self:addTradeFlags(RecipeDB, 23639, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,46,47,63,71)
+	self:addTradeAcquire(RecipeDB, 23639, 2, 12944)
+
+	-- Ebon Hand -- 23650
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val9id3val90-168id7val2.5id8val7id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23650, 300, 19170, 1, 2018)
+	self:addTradeFlags(RecipeDB, 23650, 3,21,22,23,24,25,26,27,28,29,30,36,41,46,70)
+	-- No acquire information
+
+	-- Blackguard -- 23652
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Sword, Armor, Trinket,
+	-- Item Stats: Tanking,
+	-- Item Stats: val9id3val65-121id7val1.8id8val20id27
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23652, 300, 19168, 1, 2018)
+	self:addTradeFlags(RecipeDB, 23652, 3,21,22,23,24,25,26,27,28,29,30,36,41,46,47,52,63,69)
+	-- No acquire information
+
+	-- Nightfall -- 23653
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val187-282id7val3.5id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23653, 300, 19169, 1, 2018)
+	self:addTradeFlags(RecipeDB, 23653, 3,21,22,23,24,25,26,27,28,29,30,36,41,46,68)
+	-- No acquire information
+
+	-- Bloodsoul Breastplate -- 24136
+	-- Zandalar Tribe - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val9id2val13id3val381id6val28id11val28id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24136, 300, 19690, 1, 2018)
+	self:addTradeFlags(RecipeDB, 24136, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,100)
+	self:addTradeAcquire(RecipeDB, 24136, 6, 270, 3, 14921)
+
+	-- Bloodsoul Shoulders -- 24137
+	-- Zandalar Tribe - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val24id2val10id3val286id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24137, 300, 19691, 1, 2018)
+	self:addTradeFlags(RecipeDB, 24137, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,100)
+	self:addTradeAcquire(RecipeDB, 24137, 6, 270, 2, 14921)
+
+	-- Bloodsoul Gauntlets -- 24138
+	-- Zandalar Tribe - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val10id2val17id3val238id6val14id11val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24138, 300, 19692, 1, 2018)
+	self:addTradeFlags(RecipeDB, 24138, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,100)
+	self:addTradeAcquire(RecipeDB, 24138, 6, 270, 1, 14921)
+
+	-- Darksoul Breastplate -- 24139
+	-- Zandalar Tribe - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val32id3val736id6val10id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24139, 300, 19693, 1, 2018)
+	self:addTradeFlags(RecipeDB, 24139, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,59,100)
+	self:addTradeAcquire(RecipeDB, 24139, 6, 270, 3, 14921)
+
+	-- Darksoul Leggings -- 24140
+	-- Zandalar Tribe - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val22id3val722id6val20id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24140, 300, 19694, 1, 2018)
+	self:addTradeFlags(RecipeDB, 24140, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,59,100)
+	self:addTradeAcquire(RecipeDB, 24140, 6, 270, 2, 14921)
+
+	-- Darksoul Shoulders -- 24141
+	-- Zandalar Tribe - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val24id3val507id6val10id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24141, 300, 19695, 1, 2018)
+	self:addTradeFlags(RecipeDB, 24141, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,59,100)
+	self:addTradeAcquire(RecipeDB, 24141, 6, 270, 1, 14921)
+
+	-- Dark Iron Boots -- 24399
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val741id6val28id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24399, 300, 20039, 1, 2018)
+	self:addTradeFlags(RecipeDB, 24399, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	-- No acquire information
+
+	-- Darkrune Gauntlets -- 24912
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val8id3val410id6val10id28val20id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24912, 300, 20549, 3, 2018)
+	self:addTradeFlags(RecipeDB, 24912, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,52,59)
+	self:addTradeAcquire(RecipeDB, 24912, 3, 19517, 3, 23392)
+
+	-- Darkrune Helm -- 24913
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val13id3val534id6val14id11val14id18val25id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24913, 300, 20551, 3, 2018)
+	self:addTradeFlags(RecipeDB, 24913, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 24913, 3, 19239)
+
+	-- Darkrune Breastplate -- 24914
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val14id3val657id6val12id26val25id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24914, 300, 20550, 3, 2018)
+	self:addTradeFlags(RecipeDB, 24914, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,52,59)
+	self:addTradeAcquire(RecipeDB, 24914, 3, 4553, 3, 19517)
+
+	-- Heavy Obsidian Belt -- 27585
+	-- Cenarion Circle - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val25id1val397id6val5id32val5id33val5id34val5id35val5id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27585, 300, 22197, 1, 2018)
+	self:addTradeFlags(RecipeDB, 27585, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,59,97)
+	self:addTradeAcquire(RecipeDB, 27585, 6, 609, 1, 15176)
+
+	-- Jagged Obsidian Shield -- 27586
+	-- Cenarion Circle - Revered
+	-- Raid: 3429 - Ruins of Ahn'Qiraj
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Shield,
+	-- Item Stats: Tanking,
+	-- Item Stats: val3040id6val9id28val5id32val5id33val5id34val5id35val5id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27586, 300, 22198, 1, 2018)
+	self:addTradeFlags(RecipeDB, 27586, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,52,64,97)
+	self:addTradeAcquire(RecipeDB, 27586, 6, 609, 3, 15471)
+
+	-- Thick Obsidian Breastplate -- 27587
+	-- Raid: 3428 - Ahn'Qiraj
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val38id1val16id3val929id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27587, 300, 22196, 3, 2018)
+	self:addTradeFlags(RecipeDB, 27587, 6,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 27587, 3, 15263)
+
+	-- Light Obsidian Belt -- 27588
+	-- Cenarion Circle - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val224id6val32id9val14id11val32id16val14id18val5id32val5id33val5id34val5id35val5id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27588, 300, 22195, 1, 2018)
+	self:addTradeFlags(RecipeDB, 27588, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,97)
+	self:addTradeAcquire(RecipeDB, 27588, 6, 609, 2, 15176)
+
+	-- Black Grasp of the Destroyer -- 27589
+	-- Raid: 3429 - Ruins of Ahn'Qiraj
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val318id6val28id9val14id11val28id16val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27589, 300, 22194, 3, 2018)
+	self:addTradeFlags(RecipeDB, 27589, 6,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 27589, 3, 15340)
+
+	-- Obsidian Mail Tunic -- 27590
+	-- Cenarion Circle - Exalted
+	-- Raid: 3429 - Ruins of Ahn'Qiraj
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val523id6val76id9val14id11val76id16val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27590, 300, 22191, 1, 2018)
+	self:addTradeFlags(RecipeDB, 27590, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,58,97)
+	self:addTradeAcquire(RecipeDB, 27590, 6, 609, 4, 15471)
+
+	-- Titanic Leggings -- 27829
+	-- Raid: 2677 - Blackwing Lair
+	-- Raid: 2159 - Onyxia's Lair
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val30id1val683id6val14id11val20id17val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27829, 300, 22385, 4, 2018)
+	self:addTradeFlags(RecipeDB, 27829, 5,6,11,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 27829, 3, 6109, 3, 7523, 3, 8598, 3, 10184, 3, 10398, 3, 11583, 3, 14890)
+
+	-- Persuader -- 27830
+	-- Raid: 2159 - Onyxia's Lair
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val86-161id7val2.7id8val14id11val10id17val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27830, 300, 22384, 4, 2018)
+	self:addTradeFlags(RecipeDB, 27830, 6,11,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,70)
+	self:addTradeAcquire(RecipeDB, 27830, 3, 6109, 3, 10184, 3, 14887)
+
+	-- Sageblade -- 27832
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword, Armor, Trinket,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val14id3val6id4val49-100id7val1.8id8val20id19val20id20val10id23
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27832, 300, 22383, 4, 2018)
+	self:addTradeFlags(RecipeDB, 27832, 11,21,22,23,24,25,26,27,28,29,30,36,40,46,47,54,63,69)
+	self:addTradeAcquire(RecipeDB, 27832, 3, 6109, 3, 14887, 3, 14890)
+
+	-- Icebane Breastplate -- 28242
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id1val24id3val1027id6val12id31val42id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28242, 300, 22669, 4, 2018)
+	self:addTradeFlags(RecipeDB, 28242, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	-- No acquire information
+
+	-- Icebane Gauntlets -- 28243
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val9id1val18id3val642id6val8id31val32id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28243, 300, 22670, 4, 2018)
+	self:addTradeFlags(RecipeDB, 28243, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	-- No acquire information
+
+	-- Icebane Bracers -- 28244
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val6id1val13id3val449id6val7id31val24id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28244, 300, 22671, 4, 2018)
+	self:addTradeFlags(RecipeDB, 28244, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	-- No acquire information
+
+	-- Ironvine Breastplate -- 28461
+	-- Cenarion Circle - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val15id3val726id6val10id31val30id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28461, 300, 22762, 1, 2018)
+	self:addTradeFlags(RecipeDB, 28461, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59,97)
+	self:addTradeAcquire(RecipeDB, 28461, 6, 609, 3, 15176)
+
+	-- Ironvine Gloves -- 28462
+	-- Cenarion Circle - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val10id3val454id6val15id31val20id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28462, 300, 22763, 1, 2018)
+	self:addTradeFlags(RecipeDB, 28462, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59,97)
+	self:addTradeAcquire(RecipeDB, 28462, 6, 609, 2, 15176)
+
+	-- Ironvine Belt -- 28463
+	-- Cenarion Circle - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id3val408id6val5id31val15id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28463, 300, 22764, 1, 2018)
+	self:addTradeFlags(RecipeDB, 28463, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59,97)
+	self:addTradeAcquire(RecipeDB, 28463, 6, 609, 1, 15176)
+
+	-- Fel Iron Plate Gloves -- 29545
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val24id1val21id3val524id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29545, 290, 23482, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29545, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 29545, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Fel Iron Plate Belt -- 29547
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val21id1val30id3val471id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29547, 295, 23484, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29547, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 29547, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Fel Iron Plate Boots -- 29548
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val23id1val30id3val612id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29548, 305, 23487, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29548, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 29548, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Fel Iron Plate Pants -- 29549
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val34id1val33id3val779id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29549, 305, 23488, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29549, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 29549, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Fel Iron Breastplate -- 29550
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val32id1val46id3val943id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29550, 315, 23489, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29550, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 29550, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Fel Iron Chain Coif -- 29551
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val33id3val21id4val382id6val42id9val42id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29551, 290, 23493, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29551, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 29551, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Fel Iron Chain Gloves -- 29552
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val24id3val17id4val303id6val34id9val34id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29552, 300, 23491, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29552, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 29552, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Fel Iron Chain Bracers -- 29553
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val19id3val13id4val218id6val26id9val26id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29553, 305, 23494, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29553, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 29553, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Fel Iron Chain Tunic -- 29556
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val36id3val24id4val514id6val48id9val48id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29556, 310, 23490, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29556, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 29556, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Fel Iron Hatchet -- 29557
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val8id1val68-127id7val2id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29557, 300, 23497, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29557, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 29557, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Fel Iron Hammer -- 29558
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Mace, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val12id4val76-143id7val2.2id8val5id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29558, 305, 23498, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29558, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,47,63,70)
+	self:addTradeAcquire(RecipeDB, 29558, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Fel Iron Greatsword -- 29565
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Sword, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val172-259id7val3.2id8val62id9val30id11val62id16val30id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29565, 310, 23499, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29565, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,47,63,69)
+	self:addTradeAcquire(RecipeDB, 29565, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Adamantite Maul -- 29566
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val47id1val179-269id7val3.2id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29566, 315, 23502, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29566, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,46,70)
+	self:addTradeAcquire(RecipeDB, 29566, 2, 16670, 2, 16713, 2, 19662)
+
+	-- Adamantite Cleaver -- 29568
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val25id2val39id3val203-305id7val3.5id8val52id9val52id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29568, 320, 23503, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29568, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 29568, 2, 16670, 2, 16713, 2, 19662)
+
+	-- Adamantite Dagger -- 29569
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Dagger, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val74-138id7val1.9id8val10id11val10id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29569, 320, 23504, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29569, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,72)
+	self:addTradeAcquire(RecipeDB, 29569, 2, 16670, 2, 16713, 2, 19662)
+
+	-- Adamantite Rapier -- 29571
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword, Armor, Trinket,
+	-- Item Stats: Tanking,
+	-- Item Stats: val15id3val68-128id7val1.7id8val16id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29571, 325, 23505, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29571, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,46,47,52,63,69)
+	self:addTradeAcquire(RecipeDB, 29571, 2, 16670, 2, 16713, 2, 19662)
+
+	-- Adamantite Plate Bracers -- 29603
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val22id1val24id3val458id6val4id9val4id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29603, 325, 23506, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29603, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 29603, 2, 19342, 2, 19694)
+
+	-- Adamantite Plate Gloves -- 29605
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val24id1val34id3val655id6val6id9val6id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29605, 325, 23508, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29605, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 29605, 2, 19342, 2, 19694)
+
+	-- Adamantite Breastplate -- 29606
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val34id1val40id3val1077id6val8id9val8id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29606, 330, 23507, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29606, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 29606, 2, 19342, 2, 19694)
+
+	-- Enchanted Adamantite Belt -- 29608
+	-- The Scryers - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val21id3val644id6val3id31val30id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29608, 345, 23510, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29608, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59,110)
+	self:addTradeAcquire(RecipeDB, 29608, 6, 934, 1, 19331)
+
+	-- Enchanted Adamantite Breastplate -- 29610
+	-- The Scryers - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val27id3val1154id6val40id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29610, 350, 23509, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29610, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,59,110)
+	self:addTradeAcquire(RecipeDB, 29610, 6, 934, 3, 19331)
+
+	-- Enchanted Adamantite Boots -- 29611
+	-- The Scryers - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val21id3val787id6val30id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29611, 345, 23511, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29611, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,59,110)
+	self:addTradeAcquire(RecipeDB, 29611, 6, 934, 2, 19331)
+
+	-- Enchanted Adamantite Leggings -- 29613
+	-- The Scryers - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val27id3val1019id6val4id31val40id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29613, 355, 23512, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29613, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59,110)
+	self:addTradeAcquire(RecipeDB, 29613, 6, 934, 4, 19331)
+
+	-- Flamebane Bracers -- 29614
+	-- The Aldor - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val15id3val497id6val28id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29614, 340, 23515, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29614, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,59,101)
+	self:addTradeAcquire(RecipeDB, 29614, 6, 932, 1, 19321)
+
+	-- Flamebane Helm -- 29615
+	-- The Aldor - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val19id3val930id6val40id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29615, 345, 23516, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29615, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,59,101)
+	self:addTradeAcquire(RecipeDB, 29615, 6, 932, 4, 19321)
+
+	-- Flamebane Gloves -- 29616
+	-- The Aldor - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val21id3val722id6val30id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29616, 350, 23514, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29616, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,59,101)
+	self:addTradeAcquire(RecipeDB, 29616, 6, 932, 2, 19321)
+
+	-- Flamebane Breastplate -- 29617
+	-- The Aldor - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val19id3val1164id6val4id31val40id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29617, 355, 23513, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29617, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59,101)
+	self:addTradeAcquire(RecipeDB, 29617, 6, 932, 3, 19321)
+
+	-- Felsteel Gloves -- 29619
+	-- Instance: 3790 - type5category3maxlevel67territory1expansion1minlevel65nameAuchindoun: Auchenai Cryptsid3790
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val27id3val943id6val25id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29619, 350, 23517, 3, 2018)
+	self:addTradeFlags(RecipeDB, 29619, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	self:addTradeAcquire(RecipeDB, 29619, 3, 18497)
+
+	-- Felsteel Leggings -- 29620
+	-- Instance: 3848 - type5category3territory1expansion1minlevel70nameTempest Keep: The Arcatrazid3848
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val39id3val1257id6val33id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29620, 350, 23518, 3, 2018)
+	self:addTradeFlags(RecipeDB, 29620, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	self:addTradeAcquire(RecipeDB, 29620, 3, 20900)
+
+	-- Felsteel Helm -- 29621
+	-- Instance: 3789 - type5category3territory1expansion1minlevel70nameAuchindoun: Shadow Labrynthid3789
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val27id3val1284id6val33id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29621, 355, 23519, 3, 2018)
+	self:addTradeFlags(RecipeDB, 29621, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	self:addTradeAcquire(RecipeDB, 29621, 3, 18830)
+
+	-- Gauntlets of the Iron Tower -- 29622
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val30id3val831id6val26id29val20id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29622, 355, 23532, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29622, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,52,59)
+	self:addTradeAcquire(RecipeDB, 29622, 7, 4)
+
+	-- Khorium Belt -- 29628
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val30id3val21id4val649id6val25id19val25id20val8id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29628, 350, 23524, 3, 2018)
+	self:addTradeFlags(RecipeDB, 29628, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,54,59)
+	self:addTradeAcquire(RecipeDB, 29628, 3, 18203)
+
+	-- Khorium Pants -- 29629
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val42id3val28id4val1010id6val33id19val33id20val11id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29629, 350, 23523, 3, 2018)
+	self:addTradeFlags(RecipeDB, 29629, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,54,59)
+	self:addTradeAcquire(RecipeDB, 29629, 3, 20878)
+
+	-- Khorium Boots -- 29630
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val31id3val21id4val800id6val26id19val26id20val8id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29630, 355, 23525, 3, 2018)
+	self:addTradeFlags(RecipeDB, 29630, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,54,59)
+	self:addTradeAcquire(RecipeDB, 29630, 3, 18873)
+
+	-- Ragesteel Gloves -- 29642
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val35id1val728id6val27id11val27id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29642, 355, 23520, 3, 2018)
+	self:addTradeFlags(RecipeDB, 29642, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 29642, 3, 17136)
+
+	-- Ragesteel Helm -- 29643
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val45id1val946id6val37id11val37id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29643, 355, 23521, 3, 2018)
+	self:addTradeFlags(RecipeDB, 29643, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 29643, 3, 16952)
+
+	-- Ragesteel Breastplate -- 29645
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val50id1val1164id6val29id11val29id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29645, 360, 23522, 3, 2018)
+	self:addTradeFlags(RecipeDB, 29645, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 29645, 3, 21454, 3, 23305, 3, 23324)
+
+	-- Swiftsteel Gloves -- 29648
+	-- Instance: 3792 - type5category3maxlevel66territory1expansion1minlevel64nameAuchindoun: Mana-Tombsid3792
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val3id2val407id6val50id9val50id16val10id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29648, 360, 23526, 3, 2018)
+	self:addTradeFlags(RecipeDB, 29648, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 29648, 3, 18314)
+
+	-- Earthpeace Breastplate -- 29649
+	-- Instance: 3847 - type5category3territory1expansion1minlevel70nameTempest Keep: The Botanicaid3847
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Healing,
+	-- Item Stats: val652id6val31id19val92id20val16id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29649, 360, 23527, 3, 2018)
+	self:addTradeFlags(RecipeDB, 29649, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,53,58)
+	self:addTradeAcquire(RecipeDB, 29649, 3, 17975)
+
+	-- Fel Sharpening Stone -- 29654
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29654, 290, 23528, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29654, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 29654, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Adamantite Sharpening Stone -- 29656
+	-- Cenarion Expedition - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29656, 340, 23529, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29656, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,103)
+	self:addTradeAcquire(RecipeDB, 29656, 6, 942, 2, 17904)
+
+	-- Felsteel Shield Spike -- 29657
+	-- Honor Hold - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29657, 350, 23530, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29657, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,104)
+	self:addTradeAcquire(RecipeDB, 29657, 6, 946, 4, 17657)
+
+	-- Felfury Gauntlets -- 29658
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val30id3val465id6val40id9val27id11val40id16val27id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29658, 355, 23531, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29658, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 29658, 7, 4)
+
+	-- Steelgrip Gauntlets -- 29662
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val28id1val36id3val831id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29662, 355, 23533, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29662, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 29662, 7, 4)
+
+	-- Storm Helm -- 29663
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val21id3val28id4val604id6val44id9val22id11val44id16val22id18val9id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29663, 355, 23534, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29663, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 29663, 7, 4)
+
+	-- Helm of the Stalwart Defender -- 29664
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val47id3val1366id6val23id29val23id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29664, 355, 23535, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29664, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,52,59)
+	self:addTradeAcquire(RecipeDB, 29664, 7, 4)
+
+	-- Oathkeeper's Helm -- 29668
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats: Tanking, Caster DPS,
+	-- Item Stats: val40id3val22id4val1080id6val26id19val26id20val9id24val15id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29668, 355, 23536, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29668, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,52,54,59)
+	self:addTradeAcquire(RecipeDB, 29668, 7, 4)
+
+	-- Black Felsteel Bracers -- 29669
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val26id1val15id3val581id6val22id11val22id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29669, 355, 23537, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29669, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,59)
+	self:addTradeAcquire(RecipeDB, 29669, 7, 4)
+
+	-- Bracers of the Green Fortress -- 29671
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val39id3val581id6val10id26val17id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29671, 355, 23538, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29671, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,52,59)
+	self:addTradeAcquire(RecipeDB, 29671, 7, 4)
+
+	-- Blessed Bracers -- 29672
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Plate,
+	-- Item Stats: Healing,
+	-- Item Stats: val12id3val14id4val581id6val19id19val57id20val18id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29672, 355, 23539, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29672, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,53,59)
+	self:addTradeAcquire(RecipeDB, 29672, 7, 4)
+
+	-- Felsteel Longblade -- 29692
+	-- Raid: 3845 - Tempest Keep
+	-- Raid: 3607 - Coilfang Reservoir: Serpentshrine Cavern
+	-- Raid: 3457 - Karazhan
+	-- Raid: 3457 - Karazhan
+	-- Instance: 3848 - type5category3territory1expansion1minlevel70nameTempest Keep: The Arcatrazid3848
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val26id2val15id3val128-239id7val2.2id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29692, 355, 23540, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29692, 5,6,11,21,22,23,24,25,26,27,28,29,30,36,40,46,69)
+	self:addTradeAcquire(RecipeDB, 29692, 3, 15547, 3, 16171, 3, 18260, 3, 19779, 3, 20036, 3, 20714, 3, 20910, 3, 21298, 3, 22052)
+
+	-- Khorium Champion -- 29693
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val50id1val286-430id7val3.3id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29693, 355, 23541, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29693, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,69)
+	self:addTradeAcquire(RecipeDB, 29693, 7, 4)
+
+	-- Fel Edged Battleaxe -- 29694
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val128-239id7val2.2id8val21id11val21id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29694, 355, 23542, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29694, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 29694, 7, 4)
+
+	-- Felsteel Reaper -- 29695
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val295-443id7val3.4id8val112id9val30id11val112id16val30id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29695, 355, 23543, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29695, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 29695, 7, 4)
+
+	-- Runic Hammer -- 29696
+	-- Raid: 3457 - Karazhan
+	-- Raid: 3457 - Karazhan
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val16id3val140-261id7val2.4id8val50id9val50id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29696, 355, 23544, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29696, 6,11,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,70)
+	self:addTradeAcquire(RecipeDB, 29696, 3, 16409, 3, 16525, 3, 20514, 3, 21941)
+
+	-- Fel Hardened Maul -- 29697
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val50id1val46id3val286-430id7val3.3id8val21id11val21id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29697, 355, 23546, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29697, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,70)
+	self:addTradeAcquire(RecipeDB, 29697, 7, 4)
+
+	-- Eternium Runed Blade -- 29698
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Dagger, Armor, Trinket,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val19id4val27.6-113.6id7val1.7id8val168id19val168id20val21id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29698, 355, 23554, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29698, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,47,54,63,72)
+	self:addTradeAcquire(RecipeDB, 29698, 7, 4)
+
+	-- Dirge -- 29699
+	-- Raid: 3457 - Karazhan
+	-- Raid: 3607 - Coilfang Reservoir: Serpentshrine Cavern
+	-- Raid: 3457 - Karazhan
+	-- Raid: 3457 - Karazhan
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Dagger, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val81-152id7val1.4id8val40id9val20id11val40id16val20id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29699, 355, 23555, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29699, 6,11,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63,72)
+	self:addTradeAcquire(RecipeDB, 29699, 3, 16409, 3, 16460, 3, 16595, 3, 18554, 3, 21229, 3, 22254, 3, 22384)
+
+	-- Hand of Eternity -- 29700
+	-- Instance: 3717 - type5category3maxlevel64territory1expansion1minlevel62nameCoilfang Reservoir: The Slave Pensid3717
+	-- Instance: 3847 - type5category3territory1expansion1minlevel70nameTempest Keep: The Botanicaid3847
+	-- Raid: 3457 - Karazhan
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace, Armor, Trinket,
+	-- Item Stats: Healing,
+	-- Item Stats: val20id4val35.38-131.38id7val1.9id8val106id19val317id20val7id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29700, 355, 23556, 4, 2018)
+	self:addTradeFlags(RecipeDB, 29700, 5,6,11,21,22,23,24,25,26,27,28,29,30,36,40,46,47,53,63,70)
+	self:addTradeAcquire(RecipeDB, 29700, 3, 16409, 3, 17957, 3, 19513, 3, 19756, 3, 20496, 3, 22241, 3, 22394)
+
+	-- Lesser Ward of Shielding -- 29728
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29728, 330, 23575, 1, 2018)
+	self:addTradeFlags(RecipeDB, 29728, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 29728, 2, 16583, 2, 19373)
+
+	-- Greater Ward of Shielding -- 29729
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29729, 375, 23576, 3, 2018)
+	self:addTradeFlags(RecipeDB, 29729, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 29729, 3, 18853)
+
+	-- Lesser Rune of Warding -- 32284
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32284, 315, 23559, 1, 2018)
+	self:addTradeFlags(RecipeDB, 32284, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 32284, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Greater Rune of Warding -- 32285
+	-- Instance: 3714 - type5category3territory1expansion1minlevel70nameHellfire Citadel: The Shattered Hallsid3714
+	-- Mob Drop
+	-- Cenarion Expedition - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32285, 340, 25521, 1, 2018)
+	self:addTradeFlags(RecipeDB, 32285, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,103)
+	self:addTradeAcquire(RecipeDB, 32285, 3, 17671, 6, 942, 2, 17904)
+
+	-- Fel Iron Rod -- 32655
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32655, 290, 25843, 1, 2018)
+	self:addTradeFlags(RecipeDB, 32655, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 32655, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Adamantite Rod -- 32656
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32656, 340, 25844, 1, 2018)
+	self:addTradeFlags(RecipeDB, 32656, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 32656, 2, 19662)
+
+	-- Eternium Rod -- 32657
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32657, 365, 25845, 1, 2018)
+	self:addTradeFlags(RecipeDB, 32657, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 32657, 2, 16583, 2, 19373)
+
+	-- Nether Chain Shirt -- 34529
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val4id2val40id3val18id4val757id6val40id9val28id11val40id16val28id18val7id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9788
+	self:addTradeSkill(RecipeDB, 34529, 340, 23563, 1, 2018, 9788)
+	self:addTradeFlags(RecipeDB, 34529, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 34529, 1, 5164, 1, 7230, 1, 11177, 1, 20125)
+
+	-- Twisting Nether Chain Shirt -- 34530
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val4id2val48id3val22id4val893id6val68id9val33id11val68id16val33id18val9id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9788
+	self:addTradeSkill(RecipeDB, 34530, 365, 23564, 1, 2018, 9788)
+	self:addTradeFlags(RecipeDB, 34530, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 34530, 1, 5164, 1, 7230, 1, 11177, 1, 20125)
+
+	-- Breastplate of Kings -- 34533
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val31id1val46id3val1353id6val31id11val31id18
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9788
+	self:addTradeSkill(RecipeDB, 34533, 340, 28483, 1, 2018, 9788)
+	self:addTradeFlags(RecipeDB, 34533, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,59)
+	self:addTradeAcquire(RecipeDB, 34533, 1, 5164, 1, 7230, 1, 11177, 1, 20125)
+
+	-- Bulwark of Kings -- 34534
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val35id1val55id3val1595id6val37id11val37id18
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9788
+	self:addTradeSkill(RecipeDB, 34534, 365, 28484, 1, 2018, 9788)
+	self:addTradeFlags(RecipeDB, 34534, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,59)
+	self:addTradeAcquire(RecipeDB, 34534, 1, 5164, 1, 7230, 1, 11177, 1, 20125)
+
+	-- Fireguard -- 34535
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Sword, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val16id2val23id3val94-176id7val1.6id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17039
+	self:addTradeSkill(RecipeDB, 34535, 340, 28425, 1, 2018, 17039)
+	self:addTradeFlags(RecipeDB, 34535, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,69)
+	self:addTradeAcquire(RecipeDB, 34535, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Blazeguard -- 34537
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Sword, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val17id2val25id3val102-190id7val1.6id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17039
+	self:addTradeSkill(RecipeDB, 34537, 365, 28426, 1, 2018, 17039)
+	self:addTradeFlags(RecipeDB, 34537, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,69)
+	self:addTradeAcquire(RecipeDB, 34537, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Lionheart Blade -- 34538
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Sword, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val47id1val42id2val315-474id7val3.6id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17039
+	self:addTradeSkill(RecipeDB, 34538, 340, 28428, 1, 2018, 17039)
+	self:addTradeFlags(RecipeDB, 34538, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,69)
+	self:addTradeAcquire(RecipeDB, 34538, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Lionheart Champion -- 34540
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Sword, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val49id1val44id2val341-513id7val3.6id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17039
+	self:addTradeSkill(RecipeDB, 34540, 365, 28429, 1, 2018, 17039)
+	self:addTradeFlags(RecipeDB, 34540, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,69)
+	self:addTradeAcquire(RecipeDB, 34540, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- The Planar Edge -- 34541
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val159-296id7val2.7id8val42id9val20id11val42id16val20id18
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17041
+	self:addTradeSkill(RecipeDB, 34541, 340, 28431, 1, 2018, 17041)
+	self:addTradeFlags(RecipeDB, 34541, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 34541, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Black Planar Edge -- 34542
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val172-320id7val2.7id8val44id9val21id11val44id16val21id18
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17041
+	self:addTradeSkill(RecipeDB, 34542, 365, 28432, 1, 2018, 17041)
+	self:addTradeFlags(RecipeDB, 34542, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 34542, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Lunar Crescent -- 34543
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val324-487id7val3.7id8val96id9val47id11val96id16val47id18
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17041
+	self:addTradeSkill(RecipeDB, 34543, 340, 28434, 1, 2018, 17041)
+	self:addTradeFlags(RecipeDB, 34543, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 34543, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Mooncleaver -- 34544
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val351-527id7val3.7id8val106id9val52id11val106id16val52id18
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17041
+	self:addTradeSkill(RecipeDB, 34544, 365, 28435, 1, 2018, 17041)
+	self:addTradeFlags(RecipeDB, 34544, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 34544, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Drakefist Hammer -- 34545
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val159-296id7val2.7id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17040
+	self:addTradeSkill(RecipeDB, 34545, 340, 28437, 1, 2018, 17040)
+	self:addTradeFlags(RecipeDB, 34545, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,70)
+	self:addTradeAcquire(RecipeDB, 34545, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Dragonmaw -- 34546
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val9id3val172-320id7val2.7id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17040
+	self:addTradeSkill(RecipeDB, 34546, 365, 28438, 1, 2018, 17040)
+	self:addTradeFlags(RecipeDB, 34546, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,70)
+	self:addTradeAcquire(RecipeDB, 34546, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Thunder -- 34547
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val37id1val37id2val55id3val333-500id7val3.8id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17040
+	self:addTradeSkill(RecipeDB, 34547, 340, 28440, 1, 2018, 17040)
+	self:addTradeFlags(RecipeDB, 34547, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,70)
+	self:addTradeAcquire(RecipeDB, 34547, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Deep Thunder -- 34548
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val37id1val37id2val55id3val360-541id7val3.8id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17040
+	self:addTradeSkill(RecipeDB, 34548, 365, 28441, 1, 2018, 17040)
+	self:addTradeFlags(RecipeDB, 34548, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,70)
+	self:addTradeAcquire(RecipeDB, 34548, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Fel Weightstone -- 34607
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34607, 290, 28420, 1, 2018)
+	self:addTradeFlags(RecipeDB, 34607, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 34607, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Adamantite Weightstone -- 34608
+	-- Cenarion Expedition - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34608, 340, 28421, 1, 2018)
+	self:addTradeFlags(RecipeDB, 34608, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,103)
+	self:addTradeAcquire(RecipeDB, 34608, 6, 942, 2, 17904)
+
+	-- Thick Bronze Darts -- 34979
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Thrown,
+	-- Item Stats:
+	-- Item Stats: val2id1val16-24id14val2.2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34979, 100, 29201, 1, 2018)
+	self:addTradeFlags(RecipeDB, 34979, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46)
+	self:addTradeAcquire(RecipeDB, 34979, 1, 1383, 1, 2836, 1, 2998, 1, 3136, 1, 3355, 1, 3478, 1, 4258, 1, 4596, 1, 5511, 1, 10276, 1, 16583, 1, 16669, 1, 16724, 1, 16823, 1, 19341)
+
+	-- Whirling Steel Axes -- 34981
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val4id1val3id3val30-57id14val2.2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34981, 200, 29202, 1, 2018)
+	self:addTradeFlags(RecipeDB, 34981, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,68)
+	self:addTradeAcquire(RecipeDB, 34981, 1, 2836, 1, 3355, 1, 4258, 1, 16583, 1, 16669, 1, 16823, 1, 19341)
+
+	-- Enchanted Thorium Blades -- 34982
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Thrown, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val6id2val10id9val49-92id14val2.2id15val10id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34982, 300, 29203, 1, 2018)
+	self:addTradeFlags(RecipeDB, 34982, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,47,63)
+	self:addTradeAcquire(RecipeDB, 34982, 1, 2836, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Felsteel Whisper Knives -- 34983
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Thrown, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val20id9val10id11val134-135id14val2.2id15val20id16val10id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34983, 340, 29204, 1, 2018)
+	self:addTradeFlags(RecipeDB, 34983, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,47,63)
+	self:addTradeAcquire(RecipeDB, 34983, 1, 16583, 1, 16823, 1, 19341)
+
+	-- Earthforged Leggings -- 36122
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val16id1val10id2val24id3val479id6val10id31
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9788
+	self:addTradeSkill(RecipeDB, 36122, 260, 30069, 1, 2018, 9788)
+	self:addTradeFlags(RecipeDB, 36122, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,52,59)
+	self:addTradeAcquire(RecipeDB, 36122, 1, 5164, 1, 7230, 1, 11177, 1, 20125)
+
+	-- Windforged Leggings -- 36124
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val14id2val10id3val7id4val272id6val28id9val28id16val5id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9788
+	self:addTradeSkill(RecipeDB, 36124, 260, 30070, 1, 2018, 9788)
+	self:addTradeFlags(RecipeDB, 36124, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 36124, 1, 5164, 1, 7230, 1, 11177, 1, 20125)
+
+	-- Light Earthforged Blade -- 36125
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val13id3val58-108id7val2.4id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9787
+	self:addTradeSkill(RecipeDB, 36125, 260, 30071, 1, 2018, 9787)
+	self:addTradeFlags(RecipeDB, 36125, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,69)
+	self:addTradeAcquire(RecipeDB, 36125, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Light Skyforged Axe -- 36126
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val60-113id7val2.5id8val13id11val13id18
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9787
+	self:addTradeSkill(RecipeDB, 36126, 260, 30072, 1, 2018, 9787)
+	self:addTradeFlags(RecipeDB, 36126, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 36126, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Light Emberforged Hammer -- 36128
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Mace, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val63-117id7val2.6id8val26id9val26id16
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9787
+	self:addTradeSkill(RecipeDB, 36128, 260, 30073, 1, 2018, 9787)
+	self:addTradeFlags(RecipeDB, 36128, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,70)
+	self:addTradeAcquire(RecipeDB, 36128, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Heavy Earthforged Breastplate -- 36129
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val30id1val11id2val36id3val1018id6val11id31
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9788
+	self:addTradeSkill(RecipeDB, 36129, 320, 30074, 1, 2018, 9788)
+	self:addTradeFlags(RecipeDB, 36129, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,52,59)
+	self:addTradeAcquire(RecipeDB, 36129, 1, 5164, 1, 7230, 1, 11177, 1, 20125)
+
+	-- Stormforged Hauberk -- 36130
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val25id2val11id3val11id4val570id6val50id9val50id16val7id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9788
+	self:addTradeSkill(RecipeDB, 36130, 320, 30076, 1, 2018, 9788)
+	self:addTradeFlags(RecipeDB, 36130, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 36130, 1, 5164, 1, 7230, 1, 11177, 1, 20125)
+
+	-- Windforged Rapier -- 36131
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Sword, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val72-134id7val1.7id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17039
+	self:addTradeSkill(RecipeDB, 36131, 320, 30077, 1, 2018, 17039)
+	self:addTradeFlags(RecipeDB, 36131, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,69)
+	self:addTradeAcquire(RecipeDB, 36131, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Stoneforged Claymore -- 36133
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val40id1val35id2val207-311id7val3.3id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17039
+	self:addTradeSkill(RecipeDB, 36133, 320, 30086, 1, 2018, 17039)
+	self:addTradeFlags(RecipeDB, 36133, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,69)
+	self:addTradeAcquire(RecipeDB, 36133, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Stormforged Axe -- 36134
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Axe,
+	-- Item Stats:
+	-- Item Stats: val24id2val110-205id7val2.6id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17041
+	self:addTradeSkill(RecipeDB, 36134, 320, 30087, 1, 2018, 17041)
+	self:addTradeFlags(RecipeDB, 36134, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,68)
+	self:addTradeAcquire(RecipeDB, 36134, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Skyforged Great Axe -- 36135
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val213-321id7val3.4id8val80id9val35id11val80id16val35id18
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17041
+	self:addTradeSkill(RecipeDB, 36135, 320, 30088, 1, 2018, 17041)
+	self:addTradeFlags(RecipeDB, 36135, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 36135, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Lavaforged Warhammer -- 36136
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Mace, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val105-197id7val2.5id8val48id9val48id16
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17040
+	self:addTradeSkill(RecipeDB, 36136, 320, 30089, 1, 2018, 17040)
+	self:addTradeFlags(RecipeDB, 36136, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,70)
+	self:addTradeAcquire(RecipeDB, 36136, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Great Earthforged Hammer -- 36137
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Mace, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val60id3val220-330id7val3.5id8val70id9val70id16
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17040
+	self:addTradeSkill(RecipeDB, 36137, 320, 30093, 1, 2018, 17040)
+	self:addTradeFlags(RecipeDB, 36137, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,70)
+	self:addTradeAcquire(RecipeDB, 36137, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Embrace of the Twisting Nether -- 36256
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val4id2val56id3val27id4val1022id6val84id9val35id11val84id16val35id18val10id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9788
+	self:addTradeSkill(RecipeDB, 36256, 365, 23565, 1, 2018, 9788)
+	self:addTradeFlags(RecipeDB, 36256, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 36256, 1, 5164, 1, 7230, 1, 11177, 1, 20125)
+
+	-- Bulwark of the Ancient Kings -- 36257
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val40id1val56id3val1825id6val41id11val41id18
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 9788
+	self:addTradeSkill(RecipeDB, 36257, 365, 28485, 1, 2018, 9788)
+	self:addTradeFlags(RecipeDB, 36257, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,59)
+	self:addTradeAcquire(RecipeDB, 36257, 1, 5164, 1, 7230, 1, 11177, 1, 20125)
+
+	-- Blazefury -- 36258
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Sword, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val19id2val28id3val109-203id7val1.6id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17039
+	self:addTradeSkill(RecipeDB, 36258, 365, 28427, 1, 2018, 17039)
+	self:addTradeFlags(RecipeDB, 36258, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,69)
+	self:addTradeAcquire(RecipeDB, 36258, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Lionheart Executioner -- 36259
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Sword, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val52id1val44id2val365-549id7val3.6id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17039
+	self:addTradeSkill(RecipeDB, 36259, 365, 28430, 1, 2018, 17039)
+	self:addTradeFlags(RecipeDB, 36259, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,69)
+	self:addTradeAcquire(RecipeDB, 36259, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Wicked Edge of the Planes -- 36260
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val184-343id7val2.7id8val48id9val23id11val48id16val23id18
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17041
+	self:addTradeSkill(RecipeDB, 36260, 365, 28433, 1, 2018, 17041)
+	self:addTradeFlags(RecipeDB, 36260, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 36260, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Bloodmoon -- 36261
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Axe, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val375-564id7val3.7id8val112id9val56id11val112id16val56id18
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17041
+	self:addTradeSkill(RecipeDB, 36261, 365, 28436, 1, 2018, 17041)
+	self:addTradeFlags(RecipeDB, 36261, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,47,63,68)
+	self:addTradeAcquire(RecipeDB, 36261, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Dragonstrike -- 36262
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val19id3val184-343id7val2.7id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17040
+	self:addTradeSkill(RecipeDB, 36262, 365, 28439, 1, 2018, 17040)
+	self:addTradeFlags(RecipeDB, 36262, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,70)
+	self:addTradeAcquire(RecipeDB, 36262, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Stormherald -- 36263
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Weapon, Mace,
+	-- Item Stats:
+	-- Item Stats: val42id1val42id2val61id3val386-579id7val3.8id8
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 17040
+	self:addTradeSkill(RecipeDB, 36263, 365, 28442, 1, 2018, 17040)
+	self:addTradeFlags(RecipeDB, 36263, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,46,70)
+	self:addTradeAcquire(RecipeDB, 36263, 1, 7231, 1, 7232, 1, 11146, 1, 11178, 1, 20124)
+
+	-- Belt of the Guardian -- 36389
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking, Caster DPS,
+	-- Item Stats: val48id3val13id4val904id6val21id19val21id20val19id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36389, 365, 30034, 4, 2018)
+	self:addTradeFlags(RecipeDB, 36389, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,52,54,59)
+	self:addTradeAcquire(RecipeDB, 36389, 7, 4)
+
+	-- Red Belt of Battle -- 36390
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val41id1val21id3val904id6val24id11val24id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36390, 365, 30032, 4, 2018)
+	self:addTradeFlags(RecipeDB, 36390, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 36390, 7, 4)
+
+	-- Boots of the Protector -- 36391
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking, Caster DPS,
+	-- Item Stats: val48id3val22id4val1105id6val27id19val27id20val17id28val26id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36391, 365, 30033, 4, 2018)
+	self:addTradeFlags(RecipeDB, 36391, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,52,54,59)
+	self:addTradeAcquire(RecipeDB, 36391, 7, 4)
+
+	-- Red Havoc Boots -- 36392
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val49id3val1105id6val25id28val32id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36392, 365, 30031, 4, 2018)
+	self:addTradeFlags(RecipeDB, 36392, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,52,59)
+	self:addTradeAcquire(RecipeDB, 36392, 7, 4)
+
+	-- Wildguard Breastplate -- 38473
+	-- Cenarion Expedition - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val45id3val1450id6val14id31val60id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38473, 365, 31364, 4, 2018)
+	self:addTradeFlags(RecipeDB, 38473, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59,103)
+	self:addTradeAcquire(RecipeDB, 38473, 6, 942, 4, 17904)
+
+	-- Wildguard Leggings -- 38475
+	-- Cenarion Expedition - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val55id3val1269id6val60id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38475, 365, 31367, 4, 2018)
+	self:addTradeFlags(RecipeDB, 38475, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,59,103)
+	self:addTradeAcquire(RecipeDB, 38475, 6, 942, 3, 17904)
+
+	-- Wildguard Helm -- 38476
+	-- Cenarion Expedition - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val58id3val1178id6val28id31val50id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38476, 365, 31368, 4, 2018)
+	self:addTradeFlags(RecipeDB, 38476, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59,103)
+	self:addTradeAcquire(RecipeDB, 38476, 6, 942, 3, 17904)
+
+	-- Iceguard Breastplate -- 38477
+	-- The Violet Eye - Honored
+	-- Raid: 3457 - Karazhan
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val49id3val1450id6val10id31val60id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38477, 365, 31369, 4, 2018)
+	self:addTradeFlags(RecipeDB, 38477, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59,114)
+	self:addTradeAcquire(RecipeDB, 38477, 6, 967, 2, 16388)
+
+	-- Iceguard Leggings -- 38478
+	-- The Violet Eye - Revered
+	-- Raid: 3457 - Karazhan
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val55id3val1110id6val60id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38478, 365, 31370, 4, 2018)
+	self:addTradeFlags(RecipeDB, 38478, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,59,114)
+	self:addTradeAcquire(RecipeDB, 38478, 6, 967, 3, 16388)
+
+	-- Iceguard Helm -- 38479
+	-- The Violet Eye - Honored
+	-- Raid: 3457 - Karazhan
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val64id3val1030id6val20id31val50id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38479, 365, 31371, 4, 2018)
+	self:addTradeFlags(RecipeDB, 38479, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59,114)
+	self:addTradeAcquire(RecipeDB, 38479, 6, 967, 2, 16388)
+
+	-- Shadesteel Sabots -- 40033
+	-- Ashtongue Deathsworn - Honored
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val40id3val1122id6val54id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40033, 365, 32402, 1, 2018)
+	self:addTradeFlags(RecipeDB, 40033, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,59,102)
+	self:addTradeAcquire(RecipeDB, 40033, 6, 1012, 2, 23159)
+
+	-- Shadesteel Bracers -- 40034
+	-- Ashtongue Deathsworn - Friendly
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val30id3val714id6val40id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40034, 365, 32403, 1, 2018)
+	self:addTradeFlags(RecipeDB, 40034, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,59,102)
+	self:addTradeAcquire(RecipeDB, 40034, 6, 1012, 1, 23159)
+
+	-- Shadesteel Greaves -- 40035
+	-- Ashtongue Deathsworn - Honored
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val54id3val1428id6val72id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40035, 365, 32404, 1, 2018)
+	self:addTradeFlags(RecipeDB, 40035, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,59,102)
+	self:addTradeAcquire(RecipeDB, 40035, 6, 1012, 2, 23159)
+
+	-- Shadesteel Girdle -- 40036
+	-- Ashtongue Deathsworn - Friendly
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val40id3val918id6val54id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40036, 365, 32401, 1, 2018)
+	self:addTradeFlags(RecipeDB, 40036, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,59,102)
+	self:addTradeAcquire(RecipeDB, 40036, 6, 1012, 1, 23159)
+
+	-- Swiftsteel Bracers -- 41132
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val35id1val32id3val772id6val27id30
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41132, 365, 32568, 4, 2018)
+	self:addTradeFlags(RecipeDB, 41132, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 41132, 7, 4)
+
+	-- Swiftsteel Shoulders -- 41133
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val47id1val29id3val1324id6val35id30
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41133, 365, 32570, 4, 2018)
+	self:addTradeFlags(RecipeDB, 41133, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,59)
+	self:addTradeAcquire(RecipeDB, 41133, 7, 4)
+
+	-- Dawnsteel Bracers -- 41134
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Healing,
+	-- Item Stats: val21id3val23id4val772id6val22id19val64id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41134, 365, 32571, 4, 2018)
+	self:addTradeFlags(RecipeDB, 41134, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,53,59)
+	self:addTradeAcquire(RecipeDB, 41134, 7, 4)
+
+	-- Dawnsteel Shoulders -- 41135
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats: Healing,
+	-- Item Stats: val31id3val28id4val1324id6val27id19val81id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41135, 365, 32573, 4, 2018)
+	self:addTradeFlags(RecipeDB, 41135, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,53,59)
+	self:addTradeAcquire(RecipeDB, 41135, 7, 4)
+
+	-- Ragesteel Shoulders -- 42662
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val32id1val12id3val873id6val17id11val17id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42662, 355, 33173, 3, 2018)
+	self:addTradeFlags(RecipeDB, 42662, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 42662, 3, 21050, 3, 21059, 3, 21060, 3, 21061)
+
+	-- Adamantite Weapon Chain -- 42688
+	-- Raid: 3959 - Black Temple
+	-- Instance: 2367 - type5category3maxlevel68territory1expansion1minlevel66nameCaverns of Time: Old Hillsbrad Foothillsid2367
+	-- Raid: 3457 - Karazhan
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42688, 335, 33185, 2, 2018)
+	self:addTradeFlags(RecipeDB, 42688, 5,6,11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 42688, 3, 16472, 3, 17819, 3, 23235)
+
+	-- Heavy Copper Longsword -- 43549
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Sword,
+	-- Item Stats:
+	-- Item Stats: val1id2val10-20id7val2.5id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 43549, 35, 33791, 2, 2018)
+	self:addTradeFlags(RecipeDB, 43549, 1,8,21,22,23,24,25,26,27,28,29,30,36,40,46,69)
+	self:addTradeAcquire(RecipeDB, 43549, 4, 1578)
+
+	-- Hammer of Righteous Might -- 43846
+	-- Raid: 3457 - Karazhan
+	-- Instance: 3791 - type5category3maxlevel69territory1expansion1minlevel67nameAuchindoun: Sethekk Hallsid3791
+	-- Raid: 3457 - Karazhan
+	-- Raid: 3457 - Karazhan
+	-- Instance: 3849 - type5category3territory1expansion1minlevel70nameTempest Keep: The Mechanarid3849
+	-- Raid: 3457 - Karazhan
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Mace, Armor, Trinket,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val55id3val37id4val93.8-185.8id7val2.1id8val168id19val168id20val15id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 43846, 355, 32854, 4, 2018)
+	self:addTradeFlags(RecipeDB, 43846, 5,6,11,21,22,23,24,25,26,27,28,29,30,36,40,46,47,54,63,70)
+	self:addTradeAcquire(RecipeDB, 43846, 3, 16409, 3, 16492, 3, 16504, 3, 16525, 3, 19168, 3, 19429, 3, 22323, 3, 23051, 3, 23169)
+
+	-- Sunblessed Gauntlets -- 46140
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Healing,
+	-- Item Stats: val33id3val31id4val1239id6val28id19val84id20val36id22val9id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46140, 340, 34380, 4, 2018)
+	self:addTradeFlags(RecipeDB, 46140, 6,11,21,22,23,24,25,26,27,28,29,30,36,41,47,53,59)
+	self:addTradeAcquire(RecipeDB, 46140, 3, 25363, 3, 25369, 3, 25371)
+
+	-- Hard Khorium Battlefists -- 46141
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val45id1val45id3val1239id6val36id30
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46141, 340, 34378, 4, 2018)
+	self:addTradeFlags(RecipeDB, 46141, 6,21,22,23,24,25,26,27,28,29,30,36,41,47,59)
+	self:addTradeAcquire(RecipeDB, 46141, 3, 25369, 3, 25371)
+
+	-- Sunblessed Breastplate -- 46142
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats: Healing,
+	-- Item Stats: val40id3val51id4val1983id6val38id19val114id20val34id22val16id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46142, 340, 34379, 4, 2018)
+	self:addTradeFlags(RecipeDB, 46142, 6,11,21,22,23,24,25,26,27,28,29,30,37,41,47,53,59)
+	self:addTradeAcquire(RecipeDB, 46142, 3, 25363, 3, 25367, 3, 25369, 3, 25507)
+
+	-- Hard Khorium Battleplate -- 46144
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val61id1val55id3val1983id6val41id11val41id18val280id41
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46144, 340, 34377, 4, 2018)
+	self:addTradeFlags(RecipeDB, 46144, 6,21,22,23,24,25,26,27,28,29,30,37,41,47,59)
+	self:addTradeAcquire(RecipeDB, 46144, 3, 25369, 3, 25371)
+
+	-- Cobalt Legplates -- 52567
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val43id1val68id3val1204id6val37id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 52567, 365, 39086, 2, 2018)
+	--self:addTradeFlags(RecipeDB, 52567, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	-- No acquire information
+
+	-- Cobalt Belt -- 52568
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val31id1val48id3val774id6val30id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 52568, 350, 39087, 2, 2018)
+	--self:addTradeFlags(RecipeDB, 52568, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	-- No acquire information
+
+	-- Cobalt Boots -- 52569
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val31id1val43id3val946id6val33id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 52569, 350, 39088, 2, 2018)
+	--self:addTradeFlags(RecipeDB, 52569, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	-- No acquire information
+
+	-- Cobalt Chestpiece -- 52570
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val39id1val66id3val1377id6val43id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 52570, 370, 39085, 2, 2018)
+	--self:addTradeFlags(RecipeDB, 52570, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	-- No acquire information
+
+	-- Cobalt Helm -- 52571
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val43id1val66id3val1147id6val43id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 52571, 365, 39084, 2, 2018)
+	--self:addTradeFlags(RecipeDB, 52571, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	-- No acquire information
+
+	-- Cobalt Shoulders -- 52572
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val33id1val50id3val1059id6val33id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 52572, 360, 39083, 2, 2018)
+	--self:addTradeFlags(RecipeDB, 52572, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,52,59)
+	-- No acquire information
+
+	return recipecount
+
 end
diff --git a/RecipeDB/ARL-Cook.lua b/RecipeDB/ARL-Cook.lua
index a7408bf..cd3b111 100644
--- a/RecipeDB/ARL-Cook.lua
+++ b/RecipeDB/ARL-Cook.lua
@@ -1,150 +1,1170 @@
 --[[

+************************************************************************
+
 ARL-Cook.lua

 Cooking data for all of AckisRecipeList

+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+122 found from data mining.
+1 ignored.
+5 WotLK ignored.
+
+************************************************************************
+
 $Date$
 $Rev$

+************************************************************************
+
+Format:
+
+	self:addTradeSkill(RecipeDB, Spell ID, Skill Level, Item ID, Rarity, Specialty)
+
+************************************************************************
+
 ]]--

-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-local BZONE		= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-
-local addon = AckisRecipeList
-
-function addon:InitCooking()
-
-	-- Trainer Recipes
-	self:addTradeSkillSpell(2538, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(8604, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(2540, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(37836, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(2539, 10, L["Trainer"],1)
-	self:addTradeSkillSpell(6499, 50, L["Trainer"],1)
-	self:addTradeSkillSpell(2541, 50, L["Trainer"],1)
-	self:addTradeSkillSpell(2544, 75, L["Trainer"],1)
-	self:addTradeSkillSpell(2546, 80, L["Trainer"],1)
-	self:addTradeSkillSpell(6500, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(21175, 200, L["Trainer"],1)
-
-	-- Vendor Recipes
-	self:addTradeSkillSpell(7751, 1, self:CombineVendors(285, 214, 215, 216, 217, 218, 219, 220, 4, false),2)
-	self:addTradeSkillSpell(15935, 1, self:CombineVendors(221, false), BFAC["Horde"],2)
-	self:addTradeSkillSpell(33276, 1, self:CombineVendors(222, false), BFAC["Horde"],2)
-	self:addTradeSkillSpell(7752, 1, self:CombineVendors(223, 218, 224, 225, 226, false),2)
-	self:addTradeSkillSpell(6413, 20, self:CombineVendors(227, false), BFAC["Horde"],2)
-	self:addTradeSkillSpell(6414, 35, self:CombineVendors(228, false), BFAC["Horde"],2)
-	self:addTradeSkillSpell(8607, 40, self:CombineVendors(6, 229, false),2)
-	self:addTradeSkillSpell(6415, 50, self:CombineVendors(230, false), BFAC["Alliance"],2)
-	self:addTradeSkillSpell(7753, 50, self:CombineVendors(215, 216, 231, 217, 232, 219, 225, 4, false),2)
-	self:addTradeSkillSpell(7754, 50, self:CombineVendors(216, false), BFAC["Alliance"],2)
-	self:addTradeSkillSpell(7827, 50, self:CombineVendors(285, 233, 231, 234, 223, 224, 235, 236, 237, 226, false),2)
-	self:addTradeSkillSpell(33278, 50, self:CombineVendors(238, false), BFAC["Horde"],2)
-	self:addTradeSkillSpell(25704, 80, self:CombineVendors(239, 240, 241, 242, 243, 244, 245, 246, 238, 29, 232, 219, 247, 248, 249, 235, 250, 251, 252, false),2)
-	self:addTradeSkillSpell(2545, 85, self:CombineVendors(253, false), BFAC["Alliance"],2)
-	self:addTradeSkillSpell(6501, 90, self:CombineVendors(233, 223, false), BFAC["Alliance"],2)
-	self:addTradeSkillSpell(6418, 100, self:CombineVendors(254, false), BFAC["Horde"],2)
-	self:addTradeSkillSpell(7755, 100, self:CombineVendors(285, 240, 234, 257, 232, 235, 220, false),2)
-	self:addTradeSkillSpell(6419, 110, self:CombineVendors(258, 259, false),2)
-	self:addTradeSkillSpell(2548, 110, self:CombineVendors(253, false), BFAC["Alliance"],2)
-	self:addTradeSkillSpell(15853, 125, self:CombineVendors(260, false),2)
-	self:addTradeSkillSpell(24418, 150, self:CombineVendors(261, false), BFAC["Horde"],2)
-	self:addTradeSkillSpell(7213, 175, self:CombineVendors(246, false),2)
-	self:addTradeSkillSpell(7828, 175, self:CombineVendors(233, 246, 257, 217, 236, 237, 225, 262, 251, false),2)
-	self:addTradeSkillSpell(15855, 175, self:CombineVendors(263, 111, 116, 113, 205, 261, 259, false),2)
-	self:addTradeSkillSpell(15856, 175, self:CombineVendors(264, 260, 265, false),2)
-	self:addTradeSkillSpell(15861, 175, self:CombineVendors(263, 260, 205, false),2)
-	self:addTradeSkillSpell(15863, 175, self:CombineVendors(197, 24, 261, 259, false),2)
-	self:addTradeSkillSpell(15865, 175, self:CombineVendors(116, 266, 260, false),2)
-	self:addTradeSkillSpell(20916, 175, self:CombineVendors(233, 246, 257, 217, 236, 237, 225, 262, 251, false),2)
-	self:addTradeSkillSpell(25954, 175, self:CombineVendors(239, 240, 241, 242, 243, 244, 245, 246, 238, 29, 232, 219, 247, 248, 249, 235, 250, 251, 252, false),2)
-	self:addTradeSkillSpell(15906, 200, self:CombineVendors(116, 261, 260, false),2)
-	self:addTradeSkillSpell(15910, 200, self:CombineVendors(266, 24, 259, false),2)
-	self:addTradeSkillSpell(15915, 225, self:CombineVendors(197, 223, 267, false),2)
-	self:addTradeSkillSpell(15933, 225, self:CombineVendors(169, 268, 170, false),2)
-	self:addTradeSkillSpell(18239, 225, self:CombineVendors(246, false),2)
-	self:addTradeSkillSpell(18238, 225, self:CombineVendors(269, false),2)
-	self:addTradeSkillSpell(18241, 225, self:CombineVendors(246, false),2)
-	self:addTradeSkillSpell(20626, 225, self:CombineVendors(213, false),2)
-	self:addTradeSkillSpell(22480, 225, self:CombineVendors(270, 271, 272, false),2)
-	self:addTradeSkillSpell(18240, 240, self:CombineVendors(269, false),2)
-	self:addTradeSkillSpell(18242, 240, self:CombineVendors(246, false),2)
-	self:addTradeSkillSpell(18243, 250, self:CombineVendors(269, false),2)
-	self:addTradeSkillSpell(18244, 250, self:CombineVendors(269, false),2)
-	self:addTradeSkillSpell(46684, 250, self:CombineVendors(169, 170, false),2)
-	self:addTradeSkillSpell(46688, 250, self:CombineVendors(169, 170, false),2)
-	self:addTradeSkillSpell(18245, 275, self:CombineVendors(264, 265, false),2)
-	self:addTradeSkillSpell(18246, 275, self:CombineVendors(264, 265, false),2)
-	self:addTradeSkillSpell(18247, 275, self:CombineVendors(264, 265, false),2)
-	self:addTradeSkillSpell(33284, 300, self:CombineVendors(273, 274, false),2)
-	self:addTradeSkillSpell(33290, 300, self:CombineVendors(275, 276, false),2)
-	self:addTradeSkillSpell(33291, 300, self:CombineVendors(275, 64, false),2)
-	self:addTradeSkillSpell(33292, 310, self:CombineVendors(277, false),2)
-	self:addTradeSkillSpell(33286, 310, self:CombineVendors(278, 279, false),2)
-	self:addTradeSkillSpell(33293, 320, self:CombineVendors(255, 256, false),2)
-	self:addTradeSkillSpell(33294, 320, self:CombineVendors(255, 256, false),2)
-	self:addTradeSkillSpell(33287, 325, self:CombineVendors(255, 256, false),2)
-	self:addTradeSkillSpell(33288, 325, self:CombineVendors(278, 279, false),2)
-	self:addTradeSkillSpell(33289, 325, self:CombineVendors(255, 256, false),2)
-	self:addTradeSkillSpell(33295, 325, self:CombineVendors(198, 200, false),2)
-	self:addTradeSkillSpell(33296, 350, self:CombineVendors(198, 200, false),2)
-
-	-- World Drops
-
-	-- Specific Drops
-	self:addTradeSkillSpell(33277, 1, self:CombineQuests(L["Roasted Moongraze Tenderloin Obt"],1,BZONE["Azuremyst Isle"]), BFAC["Alliance"],8)
-	self:addTradeSkillSpell(6412, 10, self:CombineQuests(L["Kaldorei Spider Kabob Obt"],1,BZONE["Teldrassil"]), BFAC["Alliance"],8)
-	self:addTradeSkillSpell(2795, 25, self:CombineQuests(L["Beer Basted Boar Ribs Obt"],1,BZONE["Dun Morogh"]) .. addon.br .. self:CombineVendors(253, false), BFAC["Alliance"],2,8)
-	self:addTradeSkillSpell(6416, 50, self:CombineQuests(L["Strider Stew Obt"],1,BZONE["Darkshore"]) .. addon.br .. self:CombineVendors(254, false),2,8)
-	self:addTradeSkillSpell(2542, 50, self:CombineQuests(L["Goretusk Liver Pie Obt"],1,BZONE["Westfall"]) .. addon.br .. self:CombineVendors(253, false), BFAC["Alliance"],2,8)
-	self:addTradeSkillSpell(3371, 60, self:CombineQuests(L["Blood Sausage Obt"],1,BZONE["Loch Modan"]) .. addon.br .. self:CombineVendors(253, false), BFAC["Alliance"],2,8)
-	self:addTradeSkillSpell(9513, 60, self:CombineQuests(L["Thistle Tea Ally Obt"],1,BZONE["Westfall"],L["Thistle Tea Horde Obt"],2,BZONE["The Barrens"]) .. addon.br .. self:CombineVendors(283, false), "ROGUE",2,4,8)
-	self:addTradeSkillSpell(28267, 60, self:CombineQuests(L["Crunchy Spider Surprise Obt"],2,BZONE["Ghostlands"]) .. addon.br .. self:CombineVendors(281, 238, false),2,8)
-	self:addTradeSkillSpell(2543, 75, self:CombineQuests(L["Westfall Stew Obt"],1,BZONE["Westfall"]) .. addon.br .. self:CombineVendors(253, false), BFAC["Alliance"],2,8)
-	self:addTradeSkillSpell(3370, 80, self:CombineQuests(L["Crocolisk Steak Obt"],1,BZONE["Loch Modan"]) .. addon.br .. self:CombineVendors(253, false), BFAC["Alliance"],2,8)
-	self:addTradeSkillSpell(8238, 85, L["UZD"] .. BZONE["The Barrens"])
-	self:addTradeSkillSpell(3372, 90, self:CombineQuests(L["Murloc Fin Soup Obt"],1,BZONE["Redridge Mountains"]) .. addon.br .. self:CombineVendors(253, false), BFAC["Alliance"],2,8)
-	self:addTradeSkillSpell(6417, 90, self:CombineQuests(L["Dig Rat Stew Obt"],2,BZONE["The Barrens"]), BFAC["Horde"],8)
-	self:addTradeSkillSpell(45695, 100, L["Fishing Daily"],8)
-	self:addTradeSkillSpell(2547, 100, self:CombineQuests(L["Redridge Goulash Obt"],1,BZONE["Redridge Mountains"]) .. addon.br .. self:CombineVendors(253, false), BFAC["Alliance"],2,8)
-	self:addTradeSkillSpell(2549, 100, self:CombineQuests(L["Seasoned Wolf Kabob Obt"],1,BZONE["Duskwood"]) .. addon.br .. self:CombineVendors(253, false), BFAC["Alliance"],2,8)
-	self:addTradeSkillSpell(3377, 110, self:CombineQuests(L["Gooey Spider Cake Obt"],1,BZONE["Duskwood"]) .. addon.br .. self:CombineVendors(253, false), BFAC["Alliance"],2,8)
-	self:addTradeSkillSpell(3397, 110, self:CombineQuests(L["Big Bear Steak Obt"],2,BZONE["Hillsbrad Foothills"]) .. addon.br .. self:CombineVendors(260, 258, false),2,8)
-	self:addTradeSkillSpell(3373, 120, self:CombineQuests(L["Crocolisk Gumbo Obt"],1,BZONE["Wetlands"]) .. addon.br .. self:CombineVendors(253, false), BFAC["Alliance"],2,8)
-	self:addTradeSkillSpell(3398, 125, self:CombineQuests(L["Hot Lion Chops Obt"],2,BZONE["Hillsbrad Foothills"]) .. addon.br .. self:CombineVendors(259, 282, false),2,8)
-	self:addTradeSkillSpell(3376, 130, self:CombineQuests(L["Curiously Tasty Omelet Obt"],1,BZONE["Wetlands"]) .. addon.br .. self:CombineVendors(113, 253, 205, false),2,8)
-	self:addTradeSkillSpell(3399, 150, self:CombineQuests(L["Tasty Lion Steak Obt"],1,BZONE["Hillsbrad Foothills"]), BFAC["Alliance"],8)
-	self:addTradeSkillSpell(3400, 175, self:CombineQuests(L["Soothing Turtle Bisque Obt"],0,BZONE["Hillsbrad Foothills"]),8)
-	self:addTradeSkillSpell(4094, 175, self:CombineQuests(L["Barbecued Buzzard Wing Obt"],0,BZONE["Badlands"]) .. addon.br .. self:CombineVendors(280, 260, false),2,8)
-	self:addTradeSkillSpell(13028, 175, L["Goldthorn Tea Obt"],1)
-	self:addTradeSkillSpell(22761, 275, self:CombineMobs(false,L["Runn Tum Tuber Surprise Obt"],BZONE["Dire Maul"]),4,5)
-	self:addTradeSkillSpell(24801, 285, self:CombineQuests(L["Smoked Desert Dumplings Obt"],0,BZONE["Silithus"]),8)
-	self:addTradeSkillSpell(25659, 300, self:CombineQuests(L["Dirge's Kickin' Chimaerok Chops Obt"],0,BZONE["Tanaris"]),6,8)
-	self:addTradeSkillSpell(43779, 325, L["Cooking Daily"],8)
-	self:addTradeSkillSpell(33279, 300, self:CombineQuests(L["Buzzard Bites Obt"],0,BZONE["Hellfire Peninsula"]),8)
-	self:addTradeSkillSpell(43772, 300, L["Cooking Daily"],8)
-	self:addTradeSkillSpell(43761, 300, L["Cooking Daily"],8)
-	self:addTradeSkillSpell(43758, 300, L["Cooking Daily"],8)
-	self:addTradeSkillSpell(42296, 310, L["Stewed Trout Obt"],1)
-	self:addTradeSkillSpell(43765, 325, L["Cooking Daily"],8)
-	self:addTradeSkillSpell(43707, 325, L["Cooking Daily"],8)
-	self:addTradeSkillSpell(38868, 335, self:CombineQuests(L["Crunchy Serpent Obt"],1,BZONE["Blade's Edge Mountains"]) .. addon.br .. self:CombineVendors(284, false),2,8)
-	self:addTradeSkillSpell(38867, 335, self:CombineQuests(L["Crunchy Serpent Obt"],1,BZONE["Blade's Edge Mountains"]) .. addon.br .. self:CombineVendors(284, false),2,8)
-	self:addTradeSkillSpell(42302, 350, L["Stewed Trout Obt"],1)
-	self:addTradeSkillSpell(42305, 350, L["Stewed Trout Obt"],1)
-
-	-- Seasonal
-	self:addTradeSkillSpell(21143, 1, L["WintersVeil"], 7)
-	self:addTradeSkillSpell(21144, 35, L["WintersVeil"], 7)
-	self:addTradeSkillSpell(45022, 325, L["WintersVeil"], 7)
-
-	-- Reputations
-	self:addTradeSkillSpell(36210, 300, self:AddSingleReputation(1, BFAC["Sporeggar"]), BFAC["Sporeggar"])
-	self:addTradeSkillSpell(33285, 310, self:AddSingleReputation(1, BFAC["Sporeggar"]), BFAC["Sporeggar"])
-
-	-- Raid Drops
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+function addon:InitCooking(RecipeDB)
+
+	local recipecount = 0
+
+	-- Charred Wolf Meat -- 2538
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2538, 5, 2679, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2538, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Spiced Wolf Meat -- 2539
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2539, 10, 2680, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2539, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2539, 1, 1355, 1, 1382, 1, 1430, 1, 1699, 1, 3026, 1, 3067, 1, 3087, 1, 3399, 1, 4210, 1, 4552, 1, 5159, 1, 5482, 1, 6286, 1, 8306, 1, 16253, 1, 16277, 1, 16676, 1, 16719, 1, 17246, 1, 18987, 1, 18988, 1, 18993, 1, 19185, 1, 19369)
+
+	-- Roasted Boar Meat -- 2540
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2540, 5, 2681, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2540, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Coyote Steak -- 2541
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2541, 50, 2684, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2541, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2541, 1, 1355, 1, 1382, 1, 1430, 1, 1699, 1, 3026, 1, 3067, 1, 3087, 1, 3399, 1, 4210, 1, 4552, 1, 5159, 1, 5482, 1, 6286, 1, 8306, 1, 16253, 1, 16277, 1, 16676, 1, 16719, 1, 17246, 1, 18987, 1, 18988, 1, 18993, 1, 19185, 1, 19369)
+
+	-- Goretusk Liver Pie -- 2542
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2542, 50, 724, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2542, 1,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 2542, 4, 22, 2, 340)
+
+	-- Westfall Stew -- 2543
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2543, 75, 733, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2543, 1,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 2543, 4, 38, 2, 340)
+
+	-- Crab Cake -- 2544
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2544, 75, 2683, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2544, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2544, 1, 1355, 1, 1382, 1, 1430, 1, 1699, 1, 3026, 1, 3067, 1, 3087, 1, 3399, 1, 4210, 1, 4552, 1, 5159, 1, 5482, 1, 6286, 1, 8306, 1, 16253, 1, 16277, 1, 16676, 1, 16719, 1, 17246, 1, 18987, 1, 18988, 1, 18993, 1, 19185, 1, 19369)
+
+	-- Cooked Crab Claw -- 2545
+	-- World Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2545, 85, 2682, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2545, 1,4,10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 2545, 7, 1, 2, 340)
+
+	-- Dry Pork Ribs -- 2546
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2546, 80, 2687, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2546, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2546, 1, 1355, 1, 1382, 1, 1430, 1, 1699, 1, 3026, 1, 3067, 1, 3087, 1, 3399, 1, 4210, 1, 4552, 1, 5159, 1, 5482, 1, 6286, 1, 8306, 1, 16253, 1, 16277, 1, 16676, 1, 16719, 1, 17246, 1, 18987, 1, 18988, 1, 18993, 1, 19185, 1, 19369)
+
+	-- Redridge Goulash -- 2547
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2547, 95, 1082, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2547, 1,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 2547, 4, 92, 2, 340)
+
+	-- Succulent Pork Ribs -- 2548
+	-- World Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2548, 90, 2685, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2548, 1,4,10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 2548, 7, 1, 2, 340)
+
+	-- Seasoned Wolf Kabob -- 2549
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2549, 100, 1017, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2549, 1,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 2549, 4, 90, 2, 340)
+
+	-- Beer Basted Boar Ribs -- 2795
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2795, 20, 2888, 1, 2550)
+	self:addTradeFlags(RecipeDB, 2795, 1,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 2795, 4, 384, 2, 340)
+
+	-- Crocolisk Steak -- 3370
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3370, 80, 3662, 1, 2550)
+	self:addTradeFlags(RecipeDB, 3370, 1,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3370, 4, 385, 2, 340)
+
+	-- Blood Sausage -- 3371
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3371, 60, 3220, 1, 2550)
+	self:addTradeFlags(RecipeDB, 3371, 1,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3371, 4, 418, 2, 340)
+
+	-- Murloc Fin Soup -- 3372
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3372, 90, 3663, 1, 2550)
+	self:addTradeFlags(RecipeDB, 3372, 1,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3372, 4, 127, 2, 340)
+
+	-- Crocolisk Gumbo -- 3373
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3373, 120, 3664, 1, 2550)
+	self:addTradeFlags(RecipeDB, 3373, 1,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3373, 4, 471, 2, 340)
+
+	-- Curiously Tasty Omelet -- 3376
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3376, 130, 3665, 1, 2550)
+	self:addTradeFlags(RecipeDB, 3376, 1,2,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3376, 4, 296, 2, 340, 2, 1148, 2, 2821)
+
+	-- Gooey Spider Cake -- 3377
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3377, 110, 3666, 1, 2550)
+	self:addTradeFlags(RecipeDB, 3377, 1,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3377, 4, 93, 2, 340)
+
+	-- Big Bear Steak -- 3397
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3397, 110, 3726, 1, 2550)
+	self:addTradeFlags(RecipeDB, 3397, 1,2,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3397, 4, 498, 2, 3960, 2, 12246)
+
+	-- Hot Lion Chops -- 3398
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3398, 135, 3727, 1, 2550)
+	self:addTradeFlags(RecipeDB, 3398, 1,2,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3398, 4, 501, 2, 3489, 2, 12245)
+
+	-- Tasty Lion Steak -- 3399
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3399, 150, 3728, 1, 2550)
+	self:addTradeFlags(RecipeDB, 3399, 1,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3399, 4, 564)
+
+	-- Soothing Turtle Bisque -- 3400
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3400, 175, 3729, 1, 2550)
+	self:addTradeFlags(RecipeDB, 3400, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3400, 4, 555, 4, 7321)
+
+	-- Barbecued Buzzard Wing -- 4094
+	-- Trainer
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 4094, 175, 4457, 1, 2550)
+	self:addTradeFlags(RecipeDB, 4094, 1,2,3,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 4094, 4, 703, 1, 2818, 2, 2814, 2, 12246)
+
+	-- Kaldorei Spider Kabob -- 6412
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6412, 10, 5472, 1, 2550)
+	self:addTradeFlags(RecipeDB, 6412, 1,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6412, 4, 4161)
+
+	-- Scorpid Surprise -- 6413
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6413, 20, 5473, 1, 2550)
+	self:addTradeFlags(RecipeDB, 6413, 2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6413, 2, 3881)
+
+	-- Roasted Kodo Meat -- 6414
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6414, 35, 5474, 1, 2550)
+	self:addTradeFlags(RecipeDB, 6414, 2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6414, 2, 3081)
+
+	-- Fillet of Frenzy -- 6415
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6415, 50, 5476, 1, 2550)
+	self:addTradeFlags(RecipeDB, 6415, 1,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6415, 2, 4200)
+
+	-- Strider Stew -- 6416
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6416, 50, 5477, 1, 2550)
+	self:addTradeFlags(RecipeDB, 6416, 1,2,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6416, 4, 2178, 2, 3482)
+
+	-- Dig Rat Stew -- 6417
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6417, 90, 5478, 1, 2550)
+	self:addTradeFlags(RecipeDB, 6417, 2,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6417, 4, 862)
+
+	-- Crispy Lizard Tail -- 6418
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6418, 100, 5479, 1, 2550)
+	self:addTradeFlags(RecipeDB, 6418, 2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6418, 2, 3482)
+
+	-- Lean Venison -- 6419
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6419, 110, 5480, 1, 2550)
+	self:addTradeFlags(RecipeDB, 6419, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6419, 2, 3960, 2, 12245)
+
+	-- Boiled Clams -- 6499
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6499, 50, 5525, 1, 2550)
+	self:addTradeFlags(RecipeDB, 6499, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 6499, 1, 1355, 1, 1382, 1, 1430, 1, 1699, 1, 3026, 1, 3067, 1, 3087, 1, 3399, 1, 4210, 1, 4552, 1, 5159, 1, 5482, 1, 6286, 1, 8306, 1, 16253, 1, 16277, 1, 16676, 1, 16719, 1, 17246, 1, 18987, 1, 18988, 1, 18993, 1, 19185, 1, 19369)
+
+	-- Goblin Deviled Clams -- 6500
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6500, 125, 5527, 1, 2550)
+	self:addTradeFlags(RecipeDB, 6500, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 6500, 1, 1355, 1, 1382, 1, 1430, 1, 1699, 1, 3026, 1, 3067, 1, 3087, 1, 3399, 1, 4210, 1, 4552, 1, 5159, 1, 5482, 1, 6286, 1, 8306, 1, 16253, 1, 16277, 1, 16676, 1, 16719, 1, 17246, 1, 18987, 1, 18988, 1, 18993, 1, 19185, 1, 19369)
+
+	-- Clam Chowder -- 6501
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6501, 90, 5526, 1, 2550)
+	self:addTradeFlags(RecipeDB, 6501, 1,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6501, 2, 4305, 2, 4307)
+
+	-- Giant Clam Scorcho -- 7213
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7213, 175, 6038, 1, 2550)
+	self:addTradeFlags(RecipeDB, 7213, 1,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7213, 2, 2664)
+
+	-- Brilliant Smallfish -- 7751
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7751, 5, 6290, 1, 2550)
+	self:addTradeFlags(RecipeDB, 7751, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7751, 2, 66, 2, 1684, 2, 3029, 2, 3550, 2, 4265, 2, 4574, 2, 5494, 2, 5940, 2, 8508)
+
+	-- Slitherskin Mackerel -- 7752
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7752, 5, 787, 1, 2550)
+	self:addTradeFlags(RecipeDB, 7752, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7752, 2, 3550, 2, 4305, 2, 5162, 2, 5942, 2, 10118)
+
+	-- Longjaw Mud Snapper -- 7753
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7753, 50, 4592, 1, 2550)
+	self:addTradeFlags(RecipeDB, 7753, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7753, 2, 66, 2, 1684, 2, 3027, 2, 4265, 2, 4574, 2, 5162, 2, 5748, 2, 5940)
+
+	-- Loch Frenzy Delight -- 7754
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7754, 50, 6316, 1, 2550)
+	self:addTradeFlags(RecipeDB, 7754, 1,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7754, 2, 1684)
+
+	-- Bristle Whisker Catfish -- 7755
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7755, 100, 4593, 1, 2550)
+	self:addTradeFlags(RecipeDB, 7755, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7755, 2, 2383, 2, 2397, 2, 3027, 2, 3029, 2, 3497, 2, 4553, 2, 5494)
+
+	-- Rainbow Fin Albacore -- 7827
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7827, 50, 5095, 1, 2550)
+	self:addTradeFlags(RecipeDB, 7827, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7827, 2, 3178, 2, 3333, 2, 3497, 2, 4305, 2, 4307, 2, 4553, 2, 5494, 2, 5748, 2, 5942, 2, 10118)
+
+	-- Rockscale Cod -- 7828
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7828, 150, 4594, 1, 2550)
+	self:addTradeFlags(RecipeDB, 7828, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7828, 2, 2383, 2, 2664, 2, 3178, 2, 3333, 2, 4307, 2, 4574, 2, 5162, 2, 12033, 2, 12962)
+
+	-- Savory Deviate Delight -- 8238
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8238, 85, 6657, 2, 2550)
+	self:addTradeFlags(RecipeDB, 8238, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 8238, 7, 2)
+
+	-- Herb Baked Egg -- 8604
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8604, 5, 6888, 1, 2550)
+	self:addTradeFlags(RecipeDB, 8604, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Smoked Bear Meat -- 8607
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8607, 40, 6890, 1, 2550)
+	self:addTradeFlags(RecipeDB, 8607, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 8607, 2, 1465, 2, 3556)
+
+	-- Thistle Tea -- 9513
+	-- Vendor
+	-- Quest Reward
+	-- Flags: Rogue, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9513, 60, 7676, 2, 2550)
+	self:addTradeFlags(RecipeDB, 9513, 1,2,4,8,28,36,41)
+	self:addTradeAcquire(RecipeDB, 9513, 4, 2359, 4, 2478, 2, 6779)
+
+	-- Goldthorn Tea -- 13028
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13028, 175, 10841, 1, 2550)
+	self:addTradeFlags(RecipeDB, 13028, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Lean Wolf Steak -- 15853
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15853, 125, 12209, 1, 2550)
+	self:addTradeFlags(RecipeDB, 15853, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 15853, 2, 12246)
+
+	-- Roast Raptor -- 15855
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15855, 175, 12210, 1, 2550)
+	self:addTradeFlags(RecipeDB, 15855, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 15855, 2, 734, 2, 1148, 2, 2810, 2, 2821, 2, 4879, 2, 4897, 2, 12245)
+
+	-- Hot Wolf Ribs -- 15856
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15856, 175, 13851, 1, 2550)
+	self:addTradeFlags(RecipeDB, 15856, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 15856, 2, 7947, 2, 8145, 2, 12246)
+
+	-- Jungle Stew -- 15861
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15861, 175, 12212, 1, 2550)
+	self:addTradeFlags(RecipeDB, 15861, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 15861, 2, 734, 2, 1148, 2, 12245)
+
+	-- Carrion Surprise -- 15863
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15863, 175, 12213, 1, 2550)
+	self:addTradeFlags(RecipeDB, 15863, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 15863, 2, 989, 2, 4879, 2, 9636, 2, 12245)
+
+	-- Mystery Stew -- 15865
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15865, 175, 12214, 1, 2550)
+	self:addTradeFlags(RecipeDB, 15865, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 15865, 2, 4897, 2, 8150, 2, 12246)
+
+	-- Dragonbreath Chili -- 15906
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15906, 200, 12217, 1, 2550)
+	self:addTradeFlags(RecipeDB, 15906, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 15906, 2, 4879, 2, 4897, 2, 12246)
+
+	-- Heavy Kodo Stew -- 15910
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15910, 200, 12215, 1, 2550)
+	self:addTradeFlags(RecipeDB, 15910, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 15910, 2, 8150, 2, 9636, 2, 12245)
+
+	-- Spiced Chili Crab -- 15915
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15915, 225, 12216, 1, 2550)
+	self:addTradeFlags(RecipeDB, 15915, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 15915, 2, 989, 2, 1149, 2, 4305)
+
+	-- Monster Omelet -- 15933
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15933, 225, 12218, 1, 2550)
+	self:addTradeFlags(RecipeDB, 15933, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 15933, 2, 2803, 2, 2806, 2, 11187)
+
+	-- Crispy Bat Wing -- 15935
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15935, 5, 12224, 1, 2550)
+	self:addTradeFlags(RecipeDB, 15935, 2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 15935, 2, 2118)
+
+	-- Spotted Yellowtail -- 18238
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18238, 225, 6887, 1, 2550)
+	self:addTradeFlags(RecipeDB, 18238, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18238, 2, 8137)
+
+	-- Cooked Glossy Mightfish -- 18239
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18239, 225, 13927, 1, 2550)
+	self:addTradeFlags(RecipeDB, 18239, 1,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18239, 2, 2664)
+
+	-- Grilled Squid -- 18240
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18240, 240, 13928, 1, 2550)
+	self:addTradeFlags(RecipeDB, 18240, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18240, 2, 8137)
+
+	-- Filet of Redgill -- 18241
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18241, 225, 13930, 1, 2550)
+	self:addTradeFlags(RecipeDB, 18241, 1,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18241, 2, 2664)
+
+	-- Hot Smoked Bass -- 18242
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18242, 240, 13929, 1, 2550)
+	self:addTradeFlags(RecipeDB, 18242, 1,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18242, 2, 2664)
+
+	-- Nightfin Soup -- 18243
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18243, 255, 13931, 1, 2550)
+	self:addTradeFlags(RecipeDB, 18243, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18243, 2, 8137)
+
+	-- Poached Sunscale Salmon -- 18244
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18244, 255, 13932, 1, 2550)
+	self:addTradeFlags(RecipeDB, 18244, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18244, 2, 8137)
+
+	-- Lobster Stew -- 18245
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18245, 275, 13933, 1, 2550)
+	self:addTradeFlags(RecipeDB, 18245, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18245, 2, 7947, 2, 8145)
+
+	-- Mightfish Steak -- 18246
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18246, 275, 13934, 1, 2550)
+	self:addTradeFlags(RecipeDB, 18246, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18246, 2, 7947, 2, 8145)
+
+	-- Baked Salmon -- 18247
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18247, 275, 13935, 1, 2550)
+	self:addTradeFlags(RecipeDB, 18247, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18247, 2, 7947, 2, 8145)
+
+	-- Undermine Clam Chowder -- 20626
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20626, 225, 16766, 1, 2550)
+	self:addTradeFlags(RecipeDB, 20626, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20626, 2, 8139)
+
+	-- Mithril Headed Trout -- 20916
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20916, 175, 8364, 1, 2550)
+	self:addTradeFlags(RecipeDB, 20916, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20916, 2, 2383, 2, 2664, 2, 3178, 2, 3333, 2, 4307, 2, 4574, 2, 5162, 2, 12033, 2, 12962)
+
+	-- Gingerbread Cookie -- 21143
+	-- No location information
+	-- No location information
+	-- No location information
+	-- No location information
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 21143, 5, 17197, 1, 2550)
+	self:addTradeFlags(RecipeDB, 21143, 1,2,4,7,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 21143, 5, 1, 2, 13420, 2, 13429, 2, 13432, 2, 13433)
+
+	-- Egg Nog -- 21144
+	-- No location information
+	-- No location information
+	-- No location information
+	-- No location information
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 21144, 35, 17198, 1, 2550)
+	self:addTradeFlags(RecipeDB, 21144, 1,2,4,7,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 21144, 5, 1, 2, 13420, 2, 13429, 2, 13432, 2, 13433)
+
+	-- Spider Sausage -- 21175
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 21175, 200, 17222, 1, 2550)
+	self:addTradeFlags(RecipeDB, 21175, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 21175, 1, 1355, 1, 1382, 1, 1430, 1, 1699, 1, 3026, 1, 3067, 1, 3087, 1, 3399, 1, 4210, 1, 4552, 1, 5159, 1, 5482, 1, 6286, 1, 8306, 1, 16253, 1, 16277, 1, 16676, 1, 16719, 1, 17246, 1, 18987, 1, 18988, 1, 18993, 1, 19185, 1, 19369)
+
+	-- Tender Wolf Steak -- 22480
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22480, 225, 18045, 1, 2550)
+	self:addTradeFlags(RecipeDB, 22480, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 22480, 2, 4782, 2, 7733, 2, 8125)
+
+	-- Runn Tum Tuber Surprise -- 22761
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22761, 275, 18254, 2, 2550)
+	self:addTradeFlags(RecipeDB, 22761, 5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 22761, 3, 14354)
+
+	-- Heavy Crocolisk Stew -- 24418
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24418, 120, 20074, 1, 2550)
+	self:addTradeFlags(RecipeDB, 24418, 2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 24418, 2, 4879)
+
+	-- Smoked Desert Dumplings -- 24801
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24801, 285, 20452, 1, 2550)
+	self:addTradeFlags(RecipeDB, 24801, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Dirge's Kickin' Chimaerok Chops -- 25659
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25659, 300, 21023, 4, 2550)
+	self:addTradeFlags(RecipeDB, 25659, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 25659, 4, 8586)
+
+	-- Smoked Sagefish -- 25704
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25704, 80, 21072, 1, 2550)
+	self:addTradeFlags(RecipeDB, 25704, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 25704, 2, 2381, 2, 2397, 2, 2664, 2, 3027, 2, 3085, 2, 3400, 2, 4223, 2, 4265, 2, 4553, 2, 5160, 2, 5483, 2, 8307, 2, 12033, 2, 14738, 2, 16253, 2, 16677, 2, 16718, 2, 17246, 2, 19195)
+
+	-- Sagefish Delight -- 25954
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25954, 175, 21217, 1, 2550)
+	self:addTradeFlags(RecipeDB, 25954, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 25954, 2, 2381, 2, 2397, 2, 2664, 2, 3027, 2, 3085, 2, 3400, 2, 4223, 2, 4265, 2, 4553, 2, 5160, 2, 5483, 2, 8307, 2, 12033, 2, 14738, 2, 16253, 2, 16677, 2, 16718, 2, 17246, 2, 19195)
+
+	-- Crunchy Spider Surprise -- 28267
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28267, 60, 22645, 1, 2550)
+	self:addTradeFlags(RecipeDB, 28267, 1,2,4,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28267, 4, 9171, 2, 16253, 2, 18427)
+
+	-- Crystal Throat Lozenge -- 30047
+	-- Trainer
+	-- Flags: All classes, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 30047, 285, 23683, , 2550)
+	--self:addTradeFlags(RecipeDB, 30047, 3,21,22,23,24,25,26,27,28,29,30,41)
+	-- No acquire information
+
+	-- Lynx Steak -- 33276
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33276, 5, 27635, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33276, 2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33276, 2, 16262)
+
+	-- Roasted Moongraze Tenderloin -- 33277
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33277, 5, 24105, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33277, 1,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33277, 4, 9454)
+
+	-- Bat Bites -- 33278
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33278, 50, 27636, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33278, 2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33278, 2, 16253)
+
+	-- Buzzard Bites -- 33279
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33279, 300, 27651, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33279, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33279, 4, 9356)
+
+	-- Ravager Dog -- 33284
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33284, 300, 27655, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33284, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33284, 2, 16585, 2, 16826)
+
+	-- Sporeling Snack -- 33285
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33285, 310, 27656, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33285, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33285, 2, 18382)
+
+	-- Blackened Basilisk -- 33286
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33286, 315, 27657, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33286, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33286, 2, 18957, 2, 19038)
+
+	-- Roasted Clefthoof -- 33287
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33287, 325, 27658, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33287, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33287, 2, 20096, 2, 20097)
+
+	-- Warp Burger -- 33288
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33288, 325, 27659, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33288, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33288, 2, 18957, 2, 19038)
+
+	-- Talbuk Steak -- 33289
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33289, 325, 27660, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33289, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33289, 2, 20096, 2, 20097)
+
+	-- Blackened Trout -- 33290
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33290, 300, 27661, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33290, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33290, 2, 18015, 2, 20028)
+
+	-- Feltail Delight -- 33291
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33291, 300, 27662, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33291, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33291, 2, 18011, 2, 20028)
+
+	-- Blackened Sporefish -- 33292
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33292, 310, 27663, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33292, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33292, 2, 18911)
+
+	-- Grilled Mudfish -- 33293
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33293, 320, 27664, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33293, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33293, 2, 20096, 2, 20097)
+
+	-- Poached Bluefish -- 33294
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33294, 320, 27665, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33294, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33294, 2, 20096, 2, 20097)
+
+	-- Golden Fish Sticks -- 33295
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33295, 325, 27666, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33295, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33295, 2, 18960, 2, 19296)
+
+	-- Spicy Crawdad -- 33296
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33296, 350, 27667, 1, 2550)
+	self:addTradeFlags(RecipeDB, 33296, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33296, 2, 18960, 2, 19296)
+
+	-- Clam Bar -- 36210
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36210, 300, 30155, 1, 2550)
+	self:addTradeFlags(RecipeDB, 36210, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 36210, 2, 18382)
+
+	-- Spice Bread -- 37836
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 37836, 20, 30816, 1, 2550)
+	self:addTradeFlags(RecipeDB, 37836, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 37836, 1, 1355, 1, 1382, 1, 1430, 1, 1699, 1, 3026, 1, 3067, 1, 3087, 1, 3399, 1, 4210, 1, 4552, 1, 5159, 1, 5482, 1, 6286, 1, 8306, 1, 16253, 1, 16277, 1, 16676, 1, 16719, 1, 17246, 1, 18987, 1, 18988, 1, 18993, 1, 19185, 1, 19369)
+
+	-- Mok'Nathal Shortribs -- 38867
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38867, 335, 31672, 1, 2550)
+	self:addTradeFlags(RecipeDB, 38867, 1,2,4,8,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 38867, 4, 10860, 2, 21113)
+
+	-- Crunchy Serpent -- 38868
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38868, 335, 31673, 1, 2550)
+	self:addTradeFlags(RecipeDB, 38868, 1,2,4,8,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 38868, 4, 10860, 2, 21113)
+
+	-- Stewed Trout -- 42296
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42296, 315, 33048, 1, 2550)
+	self:addTradeFlags(RecipeDB, 42296, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 42296, 1, 19186)
+
+	-- Fisherman's Feast -- 42302
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42302, 365, 33052, 1, 2550)
+	self:addTradeFlags(RecipeDB, 42302, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 42302, 1, 19186)
+
+	-- Hot Buttered Trout -- 42305
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42305, 365, 33053, 1, 2550)
+	self:addTradeFlags(RecipeDB, 42305, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 42305, 1, 19186)
+
+	-- Skullfish Soup -- 43707
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 43707, 315, 33825, 2, 2550)
+	self:addTradeFlags(RecipeDB, 43707, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 43707, 3, 19678, 3, 24393)
+
+	-- Stormchops -- 43758
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 43758, 300, 33866, 3, 2550)
+	self:addTradeFlags(RecipeDB, 43758, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 43758, 3, 19246, 3, 19338, 3, 19351, 3, 24393)
+
+	-- Broiled Bloodfin -- 43761
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 43761, 300, 33867, 2, 2550)
+	self:addTradeFlags(RecipeDB, 43761, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 43761, 3, 18940, 3, 18962, 3, 24393)
+
+	-- Spicy Hot Talbuk -- 43765
+	-- Instance: 3716 - type5category3maxlevel65territory1expansion1minlevel63nameCoilfang Reservoir: The Underbogid3716
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 43765, 315, 33872, 2, 2550)
+	self:addTradeFlags(RecipeDB, 43765, 5,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 43765, 3, 2457, 3, 13797, 3, 17723, 3, 19045, 3, 20613, 3, 20807, 3, 24393)
+
+	-- Kibler's Bits -- 43772
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 43772, 325, 33874, 2, 2550)
+	self:addTradeFlags(RecipeDB, 43772, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 43772, 3, 19246, 3, 24393, 3, 24416)
+
+	-- Delicious Chocolate Cake -- 43779
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 43779, 25, 33924, 3, 2550)
+	self:addTradeFlags(RecipeDB, 43779, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 43779, 3, 19034, 3, 19047, 3, 19318, 3, 20807, 3, 24393)
+
+	-- Shoveltusk Soup -- 44438
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44438, 375, 34125, 1, 2550)
+	--self:addTradeFlags(RecipeDB, 44438, 8,21,22,23,24,25,26,27,28,29,30,36,41)
+	--self:addTradeAcquire(RecipeDB, 44438, 4, 11155)
+
+	-- Hot Apple Cider -- 45022
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 45022, 325, 34411, 1, 2550)
+	self:addTradeFlags(RecipeDB, 45022, 3,7,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 45022, 5, 1)
+
+	-- Succulent Orca Stew -- 45547
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 45547, 375, 39691, 1, 2550)
+	--self:addTradeFlags(RecipeDB, 45547, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Cooked Northrend Meat -- 45559
+	-- Trainer
+	-- Flags: All classes, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 45559, 375, 34758, , 2550)
+	--self:addTradeFlags(RecipeDB, 45559, 3,21,22,23,24,25,26,27,28,29,30,41)
+	-- No acquire information
+
+	-- Cooked Northrend Fish -- 45571
+	-- Trainer
+	-- Flags: All classes, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 45571, 375, 34770, , 2550)
+	--self:addTradeFlags(RecipeDB, 45571, 3,21,22,23,24,25,26,27,28,29,30,41)
+	-- No acquire information
+
+	-- Captain Rumsey's Lager -- 45695
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 45695, 90, 34832, 2, 2550)
+	self:addTradeFlags(RecipeDB, 45695, 21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Charred Bear Kabobs -- 46684
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46684, 255, 35563, 1, 2550)
+	self:addTradeFlags(RecipeDB, 46684, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 46684, 2, 2803, 2, 2806)
+
+	-- Juicy Bear Burger -- 46688
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46688, 255, 35565, 1, 2550)
+	self:addTradeFlags(RecipeDB, 46688, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 46688, 2, 2803, 2, 2806)
+
+	-- Kungaloosh -- 53056
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53056, 380, 39520, 1, 2550)
+	--self:addTradeFlags(RecipeDB, 53056, 8,21,22,23,24,25,26,27,28,29,30,36,41)
+	--self:addTradeAcquire(RecipeDB, 53056, 4, 12645)
+
+	return recipecount

 end
diff --git a/RecipeDB/ARL-Enchant.lua b/RecipeDB/ARL-Enchant.lua
index cfd4894..f17cefd 100644
--- a/RecipeDB/ARL-Enchant.lua
+++ b/RecipeDB/ARL-Enchant.lua
@@ -1,270 +1,2632 @@
 --[[

+************************************************************************
+
 ARL-Enchant.lua

 Enchanting data for all of AckisRecipeList

+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+276 found from data mining.
+1 ignored.
+54 WotLK ignored.
+
+************************************************************************
+
 $Date$
 $Rev$

+************************************************************************
+
+Format:
+
+	self:addTradeSkill(RecipeDB, Spell ID, Skill Level, Item ID, Rarity, Specialty)
+
+************************************************************************
+
 ]]--

-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-local BZONE		= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local BBOSS		= LibStub("LibBabble-Boss-3.0"):GetLookupTable()
-
-local addon = AckisRecipeList
-
-function addon:InitEnchanting()
-
-	-- Trainer Recipes
-	self:addTradeSkillSpell(7418, 1, L["Trainer"], 1)
-	self:addTradeSkillSpell(7428, 1, L["Trainer"], 1)
-	self:addTradeSkillSpell(7421, 1, L["Trainer"], 1)
-	self:addTradeSkillSpell(7420, 15, L["Trainer"], 1)
-	self:addTradeSkillSpell(14293, 15, L["Trainer"], 1)
-	self:addTradeSkillSpell(7426, 40, L["Trainer"], 1)
-	self:addTradeSkillSpell(7454, 45, L["Trainer"], 1)
-	self:addTradeSkillSpell(7457, 50, L["Trainer"], 1)
-	self:addTradeSkillSpell(7748, 60, L["Trainer"], 1)
-	self:addTradeSkillSpell(7771, 70, L["Trainer"], 1)
-	self:addTradeSkillSpell(14807, 70, L["Trainer"], 1)
-	self:addTradeSkillSpell(7779, 80, L["Trainer"], 1)
-	self:addTradeSkillSpell(7788, 90, L["Trainer"], 1)
-	self:addTradeSkillSpell(7745, 100, L["Trainer"], 1)
-	self:addTradeSkillSpell(7795, 100, L["Trainer"], 1)
-	self:addTradeSkillSpell(13378, 105, L["Trainer"], 1)
-	self:addTradeSkillSpell(13421, 115, L["Trainer"], 1)
-	self:addTradeSkillSpell(7857, 120, L["Trainer"], 1)
-	self:addTradeSkillSpell(7861, 125, L["Trainer"], 1)
-	self:addTradeSkillSpell(7863, 125, L["Trainer"], 1)
-	self:addTradeSkillSpell(13501, 130, L["Trainer"], 1)
-	self:addTradeSkillSpell(13485, 130, L["Trainer"], 1)
-	self:addTradeSkillSpell(13503, 140, L["Trainer"], 1)
-	self:addTradeSkillSpell(13538, 140, L["Trainer"], 1)
-	self:addTradeSkillSpell(13529, 145, L["Trainer"], 1)
-	self:addTradeSkillSpell(13607, 145, L["Trainer"], 1)
-	self:addTradeSkillSpell(13626, 150, L["Trainer"], 1)
-	self:addTradeSkillSpell(13628, 150, L["Trainer"], 1)
-	self:addTradeSkillSpell(14809, 155, L["Trainer"], 1)
-	self:addTradeSkillSpell(13622, 150, L["Trainer"], 1)
-	self:addTradeSkillSpell(13631, 155, L["Trainer"], 1)
-	self:addTradeSkillSpell(13635, 155, L["Trainer"], 1)
-	self:addTradeSkillSpell(13637, 160, L["Trainer"], 1)
-	self:addTradeSkillSpell(13640, 160, L["Trainer"], 1)
-	self:addTradeSkillSpell(13642, 165, L["Trainer"], 1)
-	self:addTradeSkillSpell(13644, 170, L["Trainer"], 1)
-	self:addTradeSkillSpell(13648, 170, L["Trainer"], 1)
-	self:addTradeSkillSpell(13657, 175, L["Trainer"], 1)
-	self:addTradeSkillSpell(14810, 175, L["Trainer"], 1)
-	self:addTradeSkillSpell(13659, 180, L["Trainer"], 1)
-	self:addTradeSkillSpell(13661, 180, L["Trainer"], 1)
-	self:addTradeSkillSpell(13663, 185, L["Trainer"], 1)
-	self:addTradeSkillSpell(13693, 195, L["Trainer"], 1)
-	self:addTradeSkillSpell(13695, 200, L["Trainer"], 1)
-	self:addTradeSkillSpell(13700, 200, L["Trainer"], 1)
-	self:addTradeSkillSpell(13702, 200, L["Trainer"], 1)
-	self:addTradeSkillSpell(13746, 205, L["Trainer"], 1)
-	self:addTradeSkillSpell(13794, 205, L["Trainer"], 1)
-	self:addTradeSkillSpell(13822, 210, L["Trainer"], 1)
-	self:addTradeSkillSpell(13815, 210, L["Trainer"], 1)
-	self:addTradeSkillSpell(13836, 215, L["Trainer"], 1)
-	self:addTradeSkillSpell(13858, 220, L["Trainer"], 1)
-	self:addTradeSkillSpell(13887, 225, L["Trainer"], 1)
-	self:addTradeSkillSpell(13890, 225, L["Trainer"], 1)
-	self:addTradeSkillSpell(13905, 230, L["Trainer"], 1)
-	self:addTradeSkillSpell(13917, 230, L["Trainer"], 1)
-	self:addTradeSkillSpell(13935, 235, L["Trainer"], 1)
-	self:addTradeSkillSpell(13937, 240, L["Trainer"], 1)
-	self:addTradeSkillSpell(13939, 240, L["Trainer"], 1)
-	self:addTradeSkillSpell(13941, 245, L["Trainer"], 1)
-	self:addTradeSkillSpell(13943, 245, L["Trainer"], 1)
-	self:addTradeSkillSpell(13948, 250, L["Trainer"], 1)
-	self:addTradeSkillSpell(17181, 250, L["Trainer"], 1)
-	self:addTradeSkillSpell(17180, 250, L["Trainer"], 1)
-	self:addTradeSkillSpell(20008, 255, L["Trainer"], 1)
-	self:addTradeSkillSpell(20014, 265, L["Trainer"], 1)
-	self:addTradeSkillSpell(20012, 270, L["Trainer"], 1)
-	self:addTradeSkillSpell(20016, 280, L["Trainer"], 1)
-	self:addTradeSkillSpell(20028, 290, L["Trainer"], 1)
-	self:addTradeSkillSpell(20013, 295, L["Trainer"], 1)
-	self:addTradeSkillSpell(20023, 295, L["Trainer"], 1)
-	self:addTradeSkillSpell(32664, 300, L["Trainer"], 1)
-	self:addTradeSkillSpell(33991, 300, L["Trainer"], 1)
-	self:addTradeSkillSpell(34002, 300, L["Trainer"], 1)
-	self:addTradeSkillSpell(33993, 305, L["Trainer"], 1)
-	self:addTradeSkillSpell(27899, 305, L["Trainer"], 1)
-	self:addTradeSkillSpell(34001, 305, L["Trainer"], 1)
-	self:addTradeSkillSpell(33996, 310, L["Trainer"], 1)
-	self:addTradeSkillSpell(27944, 310, L["Trainer"], 1)
-	self:addTradeSkillSpell(34004, 310, L["Trainer"], 1)
-	self:addTradeSkillSpell(27961, 310, L["Trainer"], 1)
-	self:addTradeSkillSpell(27905, 315, L["Trainer"], 1)
-	self:addTradeSkillSpell(27957, 315, L["Trainer"], 1)
-	self:addTradeSkillSpell(44383, 330, L["Trainer"], 1)
-	self:addTradeSkillSpell(33990, 320, L["Trainer"], 1)
-	self:addTradeSkillSpell(28027, 325, L["Trainer"], 1)
-	self:addTradeSkillSpell(42615, 335, L["Trainer"], 1)
-	self:addTradeSkillSpell(33995, 340, L["Trainer"], 1)
-	self:addTradeSkillSpell(28028, 350, L["Trainer"], 1)
-	self:addTradeSkillSpell(42613, 350, L["Trainer"], 1)
-
-	-- Vendor Recipes
-	self:addTradeSkillSpell(7443, 20, self:CombineVendors(32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 48, false),2)
-	self:addTradeSkillSpell(25124, 45, self:CombineVendors(32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 48, false),2)
-	self:addTradeSkillSpell(7776, 80, self:CombineVendors(40, 42, false), BFAC["Horde"],2)
-	self:addTradeSkillSpell(7793, 100, self:CombineVendors(40, 41, 45, 47, false),2)
-	self:addTradeSkillSpell(13419, 110, self:CombineVendors(195, 196, false),2)
-	self:addTradeSkillSpell(7867, 125, self:CombineVendors(45, 19, false),2)
-	self:addTradeSkillSpell(13536, 140, self:CombineVendors(195, 196, false),2)
-	self:addTradeSkillSpell(20015, 285, self:CombineVendors(56, false),2)
-	self:addTradeSkillSpell(25125, 150, self:CombineVendors(32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 48, false),2)
-	self:addTradeSkillSpell(13646, 170, self:CombineVendors(113, 29, false),2)
-	self:addTradeSkillSpell(25126, 200, self:CombineVendors(32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 48, false),2)
-	self:addTradeSkillSpell(13931, 235, self:CombineVendors(197, 193, false),2)
-	self:addTradeSkillSpell(25127, 250, self:CombineVendors(39, false),2)
-	self:addTradeSkillSpell(20017, 265, self:CombineVendors(191, 193, false),2)
-	self:addTradeSkillSpell(20026, 275, self:CombineVendors(53, false),2)
-	self:addTradeSkillSpell(25128, 275, self:CombineVendors(39, false),2)
-	self:addTradeSkillSpell(20051, 290, self:CombineVendors(56, false),2)
-	self:addTradeSkillSpell(28016, 310, self:CombineVendors(34, 43, 44, false),2)
-	self:addTradeSkillSpell(27945, 325, self:CombineVendors(204, false),2)
-	self:addTradeSkillSpell(34009, 325, self:CombineVendors(44, false),2)
-	self:addTradeSkillSpell(28022, 335, self:CombineVendors(34, 43, 44, false),2)
-	self:addTradeSkillSpell(28019, 340, self:CombineVendors(34, 43, 44, false),2)
-	self:addTradeSkillSpell(32665, 350, self:CombineVendors(198, 199, false),2)
-	self:addTradeSkillSpell(32667, 375, self:CombineVendors(44, false),2)
-
-	-- World Drops
-	self:addTradeSkillSpell(7766, 60, L["UWD"],3)
-	self:addTradeSkillSpell(7782, 80, L["UWD"],3)
-	self:addTradeSkillSpell(7786, 90, L["UWD"],3)
-	self:addTradeSkillSpell(13380, 110, L["UWD"],3)
-	self:addTradeSkillSpell(13464, 115, L["UWD"],3)
-	self:addTradeSkillSpell(7859, 120, L["UWD"],3)
-	self:addTradeSkillSpell(13522, 135, L["UWD"],3)
-	self:addTradeSkillSpell(13653, 175, L["UWD"],3)
-	self:addTradeSkillSpell(13655, 175, L["UWD"],3)
-	self:addTradeSkillSpell(13687, 190, L["UWD"],3)
-	self:addTradeSkillSpell(13689, 195, L["UWD"],3)
-	self:addTradeSkillSpell(13817, 210, L["UWD"],3)
-	self:addTradeSkillSpell(13846, 220, L["UWD"],3)
-	self:addTradeSkillSpell(13915, 230, L["UWD"],3)
-	self:addTradeSkillSpell(13933, 235, L["UWD"],3)
-	self:addTradeSkillSpell(13945, 245, L["UWD"],3)
-	self:addTradeSkillSpell(13947, 250, L["UWD"],3)
-	self:addTradeSkillSpell(20020, 255, L["UWD"],3)
-	self:addTradeSkillSpell(20009, 270, L["UWD"],3)
-	self:addTradeSkillSpell(20024, 275, L["UWD"],3)
-	self:addTradeSkillSpell(20011, 300, L["UWD"],3)
-	self:addTradeSkillSpell(20025, 300, L["UWD"],3)
-	self:addTradeSkillSpell(27948, 305, L["UWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-	self:addTradeSkillSpell(27962, 330, L["UWD"],3)
-	self:addTradeSkillSpell(27913, 335, L["UWD"],3)
-	self:addTradeSkillSpell(27946, 340, L["UWD"],3)
-	self:addTradeSkillSpell(33992, 345, L["UWD"],3)
-	self:addTradeSkillSpell(27972, 350, L["UWD"],3)
-	self:addTradeSkillSpell(27947, 360, L["UWD"],3)
-	self:addTradeSkillSpell(28003, 360, L["UWD"],3)
-	self:addTradeSkillSpell(28004, 360, L["UWD"],3)
-	self:addTradeSkillSpell(34007, 360, L["RWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-	self:addTradeSkillSpell(34008, 360, L["RWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-
-	-- Specific Drops
-	self:addTradeSkillSpell(13612, 145, self:CombineMobs(true,L["Enchant Gloves - Mining Obt"],BZONE["Wetlands"]),3)
-	self:addTradeSkillSpell(13617, 145, self:CombineMobs(true,L["Enchant Gloves - Herbalism Obt"],BZONE["Ashenvale"]) .. addon.br .. self:CombineMobs(true,L["Enchant Gloves - Herbalism Obt1"],BZONE["Stonetalon Mountains"]),3)
-	self:addTradeSkillSpell(13620, 145, self:CombineMobs(true,L["Enchant Gloves - Fishing Obt"],BZONE["Hillsbrad Foothills"]),3)
-	self:addTradeSkillSpell(13698, 200, self:CombineMobs(true,L["Enchant Gloves - Skinning Obt"],BZONE["Arathi Highlands"]),3)
-	self:addTradeSkillSpell(13841, 215, self:CombineMobs(true,L["Enchant Gloves - Advanced Mining Obt"],BZONE["Stranglethorn Vale"]),3)
-	self:addTradeSkillSpell(13868, 225, self:CombineMobs(true,L["Enchant Gloves - Advanced Herbalism Obt"],BZONE["Swamp of Sorrows"]),3)
-	self:addTradeSkillSpell(13882, 225, self:CombineMobs(true,L["Enchant Cloak - Lesser Agility Obt"],BZONE["Alterac Mountains"]) .. addon.br .. self:CombineMobs(true,L["Enchant Cloak - Lesser Agility Obt1"],BZONE["Tanaris"]),3)
-	self:addTradeSkillSpell(13898, 265, self:CombineMobs(true,L["Enchant Weapon - Fiery Weapon Obt"],BZONE["Blackrock Depths"]),3,5)
-	self:addTradeSkillSpell(15596, 265, self:CombineMobs(true,L["Smoking Heart of the Mountain Obt"],BZONE["Blackrock Depths"]),3,5)
-	self:addTradeSkillSpell(20029, 285, self:CombineMobs(true,L["Enchant Weapon - Icy Chill Obt"],BZONE["Winterspring"]),3)
-	self:addTradeSkillSpell(20010, 295, self:CombineMobs(true,L["Enchant Bracer - Superior Strength Obt"],BZONE["Deadwind Pass"]),3)
-	self:addTradeSkillSpell(20030, 295, self:CombineMobs(true,L["Enchant 2H Weapon - Superior Impact Obt"],BZONE["Upper Blackrock Spire"]),3,5)
-	self:addTradeSkillSpell(20033, 295, self:CombineMobs(true,L["Enchant Weapon - Unholy Weapon Obt"],BZONE["Stratholme"]),3,5)
-	self:addTradeSkillSpell(20036, 300, self:CombineMobs(true,L["Enchant 2H Weapon - Major Intellect Obt"],BZONE["Stratholme"]),3,5)
-	self:addTradeSkillSpell(20031, 300, self:CombineMobs(true,L["Enchant Weapon - Superior Striking Obt"],BZONE["Lower Blackrock Spire"]),3,5)
-	self:addTradeSkillSpell(20034, 300, self:CombineMobs(true,L["Enchant Weapon - Crusader Obt"],BZONE["Western Plaguelands"]) .. addon.br ..  self:CombineMobs(true,L["Enchant Weapon - Crusader Obt1"],BZONE["Eastern Plaguelands"]),3)
-	self:addTradeSkillSpell(20032, 300, self:CombineMobs(true,L["Enchant Weapon - Lifestealing Obt"],BZONE["Scholomance"]),3,5)
-	self:addTradeSkillSpell(20035, 300, self:CombineMobs(true,L["Enchant 2H Weapon - Major Spirit Obt"],BZONE["Scholomance"]),3,5)
-	self:addTradeSkillSpell(27906, 320, self:CombineMobs(false,L["Enchant Bracer - Major Defense Obt"],BZONE["Netherstorm"]),4)
-	self:addTradeSkillSpell(27950, 320, self:CombineMobs(false,L["Enchant Boots - Fortitude Obt"],BZONE["Mana-Tombs"]),4,5)
-	self:addTradeSkillSpell(27951, 340, self:CombineMobs(false,L["Enchant Boots - Dexterity Obt"],BZONE["Auchenai Crypts"]),4,5)
-	self:addTradeSkillSpell(27968, 340, self:CombineMobs(false,L["Enchant Weapon - Major Intellect Obt"],BZONE["Netherstorm"]),4)
-	self:addTradeSkillSpell(27914, 350, self:CombineMobs(false,L["Enchant Bracer - Fortitude Obt"],BZONE["The Steamvault"]),4,5)
-	self:addTradeSkillSpell(27971, 350, self:CombineMobs(false,L["Enchant 2H Weapon - Savagery Obt"],BZONE["The Shattered Halls"]),4,5)
-	self:addTradeSkillSpell(27975, 350, self:CombineMobs(false,L["Enchant Weapon - Major Spellpower Obt"],BZONE["Blade's Edge Mountains"]),4)
-	self:addTradeSkillSpell(34005, 350, self:CombineMobs(false,L["Enchant Cloak - Greater Arcane Resistance Obt"],BZONE["Shadowmoon Valley"]),4)
-	self:addTradeSkillSpell(34006, 350, self:CombineMobs(false,L["Enchant Cloak - Greater Shadow Resistance Obt"],BZONE["Netherstorm"]),4)
-	self:addTradeSkillSpell(27917, 360, self:CombineMobs(false,L["Enchant Bracer - Spellpower Obt"],BZONE["Blade's Edge Mountains"]),4)
-	self:addTradeSkillSpell(27977, 360, self:CombineMobs(false,L["Enchant 2H Weapon - Major Agility Obt"],BZONE["The Arcatraz"]),4,5)
-	self:addTradeSkillSpell(47051, 375, self:CombineMobs(false,BBOSS["Priestess Delrissa"],BZONE["Magisters' Terrace"]),4,5)
-
-	-- Seasonal
-	self:addTradeSkillSpell(21931, 190, L["WintersVeil"],7)
-	self:addTradeSkillSpell(46578, 375, self:CombineMobs(false,L["Enchant Weapon - Deathfrost Obt"],BZONE["The Slave Pens"]),7)
-
-	-- Reputations
-	self:addTradeSkillSpell(23799, 290, self:AddSingleReputation(1, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(23803, 300, self:AddSingleReputation(2, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(23804, 300, self:AddSingleReputation(3, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(23800, 290, self:AddSingleReputation(2, BFAC["Timbermaw Hold"]), BFAC["Timbermaw Hold"])
-	self:addTradeSkillSpell(23801, 290, self:AddSingleReputation(2, BFAC["Argent Dawn"]), BFAC["Argent Dawn"])
-	self:addTradeSkillSpell(27837, 290, self:AddSingleReputation(1, BFAC["Timbermaw Hold"]), BFAC["Timbermaw Hold"])
-	self:addTradeSkillSpell(23802, 300, self:AddSingleReputation(3, BFAC["Argent Dawn"]), BFAC["Argent Dawn"])
-	self:addTradeSkillSpell(25081, 300, self:AddSingleReputation(1, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(25082, 300, self:AddSingleReputation(2, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(25129, 300, self:AddSingleReputation(2, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(25130, 300, self:AddSingleReputation(1, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(25080, 300, L["AQ20/AQ40"] .. addon.br .. self:AddSingleReputation(4, BFAC["Keepers of Time"]), BFAC["Keepers of Time"])
-	self:addTradeSkillSpell(25072, 300, L["AQ20/AQ40"] .. addon.br .. self:AddSingleReputation(4, BFAC["The Sha'tar"]), BFAC["The Sha'tar"])
-	self:addTradeSkillSpell(25083, 300, L["AQ20/AQ40"] .. addon.br .. self:AddSingleReputation(4, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(25084, 300, L["AQ20/AQ40"] .. addon.br .. self:AddDoubleReputation(4, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(25086, 300, L["AQ20/AQ40"] .. addon.br .. self:AddSingleReputation(4, BFAC["Lower City"]), BFAC["Lower City"])
-	self:addTradeSkillSpell(27911, 325, self:AddDoubleReputation(1, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(34003, 325, self:AddSingleReputation(1, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(27967, 340, self:AddSingleReputation(2, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(27960, 345, self:AddDoubleReputation(3, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(33999, 350, self:AddSingleReputation(2, BFAC["The Sha'tar"]), BFAC["The Sha'tar"])
-	self:addTradeSkillSpell(42620, 350, self:AddSingleReputation(4, BFAC["The Violet Eye"]), BFAC["The Violet Eye"], 6)
-	self:addTradeSkillSpell(34010, 350, self:AddSingleReputation(3, BFAC["The Sha'tar"]), BFAC["The Sha'tar"])
-	self:addTradeSkillSpell(27920, 360, self:AddSingleReputation(3, BFAC["The Consortium"]), BFAC["The Consortium"], 6)
-	self:addTradeSkillSpell(27924, 360, self:AddSingleReputation(2, BFAC["Keepers of Time"]), BFAC["Keepers of Time"])
-	self:addTradeSkillSpell(33994, 360, self:AddSingleReputation(3, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(33997, 360, self:AddSingleReputation(2, BFAC["Keepers of Time"]), BFAC["Keepers of Time"])
-	self:addTradeSkillSpell(27926, 370, self:AddSingleReputation(3, BFAC["The Sha'tar"]), BFAC["The Sha'tar"])
-	self:addTradeSkillSpell(27927, 375, self:AddSingleReputation(2, BFAC["Lower City"]), BFAC["Lower City"])
-	self:addTradeSkillSpell(46594, 360, self:AddSingleReputation(2, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(45765, 375, self:AddSingleReputation(2, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-
-	-- Raid Drops
-	self:addTradeSkillSpell(22749, 300, L["MOLTENCORE"], 6)
-	self:addTradeSkillSpell(22750, 300, L["MOLTENCORE"], 6)
-	self:addTradeSkillSpell(25073, 300, L["AQ20/AQ40"], 6)
-	self:addTradeSkillSpell(25074, 300, L["AQ20/AQ40"], 6)
-	self:addTradeSkillSpell(25078, 300, L["AQ20/AQ40"], 6)
-	self:addTradeSkillSpell(25079, 300, L["AQ20/AQ40"], 6)
-	self:addTradeSkillSpell(27954, 370, self:CombineMobs(false,L["Enchant Boots - Surefooted Obt"],BZONE["Karazhan"]), 6)
-	self:addTradeSkillSpell(27981, 375, self:CombineMobs(false,BBOSS["Shade of Aran"],BZONE["Karazhan"]), 6)
-	self:addTradeSkillSpell(27982, 375, self:CombineMobs(false,BBOSS["Terestian Illhoof"],BZONE["Karazhan"]), 6)
-	self:addTradeSkillSpell(27984, 375, self:CombineMobs(false,BBOSS["Moroes"],BZONE["Karazhan"]), 6)
-	self:addTradeSkillSpell(42974, 375, L["ZA"], 6)
-
-	if (addon.wrath) then
-		self:addTradeSkillSpell(27958, 355, L["Trainer"], 1) -- Exceptional mana
-		self:addTradeSkillSpell(44484, 365, L["Trainer"], 1) -- Expertise
-		self:addTradeSkillSpell(44506, 375, L["Trainer"], 1) -- Gatherer
-		self:addTradeSkillSpell(44508, 355, L["Trainer"], 1) -- Spirit
-		self:addTradeSkillSpell(44509, 375, L["Trainer"], 1) -- Greater mana restoration
-		self:addTradeSkillSpell(44555, 375, L["Trainer"], 1) -- Exceptional intellect
-		self:addTradeSkillSpell(44584, 365, L["Trainer"], 1) -- Greater vitality
-		self:addTradeSkillSpell(47672, 355, L["Trainer"], 1) -- Mighty armor
-		self:addTradeSkillSpell(44528, 385, L["Trainer"], 1) -- Greater fort
-		self:addTradeSkillSpell(44488, 385, L["Trainer"], 1) -- Greater Spell strike
-		self:addTradeSkillSpell(44582, 395, L["Trainer"], 1) -- Spell piercing
-	end
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+function addon:InitEnchanting(RecipeDB)
+
+	local recipecount = 0
+
+	-- Enchant Bracer - Minor Health -- 7418
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7418, 30, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7418, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Chest - Minor Health -- 7420
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7420, 30, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7420, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7420, 1, 1317, 1, 3011, 1, 3345, 1, 3606, 1, 4213, 1, 4616, 1, 5157, 1, 5695, 1, 11065, 1, 11066, 1, 11067, 1, 11068, 1, 11070, 1, 11071, 1, 11072, 1, 11073, 1, 11074, 1, 16160, 1, 16633, 1, 16634, 1, 16725, 1, 16742, 1, 19248, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Runed Copper Rod -- 7421
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7421, 1, 6218, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7421, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41)
+	-- No acquire information
+
+	-- Enchant Chest - Minor Absorption -- 7426
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7426, 50, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7426, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7426, 1, 1317, 1, 3011, 1, 3345, 1, 3606, 1, 4213, 1, 4616, 1, 5157, 1, 5695, 1, 11065, 1, 11066, 1, 11067, 1, 11068, 1, 11070, 1, 11071, 1, 11072, 1, 11073, 1, 11074, 1, 16160, 1, 16633, 1, 16634, 1, 16725, 1, 16742, 1, 19248, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Bracer - Minor Deflection -- 7428
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7428, 40, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7428, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Chest - Minor Mana -- 7443
+	-- World Drop
+	-- No location information
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7443, 40, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7443, 1,2,4,10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7443, 7, 2, 2, 1318, 2, 3012, 2, 3346, 2, 4228, 2, 4617, 2, 5158, 2, 5757, 2, 5758, 2, 15198, 2, 15419, 2, 16635, 2, 16722, 2, 18753, 2, 18773, 2, 18951, 2, 19234, 2, 19537, 2, 19540, 2, 19663)
+
+	-- Enchant Cloak - Minor Resistance -- 7454
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7454, 55, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7454, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 7454, 1, 1317, 1, 3011, 1, 3345, 1, 3606, 1, 4213, 1, 4616, 1, 5157, 1, 5695, 1, 11065, 1, 11066, 1, 11067, 1, 11068, 1, 11070, 1, 11071, 1, 11072, 1, 11073, 1, 11074, 1, 16160, 1, 16633, 1, 16634, 1, 16725, 1, 16742, 1, 19248, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Bracer - Minor Stamina -- 7457
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7457, 60, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7457, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7457, 1, 1317, 1, 3011, 1, 3345, 1, 3606, 1, 4213, 1, 4616, 1, 5157, 1, 5695, 1, 11065, 1, 11066, 1, 11067, 1, 11068, 1, 11070, 1, 11071, 1, 11072, 1, 11073, 1, 11074, 1, 16160, 1, 16633, 1, 16634, 1, 16725, 1, 16742, 1, 19248, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant 2H Weapon - Minor Impact -- 7745
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7745, 90, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7745, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7745, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Chest - Lesser Health -- 7748
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7748, 65, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7748, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7748, 1, 1317, 1, 3011, 1, 3345, 1, 3606, 1, 4213, 1, 4616, 1, 5157, 1, 5695, 1, 11065, 1, 11066, 1, 11067, 1, 11068, 1, 11070, 1, 11071, 1, 11072, 1, 11073, 1, 11074, 1, 16160, 1, 16633, 1, 16634, 1, 16725, 1, 16742, 1, 19248, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Bracer - Minor Spirit -- 7766
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7766, 65, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7766, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7766, 7, 2)
+
+	-- Enchant Cloak - Minor Protection -- 7771
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7771, 70, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7771, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 7771, 1, 1317, 1, 3011, 1, 3345, 1, 3606, 1, 4213, 1, 4616, 1, 5157, 1, 5695, 1, 11065, 1, 11066, 1, 11067, 1, 11068, 1, 11070, 1, 11071, 1, 11072, 1, 11073, 1, 11074, 1, 16160, 1, 16633, 1, 16634, 1, 16725, 1, 16742, 1, 19248, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Chest - Lesser Mana -- 7776
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7776, 75, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7776, 2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7776, 2, 3346, 2, 5757)
+
+	-- Enchant Bracer - Minor Agility -- 7779
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7779, 75, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7779, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7779, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Bracer - Minor Strength -- 7782
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7782, 75, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7782, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7782, 7, 2)
+
+	-- Enchant Weapon - Minor Beastslayer -- 7786
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7786, 80, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7786, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7786, 7, 2)
+
+	-- Enchant Weapon - Minor Striking -- 7788
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7788, 80, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7788, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7788, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant 2H Weapon - Lesser Intellect -- 7793
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7793, 90, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7793, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7793, 2, 3012, 2, 3346, 2, 5158, 2, 5758)
+
+	-- Runed Silver Rod -- 7795
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7795, 90, 6339, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7795, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41)
+	self:addTradeAcquire(RecipeDB, 7795, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Chest - Health -- 7857
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7857, 105, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7857, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7857, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Bracer - Lesser Spirit -- 7859
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7859, 105, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7859, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7859, 7, 2)
+
+	-- Enchant Cloak - Lesser Fire Resistance -- 7861
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7861, 110, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7861, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 7861, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Boots - Minor Stamina -- 7863
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7863, 110, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7863, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7863, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Boots - Minor Agility -- 7867
+	-- Instance: 2367 - type5category3maxlevel68territory1expansion1minlevel66nameCaverns of Time: Old Hillsbrad Foothillsid2367
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7867, 110, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 7867, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7867, 2, 3012, 2, 3537)
+
+	-- Enchant Shield - Minor Stamina -- 13378
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13378, 90, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13378, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13378, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant 2H Weapon - Lesser Spirit -- 13380
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13380, 95, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13380, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13380, 7, 2)
+
+	-- Enchant Cloak - Minor Agility -- 13419
+	-- World Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13419, 95, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13419, 1,2,4,10,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 13419, 7, 2, 2, 3954, 2, 12043)
+
+	-- Enchant Cloak - Lesser Protection -- 13421
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13421, 100, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13421, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 13421, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Shield - Lesser Protection -- 13464
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13464, 100, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13464, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13464, 7, 2)
+
+	-- Enchant Shield - Lesser Spirit -- 13485
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13485, 115, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13485, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13485, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Bracer - Lesser Stamina -- 13501
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13501, 115, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13501, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13501, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Weapon - Lesser Striking -- 13503
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13503, 125, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13503, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13503, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Cloak - Lesser Shadow Resistance -- 13522
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13522, 120, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13522, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 13522, 7, 2)
+
+	-- Enchant 2H Weapon - Lesser Impact -- 13529
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13529, 130, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13529, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13529, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Bracer - Lesser Strength -- 13536
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13536, 125, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13536, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13536, 2, 3954, 2, 12043)
+
+	-- Enchant Chest - Lesser Absorption -- 13538
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13538, 125, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13538, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13538, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Chest - Mana -- 13607
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13607, 130, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13607, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13607, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Gloves - Mining -- 13612
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13612, 130, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13612, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13612, 3, 1051, 3, 1052, 3, 1053, 3, 1054, 3, 1364)
+
+	-- Enchant Gloves - Herbalism -- 13617
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13617, 130, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13617, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13617, 3, 3834, 3, 3919, 3, 4028, 3, 4029, 3, 4030)
+
+	-- Enchant Gloves - Fishing -- 13620
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13620, 130, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13620, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13620, 3, 2374, 3, 2375, 3, 2376, 3, 2377, 3, 14276)
+
+	-- Enchant Bracer - Lesser Intellect -- 13622
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13622, 135, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13622, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13622, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Chest - Minor Stats -- 13626
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13626, 135, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13626, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13626, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Runed Golden Rod -- 13628
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13628, 135, 11130, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13628, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41)
+	self:addTradeAcquire(RecipeDB, 13628, 1, 1317, 1, 3011, 1, 3345, 1, 4213, 1, 4616, 1, 5157, 1, 7949, 1, 11072, 1, 11073, 1, 11074, 1, 16633, 1, 16725, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Enchant Shield - Lesser Stamina -- 13631
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13631, 135, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13631, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13631, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Cloak - Defense -- 13635
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13635, 135, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13635, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 13635, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Boots - Lesser Agility -- 13637
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13637, 140, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13637, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13637, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Chest - Greater Health -- 13640
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13640, 140, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13640, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13640, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Bracer - Spirit -- 13642
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13642, 145, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13642, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13642, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Boots - Lesser Stamina -- 13644
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13644, 150, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13644, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13644, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Bracer - Lesser Deflection -- 13646
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13646, 150, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13646, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13646, 2, 2381, 2, 2821)
+
+	-- Enchant Bracer - Stamina -- 13648
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13648, 150, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13648, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13648, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Weapon - Lesser Beastslayer -- 13653
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13653, 155, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13653, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13653, 7, 2)
+
+	-- Enchant Weapon - Lesser Elemental Slayer -- 13655
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13655, 155, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13655, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13655, 7, 2)
+
+	-- Enchant Cloak - Fire Resistance -- 13657
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13657, 155, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13657, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 13657, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Shield - Spirit -- 13659
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13659, 160, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13659, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13659, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Bracer - Strength -- 13661
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13661, 160, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13661, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13661, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Chest - Greater Mana -- 13663
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13663, 165, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13663, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13663, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Boots - Lesser Spirit -- 13687
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13687, 170, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13687, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13687, 7, 2)
+
+	-- Enchant Shield - Lesser Block -- 13689
+	-- Instance: 796 - type1category3maxlevel45territory4minlevel34nameScarlet Monasteryid796
+	-- Instance: 796 - type1category3maxlevel45territory4minlevel34nameScarlet Monasteryid796
+	-- Instance: 722 - type1category3maxlevel40territory4minlevel33nameRazorfen Downsid722
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13689, 175, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13689, 5,11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13689, 3, 682, 3, 2248, 3, 2551, 3, 2561, 3, 4294, 3, 4295, 3, 4411, 3, 7349)
+
+	-- Enchant Weapon - Striking -- 13693
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13693, 175, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13693, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13693, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant 2H Weapon - Impact -- 13695
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13695, 180, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13695, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13695, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Gloves - Skinning -- 13698
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13698, 180, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13698, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13698, 3, 2556, 3, 2557, 3, 2558, 3, 2605, 3, 2606)
+
+	-- Enchant Chest - Lesser Stats -- 13700
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13700, 180, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13700, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13700, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Runed Truesilver Rod -- 13702
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13702, 180, 11145, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13702, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41)
+	self:addTradeAcquire(RecipeDB, 13702, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Cloak - Greater Defense -- 13746
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13746, 185, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13746, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 13746, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Cloak - Resistance -- 13794
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13794, 185, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13794, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 13794, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Gloves - Agility -- 13815
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13815, 190, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13815, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13815, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Shield - Stamina -- 13817
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13817, 190, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13817, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13817, 7, 2)
+
+	-- Enchant Bracer - Intellect -- 13822
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13822, 190, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13822, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13822, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Boots - Stamina -- 13836
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13836, 195, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13836, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13836, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Gloves - Advanced Mining -- 13841
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13841, 195, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13841, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13841, 3, 674)
+
+	-- Enchant Bracer - Greater Spirit -- 13846
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13846, 200, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13846, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13846, 7, 2)
+
+	-- Enchant Chest - Superior Health -- 13858
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13858, 200, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13858, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13858, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Gloves - Advanced Herbalism -- 13868
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13868, 205, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13868, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13868, 3, 764, 3, 765, 3, 766, 3, 1081, 3, 14448)
+
+	-- Enchant Cloak - Lesser Agility -- 13882
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13882, 205, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13882, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 13882, 3, 2246, 3, 5623, 3, 7805)
+
+	-- Enchant Gloves - Strength -- 13887
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13887, 205, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13887, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13887, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Boots - Minor Speed -- 13890
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13890, 205, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13890, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13890, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Enchant Weapon - Fiery Weapon -- 13898
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13898, 245, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13898, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13898, 3, 9024)
+
+	-- Enchant Shield - Greater Spirit -- 13905
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13905, 210, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13905, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13905, 1, 11073, 1, 19251)
+
+	-- Enchant Weapon - Demonslaying -- 13915
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13915, 210, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13915, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13915, 7, 2)
+
+	-- Enchant Chest - Superior Mana -- 13917
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13917, 210, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13917, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13917, 1, 11073, 1, 19251)
+
+	-- Enchant Bracer - Deflection -- 13931
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13931, 215, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13931, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13931, 2, 989, 2, 4229)
+
+	-- Enchant Shield - Frost Resistance -- 13933
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13933, 215, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13933, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13933, 7, 2)
+
+	-- Enchant Boots - Agility -- 13935
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13935, 215, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13935, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13935, 1, 11073, 1, 19251)
+
+	-- Enchant 2H Weapon - Greater Impact -- 13937
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13937, 220, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13937, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13937, 1, 11073, 1, 19251)
+
+	-- Enchant Bracer - Greater Strength -- 13939
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13939, 220, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13939, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13939, 1, 11073, 1, 19251)
+
+	-- Enchant Chest - Stats -- 13941
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13941, 225, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13941, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13941, 1, 11073, 1, 19251)
+
+	-- Enchant Weapon - Greater Striking -- 13943
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13943, 225, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13943, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13943, 1, 11073, 1, 19251)
+
+	-- Enchant Bracer - Greater Stamina -- 13945
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13945, 225, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13945, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13945, 7, 2)
+
+	-- Enchant Gloves - Riding Skill -- 13947
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13947, 230, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13947, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13947, 7, 2)
+
+	-- Enchant Gloves - Minor Haste -- 13948
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13948, 230, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 13948, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 13948, 1, 11073, 1, 19251)
+
+	-- Lesser Magic Wand -- 14293
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Wand,
+	-- Item Stats:
+	-- Item Stats: val12-22id14val1.5id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 14293, 35, 11287, 1, 7411)
+	self:addTradeFlags(RecipeDB, 14293, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,74)
+	self:addTradeAcquire(RecipeDB, 14293, 1, 1317, 1, 3011, 1, 3345, 1, 3606, 1, 4213, 1, 4616, 1, 5157, 1, 5695, 1, 11065, 1, 11066, 1, 11067, 1, 11068, 1, 11070, 1, 11071, 1, 11072, 1, 11073, 1, 11074, 1, 16160, 1, 16633, 1, 16634, 1, 16725, 1, 16742, 1, 19248, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Greater Magic Wand -- 14807
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Wand,
+	-- Item Stats:
+	-- Item Stats: val22-41id14val1.8id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 14807, 70, 11288, 1, 7411)
+	self:addTradeFlags(RecipeDB, 14807, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,74)
+	self:addTradeAcquire(RecipeDB, 14807, 1, 1317, 1, 3011, 1, 3345, 1, 3606, 1, 4213, 1, 4616, 1, 5157, 1, 5695, 1, 11065, 1, 11066, 1, 11067, 1, 11068, 1, 11070, 1, 11071, 1, 11072, 1, 11073, 1, 11074, 1, 16160, 1, 16633, 1, 16634, 1, 16725, 1, 16742, 1, 19248, 1, 19249, 1, 19250, 1, 19251)
+
+	-- Lesser Mystic Wand -- 14809
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Wand,
+	-- Item Stats:
+	-- Item Stats: val23-43id14val1.3id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 14809, 135, 11289, 1, 7411)
+	self:addTradeFlags(RecipeDB, 14809, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,74)
+	self:addTradeAcquire(RecipeDB, 14809, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Greater Mystic Wand -- 14810
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Wand,
+	-- Item Stats:
+	-- Item Stats: val40-76id14val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 14810, 155, 11290, 1, 7411)
+	self:addTradeFlags(RecipeDB, 14810, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,74)
+	self:addTradeAcquire(RecipeDB, 14810, 1, 11072, 1, 11073, 1, 11074, 1, 19250, 1, 19251)
+
+	-- Smoking Heart of the Mountain -- 15596
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val150id6val7id33val7id34val7id35val7id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15596, 245, 11811, 2, 7411)
+	self:addTradeFlags(RecipeDB, 15596, 5,11,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 15596, 3, 9025, 3, 9026)
+
+	-- Enchanted Thorium -- 17180
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17180, 240, 12655, 1, 7411)
+	self:addTradeFlags(RecipeDB, 17180, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 17180, 1, 11073, 1, 19251)
+
+	-- Enchanted Leather -- 17181
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 17181, 240, 12810, 1, 7411)
+	self:addTradeFlags(RecipeDB, 17181, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 17181, 1, 11073, 1, 19251)
+
+	-- Enchant Bracer - Greater Intellect -- 20008
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20008, 235, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20008, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20008, 3, 2642, 1, 11073, 1, 19251)
+
+	-- Enchant Bracer - Superior Spirit -- 20009
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20009, 250, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20009, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20009, 7, 2)
+
+	-- Enchant Bracer - Superior Strength -- 20010
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20010, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20010, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20010, 3, 7372)
+
+	-- Enchant Bracer - Superior Stamina -- 20011
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20011, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20011, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20011, 7, 2)
+
+	-- Enchant Gloves - Greater Agility -- 20012
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20012, 250, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20012, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20012, 3, 6201, 1, 11073, 1, 19251)
+
+	-- Enchant Gloves - Greater Strength -- 20013
+	-- Trainer
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20013, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20013, 1,2,3,5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20013, 3, 9198, 1, 11073, 1, 19251)
+
+	-- Enchant Cloak - Greater Resistance -- 20014
+	-- Trainer
+	-- Instance: 1477 - type1category3maxlevel55territory1minlevel50nameThe Temple of Atal'Hakkarid1477
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20014, 245, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20014, 1,2,3,5,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 20014, 3, 5259, 1, 11073, 1, 19251)
+
+	-- Enchant Cloak - Superior Defense -- 20015
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20015, 265, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20015, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 20015, 2, 12022)
+
+	-- Enchant Shield - Superior Spirit -- 20016
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20016, 260, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20016, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20016, 3, 9447, 1, 11073, 1, 19251)
+
+	-- Enchant Shield - Greater Stamina -- 20017
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20017, 245, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20017, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 20017, 2, 4229, 2, 4561)
+
+	-- Enchant Boots - Greater Stamina -- 20020
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20020, 240, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20020, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20020, 7, 2)
+
+	-- Enchant Boots - Greater Agility -- 20023
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20023, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20023, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20023, 7, 2, 1, 11073, 1, 19251)
+
+	-- Enchant Boots - Spirit -- 20024
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20024, 255, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20024, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20024, 7, 2)
+
+	-- Enchant Chest - Greater Stats -- 20025
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20025, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20025, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20025, 7, 2)
+
+	-- Enchant Chest - Major Mana -- 20028
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20028, 270, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20028, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20028, 3, 9452, 1, 11073, 1, 19251)
+
+	-- Enchant Weapon - Icy Chill -- 20029
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20029, 265, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20029, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20029, 3, 7524)
+
+	-- Enchant 2H Weapon - Superior Impact -- 20030
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20030, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20030, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20030, 3, 10317)
+
+	-- Enchant Weapon - Superior Striking -- 20031
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20031, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20031, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20031, 3, 9216)
+
+	-- Enchant Weapon - Lifestealing -- 20032
+	-- Instance: 2057 - type1category3maxlevel60territory1minlevel58nameScholomanceid2057
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20032, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20032, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20032, 3, 10499)
+
+	-- Enchant Weapon - Unholy Weapon -- 20033
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20033, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20033, 5,11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20033, 3, 10398, 3, 16810)
+
+	-- Enchant Weapon - Crusader -- 20034
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20034, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20034, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20034, 3, 4494, 3, 9451)
+
+	-- Enchant 2H Weapon - Major Spirit -- 20035
+	-- Instance: 2057 - type1category3maxlevel60territory1minlevel58nameScholomanceid2057
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20035, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20035, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20035, 3, 10469)
+
+	-- Enchant 2H Weapon - Major Intellect -- 20036
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20036, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20036, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 20036, 3, 10422)
+
+	-- Runed Arcanite Rod -- 20051
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20051, 270, 16207, 1, 7411)
+	self:addTradeFlags(RecipeDB, 20051, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41)
+	self:addTradeAcquire(RecipeDB, 20051, 2, 12022)
+
+	-- Enchant Weapon - Winter's Might -- 21931
+	-- Flags: All classes, Item BoE, Recipe BoE, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 21931, 170, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 21931, 7,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 21931, 5, 1)
+
+	-- Charged Scale of Onyxia -- 22434
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 22434, 330, 17968, 3, 7411)
+	--self:addTradeFlags(RecipeDB, 22434, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Weapon - Spell Power -- 22749
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22749, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 22749, 6,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 22749, 3, 11982, 3, 11988, 3, 12056, 3, 12057, 3, 12118, 3, 12259, 3, 12264)
+
+	-- Enchant Weapon - Healing Power -- 22750
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22750, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 22750, 6,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 22750, 3, 11982, 3, 11988, 3, 12056, 3, 12057, 3, 12118, 3, 12259, 3, 12264)
+
+	-- Enchant Weapon - Strength -- 23799
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23799, 270, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 23799, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 23799, 2, 12944)
+
+	-- Enchant Weapon - Agility -- 23800
+	-- Timbermaw Hold - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23800, 270, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 23800, 4,21,22,23,24,25,26,27,28,29,30,36,41,99)
+	self:addTradeAcquire(RecipeDB, 23800, 6, 576, 2, 11557)
+
+	-- Enchant Bracer - Mana Regeneration -- 23801
+	-- Argent Dawn - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23801, 270, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 23801, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,96)
+	self:addTradeAcquire(RecipeDB, 23801, 6, 529, 2, 10856, 6, 529, 2, 10857, 6, 529, 2, 11536)
+
+	-- Enchant Bracer - Healing Power -- 23802
+	-- Argent Dawn - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23802, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 23802, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,96)
+	self:addTradeAcquire(RecipeDB, 23802, 6, 529, 3, 10856, 6, 529, 3, 10857, 6, 529, 3, 11536)
+
+	-- Enchant Weapon - Mighty Spirit -- 23803
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23803, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 23803, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 23803, 2, 12944)
+
+	-- Enchant Weapon - Mighty Intellect -- 23804
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23804, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 23804, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 23804, 2, 12944)
+
+	-- Enchant Gloves - Threat -- 25072
+	-- Raid: 3428 - Ahn'Qiraj
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25072, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25072, 6,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 25072, 3, 15275)
+
+	-- Enchant Gloves - Shadow Power -- 25073
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25073, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25073, 10,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 25073, 7, 3)
+
+	-- Enchant Gloves - Frost Power -- 25074
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25074, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25074, 10,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 25074, 7, 3)
+
+	-- Enchant Gloves - Fire Power -- 25078
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25078, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25078, 10,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 25078, 7, 3)
+
+	-- Enchant Gloves - Healing Power -- 25079
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25079, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25079, 10,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 25079, 7, 3)
+
+	-- Enchant Gloves - Superior Agility -- 25080
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25080, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25080, 10,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 25080, 7, 3)
+
+	-- Enchant Cloak - Greater Fire Resistance -- 25081
+	-- Cenarion Circle - Friendly
+	-- No location information
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25081, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25081, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,97)
+	self:addTradeAcquire(RecipeDB, 25081, 6, 609, 1, 15198, 6, 609, 1, 15419)
+
+	-- Enchant Cloak - Greater Nature Resistance -- 25082
+	-- Cenarion Circle - Honored
+	-- No location information
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25082, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25082, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,97)
+	self:addTradeAcquire(RecipeDB, 25082, 6, 609, 2, 15198, 6, 609, 2, 15419)
+
+	-- Enchant Cloak - Stealth -- 25083
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25083, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25083, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 25083, 7, 3)
+
+	-- Enchant Cloak - Subtlety -- 25084
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25084, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25084, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Enchant Cloak - Dodge -- 25086
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25086, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25086, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 25086, 7, 3)
+
+	-- Minor Wizard Oil -- 25124
+	-- No location information
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25124, 35, 20744, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25124, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 25124, 2, 1318, 2, 3012, 2, 3346, 2, 4228, 2, 4617, 2, 5158, 2, 5757, 2, 5758, 2, 15198, 2, 15419, 2, 16635, 2, 16722, 2, 18753, 2, 18773, 2, 18951, 2, 19234, 2, 19537, 2, 19540, 2, 19663)
+
+	-- Minor Mana Oil -- 25125
+	-- No location information
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25125, 140, 20745, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25125, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 25125, 2, 1318, 2, 3012, 2, 3346, 2, 4228, 2, 4617, 2, 5158, 2, 5757, 2, 5758, 2, 15198, 2, 15419, 2, 16635, 2, 16722, 2, 18753, 2, 18773, 2, 18951, 2, 19234, 2, 19537, 2, 19540, 2, 19663)
+
+	-- Lesser Wizard Oil -- 25126
+	-- No location information
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25126, 190, 20746, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25126, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 25126, 2, 1318, 2, 3012, 2, 3346, 2, 4228, 2, 4617, 2, 5158, 2, 5757, 2, 5758, 2, 15198, 2, 15419, 2, 16635, 2, 16722, 2, 18753, 2, 18773, 2, 18951, 2, 19234, 2, 19537, 2, 19540, 2, 19663)
+
+	-- Lesser Mana Oil -- 25127
+	-- No location information
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25127, 240, 20747, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25127, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 25127, 2, 15198, 2, 15419)
+
+	-- Wizard Oil -- 25128
+	-- No location information
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25128, 265, 20750, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25128, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 25128, 2, 15198, 2, 15419)
+
+	-- Brilliant Wizard Oil -- 25129
+	-- Zandalar Tribe - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25129, 290, 20749, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25129, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,100)
+	self:addTradeAcquire(RecipeDB, 25129, 6, 270, 2, 14921)
+
+	-- Brilliant Mana Oil -- 25130
+	-- Zandalar Tribe - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25130, 290, 20748, 1, 7411)
+	self:addTradeFlags(RecipeDB, 25130, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,100)
+	self:addTradeAcquire(RecipeDB, 25130, 6, 270, 1, 14921)
+
+	-- Enchant 2H Weapon - Agility -- 27837
+	-- Timbermaw Hold - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27837, 270, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27837, 4,21,22,23,24,25,26,27,28,29,30,36,41,99)
+	self:addTradeAcquire(RecipeDB, 27837, 6, 576, 1, 11557)
+
+	-- Enchant Bracer - Brawn -- 27899
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27899, 285, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27899, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27899, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Bracer - Stats -- 27905
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27905, 295, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27905, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27905, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Bracer - Major Defense -- 27906
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27906, 300, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27906, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27906, 3, 20456, 3, 22822)
+
+	-- Enchant Bracer - Superior Healing -- 27911
+	-- Honor Hold - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27911, 305, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27911, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,104)
+	self:addTradeAcquire(RecipeDB, 27911, 6, 946, 1, 17657)
+
+	-- Enchant Bracer - Restore Mana Prime -- 27913
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27913, 315, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27913, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27913, 7, 2)
+
+	-- Enchant Bracer - Fortitude -- 27914
+	-- Instance: 3715 - type5category3territory1expansion1minlevel70nameCoilfang Reservoir: The Steamvaultid3715
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27914, 330, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27914, 5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27914, 3, 17803)
+
+	-- Enchant Bracer - Spellpower -- 27917
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27917, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27917, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27917, 3, 19952)
+
+	-- Enchant Ring - Striking -- 27920
+	-- The Consortium - Revered
+	-- Raid: 3457 - Karazhan
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27920, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27920, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,63,105)
+	self:addTradeAcquire(RecipeDB, 27920, 6, 933, 3, 17518)
+
+	-- Enchant Ring - Spellpower -- 27924
+	-- Keepers of Time - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27924, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27924, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,106)
+	self:addTradeAcquire(RecipeDB, 27924, 6, 989, 2, 21643)
+
+	-- Enchant Ring - Healing Power -- 27926
+	-- The Sha'tar - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27926, 350, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27926, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,111)
+	self:addTradeAcquire(RecipeDB, 27926, 6, 935, 3, 21432)
+
+	-- Enchant Ring - Stats -- 27927
+	-- Lower City - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27927, 355, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27927, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,107)
+	self:addTradeAcquire(RecipeDB, 27927, 6, 1011, 2, 21655)
+
+	-- Enchant Shield - Tough Shield -- 27944
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27944, 290, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27944, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27944, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Shield - Intellect -- 27945
+	-- Instance: 2367 - type5category3maxlevel68territory1expansion1minlevel66nameCaverns of Time: Old Hillsbrad Foothillsid2367
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27945, 305, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27945, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27945, 2, 18664)
+
+	-- Enchant Shield - Shield Block -- 27946
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27946, 320, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27946, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27946, 7, 2)
+
+	-- Enchant Shield - Resistance -- 27947
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27947, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27947, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27947, 7, 2)
+
+	-- Enchant Boots - Vitality -- 27948
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27948, 285, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27948, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27948, 7, 2)
+
+	-- Enchant Boots - Fortitude -- 27950
+	-- Instance: 3792 - type5category3maxlevel66territory1expansion1minlevel64nameAuchindoun: Mana-Tombsid3792
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27950, 300, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27950, 5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27950, 3, 18317)
+
+	-- Enchant Boots - Dexterity -- 27951
+	-- Instance: 3790 - type5category3maxlevel67territory1expansion1minlevel65nameAuchindoun: Auchenai Cryptsid3790
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27951, 320, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27951, 5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27951, 3, 18521)
+
+	-- Enchant Boots - Surefooted -- 27954
+	-- Raid: 3457 - Karazhan
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27954, 350, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27954, 6,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27954, 3, 16472)
+
+	-- Enchant Chest - Exceptional Health -- 27957
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27957, 295, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27957, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27957, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Chest - Exceptional Mana -- 27958
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27958, 305, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27958, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Chest - Exceptional Stats -- 27960
+	-- Honor Hold - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27960, 325, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27960, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,104)
+	self:addTradeAcquire(RecipeDB, 27960, 6, 946, 3, 17657)
+
+	-- Enchant Cloak - Major Armor -- 27961
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27961, 290, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27961, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 27961, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Cloak - Major Resistance -- 27962
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27962, 310, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27962, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 27962, 7, 2)
+
+	-- Enchant Weapon - Major Striking -- 27967
+	-- The Consortium - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27967, 320, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27967, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,105)
+	self:addTradeAcquire(RecipeDB, 27967, 6, 933, 2, 20242, 6, 933, 2, 23007)
+
+	-- Enchant Weapon - Major Intellect -- 27968
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27968, 320, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27968, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27968, 3, 20136)
+
+	-- Enchant 2H Weapon - Savagery -- 27971
+	-- Instance: 3714 - type5category3territory1expansion1minlevel70nameHellfire Citadel: The Shattered Hallsid3714
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27971, 330, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27971, 5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27971, 3, 17465)
+
+	-- Enchant Weapon - Potency -- 27972
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27972, 330, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27972, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27972, 7, 2)
+
+	-- Enchant Weapon - Major Spellpower -- 27975
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27975, 330, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27975, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27975, 3, 20614, 3, 22242, 3, 22243)
+
+	-- Enchant 2H Weapon - Major Agility -- 27977
+	-- Instance: 3848 - type5category3territory1expansion1minlevel70nameTempest Keep: The Arcatrazid3848
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27977, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27977, 5,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27977, 3, 20880)
+
+	-- Enchant Weapon - Sunfire -- 27981
+	-- Raid: 3457 - Karazhan
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27981, 355, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27981, 6,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27981, 3, 16524)
+
+	-- Enchant Weapon - Soulfrost -- 27982
+	-- Raid: 3457 - Karazhan
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27982, 355, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27982, 6,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27982, 3, 15688)
+
+	-- Enchant Weapon - Mongoose -- 27984
+	-- Raid: 3457 - Karazhan
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27984, 355, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 27984, 6,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 27984, 3, 15687)
+
+	-- Enchant Weapon - Spellsurge -- 28003
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28003, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 28003, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28003, 7, 2)
+
+	-- Enchant Weapon - Battlemaster -- 28004
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28004, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 28004, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28004, 7, 2)
+
+	-- Superior Mana Oil -- 28016
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28016, 290, 22521, 1, 7411)
+	self:addTradeFlags(RecipeDB, 28016, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28016, 2, 16635, 2, 16722, 2, 19663)
+
+	-- Superior Wizard Oil -- 28019
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28019, 320, 22522, 1, 7411)
+	self:addTradeFlags(RecipeDB, 28019, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28019, 2, 16635, 2, 16722, 2, 19663)
+
+	-- Arcane Dust -- 28021
+	-- Trainer
+	-- Flags: All classes, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28021, 315, 22445, 1, 7411)
+	self:addTradeFlags(RecipeDB, 28021, 3,21,22,23,24,25,26,27,28,29,30,41)
+	-- No acquire information
+
+	-- Large Prismatic Shard -- 28022
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28022, 1, 22449, 1, 7411)
+	self:addTradeFlags(RecipeDB, 28022, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28022, 2, 16635, 2, 16722, 2, 19663)
+
+	-- Prismatic Sphere -- 28027
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val3id32val3id33val3id34val3id35val3id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28027, 315, 22460, 1, 7411)
+	self:addTradeFlags(RecipeDB, 28027, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 28027, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Void Sphere -- 28028
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val4id32val4id33val4id34val4id35val4id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28028, 330, 22459, 1, 7411)
+	self:addTradeFlags(RecipeDB, 28028, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 28028, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Runed Fel Iron Rod -- 32664
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32664, 280, 22461, 1, 7411)
+	self:addTradeFlags(RecipeDB, 32664, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41)
+	self:addTradeAcquire(RecipeDB, 32664, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Runed Adamantite Rod -- 32665
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32665, 330, 22462, 1, 7411)
+	self:addTradeFlags(RecipeDB, 32665, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41)
+	self:addTradeAcquire(RecipeDB, 32665, 2, 18960, 2, 19004)
+
+	-- Runed Eternium Rod -- 32667
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32667, 340, 22463, 1, 7411)
+	self:addTradeFlags(RecipeDB, 32667, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41)
+	self:addTradeAcquire(RecipeDB, 32667, 2, 19663)
+
+	-- Enchant Chest - Major Spirit -- 33990
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33990, 300, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 33990, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33990, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Chest - Restore Mana Prime -- 33991
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33991, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 33991, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33991, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Chest - Major Resilience -- 33992
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33992, 325, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 33992, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33992, 7, 2)
+
+	-- Enchant Gloves - Blasting -- 33993
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33993, 285, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 33993, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33993, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Gloves - Spell Strike -- 33994
+	-- Cenarion Expedition - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33994, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 33994, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,103)
+	self:addTradeAcquire(RecipeDB, 33994, 6, 942, 3, 17904)
+
+	-- Enchant Gloves - Major Strength -- 33995
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33995, 320, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 33995, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33995, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Gloves - Assault -- 33996
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33996, 290, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 33996, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 33996, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Gloves - Major Spellpower -- 33997
+	-- Keepers of Time - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33997, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 33997, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,106)
+	self:addTradeAcquire(RecipeDB, 33997, 6, 989, 2, 21643)
+
+	-- Enchant Gloves - Major Healing -- 33999
+	-- The Sha'tar - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 33999, 330, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 33999, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,111)
+	self:addTradeAcquire(RecipeDB, 33999, 6, 935, 2, 21432)
+
+	-- Enchant Bracer - Major Intellect -- 34001
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34001, 285, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 34001, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 34001, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Bracer - Assault -- 34002
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34002, 280, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 34002, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 34002, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Cloak - Spell Penetration -- 34003
+	-- The Consortium - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34003, 305, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 34003, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,105)
+	self:addTradeAcquire(RecipeDB, 34003, 6, 933, 1, 20242, 6, 933, 1, 23007)
+
+	-- Enchant Cloak - Greater Agility -- 34004
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34004, 290, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 34004, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 34004, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Cloak - Greater Arcane Resistance -- 34005
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34005, 330, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 34005, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 34005, 3, 19796)
+
+	-- Enchant Cloak - Greater Shadow Resistance -- 34006
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34006, 330, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 34006, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 34006, 3, 18870)
+
+	-- Enchant Boots - Cat's Swiftness -- 34007
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34007, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 34007, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 34007, 7, 3)
+
+	-- Enchant Boots - Boar's Speed -- 34008
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34008, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 34008, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 34008, 7, 3)
+
+	-- Enchant Shield - Major Stamina -- 34009
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34009, 305, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 34009, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 34009, 2, 19663)
+
+	-- Enchant Weapon - Major Healing -- 34010
+	-- The Sha'tar - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34010, 330, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 34010, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,111)
+	self:addTradeAcquire(RecipeDB, 34010, 6, 935, 3, 21432)
+
+	-- Nexus Transformation -- 42613
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42613, 285, 22448, 1, 7411)
+	self:addTradeFlags(RecipeDB, 42613, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 42613, 1, 18753, 1, 18773, 1, 19252)
+
+	-- Small Prismatic Shard -- 42615
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42615, 295, 22448, 1, 7411)
+	self:addTradeFlags(RecipeDB, 42615, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 42615, 1, 18753, 1, 18773, 1, 19252, 1, 19540)
+
+	-- Enchant Weapon - Greater Agility -- 42620
+	-- The Violet Eye - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42620, 345, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 42620, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,114)
+	self:addTradeAcquire(RecipeDB, 42620, 6, 967, 4, 18255)
+
+	-- Enchant Weapon - Executioner -- 42974
+	-- Raid: 3805 - Zul'Aman
+	-- Raid: 3805 - Zul'Aman
+	-- No location information
+	-- No location information
+	-- Raid: 3805 - Zul'Aman
+	-- Raid: 3805 - Zul'Aman
+	-- Raid: 3805 - Zul'Aman
+	-- Raid: 3805 - Zul'Aman
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42974, 355, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 42974, 6,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 42974, 3, 23574, 3, 23576, 3, 23577, 3, 23578, 3, 23863, 3, 24144, 3, 24239, 3, 24363)
+
+	-- Enchant Shield - Resilience -- 44383
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44383, 310, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44383, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Cloak - Superior Frost Resistance -- 44483
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44483, 340, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44483, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Enchant Gloves - Expertise -- 44484
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44484, 340, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44484, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Gloves - Greater Spell Strike -- 44488
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44488, 345, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44488, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Shield - Defense -- 44489
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44489, 345, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44489, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Chest - Major Health -- 44492
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44492, 345, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44492, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Cloak - Superior Nature Resistance -- 44494
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44494, 345, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44494, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Enchant Weapon - Exceptional Striking -- 44496
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44496, 345, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44496, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Weapon - Exceptional Intellect -- 44497
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44497, 345, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44497, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Cloak - Superior Agility -- 44500
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44500, 350, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44500, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Enchant Gloves - Gatherer -- 44506
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44506, 350, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44506, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Boots - Greater Spirit -- 44508
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44508, 350, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44508, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Chest - Greater Mana Restoration -- 44509
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44509, 355, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44509, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Weapon - Exceptional Spirit -- 44510
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44510, 355, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44510, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Gloves - Greater Assault -- 44513
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44513, 365, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44513, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Weapon - Icebreaker -- 44524
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44524, 365, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44524, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Boots - Greater Fortitude -- 44528
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44528, 360, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44528, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Gloves - Major Agility -- 44529
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44529, 370, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44529, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Bracers - Exceptional Intellect -- 44555
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44555, 370, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44555, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Cloak - Superior Fire Resistance -- 44556
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44556, 370, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44556, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Enchant Gloves - Exceptional Healing -- 44558
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44558, 375, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44558, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Bracers - Greater Assault -- 44575
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44575, 375, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44575, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Cloak - Spell Piercing -- 44582
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44582, 380, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44582, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Enchant Boots - Greater Vitality -- 44584
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44584, 380, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44584, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Chest - Exceptional Resilience -- 44588
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44588, 385, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44588, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Boots - Superior Agility -- 44589
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44589, 385, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44589, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Cloak - Superior Shadow Resistance -- 44590
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44590, 385, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44590, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Enchant Cloak - Titanweave -- 44591
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44591, 390, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44591, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Enchant Gloves - Exceptional Spellpower -- 44592
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44592, 390, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44592, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Weapon - Scourgebane -- 44595
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44595, 390, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44595, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Cloak - Superior Arcane Resistance -- 44596
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44596, 395, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44596, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Enchant Shield - Exceptional Stamina -- 44597
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44597, 395, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44597, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Bracer - Expertise -- 44598
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44598, 395, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44598, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Gloves - Greater Blasting -- 44612
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44612, 390, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44612, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Boots - Icewalker -- 44613
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44613, 400, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44613, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Bracers - Greater Stats -- 44616
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44616, 400, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44616, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Weapon - Giant Slayer -- 44621
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44621, 400, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44621, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Chest - Super Stats -- 44623
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44623, 405, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44623, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Gloves - Armsman -- 44625
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44625, 405, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44625, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Weapon - Exceptional Spellpower -- 44629
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44629, 405, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44629, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Weapon - Greater Savagery -- 44630
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44630, 405, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44630, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Cloak - Shadow Armor -- 44631
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44631, 410, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44631, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Enchant Weapon - Exceptional Healing -- 44632
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44632, 410, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44632, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Weapon - Exceptional Agility -- 44633
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44633, 410, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44633, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Bracers - Major Healing -- 44634
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44634, 415, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44634, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Bracers - Greater Spellpower -- 44635
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44635, 415, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44635, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Ring - Greater Spellpower -- 44636
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44636, 415, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44636, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Ring - Haste -- 44637
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44637, 415, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44637, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Ring - Greater Healing Power -- 44638
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44638, 415, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44638, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Ring - Assault -- 44645
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 44645, 415, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 44645, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Void Shatter -- 45765
+	-- Shattered Sun Offensive - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 45765, 355, 22449, 1, 7411)
+	self:addTradeFlags(RecipeDB, 45765, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,112)
+	self:addTradeAcquire(RecipeDB, 45765, 6, 1077, 2, 25032)
+
+	-- Enchant Weapon - Deathfrost -- 46578
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46578, 335, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 46578, 3,7,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 46578, 5, 4)
+
+	-- Enchant Chest - Defense -- 46594
+	-- Shattered Sun Offensive - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46594, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 46594, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,112)
+	self:addTradeAcquire(RecipeDB, 46594, 6, 1077, 2, 25032)
+
+	-- Enchant Cloak - Steelweave -- 47051
+	-- Instance: 4095 - type1category3maxlevel70territory1expansion1minlevel70nameMagisters' Terracelimit5id4095
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 47051, 350, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 47051, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 47051, 3, 24560)
+
+	-- Enchant Cloak - Mighty Armor -- 47672
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 47672, 340, nil, 1, 7411)
+	self:addTradeFlags(RecipeDB, 47672, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Enchant Cloak - Haste -- 47898
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 47898, 420, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 47898, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Enchant Cloak - Wisdom -- 47899
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 47899, 420, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 47899, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enchant Boots - Tuskarr's Vitality -- 47901
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 47901, 400, nil, 1, 7411)
+	--self:addTradeFlags(RecipeDB, 47901, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	return recipecount

 end
diff --git a/RecipeDB/ARL-Engineer.lua b/RecipeDB/ARL-Engineer.lua
index ec87997..8bb11fd 100644
--- a/RecipeDB/ARL-Engineer.lua
+++ b/RecipeDB/ARL-Engineer.lua
@@ -1,281 +1,2469 @@
 --[[

-ARL-Engineering.lua
+************************************************************************
+
+ARL-Engineer.lua

 Engineering data for all of AckisRecipeList

+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+251 found from data mining.
+0 ignored.
+2 WotLK ignored.
+
+************************************************************************
+
 $Date$
 $Rev$

+************************************************************************
+
+Format:
+
+	self:addTradeSkill(RecipeDB, Spell ID, Skill Level, Item ID, Rarity, Specialty)
+
+************************************************************************
+
 ]]--

-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-local BZONE		= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local BBOSS		= LibStub("LibBabble-Boss-3.0"):GetLookupTable()
-
-local addon = AckisRecipeList
-
-function addon:InitEngineering()
-
-	-- Trainer Recipes
-	self:addTradeSkillSpell(3918, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(3919, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(3920, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(3922, 30, L["Trainer"],1)
-	self:addTradeSkillSpell(3923, 30, L["Trainer"],1)
-	self:addTradeSkillSpell(3924, 50, L["Trainer"],1)
-	self:addTradeSkillSpell(3925, 50, L["Trainer"],1)
-	self:addTradeSkillSpell(7430, 50, L["Trainer"],1)
-	self:addTradeSkillSpell(3977, 60, L["Trainer"],1)
-	self:addTradeSkillSpell(3926, 65, L["Trainer"],1)
-	self:addTradeSkillSpell(3929, 75, L["Trainer"],1)
-	self:addTradeSkillSpell(3930, 75, L["Trainer"],1)
-	self:addTradeSkillSpell(3931, 75, L["Trainer"],1)
-	self:addTradeSkillSpell(3932, 85, L["Trainer"],1)
-	self:addTradeSkillSpell(3973, 90, L["Trainer"],1)
-	self:addTradeSkillSpell(3934, 100, L["Trainer"],1)
-	self:addTradeSkillSpell(8334, 100, L["Trainer"],1)
-	self:addTradeSkillSpell(3936, 105, L["Trainer"],1)
-	self:addTradeSkillSpell(3937, 105, L["Trainer"],1)
-	self:addTradeSkillSpell(3938, 105, L["Trainer"],1)
-	self:addTradeSkillSpell(3978, 110, L["Trainer"],1)
-	self:addTradeSkillSpell(3941, 120, L["Trainer"],1)
-	self:addTradeSkillSpell(3942, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(3945, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(3946, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(3947, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(3949, 130, L["Trainer"],1)
-	self:addTradeSkillSpell(6458, 135, L["Trainer"],1)
-	self:addTradeSkillSpell(3950, 140, L["Trainer"],1)
-	self:addTradeSkillSpell(3953, 145, L["Trainer"],1)
-	self:addTradeSkillSpell(3955, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(3956, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(9271, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(12584, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(3958, 160, L["Trainer"],1)
-	self:addTradeSkillSpell(3961, 170, L["Trainer"],1)
-	self:addTradeSkillSpell(3962, 175, L["Trainer"],1)
-	self:addTradeSkillSpell(3963, 175, L["Trainer"],1)
-	self:addTradeSkillSpell(12585, 175, L["Trainer"],1)
-	self:addTradeSkillSpell(12586, 175, L["Trainer"],1)
-	self:addTradeSkillSpell(12590, 175, L["Trainer"],1)
-	self:addTradeSkillSpell(3965, 185, L["Trainer"],1)
-	self:addTradeSkillSpell(3967, 190, L["Trainer"],1)
-	self:addTradeSkillSpell(12589, 195, L["Trainer"],1)
-	self:addTradeSkillSpell(12591, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(15255, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(12594, 205, L["Trainer"],1)
-	self:addTradeSkillSpell(12595, 205, L["Trainer"],1)
-	self:addTradeSkillSpell(12596, 210, L["Trainer"],1)
-	self:addTradeSkillSpell(12599, 215, L["Trainer"],1)
-	self:addTradeSkillSpell(12603, 215, L["Trainer"],1)
-	self:addTradeSkillSpell(12618, 230, L["Trainer"],1)
-	self:addTradeSkillSpell(12619, 235, L["Trainer"],1)
-	self:addTradeSkillSpell(12621, 245, L["Trainer"],1)
-	self:addTradeSkillSpell(12622, 245, L["Trainer"],1)
-	self:addTradeSkillSpell(19567, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(19788, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(23070, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(26011, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(19790, 260, L["Trainer"],1)
-	self:addTradeSkillSpell(19791, 260, L["Trainer"],1)
-	self:addTradeSkillSpell(23071, 260, L["Trainer"],1)
-	self:addTradeSkillSpell(19794, 270, L["Trainer"],1)
-	self:addTradeSkillSpell(19795, 275, L["Trainer"],1)
-	self:addTradeSkillSpell(19825, 290, L["Trainer"],1)
-	self:addTradeSkillSpell(30303, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(30304, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(30305, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(30310, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(30346, 310, L["Trainer"],1)
-	self:addTradeSkillSpell(30312, 320, L["Trainer"],1)
-	self:addTradeSkillSpell(30306, 325, L["Trainer"],1)
-	self:addTradeSkillSpell(30311, 325, L["Trainer"],1)
-	self:addTradeSkillSpell(30307, 350, L["Trainer"],1)
-	self:addTradeSkillSpell(30308, 350, L["Trainer"],1)
-	self:addTradeSkillSpell(30309, 350, L["Trainer"],1)
-	self:addTradeSkillSpell(44155, 350, L["Trainer"],1)
-	self:addTradeSkillSpell(39971, 335, L["Trainer"],1)
-	self:addTradeSkillSpell(39973, 335, L["Trainer"],1)
-	self:addTradeSkillSpell(40274, 350, L["Trainer"], "PALADIN", "WARRIOR",1)
-	self:addTradeSkillSpell(41311, 350, L["Trainer"], "PALADIN",1)
-	self:addTradeSkillSpell(41312, 350, L["Trainer"], "PALADIN", "WARRIOR",1)
-	self:addTradeSkillSpell(41314, 350, L["Trainer"], "SHAMAN", "HUNTER",1)
-	self:addTradeSkillSpell(41315, 350, L["Trainer"], "SHAMAN",1)
-	self:addTradeSkillSpell(41316, 350, L["Trainer"], "SHAMAN",1)
-	self:addTradeSkillSpell(41317, 350, L["Trainer"], "ROGUE", "DRUID",1)
-	self:addTradeSkillSpell(41318, 350, L["Trainer"], "DRUID",1)
-	self:addTradeSkillSpell(41319, 350, L["Trainer"], "DRUID",1)
-	self:addTradeSkillSpell(41320, 350, L["Trainer"], "WARLOCK", "PRIEST", "MAGE",1)
-	self:addTradeSkillSpell(41321, 350, L["Trainer"], "PRIEST")
-	self:addTradeSkillSpell(41307, 375, L["Trainer"],1)
-	self:addTradeSkillSpell(44157, 375, L["Trainer"],1)
-
-	-- Vendor Recipes
-	self:addTradeSkillSpell(3939, 120, self:CombineVendors(67, 68, false),2)
-	self:addTradeSkillSpell(9269, 125, self:CombineVendors(68, 74, false), BFAC["Alliance"],2)
-	self:addTradeSkillSpell(3952, 140, self:CombineVendors(67, 69, false)  .. addon.br .. L["Minor Recombobulator Obt"],2)
-	self:addTradeSkillSpell(23066, 150, self:CombineVendors(70, false), BFAC["Horde"],2)
-	self:addTradeSkillSpell(23067, 150, self:CombineVendors(73, 74, false), BFAC["Alliance"],2)
-	self:addTradeSkillSpell(23068, 150, self:CombineVendors(71, 72, false),2)
-	self:addTradeSkillSpell(3957, 155, self:CombineVendors(75, false),2)
-	self:addTradeSkillSpell(9273, 165, self:CombineVendors(76, 77, 19, false),2)
-	self:addTradeSkillSpell(3979, 180, self:CombineVendors(78, false),2)
-	self:addTradeSkillSpell(3969, 200, self:CombineVendors(79, false),2)
-	self:addTradeSkillSpell(3971, 200, self:CombineVendors(81, false),2)
-	self:addTradeSkillSpell(23069, 200, self:CombineVendors(84, false),2)
-	self:addTradeSkillSpell(12597, 210, self:CombineVendors(83, 82, false),2)
-	self:addTradeSkillSpell(12617, 230, self:CombineVendors(85, true),2)
-	self:addTradeSkillSpell(12624, 250, self:CombineVendors(80, true),2)
-	self:addTradeSkillSpell(23507, 250, self:CombineVendors(86, false),2)
-	self:addTradeSkillSpell(23077, 260, self:CombineVendors(87, false),2)
-	self:addTradeSkillSpell(19814, 275, self:CombineVendors(87, false),2)
-	self:addTradeSkillSpell(23080, 275, self:CombineVendors(87, false),2)
-	self:addTradeSkillSpell(39895, 275, self:CombineVendors(87, 88, false),2)
-	self:addTradeSkillSpell(19815, 285, self:CombineVendors(87, 88, false),2)
-	self:addTradeSkillSpell(30348, 325, self:CombineVendors(92, 93, 94, false),2)
-	self:addTradeSkillSpell(30329, 335, self:CombineVendors(89, 90, false),2)
-	self:addTradeSkillSpell(30341, 335, self:CombineVendors(91, 92, 93, 94, false),2)
-	self:addTradeSkillSpell(30347, 335, self:CombineVendors(92, 93, 94, false),2)
-	self:addTradeSkillSpell(30316, 340, self:CombineVendors(95, 90, false),2)
-	self:addTradeSkillSpell(30313, 350, self:CombineVendors(92, 88, 94, false),2)
-	self:addTradeSkillSpell(30318, 350, self:CombineVendors(91, 95, false),2)
-
-	-- World Drops
-	self:addTradeSkillSpell(3928, 75, L["UWD"],3)
-	self:addTradeSkillSpell(3933, 100, L["UWD"],3)
-	self:addTradeSkillSpell(8339, 100, L["UWD"],3)
-	self:addTradeSkillSpell(3940, 120, L["UWD"],3)
-	self:addTradeSkillSpell(3954, 145, L["UWD"],3)
-	self:addTradeSkillSpell(3960, 165, L["UWD"],3)
-	self:addTradeSkillSpell(12587, 175, L["UWD"],3)
-	self:addTradeSkillSpell(3966, 185, L["UWD"],3)
-	self:addTradeSkillSpell(3968, 195, L["UWD"],3)
-	self:addTradeSkillSpell(3972, 200, L["UWD"],3)
-	self:addTradeSkillSpell(12607, 220, L["UWD"],3)
-	self:addTradeSkillSpell(12614, 220, L["UWD"],3)
-	self:addTradeSkillSpell(12615, 225, L["UWD"],3)
-	self:addTradeSkillSpell(12616, 225, L["UWD"],3)
-	self:addTradeSkillSpell(12620, 240, L["UWD"],3)
-	self:addTradeSkillSpell(19792, 260, L["UWD"],3)
-	self:addTradeSkillSpell(19793, 265, L["UWD"],3)
-	self:addTradeSkillSpell(19800, 285, L["UWD"],3)
-	self:addTradeSkillSpell(19831, 300, L["UWD"],3)
-	self:addTradeSkillSpell(30337, 325, L["UWD"],3)
-	self:addTradeSkillSpell(30551, 330, L["UWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-	self:addTradeSkillSpell(32814, 335, L["UWD"],3)
-	self:addTradeSkillSpell(30317, 340, L["UWD"],3)
-	self:addTradeSkillSpell(30552, 345, L["UWD"],3)
-	self:addTradeSkillSpell(30315, 375, L["RWD"],3)
-
-	-- Specific Drops
-	self:addTradeSkillSpell(3944, 125, self:CombineMobs(true,BBOSS["Mekgineer Thermaplugg"],BZONE["Gnomeregan"]),3,5)
-	self:addTradeSkillSpell(3959, 160, self:CombineMobs(true,BBOSS["Mekgineer Thermaplugg"],BZONE["Gnomeregan"]) .. addon.br .. L["Discombobulator Ray Obt"],3,5)
-	self:addTradeSkillSpell(8243, 185, self:CombineQuests(L["Flash Bomb Obt"],0,BZONE["Badlands"]),8)
-	self:addTradeSkillSpell(19796, 275, self:CombineMobs(true,L["Dark Iron Rifle Obt"],BZONE["Blackrock Depths"]),3,5)
-	self:addTradeSkillSpell(23079, 275, self:CombineMobs(false,BBOSS["King Gordok"],BZONE["Dire Maul"]) .. L["Major Recombobulator Obt"],4,5)
-	self:addTradeSkillSpell(28327, 275, self:CombineQuests(L["Steam Tonk Controller Obt"],0,L["Darkmoon Faire"]),8)
-	self:addTradeSkillSpell(19799, 285, self:CombineMobs(true,L["Weapon Technician"],BZONE["Blackrock Depths"]),3,5)
-	self:addTradeSkillSpell(19819, 290, self:CombineMobs(true,L["Crimson Inquisitor"],BZONE["Stratholme"]),3,5)
-	self:addTradeSkillSpell(23081, 290, self:CombineMobs(true,BBOSS["Solakar Flamewreath"],BZONE["Upper Blackrock Spire"]),3,5)
-	self:addTradeSkillSpell(19830, 300, self:CombineMobs(true,L["Arcanite Dragonling Obt"],BZONE["Winterspring"]),3,5)
-	self:addTradeSkillSpell(19833, 300, self:CombineMobs(true,L["Flawless Arcanite Rifle Obt"],BZONE["Eastern Plaguelands"]),3,5)
-	self:addTradeSkillSpell(22704, 300, self:CombineMobs(false,BBOSS["Golem Lord Argelmach"],BZONE["Blackrock Depths"]) .. L["Field Repair Bot 74A Obt"],4,5)
-	self:addTradeSkillSpell(23082, 300, self:CombineMobs(true,L["Crimson Inquisitor"],BZONE["Stratholme"]),3,5)
-	self:addTradeSkillSpell(30548, 305, self:CombineQuests(L["Zapthrottle Mote Extractor Obt"],0,BZONE["Zangarmarsh"]),8)
-	self:addTradeSkillSpell(43676, 335, self:CombineMobs(false,L["Adamantite Arrow Maker Obt"],BZONE["Netherstorm"]),4)
-	self:addTradeSkillSpell(30556, 355, self:CombineMobs(false,BBOSS["Mekgineer Steamrigger"],BZONE["The Steamvault"]),4,5)
-	self:addTradeSkillSpell(46697, 355, self:CombineMobs(false,BBOSS["Mechano-Lord Capacitus"],BZONE["The Mechanar"]),4,5)
-	self:addTradeSkillSpell(30314, 360, self:CombineMobs(false,L["Felsteel Boomstick Obt"],BZONE["Blade's Edge Mountains"]),4)
-	self:addTradeSkillSpell(30325, 360, self:CombineMobs(false,L["Hyper-Vision Goggles Obt"],BZONE["Shadowmoon Valley"]),4)
-	self:addTradeSkillSpell(30332, 360, self:CombineMobs(false,L["Khorium Scope Obt"],BZONE["Netherstorm"]),4)
-	self:addTradeSkillSpell(44391, 360, self:CombineMobs(false,L["Field Repair Bot 110G Obt"],BZONE["Blade's Edge Mountains"]),4)
-
-	-- Seasonal
-	self:addTradeSkillSpell(26416, 125, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(26417, 125, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(26418, 125, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(26420, 175, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(26421, 175, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(26422, 175, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(21940, 190, L["WintersVeil"], 7)
-	self:addTradeSkillSpell(26423, 225, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(26424, 225, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(26425, 225, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(26442, 225, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(26426, 275, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(26427, 275, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(26428, 275, L["Lunar Festival"], 7)
-	self:addTradeSkillSpell(26443, 275, L["Lunar Festival"], 7)
-
-
-	-- Reputations
-	self:addTradeSkillSpell(24356, 300, self:AddSingleReputation(2, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24357, 300, self:AddSingleReputation(1, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-
-	self:addTradeSkillSpell(30344, 335, self:AddSingleReputation(1, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-
-	self:addTradeSkillSpell(30547, 350, self:AddSingleReputation(3, BFAC["The Consortium"]), BFAC["The Consortium"])
-
-	-- Raid
-	self:addTradeSkillSpell(22793, 300, L["MOLTENCORE"], 6)
-	self:addTradeSkillSpell(22795, 300, L["MOLTENCORE"], 6)
-	self:addTradeSkillSpell(22797, 300, L["MOLTENCORE"], 6)
-	self:addTradeSkillSpell(30334, 375, self:CombineMobs(false,BBOSS["Attumen the Huntsman"],BZONE["Karazhan"]), 6)
-	self:addTradeSkillSpell(46106, 375, L["SunwellBoE"], 6, "DRUID")
-	self:addTradeSkillSpell(46107, 375, L["SunwellBoE"], 6, "PALADIN")
-	self:addTradeSkillSpell(46108, 375, L["SunwellBoE"], 6, "PRIEST")
-	self:addTradeSkillSpell(46109, 375, L["SunwellBoE"], 6, "DRUID")
-	self:addTradeSkillSpell(46110, 375, L["SunwellBoE"], 6, "SHAMAN")
-	self:addTradeSkillSpell(46111, 375, L["SunwellBoE"], 6, "PRIEST", "MAGE", "WARLOCK")
-	self:addTradeSkillSpell(46112, 375, L["SunwellBoE"], 6, "SHAMAN")
-	self:addTradeSkillSpell(46113, 375, L["SunwellBoE"], 6, "SHAMAN", "HUNTER")
-	self:addTradeSkillSpell(46114, 375, L["SunwellBoE"], 6, "PALADIN", "WARRIOR")
-	self:addTradeSkillSpell(46115, 375, L["SunwellBoE"], 6, "PALADIN", "WARRIOR")
-	self:addTradeSkillSpell(46116, 375, L["SunwellBoE"], 6, "DRUID", "ROGUE")
-
-	-- Gnomish Engineering
-	self:addTradeSkillSpell(12895, 200, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(12899, 205, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(15633, 205, L["ENG_MEMBERSHIP_BENEFITS"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(12897, 210, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(12902, 210, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(12903, 215, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(12905, 225, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(12906, 230, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(12907, 235, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(12759, 240, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(23129, 260, self:CombineMobs(true,L["Weapon Technician"],BZONE["Blackrock Depths"]), GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(23489, 260, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(23096, 265, self:CombineMobs(true,L["Weapon Technician"],BZONE["Blackrock Depths"]), GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(30568, 325, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(30569, 340, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(30570, 350, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(36955, 350, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(30574, 375, L["Trainer"], GetSpellInfo(20219),1)
-	self:addTradeSkillSpell(30575, 375, L["Trainer"], GetSpellInfo(20219),1)
-
-	-- Goblin Engineering
-	self:addTradeSkillSpell(12715, 205, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(12716, 205, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(12717, 205, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(12718, 205, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(12760, 205, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(13240, 205, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(15628, 205, L["ENG_MEMBERSHIP_BENEFITS"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(8895, 225, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(12755, 230, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(12754, 235, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(12908, 240, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(12758, 245, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(23486, 260, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(23078, 265, self:CombineMobs(true,BBOSS["Plugger Spazzring"],BZONE["Blackrock Depths"]), GetSpellInfo(20222),3,5)
-	self:addTradeSkillSpell(30558, 325, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(30560, 340, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(30563, 350, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(36954, 350, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(30565, 375, L["Trainer"], GetSpellInfo(20222),1)
-	self:addTradeSkillSpell(30566, 375, L["Trainer"], GetSpellInfo(20222),1)
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+function addon:InitEngineering(RecipeDB)
+
+	local recipecount = 0
+
+	-- Rough Blasting Powder -- 3918
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3918, 1, 4357, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3918, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Rough Dynamite -- 3919
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3919, 1, 4358, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3919, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Crafted Light Shot -- 3920
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Ammo,
+	-- Item Stats:
+	-- Item Stats: val2-2id7val3id8val2-2id14val3id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3920, 1, 8067, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3920, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,78)
+	-- No acquire information
+
+	-- Handful of Copper Bolts -- 3922
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3922, 30, 4359, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3922, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3922, 1, 1702, 1, 2857, 1, 3290, 1, 3412, 1, 3494, 1, 4586, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11025, 1, 11026, 1, 11028, 1, 11029, 1, 11037, 1, 16667, 1, 16668, 1, 16726, 1, 16743, 1, 17222, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Rough Copper Bomb -- 3923
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3923, 30, 4360, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3923, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3923, 1, 1702, 1, 2857, 1, 3290, 1, 3412, 1, 3494, 1, 4586, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11025, 1, 11026, 1, 11028, 1, 11029, 1, 11031, 1, 11037, 1, 16667, 1, 16668, 1, 16726, 1, 16743, 1, 17222, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Copper Tube -- 3924
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3924, 50, 4361, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3924, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3924, 1, 1702, 1, 2857, 1, 3290, 1, 3412, 1, 3494, 1, 4586, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11025, 1, 11026, 1, 11028, 1, 11029, 1, 11031, 1, 11037, 1, 16667, 1, 16668, 1, 16726, 1, 16743, 1, 17222, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Rough Boomstick -- 3925
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Gun,
+	-- Item Stats:
+	-- Item Stats: val10-19id14val2.3id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3925, 50, 4362, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3925, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46)
+	self:addTradeAcquire(RecipeDB, 3925, 1, 1702, 1, 2857, 1, 3290, 1, 3412, 1, 3494, 1, 4586, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11025, 1, 11026, 1, 11028, 1, 11029, 1, 11031, 1, 11037, 1, 16667, 1, 16668, 1, 16726, 1, 16743, 1, 17222, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Copper Modulator -- 3926
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3926, 65, 4363, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3926, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3926, 1, 1702, 1, 2857, 1, 3290, 1, 3412, 1, 3494, 1, 4586, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11025, 1, 11026, 1, 11028, 1, 11029, 1, 11031, 1, 11037, 1, 16667, 1, 16668, 1, 16726, 1, 16743, 1, 17222, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Mechanical Squirrel -- 3928
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3928, 75, 4401, 2, 4036)
+	self:addTradeFlags(RecipeDB, 3928, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3928, 7, 2)
+
+	-- Coarse Blasting Powder -- 3929
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3929, 75, 4364, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3929, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3929, 1, 1702, 1, 2857, 1, 3290, 1, 3412, 1, 3494, 1, 4586, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11025, 1, 11026, 1, 11028, 1, 11029, 1, 11031, 1, 11037, 1, 16667, 1, 16668, 1, 16726, 1, 16743, 1, 17222, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Crafted Heavy Shot -- 3930
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Ammo,
+	-- Item Stats:
+	-- Item Stats: val4-5id7val3id8val4-5id14val3id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3930, 75, 8068, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3930, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,78)
+	self:addTradeAcquire(RecipeDB, 3930, 1, 1702, 1, 2857, 1, 3290, 1, 3412, 1, 3494, 1, 4586, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11025, 1, 11026, 1, 11028, 1, 11029, 1, 11031, 1, 11037, 1, 16667, 1, 16668, 1, 16726, 1, 16743, 1, 17222, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Coarse Dynamite -- 3931
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3931, 75, 4365, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3931, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3931, 1, 1702, 1, 2857, 1, 3290, 1, 3412, 1, 3494, 1, 4586, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11025, 1, 11026, 1, 11028, 1, 11029, 1, 11031, 1, 11037, 1, 16667, 1, 16668, 1, 16726, 1, 16743, 1, 17222, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Target Dummy -- 3932
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3932, 85, 4366, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3932, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3932, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Small Seaforium Charge -- 3933
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3933, 100, 4367, 2, 4036)
+	self:addTradeFlags(RecipeDB, 3933, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3933, 7, 2)
+
+	-- Flying Tiger Goggles -- 3934
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val4id3val4id5val27id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3934, 100, 4368, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3934, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3934, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Deadly Blunderbuss -- 3936
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Gun,
+	-- Item Stats:
+	-- Item Stats: val21-39id14val2.6id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3936, 105, 4369, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3936, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46)
+	self:addTradeAcquire(RecipeDB, 3936, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Large Copper Bomb -- 3937
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3937, 55, 4370, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3937, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3937, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Bronze Tube -- 3938
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3938, 55, 4371, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3938, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3938, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Lovingly Crafted Boomstick -- 3939
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Gun,
+	-- Item Stats:
+	-- Item Stats: val16-31id14val1.8id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3939, 120, 4372, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3939, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,46)
+	self:addTradeAcquire(RecipeDB, 3939, 2, 2682, 2, 6730)
+
+	-- Shadow Goggles -- 3940
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val5id4val6id5val31id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3940, 120, 4373, 2, 4036)
+	self:addTradeFlags(RecipeDB, 3940, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 3940, 7, 2)
+
+	-- Small Bronze Bomb -- 3941
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3941, 70, 4374, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3941, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3941, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Whirring Bronze Gizmo -- 3942
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3942, 75, 4375, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3942, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3942, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Flame Deflector -- 3944
+	-- Instance: 721 - type1category3maxlevel33territory2minlevel24nameGnomereganid721
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3944, 75, 4376, 2, 4036)
+	self:addTradeFlags(RecipeDB, 3944, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3944, 3, 7800)
+
+	-- Heavy Blasting Powder -- 3945
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3945, 105, 4377, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3945, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3945, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Heavy Dynamite -- 3946
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3946, 105, 4378, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3946, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3946, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Crafted Solid Shot -- 3947
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Ammo,
+	-- Item Stats:
+	-- Item Stats: val8-9id7val3id8val8-9id14val3id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3947, 105, 8069, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3947, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,78)
+	self:addTradeAcquire(RecipeDB, 3947, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Silver-plated Shotgun -- 3949
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Gun,
+	-- Item Stats:
+	-- Item Stats: val27-50id14val2.7id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3949, 130, 4379, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3949, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46)
+	self:addTradeAcquire(RecipeDB, 3949, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Big Bronze Bomb -- 3950
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3950, 90, 4380, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3950, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3950, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Minor Recombobulator -- 3952
+	-- Instance: 721 - type1category3maxlevel33territory2minlevel24nameGnomereganid721
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3952, 140, 4381, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3952, 1,4,5,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 3952, 2, 2682, 2, 2683)
+
+	-- Bronze Framework -- 3953
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3953, 95, 4382, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3953, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3953, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Moonsight Rifle -- 3954
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Gun,
+	-- Item Stats:
+	-- Item Stats: val19-35id14val1.7id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3954, 145, 4383, 2, 4036)
+	self:addTradeFlags(RecipeDB, 3954, 10,21,22,23,24,25,26,27,28,29,30,36,40,46)
+	self:addTradeAcquire(RecipeDB, 3954, 7, 2)
+
+	-- Explosive Sheep -- 3955
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3955, 150, 4384, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3955, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3955, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Green Tinted Goggles -- 3956
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val8id3val7id5val35id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3956, 150, 4385, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3956, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3956, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Ice Deflector -- 3957
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3957, 155, 4386, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3957, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3957, 2, 2684)
+
+	-- Iron Strut -- 3958
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3958, 140, 4387, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3958, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3958, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Discombobulator Ray -- 3959
+	-- Instance: 721 - type1category3maxlevel33territory2minlevel24nameGnomereganid721
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3959, 160, 4388, 2, 4036)
+	self:addTradeFlags(RecipeDB, 3959, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3959, 3, 7800)
+
+	-- Portable Bronze Mortar -- 3960
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3960, 165, 4403, 2, 4036)
+	self:addTradeFlags(RecipeDB, 3960, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3960, 7, 2)
+
+	-- Gyrochronatom -- 3961
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3961, 130, 4389, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3961, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3961, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Iron Grenade -- 3962
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3962, 135, 4390, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3962, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3962, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Compact Harvest Reaper Kit -- 3963
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3963, 135, 4391, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3963, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3963, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Advanced Target Dummy -- 3965
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3965, 145, 4392, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3965, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3965, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Craftsman's Monocle -- 3966
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val15id4val40id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3966, 185, 4393, 3, 4036)
+	self:addTradeFlags(RecipeDB, 3966, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 3966, 7, 3)
+
+	-- Big Iron Bomb -- 3967
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3967, 150, 4394, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3967, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3967, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Goblin Land Mine -- 3968
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3968, 195, 4395, 2, 4036)
+	self:addTradeFlags(RecipeDB, 3968, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3968, 7, 2)
+
+	-- Mechanical Dragonling -- 3969
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3969, 200, 4396, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3969, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 3969, 2, 2687)
+
+	-- Gnomish Cloaking Device -- 3971
+	-- Instance: 721 - type1category3maxlevel33territory2minlevel24nameGnomereganid721
+	-- Mob Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3971, 200, 4397, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3971, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 3971, 3, 7800, 2, 6777)
+
+	-- Large Seaforium Charge -- 3972
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3972, 160, 4398, 2, 4036)
+	self:addTradeFlags(RecipeDB, 3972, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3972, 7, 2)
+
+	-- Silver Contact -- 3973
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3973, 80, 4404, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3973, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3973, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Crude Scope -- 3977
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3977, 60, 4405, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3977, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3977, 1, 1702, 1, 2857, 1, 3290, 1, 3412, 1, 3494, 1, 4586, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11025, 1, 11026, 1, 11028, 1, 11029, 1, 11031, 1, 11037, 1, 16667, 1, 16668, 1, 16726, 1, 16743, 1, 17222, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Standard Scope -- 3978
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3978, 110, 4406, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3978, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3978, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Accurate Scope -- 3979
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3979, 180, 4407, 1, 4036)
+	self:addTradeFlags(RecipeDB, 3979, 1,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3979, 2, 2685)
+
+	-- Ornate Spyglass -- 6458
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6458, 135, 5507, 1, 4036)
+	self:addTradeFlags(RecipeDB, 6458, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 6458, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Arclight Spanner -- 7430
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Misc,
+	-- Item Stats:
+	-- Item Stats: val7-14id7val2.4id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7430, 50, 6219, 1, 4036)
+	self:addTradeFlags(RecipeDB, 7430, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46)
+	self:addTradeAcquire(RecipeDB, 7430, 1, 1702, 1, 2857, 1, 3290, 1, 3412, 1, 3494, 1, 4586, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11025, 1, 11026, 1, 11028, 1, 11029, 1, 11031, 1, 11037, 1, 16667, 1, 16668, 1, 16726, 1, 16743, 1, 17222, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Flash Bomb -- 8243
+	-- Instance: 721 - type1category3maxlevel33territory2minlevel24nameGnomereganid721
+	-- Mob Drop
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8243, 145, 4852, 2, 4036)
+	self:addTradeFlags(RecipeDB, 8243, 1,2,5,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 8243, 3, 7800, 4, 1559)
+
+	-- Practice Lock -- 8334
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8334, 100, 6712, 1, 4036)
+	self:addTradeFlags(RecipeDB, 8334, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 8334, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- EZ-Thro Dynamite -- 8339
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8339, 100, 6714, 2, 4036)
+	self:addTradeFlags(RecipeDB, 8339, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 8339, 7, 2)
+
+	-- Goblin Rocket Boots -- 8895
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val41id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8895, 225, 7189, 1, 4036)
+	self:addTradeFlags(RecipeDB, 8895, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8895, 1, 8126)
+
+	-- Gnomish Universal Remote -- 9269
+	-- Instance: 721 - type1category3maxlevel33territory2minlevel24nameGnomereganid721
+	-- Mob Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9269, 125, 7506, 1, 4036)
+	self:addTradeFlags(RecipeDB, 9269, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 9269, 3, 7800, 2, 5175, 2, 6730)
+
+	-- Aquadynamic Fish Attractor -- 9271
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9271, 130, 6533, 1, 4036)
+	self:addTradeFlags(RecipeDB, 9271, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 9271, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Goblin Jumper Cables -- 9273
+	-- Instance: 721 - type1category3maxlevel33territory2minlevel24nameGnomereganid721
+	-- Mob Drop
+	-- Instance: 2367 - type5category3maxlevel68territory1expansion1minlevel66nameCaverns of Time: Old Hillsbrad Foothillsid2367
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9273, 120, 7148, 1, 4036)
+	self:addTradeFlags(RecipeDB, 9273, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 9273, 3, 7800, 2, 3134, 2, 3537, 2, 4086)
+
+	-- Gold Power Core -- 12584
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12584, 110, 10558, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12584, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12584, 1, 1676, 1, 3412, 1, 5174, 1, 5518, 1, 8736, 1, 11017, 1, 11029, 1, 11031, 1, 16667, 1, 16726, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Solid Blasting Powder -- 12585
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12585, 155, 10505, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12585, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12585, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Solid Dynamite -- 12586
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12586, 155, 10507, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12586, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12586, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Bright-Eye Goggles -- 12587
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val9id3val9id5val38id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12587, 175, 10499, 2, 4036)
+	self:addTradeFlags(RecipeDB, 12587, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 12587, 7, 2)
+
+	-- Mithril Tube -- 12589
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12589, 155, 10559, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12589, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12589, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Gyromatic Micro-Adjustor -- 12590
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id8val2id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12590, 135, 10498, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12590, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12590, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Unstable Trigger -- 12591
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12591, 160, 10560, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12591, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12591, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Fire Goggles -- 12594
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val44id6val17id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12594, 205, 10500, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12594, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12594, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Mithril Blunderbuss -- 12595
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Gun,
+	-- Item Stats:
+	-- Item Stats: val5id2val48-90id14val2.9id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12595, 205, 10508, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12595, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46)
+	self:addTradeAcquire(RecipeDB, 12595, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Hi-Impact Mithril Slugs -- 12596
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Ammo,
+	-- Item Stats:
+	-- Item Stats: val12-13id7val3id8val12-13id14val3id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12596, 170, 10512, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12596, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,78)
+	self:addTradeAcquire(RecipeDB, 12596, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Deadly Scope -- 12597
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12597, 210, 10546, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12597, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 12597, 2, 8679, 2, 9544)
+
+	-- Mithril Casing -- 12599
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12599, 175, 10561, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12599, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12599, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Mithril Frag Bomb -- 12603
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12603, 175, 10514, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12603, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12603, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Catseye Ultra Goggles -- 12607
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val47id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12607, 220, 10501, 2, 4036)
+	self:addTradeFlags(RecipeDB, 12607, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 12607, 7, 2)
+
+	-- Mithril Heavy-bore Rifle -- 12614
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Gun, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val53-99id14val2.9id15val14id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12614, 220, 10510, 2, 4036)
+	self:addTradeFlags(RecipeDB, 12614, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63)
+	self:addTradeAcquire(RecipeDB, 12614, 7, 2)
+
+	-- Spellpower Goggles Xtreme -- 12615
+	-- Trainer
+	-- Instance: 2100 - type1category3maxlevel49territory1minlevel43nameMaraudonid2100
+	-- Raid: 2677 - Blackwing Lair
+	-- Raid: 2159 - Onyxia's Lair
+	-- Instance: 2100 - type1category3maxlevel49territory1minlevel43nameMaraudonid2100
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val46id6val21id19val21id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12615, 225, 10502, 3, 4036)
+	self:addTradeFlags(RecipeDB, 12615, 1,2,3,5,6,11,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 12615, 3, 4396, 3, 10184, 3, 11583, 3, 11791, 3, 12219, 3, 14888, 3, 14889, 3, 14890, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Parachute Cloak -- 12616
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val8id2val30id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12616, 225, 10518, 2, 4036)
+	self:addTradeFlags(RecipeDB, 12616, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 12616, 7, 2)
+
+	-- Deepdive Helmet -- 12617
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val15id3val49id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12617, 230, 10506, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12617, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 12617, 2, 8678)
+
+	-- Rose Colored Goggles -- 12618
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id4val13id5val49id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12618, 230, 10503, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12618, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12618, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Hi-Explosive Bomb -- 12619
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12619, 195, 10562, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12619, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12619, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Sniper Scope -- 12620
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12620, 240, 10548, 3, 4036)
+	self:addTradeFlags(RecipeDB, 12620, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 12620, 7, 3)
+
+	-- Mithril Gyro-Shot -- 12621
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Ammo,
+	-- Item Stats:
+	-- Item Stats: val15-15id7val3id8val15-15id14val3id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12621, 205, 10513, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12621, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,78)
+	self:addTradeAcquire(RecipeDB, 12621, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Green Lens -- 12622
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val10id3val57id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12622, 245, 10504, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12622, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12622, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Mithril Mechanical Dragonling -- 12624
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12624, 250, 10576, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12624, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 12624, 2, 2688)
+
+	-- Goblin Rocket Fuel Recipe -- 12715
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12715, 205, 10644, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12715, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12715, 1, 8126)
+
+	-- Goblin Mortar -- 12716
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12716, 205, 10577, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12716, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 12716, 1, 8126)
+
+	-- Goblin Mining Helmet -- 12717
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val15id3val190id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12717, 205, 10542, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12717, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 12717, 1, 8126)
+
+	-- Goblin Construction Helmet -- 12718
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val44id6val15id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12718, 205, 10543, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12718, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12718, 1, 8126)
+
+	-- Explosive Arrow -- 12719
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon,
+	-- Item Stats:
+	-- Item Stats: val14-15id7val3id8val14-15id14val3id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12719, 170, 10579, 3, 4036)
+	self:addTradeFlags(RecipeDB, 12719, 3,21,22,23,24,25,26,27,28,29,30,36,41,46)
+	-- No acquire information
+
+	-- Goblin \"Boom\" Box -- 12720
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12720, 215, 10580, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12720, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Goblin Radio -- 12722
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12722, 220, 10585, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12722, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- The Big One -- 12754
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12754, 195, 10586, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12754, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12754, 1, 8126, 1, 8738)
+
+	-- Goblin Bomb Dispenser -- 12755
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12755, 190, 10587, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12755, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 12755, 1, 8126, 1, 8738)
+
+	-- Goblin Rocket Helmet -- 12758
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val15id3val50id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12758, 245, 10588, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12758, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12758, 1, 8126, 1, 8738)
+
+	-- Gnomish Death Ray -- 12759
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12759, 240, 10645, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12759, 1,3,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 12759, 1, 7406, 1, 7944)
+
+	-- Goblin Sapper Charge -- 12760
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12760, 165, 10646, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12760, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12760, 1, 8126)
+
+	-- Inlaid Mithril Cylinder Plans -- 12895
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12895, 205, 10713, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12895, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Gnomish Goggles -- 12897
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val9id3val9id5val45id6val11id19val11id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12897, 210, 10545, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12897, 1,3,21,22,23,24,25,26,27,28,29,30,37,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 12897, 1, 7406, 1, 7944)
+
+	-- Gnomish Shrink Ray -- 12899
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12899, 205, 10716, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12899, 1,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 12899, 1, 7406, 1, 7944)
+
+	-- Mobile Alarm -- 12900
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12900, 165, 10719, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12900, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Gnomish Net-o-Matic Projector -- 12902
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12902, 210, 10720, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12902, 1,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 12902, 1, 7406, 1, 7944)
+
+	-- Gnomish Harm Prevention Belt -- 12903
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val6id3val66id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12903, 215, 10721, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12903, 1,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 12903, 1, 7406, 1, 7944)
+
+	-- Gnomish Ham Radio -- 12904
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12904, 220, 10723, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12904, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Gnomish Rocket Boots -- 12905
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val41id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12905, 225, 10724, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12905, 1,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12905, 1, 7406, 1, 7944)
+
+	-- Gnomish Battle Chicken -- 12906
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12906, 230, 10725, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12906, 1,3,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 12906, 1, 7406, 1, 7944)
+
+	-- Gnomish Mind Control Cap -- 12907
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val14id5val50id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12907, 235, 10726, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12907, 1,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12907, 1, 7406, 1, 7944)
+
+	-- Goblin Dragon Gun -- 12908
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12908, 240, 10727, 1, 4036)
+	self:addTradeFlags(RecipeDB, 12908, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 12908, 1, 8126, 1, 8738)
+
+	-- The Mortar: Reloaded -- 13240
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 13240, 1, 10577, 1, 4036)
+	self:addTradeFlags(RecipeDB, 13240, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Mechanical Repair Kit -- 15255
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15255, 160, 11590, 1, 4036)
+	self:addTradeFlags(RecipeDB, 15255, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 15255, 1, 5174, 1, 8736, 1, 11017, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Pet Bombling -- 15628
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15628, 205, 11825, 1, 4036)
+	self:addTradeFlags(RecipeDB, 15628, 3,21,22,23,24,25,26,27,28,29,30,37,41)
+	-- No acquire information
+
+	-- Lil' Smoky -- 15633
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 15633, 205, 11826, 2, 4036)
+	self:addTradeFlags(RecipeDB, 15633, 11,21,22,23,24,25,26,27,28,29,30,37,41)
+	self:addTradeAcquire(RecipeDB, 15633, 3, 1964)
+
+	-- Salt Shaker -- 19567
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19567, 250, 15846, 1, 4036)
+	self:addTradeFlags(RecipeDB, 19567, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 19567, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Dense Blasting Powder -- 19788
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19788, 240, 15992, 1, 4036)
+	self:addTradeFlags(RecipeDB, 19788, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 19788, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Thorium Grenade -- 19790
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19790, 260, 15993, 1, 4036)
+	self:addTradeFlags(RecipeDB, 19790, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 19790, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Thorium Widget -- 19791
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19791, 260, 15994, 1, 4036)
+	self:addTradeFlags(RecipeDB, 19791, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 19791, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Thorium Rifle -- 19792
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Gun, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val55-102id14val2.5id15val17id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19792, 260, 15995, 2, 4036)
+	self:addTradeFlags(RecipeDB, 19792, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63)
+	self:addTradeAcquire(RecipeDB, 19792, 7, 2, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Lifelike Mechanical Toad -- 19793
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19793, 265, 15996, 2, 4036)
+	self:addTradeFlags(RecipeDB, 19793, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 19793, 7, 2)
+
+	-- Spellpower Goggles Xtreme Plus -- 19794
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val57id6val27id19val27id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19794, 270, 15999, 2, 4036)
+	self:addTradeFlags(RecipeDB, 19794, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 19794, 3, 6195, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Thorium Tube -- 19795
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19795, 275, 16000, 1, 4036)
+	self:addTradeFlags(RecipeDB, 19795, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 19795, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Dark Iron Rifle -- 19796
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Gun, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val68-127id14val2.7id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19796, 275, 16004, 2, 4036)
+	self:addTradeFlags(RecipeDB, 19796, 5,11,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63)
+	self:addTradeAcquire(RecipeDB, 19796, 3, 8897, 3, 9026)
+
+	-- Dark Iron Bomb -- 19799
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19799, 285, 16005, 2, 4036)
+	self:addTradeFlags(RecipeDB, 19799, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 19799, 3, 8920)
+
+	-- Thorium Shells -- 19800
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Ammo,
+	-- Item Stats:
+	-- Item Stats: val17-18id7val3id8val17-18id14val3id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19800, 285, 15997, 2, 4036)
+	self:addTradeFlags(RecipeDB, 19800, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,46,78)
+	self:addTradeAcquire(RecipeDB, 19800, 7, 2, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Masterwork Target Dummy -- 19814
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19814, 275, 16023, 1, 4036)
+	self:addTradeFlags(RecipeDB, 19814, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 19814, 2, 11185)
+
+	-- Delicate Arcanite Converter -- 19815
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19815, 285, 16006, 1, 4036)
+	self:addTradeFlags(RecipeDB, 19815, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 19815, 2, 11185)
+
+	-- Voice Amplification Modulator -- 19819
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19819, 290, 16009, 2, 4036)
+	self:addTradeFlags(RecipeDB, 19819, 5,21,22,23,24,25,26,27,28,29,30,36,40,47)
+	self:addTradeAcquire(RecipeDB, 19819, 3, 10426)
+
+	-- Master Engineer's Goggles -- 19825
+	-- Trainer
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val16id3val17id5val61id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19825, 290, 16008, 2, 4036)
+	self:addTradeFlags(RecipeDB, 19825, 1,2,3,5,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 19825, 3, 8900, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Arcanite Dragonling -- 19830
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19830, 300, 16022, 2, 4036)
+	self:addTradeFlags(RecipeDB, 19830, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 19830, 3, 7437)
+
+	-- Arcane Bomb -- 19831
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19831, 300, 16040, 2, 4036)
+	self:addTradeFlags(RecipeDB, 19831, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 19831, 7, 2)
+
+	-- Flawless Arcanite Rifle -- 19833
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Gun, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val9id11val83-155id14val3id15val10id16val9id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19833, 300, 16007, 2, 4036)
+	self:addTradeFlags(RecipeDB, 19833, 11,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63)
+	self:addTradeAcquire(RecipeDB, 19833, 3, 8561)
+
+	-- SnowMaster 9000 -- 21940
+	-- Flags: All classes, Item BoE, Recipe BoE, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 21940, 150, 17716, 2, 4036)
+	self:addTradeFlags(RecipeDB, 21940, 7,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 21940, 5, 1)
+
+	-- Field Repair Bot 74A -- 22704
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22704, 300, 18232, 1, 4036)
+	self:addTradeFlags(RecipeDB, 22704, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Biznicks 247x128 Accurascope -- 22793
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22793, 300, 18283, 3, 4036)
+	self:addTradeFlags(RecipeDB, 22793, 6,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 22793, 3, 11982, 3, 11988, 3, 12056, 3, 12057, 3, 12118, 3, 12259, 3, 12264)
+
+	-- Core Marksman Rifle -- 22795
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Gun, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val79-148id14val2.5id15val22id16val10id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22795, 300, 18282, 3, 4036)
+	self:addTradeFlags(RecipeDB, 22795, 6,21,22,23,24,25,26,27,28,29,30,36,41,46,47,63)
+	self:addTradeAcquire(RecipeDB, 22795, 3, 11982, 3, 11988, 3, 12056, 3, 12057, 3, 12118, 3, 12259, 3, 12264)
+
+	-- Force Reactive Disk -- 22797
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Shield,
+	-- Item Stats:
+	-- Item Stats: val11id3val2916id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22797, 300, 18168, 3, 4036)
+	self:addTradeFlags(RecipeDB, 22797, 6,21,22,23,24,25,26,27,28,29,30,36,41,47,64)
+	self:addTradeAcquire(RecipeDB, 22797, 3, 11982, 3, 11988, 3, 12056, 3, 12057, 3, 12118, 3, 12259, 3, 12264)
+
+	-- Red Firework -- 23066
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23066, 125, 9318, 1, 4036)
+	self:addTradeFlags(RecipeDB, 23066, 2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 23066, 2, 3413)
+
+	-- Blue Firework -- 23067
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23067, 125, 9312, 1, 4036)
+	self:addTradeFlags(RecipeDB, 23067, 1,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 23067, 2, 1304, 2, 5175)
+
+	-- Green Firework -- 23068
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23068, 125, 9313, 1, 4036)
+	self:addTradeFlags(RecipeDB, 23068, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 23068, 2, 2838, 2, 3495)
+
+	-- EZ-Thro Dynamite II -- 23069
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23069, 180, 18588, 1, 4036)
+	self:addTradeFlags(RecipeDB, 23069, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 23069, 2, 8131)
+
+	-- Dense Dynamite -- 23070
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23070, 230, 18641, 1, 4036)
+	self:addTradeFlags(RecipeDB, 23070, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 23070, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Truesilver Transformer -- 23071
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23071, 260, 18631, 1, 4036)
+	self:addTradeFlags(RecipeDB, 23071, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 23071, 1, 8736, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Gyrofreeze Ice Reflector -- 23077
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val15id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23077, 260, 18634, 1, 4036)
+	self:addTradeFlags(RecipeDB, 23077, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 23077, 2, 11185)
+
+	-- Goblin Jumper Cables XL -- 23078
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 23078, 265, 18587, 2, 4036, 20222)
+	self:addTradeFlags(RecipeDB, 23078, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 23078, 3, 9499)
+
+	-- Major Recombobulator -- 23079
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23079, 275, 18637, 2, 4036)
+	self:addTradeFlags(RecipeDB, 23079, 21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	-- No acquire information
+
+	-- Powerful Seaforium Charge -- 23080
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23080, 255, 18594, 1, 4036)
+	self:addTradeFlags(RecipeDB, 23080, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 23080, 2, 11185)
+
+	-- Hyper-Radiant Flame Reflector -- 23081
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val18id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23081, 290, 18638, 2, 4036)
+	self:addTradeFlags(RecipeDB, 23081, 5,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 23081, 3, 10264)
+
+	-- Ultra-Flash Shadow Reflector -- 23082
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val20id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23082, 300, 18639, 2, 4036)
+	self:addTradeFlags(RecipeDB, 23082, 5,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 23082, 3, 10426)
+
+	-- Alarm-O-Bot -- 23096
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20219
+	self:addTradeSkill(RecipeDB, 23096, 265, 18645, 2, 4036, 20219)
+	self:addTradeFlags(RecipeDB, 23096, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 23096, 3, 8920)
+
+	-- World Enlarger -- 23129
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20219
+	self:addTradeSkill(RecipeDB, 23129, 250, 18660, 2, 4036, 20219)
+	self:addTradeFlags(RecipeDB, 23129, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 23129, 3, 8920)
+
+	-- Dimensional Ripper - Everlook -- 23486
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 23486, 265, 18984, 2, 4036, 20222)
+	self:addTradeFlags(RecipeDB, 23486, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Ultrasafe Transporter - Gadgetzan -- 23489
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20219
+	self:addTradeSkill(RecipeDB, 23489, 265, 18986, 2, 4036, 20219)
+	self:addTradeFlags(RecipeDB, 23489, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Snake Burst Firework -- 23507
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23507, 230, 19026, 1, 4036)
+	self:addTradeFlags(RecipeDB, 23507, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 23507, 2, 14637)
+
+	-- Bloodvine Goggles -- 24356
+	-- Zandalar Tribe - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val75id6val16id21val14id22val9id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24356, 300, 19999, 1, 4036)
+	self:addTradeFlags(RecipeDB, 24356, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56,100)
+	self:addTradeAcquire(RecipeDB, 24356, 6, 270, 2, 14921)
+
+	-- Bloodvine Lens -- 24357
+	-- Zandalar Tribe - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val12id3val147id6val28id11val28id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24357, 300, 19998, 1, 4036)
+	self:addTradeFlags(RecipeDB, 24357, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,100)
+	self:addTradeAcquire(RecipeDB, 24357, 6, 270, 1, 14921)
+
+	-- Tranquil Mechanical Yeti -- 26011
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26011, 300, 21277, 1, 4036)
+	self:addTradeFlags(RecipeDB, 26011, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Small Blue Rocket -- 26416
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26416, 100, 21558, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26416, 7,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26416, 5, 2, 3, 15909)
+
+	-- Small Green Rocket -- 26417
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26417, 100, 21559, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26417, 7,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26417, 5, 2, 3, 15909)
+
+	-- Small Red Rocket -- 26418
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26418, 100, 21557, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26418, 7,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26418, 5, 2, 3, 15909)
+
+	-- Large Blue Rocket -- 26420
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26420, 150, 21589, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26420, 7,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26420, 5, 2, 3, 15909)
+
+	-- Large Green Rocket -- 26421
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26421, 150, 21590, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26421, 7,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26421, 5, 2, 3, 15909)
+
+	-- Large Red Rocket -- 26422
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26422, 150, 21592, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26422, 7,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26422, 5, 2, 3, 15909)
+
+	-- Blue Rocket Cluster -- 26423
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26423, 200, 21571, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26423, 3,7,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26423, 5, 2)
+
+	-- Green Rocket Cluster -- 26424
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26424, 200, 21574, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26424, 3,7,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26424, 5, 2)
+
+	-- Red Rocket Cluster -- 26425
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26425, 200, 21576, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26425, 3,7,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26425, 5, 2)
+
+	-- Large Blue Rocket Cluster -- 26426
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26426, 265, 21714, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26426, 7,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26426, 5, 2, 3, 15909)
+
+	-- Large Green Rocket Cluster -- 26427
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26427, 265, 21716, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26427, 7,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26427, 5, 2, 3, 15909)
+
+	-- Large Red Rocket Cluster -- 26428
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26428, 265, 21718, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26428, 7,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26428, 5, 2, 3, 15909)
+
+	-- Firework Launcher -- 26442
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26442, 225, 21569, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26442, 3,7,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26442, 5, 2)
+
+	-- Firework Cluster Launcher -- 26443
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26443, 275, 21570, 2, 4036)
+	self:addTradeFlags(RecipeDB, 26443, 7,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 26443, 5, 2, 4, 8882)
+
+	-- Steam Tonk Controller -- 28327
+	-- Vendor
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28327, 265, 22728, 1, 4036)
+	self:addTradeFlags(RecipeDB, 28327, 1,2,4,8,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 28327, 4, 9249, 2, 3413)
+
+	-- Elemental Blasting Powder -- 30303
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30303, 280, 23781, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30303, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30303, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Fel Iron Casing -- 30304
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30304, 280, 23782, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30304, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30304, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Handful of Fel Iron Bolts -- 30305
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30305, 290, 23783, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30305, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30305, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Adamantite Frame -- 30306
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30306, 315, 23784, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30306, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30306, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Hardened Adamantite Tube -- 30307
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30307, 330, 23785, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30307, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30307, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Khorium Power Core -- 30308
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30308, 330, 23786, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30308, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30308, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Felsteel Stabilizer -- 30309
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30309, 330, 23787, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30309, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30309, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Fel Iron Bomb -- 30310
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30310, 300, 23736, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30310, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30310, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Adamantite Grenade -- 30311
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30311, 315, 23737, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30311, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30311, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Fel Iron Musket -- 30312
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Gun,
+	-- Item Stats:
+	-- Item Stats: val14id3val99-185id14val2.8id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30312, 310, 23742, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30312, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46)
+	self:addTradeAcquire(RecipeDB, 30312, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Adamantite Rifle -- 30313
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Gun, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val12id2val22id9val126-234id14val3id15val22id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30313, 340, 23746, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30313, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63)
+	self:addTradeAcquire(RecipeDB, 30313, 2, 16657, 2, 16782, 2, 19661)
+
+	-- Felsteel Boomstick -- 30314
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Gun, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val12id3val13id11val104-194id14val2.4id15val13id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30314, 350, 23747, 3, 4036)
+	self:addTradeFlags(RecipeDB, 30314, 11,21,22,23,24,25,26,27,28,29,30,36,41,46,47,63)
+	self:addTradeAcquire(RecipeDB, 30314, 3, 19960)
+
+	-- Ornate Khorium Rifle -- 30315
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Gun, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val14id2val144-268id14val3.1id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30315, 365, 23748, 3, 4036)
+	self:addTradeFlags(RecipeDB, 30315, 10,21,22,23,24,25,26,27,28,29,30,36,40,46,47,63)
+	self:addTradeAcquire(RecipeDB, 30315, 7, 3)
+
+	-- Cogspinner Goggles -- 30316
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val220id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30316, 330, 23758, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30316, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 30316, 2, 18775, 2, 19836)
+
+	-- Power Amplification Goggles -- 30317
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val46id3val100id6val36id19val36id20val31id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30317, 330, 23761, 3, 4036)
+	self:addTradeFlags(RecipeDB, 30317, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 30317, 7, 3)
+
+	-- Ultra-Spectropic Detection Goggles -- 30318
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val48id3val47id5val124id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30318, 340, 23762, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30318, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 30318, 2, 18775, 2, 19383)
+
+	-- Hyper-Vision Goggles -- 30325
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val232id6val84id9val84id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30325, 350, 23763, 3, 4036)
+	self:addTradeFlags(RecipeDB, 30325, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 30325, 3, 19755)
+
+	-- Adamantite Scope -- 30329
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30329, 325, 23764, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30329, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 30329, 2, 19351, 2, 19836)
+
+	-- Khorium Scope -- 30332
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30332, 350, 23765, 3, 4036)
+	self:addTradeFlags(RecipeDB, 30332, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30332, 3, 20207)
+
+	-- Stabilized Eternium Scope -- 30334
+	-- Raid: 3457 - Karazhan
+	-- Raid: 3457 - Karazhan
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30334, 365, 23766, 3, 4036)
+	self:addTradeFlags(RecipeDB, 30334, 6,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30334, 3, 15550, 3, 16152)
+
+	-- Crashin' Thrashin' Robot -- 30337
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30337, 315, 23767, 2, 4036)
+	self:addTradeFlags(RecipeDB, 30337, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 30337, 7, 2)
+
+	-- White Smoke Flare -- 30341
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30341, 315, 23768, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30341, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 30341, 2, 16657, 2, 16782, 2, 18484, 2, 19383)
+
+	-- Red Smoke Flare -- 30342
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30342, 315, 23769, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30342, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Blue Smoke Flare -- 30343
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30343, 315, 23770, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30343, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Green Smoke Flare -- 30344
+	-- Cenarion Expedition - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30344, 315, 23771, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30344, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,103)
+	self:addTradeAcquire(RecipeDB, 30344, 6, 942, 1, 17904)
+
+	-- Fel Iron Shells -- 30346
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Ammo,
+	-- Item Stats:
+	-- Item Stats: val26-26id7val3id8val26-26id14val3id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30346, 290, 23772, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30346, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46,78)
+	self:addTradeAcquire(RecipeDB, 30346, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Adamantite Shell Machine -- 30347
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Ammo,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30347, 315, 34504, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30347, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,46,78)
+	self:addTradeAcquire(RecipeDB, 30347, 2, 16657, 2, 16782, 2, 18484)
+
+	-- Fel Iron Toolbox -- 30348
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30348, 305, 23774, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30348, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 30348, 2, 16657, 2, 16782, 2, 18484)
+
+	-- Khorium Toolbox -- 30349
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30349, 340, 23775, 3, 4036)
+	self:addTradeFlags(RecipeDB, 30349, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Elemental Seaforium Charge -- 30547
+	-- The Consortium - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30547, 340, 23819, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30547, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,105)
+	self:addTradeAcquire(RecipeDB, 30547, 6, 933, 3, 20242, 6, 933, 3, 23007)
+
+	-- Zapthrottle Mote Extractor -- 30548
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30548, 285, 23821, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30548, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30548, 4, 9635, 4, 9636)
+
+	-- Critter Enlarger -- 30549
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30549, 305, 23820, 2, 4036)
+	self:addTradeFlags(RecipeDB, 30549, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Healing Potion Injector -- 30551
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30551, 310, 33092, 3, 4036)
+	self:addTradeFlags(RecipeDB, 30551, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 30551, 7, 3)
+
+	-- Mana Potion Injector -- 30552
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30552, 325, 33093, 3, 4036)
+	self:addTradeFlags(RecipeDB, 30552, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 30552, 7, 3)
+
+	-- Rocket Boots Xtreme -- 30556
+	-- Instance: 3715 - type5category3territory1expansion1minlevel70nameCoilfang Reservoir: The Steamvaultid3715
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val196id6val80id9val80id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30556, 345, 23824, 3, 4036)
+	self:addTradeFlags(RecipeDB, 30556, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 30556, 3, 17796)
+
+	-- The Bigger One -- 30558
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30558, 305, 23826, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30558, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30558, 1, 8126, 1, 8738)
+
+	-- Super Sapper Charge -- 30560
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30560, 320, 23827, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30560, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30560, 1, 8126, 1, 8738)
+
+	-- Goblin Tonk Controller -- 30561
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30561, 315, 23831, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30561, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Goblin Rocket Launcher -- 30563
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val45id3
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 30563, 340, 23836, 1, 4036, 20222)
+	self:addTradeFlags(RecipeDB, 30563, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 30563, 1, 8126, 1, 8738)
+
+	-- Foreman's Enchanted Helmet -- 30565
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val48id3val30id4val132id6val36id19val36id20
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 30565, 355, 23838, 1, 4036, 20222)
+	self:addTradeFlags(RecipeDB, 30565, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 30565, 1, 8126, 1, 8738)
+
+	-- Foreman's Reinforced Helmet -- 30566
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val30id2val48id3val550id6val62id9val62id16
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 30566, 355, 23839, 1, 4036, 20222)
+	self:addTradeFlags(RecipeDB, 30566, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 30566, 1, 8126, 1, 8738)
+
+	-- Gnomish Flame Turret -- 30568
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30568, 315, 23841, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30568, 1,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 30568, 1, 7406, 1, 7944)
+
+	-- Gnomish Poultryizer -- 30569
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val45id3
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20219
+	self:addTradeSkill(RecipeDB, 30569, 340, 23835, 1, 4036, 20219)
+	self:addTradeFlags(RecipeDB, 30569, 1,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 30569, 1, 7406, 1, 7944)
+
+	-- Nigh-Invulnerability Belt -- 30570
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val21id3val223id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 30570, 340, 23825, 1, 4036)
+	self:addTradeFlags(RecipeDB, 30570, 1,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 30570, 1, 7406, 1, 7944)
+
+	-- Gnomish Power Goggles -- 30574
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val21id4val132id6val59id19val59id20val28id22
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20219
+	self:addTradeSkill(RecipeDB, 30574, 355, 23828, 1, 4036, 20219)
+	self:addTradeFlags(RecipeDB, 30574, 1,3,21,22,23,24,25,26,27,28,29,30,37,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 30574, 1, 7406, 1, 7944)
+
+	-- Gnomish Battle Goggles -- 30575
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val21id3val249id6val100id9val28id11val100id16val28id18
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20219
+	self:addTradeSkill(RecipeDB, 30575, 355, 23829, 1, 4036, 20219)
+	self:addTradeFlags(RecipeDB, 30575, 1,3,21,22,23,24,25,26,27,28,29,30,37,41,47,57)
+	self:addTradeAcquire(RecipeDB, 30575, 1, 7406, 1, 7944)
+
+	-- Purple Smoke Flare -- 32814
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32814, 315, 25886, 2, 4036)
+	self:addTradeFlags(RecipeDB, 32814, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 32814, 7, 2)
+
+	-- Dimensional Ripper - Area 52 -- 36954
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 36954, 330, 30542, 2, 4036, 20222)
+	self:addTradeFlags(RecipeDB, 36954, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Ultrasafe Transporter - Toshley's Station -- 36955
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 20219
+	self:addTradeSkill(RecipeDB, 36955, 330, 30544, 2, 4036, 20219)
+	self:addTradeFlags(RecipeDB, 36955, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Fused Wiring -- 39895
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39895, 265, 7191, 1, 4036)
+	self:addTradeFlags(RecipeDB, 39895, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 39895, 2, 11185, 2, 19661)
+
+	-- Icy Blasting Primers -- 39971
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39971, 325, 32423, 1, 4036)
+	self:addTradeFlags(RecipeDB, 39971, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 39971, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Frost Grenades -- 39973
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39973, 325, 32413, 1, 4036)
+	self:addTradeFlags(RecipeDB, 39973, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Furious Gizmatic Goggles -- 40274
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val48id1val28id3val1296id6val38id11val38id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40274, 350, 32461, 1, 4036)
+	self:addTradeFlags(RecipeDB, 40274, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,59)
+	self:addTradeAcquire(RecipeDB, 40274, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Gyro-balanced Khorium Destroyer -- 41307
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon, Gun,
+	-- Item Stats:
+	-- Item Stats: val27id3val148-275id14val2.8id15
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41307, 340, 32756, 1, 4036)
+	self:addTradeFlags(RecipeDB, 41307, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,46)
+	self:addTradeAcquire(RecipeDB, 41307, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Justicebringer 2000 Specs -- 41311
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats: Healing,
+	-- Item Stats: val29id3val13id4val1296id6val34id19val101id20val39id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41311, 350, 32472, 1, 4036)
+	self:addTradeFlags(RecipeDB, 41311, 1,3,21,22,23,24,25,26,27,28,29,30,37,41,47,53,59)
+	self:addTradeAcquire(RecipeDB, 41311, 1, 17634, 1, 18775)
+
+	-- Tankatronic Goggles -- 41312
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val67id3val1296id6val22id26val38id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41312, 350, 32473, 1, 4036)
+	self:addTradeFlags(RecipeDB, 41312, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,52,59)
+	self:addTradeAcquire(RecipeDB, 41312, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Surestrike Goggles v2.0 -- 41314
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val28id3val726id6val96id9val38id11val96id16val38id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41314, 350, 32474, 1, 4036)
+	self:addTradeFlags(RecipeDB, 41314, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 41314, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Gadgetstorm Goggles -- 41315
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val28id3val726id6val60id19val60id20val12id21val40id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41315, 350, 32476, 4, 4036)
+	self:addTradeFlags(RecipeDB, 41315, 3,21,22,23,24,25,26,27,28,29,30,37,41,47,54,58)
+	-- No acquire information
+
+	-- Living Replicator Specs -- 41316
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats: Healing,
+	-- Item Stats: val14id3val38id4val726id6val39id19val115id20val9id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41316, 350, 32475, 4, 4036)
+	self:addTradeFlags(RecipeDB, 41316, 3,21,22,23,24,25,26,27,28,29,30,37,41,47,53,58)
+	-- No acquire information
+
+	-- Deathblow X11 Goggles -- 41317
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val48id2val28id3val326id6val76id9val76id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41317, 350, 32478, 1, 4036)
+	self:addTradeFlags(RecipeDB, 41317, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,57)
+	self:addTradeAcquire(RecipeDB, 41317, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Wonderheal XT40 Shades -- 41318
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val15id3val38id4val22id5val326id6val39id19val115id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41318, 350, 32479, 4, 4036)
+	self:addTradeFlags(RecipeDB, 41318, 3,21,22,23,24,25,26,27,28,29,30,37,41,47,53,57)
+	-- No acquire information
+
+	-- Magnified Moon Specs -- 41319
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val22id3val24id4val326id6val55id19val55id20val41id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41319, 350, 32480, 4, 4036)
+	self:addTradeFlags(RecipeDB, 41319, 3,21,22,23,24,25,26,27,28,29,30,37,41,47,54,57)
+	-- No acquire information
+
+	-- Destruction Holo-gogs -- 41320
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val22id3val24id4val174id6val69id19val69id20val29id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41320, 350, 32494, 1, 4036)
+	self:addTradeFlags(RecipeDB, 41320, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 41320, 1, 17634, 1, 17637, 1, 18752, 1, 18775, 1, 19576)
+
+	-- Powerheal 4000 Lens -- 41321
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val14id3val38id4val28id5val174id6val37id19val110id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41321, 350, 32495, 4, 4036)
+	self:addTradeFlags(RecipeDB, 41321, 3,21,22,23,24,25,26,27,28,29,30,37,41,47,53,56)
+	-- No acquire information
+
+	-- Adamantite Arrow Maker -- 43676
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Weapon,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 43676, 315, 20475, 2, 4036)
+	self:addTradeFlags(RecipeDB, 43676, 11,21,22,23,24,25,26,27,28,29,30,36,41,46)
+	self:addTradeAcquire(RecipeDB, 43676, 3, 19707)
+
+	-- Flying Machine -- 44155
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44155, 365, 34060, 3, 4036)
+	self:addTradeFlags(RecipeDB, 44155, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Turbo-Charged Flying Machine -- 44157
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44157, 375, 34061, 4, 4036)
+	self:addTradeFlags(RecipeDB, 44157, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Field Repair Bot 110G -- 44391
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44391, 350, 34113, 2, 4036)
+	self:addTradeFlags(RecipeDB, 44391, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 44391, 3, 23385, 3, 23386)
+
+	-- Wonderheal XT68 Shades -- 46106
+	-- Trainer
+	-- Flags: Druid, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val33id3val51id4val35id5val405id6val48id19val143id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46106, 350, 35183, 4, 4036)
+	self:addTradeFlags(RecipeDB, 46106, 3,22,37,41,47,53,57)
+	-- No acquire information
+
+	-- Justicebringer 3000 Specs -- 46107
+	-- Trainer
+	-- Flags: Paladin, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats: Healing,
+	-- Item Stats: val48id3val26id4val1611id6val43id19val128id20val52id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46107, 350, 35185, 4, 4036)
+	self:addTradeFlags(RecipeDB, 46107, 3,25,37,41,47,53,59)
+	-- No acquire information
+
+	-- Powerheal 9000 Lens -- 46108
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: Priest, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val33id3val51id4val41id5val216id6val46id19val137id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46108, 350, 35181, 4, 4036)
+	self:addTradeFlags(RecipeDB, 46108, 6,26,37,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 46108, 3, 25367)
+
+	-- Hyper-Magnified Moon Specs -- 46109
+	-- Trainer
+	-- Flags: Druid, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val40id3val37id4val405id6val69id19val69id20val54id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46109, 350, 35182, 4, 4036)
+	self:addTradeFlags(RecipeDB, 46109, 3,22,37,41,47,54,57)
+	-- No acquire information
+
+	-- Primal-Attuned Goggles -- 46110
+	-- Trainer
+	-- Flags: Shaman, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats: Healing,
+	-- Item Stats: val32id3val51id4val902id6val48id19val143id20val14id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46110, 350, 35184, 4, 4036)
+	self:addTradeFlags(RecipeDB, 46110, 3,27,37,41,47,53,58)
+	-- No acquire information
+
+	-- Annihilator Holo-Gogs -- 46111
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: Priest, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val41id3val37id4val216id6val86id19val86id20val42id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46111, 350, 34847, 4, 4036)
+	self:addTradeFlags(RecipeDB, 46111, 6,11,26,37,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 46111, 3, 25507)
+
+	-- Lightning Etched Specs -- 46112
+	-- Trainer
+	-- Flags: Shaman, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val47id3val902id6val76id19val76id20val25id21val53id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46112, 350, 34355, 4, 4036)
+	self:addTradeFlags(RecipeDB, 46112, 3,27,37,41,47,54,58)
+	-- No acquire information
+
+	-- Surestrike Goggles v3.0 -- 46113
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: Hunter, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val47id3val902id6val124id9val51id11val124id16val51id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46113, 350, 34356, 4, 4036)
+	self:addTradeFlags(RecipeDB, 46113, 6,11,23,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 46113, 3, 25363)
+
+	-- Mayhem Projection Goggles -- 46114
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: Warrior, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats:
+	-- Item Stats: val62id1val47id3val1611id6val51id11val51id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46114, 350, 34354, 4, 4036)
+	self:addTradeFlags(RecipeDB, 46114, 6,11,30,37,41,47,59)
+	self:addTradeAcquire(RecipeDB, 46114, 3, 25363, 3, 25369)
+
+	-- Hard Khorium Goggles -- 46115
+	-- Trainer
+	-- Flags: Warrior, Item BoP, Recipe BoP, Armor, Plate,
+	-- Item Stats: Tanking,
+	-- Item Stats: val86id3val1611id6val35id26val51id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46115, 350, 34357, 4, 4036)
+	self:addTradeFlags(RecipeDB, 46115, 3,30,37,41,47,52,59)
+	-- No acquire information
+
+	-- Quad Deathblow X44 Goggles -- 46116
+	-- Trainer
+	-- Flags: Rogue, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val61id2val47id3val405id6val104id9val104id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46116, 350, 34353, 4, 4036)
+	self:addTradeFlags(RecipeDB, 46116, 3,28,37,41,47,57)
+	-- No acquire information
+
+	-- Rocket Boots Xtreme Lite -- 46697
+	-- Instance: 3849 - type5category3territory1expansion1minlevel70nameTempest Keep: The Mechanarid3849
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val105id6val47id19val47id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46697, 345, 35581, 3, 4036)
+	self:addTradeFlags(RecipeDB, 46697, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 46697, 3, 19219)
+
+	-- Explosive Triggers -- 53280
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53280, 345, 39684, 1, 4036)
+	--self:addTradeFlags(RecipeDB, 53280, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Volatile Blasting Powder -- 53281
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53281, 345, 39690, 1, 4036)
+	--self:addTradeFlags(RecipeDB, 53281, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	return recipecount

 end
diff --git a/RecipeDB/ARL-FirstAid.lua b/RecipeDB/ARL-FirstAid.lua
index 098b5e1..b6ec72e 100644
--- a/RecipeDB/ARL-FirstAid.lua
+++ b/RecipeDB/ARL-FirstAid.lua
@@ -1,48 +1,215 @@
 --[[

-ARL-FirstAId.lua
+************************************************************************
+
+ARL-FirstAid.lua

 First Aid data for all of AckisRecipeList

+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+19 found from data mining.
+1 ignored.
+3 WotLK ignored.
+
+************************************************************************
+
 $Date$
 $Rev$

+************************************************************************
+
+Format:
+
+	self:addTradeSkill(RecipeDB, Spell ID, Skill Level, Item ID, Rarity, Specialty)
+
+************************************************************************
+
 ]]--

-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-
-local addon = AckisRecipeList
-
-function addon:InitFirstAid()
-
-	-- Trainer Recipes
-	self:addTradeSkillSpell(3275, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(3276, 40, L["Trainer"],1)
-	self:addTradeSkillSpell(3277, 80, L["Trainer"],1)
-	self:addTradeSkillSpell(7934, 80, L["Trainer"],1)
-	self:addTradeSkillSpell(3278, 115, L["Trainer"],1)
-	self:addTradeSkillSpell(7928, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(10841, 240, L["Trainer"],1)
-	self:addTradeSkillSpell(18629, 260, L["Trainer"],1)
-	self:addTradeSkillSpell(18630, 290, L["Trainer"],1)
-
-	-- Vendor Recipes
-	self:addTradeSkillSpell(7929, 180, self:CombineVendors(165, 166, false),2)
-	self:addTradeSkillSpell(10840, 210, self:CombineVendors(165, 166, false),2)
-	self:addTradeSkillSpell(27032, 330, self:CombineVendors(167, 168, false),2)
-	self:addTradeSkillSpell(27033, 360, self:CombineVendors(167, 168, false),2)
-
-	-- World Drops
-	self:addTradeSkillSpell(7935, 130, L["UWD"],3)
-
-	-- Reputations
-	self:addTradeSkillSpell(23787, 300, self:AddSingleReputation(2, BFAC["Argent Dawn"]), BFAC["Argent Dawn"])
-
-	if (addon.wrath) then
-		self:addTradeSkillSpell(45545, 350, L["Trainer"],1)
-		self:addTradeSkillSpell(45546, 300, L["Trainer"],1)
-		self:addTradeSkillSpell(51801, 450, L["UWD"],3)
-	end
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+function addon:InitFirstAid(RecipeDB)
+
+	local recipecount = 0
+
+	-- Linen Bandage -- 3275
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3275, 1, 1251, 1, 746)
+	self:addTradeFlags(RecipeDB, 3275, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Heavy Linen Bandage -- 3276
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3276, 1, 2581, 1, 746)
+	self:addTradeFlags(RecipeDB, 3276, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Wool Bandage -- 3277
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3277, 10, 3530, 1, 746)
+	self:addTradeFlags(RecipeDB, 3277, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3277, 1, 2326, 1, 2327, 1, 2329, 1, 2798, 1, 3181, 1, 3373, 1, 4211, 1, 4591, 1, 5150, 1, 5759, 1, 5939, 1, 5943, 1, 6094, 1, 16272, 1, 16662, 1, 16731, 1, 17214, 1, 17424, 1, 19184, 1, 19478, 1, 22477)
+
+	-- Heavy Wool Bandage -- 3278
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3278, 45, 3531, 1, 746)
+	self:addTradeFlags(RecipeDB, 3278, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3278, 1, 2326, 1, 2327, 1, 2329, 1, 2798, 1, 3181, 1, 3373, 1, 4211, 1, 4591, 1, 5150, 1, 5759, 1, 5939, 1, 5943, 1, 6094, 1, 16272, 1, 16662, 1, 16731, 1, 17214, 1, 17424, 1, 19184, 1, 19478, 1, 22477)
+
+	-- Silk Bandage -- 7928
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7928, 90, 6450, 1, 746)
+	self:addTradeFlags(RecipeDB, 7928, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 7928, 1, 2326, 1, 2327, 1, 2329, 1, 2798, 1, 3181, 1, 3373, 1, 4211, 1, 4591, 1, 5150, 1, 5759, 1, 5939, 1, 5943, 1, 6094, 1, 16272, 1, 16662, 1, 16731, 1, 17214, 1, 17424, 1, 19184, 1, 19478, 1, 22477)
+
+	-- Heavy Silk Bandage -- 7929
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7929, 120, 6451, 1, 746)
+	self:addTradeFlags(RecipeDB, 7929, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7929, 2, 2805, 2, 13476)
+
+	-- Anti-Venom -- 7934
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7934, 10, 6452, 1, 746)
+	self:addTradeFlags(RecipeDB, 7934, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 7934, 1, 2326, 1, 2327, 1, 2329, 1, 2798, 1, 3181, 1, 3373, 1, 4211, 1, 4591, 1, 5150, 1, 5759, 1, 5939, 1, 5943, 1, 6094, 1, 16272, 1, 16662, 1, 16731, 1, 17214, 1, 17424, 1, 19184, 1, 19478, 1, 22477)
+
+	-- Strong Anti-Venom -- 7935
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7935, 60, 6453, 2, 746)
+	self:addTradeFlags(RecipeDB, 7935, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7935, 7, 2)
+
+	-- Mageweave Bandage -- 10840
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10840, 150, 8544, 1, 746)
+	self:addTradeFlags(RecipeDB, 10840, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 10840, 2, 2805, 2, 13476)
+
+	-- Heavy Mageweave Bandage -- 10841
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10841, 180, 8545, 1, 746)
+	self:addTradeFlags(RecipeDB, 10841, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Runecloth Bandage -- 18629
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18629, 200, 14529, 1, 746)
+	self:addTradeFlags(RecipeDB, 18629, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Heavy Runecloth Bandage -- 18630
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18630, 230, 14530, 1, 746)
+	self:addTradeFlags(RecipeDB, 18630, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Powerful Anti-Venom -- 23787
+	-- Argent Dawn - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23787, 240, 19440, 1, 746)
+	self:addTradeFlags(RecipeDB, 23787, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,96)
+	self:addTradeAcquire(RecipeDB, 23787, 6, 529, 2, 10856, 6, 529, 2, 10857, 6, 529, 2, 11536)
+
+	-- Netherweave Bandage -- 27032
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27032, 270, 21990, 1, 746)
+	self:addTradeFlags(RecipeDB, 27032, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27032, 2, 18990, 2, 18991)
+
+	-- Heavy Netherweave Bandage -- 27033
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27033, 310, 21991, 1, 746)
+	self:addTradeFlags(RecipeDB, 27033, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27033, 2, 18990, 2, 18991)
+
+	-- Crystal Infused Bandage -- 30021
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 30021, 240, 23684, 1, 746)
+	--self:addTradeFlags(RecipeDB, 30021, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Frostweave Bandage -- 45545
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 45545, 345, 34721, 1, 746)
+	--self:addTradeFlags(RecipeDB, 45545, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Heavy Frostweave Bandage -- 45546
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 45546, 370, 34722, 2, 746)
+	--self:addTradeFlags(RecipeDB, 45546, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Dense Frostweave Bandage -- 51801
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 51801, 400, 38640, 2, 746)
+	--self:addTradeFlags(RecipeDB, 51801, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	return recipecount

 end
diff --git a/RecipeDB/ARL-Inscription.lua b/RecipeDB/ARL-Inscription.lua
index 9484183..944992d 100644
--- a/RecipeDB/ARL-Inscription.lua
+++ b/RecipeDB/ARL-Inscription.lua
@@ -1,18 +1,277 @@
 --[[

+************************************************************************
+
 ARL-Inscription.lua

 Inscription data for all of AckisRecipeList

+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+26 found from data mining.
+15 ignored.
+0 WotLK ignored.
+
+************************************************************************
+
 $Date$
 $Rev$

+************************************************************************
+
+Format:
+
+	self:addTradeSkill(RecipeDB, Spell ID, Skill Level, Item ID, Rarity, Specialty)
+
+************************************************************************
+
 ]]--

-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+function addon:InitInscription(RecipeDB)
+
+	local recipecount = 0
+
+	-- Scroll of Stamina -- 45382
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 45382, 15, 1180, 1, 45357)
+	self:addTradeFlags(RecipeDB, 45382, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Intellect -- 48114
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 48114, 15, 955, 1, 45357)
+	self:addTradeFlags(RecipeDB, 48114, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Spirit -- 48116
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 48116, 15, 1181, 1, 45357)
+	self:addTradeFlags(RecipeDB, 48116, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Silver Ink -- 48118
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 48118, 1, 37100, 1, 45357)
+	self:addTradeFlags(RecipeDB, 48118, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Ivory Ink -- 48121
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 48121, 1, 37101, 1, 45357)
+	self:addTradeFlags(RecipeDB, 48121, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Recall -- 48248
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 48248, 45, 37118, 1, 45357)
+	self:addTradeFlags(RecipeDB, 48248, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Intellect II -- 50598
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50598, , 2290, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50598, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Intellect III -- 50599
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50599, , 4419, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50599, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Intellect IV -- 50600
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50600, , 10308, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50600, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Intellect V -- 50601
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50601, , 27499, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50601, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Intellect VI -- 50602
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50602, , 33458, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50602, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Spirit II -- 50605
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50605, , 1712, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50605, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Spirit III -- 50606
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50606, , 4424, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50606, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Spirit IV -- 50607
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50607, , 10306, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50607, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Spirit V -- 50608
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50608, , 27501, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50608, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Spirit VI -- 50609
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50609, , 33460, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50609, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Stamina II -- 50612
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50612, , 1711, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50612, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Stamina III -- 50614
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50614, , 4422, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50614, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Stamina IV -- 50616
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50616, , 10307, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50616, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Stamina V -- 50617
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50617, , 27502, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50617, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Scroll of Stamina VI -- 50618
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50618, , 33461, 1, 45357)
+	--self:addTradeFlags(RecipeDB, 50618, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Ebon Ink -- 52738
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 52738, 75, 37101, 1, 45357)
+	self:addTradeFlags(RecipeDB, 52738, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Bleached Parchment -- 52739
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 52739, 50, 38682, 1, 45357)
+	self:addTradeFlags(RecipeDB, 52739, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Treated Vellum -- 52840
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 52840, 85, 39349, 1, 45357)
+	self:addTradeFlags(RecipeDB, 52840, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Moonglow Ink -- 52843
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 52843, 20, 39469, 1, 45357)
+	self:addTradeFlags(RecipeDB, 52843, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information

-local addon = AckisRecipeList
+	-- Mightnight Ink -- 53462
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 53462, 100, 39774, 1, 45357)
+	self:addTradeFlags(RecipeDB, 53462, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information

-function addon:InitInscription()
+	return recipecount

 end
diff --git a/RecipeDB/ARL-Jewelcraft.lua b/RecipeDB/ARL-Jewelcraft.lua
index 42e54aa..ec058ba 100644
--- a/RecipeDB/ARL-Jewelcraft.lua
+++ b/RecipeDB/ARL-Jewelcraft.lua
@@ -1,298 +1,4235 @@
 --[[

+************************************************************************
+
 ARL-Jewelcraft.lua

 Jewelcrafting data for all of AckisRecipeList

+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+405 found from data mining.
+1 ignored.
+194 WotLK ignored.
+
+************************************************************************
+
 $Date$
 $Rev$

+************************************************************************
+
+Format:
+
+	self:addTradeSkill(RecipeDB, Spell ID, Skill Level, Item ID, Rarity, Specialty)
+
+************************************************************************
+
 ]]--

-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-local BZONE		= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local BBOSS		= LibStub("LibBabble-Boss-3.0"):GetLookupTable()
-
-local addon = AckisRecipeList
-
-function addon:InitJewelcrafting()
-
-	-- Trainer Recipes
-	self:addTradeSkillSpell(25255, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(25493, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(26925, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(32259, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(26926, 5, L["Trainer"],1)
-	self:addTradeSkillSpell(32178, 20, L["Trainer"],1)
-	self:addTradeSkillSpell(32179, 20, L["Trainer"],1)
-	self:addTradeSkillSpell(25283, 30, L["Trainer"],1)
-	self:addTradeSkillSpell(26928, 30, L["Trainer"],1)
-	self:addTradeSkillSpell(25278, 50, L["Trainer"],1)
-	self:addTradeSkillSpell(25280, 50, L["Trainer"],1)
-	self:addTradeSkillSpell(25490, 50, L["Trainer"],1)
-	self:addTradeSkillSpell(26927, 50, L["Trainer"],1)
-	self:addTradeSkillSpell(32801, 50, L["Trainer"],1)
-	self:addTradeSkillSpell(25284, 60, L["Trainer"],1)
-	self:addTradeSkillSpell(37818, 65, L["Trainer"],1)
-	self:addTradeSkillSpell(25287, 70, L["Trainer"],1)
-	self:addTradeSkillSpell(36523, 75, L["Trainer"],1)
-	self:addTradeSkillSpell(38175, 80, L["Trainer"],1)
-	self:addTradeSkillSpell(25305, 90, L["Trainer"],1)
-	self:addTradeSkillSpell(25317, 80, L["Trainer"],1)
-	self:addTradeSkillSpell(25318, 100, L["Trainer"],1)
-	self:addTradeSkillSpell(36524, 105, L["Trainer"],1)
-	self:addTradeSkillSpell(25498, 110, L["Trainer"],1)
-	self:addTradeSkillSpell(32807, 110, L["Trainer"],1)
-	self:addTradeSkillSpell(25321, 120, L["Trainer"],1)
-	self:addTradeSkillSpell(25613, 135, L["Trainer"],1)
-	self:addTradeSkillSpell(25615, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(25620, 170, L["Trainer"],1)
-	self:addTradeSkillSpell(32808, 175, L["Trainer"],1)
-	self:addTradeSkillSpell(25621, 180, L["Trainer"],1)
-	self:addTradeSkillSpell(34955, 180, L["Trainer"],1)
-	self:addTradeSkillSpell(26872, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(34959, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(26874, 210, L["Trainer"],1)
-	self:addTradeSkillSpell(26876, 220, L["Trainer"],1)
-	self:addTradeSkillSpell(26880, 225, L["Trainer"],1)
-	self:addTradeSkillSpell(32809, 225, L["Trainer"],1)
-	self:addTradeSkillSpell(36525, 230, L["Trainer"],1)
-	self:addTradeSkillSpell(26883, 235, L["Trainer"],1)
-	self:addTradeSkillSpell(26885, 240, L["Trainer"],1)
-	self:addTradeSkillSpell(26902, 260, L["Trainer"],1)
-	self:addTradeSkillSpell(36526, 275, L["Trainer"],1)
-	self:addTradeSkillSpell(26903, 275, L["Trainer"],1)
-	self:addTradeSkillSpell(26907, 280, L["Trainer"],1)
-	self:addTradeSkillSpell(26908, 280, L["Trainer"],1)
-	self:addTradeSkillSpell(34960, 280, L["Trainer"],1)
-	self:addTradeSkillSpell(26911, 290, L["Trainer"],1)
-	self:addTradeSkillSpell(34961, 290, L["Trainer"],1)
-	self:addTradeSkillSpell(26916, 310, L["Trainer"],1)
-	self:addTradeSkillSpell(31048, 310, L["Trainer"],1)
-	self:addTradeSkillSpell(31049, 310, L["Trainer"],1)
-	self:addTradeSkillSpell(31050, 320, L["Trainer"],1)
-	self:addTradeSkillSpell(38068, 325, L["Trainer"],1)
-	self:addTradeSkillSpell(31052, 335, L["Trainer"],1)
-	self:addTradeSkillSpell(31051, 335, L["Trainer"],1)
-	self:addTradeSkillSpell(41414, 325, L["Trainer"],1)
-	self:addTradeSkillSpell(41418, 365, L["Trainer"],1)
-	self:addTradeSkillSpell(40514, 340, L["Trainer"],1)
-	self:addTradeSkillSpell(41420, 325, L["Trainer"],1)
-	self:addTradeSkillSpell(41429, 350, L["Trainer"],1)
-	self:addTradeSkillSpell(41415, 330, L["Trainer"],1)
-	self:addTradeSkillSpell(47280, 350, L["Trainer"],1)
-
-	-- Vendor Recipes
-	self:addTradeSkillSpell(25339, 110, self:CombineVendors(190, 191, 192, 193, false),2)
-	self:addTradeSkillSpell(25610, 120, self:CombineVendors(112, 194, false),2)
-	self:addTradeSkillSpell(25323, 125, self:CombineVendors(195, 12, false),2)
-	self:addTradeSkillSpell(25612, 125, self:CombineVendors(110, 29, false),2)
-	self:addTradeSkillSpell(25320, 150, self:CombineVendors(190, 201, 212, 192, false),2)
-	self:addTradeSkillSpell(25617, 150, self:CombineVendors(24, 29, false),2)
-	self:addTradeSkillSpell(25619, 170, self:CombineVendors(190, 202, 203, 192, false),2)
-	self:addTradeSkillSpell(26875, 215, self:CombineVendors(197, 116, false),2)
-	self:addTradeSkillSpell(26878, 225, self:CombineVendors(111, 113, false),2)
-	self:addTradeSkillSpell(26881, 225, self:CombineVendors(116, 205, false),2)
-	self:addTradeSkillSpell(26897, 250, self:CombineVendors(190, 202, 192, 206, false),2)
-	self:addTradeSkillSpell(26906, 275, self:CombineVendors(57, false),2)
-	self:addTradeSkillSpell(26910, 285, self:CombineVendors(207, false),2)
-	self:addTradeSkillSpell(28903, 300, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(28910, 300, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(28916, 300, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(28925, 300, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(28938, 300, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(28950, 300, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(26915, 305, self:CombineVendors(53, false),2)
-	self:addTradeSkillSpell(28905, 305, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(28917, 305, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(28953, 305, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(34590, 305, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(28914, 315, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(28936, 325, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(28948, 325, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(34069, 325, self:CombineVendors(208, 209, false),2)
-	self:addTradeSkillSpell(31101, 350, self:CombineVendors(162, 163, true),9,2)
-	self:addTradeSkillSpell(43493, 350, self:CombineVendors(162, 163, true),9,2)
-
-	-- World Drops
-	self:addTradeSkillSpell(25622, 190, L["UWD"],3)
-	self:addTradeSkillSpell(25618, 160, L["UWD"],3)
-	self:addTradeSkillSpell(26873, 200, L["UWD"],3)
-	self:addTradeSkillSpell(26882, 235, L["UWD"],3)
-	self:addTradeSkillSpell(26887, 245, L["UWD"],3)
-	self:addTradeSkillSpell(26896, 250, L["UWD"],3)
-	self:addTradeSkillSpell(26900, 260, L["UWD"],3)
-	self:addTradeSkillSpell(26909, 285, L["UWD"],3)
-	self:addTradeSkillSpell(28955, 315, L["UWD"],3)
-	self:addTradeSkillSpell(31058, 345, L["UWD"],3)
-	self:addTradeSkillSpell(31089, 350, L["RWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-	self:addTradeSkillSpell(31096, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31112, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31085, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31110, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31106, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31091, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31099, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31109, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31104, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31113, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31108, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31094, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31107, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31111, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31098, 350, L["RWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-	self:addTradeSkillSpell(31105, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31088, 350, L["RWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-	self:addTradeSkillSpell(31103, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31097, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31102, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31092, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31149, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31095, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31090, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31087, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31100, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31084, 350, L["RWD"],3)
-	self:addTradeSkillSpell(31060, 355, L["RWD"],3)
-	self:addTradeSkillSpell(31067, 355, L["RWD"],3)
-	self:addTradeSkillSpell(31068, 355, L["RWD"],3)
-	self:addTradeSkillSpell(31070, 360, L["RWD"],3)
-	self:addTradeSkillSpell(31071, 360, L["RWD"],3)
-	self:addTradeSkillSpell(31061, 365, L["RWD"],3)
-	self:addTradeSkillSpell(31072, 365, L["RWD"],3)
-	self:addTradeSkillSpell(31076, 365, L["RWD"],3)
-	self:addTradeSkillSpell(32869, 365, L["RWD"],3)
-	self:addTradeSkillSpell(32868, 365, L["RWD"],3)
-	self:addTradeSkillSpell(32871, 365, L["RWD"],3)
-	self:addTradeSkillSpell(32872, 365, L["RWD"],3)
-	self:addTradeSkillSpell(39463, 350, L["RWD"],3)
-	self:addTradeSkillSpell(39452, 350, L["RWD"],3)
-	self:addTradeSkillSpell(39462, 350, L["RWD"],3)
-	self:addTradeSkillSpell(39963, 365, L["RWD"],3)
-	self:addTradeSkillSpell(39470, 350, L["RWD"],3)
-	self:addTradeSkillSpell(39471, 350, L["RWD"],3)
-
-	-- Specific Drops
-	self:addTradeSkillSpell(26912, 300, self:CombineMobs(false,BBOSS["Quartermaster Zigris"],BZONE["Lower Blackrock Spire"]),4,5)
-	self:addTradeSkillSpell(31053, 350, self:CombineMobs(false,L["Khorium Band of Shadows Obt"],BZONE["Shadowmoon Valley"]),4)
-	self:addTradeSkillSpell(31054, 355, self:CombineMobs(false,L["Khorium Band of Frost Obt"],BZONE["The Steamvault"]),4,5)
-	self:addTradeSkillSpell(31055, 355, self:CombineMobs(false,BBOSS["Darkweaver Syth"],BZONE["Sethekk Halls"]),4,5)
-	self:addTradeSkillSpell(31056, 360, self:CombineMobs(false,L["Khorium Band of Leaves Obt"],BZONE["Blade's Edge Mountains"]),4)
-	self:addTradeSkillSpell(31057, 365, self:CombineMobs(false,L["Arcane Khorium Band Obt"],BZONE["Netherstorm"]),4)
-	self:addTradeSkillSpell(39451, 325, self:CombineMobs(false,L["Blades Edge Summon Bosses"],BZONE["Blade's Edge Mountains"]),4)
-	self:addTradeSkillSpell(39458, 325, self:CombineMobs(false,L["Blades Edge Summon Bosses"],BZONE["Blade's Edge Mountains"]),4)
-	self:addTradeSkillSpell(39467, 325, self:CombineMobs(false,L["Blades Edge Summon Bosses"],BZONE["Blade's Edge Mountains"]),4)
-	self:addTradeSkillSpell(39466, 325, self:CombineMobs(false,L["Blades Edge Summon Bosses"],BZONE["Blade's Edge Mountains"]),4)
-	self:addTradeSkillSpell(39455, 325, self:CombineMobs(false,L["Blades Edge Summon Bosses"],BZONE["Blade's Edge Mountains"]),4)
-	self:addTradeSkillSpell(26914, 300, self:CombineMobs(false,BBOSS["Golem Lord Argelmach"],BZONE["Blackrock Depths"]),4,5)
-	self:addTradeSkillSpell(31077, 370, self:CombineMobs(false,L["Coronet of the Verdant Flame Obt"],BZONE["The Botanica"]),4,5)
-	self:addTradeSkillSpell(31078, 370, self:CombineMobs(false,BBOSS["Epoch Hunter"],BZONE["Old Hillsbrad Foothills"]),4,5)
-	self:addTradeSkillSpell(44794, 365, self:CombineMobs(false,L["Chaotic Skyfire Diamond Obt"],BZONE["Shadowmoon Valley"]),4)
-
-	-- Reputations
-	self:addTradeSkillSpell(42588, 360, self:AddSingleReputation(2, BFAC["The Sha'tar"]), BFAC["The Sha'tar"])
-	self:addTradeSkillSpell(42592, 360, self:AddSingleReputation(3, BFAC["The Sha'tar"]), BFAC["The Sha'tar"])
-	self:addTradeSkillSpell(31082, 370, self:AddSingleReputation(3, BFAC["The Sha'tar"]), BFAC["The Sha'tar"])
-	self:addTradeSkillSpell(37855, 360, self:AddSingleReputation(2, BFAC["The Sha'tar"]), BFAC["The Sha'tar"])
-	self:addTradeSkillSpell(32870, 365, self:AddSingleReputation(1, BFAC["The Sha'tar"]), BFAC["The Sha'tar"])
-
-	self:addTradeSkillSpell(32874, 365, self:AddSingleReputation(2, BFAC["Keepers of Time"]), BFAC["Keepers of Time"])
-	self:addTradeSkillSpell(31062, 360, self:AddSingleReputation(3, BFAC["Keepers of Time"]), BFAC["Keepers of Time"])
-	self:addTradeSkillSpell(31081, 370, self:AddSingleReputation(3, BFAC["Keepers of Time"]), BFAC["Keepers of Time"])
-	self:addTradeSkillSpell(42591, 360, self:AddSingleReputation(3, BFAC["Keepers of Time"]), BFAC["Keepers of Time"])
-	self:addTradeSkillSpell(42593, 360, self:AddSingleReputation(2, BFAC["Keepers of Time"]), BFAC["Keepers of Time"])
-	self:addTradeSkillSpell(42590, 360, self:AddSingleReputation(3, BFAC["Lower City"]), BFAC["Lower City"])
-	self:addTradeSkillSpell(31079, 370, self:AddSingleReputation(3, BFAC["Lower City"]), BFAC["Lower City"])
-	self:addTradeSkillSpell(31063, 360, self:AddSingleReputation(3, BFAC["Lower City"]), BFAC["Lower City"])
-	self:addTradeSkillSpell(28915, 325, self:AddSingleReputation(2, BFAC["Lower City"]), BFAC["Lower City"])
-
-	self:addTradeSkillSpell(31064, 360, self:AddSingleReputation(3, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(28906, 315, self:AddSingleReputation(1, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(28924, 325, self:AddSingleReputation(2, BFAC["The Scryers"]), BFAC["The Scryers"])
-
-	self:addTradeSkillSpell(31065, 360, self:AddSingleReputation(3, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(28927, 305, self:AddSingleReputation(2, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(28944, 305, self:AddSingleReputation(1, BFAC["The Aldor"]), BFAC["The Aldor"])
-
-	self:addTradeSkillSpell(28918, 315, self:AddDoubleReputation(1, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(31080, 370, self:AddDoubleReputation(3, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-
-	self:addTradeSkillSpell(38503, 375, self:AddSingleReputation(2, BFAC["The Violet Eye"]), BFAC["The Violet Eye"], 6)
-
-	self:addTradeSkillSpell(31083, 370, self:AddSingleReputation(3, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(38504, 375, self:AddSingleReputation(4, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-
-	self:addTradeSkillSpell(28947, 315, self:AddSingleReputation(2, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(28907, 325, self:AddSingleReputation(2, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(28933, 325, self:AddSingleReputation(1, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(28957, 325, self:AddSingleReputation(2, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(31066, 360, self:AddSingleReputation(3, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(32867, 365, self:AddSingleReputation(3, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(32866, 365, self:AddSingleReputation(2, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(32873, 365, self:AddSingleReputation(2, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(42589, 360, self:AddSingleReputation(3, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(42558, 360, self:AddSingleReputation(3, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(28912, 305, self:AddSingleReputation(1, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(39961, 365, self:AddSingleReputation(4, BFAC["The Consortium"]), BFAC["The Consortium"])
-
-	self:addTradeSkillSpell(39741, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(2, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39729, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(2, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39706, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39705, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39711, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39712, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39719, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39739, 375, self:AddSingleReputation(3, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39721, 375, self:AddSingleReputation(3, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39722, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39736, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(2, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39731, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(2, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39730, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(2, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39742, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(2, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39735, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(2, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39717, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39734, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(2, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39740, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(2, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39732, 375, self:AddSingleReputation(3, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39720, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39715, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39716, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39713, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39710, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39723, 375, self:AddSingleReputation(1, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(1, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39738, 375, self:AddSingleReputation(3, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(46775, 375, self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(46776, 375, self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(46777, 375, self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(46778, 375, self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(46779, 375, self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39714, 375, L["HYJALBoP"] .. addon.br .. self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39718, 375, L["HYJALBoP"] .. addon.br .. self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39724, 375, L["HYJALBoP"] .. addon.br .. self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39725, 375, L["HYJALBoP"] .. addon.br .. self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39727, 375, L["HYJALBoP"] .. addon.br .. self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39728, 375, L["HYJALBoP"] .. addon.br .. self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39733, 375, L["HYJALBoP"] .. addon.br .. self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(39737, 375, L["HYJALBoP"] .. addon.br .. self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(47053, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(47054, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(47055, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(47056, 375, self:AddSingleReputation(2, BFAC["The Scale of the Sands"]) .. addon.br .. self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["The Scale of the Sands"], BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(46597, 370, self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(46601, 370, self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(46803, 350, self:AddSingleReputation(3, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(46403, 360, self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(46404, 360, self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(46405, 350, self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-	self:addTradeSkillSpell(48789, 375, self:AddSingleReputation(4, BFAC["Shattered Sun Offensive"]), BFAC["Shattered Sun Offensive"])
-
-	-- Raid Drops
-	self:addTradeSkillSpell(46127, 365, L["SunwellBoE"],6)
-	self:addTradeSkillSpell(46125, 365, L["SunwellBoE"],6)
-	self:addTradeSkillSpell(46126, 365, L["SunwellBoE"],6)
-	self:addTradeSkillSpell(46124, 365, L["SunwellBoP"],6)
-	self:addTradeSkillSpell(46122, 365, L["SunwellBoP"],6)
-	self:addTradeSkillSpell(46123, 365, L["SunwellBoP"],6)
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+function addon:InitJewelcrafting(RecipeDB)
+
+	local recipecount = 0
+
+	-- Delicate Copper Wire -- 25255
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25255, 1, 20816, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25255, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Bronze Setting -- 25278
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25278, 50, 20817, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25278, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 25278, 1, 15501, 1, 16703, 1, 16727, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Elegant Silver Ring -- 25280
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val2id4val2id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25280, 50, 20818, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25280, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 25280, 1, 15501, 1, 16703, 1, 16727, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Inlaid Malachite Ring -- 25283
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val2id2
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25283, 30, 20821, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25283, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 25283, 1, 15501, 1, 16703, 1, 16727, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Simple Pearl Ring -- 25284
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val4id21
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25284, 60, 20820, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25284, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,62)
+	self:addTradeAcquire(RecipeDB, 25284, 1, 15501, 1, 16703, 1, 16727, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Gloom Band -- 25287
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val5id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25287, 70, 20823, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25287, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 25287, 1, 15501, 1, 16703, 1, 16727, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Heavy Silver Ring -- 25305
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25305, 90, 20826, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25305, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 25305, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Ring of Silver Might -- 25317
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val3id1val4id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25317, 80, 20827, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25317, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 25317, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Ring of Twilight Shadows -- 25318
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val4id3val4id4
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25318, 100, 20828, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25318, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 25318, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Heavy Golden Necklace of Battle -- 25320
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val5id1val5id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25320, 150, 20831, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25320, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47)
+	self:addTradeAcquire(RecipeDB, 25320, 2, 1286, 2, 3367, 2, 16624, 2, 17512)
+
+	-- Moonsoul Crown -- 25321
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val6id4val39id6val6id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25321, 120, 20832, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25321, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 25321, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Wicked Moonstone Ring -- 25323
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val5id4val6id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25323, 125, 20833, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25323, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,62)
+	self:addTradeAcquire(RecipeDB, 25323, 2, 3499, 2, 3954)
+
+	-- Amulet of the Moon -- 25339
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val4id4val4id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25339, 110, 20830, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25339, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47)
+	self:addTradeAcquire(RecipeDB, 25339, 2, 4229, 2, 4561, 2, 16624, 2, 17512)
+
+	-- Solid Bronze Ring -- 25490
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val30id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25490, 50, 20907, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25490, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 25490, 1, 15501, 1, 16703, 1, 16727, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Braided Copper Ring -- 25493
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val1id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25493, 1, 20906, 2, 25229)
+	self:addTradeFlags(RecipeDB, 25493, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	-- No acquire information
+
+	-- Barbaric Iron Collar -- 25498
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val10id9val10id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25498, 110, 20909, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25498, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	self:addTradeAcquire(RecipeDB, 25498, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Pendant of the Agate Shield -- 25610
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats: Tanking,
+	-- Item Stats: val4id1val4id3val6id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25610, 120, 20950, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25610, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,52)
+	self:addTradeAcquire(RecipeDB, 25610, 2, 1448, 2, 4877)
+
+	-- Heavy Iron Knuckles -- 25612
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Weapon, Fist,
+	-- Item Stats:
+	-- Item Stats: val18-35id7val1.6id8
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25612, 125, 20954, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25612, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,46,79)
+	self:addTradeAcquire(RecipeDB, 25612, 2, 2381, 2, 2393)
+
+	-- Golden Dragon Ring -- 25613
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats: Tanking,
+	-- Item Stats: val10id9val10id16val4id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25613, 135, 20955, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25613, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,52,62)
+	self:addTradeAcquire(RecipeDB, 25613, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Silver Rose Pendant -- 25614
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25614, 145, 20956, 2, 25229)
+	self:addTradeFlags(RecipeDB, 25614, 3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	-- No acquire information
+
+	-- Mithril Filigree -- 25615
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25615, 150, 20963, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25615, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 25615, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Blazing Citrine Ring -- 25617
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Ring,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val9id19val9id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25617, 150, 20958, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25617, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,54,62)
+	self:addTradeAcquire(RecipeDB, 25617, 2, 2381, 2, 9636)
+
+	-- Jade Pendant of Blasting -- 25618
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val3id4val8id19val8id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25618, 160, 20966, 2, 25229)
+	self:addTradeFlags(RecipeDB, 25618, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54)
+	self:addTradeAcquire(RecipeDB, 25618, 7, 2)
+
+	-- The Jade Eye -- 25619
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Ring,
+	-- Item Stats: Tanking,
+	-- Item Stats: val5id3val6id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25619, 170, 20959, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25619, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,52,62)
+	self:addTradeAcquire(RecipeDB, 25619, 2, 4775, 2, 5163, 2, 16624, 2, 17512)
+
+	-- Engraved Truesilver Ring -- 25620
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val3id1val3id2val3id3val3id4val3id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25620, 170, 20960, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25620, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 25620, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Citrine Ring of Rapid Healing -- 25621
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25621, 180, 20961, 1, 25229)
+	self:addTradeFlags(RecipeDB, 25621, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 25621, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Citrine Pendant of Golden Healing -- 25622
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats: Healing,
+	-- Item Stats: val3id4val7id19val20id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 25622, 190, 20967, 2, 25229)
+	self:addTradeFlags(RecipeDB, 25622, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,53)
+	self:addTradeAcquire(RecipeDB, 25622, 7, 2)
+
+	-- Figurine - Jade Owl -- 26872
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val3id4val2id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26872, 195, 21748, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26872, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 26872, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Figurine - Golden Hare -- 26873
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26873, 195, 21756, 2, 25229)
+	self:addTradeFlags(RecipeDB, 26873, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 26873, 7, 2)
+
+	-- Aquamarine Signet -- 26874
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val20id9val20id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26874, 205, 20964, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26874, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 26874, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Figurine - Black Pearl Panther -- 26875
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26875, 210, 21758, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26875, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 26875, 2, 989, 2, 4897)
+
+	-- Aquamarine Pendant of the Warrior -- 26876
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val20id9val20id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26876, 215, 21755, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26876, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	self:addTradeAcquire(RecipeDB, 26876, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Ruby Crown of Restoration -- 26878
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val9id4val53id6val16id19val48id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26878, 220, 20969, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26878, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,53,56)
+	self:addTradeAcquire(RecipeDB, 26878, 2, 2810, 2, 2821)
+
+	-- Thorium Setting -- 26880
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26880, 215, 21752, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26880, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26880, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Figurine - Truesilver Crab -- 26881
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats: Tanking,
+	-- Item Stats: val5id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26881, 220, 21760, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26881, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,52,63)
+	self:addTradeAcquire(RecipeDB, 26881, 2, 1148, 2, 4897)
+
+	-- Figurine - Truesilver Boar -- 26882
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val8id9val8id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26882, 230, 21763, 2, 25229)
+	self:addTradeFlags(RecipeDB, 26882, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 26882, 7, 2)
+
+	-- Ruby Pendant of Fire -- 26883
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val16id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26883, 230, 21764, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26883, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	self:addTradeAcquire(RecipeDB, 26883, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Truesilver Healing Ring -- 26885
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats: Healing,
+	-- Item Stats: val8id19val24id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26885, 235, 21765, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26885, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,53,62)
+	self:addTradeAcquire(RecipeDB, 26885, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- The Aquamarine Ward -- 26887
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Ring,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26887, 240, 21754, 2, 25229)
+	self:addTradeFlags(RecipeDB, 26887, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,52,62)
+	self:addTradeAcquire(RecipeDB, 26887, 7, 2)
+
+	-- Gem Studded Band -- 26896
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Ring,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val6id3val16id19val16id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26896, 245, 21753, 2, 25229)
+	self:addTradeFlags(RecipeDB, 26896, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,62)
+	self:addTradeAcquire(RecipeDB, 26896, 7, 2)
+
+	-- Opal Necklace of Impact -- 26897
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26897, 245, 21766, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26897, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47)
+	self:addTradeAcquire(RecipeDB, 26897, 2, 5163, 2, 8363, 2, 16624, 2, 17512)
+
+	-- Figurine - Ruby Serpent -- 26900
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val4id3val4id4
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26900, 260, 21769, 2, 25229)
+	self:addTradeFlags(RecipeDB, 26900, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 26900, 7, 2)
+
+	-- Simple Opal Ring -- 26902
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val12id2
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26902, 260, 21767, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26902, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 26902, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Sapphire Signet -- 26903
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26903, 265, 21768, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26903, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 26903, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Emerald Crown of Destruction -- 26906
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val64id6val30id19val30id20val14id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26906, 265, 21774, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26906, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 26906, 2, 15179)
+
+	-- Onslaught Ring -- 26907
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val5id3val24id9val24id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26907, 270, 21775, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26907, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 26907, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Sapphire Pendant of Winter Night -- 26908
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val40id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26908, 270, 21790, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26908, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	self:addTradeAcquire(RecipeDB, 26908, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Figurine - Emerald Owl -- 26909
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val2id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26909, 275, 21777, 2, 25229)
+	self:addTradeFlags(RecipeDB, 26909, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 26909, 7, 2)
+
+	-- Ring of Bitter Shadows -- 26910
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val20id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26910, 275, 21778, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26910, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,62)
+	self:addTradeAcquire(RecipeDB, 26910, 2, 12941)
+
+	-- Living Emerald Pendant -- 26911
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Amulet,
+	-- Item Stats: Healing,
+	-- Item Stats: val12id19val35id20val3id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26911, 280, 21791, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26911, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,53)
+	self:addTradeAcquire(RecipeDB, 26911, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Figurine - Black Diamond Crab -- 26912
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats: Tanking,
+	-- Item Stats: val9id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26912, 290, 21784, 2, 25229)
+	self:addTradeFlags(RecipeDB, 26912, 5,21,22,23,24,25,26,27,28,29,30,37,41,47,52,63)
+	self:addTradeAcquire(RecipeDB, 26912, 3, 9736)
+
+	-- Figurine - Dark Iron Scorpid -- 26914
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val9id2
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26914, 290, 21789, 2, 25229)
+	self:addTradeFlags(RecipeDB, 26914, 5,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
+	self:addTradeAcquire(RecipeDB, 26914, 3, 8983)
+
+	-- Necklace of the Diamond Tower -- 26915
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats: Tanking,
+	-- Item Stats: val17id31val3id32val3id33val3id34val3id35val3id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26915, 295, 21792, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26915, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,52)
+	self:addTradeAcquire(RecipeDB, 26915, 2, 11189)
+
+	-- Band of Natural Fire -- 26916
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val58id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26916, 300, 21779, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26916, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 26916, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- Arcanite Sword Pendant -- 26918
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val40id9val40id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26918, 305, 21793, 3, 25229)
+	self:addTradeFlags(RecipeDB, 26918, 3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	-- No acquire information
+
+	-- Blood Crown -- 26920
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val75id6val28id11val28id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26920, 315, 21780, 3, 25229)
+	self:addTradeFlags(RecipeDB, 26920, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	-- No acquire information
+
+	-- Woven Copper Ring -- 26925
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val1id4
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26925, 1, 21931, 2, 25229)
+	self:addTradeFlags(RecipeDB, 26925, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	-- No acquire information
+
+	-- Heavy Copper Ring -- 26926
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val2id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26926, 5, 21932, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26926, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 26926, 1, 15501, 1, 16703, 1, 16727, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Thick Bronze Necklace -- 26927
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val3id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26927, 50, 21933, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26927, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	self:addTradeAcquire(RecipeDB, 26927, 1, 15501, 1, 16703, 1, 16727, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Ornate Tigerseye Necklace -- 26928
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val2id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26928, 30, 21934, 1, 25229)
+	self:addTradeFlags(RecipeDB, 26928, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	self:addTradeAcquire(RecipeDB, 26928, 1, 15501, 1, 16703, 1, 16727, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Teardrop Blood Garnet -- 28903
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Healing,
+	-- Item Stats: val5id19val13id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28903, 260, 23094, 1, 25229)
+	self:addTradeFlags(RecipeDB, 28903, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,53)
+	self:addTradeAcquire(RecipeDB, 28903, 2, 18751, 2, 18774)
+
+	-- Bold Blood Garnet -- 28905
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val6id1
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28905, 265, 23095, 1, 25229)
+	self:addTradeFlags(RecipeDB, 28905, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28905, 2, 18751, 2, 18774)
+
+	-- Runed Blood Garnet -- 28906
+	-- The Scryers - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val7id19val7id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28906, 275, 23096, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28906, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,54,110)
+	self:addTradeAcquire(RecipeDB, 28906, 6, 934, 1, 19331)
+
+	-- Delicate Blood Garnet -- 28907
+	-- The Consortium - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id2
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28907, 295, 23097, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28907, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,105)
+	self:addTradeAcquire(RecipeDB, 28907, 6, 933, 2, 20242, 6, 933, 2, 23007)
+
+	-- Inscribed Flame Spessarite -- 28910
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val3id1val3id11val3id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28910, 260, 23098, 1, 25229)
+	self:addTradeFlags(RecipeDB, 28910, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28910, 2, 18751, 2, 18774)
+
+	-- Luminous Flame Spessarite -- 28912
+	-- The Consortium - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Healing,
+	-- Item Stats: val3id4val3id19val7id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28912, 265, 23099, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28912, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,53,105)
+	self:addTradeAcquire(RecipeDB, 28912, 6, 933, 1, 20242, 6, 933, 1, 23007)
+
+	-- Glinting Flame Spessarite -- 28914
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val3id2val3id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28914, 275, 23100, 1, 25229)
+	self:addTradeFlags(RecipeDB, 28914, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28914, 2, 18751, 2, 18774)
+
+	-- Potent Flame Spessarite -- 28915
+	-- Lower City - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val4id19val4id20val3id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28915, 295, 23101, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28915, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,54,107)
+	self:addTradeAcquire(RecipeDB, 28915, 6, 1011, 1, 21655)
+
+	-- Radiant Deep Peridot -- 28916
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val3id22val4id23
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28916, 260, 23103, 1, 25229)
+	self:addTradeFlags(RecipeDB, 28916, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,54)
+	self:addTradeAcquire(RecipeDB, 28916, 2, 18751, 2, 18774)
+
+	-- Jagged Deep Peridot -- 28917
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val4id3val3id11val3id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28917, 265, 23104, 1, 25229)
+	self:addTradeFlags(RecipeDB, 28917, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28917, 2, 18751, 2, 18774)
+
+	-- Enduring Deep Peridot -- 28918
+	-- Honor Hold - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val4id3val3id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28918, 275, 23105, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28918, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,52,104)
+	self:addTradeAcquire(RecipeDB, 28918, 6, 946, 1, 17657)
+
+	-- Dazzling Deep Peridot -- 28924
+	-- The Scryers - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val3id4val1id24val1id38
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28924, 295, 23106, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28924, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,110)
+	self:addTradeAcquire(RecipeDB, 28924, 6, 934, 2, 19331)
+
+	-- Glowing Shadow Draenite -- 28925
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val4id3val4id19val4id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28925, 260, 23108, 1, 25229)
+	self:addTradeFlags(RecipeDB, 28925, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,54)
+	self:addTradeAcquire(RecipeDB, 28925, 2, 18751, 2, 18774)
+
+	-- Royal Shadow Draenite -- 28927
+	-- The Aldor - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Healing,
+	-- Item Stats: val3id19val7id20val1id24val1id38
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28927, 265, 23109, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28927, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,53,101)
+	self:addTradeAcquire(RecipeDB, 28927, 6, 932, 2, 19321)
+
+	-- Shifting Shadow Draenite -- 28933
+	-- The Consortium - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val3id2val4id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28933, 275, 23110, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28933, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,105)
+	self:addTradeAcquire(RecipeDB, 28933, 6, 933, 1, 20242, 6, 933, 1, 23007)
+
+	-- Sovereign Shadow Draenite -- 28936
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val3id1val4id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28936, 295, 23111, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28936, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28936, 2, 18751, 2, 18774)
+
+	-- Brilliant Golden Draenite -- 28938
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val6id4
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28938, 260, 23113, 1, 25229)
+	self:addTradeFlags(RecipeDB, 28938, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28938, 2, 18751, 2, 18774)
+
+	-- Gleaming Golden Draenite -- 28944
+	-- The Aldor - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28944, 265, 23114, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28944, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,101)
+	self:addTradeAcquire(RecipeDB, 28944, 6, 932, 1, 19321)
+
+	-- Thick Golden Draenite -- 28947
+	-- The Consortium - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val6id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28947, 275, 23115, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28947, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,52,105)
+	self:addTradeAcquire(RecipeDB, 28947, 6, 933, 2, 20242, 6, 933, 2, 23007)
+
+	-- Rigid Golden Draenite -- 28948
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val6id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28948, 295, 23116, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28948, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28948, 2, 18751, 2, 18774)
+
+	-- Solid Azure Moonstone -- 28950
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val9id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28950, 260, 23118, 1, 25229)
+	self:addTradeFlags(RecipeDB, 28950, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28950, 2, 18751, 2, 18774)
+
+	-- Sparkling Azure Moonstone -- 28953
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val6id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28953, 265, 23119, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28953, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 28953, 2, 18751, 2, 18774)
+
+	-- Stormy Azure Moonstone -- 28955
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val8id23
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28955, 275, 23120, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28955, 10,21,22,23,24,25,26,27,28,29,30,36,40,54)
+	self:addTradeAcquire(RecipeDB, 28955, 7, 2)
+
+	-- Lustrous Azure Moonstone -- 28957
+	-- The Consortium - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id24val2id38
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28957, 295, 23121, 2, 25229)
+	self:addTradeFlags(RecipeDB, 28957, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,105)
+	self:addTradeAcquire(RecipeDB, 28957, 6, 933, 2, 20242, 6, 933, 2, 23007)
+
+	-- Fel Iron Blood Ring -- 31048
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val48id9val48id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31048, 300, 24074, 1, 25229)
+	self:addTradeFlags(RecipeDB, 31048, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 31048, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- Golden Draenite Ring -- 31049
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val16id4val19id19val19id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31049, 290, 24075, 1, 25229)
+	self:addTradeFlags(RecipeDB, 31049, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,62)
+	self:addTradeAcquire(RecipeDB, 31049, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- Azure Moonstone Ring -- 31050
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats: Healing,
+	-- Item Stats: val19id19val57id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31050, 310, 24076, 1, 25229)
+	self:addTradeFlags(RecipeDB, 31050, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,53,62)
+	self:addTradeAcquire(RecipeDB, 31050, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- Thick Adamantite Necklace -- 31051
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val42id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31051, 325, 24077, 1, 25229)
+	self:addTradeFlags(RecipeDB, 31051, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	self:addTradeAcquire(RecipeDB, 31051, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- Heavy Adamantite Ring -- 31052
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val42id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31052, 325, 24078, 1, 25229)
+	self:addTradeFlags(RecipeDB, 31052, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 31052, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- Khorium Band of Shadows -- 31053
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val27id3val27id19val7id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31053, 340, 24079, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31053, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 31053, 3, 19826)
+
+	-- Khorium Band of Frost -- 31054
+	-- Instance: 3715 - type5category3territory1expansion1minlevel70nameCoilfang Reservoir: The Steamvaultid3715
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val27id3val27id19val7id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31054, 345, 24080, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31054, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 31054, 3, 17722)
+
+	-- Khorium Inferno Band -- 31055
+	-- Instance: 3791 - type5category3maxlevel69territory1expansion1minlevel67nameAuchindoun: Sethekk Hallsid3791
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val27id3val27id19val7id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31055, 345, 24082, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31055, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 31055, 3, 18472)
+
+	-- Khorium Band of Leaves -- 31056
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val27id3val27id19val7id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31056, 350, 24085, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31056, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 31056, 3, 19984)
+
+	-- Arcane Khorium Band -- 31057
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val27id3val27id19val7id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31057, 355, 24086, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31057, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 31057, 3, 18866)
+
+	-- Heavy Felsteel Ring -- 31058
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val25id1val21id3val13id29
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31058, 335, 24087, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31058, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,62)
+	self:addTradeAcquire(RecipeDB, 31058, 7, 3)
+
+	-- Delicate Eternium Ring -- 31060
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Ring,
+	-- Item Stats: Tanking,
+	-- Item Stats: val25id2val15id3val16id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31060, 345, 24088, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31060, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,52,62)
+	self:addTradeAcquire(RecipeDB, 31060, 7, 3)
+
+	-- Blazing Eternium Band -- 31061
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val27id3val18id4val8id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31061, 355, 24089, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31061, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,62)
+	self:addTradeAcquire(RecipeDB, 31061, 7, 3)
+
+	-- Pendant of Frozen Flame -- 31062
+	-- Keepers of Time - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val18id3val30id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31062, 350, 24092, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31062, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,106)
+	self:addTradeAcquire(RecipeDB, 31062, 6, 989, 3, 21643)
+
+	-- Pendant of Thawing -- 31063
+	-- Lower City - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val18id3val30id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31063, 350, 24093, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31063, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,107)
+	self:addTradeAcquire(RecipeDB, 31063, 6, 1011, 3, 21655)
+
+	-- Pendant of Withering -- 31064
+	-- The Scryers - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val18id3val30id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31064, 350, 24095, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31064, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,110)
+	self:addTradeAcquire(RecipeDB, 31064, 6, 934, 3, 19331)
+
+	-- Pendant of Shadow's End -- 31065
+	-- The Aldor - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val18id3val30id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31065, 350, 24097, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31065, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,101)
+	self:addTradeAcquire(RecipeDB, 31065, 6, 932, 3, 19321)
+
+	-- Pendant of the Null Rune -- 31066
+	-- The Consortium - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val18id3val30id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31066, 350, 24098, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31066, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,105)
+	self:addTradeAcquire(RecipeDB, 31066, 6, 933, 3, 20242, 6, 933, 3, 23007)
+
+	-- Thick Felsteel Necklace -- 31067
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val36id3val23id29
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31067, 345, 24106, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31067, 10,21,22,23,24,25,26,27,28,29,30,36,40,47)
+	self:addTradeAcquire(RecipeDB, 31067, 7, 3)
+
+	-- Living Ruby Pendant -- 31068
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats: Healing,
+	-- Item Stats: val24id3val15id4val12id19val35id20val6id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31068, 345, 24110, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31068, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,53)
+	self:addTradeAcquire(RecipeDB, 31068, 7, 3)
+
+	-- Braided Eternium Chain -- 31070
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31070, 350, 24114, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31070, 10,21,22,23,24,25,26,27,28,29,30,36,40,47)
+	self:addTradeAcquire(RecipeDB, 31070, 7, 3)
+
+	-- Eye of the Night -- 31071
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val16id21val26id22val15id23
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31071, 350, 24116, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31071, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54)
+	self:addTradeAcquire(RecipeDB, 31071, 7, 3)
+
+	-- Embrace of the Dawn -- 31072
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val27id3val19id4val7id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31072, 355, 24117, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31072, 10,21,22,23,24,25,26,27,28,29,30,36,40,47)
+	self:addTradeAcquire(RecipeDB, 31072, 7, 3)
+
+	-- Chain of the Twilight Owl -- 31076
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Amulet,
+	-- Item Stats: Tanking, Caster DPS,
+	-- Item Stats: val19id4val21id19val21id20val18id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31076, 355, 24121, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31076, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,52,54)
+	self:addTradeAcquire(RecipeDB, 31076, 7, 3)
+
+	-- Coronet of the Verdant Flame -- 31077
+	-- Instance: 3847 - type5category3territory1expansion1minlevel70nameTempest Keep: The Botanicaid3847
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val36id3val40id4val138id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31077, 360, 24122, 4, 25229)
+	self:addTradeFlags(RecipeDB, 31077, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 31077, 3, 18422)
+
+	-- Circlet of Arcane Might -- 31078
+	-- Instance: 2367 - type5category3maxlevel68territory1expansion1minlevel66nameCaverns of Time: Old Hillsbrad Foothillsid2367
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val39id3val27id4val27id5val138id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31078, 360, 24123, 4, 25229)
+	self:addTradeFlags(RecipeDB, 31078, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 31078, 3, 18096)
+
+	-- Figurine - Felsteel Boar -- 31079
+	-- Lower City - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val68id9val68id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31079, 360, 24124, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31079, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,63,107)
+	self:addTradeAcquire(RecipeDB, 31079, 6, 1011, 3, 21655)
+
+	-- Figurine - Dawnstone Crab -- 31080
+	-- Honor Hold - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats: Tanking,
+	-- Item Stats: val32id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31080, 360, 24125, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31080, 1,4,21,22,23,24,25,26,27,28,29,30,37,41,47,52,63,104)
+	self:addTradeAcquire(RecipeDB, 31080, 6, 946, 3, 17657)
+
+	-- Figurine - Living Ruby Serpent -- 31081
+	-- Keepers of Time - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val33id3val23id4
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31081, 360, 24126, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31081, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,63,106)
+	self:addTradeAcquire(RecipeDB, 31081, 6, 989, 3, 21643)
+
+	-- Figurine - Talasite Owl -- 31082
+	-- The Sha'tar - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val14id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31082, 360, 24127, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31082, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,63,111)
+	self:addTradeAcquire(RecipeDB, 31082, 6, 935, 3, 21432)
+
+	-- Figurine - Nightseye Panther -- 31083
+	-- Cenarion Expedition - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val54id9val54id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31083, 360, 24128, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31083, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,63,103)
+	self:addTradeAcquire(RecipeDB, 31083, 6, 942, 3, 17904)
+
+	-- Bold Living Ruby -- 31084
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val8id1
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31084, 320, 24027, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31084, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31084, 7, 3)
+
+	-- Delicate Living Ruby -- 31085
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val8id2
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31085, 320, 24028, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31085, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31085, 7, 3)
+
+	-- Teardrop Living Ruby -- 31087
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Healing,
+	-- Item Stats: val6id19val18id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31087, 320, 24029, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31087, 10,21,22,23,24,25,26,27,28,29,30,36,40,53)
+	self:addTradeAcquire(RecipeDB, 31087, 7, 3)
+
+	-- Runed Living Ruby -- 31088
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val9id19val9id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31088, 320, 24030, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31088, 10,21,22,23,24,25,26,27,28,29,30,36,40,54)
+	self:addTradeAcquire(RecipeDB, 31088, 7, 3)
+
+	-- Bright Living Ruby -- 31089
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val16id9val16id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31089, 320, 24031, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31089, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31089, 7, 3)
+
+	-- Subtle Living Ruby -- 31090
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Tanking,
+	-- Item Stats: val8id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31090, 320, 24032, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31090, 10,21,22,23,24,25,26,27,28,29,30,36,40,52)
+	self:addTradeAcquire(RecipeDB, 31090, 7, 3)
+
+	-- Flashing Living Ruby -- 31091
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Tanking,
+	-- Item Stats: val8id27
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31091, 320, 24036, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31091, 10,21,22,23,24,25,26,27,28,29,30,36,40,52)
+	self:addTradeAcquire(RecipeDB, 31091, 7, 3)
+
+	-- Solid Star of Elune -- 31092
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val12id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31092, 320, 24033, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31092, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31092, 7, 3)
+
+	-- Lustrous Star of Elune -- 31094
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val3id24val3id38
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31094, 320, 24037, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31094, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31094, 7, 3)
+
+	-- Stormy Star of Elune -- 31095
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val10id23
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31095, 320, 24039, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31095, 10,21,22,23,24,25,26,27,28,29,30,36,40,54)
+	self:addTradeAcquire(RecipeDB, 31095, 7, 3)
+
+	-- Brilliant Dawnstone -- 31096
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val8id4
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31096, 320, 24047, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31096, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31096, 7, 3)
+
+	-- Smooth Dawnstone -- 31097
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val8id11val8id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31097, 320, 24048, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31097, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31097, 7, 3)
+
+	-- Rigid Dawnstone -- 31098
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val8id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31098, 320, 24051, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31098, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31098, 7, 3)
+
+	-- Gleaming Dawnstone -- 31099
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val8id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31099, 320, 24050, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31099, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31099, 7, 3)
+
+	-- Thick Dawnstone -- 31100
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Tanking,
+	-- Item Stats: val8id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31100, 320, 24052, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31100, 10,21,22,23,24,25,26,27,28,29,30,36,40,52)
+	self:addTradeAcquire(RecipeDB, 31100, 7, 3)
+
+	-- Mystic Dawnstone -- 31101
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, PVP,
+	-- Item Stats:
+	-- Item Stats: val8id29
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31101, 320, 24053, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31101, 1,2,4,9,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 31101, 2, 21474, 2, 21485)
+
+	-- Sovereign Nightseye -- 31102
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val4id1val6id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31102, 320, 24054, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31102, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31102, 7, 3)
+
+	-- Shifting Nightseye -- 31103
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val4id2val6id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31103, 320, 24055, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31103, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31103, 7, 3)
+
+	-- Glowing Nightseye -- 31104
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val6id3val5id19val5id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31104, 320, 24056, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31104, 10,21,22,23,24,25,26,27,28,29,30,36,40,54)
+	self:addTradeAcquire(RecipeDB, 31104, 7, 3)
+
+	-- Royal Nightseye -- 31105
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Healing,
+	-- Item Stats: val3id19val9id20val2id24val2id38
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31105, 320, 24057, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31105, 10,21,22,23,24,25,26,27,28,29,30,36,40,53)
+	self:addTradeAcquire(RecipeDB, 31105, 7, 3)
+
+	-- Inscribed Noble Topaz -- 31106
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val4id1val4id11val4id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31106, 320, 24058, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31106, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31106, 7, 3)
+
+	-- Potent Noble Topaz -- 31107
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val5id19val5id20val4id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31107, 320, 24059, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31107, 10,21,22,23,24,25,26,27,28,29,30,36,40,54)
+	self:addTradeAcquire(RecipeDB, 31107, 7, 3)
+
+	-- Luminous Noble Topaz -- 31108
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Healing,
+	-- Item Stats: val4id4val3id19val9id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31108, 320, 24060, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31108, 10,21,22,23,24,25,26,27,28,29,30,36,40,53)
+	self:addTradeAcquire(RecipeDB, 31108, 7, 3)
+
+	-- Glinting Noble Topaz -- 31109
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val4id2val4id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31109, 320, 24061, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31109, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31109, 7, 3)
+
+	-- Enduring Talasite -- 31110
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Tanking,
+	-- Item Stats: val6id3val4id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31110, 320, 24062, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31110, 10,21,22,23,24,25,26,27,28,29,30,36,40,52)
+	self:addTradeAcquire(RecipeDB, 31110, 7, 3)
+
+	-- Radiant Talasite -- 31111
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val4id22val5id23
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31111, 320, 24066, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31111, 10,21,22,23,24,25,26,27,28,29,30,36,40,54)
+	self:addTradeAcquire(RecipeDB, 31111, 7, 3)
+
+	-- Dazzling Talasite -- 31112
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val4id4val2id24val2id38
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31112, 320, 24065, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31112, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31112, 7, 3)
+
+	-- Jagged Talasite -- 31113
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val6id3val4id11val4id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31113, 320, 24067, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31113, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31113, 7, 3)
+
+	-- Sparkling Star of Elune -- 31149
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val8id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31149, 320, 24035, 3, 25229)
+	self:addTradeFlags(RecipeDB, 31149, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31149, 7, 3)
+
+	-- Malachite Pendant -- 32178
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val2id2
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32178, 20, 25438, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32178, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	self:addTradeAcquire(RecipeDB, 32178, 1, 15501, 1, 16703, 1, 16727, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Tigerseye Band -- 32179
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val2id1
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32179, 20, 25439, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32179, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 32179, 1, 15501, 1, 16703, 1, 16727, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Rough Stone Statue -- 32259
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32259, 10, 25498, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32259, 3,21,22,23,24,25,26,27,28,29,30,37,41)
+	-- No acquire information
+
+	-- Coarse Stone Statue -- 32801
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32801, 50, 25880, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32801, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41)
+	self:addTradeAcquire(RecipeDB, 32801, 1, 15501, 1, 16703, 1, 16727, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Heavy Stone Statue -- 32807
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32807, 100, 25881, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32807, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41)
+	self:addTradeAcquire(RecipeDB, 32807, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Solid Stone Statue -- 32808
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32808, 155, 25882, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32808, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41)
+	self:addTradeAcquire(RecipeDB, 32808, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Dense Stone Statue -- 32809
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32809, 205, 25883, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32809, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41)
+	self:addTradeAcquire(RecipeDB, 32809, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Primal Stone Statue -- 32810
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32810, 280, 25884, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32810, 3,21,22,23,24,25,26,27,28,29,30,37,41)
+	-- No acquire information
+
+	-- Powerful Earthstorm Diamond -- 32866
+	-- The Consortium - Honored
+	-- Raid: 3457 - Karazhan
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val18id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32866, 355, 25896, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32866, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,105)
+	self:addTradeAcquire(RecipeDB, 32866, 6, 933, 2, 17518)
+
+	-- Bracing Earthstorm Diamond -- 32867
+	-- The Consortium - Revered
+	-- Raid: 3457 - Karazhan
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Healing,
+	-- Item Stats: val9id19val26id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32867, 355, 25897, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32867, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,53,105)
+	self:addTradeAcquire(RecipeDB, 32867, 6, 933, 3, 17518)
+
+	-- Tenacious Earthstorm Diamond -- 32868
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32868, 355, 25898, 3, 25229)
+	self:addTradeFlags(RecipeDB, 32868, 10,21,22,23,24,25,26,27,28,29,30,36,40,52)
+	self:addTradeAcquire(RecipeDB, 32868, 7, 3)
+
+	-- Brutal Earthstorm Diamond -- 32869
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32869, 355, 25899, 3, 25229)
+	self:addTradeFlags(RecipeDB, 32869, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 32869, 7, 3)
+
+	-- Insightful Earthstorm Diamond -- 32870
+	-- The Sha'tar - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id4
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32870, 355, 25901, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32870, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,111)
+	self:addTradeAcquire(RecipeDB, 32870, 6, 935, 1, 21432)
+
+	-- Destructive Skyfire Diamond -- 32871
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32871, 355, 25890, 3, 25229)
+	self:addTradeFlags(RecipeDB, 32871, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 32871, 7, 3)
+
+	-- Mystical Skyfire Diamond -- 32872
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32872, 355, 25893, 3, 25229)
+	self:addTradeFlags(RecipeDB, 32872, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 32872, 7, 3)
+
+	-- Swift Skyfire Diamond -- 32873
+	-- The Consortium - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val24id9val24id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32873, 355, 25894, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32873, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,105)
+	self:addTradeAcquire(RecipeDB, 32873, 6, 933, 2, 20242, 6, 933, 2, 23007)
+
+	-- Enigmatic Skyfire Diamond -- 32874
+	-- Keepers of Time - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id11val12id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32874, 355, 25895, 1, 25229)
+	self:addTradeFlags(RecipeDB, 32874, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,106)
+	self:addTradeAcquire(RecipeDB, 32874, 6, 989, 2, 21643)
+
+	-- Smooth Golden Draenite -- 34069
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val6id11val6id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34069, 295, 28290, 2, 25229)
+	self:addTradeFlags(RecipeDB, 34069, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 34069, 2, 18751, 2, 18774)
+
+	-- Bright Blood Garnet -- 34590
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val12id9val12id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34590, 265, 28595, 1, 25229)
+	self:addTradeFlags(RecipeDB, 34590, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 34590, 2, 18751, 2, 18774)
+
+	-- Golden Ring of Power -- 34955
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val4id3val5id4val5id5val6id19val6id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34955, 170, 29157, 1, 25229)
+	self:addTradeFlags(RecipeDB, 34955, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,62)
+	self:addTradeAcquire(RecipeDB, 34955, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Truesilver Commander's Ring -- 34959
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val7id1val7id2val6id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34959, 190, 29158, 1, 25229)
+	self:addTradeFlags(RecipeDB, 34959, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 34959, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Glowing Thorium Band -- 34960
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats: Healing,
+	-- Item Stats: val8id19val22id20val4id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34960, 270, 29159, 1, 25229)
+	self:addTradeFlags(RecipeDB, 34960, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,53,62)
+	self:addTradeAcquire(RecipeDB, 34960, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Emerald Lion Ring -- 34961
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val6id1val5id2val5id3val6id4val5id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 34961, 280, 29160, 1, 25229)
+	self:addTradeFlags(RecipeDB, 34961, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 34961, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Brilliant Necklace -- 36523
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val2id1val2id2val1id3val2id4val2id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36523, 75, 30419, 1, 25229)
+	self:addTradeFlags(RecipeDB, 36523, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	self:addTradeAcquire(RecipeDB, 36523, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Heavy Jade Ring -- 36524
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val6id11val6id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36524, 105, 30420, 1, 25229)
+	self:addTradeFlags(RecipeDB, 36524, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 36524, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Red Ring of Destruction -- 36525
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val9id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36525, 225, 30421, 1, 25229)
+	self:addTradeFlags(RecipeDB, 36525, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 36525, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Diamond Focus Ring -- 36526
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val8id4val4id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36526, 265, 30422, 1, 25229)
+	self:addTradeFlags(RecipeDB, 36526, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 36526, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Bronze Band of Force -- 37818
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 37818, 65, 30804, 1, 25229)
+	self:addTradeFlags(RecipeDB, 37818, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 37818, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- Ring of Arcane Shielding -- 37855
+	-- The Sha'tar - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val12id3val8id29val30id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 37855, 350, 30825, 3, 25229)
+	self:addTradeFlags(RecipeDB, 37855, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,62,111)
+	self:addTradeAcquire(RecipeDB, 37855, 6, 935, 2, 21432)
+
+	-- Mercurial Adamantite -- 38068
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38068, 305, 31079, 1, 25229)
+	self:addTradeFlags(RecipeDB, 38068, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 38068, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- Bronze Torc -- 38175
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38175, 80, 31154, 1, 25229)
+	self:addTradeFlags(RecipeDB, 38175, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	self:addTradeAcquire(RecipeDB, 38175, 1, 18751, 1, 18774, 1, 19063, 1, 19539, 1, 19775, 1, 19778)
+
+	-- The Frozen Eye -- 38503
+	-- The Violet Eye - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val12id3val35id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38503, 365, 31398, 4, 25229)
+	self:addTradeFlags(RecipeDB, 38503, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,62,114)
+	self:addTradeAcquire(RecipeDB, 38503, 6, 967, 2, 18255)
+
+	-- The Natural Ward -- 38504
+	-- Cenarion Expedition - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val28id3val35id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 38504, 365, 31399, 4, 25229)
+	self:addTradeFlags(RecipeDB, 38504, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,62,103)
+	self:addTradeAcquire(RecipeDB, 38504, 6, 942, 4, 17904)
+
+	-- Great Golden Draenite -- 39451
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val6id21
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39451, 295, 31860, 2, 25229)
+	self:addTradeFlags(RecipeDB, 39451, 11,21,22,23,24,25,26,27,28,29,30,36,40,54)
+	self:addTradeAcquire(RecipeDB, 39451, 3, 22275, 3, 22281, 3, 23061, 3, 23261, 3, 23281, 3, 23282, 3, 23353, 3, 23354, 3, 23355)
+
+	-- Great Dawnstone -- 39452
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val8id21
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39452, 320, 31861, 3, 25229)
+	self:addTradeFlags(RecipeDB, 39452, 10,21,22,23,24,25,26,27,28,29,30,36,40,54)
+	self:addTradeAcquire(RecipeDB, 39452, 7, 3)
+
+	-- Balanced Shadow Draenite -- 39455
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val4id3val6id9val6id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39455, 295, 31862, 2, 25229)
+	self:addTradeFlags(RecipeDB, 39455, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 39455, 3, 22275, 3, 22281, 3, 23061, 3, 23230, 3, 23261, 3, 23281, 3, 23282, 3, 23353, 3, 23354, 3, 23355)
+
+	-- Infused Shadow Draenite -- 39458
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val6id9val6id16val1id24val1id38
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39458, 295, 31864, 2, 25229)
+	self:addTradeFlags(RecipeDB, 39458, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 39458, 3, 22275, 3, 22281, 3, 23061, 3, 23261, 3, 23281, 3, 23282, 3, 23353, 3, 23354, 3, 23355)
+
+	-- Infused Nightseye -- 39462
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val8id9val8id16val2id24val2id38
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39462, 320, 31865, 3, 25229)
+	self:addTradeFlags(RecipeDB, 39462, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 39462, 7, 3)
+
+	-- Balanced Nightseye -- 39463
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val6id3val8id9val8id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39463, 320, 31863, 3, 25229)
+	self:addTradeFlags(RecipeDB, 39463, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 39463, 7, 3)
+
+	-- Veiled Flame Spessarite -- 39466
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val4id19val4id20val3id21
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39466, 295, 31866, 2, 25229)
+	self:addTradeFlags(RecipeDB, 39466, 11,21,22,23,24,25,26,27,28,29,30,36,40,54)
+	self:addTradeAcquire(RecipeDB, 39466, 3, 22275, 3, 22281, 3, 23061, 3, 23230, 3, 23261, 3, 23281, 3, 23282, 3, 23353, 3, 23354, 3, 23355)
+
+	-- Wicked Flame Spessarite -- 39467
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val6id9val3id11val6id16val3id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39467, 295, 31869, 2, 25229)
+	self:addTradeFlags(RecipeDB, 39467, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 39467, 3, 22275, 3, 22281, 3, 23061, 3, 23261, 3, 23281, 3, 23282, 3, 23353, 3, 23354, 3, 23355)
+
+	-- Veiled Noble Topaz -- 39470
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val5id19val5id20val4id21
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39470, 320, 31867, 3, 25229)
+	self:addTradeFlags(RecipeDB, 39470, 10,21,22,23,24,25,26,27,28,29,30,36,40,54)
+	self:addTradeAcquire(RecipeDB, 39470, 7, 3)
+
+	-- Wicked Noble Topaz -- 39471
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val8id9val4id11val8id16val4id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39471, 320, 31868, 3, 25229)
+	self:addTradeFlags(RecipeDB, 39471, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 39471, 7, 3)
+
+	-- Bold Crimson Spinel -- 39705
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val10id1
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39705, 350, 32193, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39705, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39705, 6, 990, 1, 23437)
+
+	-- Delicate Crimson Spinel -- 39706
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val10id2
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39706, 350, 32194, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39706, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39706, 6, 990, 1, 23437)
+
+	-- Teardrop Crimson Spinel -- 39710
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Healing,
+	-- Item Stats: val8id19val22id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39710, 350, 32195, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39710, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,53,109)
+	self:addTradeAcquire(RecipeDB, 39710, 6, 990, 1, 23437)
+
+	-- Runed Crimson Spinel -- 39711
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val12id19val12id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39711, 350, 32196, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39711, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,54,109)
+	self:addTradeAcquire(RecipeDB, 39711, 6, 990, 1, 23437)
+
+	-- Bright Crimson Spinel -- 39712
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val20id9val20id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39712, 350, 32197, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39712, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39712, 6, 990, 1, 23437)
+
+	-- Subtle Crimson Spinel -- 39713
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val10id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39713, 350, 32198, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39713, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,52,109)
+	self:addTradeAcquire(RecipeDB, 39713, 6, 990, 1, 23437)
+
+	-- Flashing Crimson Spinel -- 39714
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val10id27
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39714, 350, 32199, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39714, 6,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	self:addTradeAcquire(RecipeDB, 39714, 3, 17767, 3, 17808, 3, 17842, 3, 17888, 3, 17968)
+
+	-- Solid Empyrean Sapphire -- 39715
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val15id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39715, 350, 32200, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39715, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39715, 6, 990, 1, 23437)
+
+	-- Sparkling Empyrean Sapphire -- 39716
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val10id5
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39716, 350, 32201, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39716, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39716, 6, 990, 1, 23437)
+
+	-- Lustrous Empyrean Sapphire -- 39717
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val4id24val4id38
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39717, 350, 32202, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39717, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39717, 6, 990, 1, 23437)
+
+	-- Stormy Empyrean Sapphire -- 39718
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val13id23
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39718, 350, 32203, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39718, 6,21,22,23,24,25,26,27,28,29,30,36,41,54)
+	self:addTradeAcquire(RecipeDB, 39718, 3, 17767, 3, 17808, 3, 17842, 3, 17888, 3, 17968)
+
+	-- Brilliant Lionseye -- 39719
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val10id4
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39719, 350, 32204, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39719, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39719, 6, 990, 1, 23437)
+
+	-- Smooth Lionseye -- 39720
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val10id11val10id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39720, 350, 32205, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39720, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39720, 6, 990, 1, 23437)
+
+	-- Rigid Lionseye -- 39721
+	-- The Scale of the Sands - Revered
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val10id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39721, 350, 32206, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39721, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39721, 6, 990, 3, 23437)
+
+	-- Gleaming Lionseye -- 39722
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val10id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39722, 350, 32207, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39722, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39722, 6, 990, 1, 23437)
+
+	-- Thick Lionseye -- 39723
+	-- The Scale of the Sands - Friendly
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val10id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39723, 350, 32208, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39723, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,52,109)
+	self:addTradeAcquire(RecipeDB, 39723, 6, 990, 1, 23437)
+
+	-- Mystic Lionseye -- 39724
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val10id29
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39724, 350, 32209, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39724, 6,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 39724, 3, 17767, 3, 17808, 3, 17842, 3, 17888, 3, 17968)
+
+	-- Great Lionseye -- 39725
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val10id21
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39725, 350, 32210, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39725, 6,21,22,23,24,25,26,27,28,29,30,36,41,54)
+	self:addTradeAcquire(RecipeDB, 39725, 3, 17767, 3, 17808, 3, 17842, 3, 17888, 3, 17968)
+
+	-- Sovereign Shadowsong Amethyst -- 39727
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val5id1val7id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39727, 350, 32211, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39727, 6,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 39727, 3, 17767, 3, 17808, 3, 17842, 3, 17888, 3, 17968)
+
+	-- Shifting Shadowsong Amethyst -- 39728
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val5id2val7id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39728, 350, 32212, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39728, 6,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 39728, 3, 17767, 3, 17808, 3, 17842, 3, 17888, 3, 17968)
+
+	-- Balanced Shadowsong Amethyst -- 39729
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val7id3val10id9val10id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39729, 350, 32213, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39729, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39729, 6, 990, 2, 23437)
+
+	-- Infused Shadowsong Amethyst -- 39730
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val10id9val10id16val2id24val2id38
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39730, 350, 32214, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39730, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39730, 6, 990, 2, 23437)
+
+	-- Glowing Shadowsong Amethyst -- 39731
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val7id3val6id19val6id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39731, 350, 32215, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39731, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,54,109)
+	self:addTradeAcquire(RecipeDB, 39731, 6, 990, 2, 23437)
+
+	-- Royal Shadowsong Amethyst -- 39732
+	-- The Scale of the Sands - Revered
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Healing,
+	-- Item Stats: val4id19val11id20val2id24val2id38
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39732, 350, 32216, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39732, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,53,109)
+	self:addTradeAcquire(RecipeDB, 39732, 6, 990, 3, 23437)
+
+	-- Inscribed Pyrestone -- 39733
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val5id1val5id11val5id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39733, 350, 32217, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39733, 6,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 39733, 3, 17767, 3, 17808, 3, 17842, 3, 17888, 3, 17968)
+
+	-- Potent Pyrestone -- 39734
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val6id19val6id20val5id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39734, 350, 32218, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39734, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,54,109)
+	self:addTradeAcquire(RecipeDB, 39734, 6, 990, 2, 23437)
+
+	-- Luminous Pyrestone -- 39735
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Healing,
+	-- Item Stats: val5id4val4id19val11id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39735, 350, 32219, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39735, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,53,109)
+	self:addTradeAcquire(RecipeDB, 39735, 6, 990, 2, 23437)
+
+	-- Glinting Pyrestone -- 39736
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val5id2val5id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39736, 350, 32220, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39736, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39736, 6, 990, 2, 23437)
+
+	-- Veiled Pyrestone -- 39737
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val6id19val6id20val5id21
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39737, 350, 32221, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39737, 6,21,22,23,24,25,26,27,28,29,30,36,41,54)
+	self:addTradeAcquire(RecipeDB, 39737, 3, 17767, 3, 17808, 3, 17842, 3, 17888, 3, 17968)
+
+	-- Wicked Pyrestone -- 39738
+	-- The Scale of the Sands - Revered
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val10id9val5id11val10id16val5id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39738, 350, 32222, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39738, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39738, 6, 990, 3, 23437)
+
+	-- Enduring Seaspray Emerald -- 39739
+	-- The Scale of the Sands - Revered
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val7id3val5id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39739, 350, 32223, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39739, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,52,109)
+	self:addTradeAcquire(RecipeDB, 39739, 6, 990, 3, 23437)
+
+	-- Radiant Seaspray Emerald -- 39740
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val5id22val6id23
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39740, 350, 32224, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39740, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,54,109)
+	self:addTradeAcquire(RecipeDB, 39740, 6, 990, 2, 23437)
+
+	-- Dazzling Seaspray Emerald -- 39741
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val5id4val2id24val2id38
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39741, 350, 32225, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39741, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39741, 6, 990, 2, 23437)
+
+	-- Jagged Seaspray Emerald -- 39742
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val7id3val5id11val5id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39742, 350, 32226, 4, 25229)
+	self:addTradeFlags(RecipeDB, 39742, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 39742, 6, 990, 2, 23437)
+
+	-- Relentless Earthstorm Diamond -- 39961
+	-- The Consortium - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id2
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39961, 355, 32409, 3, 25229)
+	self:addTradeFlags(RecipeDB, 39961, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,105)
+	self:addTradeAcquire(RecipeDB, 39961, 6, 933, 4, 20242, 6, 933, 4, 23007)
+
+	-- Thundering Skyfire Diamond -- 39963
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39963, 355, 32410, 3, 25229)
+	self:addTradeFlags(RecipeDB, 39963, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 39963, 7, 3)
+
+	-- Necklace of the Deep -- 40514
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val21id2val20id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40514, 310, 32508, 1, 25229)
+	self:addTradeFlags(RecipeDB, 40514, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47)
+	self:addTradeAcquire(RecipeDB, 40514, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- Brilliant Pearl Band -- 41414
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats: Healing,
+	-- Item Stats: val15id5val18id19val53id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41414, 315, 32772, 1, 25229)
+	self:addTradeFlags(RecipeDB, 41414, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,53,62)
+	self:addTradeAcquire(RecipeDB, 41414, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- The Black Pearl -- 41415
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val33id3val25id19val25id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41415, 320, 32774, 1, 25229)
+	self:addTradeFlags(RecipeDB, 41415, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,62)
+	self:addTradeAcquire(RecipeDB, 41415, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- Crown of the Sea Witch -- 41418
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val42id3val20id4val20id5val127id6val28id19val28id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41418, 355, 32776, 1, 25229)
+	self:addTradeFlags(RecipeDB, 41418, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 41418, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- Purified Jaggal Pearl -- 41420
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Healing,
+	-- Item Stats: val3id5val3id19val7id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41420, 310, 32833, 1, 25229)
+	self:addTradeFlags(RecipeDB, 41420, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,53)
+	self:addTradeAcquire(RecipeDB, 41420, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- Purified Shadow Pearl -- 41429
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Healing,
+	-- Item Stats: val4id5val3id19val9id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41429, 320, 32836, 1, 25229)
+	self:addTradeFlags(RecipeDB, 41429, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,53)
+	self:addTradeAcquire(RecipeDB, 41429, 1, 18751, 1, 18774, 1, 19063, 1, 19539)
+
+	-- Don Julio's Heart -- 42558
+	-- The Consortium - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val14id19val14id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42558, 355, 33133, 1, 25229)
+	self:addTradeFlags(RecipeDB, 42558, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,54,105)
+	self:addTradeAcquire(RecipeDB, 42558, 6, 933, 3, 20242, 6, 933, 3, 23007)
+
+	-- Kailee's Rose -- 42588
+	-- The Sha'tar - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats: Healing,
+	-- Item Stats: val9id19val26id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42588, 355, 33134, 1, 25229)
+	self:addTradeFlags(RecipeDB, 42588, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,53,111)
+	self:addTradeAcquire(RecipeDB, 42588, 6, 935, 2, 21432)
+
+	-- Crimson Sun -- 42589
+	-- The Consortium - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val32id9val32id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42589, 355, 33131, 1, 25229)
+	self:addTradeFlags(RecipeDB, 42589, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,105)
+	self:addTradeAcquire(RecipeDB, 42589, 6, 933, 3, 20242, 6, 933, 3, 23007)
+
+	-- Falling Star -- 42590
+	-- Lower City - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val18id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42590, 355, 33135, 1, 25229)
+	self:addTradeFlags(RecipeDB, 42590, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,107)
+	self:addTradeAcquire(RecipeDB, 42590, 6, 1011, 3, 21655)
+
+	-- Stone of Blades -- 42591
+	-- Keepers of Time - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id11val12id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42591, 355, 33143, 1, 25229)
+	self:addTradeFlags(RecipeDB, 42591, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,106)
+	self:addTradeAcquire(RecipeDB, 42591, 6, 989, 3, 21643)
+
+	-- Blood of Amber -- 42592
+	-- The Sha'tar - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42592, 355, 33140, 1, 25229)
+	self:addTradeFlags(RecipeDB, 42592, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,111)
+	self:addTradeAcquire(RecipeDB, 42592, 6, 935, 3, 21432)
+
+	-- Facet of Eternity -- 42593
+	-- Keepers of Time - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42593, 355, 33144, 1, 25229)
+	self:addTradeFlags(RecipeDB, 42593, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,52,106)
+	self:addTradeAcquire(RecipeDB, 42593, 6, 989, 2, 21643)
+
+	-- Steady Talasite -- 43493
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, PVP,
+	-- Item Stats:
+	-- Item Stats: val6id3val4id29
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 43493, 320, 33782, 3, 25229)
+	self:addTradeFlags(RecipeDB, 43493, 1,2,4,9,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 43493, 2, 18821, 2, 18822)
+
+	-- Chaotic Skyfire Diamond -- 44794
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	-- Item Stats: val12id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44794, 355, 34220, 3, 25229)
+	self:addTradeFlags(RecipeDB, 44794, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 44794, 3, 19768)
+
+	-- Loop of Forged Power -- 46122
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val27id3val28id4val34id19val34id20val19id21
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46122, 340, 34362, 4, 25229)
+	self:addTradeFlags(RecipeDB, 46122, 6,11,21,22,23,24,25,26,27,28,29,30,36,41,47,54,62)
+	self:addTradeAcquire(RecipeDB, 46122, 3, 25369, 3, 25371, 3, 25507)
+
+	-- Ring of Flowing Life -- 46123
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats: Healing,
+	-- Item Stats: val27id3val28id4val22id19val64id20val8id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46123, 340, 34363, 4, 25229)
+	self:addTradeFlags(RecipeDB, 46123, 6,21,22,23,24,25,26,27,28,29,30,36,41,47,53,62)
+	self:addTradeAcquire(RecipeDB, 46123, 3, 25369, 3, 25370)
+
+	-- Hard Khorium Band -- 46124
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Ring,
+	-- Item Stats:
+	-- Item Stats: val30id2val42id3val58id9val58id16val28id30
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46124, 340, 34361, 4, 25229)
+	self:addTradeFlags(RecipeDB, 46124, 6,11,21,22,23,24,25,26,27,28,29,30,36,41,47,62)
+	self:addTradeAcquire(RecipeDB, 46124, 3, 25363, 3, 25369, 3, 25370)
+
+	-- Pendant of Sunfire -- 46125
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Amulet,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val27id3val19id4val36id19val36id20val25id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46125, 340, 34359, 4, 25229)
+	self:addTradeFlags(RecipeDB, 46125, 6,21,22,23,24,25,26,27,28,29,30,37,41,47,54)
+	self:addTradeAcquire(RecipeDB, 46125, 3, 25367, 3, 25369, 3, 25371)
+
+	-- Amulet of Flowing Life -- 46126
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Amulet,
+	-- Item Stats: Healing,
+	-- Item Stats: val27id3val19id4val22id19val64id20val11id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46126, 340, 34360, 4, 25229)
+	self:addTradeFlags(RecipeDB, 46126, 6,21,22,23,24,25,26,27,28,29,30,37,41,47,53)
+	self:addTradeAcquire(RecipeDB, 46126, 3, 25369)
+
+	-- Hard Khorium Choker -- 46127
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Amulet,
+	-- Item Stats:
+	-- Item Stats: val42id3val62id9val62id16val29id30val150id41
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46127, 340, 34358, 4, 25229)
+	self:addTradeFlags(RecipeDB, 46127, 6,11,21,22,23,24,25,26,27,28,29,30,37,41,47)
+	self:addTradeAcquire(RecipeDB, 46127, 3, 25368, 3, 25370, 3, 25371, 3, 25507)
+
+	-- Quick Dawnstone -- 46403
+	-- Shattered Sun Offensive - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46403, 320, 35315, 3, 25229)
+	self:addTradeFlags(RecipeDB, 46403, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,112)
+	self:addTradeAcquire(RecipeDB, 46403, 6, 1077, 4, 25950, 6, 1077, 4, 27666)
+
+	-- Reckless Noble Topaz -- 46404
+	-- Shattered Sun Offensive - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val5id19val5id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46404, 320, 35316, 3, 25229)
+	self:addTradeFlags(RecipeDB, 46404, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,54,112)
+	self:addTradeAcquire(RecipeDB, 46404, 6, 1077, 4, 25950, 6, 1077, 4, 27666)
+
+	-- Forceful Talasite -- 46405
+	-- Shattered Sun Offensive - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46405, 320, 35318, 3, 25229)
+	self:addTradeFlags(RecipeDB, 46405, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,112)
+	self:addTradeAcquire(RecipeDB, 46405, 6, 1077, 4, 25950, 6, 1077, 4, 27666)
+
+	-- Eternal Earthstorm Diamond -- 46597
+	-- Shattered Sun Offensive - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46597, 360, 35501, 1, 25229)
+	self:addTradeFlags(RecipeDB, 46597, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,52,112)
+	self:addTradeAcquire(RecipeDB, 46597, 6, 1077, 3, 25032)
+
+	-- Ember Skyfire Diamond -- 46601
+	-- Shattered Sun Offensive - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val14id19val14id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46601, 360, 35503, 1, 25229)
+	self:addTradeFlags(RecipeDB, 46601, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,54,112)
+	self:addTradeAcquire(RecipeDB, 46601, 6, 1077, 3, 25032)
+
+	-- Figurine - Empyrean Tortoise -- 46775
+	-- Shattered Sun Offensive - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats: Tanking,
+	-- Item Stats: val42id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46775, 350, 35693, 1, 25229)
+	self:addTradeFlags(RecipeDB, 46775, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,52,63,112)
+	self:addTradeAcquire(RecipeDB, 46775, 6, 1077, 3, 25032)
+
+	-- Figurine - Khorium Boar -- 46776
+	-- Shattered Sun Offensive - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val84id9val84id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46776, 350, 35694, 1, 25229)
+	self:addTradeFlags(RecipeDB, 46776, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,63,112)
+	self:addTradeAcquire(RecipeDB, 46776, 6, 1077, 3, 25032)
+
+	-- Figurine - Crimson Serpent -- 46777
+	-- Shattered Sun Offensive - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val49id3val33id4
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46777, 350, 35700, 1, 25229)
+	self:addTradeFlags(RecipeDB, 46777, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,63,112)
+	self:addTradeAcquire(RecipeDB, 46777, 6, 1077, 3, 25032)
+
+	-- Figurine - Shadowsong Panther -- 46778
+	-- Shattered Sun Offensive - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val80id9val80id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46778, 350, 35702, 1, 25229)
+	self:addTradeFlags(RecipeDB, 46778, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,63,112)
+	self:addTradeAcquire(RecipeDB, 46778, 6, 1077, 3, 25032)
+
+	-- Figurine - Seaspray Albatross -- 46779
+	-- Shattered Sun Offensive - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val18id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46779, 350, 35703, 1, 25229)
+	self:addTradeFlags(RecipeDB, 46779, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,63,112)
+	self:addTradeAcquire(RecipeDB, 46779, 6, 1077, 3, 25032)
+
+	-- Regal Nightseye -- 46803
+	-- Shattered Sun Offensive - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val6id3val4id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46803, 320, 35707, 1, 25229)
+	self:addTradeFlags(RecipeDB, 46803, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,52,112)
+	self:addTradeAcquire(RecipeDB, 46803, 6, 1077, 3, 25032)
+
+	-- Forceful Seaspray Emerald -- 47053
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val7id3
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 47053, 350, 35759, 4, 25229)
+	self:addTradeFlags(RecipeDB, 47053, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 47053, 6, 990, 2, 23437)
+
+	-- Steady Seaspray Emerald -- 47054
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val7id3val5id29
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 47054, 350, 35758, 4, 25229)
+	self:addTradeFlags(RecipeDB, 47054, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 47054, 6, 990, 2, 23437)
+
+	-- Reckless Pyrestone -- 47055
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val6id19val6id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 47055, 350, 35760, 4, 25229)
+	self:addTradeFlags(RecipeDB, 47055, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,54,109)
+	self:addTradeAcquire(RecipeDB, 47055, 6, 990, 2, 23437)
+
+	-- Quick Lionseye -- 47056
+	-- The Scale of the Sands - Honored
+	-- Raid: 3606 - Caverns of Time: Hyjal Summit
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 47056, 350, 35761, 4, 25229)
+	self:addTradeFlags(RecipeDB, 47056, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,109)
+	self:addTradeAcquire(RecipeDB, 47056, 6, 990, 2, 23437)
+
+	-- Brilliant Glass -- 47280
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 47280, 320, 35945, 3, 25229)
+	self:addTradeFlags(RecipeDB, 47280, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Purified Shadowsong Amethyst -- 48789
+	-- Shattered Sun Offensive - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Healing,
+	-- Item Stats: val5id5val4id19val11id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 48789, 350, 37503, 1, 25229)
+	self:addTradeFlags(RecipeDB, 48789, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,53,112)
+	self:addTradeAcquire(RecipeDB, 48789, 6, 1077, 4, 25950, 6, 1077, 4, 27666)
+
+	-- Bold Scarlet Ruby -- 53830
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id1
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53830, 380, 39996, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53830, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Bold Bloodstone -- 53831
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id1
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53831, 340, 39900, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53831, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Delicate Bloodstone -- 53832
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id2
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53832, 350, 39905, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53832, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Runed Bloodstone -- 53834
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53834, 340, 39911, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53834, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Bright Bloodstone -- 53835
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val24id9
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53835, 340, 39906, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53835, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Subtle Bloodstone -- 53843
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id26
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53843, 350, 39907, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53843, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Flashing Bloodstone -- 53844
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id27
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53844, , 39908, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53844, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Fractured Bloodstone -- 53845
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val84id6val84id41
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53845, 350, 39909, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53845, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Brilliant Sun Crystal -- 53852
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id4
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53852, 340, 39912, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53852, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Smooth Sun Crystal -- 53853
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id11val12id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53853, 340, 39914, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53853, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Rigid Sun Crystal -- 53854
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53854, 350, 39915, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53854, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Thick Sun Crystal -- 53855
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53855, 350, 39916, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53855, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Quick Sun Crystal -- 53856
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53856, 340, 39918, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53856, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Mystic Sun Crystal -- 53857
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53857, 360, 39917, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53857, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Sovereign Shadow Crystal -- 53859
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id1val9id3
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53859, 350, 39934, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53859, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Shifting Shadow Crystal -- 53860
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id2val9id3
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53860, 350, 39935, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53860, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Tenuous Shadow Crystal -- 53861
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id2val2id24val2id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53861, 350, 39942, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53861, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Glowing Shadow Crystal -- 53862
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val9id3
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53862, 340, 39936, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53862, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Purified Shadow Crystal -- 53863
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id5
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53863, 340, 39941, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53863, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Royal Shadow Crystal -- 53864
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id24val2id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53864, 350, 39943, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53864, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Mysterious Shadow Crystal -- 53865
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val8id23
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53865, 360, 39945, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53865, 3,21,22,23,24,25,26,27,28,29,30,36,41,54)
+	-- No acquire information
+
+	-- Balanced Shadow Crystal -- 53866
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val9id3val12id9
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53866, 340, 39937, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53866, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Infused Shadow Crystal -- 53867
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id9val2id24val2id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53867, 340, 39944, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53867, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Regal Shadow Crystal -- 53868
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val9id3val6id26
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53868, 350, 39938, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53868, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Defender's Shadow Crystal -- 53869
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val9id3val6id27
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53869, 350, 39939, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53869, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Puissant Shadow Crystal -- 53870
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val9id3val42id6val42id41
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53870, 350, 39933, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53870, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Guardian's Shadow Crystal -- 53871
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val9id3
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53871, 350, 39940, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53871, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Inscribed Huge Citrine -- 53872
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id1val6id11val6id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53872, 340, 39947, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53872, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Etched Huge Citrine -- 53873
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id1val6id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53873, 340, 39948, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53873, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Champion's Huge Citrine -- 53874
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val6id1val6id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53874, 350, 39949, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53874, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Resplendent Huge Citrine -- 53875
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id1val6id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53875, 360, 39950, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53875, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Fierce Huge Citrine -- 53876
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id1val6id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53876, 350, 39951, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53876, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Deadly Huge Citrine -- 53877
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id2val6id11val6id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53877, 350, 39952, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53877, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Glinting Huge Citrine -- 53878
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id2val6id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53878, 340, 39953, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53878, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Lucent Huge Citrine -- 53879
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id2val6id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53879, 360, 39954, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53879, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Deft Huge Citrine -- 53880
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id2val6id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53880, 340, 39955, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53880, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Luminous Huge Citrine -- 53881
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id4
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53881, 350, 39946, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53881, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Potent Huge Citrine -- 53882
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id11val6id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53882, 340, 39956, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53882, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Veiled Huge Citrine -- 53883
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53883, 350, 39957, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53883, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Durable Huge Citrine -- 53884
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53884, 360, 39958, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53884, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Reckless Huge Citrine -- 53885
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53885, 350, 39959, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53885, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Wicked Huge Citrine -- 53886
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id9val6id11val6id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53886, 350, 39960, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53886, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Pristine Huge Citrine -- 53887
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id9val6id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53887, 350, 39961, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53887, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Empowered Huge Citrine -- 53888
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id9val6id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53888, 360, 39962, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53888, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Stark Huge Citrine -- 53889
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id9val6id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53889, 350, 39963, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53889, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Stalwart Huge Citrine -- 53890
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val6id26val6id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53890, 350, 39964, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53890, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Glimmering Huge Citrine -- 53891
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val6id27val6id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53891, 350, 39965, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53891, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Accurate Huge Citrine -- 53892
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53892, 350, 39966, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53892, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Resolute Huge Citrine -- 53893
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val6id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53893, 350, 39967, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53893, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Timeless Dark Jade -- 53894
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val9id3val6id4
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53894, 340, 39968, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53894, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Jagged Dark Jade -- 53916
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val9id3val6id11val6id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53916, 340, 39974, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53916, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Vivid Dark Jade -- 53917
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val9id3val6id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53917, 350, 39975, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53917, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enduring Dark Jade -- 53918
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val9id3val6id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53918, 350, 39976, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53918, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Steady Dark Jade -- 53919
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val9id3val6id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53919, 360, 39977, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53919, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Forceful Dark Jade -- 53920
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val9id3val6id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53920, 340, 39978, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53920, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Seer's Dark Jade -- 53921
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id4val6id5
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53921, 350, 39979, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53921, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Misty Dark Jade -- 53922
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id5val6id11val6id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53922, 350, 39980, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53922, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Shining Dark Jade -- 53923
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id5val6id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53923, 350, 39981, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53923, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Turbid Dark Jade -- 53924
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id5val6id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53924, 360, 39982, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53924, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Intricate Dark Jade -- 53925
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id5val6id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53925, 340, 39983, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53925, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Dazzling Dark Jade -- 53926
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id4val2id24val2id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53926, 350, 39984, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53926, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Sundered Dark Jade -- 53927
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id11val6id18val2id24val2id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53927, 350, 39985, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53927, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Lambent Dark Jade -- 53928
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id17val2id24val2id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53928, 350, 39986, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53928, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Opaque Dark Jade -- 53929
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id24val6id29val2id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53929, 360, 39988, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53929, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Energized Dark Jade -- 53930
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val2id24val6id30val2id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53930, 340, 39989, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53930, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Radiant Dark Jade -- 53931
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val6id11val6id18val8id23
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53931, 350, 39990, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53931, 3,21,22,23,24,25,26,27,28,29,30,36,41,54)
+	-- No acquire information
+
+	-- Tense Dark Jade -- 53932
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val6id17val8id23
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53932, 360, 39991, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53932, 3,21,22,23,24,25,26,27,28,29,30,36,41,54)
+	-- No acquire information
+
+	-- Shattered Dark Jade -- 53933
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val8id23val6id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53933, 360, 39992, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53933, 3,21,22,23,24,25,26,27,28,29,30,36,41,54)
+	-- No acquire information
+
+	-- Solid Chalcedony -- 53934
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val18id3
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53934, 340, 39919, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53934, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Sparkling Chalcedony -- 53940
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id5
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53940, 350, 39920, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53940, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Lustrous Chalcedony -- 53941
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val5id24val5id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53941, 340, 39927, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53941, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Stormy Chalcedony -- 53943
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val5id24val5id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53943, 360, 39927, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 53943, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Delicate Scarlet Ruby -- 53945
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id2
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53945, 380, 39997, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53945, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Runed Scarlet Ruby -- 53946
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53946, 380, 39998, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53946, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Bright Scarlet Ruby -- 53947
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val32id9
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53947, 380, 39999, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53947, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Subtle Scarlet Ruby -- 53948
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val16id26
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53948, 380, 40000, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53948, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Flashing Scarlet Ruby -- 53949
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val16id27
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53949, 380, 40001, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53949, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Fractured Scarlet Ruby -- 53950
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val112id6val112id41
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53950, 380, 40002, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53950, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Precise Scarlet Ruby -- 53951
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53951, 380, 40003, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53951, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Solid Sky Sapphire -- 53952
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val24id3
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53952, 380, 40008, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53952, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Sparkling Sky Sapphire -- 53953
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id5
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53953, 380, 40009, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53953, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Lustrous Sky Sapphire -- 53954
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val6id24val6id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53954, 380, 40010, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53954, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Stormy Sky Sapphire -- 53955
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val20id23
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53955, 380, 40011, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53955, 3,21,22,23,24,25,26,27,28,29,30,36,41,54)
+	-- No acquire information
+
+	-- Brilliant Autumn's Glow -- 53956
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id4
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53956, 380, 40012, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53956, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Smooth Autumn's Glow -- 53957
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id11val16id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53957, 380, 40013, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53957, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Rigid Autumn's Glow -- 53958
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53958, 380, 40014, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53958, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Thick Autumn's Glow -- 53959
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val16id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53959, 380, 40015, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53959, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Mystic Autumn's Glow -- 53960
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53960, 380, 40016, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53960, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Quick Autumn's Glow -- 53961
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53961, 380, 40017, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53961, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Sovereign Twilight Opal -- 53962
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id1val12id3
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53962, 380, 40022, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53962, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Shifting Twilight Opal -- 53963
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id2val12id3
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53963, 380, 40023, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53963, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Tenuous Twilight Opal -- 53964
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id2val3id24val3id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53964, 380, 40024, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53964, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Glowing Twilight Opal -- 53965
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id3
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53965, 380, 40025, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53965, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Purified Twilight Opal -- 53966
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id5
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53966, 380, 40026, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53966, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Royal Twilight Opal -- 53967
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val3id24val3id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53967, 380, 40027, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53967, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Mysterious Twilight Opal -- 53968
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val10id23
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53968, 380, 40028, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53968, 3,21,22,23,24,25,26,27,28,29,30,36,41,54)
+	-- No acquire information
+
+	-- Balanced Twilight Opal -- 53969
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id3val16id9
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53969, 380, 40029, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53969, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Infused Twilight Opal -- 53970
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id9val3id24val3id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53970, 380, 40030, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53970, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Regal Twilight Opal -- 53971
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id3val8id26
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53971, 380, 40031, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53971, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Defender's Twilight Opal -- 53972
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id3val8id27
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53972, 380, 40032, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53972, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Puissant Twilight Opal -- 53973
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	-- Item Stats: val12id3val56id6val56id41
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53973, 380, 40033, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53973, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Guardian's Twilight Opal -- 53974
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id3
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53974, 380, 40034, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53974, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Inscribed Monarch Topaz -- 53975
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id1val8id11val8id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53975, 380, 40037, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53975, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Etched Monarch Topaz -- 53976
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id1val8id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53976, 380, 40038, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53976, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Champion's Monarch Topaz -- 53977
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val8id1val8id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53977, 380, 40039, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53977, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Resplendent Monarch Topaz -- 53978
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id1val8id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53978, 380, 40040, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53978, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Deadly Monarch Topaz -- 53979
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id2val8id11val8id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53979, 380, 40043, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53979, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Glinting Monarch Topaz -- 53980
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id2val8id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53980, 380, 40044, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53980, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Lucent Monarch Topaz -- 53981
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id2val8id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53981, 380, 40045, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53981, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Deft Monarch Topaz -- 53982
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id2val8id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53982, 380, 40046, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53982, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Luminous Monarch Topaz -- 53983
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id4
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53983, 380, 40047, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53983, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Potent Monarch Topaz -- 53984
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id11val8id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53984, 380, 40048, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53984, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Veiled Monarch Topaz -- 53985
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53985, 380, 40049, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53985, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Durable Monarch Topaz -- 53986
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53986, 380, 40050, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53986, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Reckless Monarch Topaz -- 53987
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53987, 380, 40051, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53987, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Wicked Monarch Topaz -- 53988
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id9val8id11val8id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53988, 380, 40052, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53988, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Pristine Monarch Topaz -- 53989
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id9val8id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53989, 380, 40053, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53989, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Empowered Monarch Topaz -- 53990
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id9val8id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53990, 380, 40054, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53990, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Stark Monarch Topaz -- 53991
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val16id9val8id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53991, 380, 40055, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53991, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Stalwart Monarch Topaz -- 53992
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val8id26val8id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53992, 380, 40056, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53992, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Glimmering Monarch Topaz -- 53993
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val8id27val8id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53993, 380, 40057, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53993, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Accurate Monarch Topaz -- 53994
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53994, 380, 40058, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53994, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Timeless Forest Emerald -- 53995
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id3val8id4
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53995, 380, 40085, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53995, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Jagged Forest Emerald -- 53996
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id3val8id11val8id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53996, 380, 40086, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53996, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Vivid Forest Emerald -- 53997
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id3val8id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53997, 380, 40088, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53997, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Enduring Forest Emerald -- 53998
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id3val8id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53998, 380, 40089, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 53998, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	-- Steady Forest Emerald -- 54000
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id3val8id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54000, 380, 40090, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54000, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Forceful Forest Emerald -- 54001
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val12id3val8id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54001, 380, 40091, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54001, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Seer's Forest Emerald -- 54002
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id4val8id5
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54002, 380, 40092, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54002, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Misty Forest Emerald -- 54003
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id5val8id11val8id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54003, 380, 40095, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54003, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Shining Forest Emerald -- 54004
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id5val8id17
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54004, 380, 40099, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54004, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Turbid Forest Emerald -- 54005
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id5val8id29
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54005, 380, 40102, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54005, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Intricate Forest Emerald -- 54006
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id5val8id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54006, 380, 40104, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54006, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Dazzling Forest Emerald -- 54007
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id4val3id24val3id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54007, 380, 40094, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54007, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Sundered Forest Emerald -- 54008
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id11val8id18val3id24val3id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54008, 380, 40096, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54008, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Lambent Forest Emerald -- 54009
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id17val3id24val3id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54009, 380, 40100, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54009, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Opaque Forest Emerald -- 54010
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val3id24val8id29val3id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54010, 380, 40103, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54010, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Energized Forest Emerald -- 54011
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val3id24val8id30val3id38
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54011, 380, 40105, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54011, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Radiant Forest Emerald -- 54012
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val8id11val8id18val10id23
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54012, 380, 40098, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54012, 3,21,22,23,24,25,26,27,28,29,30,36,41,54)
+	-- No acquire information
+
+	-- Tense Forest Emerald -- 54013
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val8id17val10id23
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54013, 380, 40101, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54013, 3,21,22,23,24,25,26,27,28,29,30,36,41,54)
+	-- No acquire information
+
+	-- Shattered Forest Emerald -- 54014
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val10id23val8id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54014, 380, 40106, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54014, 3,21,22,23,24,25,26,27,28,29,30,36,41,54)
+	-- No acquire information
+
+	-- Precise Bloodstone -- 54017
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54017, 350, 39910, 2, 25229)
+	--self:addTradeFlags(RecipeDB, 54017, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Fierce Monarch Topaz -- 54019
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	-- Item Stats: val8id1val8id30
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54019, 380, 40041, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54019, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Resolute Monarch Topaz -- 54023
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats: Tanking,
+	-- Item Stats: val8id31
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 54023, 380, 40059, 3, 25229)
+	--self:addTradeFlags(RecipeDB, 54023, 3,21,22,23,24,25,26,27,28,29,30,36,41,52)
+	-- No acquire information
+
+	return recipecount

 end
diff --git a/RecipeDB/ARL-LeatherWork.lua b/RecipeDB/ARL-LeatherWork.lua
index 43d7d68..e4b0805 100644
--- a/RecipeDB/ARL-LeatherWork.lua
+++ b/RecipeDB/ARL-LeatherWork.lua
@@ -1,413 +1,4043 @@
 --[[

+************************************************************************
+
 ARL-LeatherWork.lua

-LeatherWorking data for all of AckisRecipeList
+Leatherworking data for all of AckisRecipeList
+
+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+389 found from data mining.
+0 ignored.
+2756 WotLK ignored.
+
+************************************************************************

 $Date$
 $Rev$

+************************************************************************
+
+Format:
+
+	self:addTradeSkill(RecipeDB, Spell ID, Skill Level, Item ID, Rarity, Specialty)
+
+************************************************************************
+
 ]]--

-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-local BZONE		= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local BBOSS		= LibStub("LibBabble-Boss-3.0"):GetLookupTable()
-
-local addon = AckisRecipeList
-
-function addon:InitLeatherWorking()
-
-	-- Trainer Recipes
-	self:addTradeSkillSpell(2149, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(2152, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(2881, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(7126, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(9058, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(9059, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(2153, 15, L["Trainer"],1)
-	self:addTradeSkillSpell(3753, 25, L["Trainer"],1)
-	self:addTradeSkillSpell(9060, 30, L["Trainer"],1)
-	self:addTradeSkillSpell(9062, 30, L["Trainer"],1)
-	self:addTradeSkillSpell(3816, 35, L["Trainer"],1)
-	self:addTradeSkillSpell(2160, 40, L["Trainer"],1)
-	self:addTradeSkillSpell(3756, 55, L["Trainer"],1)
-	self:addTradeSkillSpell(2161, 55, L["Trainer"],1)
-	self:addTradeSkillSpell(2162, 60, L["Trainer"],1)
-	self:addTradeSkillSpell(3759, 75, L["Trainer"],1)
-	self:addTradeSkillSpell(3763, 80, L["Trainer"],1)
-	self:addTradeSkillSpell(2159, 85, L["Trainer"],1)
-	self:addTradeSkillSpell(3761, 85, L["Trainer"],1)
-	self:addTradeSkillSpell(9065, 70, L["Trainer"],1)
-	self:addTradeSkillSpell(9068, 95, L["Trainer"],1)
-	self:addTradeSkillSpell(3817, 100, L["Trainer"],1)
-	self:addTradeSkillSpell(20648, 100, L["Trainer"],1)
-	self:addTradeSkillSpell(2165, 100, L["Trainer"],1)
-	self:addTradeSkillSpell(2167, 100, L["Trainer"],1)
-	self:addTradeSkillSpell(2168, 110, L["Trainer"],1)
-	self:addTradeSkillSpell(7135, 115, L["Trainer"],1)
-	self:addTradeSkillSpell(9074, 120, L["Trainer"],1)
-	self:addTradeSkillSpell(2166, 120, L["Trainer"],1)
-	self:addTradeSkillSpell(3766, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(9145, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(3768, 130, L["Trainer"],1)
-	self:addTradeSkillSpell(3770, 135, L["Trainer"],1)
-	self:addTradeSkillSpell(3764, 145, L["Trainer"],1)
-	self:addTradeSkillSpell(3760, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(3818, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(3780, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(9193, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(9194, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(20649, 150, L["Trainer"],1)
-	self:addTradeSkillSpell(3774, 160, L["Trainer"],1)
-	self:addTradeSkillSpell(7147, 160, L["Trainer"],1)
-	self:addTradeSkillSpell(7151, 175, L["Trainer"],1)
-	self:addTradeSkillSpell(9196, 175, L["Trainer"],1)
-	self:addTradeSkillSpell(3776, 180, L["Trainer"],1)
-	self:addTradeSkillSpell(9198, 180, L["Trainer"],1)
-	self:addTradeSkillSpell(9201, 185, L["Trainer"],1)
-	self:addTradeSkillSpell(6661, 190, L["Trainer"],1)
-	self:addTradeSkillSpell(7156, 190, L["Trainer"],1)
-	self:addTradeSkillSpell(9206, 195, L["Trainer"],1)
-	self:addTradeSkillSpell(10482, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(10487, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(20650, 200, L["Trainer"],1)
-	self:addTradeSkillSpell(10499, 205, L["Trainer"],1)
-	self:addTradeSkillSpell(10507, 205, L["Trainer"],1)
-	self:addTradeSkillSpell(10511, 210, L["Trainer"],1)
-	self:addTradeSkillSpell(10518, 210, L["Trainer"],1)
-	self:addTradeSkillSpell(14930, 225, L["Trainer"],1)
-	self:addTradeSkillSpell(14932, 225, L["Trainer"],1)
-	self:addTradeSkillSpell(10619, 225, L["Trainer"],1)
-	self:addTradeSkillSpell(10548, 230, L["Trainer"],1)
-	self:addTradeSkillSpell(10552, 230, L["Trainer"],1)
-	self:addTradeSkillSpell(10556, 235, L["Trainer"],1)
-	self:addTradeSkillSpell(10558, 235, L["Trainer"],1)
-	self:addTradeSkillSpell(19047, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(19058, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(22331, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(10650, 255, L["Trainer"],1)
-	self:addTradeSkillSpell(19052, 265, L["Trainer"],1)
-	self:addTradeSkillSpell(19065, 275, L["Trainer"],1)
-	self:addTradeSkillSpell(19071, 280, L["Trainer"],1)
-	self:addTradeSkillSpell(24655, 280, L["Trainer"],1)
-	self:addTradeSkillSpell(19082, 290, L["Trainer"],1)
-	self:addTradeSkillSpell(19092, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(19102, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(19098, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(19103, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(24654, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(32470, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(32462, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(32456, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(32454, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(32466, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(32478, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(32463, 310, L["Trainer"],1)
-	self:addTradeSkillSpell(32467, 310, L["Trainer"],1)
-	self:addTradeSkillSpell(32479, 310, L["Trainer"],1)
-	self:addTradeSkillSpell(32471, 315, L["Trainer"],1)
-	self:addTradeSkillSpell(32464, 320, L["Trainer"],1)
-	self:addTradeSkillSpell(32472, 320, L["Trainer"],1)
-	self:addTradeSkillSpell(32480, 320, L["Trainer"],1)
-	self:addTradeSkillSpell(32468, 325, L["Trainer"],1)
-	self:addTradeSkillSpell(32473, 330, L["Trainer"],1)
-	self:addTradeSkillSpell(32481, 330, L["Trainer"],1)
-	self:addTradeSkillSpell(32465, 335, L["Trainer"],1)
-	self:addTradeSkillSpell(32469, 335, L["Trainer"],1)
-	self:addTradeSkillSpell(35540, 340, L["Trainer"],1)
-	self:addTradeSkillSpell(44344, 315, L["Trainer"],1) -- was 305, confirm?
-	self:addTradeSkillSpell(44343, 315, L["Trainer"],1) -- wsa 305, confirm?
-	self:addTradeSkillSpell(45100, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(44970, 350, L["Trainer"],1)
-	self:addTradeSkillSpell(44770, 350, L["Trainer"],1)
-
-	-- Vendor Recipes
-	self:addTradeSkillSpell(6702, 90, self:CombineVendors(6, 7, 96, false),2)
-	self:addTradeSkillSpell(7953, 90, self:CombineVendors(97, false),2)
-	self:addTradeSkillSpell(6703, 95, self:CombineVendors(6, 7, 96, false),2)
-	self:addTradeSkillSpell(9070, 100, self:CombineVendors(98, false), BFAC["Alliance"],2)
-	self:addTradeSkillSpell(24940, 100, self:CombineVendors(13, false), BFAC["Alliance"],2)
-	self:addTradeSkillSpell(7954, 105, self:CombineVendors(97, false),2)
-	self:addTradeSkillSpell(9072, 120, self:CombineVendors(25, false), BFAC["Alliance"],2)
-	self:addTradeSkillSpell(9146, 135, self:CombineVendors(99, false), BFAC["Alliance"],2)
-	self:addTradeSkillSpell(9147, 135, self:CombineVendors(19, false),2)
-	self:addTradeSkillSpell(23190, 150, self:CombineVendors(100, 101, false),2)
-	self:addTradeSkillSpell(3772, 155, self:CombineVendors(102, 25, false),2)
-	self:addTradeSkillSpell(23399, 155, self:CombineVendors(103, 104, false),2)
-	self:addTradeSkillSpell(4097, 165, self:CombineVendors(107, false), BFAC["Alliance"],2)
-	self:addTradeSkillSpell(4096, 165, self:CombineVendors(108, false), BFAC["Horde"],2)
-	self:addTradeSkillSpell(6704, 170, self:CombineVendors(109, 110, 29, false),2)
-	self:addTradeSkillSpell(7149, 170, self:CombineVendors(111, 112, 113, 114, false),2)
-	self:addTradeSkillSpell(3778, 185, self:CombineVendors(115, false),2)
-	self:addTradeSkillSpell(6705, 190, self:CombineVendors(109, 116, false),2)
-	self:addTradeSkillSpell(9202, 190, self:CombineVendors(103, 104, 105, 106, false),2)
-	self:addTradeSkillSpell(22711, 200, self:CombineVendors(115, false),2)
-	self:addTradeSkillSpell(10509, 205, self:CombineVendors(105, 106, false),2)
-	self:addTradeSkillSpell(10516, 210, self:CombineVendors(105, 117, false),2)
-	self:addTradeSkillSpell(19048, 255, self:CombineVendors(118, false),2)
-	self:addTradeSkillSpell(19049, 260, self:CombineVendors(119, 120, false),2)
-	self:addTradeSkillSpell(19088, 295, self:CombineVendors(118, false),2)
-	self:addTradeSkillSpell(19050, 260, self:CombineVendors(121, false),2)
-	self:addTradeSkillSpell(19077, 285, self:CombineVendors(122, true),2)
-	self:addTradeSkillSpell(19085, 290, self:CombineVendors(123, false),2)
-	self:addTradeSkillSpell(19061, 270, self:CombineVendors(105, 106, false),2)
-	self:addTradeSkillSpell(19067, 275, self:CombineVendors(119, 120, false),2)
-	self:addTradeSkillSpell(19053, 265, self:CombineVendors(122, true),2)
-	self:addTradeSkillSpell(19062, 270, self:CombineVendors(124, true),2)
-	self:addTradeSkillSpell(19066, 275, self:CombineVendors(53, false),2)
-	self:addTradeSkillSpell(19084, 290, self:CombineVendors(125, false),2)
-	self:addTradeSkillSpell(32482, 300, self:CombineVendors(126, 127, false),2)
-	self:addTradeSkillSpell(32455, 325, self:CombineVendors(126, 127, 128, false),2)
-	self:addTradeSkillSpell(32461, 350, self:CombineVendors(129, false),2)
-
-	-- World Drops
-	self:addTradeSkillSpell(9064, 35, L["UWD"],3)
-	self:addTradeSkillSpell(2163, 60, L["UWD"],3)
-	self:addTradeSkillSpell(2164, 75, L["UWD"],3)
-	self:addTradeSkillSpell(2158, 90, L["UWD"],3)
-	self:addTradeSkillSpell(3762, 100, L["UWD"],3)
-	self:addTradeSkillSpell(2169, 100, L["UWD"],3)
-	self:addTradeSkillSpell(7133, 105, L["UWD"],3)
-	self:addTradeSkillSpell(3765, 120, L["UWD"],3)
-	self:addTradeSkillSpell(3767, 120, L["UWD"],3)
-	self:addTradeSkillSpell(3769, 140, L["UWD"],3)
-	self:addTradeSkillSpell(9148, 140, L["UWD"],3)
-	self:addTradeSkillSpell(9149, 145, L["UWD"],3)
-	self:addTradeSkillSpell(3771, 150, L["UWD"],3)
-	self:addTradeSkillSpell(9195, 165, L["UWD"],3)
-	self:addTradeSkillSpell(3775, 170, L["RWD"],3)
-	self:addTradeSkillSpell(3773, 175, L["UWD"],3)
-	self:addTradeSkillSpell(9197, 175, L["UWD"],3)
-	self:addTradeSkillSpell(7153, 185, L["UWD"],3)
-	self:addTradeSkillSpell(3777, 195, L["UWD"],3)
-	self:addTradeSkillSpell(3779, 200, L["RWD"],3)
-	self:addTradeSkillSpell(9207, 200, L["UWD"],3)
-	self:addTradeSkillSpell(9208, 200, L["UWD"],3)
-	self:addTradeSkillSpell(10490, 200, L["UWD"],3)
-	self:addTradeSkillSpell(10520, 215, L["UWD"],3)
-	self:addTradeSkillSpell(10531, 220, L["UWD"],3)
-	self:addTradeSkillSpell(10560, 240, L["UWD"],3)
-	self:addTradeSkillSpell(10562, 240, L["UWD"],3)
-	self:addTradeSkillSpell(19055, 270, L["UWD"],3)
-	self:addTradeSkillSpell(19064, 275, L["UWD"],3)
-	self:addTradeSkillSpell(19070, 280, L["UWD"],3)
-	self:addTradeSkillSpell(19072, 280, L["UWD"],3)
-	self:addTradeSkillSpell(19083, 290, L["UWD"],3)
-	self:addTradeSkillSpell(19091, 300, L["UWD"],3)
-	self:addTradeSkillSpell(19063, 275, L["UWD"],3)
-	self:addTradeSkillSpell(19073, 280, L["UWD"],3)
-	self:addTradeSkillSpell(19081, 290, L["UWD"],3)
-	self:addTradeSkillSpell(35559, 365, L["EWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-	self:addTradeSkillSpell(35558, 365, L["EWD"],3)
-	self:addTradeSkillSpell(35567, 365, L["EWD"],3)
-	self:addTradeSkillSpell(35562, 365, L["EWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-	self:addTradeSkillSpell(35561, 365, L["EWD"],3)
-	self:addTradeSkillSpell(35564, 365, L["EWD"],3)
-	self:addTradeSkillSpell(35573, 365, L["EWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-	self:addTradeSkillSpell(35572, 365, L["EWD"],3)
-	self:addTradeSkillSpell(35574, 365, L["EWD"],3)
-	self:addTradeSkillSpell(35563, 365, L["EWD"],3)
-	self:addTradeSkillSpell(35560, 365, L["EWD"],3)
-	self:addTradeSkillSpell(35568, 365, L["EWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5)
-
-	-- Specific Drops
-	self:addTradeSkillSpell(5244, 40, self:CombineQuests(L["Kodo Hide Bag Obt"],2,BZONE["The Barrens"]), BFAC["Horde"],8)
-	self:addTradeSkillSpell(8322, 90, self:CombineQuests(L["Moonglow Vest Obt"],1,BZONE["Darnassus"]), BFAC["Alliance"],8)
-	self:addTradeSkillSpell(7955, 115,  self:CombineQuests(L["Deviate Scale Belt Obt"],0,BZONE["Wailing Caverns"]),8)
-	self:addTradeSkillSpell(10525, 220, self:CombineMobs(true,L["Tough Scorpid Breastplate Obt"],BZONE["Tanaris"]),3)
-	self:addTradeSkillSpell(10529, 220, self:CombineQuests(L["Wild Leather Shoulders Obt"],0,BZONE["Feralas"]),8)
-	self:addTradeSkillSpell(10533, 220, self:CombineMobs(true,L["Tough Scorpid Bracers Obt"],BZONE["Tanaris"]),3)
-	self:addTradeSkillSpell(10542, 225, self:CombineMobs(true,L["Tough Scorpid Gloves Obt"],BZONE["Tanaris"]),3)
-	self:addTradeSkillSpell(10544, 225, self:CombineQuests(L["Wild Leather Vest Obt"],0,BZONE["Feralas"]),8)
-	self:addTradeSkillSpell(10546, 225, self:CombineQuests(L["Wild Leather Helmet Obt"],0,BZONE["Feralas"]),8)
-	self:addTradeSkillSpell(10554, 235, self:CombineMobs(true,L["Tough Scorpid Boots Obt"],BZONE["Tanaris"]),3)
-	self:addTradeSkillSpell(10564, 240, self:CombineMobs(true,L["Tough Scorpid Helm Obt"],BZONE["Tanaris"]),3) -- shoulders have same drop as helm
-	self:addTradeSkillSpell(10566, 245, self:CombineQuests(L["Wild Leather Boots Obt"],0,BZONE["Feralas"]),8)
-	self:addTradeSkillSpell(10568, 245, self:CombineMobs(true,L["Tough Scorpid Leggings Obt"],BZONE["Tanaris"]),3)
-	self:addTradeSkillSpell(10570, 250, self:CombineMobs(true,L["Tough Scorpid Helm Obt"],BZONE["Tanaris"]),3)
-	self:addTradeSkillSpell(10572, 250, self:CombineQuests(L["Wild Leather Leggings Obt"],0,BZONE["Feralas"]),8)
-	self:addTradeSkillSpell(10574, 250, self:CombineQuests(L["Wild Leather Cloak Obt"],0,BZONE["Feralas"]),8)
-	self:addTradeSkillSpell(19051, 265, self:CombineMobs(true,L["Heavy Scorpid Vest Obt"],BZONE["Blasted Lands"]),3)
-	self:addTradeSkillSpell(19075, 285, self:CombineMobs(true,L["Heavy Scorpid Leggings Obt"],BZONE["Burning Steppes"]),3)
-	self:addTradeSkillSpell(19100, 300, self:CombineMobs(true,L["Heavy Scorpid Shoulders Obt"],BZONE["Burning Steppes"]),3)
-	self:addTradeSkillSpell(22921, 300, self:CombineMobs(false,L["DMCACHE"],BZONE["Dire Maul"]),4,5)
-	self:addTradeSkillSpell(22922, 300, self:CombineMobs(false,L["DMCACHE"],BZONE["Dire Maul"]),4,5)
-	self:addTradeSkillSpell(22923, 300, self:CombineMobs(false,L["DMCACHE"],BZONE["Dire Maul"]),4,5)
-	self:addTradeSkillSpell(22815, 300, self:CombineQuests(L["Gordok Ogre Suit Obt"],0,BZONE["Dire Maul"]),5)
-	self:addTradeSkillSpell(19060, 270, self:CombineMobs(true,L["Green Dragonscale Leggings Obt"],BZONE["The Temple of Atal'Hakkar"]),3,5)
-	self:addTradeSkillSpell(19089, 295, self:CombineMobs(true,L["Blue Dragonscale Shoulders Obt"],BZONE["Azshara"]),3)
-	self:addTradeSkillSpell(19054, 300, self:CombineMobs(false,BBOSS["General Drakkisath"],BZONE["Upper Blackrock Spire"]),3,5)
-	self:addTradeSkillSpell(19107, 300, self:CombineMobs(true,L["Anvilrage Captain"],BZONE["Blackrock Depths"]),3,5)
-	self:addTradeSkillSpell(19094, 300, self:CombineMobs(true,L["Anvilrage Captain"],BZONE["Blackrock Depths"]),3,5)
-	self:addTradeSkillSpell(22926, 300, self:CombineMobs(false,L["DMCACHE"],BZONE["Dire Maul"]),4,5)
-	self:addTradeSkillSpell(19059, 270, self:CombineMobs(true,L["Volcanic Leggings Obt"],BZONE["Burning Steppes"]),3)
-	self:addTradeSkillSpell(19076, 285, self:CombineMobs(true,L["Volcanic Breastplate Obt"],BZONE["Lower Blackrock Spire"]),3,5)
-	self:addTradeSkillSpell(19078, 285, self:CombineMobs(true,L["Living Leggings Obt"],BZONE["Felwood"]),3)
-	self:addTradeSkillSpell(19079, 285, self:CombineMobs(true,L["Stormshroud Armor Obt"],BZONE["Azshara"]),3)
-	self:addTradeSkillSpell(19090, 295, self:CombineMobs(true,L["Stormshroud Shoulders Obt"],BZONE["Azshara"]),3)
-	self:addTradeSkillSpell(26279, 300, self:CombineMobs(true,L["Stormshroud Gloves Obt"],BZONE["Silithus"]) .. addon.br .. self:CombineMobs(true,L["Stormshroud Gloves Obt1"],BZONE["Winterspring"]),3)
-	self:addTradeSkillSpell(19095, 300, self:CombineMobs(true,L["Living Breastplate Obt"],BZONE["Western Plaguelands"]),3)
-	self:addTradeSkillSpell(19101, 300, self:CombineMobs(true,L["Volcanic Shoulders Obt"],BZONE["Lower Blackrock Spire"]),3,5)
-	self:addTradeSkillSpell(22928, 300, self:CombineMobs(false,L["DMCACHE"],BZONE["Dire Maul"]),4,5)
-	self:addTradeSkillSpell(19074, 285, self:CombineMobs(true,L["Frostsaber Leggings Obt"],BZONE["Winterspring"]),3)
-	self:addTradeSkillSpell(19086, 290, self:CombineMobs(true,L["Ironfeather Breastplate Obt"],BZONE["The Hinterlands"]),3)
-	self:addTradeSkillSpell(19087, 295, self:CombineMobs(true,L["Frostsaber Gloves Obt"],BZONE["Winterspring"]),3)
-	self:addTradeSkillSpell(19097, 300, self:CombineMobs(true,L["Devilsaur Leggings Obt"],BZONE["Un'Goro Crater"]),3)
-	self:addTradeSkillSpell(19104, 300, self:CombineMobs(true,L["Frostsaber Tunic Obt"],BZONE["Winterspring"]),3)
-	self:addTradeSkillSpell(22927, 300, self:CombineMobs(false,L["DMCACHE"],BZONE["Dire Maul"]),4,5)
-	self:addTradeSkillSpell(35520, 340, self:CombineMobs(false,L["Shadow Armor Kit Obt"],BZONE["Sethekk Halls"]),4,5)
-	self:addTradeSkillSpell(35521, 340, self:CombineMobs(false,L["Flame Armor Kit Obt"],BZONE["The Arcatraz"]),4,5)
-	self:addTradeSkillSpell(35523, 340, self:CombineMobs(false,BBOSS["Mennu the Betrayer"],BZONE["The Slave Pens"]),4,5)
-	self:addTradeSkillSpell(35524, 340, self:CombineMobs(false,BBOSS["Chrono Lord Deja"],BZONE["The Black Morass"]),4,5)
-	self:addTradeSkillSpell(35522, 340, self:CombineMobs(false,BBOSS["Hydromancer Thespia"],BZONE["The Steamvault"]),4,5)
-	self:addTradeSkillSpell(32485, 350, self:CombineMobs(false,BBOSS["Blackheart the Inciter"],BZONE["Shadow Labyrinth"]),4,5)
-	self:addTradeSkillSpell(32487, 350, self:CombineMobs(false,L["Stylin' Adventure Hat Obt"],BZONE["Old Hillsbrad Foothills"]),4,5)
-	self:addTradeSkillSpell(32489, 350, self:CombineMobs(false,L["Stylin' Jungle Hat Obt"],BZONE["The Black Morass"]),4,5)
-	self:addTradeSkillSpell(32488, 350, self:CombineMobs(false,L["Stylin' Crimson Hat Obt"],BZONE["Sethekk Halls"]),4,5)
-	self:addTradeSkillSpell(45117, 360, self:CombineMobs(false,L["Bag of Many Hides Obt"],BZONE["Terokkar Forest"]),4)
-
-	-- Seasonal
-	self:addTradeSkillSpell(21943, 190, L["WintersVeil"], 7)
-	self:addTradeSkillSpell(44953, 285, L["WintersVeil"], 7)
-
-	-- Reputations
-	self:addTradeSkillSpell(23703, 290, self:AddSingleReputation(2, BFAC["Timbermaw Hold"]), BFAC["Timbermaw Hold"])
-	self:addTradeSkillSpell(23705, 290, self:AddSingleReputation(2, BFAC["Argent Dawn"]), BFAC["Argent Dawn"])
-	self:addTradeSkillSpell(23704, 300, self:AddSingleReputation(3, BFAC["Timbermaw Hold"]), BFAC["Timbermaw Hold"])
-	self:addTradeSkillSpell(23706, 300, self:AddSingleReputation(3, BFAC["Argent Dawn"]), BFAC["Argent Dawn"])
-	self:addTradeSkillSpell(23707, 300, self:AddSingleReputation(2, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(24124, 300, self:AddSingleReputation(3, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24125, 300, self:AddSingleReputation(2, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24123, 300, self:AddSingleReputation(1, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24122, 300, self:AddSingleReputation(2, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24121, 300, self:AddSingleReputation(3, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6)
-	self:addTradeSkillSpell(24846, 300, self:AddSingleReputation(1, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(24847, 300, self:AddSingleReputation(2, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(24848, 300, self:AddSingleReputation(3, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(24849, 300, self:AddSingleReputation(1, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(24850, 300, self:AddSingleReputation(2, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(24851, 300, self:AddSingleReputation(3, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(28224, 300, self:AddSingleReputation(3, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6)
-	self:addTradeSkillSpell(28222, 300, self:AddSingleReputation(4, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6)
-	self:addTradeSkillSpell(28223, 300, self:AddSingleReputation(3, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6)
-	self:addTradeSkillSpell(28221, 300, self:AddSingleReputation(3, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6)
-	self:addTradeSkillSpell(28220, 300, self:AddSingleReputation(3, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6)
-	self:addTradeSkillSpell(28219, 300, self:AddSingleReputation(4, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6)
-	self:addTradeSkillSpell(28474, 300, self:AddSingleReputation(1, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(28473, 300, self:AddSingleReputation(2, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(28472, 300, self:AddSingleReputation(3, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(20855, 300, self:AddSingleReputation(2, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(23708, 300, self:AddSingleReputation(3, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(24703, 300, self:AddSingleReputation(4, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"])
-	self:addTradeSkillSpell(20854, 300, self:AddSingleReputation(1, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(23710, 300, self:AddSingleReputation(3, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(19068, 275, self:AddSingleReputation(1, BFAC["Timbermaw Hold"]), BFAC["Timbermaw Hold"])
-	self:addTradeSkillSpell(19080, 285, self:AddSingleReputation(1, BFAC["Timbermaw Hold"]), BFAC["Timbermaw Hold"])
-	self:addTradeSkillSpell(20853, 295, self:AddSingleReputation(1, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(23709, 300, self:AddSingleReputation(3, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"])
-	self:addTradeSkillSpell(32457, 325, self:AddSingleReputation(3, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(32458, 325, self:AddSingleReputation(3, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(35530, 325, self:AddDoubleReputation(2, BFAC["Kurenai"], BFAC["The Mag'har"]), BFAC["The Mag'har"])
-	self:addTradeSkillSpell(35549, 335, self:AddDoubleReputation(2, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(35555, 335, self:AddSingleReputation(2, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(32490, 340, self:AddSingleReputation(1, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(32501, 340, self:AddDoubleReputation(1, BFAC["Kurenai"], BFAC["The Mag'har"]), BFAC["The Mag'har"])
-	self:addTradeSkillSpell(32502, 340, self:AddDoubleReputation(2, BFAC["Kurenai"], BFAC["The Mag'har"]), BFAC["The Mag'har"])
-	self:addTradeSkillSpell(35544, 345, self:AddDoubleReputation(2, BFAC["Kurenai"], BFAC["The Mag'har"]), BFAC["The Mag'har"])
-	self:addTradeSkillSpell(32493, 350, self:AddSingleReputation(2, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(32494, 350, self:AddSingleReputation(3, BFAC["The Consortium"]), BFAC["The Consortium"])
-	self:addTradeSkillSpell(32498, 350, self:AddDoubleReputation(1, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(32503, 350, self:AddDoubleReputation(3, BFAC["Kurenai"], BFAC["The Mag'har"]), BFAC["The Mag'har"])
-	self:addTradeSkillSpell(35527, 350, self:AddSingleReputation(3, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(35526, 350, self:AddSingleReputation(2, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(35525, 350, self:AddSingleReputation(4, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(35531, 350, self:AddSingleReputation(2, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(35528, 350, self:AddSingleReputation(3, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(35529, 350, self:AddSingleReputation(4, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(35534, 350, self:AddSingleReputation(2, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(35533, 350, self:AddSingleReputation(3, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(35532, 350, self:AddSingleReputation(4, BFAC["The Scryers"]), BFAC["The Scryers"])
-	self:addTradeSkillSpell(35537, 350, self:AddSingleReputation(2, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(35536, 350, self:AddSingleReputation(3, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(35535, 350, self:AddSingleReputation(4, BFAC["The Aldor"]), BFAC["The Aldor"])
-	self:addTradeSkillSpell(44359, 340, self:AddSingleReputation(3, BFAC["Lower City"]), BFAC["Lower City"])
-	self:addTradeSkillSpell(44768, 340, self:AddDoubleReputation(3, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(35539, 350, self:AddDoubleReputation(2, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(32496, 355, self:AddSingleReputation(2, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(32497, 355, self:AddSingleReputation(1, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(32495, 360, self:AddSingleReputation(2, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(32499, 360, self:AddDoubleReputation(2, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(32500, 360, self:AddDoubleReputation(2, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(35543, 365, self:AddSingleReputation(2, BFAC["The Sha'tar"]), BFAC["The Sha'tar"])
-	self:addTradeSkillSpell(35554, 365, self:AddDoubleReputation(4, BFAC["Honor Hold"], BFAC["Thrallmar"]), BFAC["Thrallmar"])
-	self:addTradeSkillSpell(35557, 365, self:AddSingleReputation(4, BFAC["Cenarion Expedition"]), BFAC["Cenarion Expedition"])
-	self:addTradeSkillSpell(35538, 370, self:AddSingleReputation(2, BFAC["Keepers of Time"]), BFAC["Keepers of Time"])
-	self:addTradeSkillSpell(39997, 375, self:AddSingleReputation(1, BFAC["Ashtongue Deathsworn"]), 6, BFAC["Ashtongue Deathsworn"])
-	self:addTradeSkillSpell(40000, 375, self:AddSingleReputation(1, BFAC["Ashtongue Deathsworn"]), 6, BFAC["Ashtongue Deathsworn"])
-	self:addTradeSkillSpell(40002, 375, self:AddSingleReputation(2, BFAC["Ashtongue Deathsworn"]), 6, BFAC["Ashtongue Deathsworn"])
-	self:addTradeSkillSpell(40001, 375, self:AddSingleReputation(2, BFAC["Ashtongue Deathsworn"]), 6, BFAC["Ashtongue Deathsworn"])
-	self:addTradeSkillSpell(42546, 350, self:AddSingleReputation(4, BFAC["The Violet Eye"]), 6, BFAC["The Violet Eye"])
-	self:addTradeSkillSpell(40006, 375, self:AddSingleReputation(1, BFAC["Ashtongue Deathsworn"]), 6, BFAC["Ashtongue Deathsworn"])
-	self:addTradeSkillSpell(40005, 375, self:AddSingleReputation(1, BFAC["Ashtongue Deathsworn"]), 6, BFAC["Ashtongue Deathsworn"])
-	self:addTradeSkillSpell(40003, 375, self:AddSingleReputation(2, BFAC["Ashtongue Deathsworn"]), 6, BFAC["Ashtongue Deathsworn"])
-	self:addTradeSkillSpell(40004, 375, self:AddSingleReputation(2, BFAC["Ashtongue Deathsworn"]), 6, BFAC["Ashtongue Deathsworn"])
-	self:addTradeSkillSpell(42731, 355, self:AddSingleReputation(3, BFAC["The Violet Eye"]), 6, BFAC["The Violet Eye"])
-
-	-- Raid Drops
-	self:addTradeSkillSpell(22727, 300, L["MOLTENCORE"], 6)
-	self:addTradeSkillSpell(19093, 300, self:CombineQuests(L["Onyxia Scale Cloak Obt"],0,BZONE["Onyxia's Lair"]),6,8)
-	self:addTradeSkillSpell(36359, 375, L["SSC/TKBoE"], 6)
-	self:addTradeSkillSpell(36353, 375, L["SSC/TKBoP"], 6)
-	self:addTradeSkillSpell(36351, 375, L["SSC/TKBoP"], 6)
-	self:addTradeSkillSpell(36349, 375, L["SSC/TKBoP"], 6)
-	self:addTradeSkillSpell(36352, 375, L["SSC/TKBoP"], 6)
-	self:addTradeSkillSpell(36355, 375, L["SSC/TKBoE"], 6)
-	self:addTradeSkillSpell(36358, 375, L["SSC/TKBoE"], 6)
-	self:addTradeSkillSpell(36357, 375, L["SSC/TKBoE"], 6)
-	self:addTradeSkillSpell(41156, 375, L["BT/HYJALBoP"], 6)
-	self:addTradeSkillSpell(41157, 375, L["BT/HYJALBoP"], 6)
-	self:addTradeSkillSpell(41164, 375, L["BT/HYJALBoE"], 6)
-	self:addTradeSkillSpell(41163, 375, L["BT/HYJALBoP"], 6)
-	self:addTradeSkillSpell(41162, 375, L["BT/HYJALBoE"], 6)
-	self:addTradeSkillSpell(41161, 375, L["BT/HYJALBoP"], 6)
-	self:addTradeSkillSpell(41158, 375, L["BT/HYJALBoP"], 6)
-	self:addTradeSkillSpell(41160, 375, L["BT/HYJALBoE"], 6)
-	self:addTradeSkillSpell(46132, 365, L["SunwellBoE"], 6)
-	self:addTradeSkillSpell(46136, 365, L["SunwellBoE"], 6)
-	self:addTradeSkillSpell(46137, 365, L["SunwellBoE"], 6)
-	self:addTradeSkillSpell(46133, 365, L["SunwellBoP"], 6)
-	self:addTradeSkillSpell(46139, 365, L["SunwellBoE"], 6)
-	self:addTradeSkillSpell(46135, 365, L["SunwellBoP"], 6)
-	self:addTradeSkillSpell(46134, 365, L["SunwellBoP"], 6)
-	self:addTradeSkillSpell(46138, 365, L["SunwellBoE"], 6)
-
-	-- Dragonscale Leatherworking
-	self:addTradeSkillSpell(36076, 260, L["Trainer"],GetSpellInfo(10657),1)
-	self:addTradeSkillSpell(36079, 330, L["Trainer"],GetSpellInfo(10657),1)
-	self:addTradeSkillSpell(35576, 375, L["Trainer"],GetSpellInfo(10657),1)
-	self:addTradeSkillSpell(35577, 375, L["Trainer"],GetSpellInfo(10657),1)
-	self:addTradeSkillSpell(35575, 375, L["Trainer"],GetSpellInfo(10657),1)
-	self:addTradeSkillSpell(35582, 375, L["Trainer"],GetSpellInfo(10657),1)
-	self:addTradeSkillSpell(35584, 375, L["Trainer"],GetSpellInfo(10657),1)
-	self:addTradeSkillSpell(35580, 375, L["Trainer"],GetSpellInfo(10657),1)
-
-	-- Elemental Leatherworking
-	self:addTradeSkillSpell(10630, 230, L["Trainer"],GetSpellInfo(10659),1)
-	self:addTradeSkillSpell(10632, 250, L["Trainer"],GetSpellInfo(10659),1)
-	self:addTradeSkillSpell(36074, 260, L["Trainer"],GetSpellInfo(10659),1)
-	self:addTradeSkillSpell(36077, 330, L["Trainer"],GetSpellInfo(10659),1)
-	self:addTradeSkillSpell(35590, 375, L["Trainer"],GetSpellInfo(10659),1)
-	self:addTradeSkillSpell(35591, 375, L["Trainer"],GetSpellInfo(10659),1)
-	self:addTradeSkillSpell(35589, 375, L["Trainer"],GetSpellInfo(10659),1)
-
-	-- Tribal Leatherworking
-	self:addTradeSkillSpell(10621, 225, L["Trainer"],GetSpellInfo(10661),1)
-	self:addTradeSkillSpell(10647, 250, L["Trainer"],GetSpellInfo(10661),1)
-	self:addTradeSkillSpell(36075, 260, L["Trainer"],GetSpellInfo(10661),1)
-	self:addTradeSkillSpell(36078, 330, L["Trainer"],GetSpellInfo(10661),1)
-	self:addTradeSkillSpell(35587, 375, L["Trainer"],GetSpellInfo(10661),1)
-	self:addTradeSkillSpell(35588, 375, L["Trainer"],GetSpellInfo(10661),1)
-	self:addTradeSkillSpell(35585, 375, L["Trainer"],GetSpellInfo(10661),1)
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+function addon:InitLeatherworking(RecipeDB)
+
+	local recipecount = 0
+
+	-- Handstitched Leather Boots -- 2149
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val31id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2149, 10, 2302, 1, 2108)
+	self:addTradeFlags(RecipeDB, 2149, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Light Armor Kit -- 2152
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2152, 1, 2304, 1, 2108)
+	self:addTradeFlags(RecipeDB, 2152, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Handstitched Leather Pants -- 2153
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val46id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2153, 15, 2303, 1, 2108)
+	self:addTradeFlags(RecipeDB, 2153, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 2153, 1, 223, 1, 1466, 1, 1632, 1, 3007, 1, 3008, 1, 3069, 1, 3365, 1, 3549, 1, 3605, 1, 3703, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 5784, 1, 5811, 1, 11081, 1, 11083, 1, 11084, 1, 11096, 1, 11097, 1, 11098, 1, 16278, 1, 16687, 1, 16688, 1, 16728, 1, 16745, 1, 17442, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Fine Leather Boots -- 2158
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val49id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2158, 90, 2307, 2, 2108)
+	self:addTradeFlags(RecipeDB, 2158, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 2158, 7, 2)
+
+	-- Fine Leather Cloak -- 2159
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val2id3val14id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2159, 75, 2308, 1, 2108)
+	self:addTradeFlags(RecipeDB, 2159, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	self:addTradeAcquire(RecipeDB, 2159, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Embossed Leather Vest -- 2160
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val2id3val62id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2160, 40, 2300, 1, 2108)
+	self:addTradeFlags(RecipeDB, 2160, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 2160, 1, 223, 1, 1466, 1, 1632, 1, 3007, 1, 3008, 1, 3069, 1, 3365, 1, 3549, 1, 3605, 1, 3703, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 5784, 1, 5811, 1, 11081, 1, 11083, 1, 11084, 1, 11096, 1, 11097, 1, 11098, 1, 16278, 1, 16687, 1, 16688, 1, 16728, 1, 16745, 1, 17442, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Embossed Leather Boots -- 2161
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val2id3val2id5val48id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2161, 55, 2309, 1, 2108)
+	self:addTradeFlags(RecipeDB, 2161, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 2161, 1, 223, 1, 1466, 1, 1632, 1, 3007, 1, 3008, 1, 3069, 1, 3365, 1, 3549, 1, 3605, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 5784, 1, 5811, 1, 11081, 1, 11083, 1, 11084, 1, 11096, 1, 11097, 1, 11098, 1, 16278, 1, 16687, 1, 16688, 1, 16728, 1, 16745, 1, 17442, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Embossed Leather Cloak -- 2162
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val12id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2162, 60, 2310, 1, 2108)
+	self:addTradeFlags(RecipeDB, 2162, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	self:addTradeAcquire(RecipeDB, 2162, 1, 223, 1, 1466, 1, 1632, 1, 3007, 1, 3008, 1, 3069, 1, 3365, 1, 3549, 1, 3605, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 5784, 1, 5811, 1, 11081, 1, 11083, 1, 11084, 1, 11096, 1, 11097, 1, 11098, 1, 16278, 1, 16687, 1, 16688, 1, 16728, 1, 16745, 1, 17442, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- White Leather Jerkin -- 2163
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val62id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2163, 60, 2311, 2, 2108)
+	self:addTradeFlags(RecipeDB, 2163, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 2163, 7, 2)
+
+	-- Fine Leather Gloves -- 2164
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val2id4val2id5val43id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2164, 75, 2312, 2, 2108)
+	self:addTradeFlags(RecipeDB, 2164, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 2164, 7, 2)
+
+	-- Medium Armor Kit -- 2165
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2165, 100, 2313, 1, 2108)
+	self:addTradeFlags(RecipeDB, 2165, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 2165, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Toughened Leather Armor -- 2166
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val80id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2166, 120, 2314, 1, 2108)
+	self:addTradeFlags(RecipeDB, 2166, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 2166, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Dark Leather Boots -- 2167
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val51id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2167, 100, 2315, 1, 2108)
+	self:addTradeFlags(RecipeDB, 2167, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 2167, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Dark Leather Cloak -- 2168
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val17id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2168, 110, 2316, 1, 2108)
+	self:addTradeFlags(RecipeDB, 2168, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	self:addTradeAcquire(RecipeDB, 2168, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Dark Leather Tunic -- 2169
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val6id2val78id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2169, 100, 2317, 2, 2108)
+	self:addTradeFlags(RecipeDB, 2169, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 2169, 7, 2)
+
+	-- Light Leather -- 2881
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2881, 1, 2318, 1, 2108)
+	self:addTradeFlags(RecipeDB, 2881, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Handstitched Leather Belt -- 3753
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val29id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3753, 25, 4237, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3753, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 3753, 1, 223, 1, 1385, 1, 1466, 1, 1632, 1, 3007, 1, 3008, 1, 3069, 1, 3365, 1, 3549, 1, 3605, 1, 3703, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 5784, 1, 5811, 1, 11081, 1, 11083, 1, 11084, 1, 11096, 1, 11097, 1, 11098, 1, 16278, 1, 16687, 1, 16688, 1, 16728, 1, 16745, 1, 17442, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Embossed Leather Gloves -- 3756
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val39id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3756, 55, 4239, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3756, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 3756, 1, 223, 1, 1466, 1, 1632, 1, 3007, 1, 3008, 1, 3069, 1, 3365, 1, 3549, 1, 3605, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 5784, 1, 5811, 1, 11081, 1, 11083, 1, 11084, 1, 11096, 1, 11097, 1, 11098, 1, 16278, 1, 16687, 1, 16688, 1, 16728, 1, 16745, 1, 17442, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Embossed Leather Pants -- 3759
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val2id3val3id5val61id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3759, 75, 4242, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3759, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 3759, 1, 223, 1, 1385, 1, 1466, 1, 1632, 1, 3007, 1, 3008, 1, 3069, 1, 3365, 1, 3549, 1, 3605, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 5784, 1, 5811, 1, 11081, 1, 11083, 1, 11084, 1, 11096, 1, 11097, 1, 11098, 1, 16278, 1, 16687, 1, 16688, 1, 16728, 1, 16745, 1, 17442, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Hillman's Cloak -- 3760
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val20id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3760, 150, 3719, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3760, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	self:addTradeAcquire(RecipeDB, 3760, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Fine Leather Tunic -- 3761
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val4id2val3id3val73id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3761, 85, 4243, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3761, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 3761, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Hillman's Leather Vest -- 3762
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val4id3val4id5val78id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3762, 100, 4244, 2, 2108)
+	self:addTradeFlags(RecipeDB, 3762, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 3762, 7, 2)
+
+	-- Fine Leather Belt -- 3763
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val38id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3763, 80, 4246, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3763, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 3763, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Hillman's Leather Gloves -- 3764
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val6id3val5id5val57id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3764, 145, 4247, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3764, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 3764, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Dark Leather Gloves -- 3765
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val54id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3765, 130, 4248, 2, 2108)
+	self:addTradeFlags(RecipeDB, 3765, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 3765, 7, 2)
+
+	-- Dark Leather Belt -- 3766
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val4id2val4id3val48id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3766, 125, 4249, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3766, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 3766, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Hillman's Belt -- 3767
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val4id3val4id5val48id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3767, 120, 4250, 2, 2108)
+	self:addTradeFlags(RecipeDB, 3767, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 3767, 7, 2)
+
+	-- Hillman's Shoulders -- 3768
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val5id3val4id5val65id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3768, 130, 4251, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3768, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 3768, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Dark Leather Shoulders -- 3769
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val7id2val68id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3769, 140, 4252, 2, 2108)
+	self:addTradeFlags(RecipeDB, 3769, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 3769, 7, 2)
+
+	-- Toughened Leather Gloves -- 3770
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val6id2val3id3val6id5val61id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3770, 135, 4253, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3770, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 3770, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Barbaric Gloves -- 3771
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val4id2val5id3val4id5val58id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3771, 150, 4254, 2, 2108)
+	self:addTradeFlags(RecipeDB, 3771, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 3771, 7, 2)
+
+	-- Green Leather Armor -- 3772
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val8id2val8id5val95id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3772, 155, 4255, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3772, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 3772, 2, 2679, 2, 2698)
+
+	-- Guardian Armor -- 3773
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val10id4val9id5val102id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3773, 175, 4256, 2, 2108)
+	self:addTradeFlags(RecipeDB, 3773, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 3773, 7, 2)
+
+	-- Green Leather Belt -- 3774
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val6id2val6id5val54id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3774, 160, 4257, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3774, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 3774, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Guardian Belt -- 3775
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val7id4val6id5val56id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3775, 170, 4258, 3, 2108)
+	self:addTradeFlags(RecipeDB, 3775, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 3775, 7, 3)
+
+	-- Green Leather Bracers -- 3776
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val6id2val5id5val45id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3776, 180, 4259, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3776, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 3776, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Guardian Leather Bracers -- 3777
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val6id4val6id5val48id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3777, 195, 4260, 2, 2108)
+	self:addTradeFlags(RecipeDB, 3777, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 3777, 7, 2)
+
+	-- Gem-studded Leather Belt -- 3778
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val8id3val6id5val65id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3778, 185, 4262, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3778, 1,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 3778, 2, 2699)
+
+	-- Barbaric Belt -- 3779
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val11id1val62id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3779, 200, 4264, 3, 2108)
+	self:addTradeFlags(RecipeDB, 3779, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 3779, 7, 3)
+
+	-- Heavy Armor Kit -- 3780
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3780, 150, 4265, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3780, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 3780, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Cured Light Hide -- 3816
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3816, 35, 4231, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3816, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3816, 1, 223, 1, 1466, 1, 1632, 1, 3007, 1, 3008, 1, 3069, 1, 3365, 1, 3549, 1, 3605, 1, 3703, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 5784, 1, 5811, 1, 11081, 1, 11083, 1, 11084, 1, 11096, 1, 11097, 1, 11098, 1, 16278, 1, 16687, 1, 16688, 1, 16728, 1, 16745, 1, 17442, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Cured Medium Hide -- 3817
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3817, 100, 4233, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3817, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3817, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Cured Heavy Hide -- 3818
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3818, 150, 4236, 1, 2108)
+	self:addTradeFlags(RecipeDB, 3818, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3818, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Raptor Hide Harness -- 4096
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val13id3val98id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 4096, 165, 4455, 2, 2108)
+	self:addTradeFlags(RecipeDB, 4096, 2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 4096, 2, 2819)
+
+	-- Raptor Hide Belt -- 4097
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val6id1val6id3val55id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 4097, 165, 4456, 2, 2108)
+	self:addTradeFlags(RecipeDB, 4097, 1,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 4097, 2, 2816)
+
+	-- Kodo Hide Bag -- 5244
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 5244, 40, 5081, 2, 2108)
+	self:addTradeFlags(RecipeDB, 5244, 2,8,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 5244, 4, 769)
+
+	-- Barbaric Harness -- 6661
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val101id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6661, 190, 5739, 1, 2108)
+	self:addTradeFlags(RecipeDB, 6661, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 6661, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Murloc Scale Belt -- 6702
+	-- Instance: 1581 - type1category3maxlevel20territory2minlevel15nameThe Deadminesid1581
+	-- Mob Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val2id1val3id2val42id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6702, 90, 5780, 1, 2108)
+	self:addTradeFlags(RecipeDB, 6702, 1,2,4,5,11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 6702, 3, 1732, 3, 3385, 2, 843, 2, 3556, 2, 4186)
+
+	-- Murloc Scale Breastplate -- 6703
+	-- Instance: 1581 - type1category3maxlevel20territory2minlevel15nameThe Deadminesid1581
+	-- Mob Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val5id1val3id2val76id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6703, 95, 5781, 1, 2108)
+	self:addTradeFlags(RecipeDB, 6703, 1,2,4,5,11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 6703, 3, 657, 3, 3386, 2, 843, 2, 3556, 2, 4186)
+
+	-- Thick Murloc Armor -- 6704
+	-- Mob Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val9id1val8id3val100id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6704, 170, 5782, 2, 2108)
+	self:addTradeFlags(RecipeDB, 6704, 1,2,4,11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 6704, 3, 938, 3, 1160, 2, 2381, 2, 2393, 2, 2846)
+
+	-- Murloc Scale Bracers -- 6705
+	-- Mob Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val5id1val6id3val47id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6705, 190, 5783, 2, 2108)
+	self:addTradeFlags(RecipeDB, 6705, 1,2,4,11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 6705, 3, 1561, 3, 2636, 2, 2846, 2, 4897)
+
+	-- Handstitched Leather Vest -- 7126
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val45id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7126, 10, 5957, 1, 2108)
+	self:addTradeFlags(RecipeDB, 7126, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Fine Leather Pants -- 7133
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val5id4val4id5val69id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7133, 105, 5958, 2, 2108)
+	self:addTradeFlags(RecipeDB, 7133, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 7133, 7, 2)
+
+	-- Dark Leather Pants -- 7135
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val8id2val72id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7135, 115, 5961, 1, 2108)
+	self:addTradeFlags(RecipeDB, 7135, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 7135, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Guardian Pants -- 7147
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val8id4val8id5val85id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7147, 160, 5962, 1, 2108)
+	self:addTradeFlags(RecipeDB, 7147, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 7147, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Barbaric Leggings -- 7149
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val7id2val7id3val7id5val87id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7149, 170, 5963, 1, 2108)
+	self:addTradeFlags(RecipeDB, 7149, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 7149, 2, 2810, 2, 2821, 2, 3958, 2, 4877)
+
+	-- Barbaric Shoulders -- 7151
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val5id2val6id3val5id5val76id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7151, 175, 5964, 1, 2108)
+	self:addTradeFlags(RecipeDB, 7151, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 7151, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Guardian Cloak -- 7153
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val5id4val6id5val24id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7153, 185, 5965, 2, 2108)
+	self:addTradeFlags(RecipeDB, 7153, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 7153, 7, 2)
+
+	-- Guardian Gloves -- 7156
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val63id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7156, 190, 5966, 1, 2108)
+	self:addTradeFlags(RecipeDB, 7156, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 7156, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Deviate Scale Cloak -- 7953
+	-- Instance: 718 - type1category3maxlevel21territory4minlevel15nameWailing Cavernsid718
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val2id2val2id3val16id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7953, 90, 6466, 1, 2108)
+	self:addTradeFlags(RecipeDB, 7953, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 7953, 2, 5783)
+
+	-- Deviate Scale Gloves -- 7954
+	-- Instance: 718 - type1category3maxlevel21territory4minlevel15nameWailing Cavernsid718
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val3id2val3id3val49id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7954, 105, 6467, 1, 2108)
+	self:addTradeFlags(RecipeDB, 7954, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 7954, 2, 5783)
+
+	-- Deviate Scale Belt -- 7955
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val5id2val6id3val3id5val51id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7955, 115, 6468, 2, 2108)
+	self:addTradeFlags(RecipeDB, 7955, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 7955, 4, 1487)
+
+	-- Moonglow Vest -- 8322
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val3id4val4id5val74id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8322, 85, 6709, 2, 2108)
+	self:addTradeFlags(RecipeDB, 8322, 1,8,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 8322, 4, 1582)
+
+	-- Handstitched Leather Cloak -- 9058
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val8id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9058, 10, 7276, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9058, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	-- No acquire information
+
+	-- Handstitched Leather Bracers -- 9059
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val21id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9059, 10, 7277, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9059, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Light Leather Quiver -- 9060
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9060, 30, 7278, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9060, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 9060, 1, 223, 1, 1466, 1, 1632, 1, 3007, 1, 3008, 1, 3069, 1, 3365, 1, 3549, 1, 3605, 1, 3703, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 5784, 1, 5811, 1, 11081, 1, 11083, 1, 11084, 1, 11096, 1, 11097, 1, 11098, 1, 16278, 1, 16687, 1, 16688, 1, 16728, 1, 16745, 1, 17442, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Small Leather Ammo Pouch -- 9062
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9062, 30, 7279, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9062, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 9062, 1, 223, 1, 1385, 1, 1466, 1, 1632, 1, 3007, 1, 3008, 1, 3069, 1, 3365, 1, 3549, 1, 3605, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 5784, 1, 5811, 1, 11081, 1, 11083, 1, 11084, 1, 11096, 1, 11097, 1, 11098, 1, 16278, 1, 16687, 1, 16688, 1, 16728, 1, 16745, 1, 17442, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Rugged Leather Pants -- 9064
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val1id3val51id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9064, 35, 7280, 2, 2108)
+	self:addTradeFlags(RecipeDB, 9064, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 9064, 7, 2)
+
+	-- Light Leather Bracers -- 9065
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val28id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9065, 70, 7281, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9065, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 9065, 1, 223, 1, 1385, 1, 1466, 1, 1632, 1, 3007, 1, 3008, 1, 3069, 1, 3365, 1, 3549, 1, 3605, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 5784, 1, 5811, 1, 11081, 1, 11083, 1, 11084, 1, 11096, 1, 11097, 1, 11098, 1, 16278, 1, 16687, 1, 16688, 1, 16728, 1, 16745, 1, 17442, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Light Leather Pants -- 9068
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val5id2val3id5val66id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9068, 95, 7282, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9068, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 9068, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Black Whelp Cloak -- 9070
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val3id3val17id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9070, 100, 7283, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9070, 1,4,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 9070, 2, 2697)
+
+	-- Red Whelp Gloves -- 9072
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val52id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9072, 120, 7284, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9072, 1,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 9072, 2, 2679)
+
+	-- Nimble Leather Gloves -- 9074
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val4id2val4id5val52id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9074, 120, 7285, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9074, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 9074, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Fletcher's Gloves -- 9145
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Tanking,
+	-- Item Stats: val53id6val14id11val14id18val1id27
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9145, 125, 7348, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9145, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,52,57)
+	self:addTradeAcquire(RecipeDB, 9145, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Herbalist's Gloves -- 9146
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val55id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9146, 135, 7349, 2, 2108)
+	self:addTradeFlags(RecipeDB, 9146, 1,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 9146, 2, 6731)
+
+	-- Earthen Leather Shoulders -- 9147
+	-- Instance: 2367 - type5category3maxlevel68territory1expansion1minlevel66nameCaverns of Time: Old Hillsbrad Foothillsid2367
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val7id3val67id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9147, 135, 7352, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9147, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 9147, 2, 3537)
+
+	-- Pilferer's Gloves -- 9148
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val8id2val56id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9148, 140, 7358, 2, 2108)
+	self:addTradeFlags(RecipeDB, 9148, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 9148, 7, 2)
+
+	-- Heavy Earthen Gloves -- 9149
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val57id6val16id9val16id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9149, 145, 7359, 2, 2108)
+	self:addTradeFlags(RecipeDB, 9149, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 9149, 7, 2)
+
+	-- Heavy Quiver -- 9193
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9193, 150, 7371, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9193, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 9193, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Heavy Leather Ammo Pouch -- 9194
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9194, 150, 7372, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9194, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 9194, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Dusky Leather Leggings -- 9195
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val13id2val86id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9195, 165, 7373, 2, 2108)
+	self:addTradeFlags(RecipeDB, 9195, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 9195, 7, 2)
+
+	-- Dusky Leather Armor -- 9196
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val14id2val102id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9196, 175, 7374, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9196, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 9196, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Green Whelp Armor -- 9197
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val11id5val102id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9197, 175, 7375, 2, 2108)
+	self:addTradeFlags(RecipeDB, 9197, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 9197, 7, 2)
+
+	-- Frost Leather Cloak -- 9198
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val24id6val11id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9198, 180, 7377, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9198, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	self:addTradeAcquire(RecipeDB, 9198, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Dusky Bracers -- 9201
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val8id2val46id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9201, 185, 7378, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9201, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 9201, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Green Whelp Bracers -- 9202
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val8id5val47id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9202, 190, 7386, 2, 2108)
+	self:addTradeFlags(RecipeDB, 9202, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 9202, 2, 4225, 2, 4589, 2, 7852, 2, 7854)
+
+	-- Dusky Belt -- 9206
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val8id2val8id3val61id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9206, 195, 7387, 1, 2108)
+	self:addTradeFlags(RecipeDB, 9206, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 9206, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Dusky Boots -- 9207
+	-- Instance: 796 - type1category3maxlevel45territory4minlevel34nameScarlet Monasteryid796
+	-- Instance: 722 - type1category3maxlevel40territory4minlevel33nameRazorfen Downsid722
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val11id2val3id3val76id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9207, 200, 7390, 3, 2108)
+	self:addTradeFlags(RecipeDB, 9207, 5,11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 9207, 3, 682, 3, 2566, 3, 2574, 3, 2760, 3, 4298, 3, 7349)
+
+	-- Swift Boots -- 9208
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val10id3val76id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 9208, 200, 7391, 2, 2108)
+	self:addTradeFlags(RecipeDB, 9208, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 9208, 7, 2)
+
+	-- Cured Thick Hide -- 10482
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10482, 200, 8172, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10482, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 10482, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Thick Armor Kit -- 10487
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10487, 200, 8173, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10487, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 10487, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Comfortable Leather Hat -- 10490
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val11id3val10id5val90id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10490, 200, 8174, 3, 2108)
+	self:addTradeFlags(RecipeDB, 10490, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 10490, 7, 3)
+
+	-- Nightscape Tunic -- 10499
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val15id2val6id3val113id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10499, 205, 8175, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10499, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10499, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Nightscape Headband -- 10507
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val12id2val11id3val91id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10507, 205, 8176, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10507, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10507, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Turtle Scale Gloves -- 10509
+	-- World Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val7id3val6id4val6id5val146id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10509, 205, 8187, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10509, 1,2,4,10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 10509, 7, 1, 2, 7852, 2, 7854)
+
+	-- Turtle Scale Breastplate -- 10511
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val9id3val9id4val9id5val238id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10511, 210, 8189, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10511, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 10511, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Nightscape Shoulders -- 10516
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val11id2val5id3val86id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10516, 210, 8192, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10516, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 10516, 2, 7854, 2, 8160)
+
+	-- Turtle Scale Bracers -- 10518
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val204id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10518, 210, 8198, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10518, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 10518, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Big Voodoo Robe -- 10520
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val14id4val9id5val117id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10520, 215, 8200, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10520, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 10520, 7, 2)
+
+	-- Tough Scorpid Breastplate -- 10525
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val15id2val7id5val245id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10525, 220, 8203, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10525, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 10525, 3, 5618)
+
+	-- Wild Leather Shoulders -- 10529
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val90id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10529, 220, 8210, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10529, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10529, 4, 2848, 4, 2855)
+
+	-- Big Voodoo Mask -- 10531
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val14id4val9id5val97id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10531, 220, 8201, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10531, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 10531, 7, 2)
+
+	-- Tough Scorpid Bracers -- 10533
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val7id2val6id5val107id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10533, 220, 8205, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10533, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 10533, 3, 2389, 3, 5617)
+
+	-- Tough Scorpid Gloves -- 10542
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val10id2val9id5val155id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10542, 225, 8204, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10542, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 10542, 3, 5616)
+
+	-- Wild Leather Vest -- 10544
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val121id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10544, 225, 8211, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10544, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10544, 4, 2849, 4, 2856)
+
+	-- Wild Leather Helmet -- 10546
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val99id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10546, 225, 8214, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10546, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10546, 4, 2850, 4, 2857)
+
+	-- Nightscape Pants -- 10548
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val16id2val7id3val108id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10548, 230, 8193, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10548, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10548, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Nightscape Cloak -- 10550
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val10id2val3id3val30id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10550, 230, 8195, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10550, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	-- No acquire information
+
+	-- Turtle Scale Helm -- 10552
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val10id3val10id4val10id5val206id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10552, 230, 8191, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10552, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 10552, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Tough Scorpid Boots -- 10554
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val12id2val7id5val178id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10554, 235, 8209, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10554, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 10554, 3, 5615)
+
+	-- Turtle Scale Leggings -- 10556
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val11id3val10id4val11id5val226id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10556, 235, 8185, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10556, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 10556, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Nightscape Boots -- 10558
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val12id2val87id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10558, 235, 8197, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10558, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10558, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Big Voodoo Pants -- 10560
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val10id4val15id5val110id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10560, 240, 8202, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10560, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 10560, 7, 2)
+
+	-- Big Voodoo Cloak -- 10562
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val9id4val5id5val31id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10562, 240, 8216, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10562, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 10562, 7, 2)
+
+	-- Tough Scorpid Shoulders -- 10564
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val10id2val10id5val197id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10564, 240, 8207, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10564, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 10564, 3, 5623, 3, 7805, 3, 7883)
+
+	-- Wild Leather Boots -- 10566
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val90id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10566, 245, 8213, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10566, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10566, 4, 2851, 4, 2858)
+
+	-- Tough Scorpid Leggings -- 10568
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val17id2val10id5val235id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10568, 245, 8206, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10568, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 10568, 3, 5615)
+
+	-- Tough Scorpid Helm -- 10570
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val14id2val14id5val222id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10570, 250, 8208, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10570, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 10570, 3, 5623, 3, 7805, 3, 7883)
+
+	-- Wild Leather Leggings -- 10572
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val116id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10572, 250, 8212, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10572, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10572, 4, 2852, 4, 2859)
+
+	-- Wild Leather Cloak -- 10574
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val33id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10574, 250, 8215, 2, 2108)
+	self:addTradeFlags(RecipeDB, 10574, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	self:addTradeAcquire(RecipeDB, 10574, 4, 2853, 4, 2860)
+
+	-- Dragonscale Gauntlets -- 10619
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val7id3val6id5val171id6val14id11val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10619, 225, 8347, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10619, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 10619, 1, 7866, 1, 7867)
+
+	-- Wolfshead Helm -- 10621
+	-- Trainer
+	-- Flags: Druid, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val10id5val109id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10621, 225, 8345, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10621, 1,2,3,22,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10621, 1, 7870, 1, 7871)
+
+	-- Gauntlets of the Sea -- 10630
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val7id2val85id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10630, 230, 8346, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10630, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10630, 1, 7868, 1, 7869)
+
+	-- Helm of Fire -- 10632
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val17id2val10id3val118id6val5id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10632, 250, 8348, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10632, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10632, 1, 7868, 1, 7869)
+
+	-- Feathered Breastplate -- 10647
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val10id4val24id5val146id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10647, 250, 8349, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10647, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 10647, 1, 7870, 1, 7871)
+
+	-- Dragonscale Breastplate -- 10650
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val10id3val306id6val13id33val13id35val12id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10650, 255, 8367, 1, 2108)
+	self:addTradeFlags(RecipeDB, 10650, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 10650, 1, 7866, 1, 7867)
+
+	-- Quickdraw Quiver -- 14930
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 14930, 225, 8217, 1, 2108)
+	self:addTradeFlags(RecipeDB, 14930, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 14930, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Thick Leather Ammo Pouch -- 14932
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 14932, 225, 8218, 1, 2108)
+	self:addTradeFlags(RecipeDB, 14932, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 14932, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Cured Rugged Hide -- 19047
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19047, 240, 15407, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19047, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 19047, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Heavy Scorpid Bracers -- 19048
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val8id3val8id5val122id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19048, 255, 15077, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19048, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19048, 2, 12956)
+
+	-- Wicked Leather Gauntlets -- 19049
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val12id2val11id3val86id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19049, 260, 15083, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19049, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19049, 2, 12942, 2, 12943)
+
+	-- Green Dragonscale Breastplate -- 19050
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val10id3val21id5val311id6val11id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19050, 260, 15045, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19050, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19050, 2, 11874)
+
+	-- Heavy Scorpid Vest -- 19051
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val16id3val15id5val288id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19051, 265, 15076, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19051, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19051, 3, 5981, 3, 6005)
+
+	-- Wicked Leather Bracers -- 19052
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val11id2val5id3val61id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19052, 265, 15084, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19052, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19052, 3, 6201, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Chimeric Gloves -- 19053
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val87id6val11id32val12id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19053, 265, 15074, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19053, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19053, 2, 12957)
+
+	-- Red Dragonscale Breastplate -- 19054
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Healing,
+	-- Item Stats: val360id6val22id19val66id20val12id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19054, 300, 15047, 3, 2108)
+	self:addTradeFlags(RecipeDB, 19054, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,53,58)
+	self:addTradeAcquire(RecipeDB, 19054, 3, 10363)
+
+	-- Runic Leather Gauntlets -- 19055
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val8id4val14id5val88id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19055, 270, 15091, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19055, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19055, 7, 2, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Rugged Armor Kit -- 19058
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19058, 230, 15564, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19058, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 19058, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Volcanic Leggings -- 19059
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val204id6val20id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19059, 270, 15054, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19059, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19059, 3, 7035)
+
+	-- Green Dragonscale Leggings -- 19060
+	-- Instance: 1477 - type1category3maxlevel55territory1minlevel50nameThe Temple of Atal'Hakkarid1477
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val10id3val22id5val282id6val11id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19060, 270, 15046, 3, 2108)
+	self:addTradeFlags(RecipeDB, 19060, 5,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19060, 3, 5226)
+
+	-- Living Shoulders -- 19061
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val8id3val13id5val117id6val11id19val31id20val3id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19061, 270, 15061, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19061, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,53,57)
+	self:addTradeAcquire(RecipeDB, 19061, 2, 7852, 2, 7854)
+
+	-- Ironfeather Shoulders -- 19062
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val20id4val8id5val117id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19062, 270, 15067, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19062, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19062, 2, 12958)
+
+	-- Chimeric Boots -- 19063
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val99id6val12id32val12id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19063, 275, 15073, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19063, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19063, 7, 2)
+
+	-- Heavy Scorpid Gauntlets -- 19064
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val12id3val12id5val186id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19064, 275, 15078, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19064, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19064, 3, 7025)
+
+	-- Runic Leather Bracers -- 19065
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val10id4val10id5val63id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19065, 275, 15092, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19065, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19065, 3, 7112, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Frostsaber Boots -- 19066
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val99id6val12id35val12id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19066, 275, 15071, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19066, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19066, 2, 11189)
+
+	-- Stormshroud Pants -- 19067
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats: Tanking,
+	-- Item Stats: val138id6val28id11val28id18val12id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19067, 275, 15057, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19067, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,52,57)
+	self:addTradeAcquire(RecipeDB, 19067, 2, 12942, 2, 12943)
+
+	-- Warbear Harness -- 19068
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val11id1val27id3val158id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19068, 275, 15064, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19068, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19068, 7, 1)
+
+	-- Heavy Scorpid Belt -- 19070
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val12id3val12id5val170id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19070, 280, 15082, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19070, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19070, 7, 2)
+
+	-- Wicked Leather Headband -- 19071
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val16id2val16id3val118id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19071, 280, 15086, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19071, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19071, 3, 7107, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Runic Leather Belt -- 19072
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val14id4val9id5val82id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19072, 280, 15093, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19072, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19072, 7, 2, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Chimeric Leggings -- 19073
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val127id6val16id32val16id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19073, 280, 15072, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19073, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19073, 7, 2)
+
+	-- Frostsaber Leggings -- 19074
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val129id6val17id35val16id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19074, 285, 15069, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19074, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19074, 3, 7440)
+
+	-- Heavy Scorpid Leggings -- 19075
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val12id3val20id5val269id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19075, 285, 15079, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19075, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19075, 3, 7027)
+
+	-- Volcanic Breastplate -- 19076
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val268id6val20id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19076, 285, 15053, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19076, 5,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19076, 3, 9259)
+
+	-- Blue Dragonscale Breastplate -- 19077
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val28id4val8id5val338id6val8id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19077, 285, 15048, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19077, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19077, 2, 12957)
+
+	-- Living Leggings -- 19078
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val8id3val25id5val142id6val9id19val26id20val5id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19078, 285, 15060, 3, 2108)
+	self:addTradeFlags(RecipeDB, 19078, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,53,57)
+	self:addTradeAcquire(RecipeDB, 19078, 3, 7158)
+
+	-- Stormshroud Armor -- 19079
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats: Tanking,
+	-- Item Stats: val163id6val28id11val28id18val12id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19079, 285, 15056, 3, 2108)
+	self:addTradeFlags(RecipeDB, 19079, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,52,57)
+	self:addTradeAcquire(RecipeDB, 19079, 3, 6138)
+
+	-- Warbear Woolies -- 19080
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val28id1val12id3val142id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19080, 285, 15065, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19080, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 19080, 3, 7156, 3, 7158)
+
+	-- Chimeric Vest -- 19081
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val150id6val16id32val17id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19081, 290, 15075, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19081, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19081, 7, 2)
+
+	-- Runic Leather Headband -- 19082
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val20id4val12id5val122id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19082, 290, 15094, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19082, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19082, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Wicked Leather Pants -- 19083
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val20id2val12id3val131id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19083, 290, 15087, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19083, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19083, 7, 2, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Devilsaur Gauntlets -- 19084
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val9id3val103id6val28id9val14id11val28id16val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19084, 290, 15063, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19084, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19084, 2, 12959)
+
+	-- Black Dragonscale Breastplate -- 19085
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val8id3val344id6val50id9val50id16val12id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19085, 290, 15050, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19085, 2,4,5,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19085, 2, 9499)
+
+	-- Ironfeather Breastplate -- 19086
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val12id4val28id5val165id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19086, 290, 15066, 3, 2108)
+	self:addTradeFlags(RecipeDB, 19086, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19086, 3, 2644)
+
+	-- Frostsaber Gloves -- 19087
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val95id6val13id35val12id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19087, 295, 15070, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19087, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19087, 3, 7441)
+
+	-- Heavy Scorpid Helm -- 19088
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val20id3val13id5val258id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19088, 295, 15080, 1, 2108)
+	self:addTradeFlags(RecipeDB, 19088, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19088, 2, 12956)
+
+	-- Blue Dragonscale Shoulders -- 19089
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val21id4val6id5val262id6val6id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19089, 295, 15049, 3, 2108)
+	self:addTradeFlags(RecipeDB, 19089, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19089, 3, 6146)
+
+	-- Stormshroud Shoulders -- 19090
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats: Tanking,
+	-- Item Stats: val12id3val126id6val14id11val14id18val12id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19090, 295, 15058, 3, 2108)
+	self:addTradeFlags(RecipeDB, 19090, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,52,57)
+	self:addTradeAcquire(RecipeDB, 19090, 3, 6144)
+
+	-- Runic Leather Pants -- 19091
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val13id4val20id5val135id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19091, 300, 15095, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19091, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19091, 7, 2, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Wicked Leather Belt -- 19092
+	-- Trainer
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val14id2val13id3val87id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19092, 300, 15088, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19092, 1,2,3,5,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19092, 3, 10406, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Onyxia Scale Cloak -- 19093
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val7id3val43id6val16id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19093, 300, 15138, 3, 2108)
+	self:addTradeFlags(RecipeDB, 19093, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	-- No acquire information
+
+	-- Black Dragonscale Shoulders -- 19094
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val9id3val266id6val40id9val40id16val6id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19094, 300, 15051, 3, 2108)
+	self:addTradeFlags(RecipeDB, 19094, 5,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19094, 3, 8898)
+
+	-- Living Breastplate -- 19095
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val10id3val25id5val169id6val9id19val26id20val5id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19095, 300, 15059, 3, 2108)
+	self:addTradeFlags(RecipeDB, 19095, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,53,57)
+	self:addTradeAcquire(RecipeDB, 19095, 3, 1813)
+
+	-- Devilsaur Leggings -- 19097
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val12id3val148id6val46id9val14id11val46id16val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19097, 300, 15062, 3, 2108)
+	self:addTradeFlags(RecipeDB, 19097, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19097, 3, 6556, 3, 6557, 3, 6559, 3, 9477, 3, 9621)
+
+	-- Wicked Leather Armor -- 19098
+	-- Trainer
+	-- Instance: 2057 - type1category3maxlevel60territory1minlevel58nameScholomanceid2057
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val25id2val7id3val156id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19098, 300, 15085, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19098, 1,2,3,5,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19098, 3, 10499, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Heavy Scorpid Shoulders -- 19100
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val14id3val13id5val245id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19100, 300, 15081, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19100, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19100, 3, 7029)
+
+	-- Volcanic Shoulders -- 19101
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val167id6val18id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19101, 300, 15055, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19101, 5,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19101, 3, 9260)
+
+	-- Runic Leather Armor -- 19102
+	-- Trainer
+	-- Instance: 2057 - type1category3maxlevel60territory1minlevel58nameScholomanceid2057
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val21id4val13id5val158id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19102, 300, 15090, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19102, 1,2,3,5,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19102, 3, 11582, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Runic Leather Shoulders -- 19103
+	-- Trainer
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val15id4val10id5val119id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19103, 300, 15096, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19103, 1,2,3,5,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19103, 3, 10425, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Frostsaber Tunic -- 19104
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val158id6val18id35val18id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19104, 300, 15068, 2, 2108)
+	self:addTradeFlags(RecipeDB, 19104, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 19104, 3, 7438)
+
+	-- Onyxia Scale Breastplate -- 19106
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val15id1val15id2val15id3val14id4val14id5val605id6val14id11val14id18val9id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19106, 300, 15141, 4, 2108)
+	self:addTradeFlags(RecipeDB, 19106, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	-- No acquire information
+
+	-- Black Dragonscale Leggings -- 19107
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val8id3val320id6val54id9val54id16val13id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19107, 300, 15052, 3, 2108)
+	self:addTradeFlags(RecipeDB, 19107, 5,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 19107, 3, 8903)
+
+	-- Medium Leather -- 20648
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20648, 90, 2319, 1, 2108)
+	self:addTradeFlags(RecipeDB, 20648, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 20648, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Heavy Leather -- 20649
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20649, 140, 4234, 1, 2108)
+	self:addTradeFlags(RecipeDB, 20649, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 20649, 1, 1385, 1, 3007, 1, 3365, 1, 3703, 1, 3967, 1, 4212, 1, 4588, 1, 5127, 1, 5564, 1, 8153, 1, 11081, 1, 11084, 1, 11097, 1, 11098, 1, 16688, 1, 16728, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Thick Leather -- 20650
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20650, 195, 4304, 1, 2108)
+	self:addTradeFlags(RecipeDB, 20650, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 20650, 1, 3007, 1, 4212, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Corehound Boots -- 20853
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val13id2val10id3val144id6val24id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20853, 295, 16982, 1, 2108)
+	self:addTradeFlags(RecipeDB, 20853, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 20853, 2, 12944)
+
+	-- Molten Helm -- 20854
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Tanking,
+	-- Item Stats: val16id3val171id6val12id26val29id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20854, 300, 16983, 1, 2108)
+	self:addTradeFlags(RecipeDB, 20854, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,52,57)
+	self:addTradeAcquire(RecipeDB, 20854, 2, 12944)
+
+	-- Black Dragonscale Boots -- 20855
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val10id3val308id6val28id9val28id16val24id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20855, 300, 16984, 1, 2108)
+	self:addTradeFlags(RecipeDB, 20855, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 20855, 2, 12944)
+
+	-- Gloves of the Greatfather -- 21943
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather, Seasonal,
+	-- Item Stats: Healing,
+	-- Item Stats: val66id6val16id19val18id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 21943, 190, 17721, 2, 2108)
+	self:addTradeFlags(RecipeDB, 21943, 7,21,22,23,24,25,26,27,28,29,30,36,40,47,53,57)
+	self:addTradeAcquire(RecipeDB, 21943, 5, 1)
+
+	-- Rugged Leather -- 22331
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22331, 250, 8170, 1, 2108)
+	self:addTradeFlags(RecipeDB, 22331, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 22331, 1, 11097, 1, 11098, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Shadowskin Gloves -- 22711
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val6id3val76id6val14id11val14id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22711, 190, 18238, 1, 2108)
+	self:addTradeFlags(RecipeDB, 22711, 1,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 22711, 2, 2699)
+
+	-- Core Armor Kit -- 22727
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22727, 300, 18251, 3, 2108)
+	self:addTradeFlags(RecipeDB, 22727, 6,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 22727, 3, 11982, 3, 11988, 3, 12056, 3, 12057, 3, 12118, 3, 12259, 3, 12264)
+
+	-- Gordok Ogre Suit -- 22815
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22815, 275, 18258, 2, 2108)
+	self:addTradeFlags(RecipeDB, 22815, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Girdle of Insight -- 22921
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val9id3val23id4val98id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22921, 300, 18504, 3, 2108)
+	self:addTradeFlags(RecipeDB, 22921, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 22921, 3, 14338)
+
+	-- Mongoose Boots -- 22922
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val23id2val9id3val120id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22922, 300, 18506, 3, 2108)
+	self:addTradeFlags(RecipeDB, 22922, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 22922, 3, 14338)
+
+	-- Swift Flight Bracers -- 22923
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val7id3val160id6val41id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22923, 300, 18508, 3, 2108)
+	self:addTradeFlags(RecipeDB, 22923, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 22923, 3, 14338)
+
+	-- Chromatic Cloak -- 22926
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val10id3val55id6val14id22val9id33val9id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22926, 300, 18509, 4, 2108)
+	self:addTradeFlags(RecipeDB, 22926, 5,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 22926, 3, 14338)
+
+	-- Hide of the Wild -- 22927
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats: Healing,
+	-- Item Stats: val8id3val10id4val55id6val14id19val42id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22927, 300, 18510, 4, 2108)
+	self:addTradeFlags(RecipeDB, 22927, 21,22,23,24,25,26,27,28,29,30,36,40,47,53,60)
+	-- No acquire information
+
+	-- Shifting Cloak -- 22928
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats: Tanking,
+	-- Item Stats: val17id2val8id3val55id6val12id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22928, 300, 18511, 4, 2108)
+	self:addTradeFlags(RecipeDB, 22928, 5,21,22,23,24,25,26,27,28,29,30,36,40,47,52,60)
+	self:addTradeAcquire(RecipeDB, 22928, 3, 14338)
+
+	-- Heavy Leather Ball -- 23190
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23190, 140, 18662, 1, 2108)
+	self:addTradeFlags(RecipeDB, 23190, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 23190, 2, 3366, 2, 5128)
+
+	-- Barbaric Bracers -- 23399
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val4id2val6id3val4id5val47id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23399, 155, 18948, 1, 2108)
+	self:addTradeFlags(RecipeDB, 23399, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 23399, 2, 4225, 2, 4589)
+
+	-- Might of the Timbermaw -- 23703
+	-- Timbermaw Hold - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val21id1val9id3val93id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23703, 290, 19044, 1, 2108)
+	self:addTradeFlags(RecipeDB, 23703, 4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,99)
+	self:addTradeAcquire(RecipeDB, 23703, 6, 576, 2, 11557)
+
+	-- Timbermaw Brawlers -- 23704
+	-- Timbermaw Hold - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val23id1val10id3val112id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23704, 300, 19049, 1, 2108)
+	self:addTradeFlags(RecipeDB, 23704, 4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,99)
+	self:addTradeAcquire(RecipeDB, 23704, 6, 576, 3, 11557)
+
+	-- Dawn Treaders -- 23705
+	-- Argent Dawn - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Tanking,
+	-- Item Stats: val18id3val114id6val12id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23705, 290, 19052, 1, 2108)
+	self:addTradeFlags(RecipeDB, 23705, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,57,96)
+	self:addTradeAcquire(RecipeDB, 23705, 6, 529, 2, 10856, 6, 529, 2, 10857, 6, 529, 2, 11536)
+
+	-- Golden Mantle of the Dawn -- 23706
+	-- Argent Dawn - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Tanking,
+	-- Item Stats: val22id3val134id6val12id26
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23706, 300, 19058, 1, 2108)
+	self:addTradeFlags(RecipeDB, 23706, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,57,96)
+	self:addTradeAcquire(RecipeDB, 23706, 6, 529, 3, 10856, 6, 529, 3, 10857, 6, 529, 3, 11536)
+
+	-- Lava Belt -- 23707
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val15id3val238id6val26id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23707, 300, 19149, 1, 2108)
+	self:addTradeFlags(RecipeDB, 23707, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 23707, 2, 12944)
+
+	-- Chromatic Gauntlets -- 23708
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val318id6val44id9val14id11val44id16val14id18val14id22val5id33val5id34val5id35val5id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23708, 300, 19157, 1, 2108)
+	self:addTradeFlags(RecipeDB, 23708, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 23708, 2, 12944)
+
+	-- Corehound Belt -- 23709
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val16id4val135id6val21id19val62id20val12id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23709, 300, 19162, 1, 2108)
+	self:addTradeFlags(RecipeDB, 23709, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,53,57)
+	self:addTradeAcquire(RecipeDB, 23709, 2, 12944)
+
+	-- Molten Belt -- 23710
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val28id2val16id3val135id6val12id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23710, 300, 19163, 1, 2108)
+	self:addTradeFlags(RecipeDB, 23710, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 23710, 2, 12944)
+
+	-- Primal Batskin Jerkin -- 24121
+	-- Zandalar Tribe - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val32id2val6id3val181id6val10id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24121, 300, 19685, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24121, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,100)
+	self:addTradeAcquire(RecipeDB, 24121, 6, 270, 3, 14921)
+
+	-- Primal Batskin Gloves -- 24122
+	-- Zandalar Tribe - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val10id2val9id3val113id6val20id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24122, 300, 19686, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24122, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,100)
+	self:addTradeAcquire(RecipeDB, 24122, 6, 270, 2, 14921)
+
+	-- Primal Batskin Bracers -- 24123
+	-- Zandalar Tribe - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val14id2val7id3val79id6val10id17
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24123, 300, 19687, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24123, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,100)
+	self:addTradeAcquire(RecipeDB, 24123, 6, 270, 1, 14921)
+
+	-- Blood Tiger Breastplate -- 24124
+	-- Zandalar Tribe - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val17id1val17id3val16id4val13id5val181id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24124, 300, 19688, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24124, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,100)
+	self:addTradeAcquire(RecipeDB, 24124, 6, 270, 3, 14921)
+
+	-- Blood Tiger Shoulders -- 24125
+	-- Zandalar Tribe - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val13id1val13id3val12id4val10id5val136id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24125, 300, 19689, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24125, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,100)
+	self:addTradeAcquire(RecipeDB, 24125, 6, 270, 2, 14921)
+
+	-- Blue Dragonscale Leggings -- 24654
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val20id4val19id5val310id6val12id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24654, 300, 20295, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24654, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 24654, 1, 7866, 1, 7867)
+
+	-- Green Dragonscale Gauntlets -- 24655
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val5id3val18id5val208id6val9id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24655, 280, 20296, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24655, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 24655, 1, 7866, 1, 7867)
+
+	-- Dreamscale Breastplate -- 24703
+	-- Cenarion Circle - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val15id2val15id3val14id4val496id6val4id24val30id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24703, 300, 20380, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24703, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,97)
+	self:addTradeAcquire(RecipeDB, 24703, 6, 609, 4, 15293)
+
+	-- Spitfire Bracers -- 24846
+	-- Cenarion Circle - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val9id2val9id4val160id6val8id19val8id20val4id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24846, 300, 20481, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24846, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,58,97)
+	self:addTradeAcquire(RecipeDB, 24846, 6, 609, 1, 15293)
+
+	-- Spitfire Gauntlets -- 24847
+	-- Cenarion Circle - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val12id2val12id4val228id6val11id19val11id20val5id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24847, 300, 20480, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24847, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,58,97)
+	self:addTradeAcquire(RecipeDB, 24847, 6, 609, 2, 15293)
+
+	-- Spitfire Breastplate -- 24848
+	-- Cenarion Circle - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val16id2val16id4val365id6val15id19val15id20val6id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24848, 300, 20479, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24848, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,58,97)
+	self:addTradeAcquire(RecipeDB, 24848, 6, 609, 3, 15293)
+
+	-- Sandstalker Bracers -- 24849
+	-- Cenarion Circle - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val7id3val220id6val15id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24849, 300, 20476, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24849, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,97)
+	self:addTradeAcquire(RecipeDB, 24849, 6, 609, 1, 15293)
+
+	-- Sandstalker Gauntlets -- 24850
+	-- Cenarion Circle - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val9id3val308id6val20id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24850, 300, 20477, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24850, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,97)
+	self:addTradeAcquire(RecipeDB, 24850, 6, 609, 2, 15293)
+
+	-- Sandstalker Breastplate -- 24851
+	-- Cenarion Circle - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val13id3val485id6val25id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24851, 300, 20478, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24851, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,97)
+	self:addTradeAcquire(RecipeDB, 24851, 6, 609, 3, 15293)
+
+	-- Black Whelp Tunic -- 24940
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val5id1val3id2val78id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24940, 100, 20575, 1, 2108)
+	self:addTradeFlags(RecipeDB, 24940, 1,4,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 24940, 2, 777)
+
+	-- Stormshroud Gloves -- 26279
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val99id6val19id11val19id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26279, 300, 21278, 3, 2108)
+	self:addTradeFlags(RecipeDB, 26279, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 26279, 3, 14454, 3, 14457)
+
+	-- Polar Tunic -- 28219
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val18id2val26id3val267id6val40id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28219, 300, 22661, 4, 2108)
+	self:addTradeFlags(RecipeDB, 28219, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Polar Gloves -- 28220
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val18id2val18id3val167id6val30id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28220, 300, 22662, 4, 2108)
+	self:addTradeFlags(RecipeDB, 28220, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Polar Bracers -- 28221
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val12id2val20id3val117id6val20id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28221, 300, 22663, 4, 2108)
+	self:addTradeFlags(RecipeDB, 28221, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Icy Scale Breastplate -- 28222
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val24id3val578id6val40id9val40id16val40id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28222, 300, 22664, 4, 2108)
+	self:addTradeFlags(RecipeDB, 28222, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	-- No acquire information
+
+	-- Icy Scale Gauntlets -- 28223
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val22id3val361id6val22id9val22id16val30id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28223, 300, 22666, 4, 2108)
+	self:addTradeFlags(RecipeDB, 28223, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	-- No acquire information
+
+	-- Icy Scale Bracers -- 28224
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val17id3val253id6val32id9val32id16val20id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28224, 300, 22665, 4, 2108)
+	self:addTradeFlags(RecipeDB, 28224, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	-- No acquire information
+
+	-- Bramblewood Helm -- 28472
+	-- Cenarion Circle - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val20id3val156id6val30id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28472, 300, 22759, 1, 2108)
+	self:addTradeFlags(RecipeDB, 28472, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,97)
+	self:addTradeAcquire(RecipeDB, 28472, 6, 609, 3, 15293)
+
+	-- Bramblewood Boots -- 28473
+	-- Cenarion Circle - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val12id3val132id6val25id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28473, 300, 22760, 1, 2108)
+	self:addTradeFlags(RecipeDB, 28473, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,97)
+	self:addTradeAcquire(RecipeDB, 28473, 6, 609, 2, 15293)
+
+	-- Bramblewood Belt -- 28474
+	-- Cenarion Circle - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val14id3val108id6val15id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28474, 300, 22761, 1, 2108)
+	self:addTradeFlags(RecipeDB, 28474, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,97)
+	self:addTradeAcquire(RecipeDB, 28474, 6, 609, 1, 15293)
+
+	-- Knothide Leather -- 32454
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32454, 290, 21887, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32454, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 32454, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Heavy Knothide Leather -- 32455
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32455, 315, 23793, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32455, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 32455, 2, 16689, 2, 16748, 2, 19196)
+
+	-- Knothide Armor Kit -- 32456
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32456, 280, 25650, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32456, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 32456, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Vindicator's Armor Kit -- 32457
+	-- The Aldor - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32457, 325, 25651, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32457, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,101)
+	self:addTradeAcquire(RecipeDB, 32457, 6, 932, 3, 19321)
+
+	-- Magister's Armor Kit -- 32458
+	-- The Scryers - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32458, 325, 25652, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32458, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,110)
+	self:addTradeAcquire(RecipeDB, 32458, 6, 934, 3, 19331)
+
+	-- Riding Crop -- 32461
+	-- Instance: 2367 - type5category3maxlevel68territory1expansion1minlevel66nameCaverns of Time: Old Hillsbrad Foothillsid2367
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32461, 340, 25653, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32461, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,40,47,63)
+	self:addTradeAcquire(RecipeDB, 32461, 2, 18672)
+
+	-- Felscale Gloves -- 32462
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val19id2val276id6val40id9val40id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32462, 290, 25654, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32462, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 32462, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Felscale Boots -- 32463
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val20id2val333id6val44id9val44id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32463, 300, 25655, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32463, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 32463, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Felscale Pants -- 32464
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val31id2val449id6val60id9val60id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32464, 310, 25656, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32464, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 32464, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Felscale Breastplate -- 32465
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val30id2val558id6val72id9val72id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32465, 325, 25657, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32465, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 32465, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Scaled Draenic Pants -- 32466
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val30id3val386id6val23id19val23id20val8id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32466, 290, 25662, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32466, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,58)
+	self:addTradeAcquire(RecipeDB, 32466, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Scaled Draenic Gloves -- 32467
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val24id3val303id6val20id19val20id20val7id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32467, 300, 25661, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32467, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,58)
+	self:addTradeAcquire(RecipeDB, 32467, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Scaled Draenic Vest -- 32468
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val36id3val528id6val29id19val29id20val10id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32468, 315, 25660, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32468, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,58)
+	self:addTradeAcquire(RecipeDB, 32468, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Scaled Draenic Boots -- 32469
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val30id3val384id6val22id19val22id20val8id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32469, 325, 25659, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32469, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,58)
+	self:addTradeAcquire(RecipeDB, 32469, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Thick Draenic Gloves -- 32470
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val15id2val22id3val127id6val30id9val30id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32470, 290, 25669, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32470, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 32470, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Thick Draenic Pants -- 32471
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val23id2val34id3val197id6val46id9val46id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32471, 305, 25670, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32471, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 32471, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Thick Draenic Boots -- 32472
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val17id2val27id3val159id6val36id9val36id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32472, 310, 25668, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32472, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 32472, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Thick Draenic Vest -- 32473
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val25id2val39id3val243id6val52id9val52id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32473, 320, 25671, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32473, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 32473, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Wild Draenish Boots -- 32478
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val11id1val11id2val18id3val11id4val140id6val13id19val13id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32478, 290, 25673, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32478, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,57)
+	self:addTradeAcquire(RecipeDB, 32478, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Wild Draenish Gloves -- 32479
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val13id1val13id2val18id3val12id4val137id6val14id19val14id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32479, 300, 25674, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32479, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,57)
+	self:addTradeAcquire(RecipeDB, 32479, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Wild Draenish Leggings -- 32480
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val18id1val18id2val27id3val17id4val202id6val21id19val21id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32480, 310, 25675, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32480, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,57)
+	self:addTradeAcquire(RecipeDB, 32480, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Wild Draenish Vest -- 32481
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val19id1val19id2val28id3val19id4val243id6val22id19val22id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32481, 320, 25676, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32481, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,57)
+	self:addTradeAcquire(RecipeDB, 32481, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Comfortable Insoles -- 32482
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32482, 290, 25679, 1, 2108)
+	self:addTradeFlags(RecipeDB, 32482, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 32482, 2, 16689, 2, 16748)
+
+	-- Stylin' Purple Hat -- 32485
+	-- Instance: 3789 - type5category3territory1expansion1minlevel70nameAuchindoun: Shadow Labrynthid3789
+	-- Instance: 3789 - type5category3territory1expansion1minlevel70nameAuchindoun: Shadow Labrynthid3789
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val48id2val45id3val232id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32485, 340, 25680, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32485, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 32485, 3, 18667, 3, 19304)
+
+	-- Stylin' Adventure Hat -- 32487
+	-- Instance: 2367 - type5category3maxlevel68territory1expansion1minlevel66nameCaverns of Time: Old Hillsbrad Foothillsid2367
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val516id6val50id19val50id20val16id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32487, 340, 25681, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32487, 5,11,21,22,23,24,25,26,27,28,29,30,36,41,47,54,58)
+	self:addTradeAcquire(RecipeDB, 32487, 3, 17820)
+
+	-- Stylin' Crimson Hat -- 32488
+	-- Instance: 3791 - type5category3maxlevel69territory1expansion1minlevel67nameAuchindoun: Sethekk Hallsid3791
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val30id4val516id6val96id9val96id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32488, 340, 25683, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32488, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 32488, 3, 18322)
+
+	-- Stylin' Jungle Hat -- 32489
+	-- Instance: 2366 - type5category3territory1expansion1minlevel70nameThe Caverns of Time: The Black Morassid2366
+	-- Instance: 2366 - type5category3territory1expansion1minlevel70nameThe Caverns of Time: The Black Morassid2366
+	-- Instance: 2366 - type5category3territory1expansion1minlevel70nameThe Caverns of Time: The Black Morassid2366
+	-- Instance: 2366 - type5category3territory1expansion1minlevel70nameThe Caverns of Time: The Black Morassid2366
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val24id1val24id2val24id3val24id4val232id6val19id19val19id20val10id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32489, 340, 25682, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32489, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,54,57)
+	self:addTradeAcquire(RecipeDB, 32489, 3, 17839, 3, 21104, 3, 21140, 3, 21148)
+
+	-- Fel Leather Gloves -- 32490
+	-- The Consortium - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val169id6val42id9val24id11val42id16val24id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32490, 330, 25685, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32490, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,105)
+	self:addTradeAcquire(RecipeDB, 32490, 6, 933, 1, 20242, 6, 933, 1, 23007)
+
+	-- Fel Leather Boots -- 32493
+	-- The Consortium - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val196id6val42id9val17id11val42id16val17id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32493, 340, 25686, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32493, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,105)
+	self:addTradeAcquire(RecipeDB, 32493, 6, 933, 2, 20242, 6, 933, 2, 23007)
+
+	-- Fel Leather Leggings -- 32494
+	-- The Consortium - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val249id6val60id9val25id11val60id16val25id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32494, 340, 25687, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32494, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,105)
+	self:addTradeAcquire(RecipeDB, 32494, 6, 933, 3, 20242, 6, 933, 3, 23007)
+
+	-- Heavy Clefthoof Vest -- 32495
+	-- Cenarion Expedition - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Tanking,
+	-- Item Stats: val45id3val500id6val24id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32495, 350, 25689, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32495, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,57,103)
+	self:addTradeAcquire(RecipeDB, 32495, 6, 942, 2, 17904)
+
+	-- Heavy Clefthoof Leggings -- 32496
+	-- Cenarion Expedition - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Tanking,
+	-- Item Stats: val33id3val503id6val29id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32496, 345, 25690, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32496, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,57,103)
+	self:addTradeAcquire(RecipeDB, 32496, 6, 942, 2, 17904)
+
+	-- Heavy Clefthoof Boots -- 32497
+	-- Cenarion Expedition - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Tanking,
+	-- Item Stats: val30id3val394id6val21id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32497, 345, 25691, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32497, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,52,57,103)
+	self:addTradeAcquire(RecipeDB, 32497, 6, 942, 1, 17904)
+
+	-- Felstalker Belt -- 32498
+	-- Thrallmar - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val18id2val17id4val357id6val50id9val50id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32498, 340, 25695, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32498, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,104)
+	self:addTradeAcquire(RecipeDB, 32498, 6, 947, 1, 17585)
+
+	-- Felstalker Bracer -- 32499
+	-- Thrallmar - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val18id2val11id4val283id6val38id9val38id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32499, 350, 25697, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32499, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,104)
+	self:addTradeAcquire(RecipeDB, 32499, 6, 947, 2, 17585)
+
+	-- Felstalker Breastplate -- 32500
+	-- Thrallmar - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val26id2val6id3val26id4val646id6val52id9val52id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32500, 350, 25696, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32500, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,104)
+	self:addTradeAcquire(RecipeDB, 32500, 6, 947, 2, 17585)
+
+	-- Netherfury Belt -- 32501
+	-- The Mag'har - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val27id3val339id6val21id19val21id20val9id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32501, 330, 25694, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32501, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,58,108)
+	self:addTradeAcquire(RecipeDB, 32501, 6, 941, 1, 20241)
+
+	-- Netherfury Leggings -- 32502
+	-- The Mag'har - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val37id3val527id6val29id19val29id20val10id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32502, 330, 25692, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32502, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,58,108)
+	self:addTradeAcquire(RecipeDB, 32502, 6, 941, 2, 20241)
+
+	-- Netherfury Boots -- 32503
+	-- The Mag'har - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val36id3val392id6val21id19val21id20val7id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 32503, 340, 25693, 3, 2108)
+	self:addTradeFlags(RecipeDB, 32503, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,58,108)
+	self:addTradeAcquire(RecipeDB, 32503, 6, 941, 3, 20241)
+
+	-- Shadow Armor Kit -- 35520
+	-- Instance: 3791 - type5category3maxlevel69territory1expansion1minlevel67nameAuchindoun: Sethekk Hallsid3791
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35520, 340, 29483, 2, 2108)
+	self:addTradeFlags(RecipeDB, 35520, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 35520, 3, 18320)
+
+	-- Flame Armor Kit -- 35521
+	-- Instance: 3848 - type5category3territory1expansion1minlevel70nameTempest Keep: The Arcatrazid3848
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35521, 340, 29485, 2, 2108)
+	self:addTradeFlags(RecipeDB, 35521, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 35521, 3, 20898)
+
+	-- Frost Armor Kit -- 35522
+	-- Instance: 3715 - type5category3territory1expansion1minlevel70nameCoilfang Reservoir: The Steamvaultid3715
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35522, 340, 29486, 2, 2108)
+	self:addTradeFlags(RecipeDB, 35522, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 35522, 3, 17797)
+
+	-- Nature Armor Kit -- 35523
+	-- Instance: 3717 - type5category3maxlevel64territory1expansion1minlevel62nameCoilfang Reservoir: The Slave Pensid3717
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35523, 340, 29487, 2, 2108)
+	self:addTradeFlags(RecipeDB, 35523, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 35523, 3, 17941)
+
+	-- Arcane Armor Kit -- 35524
+	-- Instance: 2366 - type5category3territory1expansion1minlevel70nameThe Caverns of Time: The Black Morassid2366
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35524, 340, 29488, 2, 2108)
+	self:addTradeFlags(RecipeDB, 35524, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	self:addTradeAcquire(RecipeDB, 35524, 3, 17879)
+
+	-- Enchanted Felscale Leggings -- 35525
+	-- The Scryers - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val30id3val556id6val8id9val8id16val40id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35525, 340, 29489, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35525, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,110)
+	self:addTradeAcquire(RecipeDB, 35525, 6, 934, 4, 19331)
+
+	-- Enchanted Felscale Gloves -- 35526
+	-- The Scryers - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val27id3val397id6val6id9val6id16val30id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35526, 340, 29490, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35526, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,110)
+	self:addTradeAcquire(RecipeDB, 35526, 6, 934, 2, 19331)
+
+	-- Enchanted Felscale Boots -- 35527
+	-- The Scryers - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val27id3val437id6val6id9val6id16val30id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35527, 340, 29491, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35527, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,110)
+	self:addTradeAcquire(RecipeDB, 35527, 6, 934, 3, 19331)
+
+	-- Flamescale Boots -- 35528
+	-- The Aldor - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val27id3val437id6val6id9val6id16val30id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35528, 340, 29493, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35528, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,101)
+	self:addTradeAcquire(RecipeDB, 35528, 6, 932, 3, 19321)
+
+	-- Flamescale Leggings -- 35529
+	-- The Aldor - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val30id3val556id6val8id9val8id16val40id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35529, 340, 29492, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35529, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,101)
+	self:addTradeAcquire(RecipeDB, 35529, 6, 932, 4, 19321)
+
+	-- Reinforced Mining Bag -- 35530
+	-- The Mag'har - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35530, 325, 29540, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35530, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,108)
+	self:addTradeAcquire(RecipeDB, 35530, 6, 941, 2, 20241)
+
+	-- Flamescale Belt -- 35531
+	-- The Aldor - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val27id3val357id6val8id9val8id16val30id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35531, 340, 29494, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35531, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,58,101)
+	self:addTradeAcquire(RecipeDB, 35531, 6, 932, 2, 19321)
+
+	-- Enchanted Clefthoof Leggings -- 35532
+	-- The Scryers - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val30id3val249id6val8id9val8id16val40id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35532, 340, 29495, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35532, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,110)
+	self:addTradeAcquire(RecipeDB, 35532, 6, 934, 4, 19331)
+
+	-- Enchanted Clefthoof Gloves -- 35533
+	-- The Scryers - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val27id3val178id6val6id9val6id16val30id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35533, 340, 29496, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35533, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,110)
+	self:addTradeAcquire(RecipeDB, 35533, 6, 934, 3, 19331)
+
+	-- Enchanted Clefthoof Boots -- 35534
+	-- The Scryers - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val27id3val196id6val6id9val6id16val30id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35534, 340, 29497, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35534, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,110)
+	self:addTradeAcquire(RecipeDB, 35534, 6, 934, 2, 19331)
+
+	-- Blastguard Pants -- 35535
+	-- The Aldor - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val30id3val249id6val8id9val8id16val40id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35535, 340, 29498, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35535, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,101)
+	self:addTradeAcquire(RecipeDB, 35535, 6, 932, 4, 19321)
+
+	-- Blastguard Boots -- 35536
+	-- The Aldor - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val27id3val196id6val6id9val6id16val30id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35536, 340, 29499, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35536, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,101)
+	self:addTradeAcquire(RecipeDB, 35536, 6, 932, 3, 19321)
+
+	-- Blastguard Belt -- 35537
+	-- The Aldor - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val27id3val160id6val8id9val8id16val30id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35537, 340, 29500, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35537, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,101)
+	self:addTradeAcquire(RecipeDB, 35537, 6, 932, 2, 19321)
+
+	-- Drums of Panic -- 35538
+	-- Keepers of Time - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35538, 355, 29532, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35538, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,106)
+	self:addTradeAcquire(RecipeDB, 35538, 6, 989, 2, 21643)
+
+	-- Drums of Restoration -- 35539
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35539, 335, 29531, 2, 2108)
+	self:addTradeFlags(RecipeDB, 35539, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 35539, 7, 2)
+
+	-- Drums of War -- 35540
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35540, 325, 29528, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35540, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 35540, 1, 18754, 1, 18771, 1, 19187, 1, 21087)
+
+	-- Drums of Battle -- 35543
+	-- The Sha'tar - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35543, 350, 29529, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35543, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,111)
+	self:addTradeAcquire(RecipeDB, 35543, 6, 935, 2, 21432)
+
+	-- Drums of Speed -- 35544
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35544, 330, 29530, 2, 2108)
+	self:addTradeFlags(RecipeDB, 35544, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 35544, 7, 2)
+
+	-- Cobrahide Leg Armor -- 35549
+	-- Honor Hold - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35549, 315, 29533, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35549, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,104)
+	self:addTradeAcquire(RecipeDB, 35549, 6, 946, 2, 17657)
+
+	-- Nethercobra Leg Armor -- 35554
+	-- Honor Hold - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35554, 345, 29535, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35554, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,104)
+	self:addTradeAcquire(RecipeDB, 35554, 6, 946, 4, 17657)
+
+	-- Clefthide Leg Armor -- 35555
+	-- Cenarion Expedition - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35555, 315, 29534, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35555, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,103)
+	self:addTradeAcquire(RecipeDB, 35555, 6, 942, 2, 17904)
+
+	-- Nethercleft Leg Armor -- 35557
+	-- Cenarion Expedition - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35557, 345, 29536, 1, 2108)
+	self:addTradeFlags(RecipeDB, 35557, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,103)
+	self:addTradeAcquire(RecipeDB, 35557, 6, 942, 4, 17904)
+
+	-- Cobrascale Hood -- 35558
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val37id2val42id3val271id6val74id9val74id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35558, 355, 29502, 4, 2108)
+	self:addTradeFlags(RecipeDB, 35558, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 35558, 7, 4)
+
+	-- Cobrascale Gloves -- 35559
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val33id3val208id6val50id9val25id11val50id16val25id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35559, 355, 29503, 4, 2108)
+	self:addTradeFlags(RecipeDB, 35559, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 35559, 7, 4)
+
+	-- Windscale Hood -- 35560
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val16id3val18id4val271id6val44id19val44id20val37id22val10id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35560, 355, 29504, 4, 2108)
+	self:addTradeFlags(RecipeDB, 35560, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,57)
+	self:addTradeAcquire(RecipeDB, 35560, 7, 4)
+
+	-- Hood of Primal Life -- 35561
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val34id3val37id4val31id5val271id6val23id19val68id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35561, 355, 29505, 4, 2108)
+	self:addTradeFlags(RecipeDB, 35561, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,53,57)
+	self:addTradeAcquire(RecipeDB, 35561, 7, 4)
+
+	-- Gloves of the Living Touch -- 35562
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val16id3val18id4val22id5val208id6val26id19val77id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35562, 355, 29506, 4, 2108)
+	self:addTradeFlags(RecipeDB, 35562, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,53,57)
+	self:addTradeAcquire(RecipeDB, 35562, 7, 4)
+
+	-- Windslayer Wraps -- 35563
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val36id1val18id2val25id3val208id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35563, 355, 29507, 4, 2108)
+	self:addTradeFlags(RecipeDB, 35563, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,57)
+	self:addTradeAcquire(RecipeDB, 35563, 7, 4)
+
+	-- Living Dragonscale Helm -- 35564
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats: Healing,
+	-- Item Stats: val19id3val31id4val604id6val27id19val81id20val14id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35564, 355, 29508, 4, 2108)
+	self:addTradeFlags(RecipeDB, 35564, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,53,58)
+	self:addTradeAcquire(RecipeDB, 35564, 7, 4)
+
+	-- Earthen Netherscale Boots -- 35567
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val28id1val27id3val18id4val511id6val10id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35567, 355, 29512, 4, 2108)
+	self:addTradeFlags(RecipeDB, 35567, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 35567, 7, 4)
+
+	-- Windstrike Gloves -- 35568
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val36id1val18id2val25id3val465id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35568, 355, 29509, 4, 2108)
+	self:addTradeFlags(RecipeDB, 35568, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 35568, 7, 4)
+
+	-- Netherdrake Helm -- 35572
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val16id3val26id4val604id6val64id9val31id11val64id16val31id18val12id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35572, 355, 29510, 4, 2108)
+	self:addTradeFlags(RecipeDB, 35572, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 35572, 7, 4)
+
+	-- Netherdrake Gloves -- 35573
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val26id2val24id3val23id4val465id6val50id9val50id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35573, 355, 29511, 4, 2108)
+	self:addTradeFlags(RecipeDB, 35573, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 35573, 7, 4)
+
+	-- Thick Netherscale Breastplate -- 35574
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val36id2val36id3val25id4val744id6val76id9val76id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35574, 355, 29514, 4, 2108)
+	self:addTradeFlags(RecipeDB, 35574, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,58)
+	self:addTradeAcquire(RecipeDB, 35574, 7, 4)
+
+	-- Ebon Netherscale Breastplate -- 35575
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val25id3val23id4val846id6val80id9val31id11val80id16val31id18val8id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10656
+	self:addTradeSkill(RecipeDB, 35575, 365, 29515, 1, 2108, 10656)
+	self:addTradeFlags(RecipeDB, 35575, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 35575, 1, 7866, 1, 7867)
+
+	-- Ebon Netherscale Belt -- 35576
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val21id3val14id4val457id6val48id9val22id11val48id16val22id18val8id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10656
+	self:addTradeSkill(RecipeDB, 35576, 365, 29516, 1, 2108, 10656)
+	self:addTradeFlags(RecipeDB, 35576, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 35576, 1, 7866, 1, 7867)
+
+	-- Ebon Netherscale Bracers -- 35577
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val2id2val25id3val8id4val325id6val38id9val17id11val38id16val17id18val5id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10656
+	self:addTradeSkill(RecipeDB, 35577, 365, 29517, 1, 2108, 10656)
+	self:addTradeFlags(RecipeDB, 35577, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 35577, 1, 7866, 1, 7867)
+
+	-- Netherstrike Breastplate -- 35580
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val34id3val23id4val846id6val42id19val42id20val32id22val8id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10656
+	self:addTradeSkill(RecipeDB, 35580, 365, 29519, 1, 2108, 10656)
+	self:addTradeFlags(RecipeDB, 35580, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,54,58)
+	self:addTradeAcquire(RecipeDB, 35580, 1, 7866, 1, 7867)
+
+	-- Netherstrike Belt -- 35582
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val10id3val17id4val457id6val30id19val30id20val16id22val9id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10656
+	self:addTradeSkill(RecipeDB, 35582, 365, 29520, 1, 2108, 10656)
+	self:addTradeFlags(RecipeDB, 35582, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,54,58)
+	self:addTradeAcquire(RecipeDB, 35582, 1, 7866, 1, 7867)
+
+	-- Netherstrike Bracers -- 35584
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val13id3val13id4val355id6val22id19val22id20val17id22val6id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10656
+	self:addTradeSkill(RecipeDB, 35584, 365, 29521, 1, 2108, 10656)
+	self:addTradeFlags(RecipeDB, 35584, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,54,58)
+	self:addTradeAcquire(RecipeDB, 35584, 1, 7866, 1, 7867)
+
+	-- Windhawk Hauberk -- 35585
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val28id3val29id4val29id5val379id6val51id19val79id20val19id22
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10660
+	self:addTradeSkill(RecipeDB, 35585, 365, 29522, 1, 2108, 10660)
+	self:addTradeFlags(RecipeDB, 35585, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,53,57)
+	self:addTradeAcquire(RecipeDB, 35585, 1, 7870, 1, 7871)
+
+	-- Windhawk Belt -- 35587
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val17id3val19id4val20id5val205id6val41id19val69id20val12id22
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10660
+	self:addTradeSkill(RecipeDB, 35587, 365, 29524, 1, 2108, 10660)
+	self:addTradeFlags(RecipeDB, 35587, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,53,57)
+	self:addTradeAcquire(RecipeDB, 35587, 1, 7870, 1, 7871)
+
+	-- Windhawk Bracers -- 35588
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val22id3val17id4val7id5val159id6val27id19val47id20val16id22
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10660
+	self:addTradeSkill(RecipeDB, 35588, 365, 29523, 1, 2108, 10660)
+	self:addTradeFlags(RecipeDB, 35588, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,53,57)
+	self:addTradeAcquire(RecipeDB, 35588, 1, 7870, 1, 7871)
+
+	-- Primalstrike Vest -- 35589
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val38id2val39id3val379id6val108id9val108id16
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10658
+	self:addTradeSkill(RecipeDB, 35589, 365, 29525, 1, 2108, 10658)
+	self:addTradeFlags(RecipeDB, 35589, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,57)
+	self:addTradeAcquire(RecipeDB, 35589, 1, 7868, 1, 7869)
+
+	-- Primalstrike Belt -- 35590
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val20id2val32id3val205id6val84id9val84id16
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10658
+	self:addTradeSkill(RecipeDB, 35590, 365, 29526, 1, 2108, 10658)
+	self:addTradeFlags(RecipeDB, 35590, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,57)
+	self:addTradeAcquire(RecipeDB, 35590, 1, 7868, 1, 7869)
+
+	-- Primalstrike Bracers -- 35591
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val15id2val21id3val159id6val64id9val64id16
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10658
+	self:addTradeSkill(RecipeDB, 35591, 365, 29527, 1, 2108, 10658)
+	self:addTradeFlags(RecipeDB, 35591, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,57)
+	self:addTradeAcquire(RecipeDB, 35591, 1, 7868, 1, 7869)
+
+	-- Blackstorm Leggings -- 36074
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val13id2val20id3val132id6val32id9val32id16
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10658
+	self:addTradeSkill(RecipeDB, 36074, 260, 29964, 1, 2108, 10658)
+	self:addTradeFlags(RecipeDB, 36074, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,57)
+	self:addTradeAcquire(RecipeDB, 36074, 1, 7868, 1, 7869)
+
+	-- Wildfeather Leggings -- 36075
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val16id3val11id4val12id5val132id6val23id19val40id20
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10660
+	self:addTradeSkill(RecipeDB, 36075, 260, 29970, 1, 2108, 10660)
+	self:addTradeFlags(RecipeDB, 36075, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,53,57)
+	self:addTradeAcquire(RecipeDB, 36075, 1, 7870, 1, 7871)
+
+	-- Dragonstrike Leggings -- 36076
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val18id3val11id4val272id6val24id9val12id11val24id16val12id18val4id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10656
+	self:addTradeSkill(RecipeDB, 36076, 260, 29971, 1, 2108, 10656)
+	self:addTradeFlags(RecipeDB, 36076, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 36076, 1, 7866, 1, 7867)
+
+	-- Primalstorm Breastplate -- 36077
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val30id2val27id3val255id6val60id9val60id16
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10658
+	self:addTradeSkill(RecipeDB, 36077, 330, 29973, 1, 2108, 10658)
+	self:addTradeFlags(RecipeDB, 36077, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,57)
+	self:addTradeAcquire(RecipeDB, 36077, 1, 7868, 1, 7869)
+
+	-- Living Crystal Breastplate -- 36078
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val25id3val23id4val17id5val255id6val48id19val84id20
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10660
+	self:addTradeSkill(RecipeDB, 36078, 330, 29974, 1, 2108, 10660)
+	self:addTradeFlags(RecipeDB, 36078, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,53,57)
+	self:addTradeAcquire(RecipeDB, 36078, 1, 7870, 1, 7871)
+
+	-- Golden Dragonstrike Breastplate -- 36079
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val25id3val17id4val570id6val50id9val25id11val50id16val25id18val9id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 10656
+	self:addTradeSkill(RecipeDB, 36079, 330, 29975, 1, 2108, 10656)
+	self:addTradeFlags(RecipeDB, 36079, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 36079, 1, 7866, 1, 7867)
+
+	-- Belt of Natural Power -- 36349
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val29id1val20id2val38id3val12id4val423id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36349, 365, 30042, 4, 2108)
+	self:addTradeFlags(RecipeDB, 36349, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 36349, 7, 4)
+
+	-- Belt of Deep Shadow -- 36351
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val32id2val14id3val227id6val66id9val66id16
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36351, 365, 30040, 4, 2108)
+	self:addTradeFlags(RecipeDB, 36351, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 36351, 7, 4)
+
+	-- Belt of the Black Eagle -- 36352
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val17id2val20id3val23id4val506id6val66id9val17id11val66id16val17id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36352, 365, 30046, 4, 2108)
+	self:addTradeFlags(RecipeDB, 36352, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 36352, 7, 4)
+
+	-- Monsoon Belt -- 36353
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val23id3val24id4val506id6val43id19val43id20val21id21
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36353, 365, 30044, 4, 2108)
+	self:addTradeFlags(RecipeDB, 36353, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,54,58)
+	self:addTradeAcquire(RecipeDB, 36353, 7, 4)
+
+	-- Boots of Natural Grace -- 36355
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val33id1val26id2val37id3val13id4val474id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36355, 365, 30041, 4, 2108)
+	self:addTradeFlags(RecipeDB, 36355, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,57)
+	self:addTradeAcquire(RecipeDB, 36355, 7, 4)
+
+	-- Boots of Utter Darkness -- 36357
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val34id3val278id6val66id9val32id11val66id16val32id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36357, 365, 30039, 4, 2108)
+	self:addTradeFlags(RecipeDB, 36357, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,57)
+	self:addTradeAcquire(RecipeDB, 36357, 7, 4)
+
+	-- Boots of the Crimson Hawk -- 36358
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val28id2val28id3val27id4val619id6val58id9val19id11val58id16val19id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36358, 365, 30045, 4, 2108)
+	self:addTradeFlags(RecipeDB, 36358, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 36358, 7, 4)
+
+	-- Hurricane Boots -- 36359
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val25id3val26id4val619id6val39id19val39id20val26id22val6id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36359, 365, 30043, 4, 2108)
+	self:addTradeFlags(RecipeDB, 36359, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,54,58)
+	self:addTradeAcquire(RecipeDB, 36359, 7, 4)
+
+	-- Boots of Shackled Souls -- 39997
+	-- Ashtongue Deathsworn - Friendly
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val40id3val628id6val54id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 39997, 365, 32398, 1, 2108)
+	self:addTradeFlags(RecipeDB, 39997, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,58,102)
+	self:addTradeAcquire(RecipeDB, 39997, 6, 1012, 1, 23159)
+
+	-- Bracers of Shackled Souls -- 40000
+	-- Ashtongue Deathsworn - Friendly
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val30id3val400id6val40id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40000, 365, 32399, 1, 2108)
+	self:addTradeFlags(RecipeDB, 40000, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,58,102)
+	self:addTradeAcquire(RecipeDB, 40000, 6, 1012, 1, 23159)
+
+	-- Greaves of Shackled Souls -- 40001
+	-- Ashtongue Deathsworn - Honored
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val54id3val799id6val72id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40001, 365, 32400, 1, 2108)
+	self:addTradeFlags(RecipeDB, 40001, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,58,102)
+	self:addTradeAcquire(RecipeDB, 40001, 6, 1012, 2, 23159)
+
+	-- Waistguard of Shackled Souls -- 40002
+	-- Ashtongue Deathsworn - Honored
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val40id3val514id6val54id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40002, 365, 32397, 1, 2108)
+	self:addTradeFlags(RecipeDB, 40002, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,58,102)
+	self:addTradeAcquire(RecipeDB, 40002, 6, 1012, 2, 23159)
+
+	-- Redeemed Soul Moccasins -- 40003
+	-- Ashtongue Deathsworn - Honored
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val40id3val282id6val54id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40003, 365, 32394, 1, 2108)
+	self:addTradeFlags(RecipeDB, 40003, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,57,102)
+	self:addTradeAcquire(RecipeDB, 40003, 6, 1012, 2, 23159)
+
+	-- Redeemed Soul Wristguards -- 40004
+	-- Ashtongue Deathsworn - Honored
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val30id3val179id6val40id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40004, 365, 32395, 1, 2108)
+	self:addTradeFlags(RecipeDB, 40004, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,57,102)
+	self:addTradeAcquire(RecipeDB, 40004, 6, 1012, 2, 23159)
+
+	-- Redeemed Soul Legguards -- 40005
+	-- Ashtongue Deathsworn - Friendly
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val54id3val359id6val72id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40005, 365, 32396, 1, 2108)
+	self:addTradeFlags(RecipeDB, 40005, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,57,102)
+	self:addTradeAcquire(RecipeDB, 40005, 6, 1012, 1, 23159)
+
+	-- Redeemed Soul Cinch -- 40006
+	-- Ashtongue Deathsworn - Friendly
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val40id3val231id6val54id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40006, 365, 32393, 1, 2108)
+	self:addTradeFlags(RecipeDB, 40006, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,57,102)
+	self:addTradeAcquire(RecipeDB, 40006, 6, 1012, 1, 23159)
+
+	-- Bracers of Renewed Life -- 41156
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val26id3val20id4val194id6val22id19val64id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41156, 365, 32582, 4, 2108)
+	self:addTradeFlags(RecipeDB, 41156, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,53,57)
+	self:addTradeAcquire(RecipeDB, 41156, 7, 4)
+
+	-- Shoulderpads of Renewed Life -- 41157
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val34id3val29id4val333id6val27id19val81id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41157, 365, 32583, 4, 2108)
+	self:addTradeFlags(RecipeDB, 41157, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,53,57)
+	self:addTradeAcquire(RecipeDB, 41157, 7, 4)
+
+	-- Swiftstrike Bracers -- 41158
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val20id2val34id3val194id6val50id9val50id16val27id30
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41158, 365, 32580, 4, 2108)
+	self:addTradeFlags(RecipeDB, 41158, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 41158, 7, 4)
+
+	-- Swiftstrike Shoulders -- 41160
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val29id2val34id3val333id6val74id9val74id16val38id30
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41160, 365, 32581, 4, 2108)
+	self:addTradeFlags(RecipeDB, 41160, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,57)
+	self:addTradeAcquire(RecipeDB, 41160, 7, 4)
+
+	-- Bindings of Lightning Reflexes -- 41161
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val21id2val15id3val16id4val432id6val56id9val56id16val27id30
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41161, 365, 32574, 4, 2108)
+	self:addTradeFlags(RecipeDB, 41161, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 41161, 7, 4)
+
+	-- Shoulders of Lightning Reflexes -- 41162
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val27id2val19id3val21id4val741id6val74id9val74id16val37id30
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41162, 365, 32575, 4, 2108)
+	self:addTradeFlags(RecipeDB, 41162, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 41162, 7, 4)
+
+	-- Living Earth Bindings -- 41163
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Healing,
+	-- Item Stats: val27id3val20id4val432id6val22id19val64id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41163, 365, 32577, 4, 2108)
+	self:addTradeFlags(RecipeDB, 41163, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,53,58)
+	self:addTradeAcquire(RecipeDB, 41163, 7, 4)
+
+	-- Living Earth Shoulders -- 41164
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats: Healing,
+	-- Item Stats: val32id3val28id4val741id6val29id19val86id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41164, 365, 32579, 4, 2108)
+	self:addTradeFlags(RecipeDB, 41164, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,53,58)
+	self:addTradeAcquire(RecipeDB, 41164, 7, 4)
+
+	-- Cloak of Darkness -- 42546
+	-- The Violet Eye - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val23id1val25id3val101id6val24id11
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42546, 350, 33122, 3, 2108)
+	self:addTradeFlags(RecipeDB, 42546, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,60,114)
+	self:addTradeAcquire(RecipeDB, 42546, 6, 967, 4, 18255)
+
+	-- Shadowprowler's Chestguard -- 42731
+	-- The Violet Eye - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val32id1val40id2val12id3val333id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 42731, 355, 33204, 4, 2108)
+	self:addTradeFlags(RecipeDB, 42731, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,57,114)
+	self:addTradeAcquire(RecipeDB, 42731, 6, 967, 3, 18255)
+
+	-- Knothide Ammo Pouch -- 44343
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44343, 305, 34099, 2, 2108)
+	self:addTradeFlags(RecipeDB, 44343, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Knothide Quiver -- 44344
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44344, 305, 34100, 2, 2108)
+	self:addTradeFlags(RecipeDB, 44344, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Quiver of a Thousand Feathers -- 44359
+	-- Lower City - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44359, 340, 34105, 1, 2108)
+	self:addTradeFlags(RecipeDB, 44359, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,107)
+	self:addTradeAcquire(RecipeDB, 44359, 6, 1011, 3, 21655)
+
+	-- Netherscale Ammo Pouch -- 44768
+	-- Thrallmar - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44768, 340, 34106, 1, 2108)
+	self:addTradeFlags(RecipeDB, 44768, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,63,104)
+	self:addTradeAcquire(RecipeDB, 44768, 6, 947, 3, 17585)
+
+	-- Glove Reinforcements -- 44770
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44770, 345, 34207, 2, 2108)
+	self:addTradeFlags(RecipeDB, 44770, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Winter Boots -- 44953
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth, Seasonal,
+	-- Item Stats:
+	-- Item Stats: val2id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44953, 285, 34086, 2, 2108)
+	self:addTradeFlags(RecipeDB, 44953, 3,7,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 44953, 5, 1)
+
+	-- Heavy Knothide Armor Kit -- 44970
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44970, 345, 34330, 1, 2108)
+	self:addTradeFlags(RecipeDB, 44970, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Leatherworker's Satchel -- 45100
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 45100, 290, 34482, 2, 2108)
+	self:addTradeFlags(RecipeDB, 45100, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Bag of Many Hides -- 45117
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 45117, 350, 34490, 2, 2108)
+	self:addTradeFlags(RecipeDB, 45117, 11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 45117, 3, 22143, 3, 22144, 3, 22148, 3, 23022)
+
+	-- Leather Gauntlets of the Sun -- 46132
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val25id3val26id4val30id5val312id6val28id19val84id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46132, 340, 34372, 4, 2108)
+	self:addTradeFlags(RecipeDB, 46132, 6,11,21,22,23,24,25,26,27,28,29,30,36,41,47,53,57)
+	self:addTradeAcquire(RecipeDB, 46132, 3, 25369, 3, 25507)
+
+	-- Fletcher's Gloves of the Phoenix -- 46133
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val30id2val33id3val25id4val694id6val82id9val82id16val34id30
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46133, 340, 34374, 4, 2108)
+	self:addTradeFlags(RecipeDB, 46133, 6,21,22,23,24,25,26,27,28,29,30,36,41,47,58)
+	self:addTradeAcquire(RecipeDB, 46133, 3, 25371)
+
+	-- Gloves of Immortal Dusk -- 46134
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val30id2val33id3val312id6val90id9val30id11val90id16val30id18val154id41
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46134, 340, 34370, 4, 2108)
+	self:addTradeFlags(RecipeDB, 46134, 6,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	self:addTradeAcquire(RecipeDB, 46134, 3, 25368, 3, 25369)
+
+	-- Sun-Drenched Scale Gloves -- 46135
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Mail,
+	-- Item Stats: Healing,
+	-- Item Stats: val45id3val36id4val694id6val28id19val84id20val1id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46135, 340, 34376, 4, 2108)
+	self:addTradeFlags(RecipeDB, 46135, 6,21,22,23,24,25,26,27,28,29,30,36,41,47,53,58)
+	self:addTradeAcquire(RecipeDB, 46135, 3, 25369, 3, 25370, 3, 25371)
+
+	-- Leather Chestguard of the Sun -- 46136
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats: Healing,
+	-- Item Stats: val48id3val41id4val33id5val499id6val45id19val134id20val15id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46136, 340, 34371, 4, 2108)
+	self:addTradeFlags(RecipeDB, 46136, 6,11,21,22,23,24,25,26,27,28,29,30,37,41,47,53,57)
+	self:addTradeAcquire(RecipeDB, 46136, 3, 25507)
+
+	-- Embrace of the Phoenix -- 46137
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats:
+	-- Item Stats: val44id2val43id3val30id4val1110id6val112id9val112id16val44id30
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46137, 340, 34373, 4, 2108)
+	self:addTradeFlags(RecipeDB, 46137, 6,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
+	self:addTradeAcquire(RecipeDB, 46137, 3, 25367, 3, 25370)
+
+	-- Carapace of Sun and Shadow -- 46138
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val42id2val45id3val499id6val128id9val128id16val38id30
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46138, 340, 34369, 4, 2108)
+	self:addTradeFlags(RecipeDB, 46138, 6,21,22,23,24,25,26,27,28,29,30,37,41,47,57)
+	self:addTradeAcquire(RecipeDB, 46138, 3, 25369)
+
+	-- Sun-Drenched Scale Chestguard -- 46139
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Mail,
+	-- Item Stats: Healing,
+	-- Item Stats: val48id3val41id4val1110id6val45id19val134id20val12id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46139, 340, 34375, 4, 2108)
+	self:addTradeFlags(RecipeDB, 46139, 6,11,21,22,23,24,25,26,27,28,29,30,37,41,47,53,58)
+	self:addTradeAcquire(RecipeDB, 46139, 3, 25367, 3, 25507)
+
+	-- Borean Leather -- 50935
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50935, 275, 33568, 1, 2108)
+	--self:addTradeFlags(RecipeDB, 50935, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Heavy Borean Leather -- 50936
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50936, 325, 38425, 1, 2108)
+	--self:addTradeFlags(RecipeDB, 50936, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Arctic Chestpiece -- 50944
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val30id2val33id3val326id6val106id9val106id16
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50944, 340, 38400, 2, 2108)
+	--self:addTradeFlags(RecipeDB, 50944, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Arctic Leggings -- 50945
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val18id3val156id6val100id9val50id11val100id16val50id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50945, 350, 38401, 2, 2108)
+	--self:addTradeFlags(RecipeDB, 50945, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	-- No acquire information
+
+	-- Arctic Shoulderpads -- 50946
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val30id3val258id6val98id9val98id16
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50946, 360, 38402, 2, 2108)
+	--self:addTradeFlags(RecipeDB, 50946, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Arctic Gloves -- 50947
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val27id3val209id6val43id11val43id18
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50947, 350, 38403, 2, 2108)
+	--self:addTradeFlags(RecipeDB, 50947, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Arctic Boots -- 50948
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val41id2val26id3val218id6val46id9val46id16
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50948, 340, 38404, 2, 2108)
+	--self:addTradeFlags(RecipeDB, 50948, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Arctic Belt -- 50949
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val38id2val32id3val92id6val32id9val32id16
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50949, 360, 38405, 2, 2108)
+	--self:addTradeFlags(RecipeDB, 50949, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	-- No acquire information
+
+	-- Borean Armor Kit -- 50962
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50962, 345, 38375, 1, 2108)
+	--self:addTradeFlags(RecipeDB, 50962, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Heavy Borean Armor Kit -- 50963
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 50963, 365, 38376, 2, 2108)
+	--self:addTradeFlags(RecipeDB, 50963, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
+	-- No acquire information
+
+	-- Verdant Tundra Belt -- 53686
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val34id3val29id4val195id6
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53686, 355, 39710, 2, 2108)
+	--self:addTradeFlags(RecipeDB, 53686, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Verdant Tundra Cap -- 53687
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val51id3val43id4val288id6
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53687, 355, 39707, 2, 2108)
+	--self:addTradeFlags(RecipeDB, 53687, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Verdant Tundra Boots -- 53688
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val45id3val23id4val238id6
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53688, 355, 39709, 2, 2108)
+	--self:addTradeFlags(RecipeDB, 53688, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Verdant Tundra Bracers -- 53689
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val15id4val20id5val151id6
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53689, 355, 39711, 2, 2108)
+	--self:addTradeFlags(RecipeDB, 53689, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	-- Verdant Tundra Shoulderpads -- 53690
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Leather,
+	-- Item Stats:
+	-- Item Stats: val26id4val33id5val266id6
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53690, 355, 39708, 2, 2108)
+	--self:addTradeFlags(RecipeDB, 53690, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,57)
+	-- No acquire information
+
+	return recipecount

 end
diff --git a/RecipeDB/ARL-Mob.lua b/RecipeDB/ARL-Mob.lua
new file mode 100644
index 0000000..e042290
--- /dev/null
+++ b/RecipeDB/ARL-Mob.lua
@@ -0,0 +1,483 @@
+--[[
+
+************************************************************************
+
+ARL-Mob.lua
+
+Monster data for all of Ackis Recipe List
+
+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+
+444 found from data mining.  0 ignored.
+
+************************************************************************
+
+$Date$
+$Rev$
+
+************************************************************************
+
+Format:
+
+	self:addLookupList(MobDB, NPC ID, NPC Name, NPC Location, X Coord, Y Coord, Faction)
+
+************************************************************************
+
+]]--
+
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+local BFAC				= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
+local BZONE				= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
+
+function addon:InitMob(MobDB)
+
+	self:addLookupList(MobDB, 157, L["Goretusk"], BZONE["Westfall"], 42.94, 51.86)
+	self:addLookupList(MobDB, 450, L["Defias Renegade Mage"], BZONE["Westfall"], 41.32, 76.82)
+	self:addLookupList(MobDB, 590, L["Defias Looter"], BZONE["Westfall"], 38.52, 55.94)
+	self:addLookupList(MobDB, 657, L["Defias Pirate"], BZONE["The Deadmines"], 0, 0)
+	self:addLookupList(MobDB, 674, L["Venture Co. Strip Miner"], BZONE["Stranglethorn Vale"], 40.60, 43.83)
+	self:addLookupList(MobDB, 682, L["Stranglethorn Tiger"], BZONE["Stranglethorn Vale"], 38.46, 16.40)
+	self:addLookupList(MobDB, 764, L["Swampwalker"], BZONE["Swamp of Sorrows"], 35.05, 37.83)
+	self:addLookupList(MobDB, 765, L["Swampwalker Elder"], BZONE["Swamp of Sorrows"], 11.76, 34.50)
+	self:addLookupList(MobDB, 766, L["Tangled Horror"], BZONE["Swamp of Sorrows"], 56.35, 44.62)
+	self:addLookupList(MobDB, 780, L["Skullsplitter Mystic"], BZONE["Stranglethorn Vale"], 45.82, 38.37)
+	self:addLookupList(MobDB, 910, L["Defias Enchanter"], BZONE["Duskwood"], 36.27, 73.51)
+	self:addLookupList(MobDB, 938, L["Kurzen Commando"], BZONE["Stranglethorn Vale"], 48.39, 27.65)
+	self:addLookupList(MobDB, 1051, L["Dark Iron Dwarf"], BZONE["Wetlands"], 55.92, 24.39)
+	self:addLookupList(MobDB, 1052, L["Dark Iron Saboteur"], BZONE["Wetlands"], 56.10, 25.31)
+	self:addLookupList(MobDB, 1053, L["Dark Iron Tunneler"], BZONE["Wetlands"], 55.64, 24.42)
+	self:addLookupList(MobDB, 1054, L["Dark Iron Demolitionist"], BZONE["Wetlands"], 57.97, 26.79)
+	self:addLookupList(MobDB, 1081, L["Mire Lord"], BZONE["Swamp of Sorrows"], 7.7, 31.60)
+	self:addLookupList(MobDB, 1096, L["Venture Co. Geologist"], BZONE["Stranglethorn Vale"], 43.39, 24.03)
+	self:addLookupList(MobDB, 1142, L["Mosh'Ogg Brute"], BZONE["Stranglethorn Vale"], 37.41, 33.74)
+	self:addLookupList(MobDB, 1160, L["Captain Halyndor"], BZONE["Wetlands"], 15.04, 24.59)
+	self:addLookupList(MobDB, 1364, L["Balgaras the Foul"], BZONE["Wetlands"], 57.59, 26.60)
+	self:addLookupList(MobDB, 1561, L["Bloodsail Raider"], BZONE["Stranglethorn Vale"], 31.36, 72.19)
+	self:addLookupList(MobDB, 1732, L["Defias Squallshaper"], BZONE["The Deadmines"], 0, 0)
+	self:addLookupList(MobDB, 1783, L["Skeletal Flayer"], BZONE["Western Plaguelands"], 45.53, 58.90)
+	self:addLookupList(MobDB, 1791, L["Slavering Ghoul"], BZONE["Western Plaguelands"], 46.52, 62.37)
+	self:addLookupList(MobDB, 1812, L["Rotting Behemoth"], BZONE["Western Plaguelands"], 64.42, 38.37)
+	self:addLookupList(MobDB, 1813, L["Decaying Horror"], BZONE["Western Plaguelands"], 63.17, 35.11)
+	self:addLookupList(MobDB, 1844, L["Foreman Marcrid"], BZONE["Western Plaguelands"], 45.78, 33.87)
+	self:addLookupList(MobDB, 1853, L["Darkmaster Gandling"], BZONE["Scholomance"], 0, 0)
+	self:addLookupList(MobDB, 1885, L["Scarlet Smith"], BZONE["Western Plaguelands"], 44.96, 13.91)
+	self:addLookupList(MobDB, 1964, L["Treant"], BZONE["Ironforge"], 31.35, 68.54)
+	self:addLookupList(MobDB, 2242, L["Syndicate Spy"], BZONE["Alterac Mountains"], 56.02, 51.44)
+	self:addLookupList(MobDB, 2246, L["Syndicate Assassin"], BZONE["Alterac Mountains"], 41.00, 23.22)
+	self:addLookupList(MobDB, 2248, L["Cave Yeti"], BZONE["Hillsbrad Foothills"], 47.49, 55.11)
+	self:addLookupList(MobDB, 2264, L["Hillsbrad Tailor"], BZONE["Hillsbrad Foothills"], 39.23, 46.40)
+	self:addLookupList(MobDB, 2337, L["Dark Strand Voidcaller"], BZONE["Darkshore"], 54.53, 24.68)
+	self:addLookupList(MobDB, 2374, L["Torn Fin Muckdweller"], BZONE["Hillsbrad Foothills"], 28.61, 69.59)
+	self:addLookupList(MobDB, 2375, L["Torn Fin Coastrunner"], BZONE["Hillsbrad Foothills"], 29.78, 71.04)
+	self:addLookupList(MobDB, 2376, L["Torn Fin Oracle"], BZONE["Hillsbrad Foothills"], 43.65, 68.23)
+	self:addLookupList(MobDB, 2377, L["Torn Fin Tidehunter"], BZONE["Hillsbrad Foothills"], 44.57, 68.27)
+	self:addLookupList(MobDB, 2389, L["Zarise"], BZONE["Hillsbrad Foothills"], 59.46, 37.32)
+	self:addLookupList(MobDB, 2434, L["Shadowy Assassin"], BZONE["Hillsbrad Foothills"], 50.15, 56.66)
+	self:addLookupList(MobDB, 2457, L["John Burnside"], BZONE["Stormwind City"], 52.86, 67.40)
+	self:addLookupList(MobDB, 2551, L["Brutus"], BZONE["Eye of the Storm"], 40.85, 59.69)
+	self:addLookupList(MobDB, 2556, L["Witherbark Headhunter"], BZONE["Arathi Highlands"], 66.99, 66.4)
+	self:addLookupList(MobDB, 2557, L["Witherbark Shadow Hunter"], BZONE["Arathi Highlands"], 66.25, 75.18)
+	self:addLookupList(MobDB, 2558, L["Witherbark Berserker"], BZONE["Arathi Highlands"], 26.81, 65.67)
+	self:addLookupList(MobDB, 2561, L["Highland Fleshstalker"], BZONE["Arathi Highlands"], 49.97, 70.78)
+	self:addLookupList(MobDB, 2566, L["Boulderfist Brute"], BZONE["Arathi Highlands"], 51.88, 74.02)
+	self:addLookupList(MobDB, 2569, L["Boulderfist Mauler"], BZONE["Arathi Highlands"], 26.06, 65.36)
+	self:addLookupList(MobDB, 2574, L["Drywhisker Digger"], BZONE["Arathi Highlands"], 78.09, 34.52)
+	self:addLookupList(MobDB, 2584, L["Stromgarde Defender"], BZONE["Arathi Highlands"], 29.46, 60.59)
+	self:addLookupList(MobDB, 2605, L["Zalas Witherbark"], BZONE["Arathi Highlands"], 68.32, 80.59)
+	self:addLookupList(MobDB, 2606, L["Nimar the Slayer"], BZONE["Arathi Highlands"], 65.25, 67.96)
+	self:addLookupList(MobDB, 2636, L["Blackwater Deckhand"], BZONE["Arathi Highlands"], 32.37, 81.76)
+	self:addLookupList(MobDB, 2642, L["Vilebranch Shadowcaster"], BZONE["The Hinterlands"], 67.78, 62.04)
+	self:addLookupList(MobDB, 2644, L["Vilebranch Hideskinner"], BZONE["The Hinterlands"], 63.49, 68.31)
+	self:addLookupList(MobDB, 2732, L["Ridge Huntress"], BZONE["Badlands"], 44.61, 57.33)
+	self:addLookupList(MobDB, 2760, L["Burning Exile"], BZONE["Arathi Highlands"], 32.52, 34.46)
+	self:addLookupList(MobDB, 2892, L["Stonevault Seer"], BZONE["Badlands"], 62.55, 44.20)
+	self:addLookupList(MobDB, 2995, L["Tal"], BZONE["Thunder Bluff"], 45.94, 47.61)
+	self:addLookupList(MobDB, 3385, L["Theramore Marine"], BZONE["The Barrens"], 57.32, 44.62)
+	self:addLookupList(MobDB, 3386, L["Theramore Preserver"], BZONE["The Barrens"], 56.27, 49.84)
+	self:addLookupList(MobDB, 3530, L["Pyrewood Tailor"], BZONE["Silverpine Forest"], 46.98, 71.45)
+	self:addLookupList(MobDB, 3531, L["Moonrage Tailor"], BZONE["Silverpine Forest"], 46.79, 72.27)
+	self:addLookupList(MobDB, 3834, L["Crazed Ancient"], BZONE["Ashenvale"], 57.99, 40.86)
+	self:addLookupList(MobDB, 3919, L["Withered Ancient"], BZONE["Ashenvale"], 58.46, 40.96)
+	self:addLookupList(MobDB, 4028, L["Charred Ancient"], BZONE["Stonetalon Mountains"], 33.01, 67.09)
+	self:addLookupList(MobDB, 4029, L["Blackened Ancient"], BZONE["Stonetalon Mountains"], 32.42, 65.85)
+	self:addLookupList(MobDB, 4030, L["Vengeful Ancient"], BZONE["Stonetalon Mountains"], 32.93, 68.48)
+	self:addLookupList(MobDB, 4151, L["Saltstone Crystalhide"], BZONE["Thousand Needles"], 71.51, 60.83)
+	self:addLookupList(MobDB, 4294, L["Scarlet Sorcerer"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 4295, L["Scarlet Myrmidon"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 4298, L["Scarlet Defender"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 4299, L["Scarlet Chaplain"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 4300, L["Scarlet Wizard"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 4357, L["Bloodfen Lashtail"], BZONE["Dustwallow Marsh"], 36.53, 68.96)
+	self:addLookupList(MobDB, 4364, L["Strashaz Warrior"], BZONE["Dustwallow Marsh"], 74.60, 18.66)
+	self:addLookupList(MobDB, 4396, L["Mudrock Tortoise"], BZONE["Dustwallow Marsh"], 61.49, 26.41)
+	self:addLookupList(MobDB, 4411, L["Darkfang Lurker"], BZONE["Dustwallow Marsh"], 45.59, 30.47)
+	self:addLookupList(MobDB, 4494, L["Scarlet Spellbinder"], BZONE["Western Plaguelands"], 53.72, 32.56)
+	self:addLookupList(MobDB, 4553, L["Ronald Burch"], BZONE["Undercity"], 57.36, 43.00)
+	self:addLookupList(MobDB, 4684, L["Nether Sorceress"], BZONE["Desolace"], 50.93, 80.40)
+	self:addLookupList(MobDB, 4834, L["Theramore Infiltrator"], BZONE["Dustwallow Marsh"], 39.61, 30.24)
+	self:addLookupList(MobDB, 4861, L["Shrike Bat"], BZONE["Uldaman"], 0, 0)
+	self:addLookupList(MobDB, 5107, L["Mangorn Flinthammer"], BZONE["Ironforge"], 37.61, 61.24)
+	self:addLookupList(MobDB, 5226, L["Murk Worm"], BZONE["The Temple of Atal'Hakkar"], 0, 0)
+	self:addLookupList(MobDB, 5237, L["Gordunni Ogre Mage"], BZONE["Feralas"], 74.77, 34.80)
+	self:addLookupList(MobDB, 5249, L["Woodpaw Mongrel"], BZONE["Feralas"], 70.14, 49.54)
+	self:addLookupList(MobDB, 5259, L["Atal'ai Witch Doctor"], BZONE["The Temple of Atal'Hakkar"], 0, 0)
+	self:addLookupList(MobDB, 5419, L["Glasshide Basilisk"], BZONE["Un'Goro Crater"], 83.27, 47.35)
+	self:addLookupList(MobDB, 5615, L["Wastewander Rogue"], BZONE["Tanaris"], 60.92, 39.83)
+	self:addLookupList(MobDB, 5616, L["Wastewander Thief"], BZONE["Tanaris"], 61.09, 33.31)
+	self:addLookupList(MobDB, 5617, L["Wastewander Shadow Mage"], BZONE["Tanaris"], 61.13, 37.13)
+	self:addLookupList(MobDB, 5618, L["Wastewander Bandit"], BZONE["Tanaris"], 60.18, 34.56)
+	self:addLookupList(MobDB, 5623, L["Wastewander Assassin"], BZONE["Tanaris"], 59.84, 41.47)
+	self:addLookupList(MobDB, 5717, L["Mijan"], BZONE["The Temple of Atal'Hakkar"], 0, 0)
+	self:addLookupList(MobDB, 5844, L["Dark Iron Slaver"], BZONE["Searing Gorge"], 44.49, 45.80)
+	self:addLookupList(MobDB, 5846, L["Dark Iron Taskmaster"], BZONE["Searing Gorge"], 44.73, 43.83)
+	self:addLookupList(MobDB, 5854, L["Heavy War Golem"], BZONE["Searing Gorge"], 41.45, 51.50)
+	self:addLookupList(MobDB, 5861, L["Twilight Fire Guard"], BZONE["Searing Gorge"], 23.97, 35.81)
+	self:addLookupList(MobDB, 5981, L["Portal Seeker"], BZONE["Blasted Lands"], 51.02, 37.60)
+	self:addLookupList(MobDB, 6005, L["Shadowsworn Thug"], BZONE["Blasted Lands"], 64.10, 37.84)
+	self:addLookupList(MobDB, 6109, L["Azuregos"], BZONE["Azshara"], 56.27, 82.74)
+	self:addLookupList(MobDB, 6138, L["Arkkoran Oracle"], BZONE["Azshara"], 76.25, 39.45)
+	self:addLookupList(MobDB, 6144, L["Son of Arkkoroc"], BZONE["Azshara"], 61.67, 54.81)
+	self:addLookupList(MobDB, 6146, L["Cliff Breaker"], BZONE["Azshara"], 58.76, 61.62)
+	self:addLookupList(MobDB, 6195, L["Spitelash Siren"], BZONE["Azshara"], 43.66, 54.06)
+	self:addLookupList(MobDB, 6201, L["Legashi Rogue"], BZONE["Azshara"], 59.43, 20.60)
+	self:addLookupList(MobDB, 6556, L["Muculent Ooze"], BZONE["Un'Goro Crater"], 62.89, 35.39)
+	self:addLookupList(MobDB, 6557, L["Primal Ooze"], BZONE["Un'Goro Crater"], 51.38, 49.57)
+	self:addLookupList(MobDB, 6559, L["Glutinous Ooze"], BZONE["Un'Goro Crater"], 34.46, 51.67)
+	self:addLookupList(MobDB, 6560, L["Stone Guardian"], BZONE["Un'Goro Crater"], 53.59, 36.53)
+	self:addLookupList(MobDB, 7025, L["Blackrock Soldier"], BZONE["Burning Steppes"], 47.43, 54.38)
+	self:addLookupList(MobDB, 7027, L["Blackrock Slayer"], BZONE["Burning Steppes"], 46.00, 50.07)
+	self:addLookupList(MobDB, 7029, L["Blackrock Battlemaster"], BZONE["Burning Steppes"], 41.84, 37.47)
+	self:addLookupList(MobDB, 7035, L["Firegut Brute"], BZONE["Burning Steppes"], 78.98, 43.46)
+	self:addLookupList(MobDB, 7037, L["Thaurissan Firewalker"], BZONE["Burning Steppes"], 61.78, 39.10)
+	self:addLookupList(MobDB, 7078, L["Cleft Scorpid"], BZONE["Uldaman"], 0, 0)
+	self:addLookupList(MobDB, 7106, L["Jadefire Rogue"], BZONE["Felwood"], 37.88, 59.22)
+	self:addLookupList(MobDB, 7107, L["Jadefire Trickster"], BZONE["Felwood"], 42.76, 19.46)
+	self:addLookupList(MobDB, 7112, L["Jaedenar Cultist"], BZONE["Felwood"], 38.35, 58.21)
+	self:addLookupList(MobDB, 7156, L["Deadwood Den Watcher"], BZONE["Felwood"], 49.98, 22.68)
+	self:addLookupList(MobDB, 7158, L["Deadwood Shaman"], BZONE["Felwood"], 50.90, 23.07)
+	self:addLookupList(MobDB, 7269, L["Scarab"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 7272, L["Theka the Martyr"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 7349, L["Tomb Fiend"], BZONE["Razorfen Downs"], 0, 0)
+	self:addLookupList(MobDB, 7372, L["Deadwind Warlock"], BZONE["Deadwind Pass"], 59.44, 71.33)
+	self:addLookupList(MobDB, 7428, L["Frostmaul Giant"], BZONE["Winterspring"], 59.75, 62.42)
+	self:addLookupList(MobDB, 7437, L["Cobalt Mageweaver"], BZONE["Winterspring"], 58.11, 51.12)
+	self:addLookupList(MobDB, 7438, L["Winterfall Ursa"], BZONE["Winterspring"], 63.68, 36.50)
+	self:addLookupList(MobDB, 7440, L["Winterfall Den Watcher"], BZONE["Winterspring"], 50.82, 34.62)
+	self:addLookupList(MobDB, 7441, L["Winterfall Totemic"], BZONE["Winterspring"], 43.51, 33.11)
+	self:addLookupList(MobDB, 7523, L["Suffering Highborne"], BZONE["Winterspring"], 53.06, 41.97)
+	self:addLookupList(MobDB, 7524, L["Anguished Highborne"], BZONE["Winterspring"], 54.68, 41.76)
+	self:addLookupList(MobDB, 7800, L["Mekgineer Thermaplugg"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 7805, L["Wastewander Scofflaw"], BZONE["Tanaris"], 65.81, 35.39)
+	self:addLookupList(MobDB, 7864, L["Lingering Highborne"], BZONE["Azshara"], 38.14, 53.01)
+	self:addLookupList(MobDB, 7883, L["Andre Firebeard"], BZONE["Tanaris"], 71.20, 52.90)
+	self:addLookupList(MobDB, 8138, L["Sul'lithuz Broodling"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 8526, L["Dark Caster"], BZONE["Eastern Plaguelands"], 60.25, 67.55)
+	self:addLookupList(MobDB, 8538, L["Unseen Servant"], BZONE["Eastern Plaguelands"], 60.17, 66.82)
+	self:addLookupList(MobDB, 8546, L["Dark Adept"], BZONE["Eastern Plaguelands"], 57.45, 46.13)
+	self:addLookupList(MobDB, 8550, L["Shadowmage"], BZONE["Eastern Plaguelands"], 52.93, 48.69)
+	self:addLookupList(MobDB, 8551, L["Dark Summoner"], BZONE["Eastern Plaguelands"], 49.68, 51.98)
+	self:addLookupList(MobDB, 8561, L["Mossflayer Shadowhunter"], BZONE["Eastern Plaguelands"], 67.85, 20.12)
+	self:addLookupList(MobDB, 8598, L["Frenzied Plaguehound"], BZONE["Eastern Plaguelands"], 49.76, 35.43)
+	self:addLookupList(MobDB, 8637, L["Dark Iron Watchman"], BZONE["Searing Gorge"], 64.12, 51.66)
+	self:addLookupList(MobDB, 8724, L["Auctioneer Wabang"], BZONE["Orgrimmar"], 51.18, 61.56)
+	self:addLookupList(MobDB, 8891, L["Anvilrage Guardsman"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 8894, L["Anvilrage Medic"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 8897, L["Doomforge Craftsman"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 8898, L["Anvilrage Marshal"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 8899, L["Doomforge Dragoon"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 8900, L["Doomforge Arcanasmith"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 8901, L["Anvilrage Reservist"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 8903, L["Anvilrage Captain"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 8907, L["Wrath Hammer Construct"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 8911, L["Fireguard Destroyer"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 8920, L["Weapon Technician"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 8983, L["Golem Lord Argelmach"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 9024, L["Pyromancer Loregrain"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 9025, L["Lord Roccor"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 9026, L["Overmaster Pyron"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 9028, L["Grizzle"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 9197, L["Spirestone Battle Mage"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 9198, L["Spirestone Mystic"], BZONE["Blackrock Spire"], 0, 0)
+	self:addLookupList(MobDB, 9216, L["Spirestone Warlord"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 9259, L["Firebrand Grunt"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 9260, L["Firebrand Legionnaire"], BZONE["Blackrock Spire"], 0, 0)
+	self:addLookupList(MobDB, 9262, L["Firebrand Invoker"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 9264, L["Firebrand Pyromancer"], BZONE["Blackrock Spire"], 0, 0)
+	self:addLookupList(MobDB, 9447, L["Scarlet Warder"], BZONE["Eastern Plaguelands"], 74.55, 79.04)
+	self:addLookupList(MobDB, 9449, L["Scarlet Cleric"], BZONE["Eastern Plaguelands"], 76.12, 79.87)
+	self:addLookupList(MobDB, 9450, L["Scarlet Curate"], BZONE["Eastern Plaguelands"], 81.36, 75.02)
+	self:addLookupList(MobDB, 9451, L["Scarlet Archmage"], BZONE["Eastern Plaguelands"], 85.92, 85.03)
+	self:addLookupList(MobDB, 9452, L["Scarlet Enchanter"], BZONE["Eastern Plaguelands"], 76.59, 79.21)
+	self:addLookupList(MobDB, 9477, L["Cloned Ooze"], BZONE["Un'Goro Crater"], 52.27, 52.23)
+	self:addLookupList(MobDB, 9499, L["Plugger Spazzring"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 9543, L["Ribbly Screwspigot"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 9554, L["Hammered Patron"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 9596, L["Bannok Grimaxe"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 9621, L["Gargantuan Ooze"], BZONE["Un'Goro Crater"], 52.49, 38.03)
+	self:addLookupList(MobDB, 9736, L["Quartermaster Zigris"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10043, L["Ribbly's Crony"], BZONE["Blackrock Depths"], 0, 0)
+	self:addLookupList(MobDB, 10119, L["Volchan"], BZONE["Burning Steppes"], 77.32, 46.94)
+	self:addLookupList(MobDB, 10184, L["Onyxia"], BZONE["Onyxia's Lair"], 0, 0)
+	self:addLookupList(MobDB, 10264, L["Solakar Flamewreath"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10317, L["Blackhand Elite"], BZONE["Blackrock Spire"], 0, 0)
+	self:addLookupList(MobDB, 10318, L["Blackhand Assassin"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10339, L["Gyth"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10363, L["General Drakkisath"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10372, L["Rage Talon Fire Tongue"], BZONE["Blackrock Spire"], 0, 0)
+	self:addLookupList(MobDB, 10384, L["Spectral Citizen"], BZONE["Stratholme"], 0, 0)
+	self:addLookupList(MobDB, 10398, L["Thuzadin Shadowcaster"], BZONE["Stratholme"], 0, 0)
+	self:addLookupList(MobDB, 10406, L["Ghoul Ravener"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10412, L["Crypt Crawler"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10422, L["Crimson Sorcerer"], BZONE["Stratholme"], 0, 0)
+	self:addLookupList(MobDB, 10425, L["Crimson Battle Mage"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10426, L["Crimson Inquisitor"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10438, L["Maleki the Pallid"], BZONE["Stratholme"], 0, 0)
+	self:addLookupList(MobDB, 10440, L["Baron Rivendare"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10469, L["Scholomance Adept"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10499, L["Spectral Researcher"], BZONE["Scholomance"], 0, 0)
+	self:addLookupList(MobDB, 10500, L["Spectral Teacher"], BZONE["Scholomance"], 0, 0)
+	self:addLookupList(MobDB, 10508, L["Ras Frostwhisper"], BZONE["Scholomance"], 0, 0)
+	self:addLookupList(MobDB, 10760, L["Grimtotem Geomancer"], BZONE["Thousand Needles"], 35.05, 47.64)
+	self:addLookupList(MobDB, 10813, L["Balnazzar"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10899, L["Goraluk Anvilcrack"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 10997, L["Cannon Master Willey"], BZONE["Stratholme"], 0, 0)
+	self:addLookupList(MobDB, 11356, L["Gurubashi Champion"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 11370, L["Razzashi Broodwidow"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 11480, L["Arcane Aberration"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 11487, L["Magister Kalendris"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 11582, L["Scholomance Dark Summoner"], BZONE["Scholomance"], 0, 0)
+	self:addLookupList(MobDB, 11583, L["Cruelfin"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 11658, L["Molten Giant"], BZONE["Molten Core"], 0, 0)
+	self:addLookupList(MobDB, 11791, L["Putridus Trickster"], BZONE["Maraudon"], 0, 0)
+	self:addLookupList(MobDB, 11880, L["Twilight Avenger"], BZONE["Silithus"], 33.02, 49.65)
+	self:addLookupList(MobDB, 11881, L["Twilight Geolord"], BZONE["Silithus"], 29.31, 53.83)
+	self:addLookupList(MobDB, 11982, L["Magmadar"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 11988, L["Golemagg the Incinerator"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 12056, L["Baron Geddon"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 12057, L["Garr"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 12101, L["Lava Surger"], BZONE["Molten Core"], 0, 0)
+	self:addLookupList(MobDB, 12118, L["Lucifron"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 12219, L["Barbed Lasher"], BZONE["Maraudon"], 0, 0)
+	self:addLookupList(MobDB, 12259, L["Gehennas"], BZONE["Molten Core"], 0, 0)
+	self:addLookupList(MobDB, 12264, L["Shazzrah"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 12397, L["Lord Kazzak"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 13797, L["Mountaineer Boombellow"], BZONE["Alterac Valley"], 45.51, 16.30)
+	self:addLookupList(MobDB, 14276, L["Scargil"], BZONE["Hillsbrad Foothills"], 26.46, 70.00)
+	self:addLookupList(MobDB, 14338, L["Knot Thimblejack"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 14354, L["Pusillin"], BZONE["Dire Maul"], 0, 0)
+	self:addLookupList(MobDB, 14448, L["Molt Thorn"], BZONE["Swamp of Sorrows"], 29.27, 43.65)
+	self:addLookupList(MobDB, 14454, L["The Windreaver"], BZONE["Silithus"], 27.60, 22.43)
+	self:addLookupList(MobDB, 14457, L["Princess Tempestria"], BZONE["Winterspring"], 53.13, 42.27)
+	self:addLookupList(MobDB, 14887, L["Ysondre"], BZONE["Duskwood"], 46.52, 44.51)
+	self:addLookupList(MobDB, 14888, L["Lethon"], BZONE["Duskwood"], 46.84, 44.06)
+	self:addLookupList(MobDB, 14889, L["Emeriss"], BZONE["Duskwood"], 46.70, 42.10)
+	self:addLookupList(MobDB, 14890, L["Taerar"], BZONE["Duskwood"], 46.72, 44.46)
+	self:addLookupList(MobDB, 15162, L["Scarlet Inquisitor"], BZONE["Eastern Plaguelands"], 80.76, 84.41)
+	self:addLookupList(MobDB, 15184, L["Cenarion Hold Infantry"], BZONE["Silithus"], 50.80, 42.37)
+	self:addLookupList(MobDB, 15233, L["Vekniss Guardian"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 15263, L["The Prophet Skeram"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 15275, L["Emperor Vek'nilash"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 15323, L["Hive'Zara Sandstalker"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 15325, L["Hive'Zara Wasp"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 15340, L["Moam"], BZONE["Ruins of Ahn'Qiraj"], 0, 0)
+	self:addLookupList(MobDB, 15547, L["Spectral Charger"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 15550, L["Attumen the Huntsman"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 15687, L["Moroes"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 15688, L["Terestian Illhoof"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 15909, L["Fariel Starsong"], BZONE["Moonglade"], 53.66, 35.22)
+	self:addLookupList(MobDB, 16152, L["Attumen the Huntsman"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 16171, L["Coldmist Widow"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 16406, L["Phantom Attendant"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 16408, L["Phantom Valet"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 16409, L["Phantom Guest"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 16460, L["Night Mistress"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 16472, L["Phantom Stagehand"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 16492, L["Syphoner"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 16504, L["Arcane Protector"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 16524, L["Shade of Aran"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 16525, L["Spell Shade"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 16595, L["Fleshbeast"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 16807, L["Grand Warlock Nethekurse"], BZONE["The Shattered Halls"], 0, 0)
+	self:addLookupList(MobDB, 16810, L["Bonechewer Backbreaker"], BZONE["Terokkar Forest"], 44.52, 43.89)
+	self:addLookupList(MobDB, 16878, L["Shattered Hand Berserker"], BZONE["Orgrimmar"], 57, 52.77)
+	self:addLookupList(MobDB, 16952, L["Anger Guard"], BZONE["Blade's Edge Mountains"], 57.37, 45.56)
+	self:addLookupList(MobDB, 17136, L["Boulderfist Warrior"], BZONE["Nagrand"], 42.54, 45.74)
+	self:addLookupList(MobDB, 17150, L["Vir'aani Arcanist"], BZONE["Nagrand"], 35.34, 70.32)
+	self:addLookupList(MobDB, 17465, L["Shattered Hand Centurion"], BZONE["The Shattered Halls"], 0, 0)
+	self:addLookupList(MobDB, 17671, L["Shattered Hand Champion"], BZONE["The Shattered Halls"], 0, 0)
+	self:addLookupList(MobDB, 17694, L["Shadowmoon Darkcaster"], BZONE["The Shattered Halls"], 0, 0)
+	self:addLookupList(MobDB, 17722, L["Coilfang Sorceress"], BZONE["The Steamvault"], 0, 0)
+	self:addLookupList(MobDB, 17723, L["Bog Giant"], BZONE["The Underbog"], 0, 0)
+	self:addLookupList(MobDB, 17767, L["Rage Winterchill"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 17796, L["Mekgineer Steamrigger"], BZONE["The Steamvault"], 0, 0)
+	self:addLookupList(MobDB, 17797, L["Hydromancer Thespia"], BZONE["The Steamvault"], 0, 0)
+	self:addLookupList(MobDB, 17798, L["Warlord Kalithresh"], BZONE["The Steamvault"], 0, 0)
+	self:addLookupList(MobDB, 17803, L["Coilfang Oracle"], BZONE["The Steamvault"], 0, 0)
+	self:addLookupList(MobDB, 17808, L["Anetheron"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 17819, L["Durnholde Sentry"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 17820, L["Durnholde Rifleman"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 17839, L["Rift Lord"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 17842, L["Azgalor"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 17862, L["Captain Skarloc"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 17879, L["Chrono Lord Deja"], BZONE["The Black Morass"], 0, 0)
+	self:addLookupList(MobDB, 17888, L["Kaz'rogal"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 17941, L["Mennu the Betrayer"], BZONE["The Slave Pens"], 0, 0)
+	self:addLookupList(MobDB, 17957, L["Coilfang Champion"], BZONE["The Slave Pens"], 0, 0)
+	self:addLookupList(MobDB, 17968, L["Archimonde"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 17975, L["High Botanist Freywinn"], BZONE["The Botanica"], 0, 0)
+	self:addLookupList(MobDB, 17977, L["Warp Splinter"], BZONE["The Botanica"], 0, 0)
+	self:addLookupList(MobDB, 17978, L["Thorngrin the Tender"], BZONE["The Botanica"], 0, 0)
+	self:addLookupList(MobDB, 18096, L["Epoch Hunter"], BZONE["Old Hillsbrad Foothills"], 0, 0)
+	self:addLookupList(MobDB, 18203, L["Murkblood Raider"], BZONE["Nagrand"], 31.78, 43.73)
+	self:addLookupList(MobDB, 18260, L["Boulderfist Invader"], BZONE["Terokkar Forest"], 28.94, 67.60)
+	self:addLookupList(MobDB, 18314, L["Nexus Stalker"], BZONE["Mana-Tombs"], 0, 0)
+	self:addLookupList(MobDB, 18317, L["Ethereal Priest"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 18320, L["Time-Lost Shadowmage"], BZONE["Sethekk Halls"], 0, 0)
+	self:addLookupList(MobDB, 18322, L["Sethekk Ravenguard"], BZONE["Sethekk Halls"], 0, 0)
+	self:addLookupList(MobDB, 18344, L["Nexus-Prince Shaffar"], BZONE["Mana-Tombs"], 0, 0)
+	self:addLookupList(MobDB, 18422, L["Sunseeker Botanist"], BZONE["The Botanica"], 0, 0)
+	self:addLookupList(MobDB, 18472, L["Darkweaver Syth"], BZONE["Sethekk Halls"], 0, 0)
+	self:addLookupList(MobDB, 18497, L["Auchenai Monk"], BZONE["Auchenai Crypts"], 0, 0)
+	self:addLookupList(MobDB, 18521, L["Raging Skeleton"], BZONE["Auchenai Crypts"], 0, 0)
+	self:addLookupList(MobDB, 18554, L["Sharth Voldoun"], BZONE["Terokkar Forest"], 56.17, 37.26)
+	self:addLookupList(MobDB, 18667, L["Blackheart the Inciter"], BZONE["Shadow Labyrinth"], 0, 0)
+	self:addLookupList(MobDB, 18708, L["Murmur"], BZONE["Shadow Labyrinth"], 0, 0)
+	self:addLookupList(MobDB, 18830, L["Cabal Fanatic"], BZONE["Shadow Labyrinth"], 0, 0)
+	self:addLookupList(MobDB, 18853, L["Sunfury Bloodwarder"], BZONE["Netherstorm"], 33.63, 64.12)
+	self:addLookupList(MobDB, 18866, L["Mageslayer"], BZONE["Netherstorm"], 56.15, 84.84)
+	self:addLookupList(MobDB, 18870, L["Voidshrieker"], BZONE["Netherstorm"], 62.33, 37.31)
+	self:addLookupList(MobDB, 18872, L["Disembodied Vindicator"], BZONE["Netherstorm"], 42.01, 48.95)
+	self:addLookupList(MobDB, 18873, L["Disembodied Protector"], BZONE["Netherstorm"], 41.03, 49.33)
+	self:addLookupList(MobDB, 18940, L["Nutral"], BZONE["Shattrath City"], 58.96, 42.07)
+	self:addLookupList(MobDB, 18962, L["Bar Talet"], BZONE["Terokkar Forest"], 49.34, 52.50)
+	self:addLookupList(MobDB, 19034, L["Mendorn"], BZONE["Shattrath City"], 48.27, 34.97)
+	self:addLookupList(MobDB, 19045, L["Oloraak"], BZONE["Shattrath City"], 55.14, 22.62)
+	self:addLookupList(MobDB, 19047, L["Lissaf"], BZONE["Shattrath City"], 51.46, 23.55)
+	self:addLookupList(MobDB, 19168, L["Sunseeker Astromage"], BZONE["The Mechanar"], 0, 0)
+	self:addLookupList(MobDB, 19219, L["Mechano-Lord Capacitus"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 19220, L["Pathaleon the Calculator"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 19221, L["Nethermancer Sepethrea"], BZONE["The Mechanar"], 0, 0)
+	self:addLookupList(MobDB, 19239, L["Mahir Redstroke"], BZONE["Shattrath City"], 53.42, 76.26)
+	self:addLookupList(MobDB, 19246, L["Berudan Keysworn"], BZONE["Shattrath City"], 57.35, 56.76)
+	self:addLookupList(MobDB, 19304, L["Blackheart the Inciter"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 19318, L["Gromden"], BZONE["Shattrath City"], 47.99, 34.49)
+	self:addLookupList(MobDB, 19338, L["L'lura Goldspun"], BZONE["Shattrath City"], 57.82, 57.65)
+	self:addLookupList(MobDB, 19349, L["Thornfang Ravager"], BZONE["Zangarmarsh"], 53.48, 58.26)
+	self:addLookupList(MobDB, 19351, L["Daggle Ironshaper"], BZONE["Shadowmoon Valley"], 52.68, 66.26)
+	self:addLookupList(MobDB, 19429, L["Avian Darkhawk"], BZONE["Sethekk Halls"], 0, 0)
+	self:addLookupList(MobDB, 19513, L["Mutate Fear-Shrieker"], BZONE["The Botanica"], 0, 0)
+	self:addLookupList(MobDB, 19517, L["Alorra"], BZONE["Shadowmoon Valley"], 58.55, 65.02)
+	self:addLookupList(MobDB, 19678, L["Fantei"], BZONE["Shattrath City"], 63.09, 64.52)
+	self:addLookupList(MobDB, 19707, L["Sunfury Archer"], BZONE["Netherstorm"], 56.13, 75.27)
+	self:addLookupList(MobDB, 19740, L["Wrathwalker"], BZONE["Shadowmoon Valley"], 36.63, 42.07)
+	self:addLookupList(MobDB, 19754, L["Deathforge Tinkerer"], BZONE["Shadowmoon Valley"], 48.62, 46.61)
+	self:addLookupList(MobDB, 19755, L["Mo'arg Weaponsmith"], BZONE["Shadowmoon Valley"], 38.36, 41.97)
+	self:addLookupList(MobDB, 19756, L["Deathforge Smith"], BZONE["Shadowmoon Valley"], 49.76, 49.11)
+	self:addLookupList(MobDB, 19768, L["Coilskar Siren"], BZONE["Shadowmoon Valley"], 48.12, 31.23)
+	self:addLookupList(MobDB, 19779, L["Sunfury Geologist"], BZONE["Netherstorm"], 34.71, 65.79)
+	self:addLookupList(MobDB, 19792, L["Eclipsion Centurion"], BZONE["Shadowmoon Valley"], 49.50, 67.68)
+	self:addLookupList(MobDB, 19795, L["Eclipsion Blood Knight"], BZONE["Shadowmoon Valley"], 52.00, 62.02)
+	self:addLookupList(MobDB, 19796, L["Eclipsion Archmage"], BZONE["Shadowmoon Valley"], 51.29, 67.88)
+	self:addLookupList(MobDB, 19806, L["Eclipsion Bloodwarder"], BZONE["Shadowmoon Valley"], 48.04, 66.03)
+	self:addLookupList(MobDB, 19826, L["Dark Conclave Shadowmancer"], BZONE["Shadowmoon Valley"], 46.70, 37.31)
+	self:addLookupList(MobDB, 19952, L["Bloodmaul Geomancer"], BZONE["Blade's Edge Mountains"], 44.95, 65.39)
+	self:addLookupList(MobDB, 19960, L["Doomforge Engineer"], BZONE["Blade's Edge Mountains"], 62.19, 44.69)
+	self:addLookupList(MobDB, 19973, L["Abyssal Flamebringer"], BZONE["Blade's Edge Mountains"], 32.49, 63.89)
+	self:addLookupList(MobDB, 19984, L["Vekh'nir Dreadhawk"], BZONE["Blade's Edge Mountains"], 72.66, 71.38)
+	self:addLookupList(MobDB, 20036, L["Bloodwarder Squire"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 20134, L["Sunfury Arcanist"], BZONE["Netherstorm"], 49.35, 78.42)
+	self:addLookupList(MobDB, 20135, L["Sunfury Arch Mage"], BZONE["Netherstorm"], 51.36, 79.17)
+	self:addLookupList(MobDB, 20136, L["Sunfury Researcher"], BZONE["Netherstorm"], 52.57, 79.96)
+	self:addLookupList(MobDB, 20207, L["Sunfury Bowman"], BZONE["Netherstorm"], 58.63, 61.41)
+	self:addLookupList(MobDB, 20456, L["Ethereum Researcher"], BZONE["Netherstorm"], 57.11, 35.29)
+	self:addLookupList(MobDB, 20496, L["Kirin'Var Spectre"], BZONE["Netherstorm"], 59.17, 77.41)
+	self:addLookupList(MobDB, 20514, L["Searing Elemental"], BZONE["Blade's Edge Mountains"], 43.21, 33.37)
+	self:addLookupList(MobDB, 20613, L["Arodis Sunblade"], BZONE["Shattrath City"], 44.30, 83.00)
+	self:addLookupList(MobDB, 20614, L["Razaani Spell-Thief"], BZONE["Blade's Edge Mountains"], 65.40, 42.20)
+	self:addLookupList(MobDB, 20714, L["Ridgespine Stalker"], BZONE["Blade's Edge Mountains"], 62.14, 58.23)
+	self:addLookupList(MobDB, 20807, L["Inscriber Saalyn"], BZONE["Shattrath City"], 46.69, 35.96)
+	self:addLookupList(MobDB, 20869, L["Arcatraz Sentinel"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 20872, L["Deathforge Summoner"], BZONE["Shadowmoon Valley"], 46.13, 43.70)
+	self:addLookupList(MobDB, 20878, L["Deathforge Guardian"], BZONE["Shadowmoon Valley"], 45.41, 44.16)
+	self:addLookupList(MobDB, 20880, L["Eredar Deathbringer"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 20885, L["Dalliah the Doomsayer"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 20887, L["Deathforge Imp"], BZONE["Shadowmoon Valley"], 45.60, 44.72)
+	self:addLookupList(MobDB, 20898, L["Gargantuan Abyssal"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 20900, L["Unchained Doombringer"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 20910, L["Twilight Drakonaar"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 21050, L["Enraged Earth Spirit"], BZONE["Shadowmoon Valley"], 51.52, 48.67)
+	self:addLookupList(MobDB, 21059, L["Enraged Water Spirit"], BZONE["Shadowmoon Valley"], 50.10, 29.53)
+	self:addLookupList(MobDB, 21060, L["Enraged Air Spirit"], BZONE["Shadowmoon Valley"], 63.75, 54.99)
+	self:addLookupList(MobDB, 21061, L["Enraged Fire Spirit"], BZONE["Shadowmoon Valley"], 51.95, 47.23)
+	self:addLookupList(MobDB, 21104, L["Rift Keeper"], BZONE["The Black Morass"], 0, 0)
+	self:addLookupList(MobDB, 21140, L["Rift Lord"], BZONE["The Black Morass"], 0, 0)
+	self:addLookupList(MobDB, 21148, L["Rift Keeper"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 21229, L["Greyheart Tidecaller"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 21298, L["Coilfang Serpentguard"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 21302, L["Shadow Council Warlock"], BZONE["Shadowmoon Valley"], 30.11, 43.92)
+	self:addLookupList(MobDB, 21314, L["Terrormaster"], BZONE["Shadowmoon Valley"], 35.46, 42.89)
+	self:addLookupList(MobDB, 21454, L["Ashtongue Warrior"], BZONE["Shadowmoon Valley"], 59.29, 38.34)
+	self:addLookupList(MobDB, 21941, L["Accursed Apparition"], BZONE["Terokkar Forest"], 43.64, 76.48)
+	self:addLookupList(MobDB, 22016, L["Eclipsion Soldier"], BZONE["Shadowmoon Valley"], 53.15, 64.61)
+	self:addLookupList(MobDB, 22017, L["Eclipsion Spellbinder"], BZONE["Shadowmoon Valley"], 52.94, 64.78)
+	self:addLookupList(MobDB, 22018, L["Eclipsion Cavalier"], BZONE["Shadowmoon Valley"], 52.68, 65.17)
+	self:addLookupList(MobDB, 22052, L["Daggermaw Blackhide"], BZONE["Blade's Edge Mountains"], 47.57, 49.38)
+	self:addLookupList(MobDB, 22076, L["Torloth the Magnificent"], BZONE["Shadowmoon Valley"], 51.91, 72.32)
+	self:addLookupList(MobDB, 22093, L["Illidari Watcher"], BZONE["Shadowmoon Valley"], 54.09, 73.78)
+	self:addLookupList(MobDB, 22143, L["Gordunni Back-Breaker"], BZONE["Zangarmarsh"], 78.36, 94.95)
+	self:addLookupList(MobDB, 22144, L["Gordunni Elementalist"], BZONE["Zangarmarsh"], 75.33, 92.54)
+	self:addLookupList(MobDB, 22148, L["Gordunni Head-Splitter"], BZONE["Terokkar Forest"], 26.36, 16.72)
+	self:addLookupList(MobDB, 22241, L["Bash'ir Raider"], BZONE["Blade's Edge Mountains"], 51.47, 15.82)
+	self:addLookupList(MobDB, 22242, L["Bash'ir Spell-Thief"], BZONE["Blade's Edge Mountains"], 52.04, 15.58)
+	self:addLookupList(MobDB, 22243, L["Bash'ir Arcanist"], BZONE["Blade's Edge Mountains"], 52.16, 16.15)
+	self:addLookupList(MobDB, 22254, L["Wrath Corruptor"], BZONE["Blade's Edge Mountains"], 32.88, 44.37)
+	self:addLookupList(MobDB, 22275, L["Apexis Guardian"], BZONE["Blade's Edge Mountains"], 34.71, 51.04)
+	self:addLookupList(MobDB, 22281, L["Galvanoth"], BZONE["Blade's Edge Mountains"], 31.84, 58.12)
+	self:addLookupList(MobDB, 22323, L["Incandescent Fel Spark"], BZONE["Hellfire Peninsula"], 61.98, 22.23)
+	self:addLookupList(MobDB, 22384, L["Bloodmaul Soothsayer"], BZONE["Blade's Edge Mountains"], 55.52, 32.53)
+	self:addLookupList(MobDB, 22394, L["Deathshadow Hound"], BZONE["Nagrand"], 11.66, 42.02)
+	self:addLookupList(MobDB, 22822, L["Ethereum Nullifier"], BZONE["Netherstorm"], 62.07, 39.39)
+	self:addLookupList(MobDB, 23022, L["Gordunni Soulreaper"], BZONE["Terokkar Forest"], 26.63, 16.03)
+	self:addLookupList(MobDB, 23051, L["Monstrous Kaliri"], BZONE["Terokkar Forest"], 47.46, 69.06)
+	self:addLookupList(MobDB, 23061, L["Rivendark"], BZONE["Blade's Edge Mountains"], 31.01, 56.93)
+	self:addLookupList(MobDB, 23169, L["Nethermine Flayer"], BZONE["Shadowmoon Valley"], 69.79, 85.13)
+	self:addLookupList(MobDB, 23230, L["Shartuul"], BZONE["Blade's Edge Mountains"], 31.97, 46.01)
+	self:addLookupList(MobDB, 23235, L["Bonechewer Blade Fury"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 23261, L["Furywing"], BZONE["Blade's Edge Mountains"], 59.59, 13.82)
+	self:addLookupList(MobDB, 23281, L["Insidion"], BZONE["Blade's Edge Mountains"], 57.74, 14.48)
+	self:addLookupList(MobDB, 23282, L["Obsidia"], BZONE["Blade's Edge Mountains"], 30.77, 57.38)
+	self:addLookupList(MobDB, 23305, L["Crazed Murkblood Foreman"], BZONE["Shadowmoon Valley"], 73.63, 90.45)
+	self:addLookupList(MobDB, 23324, L["Crazed Murkblood Miner"], BZONE["Shadowmoon Valley"], 73.08, 87.70)
+	self:addLookupList(MobDB, 23353, L["Braxxus"], BZONE["Blade's Edge Mountains"], 32.18, 54.48)
+	self:addLookupList(MobDB, 23354, L["Mo'arg Incinerator"], BZONE["Blade's Edge Mountains"], 31.99, 59.22)
+	self:addLookupList(MobDB, 23355, L["Zarcsin"], BZONE["Blade's Edge Mountains"], 32.40, 53.63)
+	self:addLookupList(MobDB, 23385, L["Simon Unit"], BZONE["Blade's Edge Mountains"], 30.45, 55.01)
+	self:addLookupList(MobDB, 23386, L["Gan'arg Analyzer"], BZONE["Blade's Edge Mountains"], 30.77, 53.23)
+	self:addLookupList(MobDB, 23392, L["Skyguard Stable Master"], BZONE["Blade's Edge Mountains"], 28.83, 48.0)
+	self:addLookupList(MobDB, 23574, L["Akil'zon"], BZONE["Zul'Aman"], 0, 0)
+	self:addLookupList(MobDB, 23576, L["Nalorakk"], BZONE["Zul'Aman"], 0, 0)
+	self:addLookupList(MobDB, 23577, L["Halazzi"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 23578, L["Jan'alai"], BZONE["Zul'Aman"], 0, 0)
+	self:addLookupList(MobDB, 23863, L["Zul'jin"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 24144, L["Halazzi"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 24239, L["Hex Lord Malacrass"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 24363, L["Hex Lord Malacrass"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 24393, L["The Rokk"], BZONE["Shattrath City"], 58.37, 23.44)
+	self:addLookupList(MobDB, 24416, L["Grisy Spicecrackle"], BZONE["Shattrath City"], 60.53, 22.48)
+	self:addLookupList(MobDB, 24560, L["Priestess Delrissa"], BZONE["Magisters' Terrace"], 0, 0)
+	self:addLookupList(MobDB, 25363, L["Sunblade Cabalist"], BZONE["Sunwell Plateau"], 0, 0)
+	self:addLookupList(MobDB, 25367, L["Sunblade Arch Mage"], BZONE["Sunwell Plateau"], 0, 0)
+	self:addLookupList(MobDB, 25368, L["Sunblade Slayer"], BZONE["Sunwell Plateau"], 0, 0)
+	self:addLookupList(MobDB, 25369, L["Sunblade Vindicator"], BZONE["Sunwell Plateau"], 0, 0)
+	self:addLookupList(MobDB, 25370, L["Sunblade Dusk Priest"], BZONE["Sunwell Plateau"], 0, 0)
+	self:addLookupList(MobDB, 25371, L["Sunblade Dawn Priest"], BZONE["Sunwell Plateau"], 0, 0)
+	self:addLookupList(MobDB, 25372, L["Sunblade Scout"], BZONE["Sunwell Plateau"], 0, 0)
+	self:addLookupList(MobDB, 25486, L["Shadowsword Vanquisher"], BZONE["Sunwell Plateau"], 0, 0)
+	self:addLookupList(MobDB, 25506, L["Shadowsword Lifeshaper"], L["Unknown Zone"], 0, 0)
+	self:addLookupList(MobDB, 25507, L["Sunblade Protector"], BZONE["Sunwell Plateau"], 0, 0)
+
+end
diff --git a/RecipeDB/ARL-Quest.lua b/RecipeDB/ARL-Quest.lua
new file mode 100644
index 0000000..27e46b5
--- /dev/null
+++ b/RecipeDB/ARL-Quest.lua
@@ -0,0 +1,118 @@
+--[[
+
+************************************************************************
+
+ARL-Quest.lua
+
+Quest data for all of Ackis Recipe List
+
+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+
+79 found from data mining.  0 ignored.
+
+************************************************************************
+
+$Date$
+$Rev$
+
+************************************************************************
+
+Format:
+
+	self:addLookupList(QuestDB, NPC ID, NPC Name, NPC Location, X Coord, Y Coord, Faction)
+
+************************************************************************
+
+]]--
+
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+local BFAC				= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
+local BZONE				= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
+
+function addon:InitQuest(QuestDB)
+
+	self:addLookupList(QuestDB, 22, L["Goretusk Liver Pie"], BZONE["Westfall"], 47.63, 60.88, 1)
+	self:addLookupList(QuestDB, 38, L["Westfall Stew"], BZONE["Westfall"], 47.63, 60.88, 1)
+	self:addLookupList(QuestDB, 90, L["Seasoned Wolf Kabobs"], BZONE["Duskwood"], 56.6, 67.76, 1)
+	self:addLookupList(QuestDB, 92, L["Redridge Goulash"], BZONE["Redridge Mountains"], 29.59, 52.56, 1)
+	self:addLookupList(QuestDB, 93, L["Dusky Crab Cakes"], BZONE["Duskwood"], 56.6, 67.76, 1)
+	self:addLookupList(QuestDB, 127, L["Selling Fish"], BZONE["Redridge Mountains"], 28.62, 48.76, 1)
+	self:addLookupList(QuestDB, 296, L["Ormer's Revenge"], BZONE["Wetlands"], 38.14, 50.05, 1)
+	self:addLookupList(QuestDB, 384, L["Beer Basted Boar Ribs"], BZONE["Dun Morogh"], 46.39, 55.40, 1)
+	self:addLookupList(QuestDB, 385, L["Crocolisk Hunting"], BZONE["Loch Modan"], 82.47, 63.11, 1)
+	self:addLookupList(QuestDB, 418, L["Thelsamar Blood Sausages"], BZONE["Loch Modan"], 61.14, 52.05, 1)
+	self:addLookupList(QuestDB, 429, L["Wild Hearts"], BZONE["Silverpine Forest"], 49.88, 33.63, 2)
+	self:addLookupList(QuestDB, 471, L["Apprentice's Duties"], BZONE["Wetlands"], 12.98, 56.19, 1)
+	self:addLookupList(QuestDB, 498, L["The Rescue"], BZONE["Hillsbrad Foothills"], 59.91, 46.20, 2)
+	self:addLookupList(QuestDB, 501, L["Elixir of Pain"], BZONE["Hillsbrad Foothills"], 59.19, 36.91, 2)
+	self:addLookupList(QuestDB, 555, L["Soothing Turtle Bisque"], BZONE["Hillsbrad Foothills"], 54.01, 48.68, 1)
+	self:addLookupList(QuestDB, 564, L["Costly Menace"], BZONE["Hillsbrad Foothills"], 51.61, 53.94, 1)
+	self:addLookupList(QuestDB, 703, L["Barbecued Buzzard Wings"], BZONE["Badlands"], 44.20, 54.76, 0)
+	self:addLookupList(QuestDB, 715, L["Liquid Stone"], BZONE["Badlands"], 29.91, 47.23, 0)
+	self:addLookupList(QuestDB, 769, L["Kodo Hide Bag"], BZONE["Thunder Bluff"], 40.57, 42.66, 2)
+	self:addLookupList(QuestDB, 862, L["Dig Rat Stew"], BZONE["The Barrens"], 54.71, 43.15, 2)
+	self:addLookupList(QuestDB, 1487, L["Deviate Eradication"], BZONE["The Barrens"], 45.93, 36.38, 0)
+	self:addLookupList(QuestDB, 1559, L["Flash Bomb Recipe"], BZONE["Badlands"], 44.20, 54.76, 0)
+	self:addLookupList(QuestDB, 1578, L["Supplying the Front"], BZONE["Ironforge"], 49.65, 45.71, 1)
+	self:addLookupList(QuestDB, 1582, L["Moonglow Vest"], BZONE["Darnassus"], 53.02, 31.29, 1)
+	self:addLookupList(QuestDB, 1618, L["Gearing Redridge"], BZONE["Ironforge"], 49.65, 45.71, 1)
+	self:addLookupList(QuestDB, 2178, L["Easy Strider Living"], BZONE["Darkshore"], 35.75, 36.19, 1)
+	self:addLookupList(QuestDB, 2359, L["Klaven's Tower"], BZONE["Westfall"], 48.34, 71.29, 1)
+	self:addLookupList(QuestDB, 2478, L["Mission: Possible But Not Probable"], BZONE["The Barrens"], 48.28, 16.18, 2)
+	self:addLookupList(QuestDB, 2751, L["Barbaric Battlements"], BZONE["Orgrimmar"], 75.96, 24.48, 2)
+	self:addLookupList(QuestDB, 2752, L["On Iron Pauldrons"], BZONE["Orgrimmar"], 75.96, 24.48, 2)
+	self:addLookupList(QuestDB, 2753, L["Trampled Under Foot"], BZONE["Orgrimmar"], 75.96, 24.48, 2)
+	self:addLookupList(QuestDB, 2754, L["Horns of Frenzy"], BZONE["Orgrimmar"], 75.96, 24.48, 2)
+	self:addLookupList(QuestDB, 2755, L["Joys of Omosh"], BZONE["Orgrimmar"], 75.96, 24.48, 2)
+	self:addLookupList(QuestDB, 2758, L["The Origins of Smithing"], BZONE["Stormwind City"], 49.28, 24.34, 1)
+	self:addLookupList(QuestDB, 2761, L["Smelt On, Smelt Off"], BZONE["Stranglethorn Vale"], 50.21, 20.57, 0)
+	self:addLookupList(QuestDB, 2762, L["The Great Silver Deceiver"], BZONE["Stranglethorn Vale"], 50.21, 20.57, 0)
+	self:addLookupList(QuestDB, 2763, L["The Art of the Imbue"], BZONE["Stranglethorn Vale"], 50.21, 20.57, 0)
+	self:addLookupList(QuestDB, 2848, L["Wild Leather Shoulders"], BZONE["Feralas"], 32.53, 51.44, 1)
+	self:addLookupList(QuestDB, 2849, L["Wild Leather Vest"], BZONE["Feralas"], 32.53, 51.44, 1)
+	self:addLookupList(QuestDB, 2850, L["Wild Leather Helmet"], BZONE["Feralas"], 32.53, 51.44, 1)
+	self:addLookupList(QuestDB, 2851, L["Wild Leather Boots"], BZONE["Feralas"], 32.53, 51.44, 1)
+	self:addLookupList(QuestDB, 2852, L["Wild Leather Leggings"], BZONE["Feralas"], 32.53, 51.44, 1)
+	self:addLookupList(QuestDB, 2853, L["Master of the Wild Leather"], BZONE["Feralas"], 32.53, 51.44, 1)
+	self:addLookupList(QuestDB, 2855, L["Wild Leather Shoulders"], BZONE["Feralas"], 47.97, 67.15, 2)
+	self:addLookupList(QuestDB, 2856, L["Wild Leather Vest"], BZONE["Feralas"], 47.97, 67.15, 2)
+	self:addLookupList(QuestDB, 2857, L["Wild Leather Helmet"], BZONE["Feralas"], 47.97, 67.15, 2)
+	self:addLookupList(QuestDB, 2858, L["Wild Leather Boots"], BZONE["Feralas"], 47.97, 67.15, 2)
+	self:addLookupList(QuestDB, 2859, L["Wild Leather Leggings"], BZONE["Feralas"], 47.97, 67.15, 2)
+	self:addLookupList(QuestDB, 2860, L["Master of the Wild Leather"], BZONE["Feralas"], 47.97, 67.15, 2)
+	self:addLookupList(QuestDB, 3402, L["The Undermarket"], BZONE["Searing Gorge"], 40.99, 73.13, 0)
+	self:addLookupList(QuestDB, 4161, L["Recipe of the Kaldorei"], BZONE["Teldrassil"], 57.07, 61.05, 1)
+	self:addLookupList(QuestDB, 5124, L["Fiery Plate Gauntlets"], BZONE["Winterspring"], 59.98, 31.29, 0)
+	self:addLookupList(QuestDB, 5127, L["The Demon Forge"], BZONE["Winterspring"], 63.33, 74.11, 0)
+	self:addLookupList(QuestDB, 5305, L["Sweet Serenity"], BZONE["Winterspring"], 60.18, 30.77, 0)
+	self:addLookupList(QuestDB, 5306, L["Snakestone of the Shadow Huntress"], BZONE["Winterspring"], 50.13, 29.73, 0)
+	self:addLookupList(QuestDB, 5307, L["Corruption"], BZONE["Winterspring"], 50.19, 29.70, 0)
+	self:addLookupList(QuestDB, 7321, L["Soothing Turtle Bisque"], BZONE["Hillsbrad Foothills"], 56.73, 47.37, 2)
+	self:addLookupList(QuestDB, 7604, L["A Binding Contract"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(QuestDB, 7649, L["Enchanted Thorium Platemail: Volume I"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(QuestDB, 7650, L["Enchanted Thorium Platemail: Volume II"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(QuestDB, 7651, L["Enchanted Thorium Platemail: Volume III"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(QuestDB, 7653, L["Imperial Plate Belt"], BZONE["Tanaris"], 48.80, 42.51, 0)
+	self:addLookupList(QuestDB, 7654, L["Imperial Plate Boots"], BZONE["Tanaris"], 48.80, 42.51, 0)
+	self:addLookupList(QuestDB, 7655, L["Imperial Plate Bracer"], BZONE["Tanaris"], 48.80, 42.51, 0)
+	self:addLookupList(QuestDB, 7656, L["Imperial Plate Chest"], BZONE["Tanaris"], 48.80, 42.51, 0)
+	self:addLookupList(QuestDB, 7657, L["Imperial Plate Helm"], BZONE["Tanaris"], 48.80, 42.51, 0)
+	self:addLookupList(QuestDB, 7658, L["Imperial Plate Leggings"], BZONE["Tanaris"], 48.80, 42.51, 0)
+	self:addLookupList(QuestDB, 7659, L["Imperial Plate Shoulders"], BZONE["Tanaris"], 48.80, 42.51, 0)
+	self:addLookupList(QuestDB, 8586, L["Dirge's Kickin' Chimaerok Chops"], BZONE["Tanaris"], 48.17, 47.52, 0)
+	self:addLookupList(QuestDB, 8882, L["Cluster Launcher"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(QuestDB, 9171, L["Culinary Crunch"], BZONE["Ghostlands"], 48.37, 29.66, 2)
+	self:addLookupList(QuestDB, 9249, L["40 Tickets - Schematic: Steam Tonk Controller"], BZONE["Mulgore"], 41.75, 48.82, 0)
+	self:addLookupList(QuestDB, 9356, L["Smooth as Butter"], BZONE["Hellfire Peninsula"], 53.00, 64.42, 0)
+	self:addLookupList(QuestDB, 9454, L["The Great Moongraze Hunt"], BZONE["Bloodmyst Isle"], 54.23, 54.87, 1)
+	self:addLookupList(QuestDB, 9635, L["The Zapthrottle Mote Extractor!"], BZONE["Zangarmarsh"], 33.53, 50.33, 2)
+	self:addLookupList(QuestDB, 9636, L["The Zapthrottle Mote Extractor!"], BZONE["Zangarmarsh"], 58.84, 48.62, 1)
+	self:addLookupList(QuestDB, 10860, L["Mok'Nathal Treats"], BZONE["Blade's Edge Mountains"], 45.52, 59.59, 2)
+	self:addLookupList(QuestDB, 11155, L["Shoveltusk Soup Again?"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(QuestDB, 12645, L["The Taste Test"], L["Unknown Zone"], 0, 0, 0)
+
+end
diff --git a/RecipeDB/ARL-Reputation.lua b/RecipeDB/ARL-Reputation.lua
new file mode 100644
index 0000000..c4256dd
--- /dev/null
+++ b/RecipeDB/ARL-Reputation.lua
@@ -0,0 +1,92 @@
+--[[
+
+************************************************************************
+
+ARL-Reputation.lua
+
+Reputation data for all of Ackis Recipe List
+
+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+
+************************************************************************
+
+$Date$
+$Rev$
+
+************************************************************************
+
+Format:
+
+	self:addLookupList(RepDB, Rep ID, Rep Name)
+
+************************************************************************
+
+]]--
+
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+local BFAC				= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
+
+function addon:InitReputation(RepDB)
+
+	self:addLookupList(RepDB, 21, BFAC["Booty Bay"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 47, BFAC["Ironforge"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 54, BFAC["Gnomeregan Exiles"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 59, BFAC["Thorium Brotherhood"]) -- Acquire Flag: 98
+	self:addLookupList(RepDB, 68, BFAC["Undercity"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 69, BFAC["Darnassus"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 70, BFAC["Syndicate"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 72, BFAC["Stormwind"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 76, BFAC["Orgrimmar"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 81, BFAC["Thunder Bluff"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 87, BFAC["Bloodsail Buccaneers"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 92, BFAC["Gelkis Clan Centaur"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 93, BFAC["Magram Clan Centaur"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 270, BFAC["Zandalar Tribe"]) -- Acquire Flag: 100
+	self:addLookupList(RepDB, 349, BFAC["Ravenholdt"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 369, BFAC["Gadgetzan"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 470, BFAC["Ratchet"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 471, BFAC["Wildhammer Clan"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 509, BFAC["The League of Arathor"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 510, BFAC["The Defilers"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 529, BFAC["Argent Dawn"]) -- Acquire Flag: 96
+	self:addLookupList(RepDB, 530, BFAC["Darkspear Trolls"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 576, BFAC["Timbermaw Hold"]) -- Acquire Flag: 99
+	self:addLookupList(RepDB, 577, BFAC["Everlook"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 589, BFAC["Wintersaber Trainers"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 609, BFAC["Cenarion Circle"]) -- Acquire Flag: 97
+	self:addLookupList(RepDB, 729, BFAC["Frostwolf Clan"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 730, BFAC["Stormpike Guard"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 749, BFAC["Hydraxian Waterlords"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 809, BFAC["Shen'dralar"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 889, BFAC["Warsong Outriders"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 890, BFAC["Silverwing Sentinels"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 909, BFAC["Darkmoon Faire"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 910, BFAC["Brood of Nozdormu"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 911, BFAC["Silvermoon City"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 922, BFAC["Tranquillien"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 930, BFAC["Exodar"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 932, BFAC["The Aldor"]) -- Acquire Flag: 101
+	self:addLookupList(RepDB, 933, BFAC["The Consortium"]) -- Acquire Flag: 105
+	self:addLookupList(RepDB, 934, BFAC["The Scryers"]) -- Acquire Flag: 110
+	self:addLookupList(RepDB, 935, BFAC["The Sha'tar"]) -- Acquire Flag: 111
+	self:addLookupList(RepDB, 941, BFAC["The Mag'har"]) -- Acquire Flag: 108
+	self:addLookupList(RepDB, 942, BFAC["Cenarion Expedition"]) -- Acquire Flag: 103
+	self:addLookupList(RepDB, 946, BFAC["Honor Hold"]) -- Acquire Flag: 104
+	self:addLookupList(RepDB, 947, BFAC["Thrallmar"]) -- Acquire Flag: 104
+	self:addLookupList(RepDB, 967, BFAC["The Violet Eye"]) -- Acquire Flag: 114
+	self:addLookupList(RepDB, 970, BFAC["Sporeggar"]) -- Acquire Flag: 113
+	self:addLookupList(RepDB, 978, BFAC["Kurenai"]) -- Acquire Flag: 108
+	self:addLookupList(RepDB, 989, BFAC["Keepers of Time"]) -- Acquire Flag: 106
+	self:addLookupList(RepDB, 990, BFAC["The Scale of the Sands"]) -- Acquire Flag: 109
+	self:addLookupList(RepDB, 1011, BFAC["Lower City"]) -- Acquire Flag: 107
+	self:addLookupList(RepDB, 1012, BFAC["Ashtongue Deathsworn"]) -- Acquire Flag: 102
+	self:addLookupList(RepDB, 1015, BFAC["Netherwing"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 1031, BFAC["Sha'tari Skyguard"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 1038, BFAC["Ogri'la"]) -- Acquire Flag:
+	self:addLookupList(RepDB, 1077, BFAC["Shattered Sun Offensive"]) -- Acquire Flag: 112
+
+end
diff --git a/RecipeDB/ARL-RoguePoison.lua b/RecipeDB/ARL-RoguePoison.lua
deleted file mode 100644
index d1bdc09..0000000
--- a/RecipeDB/ARL-RoguePoison.lua
+++ /dev/null
@@ -1,44 +0,0 @@
---[[
-
-ARL-RoguePoison.lua
-
-Rogue Poison data for all of AckisRecipeList
-
-$Date$
-$Rev$
-
-]]--
-
-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-
-local addon = AckisRecipeList
-
-function addon:InitRoguePoison()
-
-	self:addTradeSkillSpell(26786, 68, L["Trainer"],1)
-	self:addTradeSkillSpell(3420, 20, L["Trainer"],1)
-	self:addTradeSkillSpell(3421, 50, L["Trainer"],1)
-	self:addTradeSkillSpell(5763, 24, L["Trainer"],1)
-	self:addTradeSkillSpell(8694, 38, L["Trainer"],1)
-	self:addTradeSkillSpell(11400, 52, L["Trainer"],1)
-	self:addTradeSkillSpell(8681, 20, L["Trainer"],1)
-	self:addTradeSkillSpell(8687, 28, L["Trainer"],1)
-	self:addTradeSkillSpell(8691, 36, L["Trainer"],1)
-	self:addTradeSkillSpell(11341, 44, L["Trainer"],1)
-	self:addTradeSkillSpell(11342, 52, L["Trainer"],1)
-	self:addTradeSkillSpell(11343, 60, L["Trainer"],1)
-	self:addTradeSkillSpell(26892, 68, L["Trainer"],1)
-	self:addTradeSkillSpell(2835, 30, L["Trainer"],1)
-	self:addTradeSkillSpell(2837, 38, L["Trainer"],1)
-	self:addTradeSkillSpell(11357, 46, L["Trainer"],1)
-	self:addTradeSkillSpell(11358, 54, L["Trainer"],1)
-	self:addTradeSkillSpell(25347, 60, L["Trainer"],1)
-	self:addTradeSkillSpell(26969, 62, L["Trainer"],1)
-	self:addTradeSkillSpell(27282, 70, L["Trainer"],1)
-	self:addTradeSkillSpell(13220, 32, L["Trainer"],1)
-	self:addTradeSkillSpell(13228, 40, L["Trainer"],1)
-	self:addTradeSkillSpell(13229, 48, L["Trainer"],1)
-	self:addTradeSkillSpell(13230, 56, L["Trainer"],1)
-	self:addTradeSkillSpell(27283, 64, L["Trainer"],1)
-
-end
diff --git a/RecipeDB/ARL-Seasonal.lua b/RecipeDB/ARL-Seasonal.lua
new file mode 100644
index 0000000..92b105b
--- /dev/null
+++ b/RecipeDB/ARL-Seasonal.lua
@@ -0,0 +1,23 @@
+--[[
+
+ARL-Seasonal.lua
+
+ Seasonal data for all of AckisRecipeList
+
+$Date$
+$Rev$
+
+]]--
+
+local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
+
+local addon = AckisRecipeList
+
+function addon:InitSeasons(SeasonDB)
+
+	self:addLookupList(SeasonDB, 1, L["Feast of Winters Veil"])
+	self:addLookupList(SeasonDB, 2, L["Lunar Festival"])
+	self:addLookupList(SeasonDB, 3, L["Darkmoon Faire"])
+	self:addLookupList(SeasonDB, 4, L["Midsummer Fire Festival"])
+
+end
diff --git a/RecipeDB/ARL-Smelt.lua b/RecipeDB/ARL-Smelt.lua
index 8c17099..02849b6 100644
--- a/RecipeDB/ARL-Smelt.lua
+++ b/RecipeDB/ARL-Smelt.lua
@@ -1,41 +1,259 @@
 --[[

+************************************************************************
+
 ARL-Smelt.lua

 Smelting data for all of AckisRecipeList

+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+23 found from data mining.
+0 ignored.
+3 WotLK ignored.
+
+************************************************************************
+
 $Date$
 $Rev$

+************************************************************************
+
+Format:
+
+	self:addTradeSkill(RecipeDB, Spell ID, Skill Level, Item ID, Rarity, Specialty)
+
+************************************************************************
+
 ]]--

-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-local BZONE		= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-
-local addon = AckisRecipeList
-
-function addon:InitSmelting()
-
-	self:addTradeSkillSpell(2657, 1, L["Trainer"],1)
-	self:addTradeSkillSpell(3304, 65, L["Trainer"],1)
-	self:addTradeSkillSpell(2659, 65, L["Trainer"],1)
-	self:addTradeSkillSpell(2658, 75, L["Trainer"],1)
-	self:addTradeSkillSpell(3307, 125, L["Trainer"],1)
-	self:addTradeSkillSpell(3308, 155, L["Trainer"],1)
-	self:addTradeSkillSpell(3569, 165, L["Trainer"],1)
-	self:addTradeSkillSpell(10097, 175, L["Trainer"],1)
-	self:addTradeSkillSpell(14891, 230, self:CombineQuests(L["Dark Iron Obt"],0,BZONE["Blackrock Depths"]),8)
-	self:addTradeSkillSpell(10098, 230, L["Trainer"],1)
-	self:addTradeSkillSpell(16153, 250, L["Trainer"],1)
-	self:addTradeSkillSpell(22967, 270, L["Elementium Obt"],6)
-	self:addTradeSkillSpell(35750, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(35751, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(29356, 300, L["Trainer"],1)
-	self:addTradeSkillSpell(29358, 325, L["Trainer"],1)
-	self:addTradeSkillSpell(29359, 350, L["Trainer"],1)
-	self:addTradeSkillSpell(29360, 350, L["Trainer"],1)
-	self:addTradeSkillSpell(29361, 375, L["Trainer"],1)
-	self:addTradeSkillSpell(29686, 375, L["Trainer"],1)
-	self:addTradeSkillSpell(46353, 375, L["SunwellBoP"],6)
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+function addon:InitSmelting(RecipeDB)
+
+	local recipecount = 0
+
+	-- Smelt Copper -- 2657
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2657, 1, 2840, 1, 2575)
+	self:addTradeFlags(RecipeDB, 2657, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Smelt Silver -- 2658
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2658, 100, 2842, 1, 2575)
+	self:addTradeFlags(RecipeDB, 2658, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2658, 1, 1681, 1, 1701, 1, 3001, 1, 3137, 1, 3175, 1, 3357, 1, 3555, 1, 4254, 1, 4598, 1, 5392, 1, 5513, 1, 6297, 1, 8128, 1, 16663, 1, 16752, 1, 17488, 1, 18747, 1, 18779, 1, 18804)
+
+	-- Smelt Bronze -- 2659
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2659, 15, 2841, 1, 2575)
+	self:addTradeFlags(RecipeDB, 2659, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2659, 1, 1681, 1, 1701, 1, 3001, 1, 3137, 1, 3175, 1, 3357, 1, 3555, 1, 4254, 1, 4598, 1, 5392, 1, 5513, 1, 6297, 1, 8128, 1, 16663, 1, 16752, 1, 17488, 1, 18747, 1, 18779, 1, 18804)
+
+	-- Smelt Tin -- 3304
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3304, 55, 3576, 1, 2575)
+	self:addTradeFlags(RecipeDB, 3304, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3304, 1, 1681, 1, 1701, 1, 3001, 1, 3137, 1, 3175, 1, 3357, 1, 3555, 1, 4254, 1, 4598, 1, 5392, 1, 5513, 1, 6297, 1, 8128, 1, 16663, 1, 16752, 1, 17488, 1, 18747, 1, 18779, 1, 18804)
+
+	-- Smelt Iron -- 3307
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3307, 100, 3575, 1, 2575)
+	self:addTradeFlags(RecipeDB, 3307, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3307, 1, 1681, 1, 1701, 1, 3001, 1, 3137, 1, 3175, 1, 3357, 1, 3555, 1, 4254, 1, 4598, 1, 5392, 1, 5513, 1, 6297, 1, 8128, 1, 16663, 1, 16752, 1, 17488, 1, 18747, 1, 18779, 1, 18804)
+
+	-- Smelt Gold -- 3308
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3308, 155, 3577, 1, 2575)
+	self:addTradeFlags(RecipeDB, 3308, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3308, 1, 1681, 1, 1701, 1, 3001, 1, 3137, 1, 3175, 1, 3357, 1, 3555, 1, 4254, 1, 4598, 1, 5392, 1, 5513, 1, 6297, 1, 8128, 1, 16663, 1, 16752, 1, 17488, 1, 18747, 1, 18779, 1, 18804)
+
+	-- Smelt Steel -- 3569
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3569, 165, 3859, 1, 2575)
+	self:addTradeFlags(RecipeDB, 3569, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3569, 1, 1681, 1, 1701, 1, 3001, 1, 3137, 1, 3175, 1, 3357, 1, 3555, 1, 4254, 1, 4598, 1, 5392, 1, 5513, 1, 6297, 1, 8128, 1, 16663, 1, 16752, 1, 17488, 1, 18747, 1, 18779, 1, 18804)
+
+	-- Smelt Mithril -- 10097
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10097, 120, 3860, 1, 2575)
+	self:addTradeFlags(RecipeDB, 10097, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 10097, 1, 1681, 1, 1701, 1, 3001, 1, 3137, 1, 3175, 1, 3357, 1, 3555, 1, 4254, 1, 4598, 1, 5392, 1, 5513, 1, 6297, 1, 8128, 1, 16663, 1, 16752, 1, 17488, 1, 18747, 1, 18779, 1, 18804)
+
+	-- Smelt Truesilver -- 10098
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 10098, 220, 6037, 1, 2575)
+	self:addTradeFlags(RecipeDB, 10098, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 10098, 1, 1681, 1, 1701, 1, 3001, 1, 3137, 1, 3175, 1, 3357, 1, 3555, 1, 4254, 1, 4598, 1, 5392, 1, 5513, 1, 6297, 1, 8128, 1, 16663, 1, 16752, 1, 17488, 1, 18747, 1, 18779, 1, 18804)
+
+	-- Smelt Dark Iron -- 14891
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 14891, 290, 11371, 1, 2575)
+	self:addTradeFlags(RecipeDB, 14891, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Smelt Thorium -- 16153
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 16153, 210, 12359, 1, 2575)
+	self:addTradeFlags(RecipeDB, 16153, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 16153, 1, 1681, 1, 1701, 1, 3001, 1, 3137, 1, 3175, 1, 3357, 1, 3555, 1, 4254, 1, 4598, 1, 5392, 1, 5513, 1, 6297, 1, 8128, 1, 16663, 1, 16752, 1, 17488, 1, 18747, 1, 18779, 1, 18804)
+
+	-- Smelt Fel Iron -- 29356
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29356, 285, 23445, 1, 2575)
+	self:addTradeFlags(RecipeDB, 29356, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 29356, 1, 18747, 1, 18779)
+
+	-- Smelt Adamantite -- 29358
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29358, 310, 23446, 1, 2575)
+	self:addTradeFlags(RecipeDB, 29358, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 29358, 1, 18747, 1, 18779)
+
+	-- Smelt Eternium -- 29359
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29359, 335, 23447, 1, 2575)
+	self:addTradeFlags(RecipeDB, 29359, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 29359, 1, 18747, 1, 18779)
+
+	-- Smelt Felsteel -- 29360
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29360, 330, 23448, 1, 2575)
+	self:addTradeFlags(RecipeDB, 29360, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 29360, 1, 18747, 1, 18779)
+
+	-- Smelt Khorium -- 29361
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29361, 375, 23449, 1, 2575)
+	self:addTradeFlags(RecipeDB, 29361, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 29361, 1, 18747, 1, 18779)
+
+	-- Smelt Hardened Adamantite -- 29686
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 29686, 375, 23573, 1, 2575)
+	self:addTradeFlags(RecipeDB, 29686, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 29686, 1, 18747, 1, 18779)
+
+	-- Earth Shatter -- 35750
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35750, 300, 22573, 1, 2575)
+	self:addTradeFlags(RecipeDB, 35750, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 35750, 1, 18747, 1, 18779)
+
+	-- Fire Sunder -- 35751
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 35751, 300, 22574, 1, 2575)
+	self:addTradeFlags(RecipeDB, 35751, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 35751, 1, 18747, 1, 18779)
+
+	-- Smelt Hardened Khorium -- 46353
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46353, 375, 35128, 3, 2575)
+	self:addTradeFlags(RecipeDB, 46353, 6,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 46353, 3, 25363, 3, 25367, 3, 25368, 3, 25369, 3, 25370, 3, 25371, 3, 25372, 3, 25486, 3, 25506, 3, 25507)
+
+	-- Smelt Cobalt -- 49252
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 49252, 325, 36916, 1, 2575)
+	--self:addTradeFlags(RecipeDB, 49252, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Smelt Saronite -- 49258
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 49258, 400, 36913, 1, 2575)
+	--self:addTradeFlags(RecipeDB, 49258, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Smelt Elementium -- 53417
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	--recipecount = recipecount + 1
+	--self:addTradeSkill(RecipeDB, 53417, 325, 17771, 5, 2575)
+	--self:addTradeFlags(RecipeDB, 53417, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	return recipecount

 end
diff --git a/RecipeDB/ARL-Tailor.lua b/RecipeDB/ARL-Tailor.lua
index 79baf0b..efc3e85 100644
--- a/RecipeDB/ARL-Tailor.lua
+++ b/RecipeDB/ARL-Tailor.lua
@@ -1,355 +1,3364 @@
 --[[

+************************************************************************
+
 ARL-Tailor.lua

 Tailoring data for all of AckisRecipeList

+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+325 found from data mining.
+0 ignored.
+0 WotLK ignored.
+
+************************************************************************
+
 $Date$
 $Rev$

+************************************************************************
+
+Format:
+
+	self:addTradeSkill(RecipeDB, Spell ID, Skill Level, Item ID, Rarity, Specialty)
+
+************************************************************************
+
 ]]--

-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-local BZONE		= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local BBOSS		= LibStub("LibBabble-Boss-3.0"):GetLookupTable()
-
-local addon = AckisRecipeList
-
-function addon:InitTailoring()
-
-	-- Trainer Recipes
-	self:addTradeSkillSpell(2963, 1, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2387, 1, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2393, 1, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3915, 1, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12044, 1, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2385, 10, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8776, 15, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12045, 20, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3914, 30, L["Trainer"],1,10)
-	self:addTradeSkillSpell(7623, 30, L["Trainer"],1,10)
-	self:addTradeSkillSpell(7624, 30, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3840, 35, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2392, 40, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2394, 40, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8465, 40, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3755, 45, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2397, 60, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3841, 60, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2386, 65, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2395, 70, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2964, 75, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2402, 75, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12046, 75, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3845, 80, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3757, 80, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2399, 85, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3843, 85, L["Trainer"],1,10)
-	self:addTradeSkillSpell(6521, 90, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2396, 70, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3842, 70, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2401, 95, L["Trainer"],1,10)
-	self:addTradeSkillSpell(2406, 100, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3848, 110, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3850, 110, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8467, 110, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3839, 125, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3855, 125, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3866, 110, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3852, 130, L["Trainer"],1,10)
-	self:addTradeSkillSpell(6690, 135, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8758, 140, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8760, 145, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3859, 150, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3813, 150, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8483, 160, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8762, 160, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3871, 170, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8764, 170, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3865, 175, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8489, 175, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8766, 175, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8772, 175, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8774, 180, L["Trainer"],1,10)
-	self:addTradeSkillSpell(3861, 185, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8791, 185, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8770, 190, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8799, 195, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12048, 205, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12049, 205, L["Trainer"],1,10)
-	self:addTradeSkillSpell(8804, 210, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12050, 210, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12052, 210, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12053, 215, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12055, 215, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12061, 215, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12065, 225, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12067, 225, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12069, 225, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12070, 225, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12071, 225, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12072, 230, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12073, 230, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12074, 230, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12076, 235, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12077, 235, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12079, 235, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12082, 240, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12088, 245, L["Trainer"],1,10)
-	self:addTradeSkillSpell(12092, 250, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18401, 250, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18402, 255, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18417, 275, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18423, 280, L["Trainer"],1,10)
-	self:addTradeSkillSpell(31460, 300, L["Trainer"],1,10)
-	self:addTradeSkillSpell(26745, 300, L["Trainer"],1,10)
-	self:addTradeSkillSpell(26764, 310, L["Trainer"],1,10)
-	self:addTradeSkillSpell(26765, 310, L["Trainer"],1,10)
-	self:addTradeSkillSpell(26746, 315, L["Trainer"],1,10)
-	self:addTradeSkillSpell(26770, 320, L["Trainer"],1,10)
-	self:addTradeSkillSpell(26771, 325, L["Trainer"],1,10)
-	self:addTradeSkillSpell(26772, 335, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18438, 285, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18442, 290, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18437, 285, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18444, 295, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18449, 300, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18453, 300, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18451, 300, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18446, 300, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18450, 300, L["Trainer"],1,10)
-	self:addTradeSkillSpell(18441, 290, L["Trainer"],1,10)
-
-	-- Skill Cap Increases
-	--self:addTradeSkillSpell(3912, 50, L["Trainer"], L["Journeyman"])
-	--self:addTradeSkillSpell(3913, 125, L["Trainer"], L["Expert"])
-
-	-- Vendor Recipes
-	self:addTradeSkillSpell(7639, 100, self:CombineVendors(52,5,7,26,18, false),2,10)
-	self:addTradeSkillSpell(7630, 55, self:CombineVendors(1, 2, 3, 4, 5, false),2,10)
-	self:addTradeSkillSpell(6686, 70, self:CombineVendors(6, 2, 7, 8, 9, false),2,10)
-	self:addTradeSkillSpell(7633, 70, self:CombineVendors(1, 6, 10, 11, 12, false),2,10)
-	self:addTradeSkillSpell(6688, 115, self:CombineVendors(13, 5, 14, 15, 9, 16, 17, 18, 19, false),2,10)
-	self:addTradeSkillSpell(7643, 115, self:CombineVendors(11, 14, 16, 12, 17, 20, false),2,10)
-	self:addTradeSkillSpell(3869, 135, self:CombineVendors(21, false), BFAC["Alliance"],2,10)
-	self:addTradeSkillSpell(3854, 145, self:CombineVendors(24, 25, false),2,10)
-	self:addTradeSkillSpell(3870, 155, self:CombineVendors(20, 26, false),2,10)
-	self:addTradeSkillSpell(3857, 165, self:CombineVendors(27, false),2,10)
-	self:addTradeSkillSpell(8786, 175, self:CombineVendors(22, 23, false),2,10)
-	self:addTradeSkillSpell(8789, 180, self:CombineVendors(27, false),2,10)
-	self:addTradeSkillSpell(3862, 200, self:CombineVendors(28, 29, false),2,10)
-	self:addTradeSkillSpell(3873, 200, self:CombineVendors(30, false),2,10)
-	self:addTradeSkillSpell(8802, 205, self:CombineVendors(31, false),2,10)
-	self:addTradeSkillSpell(12064, 220, self:CombineVendors(9, 11, false),2,10)
-	self:addTradeSkillSpell(27658, 225, self:CombineVendors(32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, false),2,10)
-	self:addTradeSkillSpell(12075, 230, self:CombineVendors(5, 50, false),2,10)
-	self:addTradeSkillSpell(12080, 235, self:CombineVendors(5, 50, false),2,10)
-	self:addTradeSkillSpell(12081, 240,self:CombineVendors(51, false),2,10)
-	self:addTradeSkillSpell(12085, 240, self:CombineVendors(16, 50, false),2,10)
-	self:addTradeSkillSpell(12089, 245, self:CombineVendors(16, 50, false),2,10)
-	self:addTradeSkillSpell(12091, 250, self:CombineVendors(9, 52, false),2,10)
-	self:addTradeSkillSpell(12093, 250, self:CombineVendors(16, 50, false),2,10)
-	self:addTradeSkillSpell(18560, 250, self:CombineVendors(53, false),2,10)
-	self:addTradeSkillSpell(18406, 260, self:CombineVendors(55, false),2,10)
-	self:addTradeSkillSpell(18405, 260, self:CombineVendors(53, false),2,10)
-	self:addTradeSkillSpell(26085, 260, self:CombineVendors(31, false),2,10)
-	self:addTradeSkillSpell(18409, 265, self:CombineVendors(55, false),2,10)
-	self:addTradeSkillSpell(18419, 275, self:CombineVendors(56, false),2,10)
-	self:addTradeSkillSpell(27659, 275, self:CombineVendors(39, false),2,10)
-	self:addTradeSkillSpell(27724, 275, self:CombineVendors(57, false),2,10)
-	self:addTradeSkillSpell(22902, 300, self:CombineVendors(54, false),2,10)
-	self:addTradeSkillSpell(26747, 325, self:CombineVendors(58, 59, 60, false),2,10)
-	self:addTradeSkillSpell(26749, 340, self:CombineVendors(59, 61, false),2,10)
-	self:addTradeSkillSpell(26773, 340, self:CombineVendors(58, 59, 60, false),2,10)
-	self:addTradeSkillSpell(26775, 340, self:CombineVendors(63, 64, false),2,10)
-	self:addTradeSkillSpell(26750, 345, self:CombineVendors(153, 58, 61, 60, false),2,10)
-	self:addTradeSkillSpell(26774, 345, self:CombineVendors(58, 59, 60, false),2,10)
-	self:addTradeSkillSpell(26751, 350, self:CombineVendors(139, false),2,10)
-	self:addTradeSkillSpell(26776, 350, self:CombineVendors(63, 64, false),2,10)
-	self:addTradeSkillSpell(31373, 350, self:CombineVendors(65, false),2,10)
-	self:addTradeSkillSpell(36686, 350, self:CombineVendors(66, false),2,10)
-	self:addTradeSkillSpell(26779, 355, self:CombineVendors(61, 153, false),2,10)
-	self:addTradeSkillSpell(26777, 360, self:CombineVendors(62, false),2,10)
-	self:addTradeSkillSpell(26778, 360, self:CombineVendors(62, false),2,10)
-	self:addTradeSkillSpell(26755, 375, self:CombineVendors(65, false),2,10)
-	self:addTradeSkillSpell(26759, 375, self:CombineVendors(66, false),2,10)
-	self:addTradeSkillSpell(26763, 375, self:CombineVendors(139, false),2,10)
-	self:addTradeSkillSpell(26760, 355, self:CombineVendors(139, false), GetSpellInfo(26798),2,10)
-	self:addTradeSkillSpell(26761, 365, self:CombineVendors(139, false), GetSpellInfo(26798),2,10)
-	self:addTradeSkillSpell(26762, 375, self:CombineVendors(139, false), GetSpellInfo(26798),2,10)
-	self:addTradeSkillSpell(26756, 355, self:CombineVendors(66, false), GetSpellInfo(26801),2,10)
-	self:addTradeSkillSpell(26757, 365, self:CombineVendors(66, false), GetSpellInfo(26801),2,10)
-	self:addTradeSkillSpell(26758, 375, self:CombineVendors(66, false), GetSpellInfo(26801),2,10)
-	self:addTradeSkillSpell(26752, 355, self:CombineVendors(65, false), GetSpellInfo(26797),2,10)
-	self:addTradeSkillSpell(26753, 365, self:CombineVendors(65, false), GetSpellInfo(26797),2,10)
-	self:addTradeSkillSpell(26754, 370, self:CombineVendors(65, false), GetSpellInfo(26797),2,10)
-	self:addTradeSkillSpell(49677, 250, self:CombineVendors(286, false),2,10)
-	self:addTradeSkillSpell(50644, 250, self:CombineVendors(286, false),2,10)
-	self:addTradeSkillSpell(50647, 245, self:CombineVendors(286, false),2,10)
-
-	-- World Drops
-	self:addTradeSkillSpell(2389, 40, L["UWD"],3,10)
-	self:addTradeSkillSpell(7629, 55, L["UWD"],3,10)
-	self:addTradeSkillSpell(3847, 95, L["UWD"],3,10)
-	self:addTradeSkillSpell(3758, 95, L["UWD"],3,10)
-	self:addTradeSkillSpell(3844, 100, L["UWD"],3,10)
-	self:addTradeSkillSpell(2403, 105, L["UWD"],3,10)
-	self:addTradeSkillSpell(3849, 120, L["UWD"],3,10)
-	self:addTradeSkillSpell(7892, 120, L["UWD"],3,10)
-	self:addTradeSkillSpell(7893, 120, L["UWD"],3,10)
-	self:addTradeSkillSpell(12047, 120, L["UWD"],3,10)
-	self:addTradeSkillSpell(3851, 125, L["UWD"],3,10)
-	self:addTradeSkillSpell(3868, 125, L["UWD"],3,10)
-	self:addTradeSkillSpell(3856, 140, L["UWD"],3,10)
-	self:addTradeSkillSpell(8780, 145, L["UWD"],3,10)
-	self:addTradeSkillSpell(8782, 150, L["UWD"],3,10)
-	self:addTradeSkillSpell(8784, 165, L["UWD"],3,10)
-	self:addTradeSkillSpell(3858, 170, L["UWD"],3,10)
-	self:addTradeSkillSpell(3860, 175, L["UWD"],3,10)
-	self:addTradeSkillSpell(6693, 175, L["UWD"],3,10)
-	self:addTradeSkillSpell(3863, 180, L["UWD"],3,10)
-	self:addTradeSkillSpell(3872, 185, L["UWD"],3,10)
-	self:addTradeSkillSpell(8793, 190, L["UWD"],3,10)
-	self:addTradeSkillSpell(8795, 190, L["UWD"],3,10)
-	self:addTradeSkillSpell(8797, 195, L["UWD"],3,10)
-	self:addTradeSkillSpell(3864, 200, L["UWD"],3,10)
-	self:addTradeSkillSpell(12056, 215, L["UWD"],3,10)
-	self:addTradeSkillSpell(12059, 215, L["UWD"],3,10)
-	self:addTradeSkillSpell(12060, 215, L["UWD"],3,10)
-	self:addTradeSkillSpell(12066, 225, L["UWD"],3,10)
-	self:addTradeSkillSpell(12078, 235, L["UWD"],3,10)
-	self:addTradeSkillSpell(12084, 240, L["UWD"],3,10)
-	self:addTradeSkillSpell(18403, 255, L["UWD"],3,10)
-	self:addTradeSkillSpell(18404, 255, L["UWD"],3,10)
-	self:addTradeSkillSpell(18407, 260, L["UWD"],3,10)
-	self:addTradeSkillSpell(18411, 265, L["UWD"],3,10)
-	self:addTradeSkillSpell(18415, 270, L["UWD"],3,10)
-	self:addTradeSkillSpell(18414, 270, L["UWD"],3,10)
-	self:addTradeSkillSpell(18420, 275, L["UWD"],3,10)
-	self:addTradeSkillSpell(18424, 280, L["UWD"],3,10)
-	self:addTradeSkillSpell(18439, 290, L["UWD"],3,10)
-	self:addTradeSkillSpell(18440, 290, L["UWD"],3,10)
-	self:addTradeSkillSpell(18445, 300, L["UWD"],3,10)
-	self:addTradeSkillSpell(18447, 300, L["UWD"],3,10)
-	self:addTradeSkillSpell(18448, 300, L["UWD"],3,10)
-	self:addTradeSkillSpell(18452, 300, L["RWD"],3,10)
-	self:addTradeSkillSpell(18454, 300, L["EWD"],3,10)
-	self:addTradeSkillSpell(18455, 300, L["RWD"],3,10)
-	self:addTradeSkillSpell(31434, 350, L["RWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5,10)
-	self:addTradeSkillSpell(31435, 350, L["UWD"],3,10)
-	self:addTradeSkillSpell(31437, 350, L["UWD"],3,10)
-	self:addTradeSkillSpell(31438, 350, L["UWD"],3,10)
-	self:addTradeSkillSpell(31440, 350, L["UWD"],3,10)
-	self:addTradeSkillSpell(31441, 350, L["UWD"],3,10)
-	self:addTradeSkillSpell(31442, 365, L["EWD"] .. addon.br .. self:CombineMobs(false,BBOSS["Kael'thas Sunstrider"],BZONE["Magisters' Terrace"]),3,5,10)
-	self:addTradeSkillSpell(31443, 365, L["EWD"],3,10)
-	self:addTradeSkillSpell(31444, 365, L["UWD"],3,10)
-	self:addTradeSkillSpell(31448, 365, L["UWD"],3,10)
-	self:addTradeSkillSpell(31449, 365, L["UWD"],3,10)
-	self:addTradeSkillSpell(31450, 365, L["UWD"],3,10)
-
-	-- Seasonal
- 	self:addTradeSkillSpell(21945, 190, L["WintersVeil"],7,10)
-	self:addTradeSkillSpell(44958, 250, L["WintersVeil"],7,BFAC["Alliance"],10)
-	self:addTradeSkillSpell(44950, 250, L["WintersVeil"],7,BFAC["Horde"],10)
-	self:addTradeSkillSpell(26407, 250, L["WintersVeil"],7,10)
- 	self:addTradeSkillSpell(26403, 250, L["Lunar Festival"],7,10)
-
-	-- Specific Drops
-	self:addTradeSkillSpell(6692, 150, self:CombineMobs(true,L["Robes of Arcana Obt"],BZONE["Darkshore"]) .. addon.br .. self:CombineMobs(true,L["Robes of Arcana Obt1"],BZONE["Duskwood"]),3,10)
-	self:addTradeSkillSpell(6695, 185, self:CombineMobs(true,L["Black Silk Pack Obt"],BZONE["Alterac Mountains"]) .. addon.br .. self:CombineMobs(true,L["Black Silk Pack Obt1"],BZONE["Dustwallow Marsh"]) .. addon.br .. self:CombineMobs(true,L["Black Silk Pack Obt2"],BZONE["Hillsbrad Foothills"]),3,10)
-	self:addTradeSkillSpell(12086, 245, self:CombineQuests(L["Shadoweave Mask Obt"],0,BZONE["Searing Gorge"]),8,10)
-	self:addTradeSkillSpell(18408, 260, self:CombineMobs(true,L["Cindercloth Vest Obt"],BZONE["Searing Gorge"]),3,10)
-	self:addTradeSkillSpell(18410, 265, self:CombineMobs(true,L["Ghostweave Belt Obt"],BZONE["Azshara"]),3,10)
-	self:addTradeSkillSpell(18412, 270, self:CombineMobs(true,L["Cindercloth Gloves Obt"],BZONE["Searing Gorge"]),3,10)
-	self:addTradeSkillSpell(18413, 270, self:CombineMobs(true,L["Ghostweave Gloves Obt"],BZONE["Azshara"]) .. addon.br .. self:CombineMobs(true,L["Ghostweave Gloves Obt1"],BZONE["Eastern Plaguelands"]),3,10)
-	self:addTradeSkillSpell(18416, 275, self:CombineMobs(true,L["Ghostweave Vest Obt"],BZONE["Eastern Plaguelands"]),3,10)
-	self:addTradeSkillSpell(18418, 275, self:CombineMobs(true,L["Cindercloth Cloak Obt"],BZONE["Burning Steppes"]),3,10)
-	self:addTradeSkillSpell(18421, 275, self:CombineMobs(true,L["Wizardweave Leggings Obt"],BZONE["Eastern Plaguelands"] .. " " .. BZONE["Stratholme"]),3,10)
-	self:addTradeSkillSpell(18422, 275, self:CombineMobs(false,L["Cloak of Fire Obt"],BZONE["Blackrock Mountain"]),4,10)
-	self:addTradeSkillSpell(18434, 280, self:CombineMobs(true,L["Cindercloth Pants Obt"],BZONE["Burning Steppes"]),3,10)
-	self:addTradeSkillSpell(18436, 285, self:CombineMobs(false,L["Robe of Winter Night Obt"],BZONE["Winterspring"]),4,10)
-	self:addTradeSkillSpell(26086, 285, self:CombineMobs(false,L["Felcloth Bag Obt"],BZONE["Scholomance"]),4,5,10)
-	self:addTradeSkillSpell(19435, 290, self:CombineQuests(L["Mooncloth Boots Obt"],0,BZONE["Felwood"]),8,10)
-	self:addTradeSkillSpell(22813, 300, self:CombineQuests(L["Gordok Ogre Suit Obt"],0,BZONE["Dire Maul"]),5,10)
-	self:addTradeSkillSpell(18456, 300, self:CombineMobs(true,BBOSS["Balnazzar"],BZONE["Stratholme"]),"PRIEST",3,5,10)
-	self:addTradeSkillSpell(18457, 300, self:CombineMobs(true,L["Robe of the Archmage Obt"],BZONE["Lower Blackrock Spire"]),"MAGE",3,5,10)
-	self:addTradeSkillSpell(18458, 300, self:CombineMobs(true,BBOSS["Darkmaster Gandling"],BZONE["Scholomance"]),"WARLOCK",3,5,10)
-	self:addTradeSkillSpell(22866, 300, self:CombineMobs(false,L["DMCACHE"],BZONE["Dire Maul"]),4,5,10)
-	self:addTradeSkillSpell(22867, 300, self:CombineMobs(false,L["DMCACHE"],BZONE["Dire Maul"]),4,5,10)
-	self:addTradeSkillSpell(22868, 300, self:CombineMobs(false,L["DMCACHE"],BZONE["Dire Maul"]),4,5,10)
-	self:addTradeSkillSpell(22869, 300, self:CombineMobs(false,L["DMCACHE"],BZONE["Dire Maul"]),4,5,10)
-	self:addTradeSkillSpell(22870, 300, self:CombineMobs(false,L["DMCACHE"],BZONE["Dire Maul"]),4,5,10)
-	self:addTradeSkillSpell(24902, 300, self:CombineQuests(L["TrueBelieverQuest"],0,BZONE["Silithus"]),8,10)
-	self:addTradeSkillSpell(24903, 300, self:CombineQuests(L["TrueBelieverQuest"],0,BZONE["Silithus"]),8,10)
-	self:addTradeSkillSpell(24901, 300, self:CombineQuests(L["TrueBelieverQuest"],0,BZONE["Silithus"]),8,10)
-	self:addTradeSkillSpell(27660, 300, self:CombineMobs(true,BBOSS["Magister Kalendris"],BZONE["Dire Maul"]),3,5,10)
-	self:addTradeSkillSpell(26782, 350, self:CombineMobs(false,L["Arcanoweave Bracers Obt"],BZONE["The Arcatraz"]),4,5,10)
-	self:addTradeSkillSpell(26783, 360, self:CombineMobs(false,L["Arcanoweave Boots Obt"],BZONE["The Mechanar"]),4,5,10)
-	self:addTradeSkillSpell(26784, 370, self:CombineMobs(false,BBOSS["Pathaleon the Calculator"],BZONE["The Mechanar"]),4,5,10)
-	self:addTradeSkillSpell(31451, 375, self:CombineMobs(false,BBOSS["Dalliah the Doomsayer"],BZONE["The Arcatraz"]),4,5,10)
-	self:addTradeSkillSpell(31452, 375, self:CombineMobs(false,BBOSS["Murmur"],BZONE["Shadow Labyrinth"]),4,5,10)
-	self:addTradeSkillSpell(31453, 375, self:CombineMobs(false,BBOSS["Thorngrin the Tender"],BZONE["The Botanica"]),4,5,10)
-	self:addTradeSkillSpell(31454, 375, self:CombineMobs(false,BBOSS["Warp Splinter"],BZONE["The Botanica"]),4,5,10)
-	self:addTradeSkillSpell(31455, 375, self:CombineMobs(false,BBOSS["Grand Warlock Nethekurse"],BZONE["The Shattered Halls"]),4,5,10)
-	self:addTradeSkillSpell(31456, 375, self:CombineMobs(false,BBOSS["Warlord Kalithresh"],BZONE["The Steamvault"]),4,5,10)
-
-	-- Reputations
-	self:addTradeSkillSpell(23662, 290, self:AddSingleReputation(2, BFAC["Timbermaw Hold"]), BFAC["Timbermaw Hold"],10)
-	self:addTradeSkillSpell(23664, 290, self:AddSingleReputation(2, BFAC["Argent Dawn"]), BFAC["Argent Dawn"],10)
-	self:addTradeSkillSpell(20848, 300, self:AddSingleReputation(2, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"],10)
-	self:addTradeSkillSpell(20849, 300, self:AddSingleReputation(1, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"],10)
-	self:addTradeSkillSpell(23663, 300, self:AddSingleReputation(3, BFAC["Timbermaw Hold"]), BFAC["Timbermaw Hold"],10)
-	self:addTradeSkillSpell(23665, 300, self:AddSingleReputation(3, BFAC["Argent Dawn"]), BFAC["Argent Dawn"],10)
-	self:addTradeSkillSpell(23666, 300, self:AddSingleReputation(2, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"],10)
-	self:addTradeSkillSpell(23667, 300, self:AddSingleReputation(3, BFAC["Thorium Brotherhood"]), BFAC["Thorium Brotherhood"],10)
-	self:addTradeSkillSpell(24093, 300, self:AddSingleReputation(1, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6,10)
-	self:addTradeSkillSpell(24092, 300, self:AddSingleReputation(2, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6,10)
-	self:addTradeSkillSpell(24091, 300, self:AddSingleReputation(3, BFAC["Zandalar Tribe"]), BFAC["Zandalar Tribe"], 6,10)
-	self:addTradeSkillSpell(27725, 300, self:AddSingleReputation(3, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"],10)
-	self:addTradeSkillSpell(28210, 300, self:AddSingleReputation(3, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"],10)
-	self:addTradeSkillSpell(28481, 300, self:AddSingleReputation(2, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"],10)
-	self:addTradeSkillSpell(28482, 300, self:AddSingleReputation(1, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"],10)
-	self:addTradeSkillSpell(28480, 300, self:AddSingleReputation(3, BFAC["Cenarion Circle"]), BFAC["Cenarion Circle"],10)
-	self:addTradeSkillSpell(28205, 300, self:AddSingleReputation(3, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6,10)
-	self:addTradeSkillSpell(28209, 300, self:AddSingleReputation(3, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6,10)
-	self:addTradeSkillSpell(28207, 300, self:AddSingleReputation(4, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6,10)
-	self:addTradeSkillSpell(28208, 300, self:AddSingleReputation(4, BFAC["Argent Dawn"]) .. addon.br .. L["ADNaxx"], BFAC["Argent Dawn"], 6,10)
-	self:addTradeSkillSpell(31430, 335, self:AddSingleReputation(2, BFAC["The Scryers"]), BFAC["The Scryers"],10)
-	self:addTradeSkillSpell(31431, 335, self:AddSingleReputation(2, BFAC["The Aldor"]), BFAC["The Aldor"],10)
-	self:addTradeSkillSpell(31459, 340, self:AddSingleReputation(2, BFAC["The Consortium"]), BFAC["The Consortium"],10)
-	self:addTradeSkillSpell(37873, 350, self:AddSingleReputation(2, BFAC["Lower City"]), BFAC["Lower City"],10)
-	self:addTradeSkillSpell(37882, 350, self:AddSingleReputation(1, BFAC["The Aldor"]), BFAC["The Aldor"],10)
-	self:addTradeSkillSpell(37883, 360, self:AddSingleReputation(2, BFAC["The Aldor"]), BFAC["The Aldor"],10)
-	self:addTradeSkillSpell(37884, 370, self:AddSingleReputation(4, BFAC["The Aldor"]), BFAC["The Aldor"],10)
-	self:addTradeSkillSpell(31432, 375, self:AddSingleReputation(4, BFAC["The Scryers"]), BFAC["The Scryers"],10)
-	self:addTradeSkillSpell(31433, 375, self:AddSingleReputation(4, BFAC["The Aldor"]), BFAC["The Aldor"],10)
-	self:addTradeSkillSpell(40060, 375, self:AddSingleReputation(2, BFAC["Ashtongue Deathsworn"]), BFAC["Ashtongue Deathsworn"], 6,10)
-	self:addTradeSkillSpell(40021, 375, self:AddSingleReputation(1, BFAC["Ashtongue Deathsworn"]), BFAC["Ashtongue Deathsworn"], 6,10)
-	self:addTradeSkillSpell(40024, 375, self:AddSingleReputation(1, BFAC["Ashtongue Deathsworn"]), BFAC["Ashtongue Deathsworn"], 6,10)
-	self:addTradeSkillSpell(40023, 375, self:AddSingleReputation(2, BFAC["Ashtongue Deathsworn"]), BFAC["Ashtongue Deathsworn"], 6,10)
-	self:addTradeSkillSpell(40020, 375, self:AddSingleReputation(2, BFAC["Ashtongue Deathsworn"]), BFAC["Ashtongue Deathsworn"], 6,10)
-	if (_G.GameTimeFrame_OnClick) then
-		self:addTradeSkillSpell(50194, 375, self:AddSingleReputation(3, BFAC["Sporeggar"]), BFAC["Sporeggar"],10)
-	end
-
-	-- Raid Drops
-	self:addTradeSkillSpell(22759, 300, L["MOLTENCORE"], 6,10)
-	self:addTradeSkillSpell(26087, 300, L["MOLTENCORE"], 6,10)
-	self:addTradeSkillSpell(26780, 365, self:CombineMobs(false,L["Soulcloth Shoulders Obt"],BZONE["Karazhan"]), 6,10)
-	self:addTradeSkillSpell(26781, 375, self:CombineMobs(false,L["Soulcloth Vest Obt"],BZONE["Karazhan"]), 6,10)
-	self:addTradeSkillSpell(36318, 375, L["SSC/TKBoE"], 6,10)
-	self:addTradeSkillSpell(36316, 375, L["SSC/TKBoP"], 6,10)
-	self:addTradeSkillSpell(36315, 375, L["SSC/TKBoP"], 6,10)
-	self:addTradeSkillSpell(36317, 375, L["SSC/TKBoE"], 6,10)
-	self:addTradeSkillSpell(41207, 375, L["BT/HYJALBoP"], 6,10)
-	self:addTradeSkillSpell(41208, 375, L["BT/HYJALBoE"], 6,10)
-	self:addTradeSkillSpell(41205, 375, L["BT/HYJALBoP"], 6,10)
-	self:addTradeSkillSpell(41206, 375, L["BT/HYJALBoE"], 6,10)
-	self:addTradeSkillSpell(46128, 365, L["SunwellBoP"], 6,10)
-	self:addTradeSkillSpell(46129, 365, L["SunwellBoP"], 6,10)
-	self:addTradeSkillSpell(46130, 365, L["SunwellBoP"], 6,10)
-	self:addTradeSkillSpell(46131, 365, L["SunwellBoP"], 6,10)
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+function addon:InitTailoring(RecipeDB)
+
+	local recipecount = 0
+
+	-- Brown Linen Vest -- 2385
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val15id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2385, 20, 2568, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2385, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 2385, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Linen Boots -- 2386
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val16id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2386, 55, 2569, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2386, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 2386, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Linen Cloak -- 2387
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val6id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2387, 10, 2570, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2387, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	-- No acquire information
+
+	-- Red Linen Robe -- 2389
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val1id4val19id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2389, 30, 2572, 2, 3908)
+	self:addTradeFlags(RecipeDB, 2389, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 2389, 7, 2)
+
+	-- Red Linen Shirt -- 2392
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2392, 30, 2575, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2392, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2392, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- White Linen Shirt -- 2393
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2393, 10, 2576, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2393, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2393, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Blue Linen Shirt -- 2394
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2394, 30, 2577, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2394, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2394, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Barbaric Linen Vest -- 2395
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val2id3val2id5val26id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2395, 60, 2578, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2395, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 2395, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Green Linen Shirt -- 2396
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2396, 60, 2579, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2396, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2396, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Reinforced Linen Cape -- 2397
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val11id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2397, 50, 2580, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2397, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	self:addTradeAcquire(RecipeDB, 2397, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Green Woolen Vest -- 2399
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val29id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2399, 75, 2582, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2399, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 2399, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Woolen Boots -- 2401
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val2id4val2id5val22id6val2id19val2id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2401, 85, 2583, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2401, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 2401, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Woolen Cape -- 2402
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val14id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2402, 65, 2584, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2402, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	self:addTradeAcquire(RecipeDB, 2402, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Gray Woolen Robe -- 2403
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val4id3val5id4val35id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2403, 95, 2585, 2, 3908)
+	self:addTradeFlags(RecipeDB, 2403, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 2403, 7, 2)
+
+	-- Gray Woolen Shirt -- 2406
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2406, 90, 2587, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2406, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2406, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Bolt of Linen Cloth -- 2963
+	-- Default profession that you learn when picking up a profession, no reason to get acquire information for it.
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2963, 1, 2996, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2963, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Bolt of Woolen Cloth -- 2964
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 2964, 75, 2997, 1, 3908)
+	self:addTradeFlags(RecipeDB, 2964, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 2964, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Linen Bag -- 3755
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3755, 35, 4238, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3755, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3755, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Woolen Bag -- 3757
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3757, 70, 4240, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3757, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3757, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Green Woolen Bag -- 3758
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3758, 85, 4241, 2, 3908)
+	self:addTradeFlags(RecipeDB, 3758, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3758, 7, 2)
+
+	-- Small Silk Pack -- 3813
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3813, 140, 4245, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3813, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3813, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Bolt of Silk Cloth -- 3839
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3839, 125, 4305, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3839, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3839, 1, 1346, 1, 3004, 1, 3363, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Heavy Linen Gloves -- 3840
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val11id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3840, 25, 4307, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3840, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3840, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Green Linen Bracers -- 3841
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val9id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3841, 50, 4308, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3841, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3841, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Handstitched Linen Britches -- 3842
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val2id4val2id5val23id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3842, 60, 4309, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3842, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3842, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Heavy Woolen Gloves -- 3843
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val2id4val2id5val19id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3843, 75, 4310, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3843, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3843, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Heavy Woolen Cloak -- 3844
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val4id5val17id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3844, 90, 4311, 2, 3908)
+	self:addTradeFlags(RecipeDB, 3844, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 3844, 7, 2)
+
+	-- Soft-soled Linen Boots -- 3845
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val2id3val2id4val20id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3845, 70, 4312, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3845, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3845, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Red Woolen Boots -- 3847
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val5id5val23id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3847, 85, 4313, 2, 3908)
+	self:addTradeFlags(RecipeDB, 3847, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 3847, 7, 2)
+
+	-- Double-stitched Woolen Shoulders -- 3848
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val26id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3848, 100, 4314, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3848, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3848, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Reinforced Woolen Shoulders -- 3849
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val27id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3849, 110, 4315, 2, 3908)
+	self:addTradeFlags(RecipeDB, 3849, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 3849, 7, 2)
+
+	-- Heavy Woolen Pants -- 3850
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val3id4val6id5val31id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3850, 100, 4316, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3850, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3850, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Phoenix Pants -- 3851
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val4id4val34id6val10id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3851, 115, 4317, 2, 3908)
+	self:addTradeFlags(RecipeDB, 3851, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 3851, 7, 2)
+
+	-- Gloves of Meditation -- 3852
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val7id5val25id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3852, 120, 4318, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3852, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3852, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Azure Silk Gloves -- 3854
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val3id5val26id6val10id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3854, 135, 4319, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3854, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 3854, 2, 2679, 2, 9636)
+
+	-- Spidersilk Boots -- 3855
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val4id3val4id4val7id5val29id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3855, 115, 4320, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3855, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3855, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Spider Silk Slippers -- 3856
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val7id5val29id6val4id19val4id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3856, 130, 4321, 2, 3908)
+	self:addTradeFlags(RecipeDB, 3856, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 3856, 7, 2)
+
+	-- Enchanter's Cowl -- 3857
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val10id4val6id5val37id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3857, 155, 4322, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3857, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 3857, 2, 2670)
+
+	-- Shadow Hood -- 3858
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val11id4val37id6val7id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3858, 160, 4323, 2, 3908)
+	self:addTradeFlags(RecipeDB, 3858, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 3858, 7, 2)
+
+	-- Azure Silk Vest -- 3859
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val9id4val43id6val7id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3859, 140, 4324, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3859, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3859, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Boots of the Enchanter -- 3860
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val5id4val8id5val32id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3860, 165, 4325, 2, 3908)
+	self:addTradeFlags(RecipeDB, 3860, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 3860, 7, 2)
+
+	-- Long Silken Cloak -- 3861
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val5id4val6id5val24id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3861, 175, 4326, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3861, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	self:addTradeAcquire(RecipeDB, 3861, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Icy Cloak -- 3862
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val6id5val29id6val11id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3862, 190, 4327, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3862, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 3862, 2, 2381, 2, 6567)
+
+	-- Spider Belt -- 3863
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val8id4val27id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3863, 170, 4328, 2, 3908)
+	self:addTradeFlags(RecipeDB, 3863, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 3863, 7, 2)
+
+	-- Star Belt -- 3864
+	-- Instance: 1176 - type1category3maxlevel47territory1minlevel43nameZul'Farrakid1176
+	-- Instance: 796 - type1category3maxlevel45territory4minlevel34nameScarlet Monasteryid796
+	-- Instance: 1337 - type1category3maxlevel47territory1minlevel39nameUldamanid1337
+	-- Instance: 1337 - type1category3maxlevel47territory1minlevel39nameUldamanid1337
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val4id5val30id6val13id19val13id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3864, 190, 4329, 2, 3908)
+	self:addTradeFlags(RecipeDB, 3864, 5,11,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 3864, 3, 2892, 3, 4299, 3, 4357, 3, 4684, 3, 4861, 3, 5249, 3, 7269)
+
+	-- Bolt of Mageweave -- 3865
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3865, 175, 4339, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3865, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3865, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Stylish Red Shirt -- 3866
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3866, 100, 4330, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3866, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3866, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Phoenix Gloves -- 3868
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val24id6val9id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3868, 115, 4331, 2, 3908)
+	self:addTradeFlags(RecipeDB, 3868, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 3868, 7, 2)
+
+	-- Bright Yellow Shirt -- 3869
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3869, 135, 4332, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3869, 1,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3869, 2, 2668)
+
+	-- Dark Silk Shirt -- 3870
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3870, 155, 4333, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3870, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3870, 2, 2394, 2, 2669)
+
+	-- Formal White Shirt -- 3871
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3871, 170, 4334, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3871, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 3871, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Rich Purple Silk Shirt -- 3872
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3872, 185, 4335, 3, 3908)
+	self:addTradeFlags(RecipeDB, 3872, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3872, 7, 3)
+
+	-- Black Swashbuckler's Shirt -- 3873
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3873, 200, 4336, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3873, 1,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 3873, 2, 2663)
+
+	-- Brown Linen Pants -- 3914
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val16id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3914, 20, 4343, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3914, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 3914, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Brown Linen Shirt -- 3915
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 3915, 10, 4344, 1, 3908)
+	self:addTradeFlags(RecipeDB, 3915, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Pearl-clasped Cloak -- 6521
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val3id4val16id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6521, 80, 5542, 1, 3908)
+	self:addTradeFlags(RecipeDB, 6521, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	self:addTradeAcquire(RecipeDB, 6521, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Red Linen Bag -- 6686
+	-- Instance: 1581 - type1category3maxlevel20territory2minlevel15nameThe Deadminesid1581
+	-- Mob Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6686, 60, 5762, 1, 3908)
+	self:addTradeFlags(RecipeDB, 6686, 1,2,4,5,11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6686, 3, 157, 3, 590, 3, 3530, 3, 3531, 2, 843, 2, 3005, 2, 3556, 2, 4189, 2, 16224)
+
+	-- Red Woolen Bag -- 6688
+	-- Mob Drop
+	-- Instance: 2367 - type5category3maxlevel68territory1expansion1minlevel66nameCaverns of Time: Old Hillsbrad Foothillsid2367
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6688, 105, 5763, 1, 3908)
+	self:addTradeFlags(RecipeDB, 6688, 1,2,4,5,11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6688, 3, 450, 3, 2264, 2, 777, 2, 1454, 2, 1474, 2, 3005, 2, 3364, 2, 3485, 2, 3537, 2, 3683, 2, 4189, 2, 4577, 2, 5944)
+
+	-- Lesser Wizard's Robe -- 6690
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val8id4val5id5val41id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6690, 125, 5766, 1, 3908)
+	self:addTradeFlags(RecipeDB, 6690, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 6690, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Robes of Arcana -- 6692
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val8id4val7id5val43id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6692, 140, 5770, 2, 3908)
+	self:addTradeFlags(RecipeDB, 6692, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 6692, 3, 910, 3, 2337, 3, 10760)
+
+	-- Green Silk Pack -- 6693
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6693, 165, 5764, 2, 3908)
+	self:addTradeFlags(RecipeDB, 6693, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6693, 7, 2)
+
+	-- Black Silk Pack -- 6695
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 6695, 175, 5765, 2, 3908)
+	self:addTradeFlags(RecipeDB, 6695, 11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 6695, 3, 2242, 3, 2434, 3, 4834)
+
+	-- Brown Linen Robe -- 7623
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val1id5val19id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7623, 20, 6238, 1, 3908)
+	self:addTradeFlags(RecipeDB, 7623, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 7623, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- White Linen Robe -- 7624
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val1id4val19id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7624, 20, 6241, 1, 3908)
+	self:addTradeFlags(RecipeDB, 7624, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 7624, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Red Linen Vest -- 7629
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val2id5val23id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7629, 45, 6239, 2, 3908)
+	self:addTradeFlags(RecipeDB, 7629, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 7629, 7, 2)
+
+	-- Blue Linen Vest -- 7630
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val2id5val23id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7630, 45, 6240, 1, 3908)
+	self:addTradeFlags(RecipeDB, 7630, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 7630, 2, 66, 2, 3364, 2, 3485, 2, 3522, 2, 4189)
+
+	-- Blue Linen Robe -- 7633
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val3id5val26id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7633, 60, 6242, 1, 3908)
+	self:addTradeFlags(RecipeDB, 7633, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 7633, 2, 1250, 2, 3485, 2, 3499, 2, 3556, 2, 4168)
+
+	-- Green Woolen Robe -- 7636
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val2id3val3id4val3id5val32id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7636, 80, 6243, 2, 3908)
+	self:addTradeFlags(RecipeDB, 7636, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	-- No acquire information
+
+	-- Blue Overalls -- 7639
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val4id3val34id6val5id19val5id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7639, 90, 6263, 1, 3908)
+	self:addTradeFlags(RecipeDB, 7639, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 7639, 2, 843, 2, 1347, 2, 2394, 2, 3364, 2, 5944)
+
+	-- Greater Adept's Robe -- 7643
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val1id3val2id4val7id5val37id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7643, 105, 6264, 1, 3908)
+	self:addTradeFlags(RecipeDB, 7643, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 7643, 2, 1454, 2, 1474, 2, 2669, 2, 3499, 2, 4168, 2, 4577)
+
+	-- Stylish Blue Shirt -- 7892
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7892, 110, 6384, 2, 3908)
+	self:addTradeFlags(RecipeDB, 7892, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7892, 7, 2)
+
+	-- Stylish Green Shirt -- 7893
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 7893, 110, 6385, 2, 3908)
+	self:addTradeFlags(RecipeDB, 7893, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 7893, 7, 2)
+
+	-- Simple Dress -- 8465
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8465, 30, 6786, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8465, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 8465, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- White Woolen Dress -- 8467
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val34id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8467, 100, 6787, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8467, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8467, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- White Swashbuckler's Shirt -- 8483
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8483, 160, 6795, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8483, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 8483, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Red Swashbuckler's Shirt -- 8489
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8489, 175, 6796, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8489, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 8489, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Azure Silk Pants -- 8758
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val6id4val36id6val10id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8758, 130, 7046, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8758, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8758, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Azure Silk Hood -- 8760
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val33id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8760, 145, 7048, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8760, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8760, 1, 1346, 1, 2399, 1, 2627, 1, 3004, 1, 3363, 1, 3704, 1, 4159, 1, 4576, 1, 5153, 1, 5567, 1, 11049, 1, 11052, 1, 11557, 1, 16640, 1, 16729, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Silk Headband -- 8762
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val34id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8762, 160, 7050, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8762, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8762, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Earthen Vest -- 8764
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val6id3val10id5val46id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8764, 160, 7051, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8764, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8764, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Azure Silk Belt -- 8766
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val5id4val26id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8766, 165, 7052, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8766, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8766, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Robe of Power -- 8770
+	-- Trainer
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val12id4val8id5val55id6val14id19val14id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8770, 180, 7054, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8770, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 8770, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Crimson Silk Belt -- 8772
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val7id4val6id5val26id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8772, 165, 7055, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8772, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8772, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Green Silken Shoulders -- 8774
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val11id4val36id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8774, 170, 7057, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8774, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8774, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Linen Belt -- 8776
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val9id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8776, 15, 7026, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8776, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8776, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Boots of Darkness -- 8778
+	-- Trainer
+	-- Flags: Rogue, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val15id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8778, 130, 7027, 2, 3908)
+	self:addTradeFlags(RecipeDB, 8778, 3,28,36,41,47,56)
+	-- No acquire information
+
+	-- Hands of Darkness -- 8780
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val5id5val26id6val9id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8780, 135, 7047, 2, 3908)
+	self:addTradeFlags(RecipeDB, 8780, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 8780, 7, 2)
+
+	-- Truefaith Gloves -- 8782
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val3id4val27id6val5id19val15id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8782, 140, 7049, 2, 3908)
+	self:addTradeFlags(RecipeDB, 8782, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,53,56)
+	self:addTradeAcquire(RecipeDB, 8782, 7, 2)
+
+	-- Green Silk Armor -- 8784
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val13id4val45id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8784, 155, 7065, 2, 3908)
+	self:addTradeFlags(RecipeDB, 8784, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 8784, 7, 2)
+
+	-- Azure Silk Cloak -- 8786
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val3id5val23id6val10id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8786, 165, 7053, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8786, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 8786, 2, 6574, 2, 6576)
+
+	-- Crimson Silk Cloak -- 8789
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val3id3val24id6val7id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8789, 170, 7056, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8789, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 8789, 2, 2670)
+
+	-- Crimson Silk Vest -- 8791
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val46id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8791, 185, 7058, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8791, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8791, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Crimson Silk Shoulders -- 8793
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val8id4val7id5val38id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8793, 180, 7059, 2, 3908)
+	self:addTradeFlags(RecipeDB, 8793, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 8793, 7, 2)
+
+	-- Azure Shoulders -- 8795
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val5id3val38id6val13id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8795, 180, 7060, 2, 3908)
+	self:addTradeFlags(RecipeDB, 8795, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 8795, 7, 2)
+
+	-- Earthen Silk Belt -- 8797
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val8id3val8id5val29id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8797, 185, 7061, 2, 3908)
+	self:addTradeFlags(RecipeDB, 8797, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 8797, 7, 2)
+
+	-- Crimson Silk Pantaloons -- 8799
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val43id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8799, 195, 7062, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8799, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8799, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Crimson Silk Robe -- 8802
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val15id4val6id5val54id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8802, 190, 7063, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8802, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 8802, 2, 6568)
+
+	-- Crimson Silk Gloves -- 8804
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val6id4val35id6val14id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 8804, 195, 7064, 1, 3908)
+	self:addTradeFlags(RecipeDB, 8804, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 8804, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Simple Linen Pants -- 12044
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12044, 10, 10045, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12044, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	-- No acquire information
+
+	-- Simple Linen Boots -- 12045
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val11id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12045, 15, 10046, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12045, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12045, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Simple Kilt -- 12046
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val23id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12046, 65, 10047, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12046, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12046, 1, 1103, 1, 1300, 1, 1346, 1, 1703, 1, 2399, 1, 2627, 1, 2855, 1, 3004, 1, 3363, 1, 3484, 1, 3523, 1, 3704, 1, 4159, 1, 4193, 1, 4576, 1, 5153, 1, 5567, 1, 11048, 1, 11049, 1, 11050, 1, 11051, 1, 11052, 1, 11557, 1, 16366, 1, 16639, 1, 16640, 1, 16729, 1, 16746, 1, 17487, 1, 18749, 1, 18772)
+
+	-- Colorful Kilt -- 12047
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val5id5val33id6val6id19val6id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12047, 110, 10048, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12047, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 12047, 7, 2)
+
+	-- Black Mageweave Vest -- 12048
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val11id4val12id5val54id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12048, 190, 9998, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12048, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12048, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Black Mageweave Leggings -- 12049
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val8id4val14id5val47id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12049, 190, 9999, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12049, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12049, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Black Mageweave Robe -- 12050
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val8id4val14id5val55id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12050, 195, 10001, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12050, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12050, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Shadoweave Pants -- 12052
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val6id3val48id6val21id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12052, 195, 10002, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12052, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12052, 1, 4578, 1, 9584)
+
+	-- Black Mageweave Gloves -- 12053
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val35id6val15id19val15id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12053, 200, 10003, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12053, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 12053, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Shadoweave Robe -- 12055
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val7id5val57id6val21id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12055, 200, 10004, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12055, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12055, 1, 4578, 1, 9584)
+
+	-- Red Mageweave Vest -- 12056
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val18id4val57id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12056, 200, 10007, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12056, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 12056, 7, 2)
+
+	-- White Bandit Mask -- 12059
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val11id4val46id6val13id19val13id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12059, 210, 10008, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12059, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 12059, 7, 2)
+
+	-- Red Mageweave Pants -- 12060
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val12id4val49id6val14id19val14id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12060, 200, 10009, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12060, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 12060, 7, 2)
+
+	-- Orange Mageweave Shirt -- 12061
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12061, 210, 10056, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12061, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12061, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Stormcloth Pants -- 12062
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val15id5val51id6val10id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12062, 205, 10010, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12062, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	-- No acquire information
+
+	-- Stormcloth Gloves -- 12063
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val36id6val16id19val16id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12063, 205, 10011, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12063, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	-- No acquire information
+
+	-- Orange Martial Shirt -- 12064
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12064, 215, 10052, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12064, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 12064, 2, 3005, 2, 4168)
+
+	-- Mageweave Bag -- 12065
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12065, 210, 10050, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12065, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12065, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Red Mageweave Gloves -- 12066
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val10id4val37id6val11id19val11id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12066, 210, 10018, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12066, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 12066, 7, 2)
+
+	-- Dreamweave Gloves -- 12067
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val4id4val7id5val41id6val18id19val18id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12067, 210, 10019, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12067, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 12067, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Stormcloth Vest -- 12068
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val8id3val8id5val59id6val10id19val29id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12068, 210, 10020, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12068, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,53,56)
+	-- No acquire information
+
+	-- Cindercloth Robe -- 12069
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val59id6val27id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12069, 210, 10042, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12069, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12069, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Dreamweave Vest -- 12070
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val9id4val14id5val65id6val18id19val18id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12070, 210, 10021, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12070, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 12070, 1, 1346, 1, 2399, 1, 4576, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Shadoweave Gloves -- 12071
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val5id4val37id6val17id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12071, 210, 10023, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12071, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12071, 1, 4578, 1, 9584)
+
+	-- Black Mageweave Headband -- 12072
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id4val13id5val49id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12072, 215, 10024, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12072, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12072, 1, 2399, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Black Mageweave Boots -- 12073
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val7id4val11id5val41id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12073, 215, 10026, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12073, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12073, 1, 2399, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Black Mageweave Shoulders -- 12074
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val9id4val10id5val45id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12074, 215, 10027, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12074, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12074, 1, 2399, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Lavender Mageweave Shirt -- 12075
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12075, 225, 10054, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12075, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 12075, 2, 3364, 2, 8681)
+
+	-- Shadoweave Shoulders -- 12076
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val7id3val46id6val17id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12076, 220, 10028, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12076, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12076, 1, 4578, 1, 9584)
+
+	-- Simple Black Dress -- 12077
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12077, 230, 10053, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12077, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12077, 1, 2399, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Red Mageweave Shoulders -- 12078
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val15id4val46id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12078, 220, 10029, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12078, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 12078, 7, 2)
+
+	-- Red Mageweave Bag -- 12079
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12079, 220, 10051, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12079, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 12079, 1, 2399, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Pink Mageweave Shirt -- 12080
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12080, 230, 10055, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12080, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 12080, 2, 3364, 2, 8681)
+
+	-- Admiral's Hat -- 12081
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val51id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12081, 225, 10030, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12081, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 12081, 2, 2672)
+
+	-- Shadoweave Boots -- 12082
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val10id5val43id6val14id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12082, 225, 10031, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12082, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12082, 1, 4578, 1, 9584)
+
+	-- Stormcloth Headband -- 12083
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val10id4val10id5val51id6val14id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12083, 225, 10032, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12083, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	-- No acquire information
+
+	-- Red Mageweave Headband -- 12084
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val20id4val51id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12084, 225, 10033, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12084, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 12084, 7, 2)
+
+	-- Tuxedo Shirt -- 12085
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12085, 235, 10034, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12085, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 12085, 2, 4577, 2, 8681)
+
+	-- Shadoweave Mask -- 12086
+	-- Quest Reward
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val10id4val52id6val24id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12086, 230, 10025, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12086, 1,2,8,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 12086, 4, 3402)
+
+	-- Stormcloth Shoulders -- 12087
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val48id6val21id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12087, 230, 10038, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12087, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	-- No acquire information
+
+	-- Cindercloth Boots -- 12088
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val44id6val21id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12088, 230, 10044, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12088, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 12088, 1, 2399, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Tuxedo Pants -- 12089
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val39id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12089, 240, 10035, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12089, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 12089, 2, 4577, 2, 8681)
+
+	-- Stormcloth Boots -- 12090
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val10id3val45id6val16id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12090, 235, 10039, 2, 3908)
+	self:addTradeFlags(RecipeDB, 12090, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	-- No acquire information
+
+	-- White Wedding Dress -- 12091
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val44id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12091, 245, 10040, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12091, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 12091, 2, 1347, 2, 3005)
+
+	-- Dreamweave Circlet -- 12092
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val10id4val12id5val58id6val21id19val21id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12092, 235, 10041, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12092, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 12092, 1, 2399, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Tuxedo Jacket -- 12093
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val3id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 12093, 235, 10036, 1, 3908)
+	self:addTradeFlags(RecipeDB, 12093, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 12093, 2, 4577, 2, 8681)
+
+	-- Bolt of Runecloth -- 18401
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18401, 250, 14048, 1, 3908)
+	self:addTradeFlags(RecipeDB, 18401, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 18401, 1, 2399, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Runecloth Belt -- 18402
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id4val8id5val37id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18402, 240, 13856, 1, 3908)
+	self:addTradeFlags(RecipeDB, 18402, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 18402, 1, 2399, 1, 11052, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Frostweave Tunic -- 18403
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val11id4val66id6val24id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18403, 240, 13869, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18403, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18403, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Frostweave Robe -- 18404
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val11id5val66id6val24id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18404, 240, 13868, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18404, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18404, 7, 2)
+
+	-- Runecloth Bag -- 18405
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18405, 245, 14046, 1, 3908)
+	self:addTradeFlags(RecipeDB, 18405, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18405, 2, 11189)
+
+	-- Runecloth Robe -- 18406
+	-- Trainer
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val17id4val11id5val68id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18406, 245, 13858, 1, 3908)
+	self:addTradeFlags(RecipeDB, 18406, 1,2,3,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18406, 1, 2399, 1, 11052, 1, 18749, 1, 18772, 2, 7940)
+
+	-- Runecloth Tunic -- 18407
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val11id4val17id5val68id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18407, 245, 13857, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18407, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18407, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Cindercloth Vest -- 18408
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val11id5val68id6val24id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18408, 245, 14042, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18408, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18408, 3, 5861)
+
+	-- Runecloth Cloak -- 18409
+	-- Trainer
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val8id4val9id5val34id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18409, 250, 13860, 1, 3908)
+	self:addTradeFlags(RecipeDB, 18409, 1,2,3,4,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	self:addTradeAcquire(RecipeDB, 18409, 1, 2399, 1, 11052, 1, 18749, 1, 18772, 2, 7940)
+
+	-- Ghostweave Belt -- 18410
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val8id4val39id6val6id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18410, 250, 14143, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18410, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18410, 3, 7864, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Frostweave Gloves -- 18411
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val6id4val43id6val21id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18411, 250, 13870, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18411, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18411, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Cindercloth Gloves -- 18412
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val11id5val44id6val17id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18412, 255, 14043, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18412, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18412, 3, 5861)
+
+	-- Ghostweave Gloves -- 18413
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val8id4val44id6val6id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18413, 255, 14142, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18413, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18413, 3, 7864, 3, 8538, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Brightcloth Robe -- 18414
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val70id6val16id35val15id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18414, 255, 14100, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18414, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18414, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Brightcloth Gloves -- 18415
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val44id6val12id35val11id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18415, 255, 14101, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18415, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18415, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Ghostweave Vest -- 18416
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val9id4val71id6val8id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18416, 260, 14141, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18416, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18416, 3, 8538, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Runecloth Gloves -- 18417
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val9id4val9id5val45id6val12id19val12id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18417, 260, 13863, 1, 3908)
+	self:addTradeFlags(RecipeDB, 18417, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 18417, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Cindercloth Cloak -- 18418
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val8id4val36id6val13id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18418, 260, 14044, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18418, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 18418, 3, 7037)
+
+	-- Felcloth Pants -- 18419
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id4val62id6val26id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18419, 260, 14107, 1, 3908)
+	self:addTradeFlags(RecipeDB, 18419, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18419, 2, 12022)
+
+	-- Brightcloth Cloak -- 18420
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val36id6val10id19val7id35val7id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18420, 260, 14103, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18420, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 18420, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Wizardweave Leggings -- 18421
+	-- Trainer
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val62id6val16id32val16id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18421, 260, 14132, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18421, 1,2,3,5,11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18421, 3, 8551, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Cloak of Fire -- 18422
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val7id3val39id6val6id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18422, 260, 14134, 3, 3908)
+	self:addTradeFlags(RecipeDB, 18422, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	self:addTradeAcquire(RecipeDB, 18422, 3, 9026)
+
+	-- Runecloth Boots -- 18423
+	-- Trainer
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val9id4val14id5val50id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18423, 265, 13864, 1, 3908)
+	self:addTradeFlags(RecipeDB, 18423, 1,2,3,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18423, 1, 2399, 1, 11052, 1, 18749, 1, 18772, 2, 7940)
+
+	-- Frostweave Pants -- 18424
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id5val63id6val26id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18424, 265, 13871, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18424, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18424, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Cindercloth Pants -- 18434
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id4val63id6val26id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18434, 265, 14045, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18434, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18434, 3, 7037)
+
+	-- Robe of Winter Night -- 18436
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id4val81id6val80id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18436, 270, 14136, 3, 3908)
+	self:addTradeFlags(RecipeDB, 18436, 11,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 18436, 3, 7437)
+
+	-- Felcloth Boots -- 18437
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id5val51id6val17id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18437, 270, 14108, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18437, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18437, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Runecloth Pants -- 18438
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id4val20id5val65id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18438, 270, 13865, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18438, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18438, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Brightcloth Pants -- 18439
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val66id6val17id35val16id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18439, 275, 14104, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18439, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18439, 7, 2)
+
+	-- Mooncloth Leggings -- 18440
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id3val14id4val21id5val72id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18440, 275, 14137, 3, 3908)
+	self:addTradeFlags(RecipeDB, 18440, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18440, 7, 3)
+
+	-- Ghostweave Pants -- 18441
+	-- Trainer
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id4val66id6val8id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18441, 275, 14144, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18441, 1,2,3,5,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18441, 3, 10384, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Felcloth Hood -- 18442
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val10id4val61id6val30id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18442, 275, 14111, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18442, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18442, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Runecloth Headband -- 18444
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val20id4val13id5val62id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18444, 280, 13866, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18444, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18444, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Mooncloth Bag -- 18445
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18445, 285, 14155, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18445, 10,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18445, 7, 2)
+
+	-- Wizardweave Robe -- 18446
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val77id6val17id32val18id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18446, 285, 14128, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18446, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18446, 3, 8526, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Mooncloth Vest -- 18447
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id3val20id4val19id5val85id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18447, 285, 14138, 3, 3908)
+	self:addTradeFlags(RecipeDB, 18447, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18447, 7, 3)
+
+	-- Mooncloth Shoulders -- 18448
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val9id3val17id4val11id5val65id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18448, 285, 14139, 3, 3908)
+	self:addTradeFlags(RecipeDB, 18448, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18448, 7, 3)
+
+	-- Runecloth Shoulders -- 18449
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val15id4val10id5val59id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18449, 285, 13867, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18449, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18449, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Wizardweave Turban -- 18450
+	-- Trainer
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val64id6val18id32val18id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18450, 285, 14130, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18450, 1,2,3,11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18450, 3, 8526, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Felcloth Robe -- 18451
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val7id3val79id6val36id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18451, 285, 14106, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18451, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18451, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Mooncloth Circlet -- 18452
+	-- Raid: 2677 - Blackwing Lair
+	-- Raid: 2159 - Onyxia's Lair
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val13id3val23id4val15id5val71id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18452, 285, 14140, 3, 3908)
+	self:addTradeFlags(RecipeDB, 18452, 6,11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18452, 3, 6109, 3, 10184, 3, 11583, 3, 14888, 3, 14889, 3, 14890, 3, 19349)
+
+	-- Felcloth Shoulders -- 18453
+	-- Trainer
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val5id5val60id6val26id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18453, 285, 14112, 2, 3908)
+	self:addTradeFlags(RecipeDB, 18453, 1,2,3,10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18453, 7, 2, 1, 2399, 1, 11052, 1, 18749, 1, 18772)
+
+	-- Gloves of Spell Mastery -- 18454
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Raid: 3429 - Ruins of Ahn'Qiraj
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2159 - Onyxia's Lair
+	-- Mob Drop
+	-- Flags: Priest, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val10id4val8id5val68id6val28id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18454, 285, 14146, 4, 3908)
+	self:addTradeFlags(RecipeDB, 18454, 5,6,11,26,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 18454, 3, 6109, 3, 10184, 3, 10318, 3, 12101, 3, 14888, 3, 14889, 3, 14890, 3, 15325)
+
+	-- Bottomless Bag -- 18455
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Raid: 1977 - Zul'Gurub
+	-- Raid: 3429 - Ruins of Ahn'Qiraj
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2159 - Onyxia's Lair
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18455, 285, 14156, 3, 3908)
+	self:addTradeFlags(RecipeDB, 18455, 5,6,11,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18455, 3, 6109, 3, 8724, 3, 10184, 3, 10372, 3, 10440, 3, 11356, 3, 11658, 3, 15323)
+
+	-- Truefaith Vestments -- 18456
+	-- Instance: 2017 - type1category3maxlevel60territory1minlevel58nameStratholmeid2017
+	-- Mob Drop
+	-- Flags: Priest, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val14id3val109id6val25id19val73id20val6id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18456, 285, 14154, 4, 3908)
+	self:addTradeFlags(RecipeDB, 18456, 5,26,37,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 18456, 3, 10813)
+
+	-- Robe of the Archmage -- 18457
+	-- Instance: 1583 - type1category3maxlevel60territory1minlevel58nameBlackrock Spireid1583
+	-- Mob Drop
+	-- Flags: Mage, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val12id4val109id6val40id19val40id20val14id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18457, 285, 14152, 4, 3908)
+	self:addTradeFlags(RecipeDB, 18457, 5,24,37,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 18457, 3, 9264)
+
+	-- Robe of the Void -- 18458
+	-- Instance: 2057 - type1category3maxlevel60territory1minlevel58nameScholomanceid2057
+	-- Mob Drop
+	-- Flags: Warlock, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val14id3val109id6val46id19val46id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18458, 285, 14153, 4, 3908)
+	self:addTradeFlags(RecipeDB, 18458, 5,29,37,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 18458, 3, 1853)
+
+	-- Mooncloth -- 18560
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 18560, 260, 14342, 1, 3908)
+	self:addTradeFlags(RecipeDB, 18560, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 18560, 2, 11189)
+
+	-- Mooncloth Boots -- 19435
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val11id3val14id4val13id5val55id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 19435, 265, 15802, 3, 3908)
+	self:addTradeFlags(RecipeDB, 19435, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	-- No acquire information
+
+	-- Flarecore Mantle -- 20848
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val9id3val10id4val10id5val81id6val24id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20848, 285, 16980, 1, 3908)
+	self:addTradeFlags(RecipeDB, 20848, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 20848, 2, 12944)
+
+	-- Flarecore Gloves -- 20849
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: Priest, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val10id3val14id4val68id6val25id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 20849, 285, 16979, 1, 3908)
+	self:addTradeFlags(RecipeDB, 20849, 1,2,4,5,26,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 20849, 2, 12944)
+
+	-- Green Holiday Shirt -- 21945
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 21945, 190, 17723, 1, 3908)
+	self:addTradeFlags(RecipeDB, 21945, 3,7,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 21945, 5, 1)
+
+	-- Flarecore Wraps -- 22759
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val8id4val49id6val9id24val7id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22759, 290, 18263, 3, 3908)
+	self:addTradeFlags(RecipeDB, 22759, 6,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 22759, 3, 11982, 3, 11988, 3, 12056, 3, 12057, 3, 12118, 3, 12259, 3, 12264)
+
+	-- Gordok Ogre Suit -- 22813
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22813, 275, 18258, 2, 3908)
+	self:addTradeFlags(RecipeDB, 22813, 3,21,22,23,24,25,26,27,28,29,30,36,41)
+	-- No acquire information
+
+	-- Belt of the Archmage -- 22866
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val10id3val25id4val62id6val14id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22866, 285, 18405, 4, 3908)
+	self:addTradeFlags(RecipeDB, 22866, 21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	-- No acquire information
+
+	-- Felcloth Gloves -- 22867
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val9id3val55id6val33id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22867, 285, 18407, 3, 3908)
+	self:addTradeFlags(RecipeDB, 22867, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 22867, 3, 14338)
+
+	-- Inferno Gloves -- 22868
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val9id4val55id6val33id19
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22868, 285, 18408, 3, 3908)
+	self:addTradeFlags(RecipeDB, 22868, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 22868, 3, 14338)
+
+	-- Mooncloth Gloves -- 22869
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val9id3val16id4val15id5val55id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22869, 285, 18409, 3, 3908)
+	self:addTradeFlags(RecipeDB, 22869, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 22869, 3, 14338)
+
+	-- Cloak of Warding -- 22870
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats: Tanking,
+	-- Item Stats: val214id6val7id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22870, 285, 18413, 3, 3908)
+	self:addTradeFlags(RecipeDB, 22870, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,52,60)
+	self:addTradeAcquire(RecipeDB, 22870, 3, 14338)
+
+	-- Mooncloth Robe -- 22902
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id3val25id4val12id5val87id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 22902, 285, 18486, 1, 3908)
+	self:addTradeFlags(RecipeDB, 22902, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 22902, 2, 14371)
+
+	-- Wisdom of the Timbermaw -- 23662
+	-- Timbermaw Hold - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val21id4val46id6val4id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23662, 275, 19047, 1, 3908)
+	self:addTradeFlags(RecipeDB, 23662, 4,21,22,23,24,25,26,27,28,29,30,36,41,47,56,99)
+	self:addTradeAcquire(RecipeDB, 23662, 6, 576, 2, 11557)
+
+	-- Mantle of the Timbermaw -- 23663
+	-- Timbermaw Hold - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val21id4val68id6val6id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23663, 285, 19050, 1, 3908)
+	self:addTradeFlags(RecipeDB, 23663, 4,21,22,23,24,25,26,27,28,29,30,36,41,47,56,99)
+	self:addTradeAcquire(RecipeDB, 23663, 6, 576, 3, 11557)
+
+	-- Argent Boots -- 23664
+	-- Argent Dawn - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val21id3val7id5val57id6val4id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23664, 275, 19056, 1, 3908)
+	self:addTradeFlags(RecipeDB, 23664, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,56,96)
+	self:addTradeAcquire(RecipeDB, 23664, 6, 529, 2, 10856, 6, 529, 2, 10857, 6, 529, 2, 11536)
+
+	-- Argent Shoulders -- 23665
+	-- Argent Dawn - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val23id3val8id5val68id6val5id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23665, 285, 19059, 1, 3908)
+	self:addTradeFlags(RecipeDB, 23665, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,56,96)
+	self:addTradeAcquire(RecipeDB, 23665, 6, 529, 3, 10856, 6, 529, 3, 10857, 6, 529, 3, 11536)
+
+	-- Flarecore Robe -- 23666
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val35id3val116id6val23id19val23id20val15id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23666, 285, 19156, 1, 3908)
+	self:addTradeFlags(RecipeDB, 23666, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 23666, 2, 12944)
+
+	-- Flarecore Leggings -- 23667
+	-- Instance: 1584 - type1category3maxlevel60territory1minlevel55nameBlackrock Depthsid1584
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val21id3val107id6val43id19val43id20val16id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 23667, 285, 19165, 1, 3908)
+	self:addTradeFlags(RecipeDB, 23667, 1,2,4,5,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 23667, 2, 12944)
+
+	-- Bloodvine Vest -- 24091
+	-- Zandalar Tribe - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val13id4val92id6val27id19val27id20val16id21
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24091, 285, 19682, 1, 3908)
+	self:addTradeFlags(RecipeDB, 24091, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56,100)
+	self:addTradeAcquire(RecipeDB, 24091, 6, 270, 3, 14921)
+
+	-- Bloodvine Leggings -- 24092
+	-- Zandalar Tribe - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val6id4val80id6val37id19val37id20val8id21
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24092, 285, 19683, 1, 3908)
+	self:addTradeFlags(RecipeDB, 24092, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56,100)
+	self:addTradeAcquire(RecipeDB, 24092, 6, 270, 2, 14921)
+
+	-- Bloodvine Boots -- 24093
+	-- Zandalar Tribe - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val16id4val63id6val19id19val19id20val8id21
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24093, 285, 19684, 1, 3908)
+	self:addTradeFlags(RecipeDB, 24093, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56,100)
+	self:addTradeAcquire(RecipeDB, 24093, 6, 270, 1, 14921)
+
+	-- Runed Stygian Leggings -- 24901
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val13id3val78id6val6id24val25id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24901, 285, 20538, 3, 3908)
+	self:addTradeFlags(RecipeDB, 24901, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 24901, 3, 4553, 3, 11880, 3, 11881, 3, 15184, 3, 23392)
+
+	-- Runed Stygian Belt -- 24902
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val10id3val50id6val3id24val20id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24902, 285, 20539, 3, 3908)
+	self:addTradeFlags(RecipeDB, 24902, 21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	-- No acquire information
+
+	-- Runed Stygian Boots -- 24903
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val8id3val61id6val4id24val20id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 24903, 285, 20537, 3, 3908)
+	self:addTradeFlags(RecipeDB, 24903, 11,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 24903, 3, 16878, 3, 19239, 3, 23392)
+
+	-- Soul Pouch -- 26085
+	-- Vendor
+	-- Flags: Warlock, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26085, 245, 21340, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26085, 1,2,4,29,36,40)
+	self:addTradeAcquire(RecipeDB, 26085, 2, 6568)
+
+	-- Felcloth Bag -- 26086
+	-- Trainer
+	-- Flags: Warlock, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26086, 270, 21341, 3, 3908)
+	self:addTradeFlags(RecipeDB, 26086, 3,29,36,41)
+	-- No acquire information
+
+	-- Core Felcloth Bag -- 26087
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- No location information
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Raid: 2717 - Molten Core
+	-- Mob Drop
+	-- Flags: Warlock, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26087, 285, 21342, 3, 3908)
+	self:addTradeFlags(RecipeDB, 26087, 6,29,36,40)
+	self:addTradeAcquire(RecipeDB, 26087, 3, 11982, 3, 11988, 3, 12056, 3, 12057, 3, 12118, 3, 12259, 3, 12264, 3, 12397)
+
+	-- Festival Dress -- 26403
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth, Seasonal,
+	-- Item Stats:
+	-- Item Stats: val3id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26403, 235, 21154, 2, 3908)
+	self:addTradeFlags(RecipeDB, 26403, 3,7,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 26403, 5, 2)
+
+	-- Festive Red Pant Suit -- 26407
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Seasonal,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26407, 235, 21542, 2, 3908)
+	self:addTradeFlags(RecipeDB, 26407, 3,7,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26407, 5, 1)
+
+	-- Bolt of Netherweave -- 26745
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26745, 285, 21840, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26745, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26745, 1, 18749, 1, 18772)
+
+	-- Netherweave Bag -- 26746
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26746, 300, 21841, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26746, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26746, 1, 18749, 1, 18772)
+
+	-- Bolt of Imbued Netherweave -- 26747
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26747, 320, 21842, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26747, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 26747, 2, 16638, 2, 16767, 2, 19213)
+
+	-- Imbued Netherweave Bag -- 26749
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26749, 330, 21843, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26749, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 26749, 2, 19015, 2, 19213)
+
+	-- Bolt of Soulcloth -- 26750
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26750, 335, 21844, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26750, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 26750, 2, 16638, 2, 16767, 2, 19015, 2, 19017)
+
+	-- Primal Mooncloth -- 26751
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26751, 340, 21845, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26751, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 26751, 2, 22208)
+
+	-- Spellfire Belt -- 26752
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val18id4val100id6val100id19val18id22
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 26797
+	self:addTradeSkill(RecipeDB, 26752, 355, 21846, 1, 3908, 26797)
+	self:addTradeFlags(RecipeDB, 26752, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,56)
+	self:addTradeAcquire(RecipeDB, 26752, 2, 22213)
+
+	-- Spellfire Gloves -- 26753
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val10id4val111id6val100id19val23id22
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 26797
+	self:addTradeSkill(RecipeDB, 26753, 365, 21847, 1, 3908, 26797)
+	self:addTradeFlags(RecipeDB, 26753, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,56)
+	self:addTradeAcquire(RecipeDB, 26753, 2, 22213)
+
+	-- Spellfire Robe -- 26754
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val17id4val178id6val144id19val28id22
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 26797
+	self:addTradeSkill(RecipeDB, 26754, 375, 21848, 1, 3908, 26797)
+	self:addTradeFlags(RecipeDB, 26754, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,56)
+	self:addTradeAcquire(RecipeDB, 26754, 2, 22213)
+
+	-- Spellfire Bag -- 26755
+	-- Mob Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26755, 375, 21858, 3, 3908)
+	self:addTradeFlags(RecipeDB, 26755, 1,2,4,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26755, 3, 20134, 3, 20135, 2, 22213)
+
+	-- Frozen Shadoweave Shoulders -- 26756
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val21id3val15id4val133id6val100id19
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 26801
+	self:addTradeSkill(RecipeDB, 26756, 355, 21869, 1, 3908, 26801)
+	self:addTradeFlags(RecipeDB, 26756, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,56)
+	self:addTradeAcquire(RecipeDB, 26756, 2, 22212)
+
+	-- Frozen Shadoweave Boots -- 26757
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val15id3val9id4val122id6val114id19
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 26801
+	self:addTradeSkill(RecipeDB, 26757, 365, 21870, 1, 3908, 26801)
+	self:addTradeFlags(RecipeDB, 26757, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,56)
+	self:addTradeAcquire(RecipeDB, 26757, 2, 22212)
+
+	-- Frozen Shadoweave Robe -- 26758
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val30id3val20id4val178id6val144id19
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 26801
+	self:addTradeSkill(RecipeDB, 26758, 375, 21871, 1, 3908, 26801)
+	self:addTradeFlags(RecipeDB, 26758, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,56)
+	self:addTradeAcquire(RecipeDB, 26758, 2, 22212)
+
+	-- Ebon Shadowbag -- 26759
+	-- Mob Drop
+	-- Vendor
+	-- Flags: Warlock, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26759, 375, 21872, 3, 3908)
+	self:addTradeFlags(RecipeDB, 26759, 1,2,4,11,29,36,41)
+	self:addTradeAcquire(RecipeDB, 26759, 3, 20872, 2, 22212)
+
+	-- Primal Mooncloth Belt -- 26760
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val12id4val11id5val109id6val27id19val81id20val8id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 26798
+	self:addTradeSkill(RecipeDB, 26760, 355, 21873, 1, 3908, 26798)
+	self:addTradeFlags(RecipeDB, 26760, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 26760, 2, 22208)
+
+	-- Primal Mooncloth Shoulders -- 26761
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val16id4val15id5val133id6val31id19val92id20val7id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 26798
+	self:addTradeSkill(RecipeDB, 26761, 365, 21874, 1, 3908, 26798)
+	self:addTradeFlags(RecipeDB, 26761, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 26761, 2, 22208)
+
+	-- Primal Mooncloth Robe -- 26762
+	-- Vendor
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val20id4val20id5val202id6val41id19val121id20val10id24
+	recipecount = recipecount + 1
+	-- Recipe Specialty of 26798
+	self:addTradeSkill(RecipeDB, 26762, 375, 21875, 1, 3908, 26798)
+	self:addTradeFlags(RecipeDB, 26762, 1,2,4,21,22,23,24,25,26,27,28,29,30,37,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 26762, 2, 22208)
+
+	-- Primal Mooncloth Bag -- 26763
+	-- Mob Drop
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26763, 375, 21876, 3, 3908)
+	self:addTradeFlags(RecipeDB, 26763, 1,2,4,11,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 26763, 3, 18872, 2, 22208)
+
+	-- Netherweave Bracers -- 26764
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val24id3val51id6val19id19val19id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26764, 310, 21849, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26764, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 26764, 1, 18749, 1, 18772)
+
+	-- Netherweave Belt -- 26765
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val30id3val65id6val26id19val26id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26765, 310, 21850, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26765, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 26765, 1, 18749, 1, 18772)
+
+	-- Netherweave Gloves -- 26770
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val30id3val77id6val28id19val28id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26770, 320, 21851, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26770, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 26770, 1, 18749, 1, 18772)
+
+	-- Netherweave Pants -- 26771
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val45id3val111id6val37id19val37id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26771, 325, 21852, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26771, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 26771, 1, 18749, 1, 18772)
+
+	-- Netherweave Boots -- 26772
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val30id3val92id6val34id19val34id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26772, 335, 21853, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26772, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 26772, 1, 18749, 1, 18772)
+
+	-- Netherweave Robe -- 26773
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val45id3val137id6val44id19val44id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26773, 340, 21854, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26773, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 26773, 2, 16638, 2, 16767, 2, 19213)
+
+	-- Netherweave Tunic -- 26774
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val45id3val141id6val46id19val46id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26774, 345, 21855, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26774, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 26774, 2, 16638, 2, 16767, 2, 19213)
+
+	-- Imbued Netherweave Pants -- 26775
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val39id3val26id4val126id6val30id19val30id20val10id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26775, 340, 21859, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26775, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 26775, 2, 18011, 2, 19722)
+
+	-- Imbued Netherweave Boots -- 26776
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val30id3val21id4val102id6val23id19val23id20val8id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26776, 350, 21860, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26776, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 26776, 2, 18011, 2, 19722)
+
+	-- Imbued Netherweave Robe -- 26777
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val42id3val28id4val155id6val33id19val33id20val11id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26777, 360, 21861, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26777, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 26777, 2, 19521)
+
+	-- Imbued Netherweave Tunic -- 26778
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val28id3val155id6val50id19val50id20val11id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26778, 360, 21862, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26778, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 26778, 2, 19521)
+
+	-- Soulcloth Gloves -- 26779
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val24id3val13id4val9id5val106id6val35id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26779, 355, 21863, 1, 3908)
+	self:addTradeFlags(RecipeDB, 26779, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 26779, 2, 19015, 2, 19017)
+
+	-- Soulcloth Shoulders -- 26780
+	-- Raid: 3457 - Karazhan
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val30id3val15id4val11id5val127id6val30id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26780, 365, 21864, 4, 3908)
+	self:addTradeFlags(RecipeDB, 26780, 6,11,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 26780, 3, 16406)
+
+	-- Soulcloth Vest -- 26781
+	-- Raid: 3457 - Karazhan
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val24id3val20id4val16id5val170id6val45id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26781, 375, 21865, 4, 3908)
+	self:addTradeFlags(RecipeDB, 26781, 6,11,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 26781, 3, 16408)
+
+	-- Arcanoweave Bracers -- 26782
+	-- Instance: 3848 - type5category3territory1expansion1minlevel70nameTempest Keep: The Arcatrazid3848
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val31id3val67id6val25id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26782, 350, 21866, 2, 3908)
+	self:addTradeFlags(RecipeDB, 26782, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 26782, 3, 20869)
+
+	-- Arcanoweave Boots -- 26783
+	-- Instance: 3849 - type5category3territory1expansion1minlevel70nameTempest Keep: The Mechanarid3849
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val39id3val106id6val35id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26783, 360, 21867, 2, 3908)
+	self:addTradeFlags(RecipeDB, 26783, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 26783, 3, 19168)
+
+	-- Arcanoweave Robe -- 26784
+	-- Instance: 3849 - type5category3territory1expansion1minlevel70nameTempest Keep: The Mechanarid3849
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val45id3val156id6val9id24val50id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 26784, 370, 21868, 2, 3908)
+	self:addTradeFlags(RecipeDB, 26784, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 26784, 3, 19220)
+
+	-- Enchanted Mageweave Pouch -- 27658
+	-- No location information
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27658, 210, 22246, 1, 3908)
+	self:addTradeFlags(RecipeDB, 27658, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27658, 2, 1318, 2, 3012, 2, 3346, 2, 4228, 2, 4617, 2, 5158, 2, 5757, 2, 5758, 2, 15198, 2, 15419, 2, 16635, 2, 16722, 2, 18753, 2, 18773, 2, 18951, 2, 19234, 2, 19537, 2, 19540, 2, 19663)
+
+	-- Enchanted Runecloth Bag -- 27659
+	-- No location information
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27659, 260, 22248, 1, 3908)
+	self:addTradeFlags(RecipeDB, 27659, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27659, 2, 15198, 2, 15419)
+
+	-- Big Bag of Enchantment -- 27660
+	-- Instance: 2557 - type1category3maxlevel60territory1minlevel58nameDire Maulid2557
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27660, 285, 22249, 2, 3908)
+	self:addTradeFlags(RecipeDB, 27660, 5,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 27660, 3, 11487)
+
+	-- Cenarion Herb Bag -- 27724
+	-- Cenarion Circle - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27724, 260, 22251, 1, 3908)
+	self:addTradeFlags(RecipeDB, 27724, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,97)
+	self:addTradeAcquire(RecipeDB, 27724, 6, 609, 1, 15179)
+
+	-- Satchel of Cenarius -- 27725
+	-- Cenarion Circle - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 27725, 285, 22252, 1, 3908)
+	self:addTradeFlags(RecipeDB, 27725, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,97)
+	self:addTradeAcquire(RecipeDB, 27725, 6, 609, 3, 15179)
+
+	-- Glacial Gloves -- 28205
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val22id3val87id6val15id19val15id20val30id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28205, 285, 22654, 4, 3908)
+	self:addTradeFlags(RecipeDB, 28205, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	-- No acquire information
+
+	-- Glacial Vest -- 28207
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val26id3val139id6val21id19val21id20val40id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28207, 285, 22652, 4, 3908)
+	self:addTradeFlags(RecipeDB, 28207, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	-- No acquire information
+
+	-- Glacial Cloak -- 28208
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val18id3val69id6val24id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28208, 285, 22658, 4, 3908)
+	self:addTradeFlags(RecipeDB, 28208, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,60)
+	-- No acquire information
+
+	-- Glacial Wrists -- 28209
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val20id3val61id6val12id19val12id20val20id35
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28209, 285, 22655, 4, 3908)
+	self:addTradeFlags(RecipeDB, 28209, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	-- No acquire information
+
+	-- Gaea's Embrace -- 28210
+	-- Cenarion Circle - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val6id3val49id6val20id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28210, 285, 22660, 1, 3908)
+	self:addTradeFlags(RecipeDB, 28210, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,60,97)
+	self:addTradeAcquire(RecipeDB, 28210, 6, 609, 3, 15179)
+
+	-- Sylvan Vest -- 28480
+	-- Cenarion Circle - Revered
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val15id3val98id6val12id19val12id20val30id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28480, 285, 22756, 1, 3908)
+	self:addTradeFlags(RecipeDB, 28480, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56,97)
+	self:addTradeAcquire(RecipeDB, 28480, 6, 609, 3, 15179)
+
+	-- Sylvan Crown -- 28481
+	-- Cenarion Circle - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val10id3val80id6val18id19val18id20val30id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28481, 285, 22757, 1, 3908)
+	self:addTradeFlags(RecipeDB, 28481, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56,97)
+	self:addTradeAcquire(RecipeDB, 28481, 6, 609, 2, 15179)
+
+	-- Sylvan Shoulders -- 28482
+	-- Cenarion Circle - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val18id3val74id6val7id19val7id20val20id34
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 28482, 285, 22758, 1, 3908)
+	self:addTradeFlags(RecipeDB, 28482, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56,97)
+	self:addTradeAcquire(RecipeDB, 28482, 6, 609, 1, 15179)
+
+	-- Spellcloth -- 31373
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31373, 340, 24271, 1, 3908)
+	self:addTradeFlags(RecipeDB, 31373, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 31373, 2, 22213)
+
+	-- Mystic Spellthread -- 31430
+	-- The Scryers - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31430, 335, 24273, 1, 3908)
+	self:addTradeFlags(RecipeDB, 31430, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,110)
+	self:addTradeAcquire(RecipeDB, 31430, 6, 934, 2, 19331)
+
+	-- Silver Spellthread -- 31431
+	-- The Aldor - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31431, 335, 24275, 1, 3908)
+	self:addTradeFlags(RecipeDB, 31431, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,101)
+	self:addTradeAcquire(RecipeDB, 31431, 6, 932, 2, 19321)
+
+	-- Runic Spellthread -- 31432
+	-- The Scryers - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31432, 375, 24274, 1, 3908)
+	self:addTradeFlags(RecipeDB, 31432, 2,4,21,22,23,24,25,26,27,28,29,30,36,41,110)
+	self:addTradeAcquire(RecipeDB, 31432, 6, 934, 4, 19331)
+
+	-- Golden Spellthread -- 31433
+	-- The Aldor - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31433, 375, 24276, 1, 3908)
+	self:addTradeFlags(RecipeDB, 31433, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,101)
+	self:addTradeAcquire(RecipeDB, 31433, 6, 932, 4, 19321)
+
+	-- Unyielding Bracers -- 31434
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val39id3val67id6val12id29
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31434, 350, 24249, 3, 3908)
+	self:addTradeFlags(RecipeDB, 31434, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,56)
+	self:addTradeAcquire(RecipeDB, 31434, 7, 3)
+
+	-- Bracers of Havok -- 31435
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val12id4val67id6val30id19val30id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31435, 350, 24250, 3, 3908)
+	self:addTradeFlags(RecipeDB, 31435, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 31435, 7, 3)
+
+	-- Blackstrike Bracers -- 31437
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val67id6val2id19val2id20val26id22val5id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31437, 350, 24251, 3, 3908)
+	self:addTradeFlags(RecipeDB, 31437, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 31437, 7, 3)
+
+	-- Cloak of the Black Void -- 31438
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val11id4val76id6val35id19val35id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31438, 350, 24252, 3, 3908)
+	self:addTradeFlags(RecipeDB, 31438, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,60)
+	self:addTradeAcquire(RecipeDB, 31438, 7, 3)
+
+	-- Cloak of Eternity -- 31440
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats: Tanking,
+	-- Item Stats: val36id3val76id6val23id31
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31440, 350, 24253, 3, 3908)
+	self:addTradeFlags(RecipeDB, 31440, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,52,60)
+	self:addTradeAcquire(RecipeDB, 31440, 7, 3)
+
+	-- White Remedy Cape -- 31441
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats: Healing,
+	-- Item Stats: val76id6val20id19val59id20val7id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31441, 350, 24254, 3, 3908)
+	self:addTradeFlags(RecipeDB, 31441, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,53,60)
+	self:addTradeAcquire(RecipeDB, 31441, 7, 3)
+
+	-- Unyielding Girdle -- 31442
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val28id3val3id4val100id6val32id19val32id20val20id29
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31442, 365, 24255, 4, 3908)
+	self:addTradeFlags(RecipeDB, 31442, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 31442, 7, 4)
+
+	-- Girdle of Ruination -- 31443
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val18id3val13id4val100id6val39id19val39id20val20id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31443, 365, 24256, 4, 3908)
+	self:addTradeFlags(RecipeDB, 31443, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 31443, 7, 4)
+
+	-- Black Belt of Knowledge -- 31444
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val18id4val21id5val100id6val4id19val4id20val11id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31444, 365, 24257, 4, 3908)
+	self:addTradeFlags(RecipeDB, 31444, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,54,56)
+	self:addTradeAcquire(RecipeDB, 31444, 7, 4)
+
+	-- Resolute Cape -- 31448
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val30id3val349id6val21id29
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31448, 365, 24258, 4, 3908)
+	self:addTradeFlags(RecipeDB, 31448, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 31448, 7, 4)
+
+	-- Vengeance Wrap -- 31449
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val89id6val52id9val23id11val52id16val23id18
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31449, 365, 24259, 4, 3908)
+	self:addTradeFlags(RecipeDB, 31449, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 31449, 7, 4)
+
+	-- Manaweave Cloak -- 31450
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoE, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val20id4val21id5val89id6val8id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31450, 365, 24260, 4, 3908)
+	self:addTradeFlags(RecipeDB, 31450, 10,21,22,23,24,25,26,27,28,29,30,36,40,47,60)
+	self:addTradeAcquire(RecipeDB, 31450, 7, 4)
+
+	-- Whitemend Pants -- 31451
+	-- Instance: 3848 - type5category3territory1expansion1minlevel70nameTempest Keep: The Arcatrazid3848
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val21id3val25id4val156id6val21id19val62id20val11id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31451, 375, 24261, 4, 3908)
+	self:addTradeFlags(RecipeDB, 31451, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 31451, 3, 20885)
+
+	-- Spellstrike Pants -- 31452
+	-- Instance: 3789 - type5category3territory1expansion1minlevel70nameAuchindoun: Shadow Labrynthid3789
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val12id3val8id4val156id6val46id19val46id20val22id21val26id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31452, 375, 24262, 4, 3908)
+	self:addTradeFlags(RecipeDB, 31452, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 31452, 3, 18708)
+
+	-- Battlecast Pants -- 31453
+	-- Instance: 3847 - type5category3territory1expansion1minlevel70nameTempest Keep: The Botanicaid3847
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val42id3val27id4val156id6val46id19val46id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31453, 375, 24263, 4, 3908)
+	self:addTradeFlags(RecipeDB, 31453, 5,11,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 31453, 3, 17978)
+
+	-- Whitemend Hood -- 31454
+	-- Instance: 3847 - type5category3territory1expansion1minlevel70nameTempest Keep: The Botanicaid3847
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val15id3val19id4val145id6val27id19val79id20val11id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31454, 375, 24264, 4, 3908)
+	self:addTradeFlags(RecipeDB, 31454, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 31454, 3, 17977)
+
+	-- Spellstrike Hood -- 31455
+	-- Instance: 3714 - type5category3territory1expansion1minlevel70nameHellfire Citadel: The Shattered Hallsid3714
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val16id3val12id4val145id6val46id19val46id20val16id21val24id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31455, 375, 24266, 4, 3908)
+	self:addTradeFlags(RecipeDB, 31455, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 31455, 3, 16807)
+
+	-- Battlecast Hood -- 31456
+	-- Instance: 3715 - type5category3territory1expansion1minlevel70nameCoilfang Reservoir: The Steamvaultid3715
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val43id3val28id4val145id6val43id19val43id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31456, 375, 24267, 4, 3908)
+	self:addTradeFlags(RecipeDB, 31456, 5,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 31456, 3, 17798)
+
+	-- Bag of Jewels -- 31459
+	-- The Consortium - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31459, 340, 24270, 1, 3908)
+	self:addTradeFlags(RecipeDB, 31459, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,105)
+	self:addTradeAcquire(RecipeDB, 31459, 6, 933, 2, 20242, 6, 933, 2, 23007)
+
+	-- Netherweave Net -- 31460
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31460, 280, 24268, 1, 3908)
+	self:addTradeFlags(RecipeDB, 31460, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
+	self:addTradeAcquire(RecipeDB, 31460, 1, 11557, 1, 18749, 1, 18772)
+
+	-- Heavy Netherweave Net -- 31461
+	-- Trainer
+	-- Flags: All classes, Recipe BoP,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 31461, 315, 24269, 1, 3908)
+	self:addTradeFlags(RecipeDB, 31461, 3,21,22,23,24,25,26,27,28,29,30,41)
+	-- No acquire information
+
+	-- Belt of Blasting -- 36315
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val121id6val54id19val54id20val23id21val30id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36315, 375, 30038, 4, 3908)
+	self:addTradeFlags(RecipeDB, 36315, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 36315, 7, 4)
+
+	-- Belt of the Long Road -- 36316
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val13id3val18id4val33id5val121id6val28id19val80id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36316, 375, 30036, 4, 3908)
+	self:addTradeFlags(RecipeDB, 36316, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 36316, 7, 4)
+
+	-- Boots of Blasting -- 36317
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val25id3val25id4val148id6val39id19val39id20val18id21val25id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36317, 375, 30037, 4, 3908)
+	self:addTradeFlags(RecipeDB, 36317, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 36317, 7, 4)
+
+	-- Boots of the Long Road -- 36318
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val25id3val26id4val22id5val148id6val25id19val73id20val9id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36318, 375, 30035, 4, 3908)
+	self:addTradeFlags(RecipeDB, 36318, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 36318, 7, 4)
+
+	-- Netherflame Robe -- 36665
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val21id3val149id6val41id19val41id20val14id21val35id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36665, 355, 30459, 3, 3908)
+	self:addTradeFlags(RecipeDB, 36665, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	-- No acquire information
+
+	-- Netherflame Belt -- 36667
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val16id3val84id6val29id19val29id20val25id21val11id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36667, 355, 30460, 3, 3908)
+	self:addTradeFlags(RecipeDB, 36667, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	-- No acquire information
+
+	-- Netherflame Boots -- 36668
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS, Caster DPS,
+	-- Item Stats: val16id3val103id6val29id19val29id20val11id21val25id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36668, 355, 30461, 3, 3908)
+	self:addTradeFlags(RecipeDB, 36668, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	-- No acquire information
+
+	-- Lifeblood Leggings -- 36669
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val21id3val14id4val126id6val26id19val77id20val14id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36669, 355, 30465, 3, 3908)
+	self:addTradeFlags(RecipeDB, 36669, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,53,56)
+	-- No acquire information
+
+	-- Lifeblood Belt -- 36670
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val16id3val11id4val84id6val19id19val55id20val10id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36670, 355, 30463, 3, 3908)
+	self:addTradeFlags(RecipeDB, 36670, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,53,56)
+	-- No acquire information
+
+	-- Lifeblood Bracers -- 36672
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val15id3val10id4val67id6val14id19val42id20val8id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36672, 355, 30464, 3, 3908)
+	self:addTradeFlags(RecipeDB, 36672, 3,21,22,23,24,25,26,27,28,29,30,36,41,47,53,56)
+	-- No acquire information
+
+	-- Shadowcloth -- 36686
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoE,
+	-- Item Stats:
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 36686, 340, 24272, 1, 3908)
+	self:addTradeFlags(RecipeDB, 36686, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,40)
+	self:addTradeAcquire(RecipeDB, 36686, 2, 22212)
+
+	-- Cloak of Arcane Evasion -- 37873
+	-- Lower City - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val12id3val76id6val32id32
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 37873, 350, 30831, 1, 3908)
+	self:addTradeFlags(RecipeDB, 37873, 1,2,4,21,22,23,24,25,26,27,28,29,30,36,41,47,60,107)
+	self:addTradeAcquire(RecipeDB, 37873, 6, 1011, 2, 21655)
+
+	-- Flameheart Bracers -- 37882
+	-- The Aldor - Friendly
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val12id3val8id4val67id6val30id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 37882, 350, 30837, 1, 3908)
+	self:addTradeFlags(RecipeDB, 37882, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,56,101)
+	self:addTradeAcquire(RecipeDB, 37882, 6, 932, 1, 19321)
+
+	-- Flameheart Gloves -- 37883
+	-- The Aldor - Honored
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val15id3val11id4val97id6val40id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 37883, 360, 30838, 1, 3908)
+	self:addTradeFlags(RecipeDB, 37883, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,56,101)
+	self:addTradeAcquire(RecipeDB, 37883, 6, 932, 2, 19321)
+
+	-- Flameheart Vest -- 37884
+	-- The Aldor - Exalted
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val30id3val19id4val156id6val50id33
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 37884, 370, 30839, 1, 3908)
+	self:addTradeFlags(RecipeDB, 37884, 1,4,21,22,23,24,25,26,27,28,29,30,36,41,47,56,101)
+	self:addTradeAcquire(RecipeDB, 37884, 6, 932, 4, 19321)
+
+	-- Soulguard Slippers -- 40020
+	-- Ashtongue Deathsworn - Honored
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val40id3val150id6val54id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40020, 375, 32391, 1, 3908)
+	self:addTradeFlags(RecipeDB, 40020, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,56,102)
+	self:addTradeAcquire(RecipeDB, 40020, 6, 1012, 2, 23159)
+
+	-- Soulguard Bracers -- 40021
+	-- Ashtongue Deathsworn - Friendly
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val30id3val96id6val40id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40021, 375, 32392, 1, 3908)
+	self:addTradeFlags(RecipeDB, 40021, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,56,102)
+	self:addTradeAcquire(RecipeDB, 40021, 6, 1012, 1, 23159)
+
+	-- Soulguard Leggings -- 40023
+	-- Ashtongue Deathsworn - Honored
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val54id3val191id6val72id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40023, 375, 32389, 1, 3908)
+	self:addTradeFlags(RecipeDB, 40023, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,56,102)
+	self:addTradeAcquire(RecipeDB, 40023, 6, 1012, 2, 23159)
+
+	-- Soulguard Girdle -- 40024
+	-- Ashtongue Deathsworn - Friendly
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats:
+	-- Item Stats: val40id3val123id6val54id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40024, 375, 32390, 1, 3908)
+	self:addTradeFlags(RecipeDB, 40024, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,56,102)
+	self:addTradeAcquire(RecipeDB, 40024, 6, 1012, 1, 23159)
+
+	-- Night's End -- 40060
+	-- Ashtongue Deathsworn - Honored
+	-- Raid: 3959 - Black Temple
+	-- Vendor
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloak,
+	-- Item Stats:
+	-- Item Stats: val30id3val109id6val40id36
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 40060, 375, 32420, 1, 3908)
+	self:addTradeFlags(RecipeDB, 40060, 1,2,4,6,21,22,23,24,25,26,27,28,29,30,36,41,47,60,102)
+	self:addTradeAcquire(RecipeDB, 40060, 6, 1012, 2, 23159)
+
+	-- Bracers of Nimble Thought -- 41205
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val27id3val20id4val103id6val34id19val34id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41205, 375, 32586, 4, 3908)
+	self:addTradeFlags(RecipeDB, 41205, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 41205, 7, 4)
+
+	-- Mantle of Nimble Thought -- 41206
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val37id3val26id4val177id6val44id19val44id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41206, 375, 32587, 4, 3908)
+	self:addTradeFlags(RecipeDB, 41206, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 41206, 7, 4)
+
+	-- Swiftheal Wraps -- 41207
+	-- World Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val24id3val22id4val103id6val22id19val64id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41207, 375, 32584, 4, 3908)
+	self:addTradeFlags(RecipeDB, 41207, 10,21,22,23,24,25,26,27,28,29,30,36,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 41207, 7, 4)
+
+	-- Swiftheal Mantle -- 41208
+	-- World Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val21id3val16id4val28id5val177id6val28id19val84id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 41208, 375, 32585, 4, 3908)
+	self:addTradeFlags(RecipeDB, 41208, 10,21,22,23,24,25,26,27,28,29,30,37,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 41208, 7, 4)
+
+	-- Green Winter Clothes -- 44950
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth, Seasonal,
+	-- Item Stats:
+	-- Item Stats: val3id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44950, 250, 34087, 2, 3908)
+	self:addTradeFlags(RecipeDB, 44950, 3,7,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 44950, 5, 1)
+
+	-- Red Winter Clothes -- 44958
+	-- Trainer
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth, Seasonal,
+	-- Item Stats:
+	-- Item Stats: val3id6
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 44958, 250, 34085, 2, 3908)
+	self:addTradeFlags(RecipeDB, 44958, 3,7,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
+	self:addTradeAcquire(RecipeDB, 44958, 5, 1)
+
+	-- Sunfire Handwraps -- 46128
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val33id3val30id4val166id6val57id19val57id20val37id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46128, 340, 34366, 4, 3908)
+	self:addTradeFlags(RecipeDB, 46128, 6,11,21,22,23,24,25,26,27,28,29,30,36,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 46128, 3, 25363, 3, 25367, 3, 25369, 3, 25371, 3, 25507)
+
+	-- Hands of Eternal Light -- 46129
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val33id3val30id4val37id5val166id6val33id19val99id20
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46129, 340, 34367, 4, 3908)
+	self:addTradeFlags(RecipeDB, 46129, 6,11,21,22,23,24,25,26,27,28,29,30,36,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 46129, 3, 25363, 3, 25371, 3, 25507)
+
+	-- Sunfire Robe -- 46130
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Caster DPS,
+	-- Item Stats: val36id3val34id4val266id6val76id19val76id20val40id22
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46130, 340, 34364, 4, 3908)
+	self:addTradeFlags(RecipeDB, 46130, 6,11,21,22,23,24,25,26,27,28,29,30,37,41,47,54,56)
+	self:addTradeAcquire(RecipeDB, 46130, 3, 25369, 3, 25371, 3, 25372, 3, 25507)
+
+	-- Robe of Eternal Light -- 46131
+	-- Raid: 4075 - Sunwell Plateau
+	-- Raid: 4075 - Sunwell Plateau
+	-- Mob Drop
+	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Cloth,
+	-- Item Stats: Healing,
+	-- Item Stats: val36id3val34id4val266id6val45id19val134id20val18id24
+	recipecount = recipecount + 1
+	self:addTradeSkill(RecipeDB, 46131, 340, 34365, 4, 3908)
+	self:addTradeFlags(RecipeDB, 46131, 6,11,21,22,23,24,25,26,27,28,29,30,37,41,47,53,56)
+	self:addTradeAcquire(RecipeDB, 46131, 3, 25363, 3, 25369)
+
+	return recipecount

 end
diff --git a/RecipeDB/ARL-Trainer.lua b/RecipeDB/ARL-Trainer.lua
new file mode 100644
index 0000000..6e66a53
--- /dev/null
+++ b/RecipeDB/ARL-Trainer.lua
@@ -0,0 +1,321 @@
+--[[
+
+************************************************************************
+
+ARL-Trainer.lua
+
+Trainer data for all of Ackis Recipe List
+
+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+
+282 found from data mining.  0 ignored.
+
+************************************************************************
+
+$Date$
+$Rev$
+
+************************************************************************
+
+Format:
+
+	self:addLookupList(TrainerDB, NPC ID, NPC Name, NPC Location, X Coord, Y Coord, Faction)
+
+************************************************************************
+
+]]--
+
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+local BFAC				= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
+local BZONE				= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
+
+function addon:InitTrainer(TrainerDB)
+
+	self:addLookupList(TrainerDB, 223, L["Dan Golthas"], BZONE["Undercity"], 69.92, 64.49, 2)
+	self:addLookupList(TrainerDB, 514, L["Smith Argus"], BZONE["Elwynn Forest"], 48.48, 59.88, 1)
+	self:addLookupList(TrainerDB, 957, L["Dane Lindgren"], BZONE["Stormwind City"], 53.42, 19.23, 1)
+	self:addLookupList(TrainerDB, 1103, L["Eldrin"], BZONE["Elwynn Forest"], 80.44, 67.32, 1)
+	self:addLookupList(TrainerDB, 1215, L["Alchemist Mallory"], BZONE["Elwynn Forest"], 65.60, 68.0, 1)
+	self:addLookupList(TrainerDB, 1241, L["Tognus Flintfire"], BZONE["Dun Morogh"], 45.31, 52.02, 1)
+	self:addLookupList(TrainerDB, 1246, L["Vosur Brakthel"], BZONE["Ironforge"], 67.86, 49.67, 1)
+	self:addLookupList(TrainerDB, 1300, L["Lawrence Schneider"], BZONE["Stormwind City"], 36.08, 63.80, 1)
+	self:addLookupList(TrainerDB, 1317, L["Lucan Cordell"], BZONE["Stormwind City"], 44.31, 63.33, 1)
+	self:addLookupList(TrainerDB, 1346, L["Georgio Bolero"], BZONE["Stormwind City"], 38.87, 67.37, 1)
+	self:addLookupList(TrainerDB, 1355, L["Cook Ghilm"], BZONE["Dun Morogh"], 68.28, 54.72, 1)
+	self:addLookupList(TrainerDB, 1382, L["Mudduk"], BZONE["Stranglethorn Vale"], 35.32, 44.78, 2)
+	self:addLookupList(TrainerDB, 1383, L["Snarl"], BZONE["Orgrimmar"], 76.25, 26.16, 2)
+	self:addLookupList(TrainerDB, 1385, L["Brawn"], BZONE["Stranglethorn Vale"], 34.16, 38.00, 2)
+	self:addLookupList(TrainerDB, 1386, L["Rogvar"], BZONE["Swamp of Sorrows"], 73.96, 45.76, 2)
+	self:addLookupList(TrainerDB, 1430, L["Tomas"], BZONE["Elwynn Forest"], 54.61, 52.71, 1)
+	self:addLookupList(TrainerDB, 1466, L["Gretta Finespindle"], BZONE["Ironforge"], 38.06, 43.91, 1)
+	self:addLookupList(TrainerDB, 1470, L["Ghak Healtouch"], BZONE["Loch Modan"], 55.28, 52.41, 1)
+	self:addLookupList(TrainerDB, 1632, L["Adele Fielder"], BZONE["Elwynn Forest"], 46.65, 62.53, 1)
+	self:addLookupList(TrainerDB, 1676, L["Finbus Geargrind"], BZONE["Duskwood"], 77.55, 46.36, 1)
+	self:addLookupList(TrainerDB, 1681, L["Brock Stoneseeker"], BZONE["Loch Modan"], 46.92, 46.2, 1)
+	self:addLookupList(TrainerDB, 1699, L["Gremlock Pilsnor"], BZONE["Dun Morogh"], 47.35, 52.5, 1)
+	self:addLookupList(TrainerDB, 1701, L["Dank Drizzlecut"], BZONE["Dun Morogh"], 69.63, 55.39, 1)
+	self:addLookupList(TrainerDB, 1702, L["Bronk Guzzlegear"], BZONE["Dun Morogh"], 50.13, 50.42, 1)
+	self:addLookupList(TrainerDB, 1703, L["Uthrar Threx"], BZONE["Ironforge"], 42.31, 42.33, 1)
+	self:addLookupList(TrainerDB, 2132, L["Carolai Anise"], BZONE["Tirisfal Glades"], 54.55, 45.58, 2)
+	self:addLookupList(TrainerDB, 2326, L["Thamner Pol"], BZONE["Dun Morogh"], 47.29, 51.93, 1)
+	self:addLookupList(TrainerDB, 2327, L["Shaina Fuller"], BZONE["Stormwind City"], 38.86, 38.13, 1)
+	self:addLookupList(TrainerDB, 2329, L["Michelle Belle"], BZONE["Elwynn Forest"], 57.84, 48.33, 1)
+	self:addLookupList(TrainerDB, 2391, L["Serge Hinott"], BZONE["Hillsbrad Foothills"], 56.29, 36.52, 2)
+	self:addLookupList(TrainerDB, 2399, L["Daryl Stack"], BZONE["Hillsbrad Foothills"], 62.15, 37.43, 2)
+	self:addLookupList(TrainerDB, 2627, L["Grarnik Goodstitch"], BZONE["Stranglethorn Vale"], 28.71, 76.78, 0)
+	self:addLookupList(TrainerDB, 2798, L["Pand Stonebinder"], BZONE["Thunder Bluff"], 27.67, 24.86, 2)
+	self:addLookupList(TrainerDB, 2818, L["Slagg"], BZONE["Arathi Highlands"], 66.91, 45.35, 2)
+	self:addLookupList(TrainerDB, 2836, L["Brikk Keencraft"], BZONE["Stranglethorn Vale"], 33.66, 81.94, 1)
+	self:addLookupList(TrainerDB, 2837, L["Jaxin Chong"], BZONE["Stranglethorn Vale"], 35.81, 86.25, 0)
+	self:addLookupList(TrainerDB, 2855, L["Snang"], BZONE["Orgrimmar"], 61.43, 49.36, 2)
+	self:addLookupList(TrainerDB, 2857, L["Thund"], BZONE["Orgrimmar"], 67.62, 33.89, 2)
+	self:addLookupList(TrainerDB, 2998, L["Karn Stonehoof"], BZONE["Thunder Bluff"], 41.21, 54.42, 2)
+	self:addLookupList(TrainerDB, 3001, L["Brek Stonehoof"], BZONE["Thunder Bluff"], 41.69, 52.56, 2)
+	self:addLookupList(TrainerDB, 3004, L["Tepa"], BZONE["Thunder Bluff"], 37.69, 38.79, 2)
+	self:addLookupList(TrainerDB, 3007, L["Una"], BZONE["Thunder Bluff"], 47.26, 43.84, 0)
+	self:addLookupList(TrainerDB, 3008, L["Mak"], BZONE["Thunder Bluff"], 38.38, 39.34, 2)
+	self:addLookupList(TrainerDB, 3009, L["Bena Winterhoof"], BZONE["Thunder Bluff"], 43.71, 37.39, 2)
+	self:addLookupList(TrainerDB, 3011, L["Teg Dawnstrider"], BZONE["Thunder Bluff"], 43.95, 41.67, 2)
+	self:addLookupList(TrainerDB, 3026, L["Aska Mistrunner"], BZONE["Thunder Bluff"], 50.33, 49.75, 2)
+	self:addLookupList(TrainerDB, 3067, L["Pyall Silentstride"], BZONE["Mulgore"], 40.57, 58.35, 2)
+	self:addLookupList(TrainerDB, 3069, L["Chaw Stronghide"], BZONE["Mulgore"], 41.87, 58.85, 2)
+	self:addLookupList(TrainerDB, 3087, L["Crystal Boughman"], BZONE["Redridge Mountains"], 23.08, 45.01, 1)
+	self:addLookupList(TrainerDB, 3136, L["Clarise Gnarltree"], BZONE["Duskwood"], 55.16, 57.36, 1)
+	self:addLookupList(TrainerDB, 3137, L["Matt Johnson"], BZONE["Duskwood"], 74.29, 50.31, 1)
+	self:addLookupList(TrainerDB, 3174, L["Dwukk"], BZONE["Durotar"], 56.29, 35.94, 2)
+	self:addLookupList(TrainerDB, 3175, L["Krunn"], BZONE["Durotar"], 56.96, 35.52, 2)
+	self:addLookupList(TrainerDB, 3181, L["Fremal Doohickey"], BZONE["Wetlands"], 10.78, 60.9, 1)
+	self:addLookupList(TrainerDB, 3184, L["Miao'zan"], BZONE["Durotar"], 55.95, 70.42, 2)
+	self:addLookupList(TrainerDB, 3290, L["Deek Fizzlebizz"], BZONE["Loch Modan"], 45.21, 13.02, 1)
+	self:addLookupList(TrainerDB, 3345, L["Godan"], BZONE["Orgrimmar"], 50.32, 39.31, 2)
+	self:addLookupList(TrainerDB, 3347, L["Yelmak"], BZONE["Orgrimmar"], 56.79, 36.15, 2)
+	self:addLookupList(TrainerDB, 3355, L["Saru Steelfury"], BZONE["Orgrimmar"], 76.35, 25.87, 2)
+	self:addLookupList(TrainerDB, 3357, L["Makaru"], BZONE["Orgrimmar"], 64.48, 34.23, 2)
+	self:addLookupList(TrainerDB, 3363, L["Magar"], BZONE["Orgrimmar"], 58.79, 39.31, 2)
+	self:addLookupList(TrainerDB, 3365, L["Karolek"], BZONE["Orgrimmar"], 61.07, 46.76, 2)
+	self:addLookupList(TrainerDB, 3373, L["Arnok"], BZONE["Orgrimmar"], 37.57, 73.37, 2)
+	self:addLookupList(TrainerDB, 3399, L["Zamja"], BZONE["Orgrimmar"], 55.61, 38.08, 2)
+	self:addLookupList(TrainerDB, 3412, L["Nogg"], BZONE["Orgrimmar"], 70.03, 30.89, 2)
+	self:addLookupList(TrainerDB, 3478, L["Traugh"], BZONE["The Barrens"], 43.91, 40.57, 2)
+	self:addLookupList(TrainerDB, 3484, L["Kil'hala"], BZONE["The Barrens"], 52.52, 38.56, 2)
+	self:addLookupList(TrainerDB, 3494, L["Tinkerwiz"], BZONE["The Barrens"], 50.91, 56.12, 0)
+	self:addLookupList(TrainerDB, 3523, L["Bowen Brisboise"], BZONE["Tirisfal Glades"], 52.04, 56.8, 2)
+	self:addLookupList(TrainerDB, 3549, L["Shelene Rhobart"], BZONE["Tirisfal Glades"], 57.06, 55.46, 2)
+	self:addLookupList(TrainerDB, 3555, L["Johan Focht"], BZONE["Silverpine Forest"], 42.95, 40.84, 2)
+	self:addLookupList(TrainerDB, 3557, L["Guillaume Sorouy"], BZONE["Silverpine Forest"], 42.9, 40.86, 2)
+	self:addLookupList(TrainerDB, 3603, L["Cyndra Kindwhisper"], BZONE["Teldrassil"], 57.66, 60.76, 1)
+	self:addLookupList(TrainerDB, 3605, L["Nadyia Maneweaver"], BZONE["Teldrassil"], 33.04, 38.35, 1)
+	self:addLookupList(TrainerDB, 3606, L["Alanna Raveneye"], BZONE["Teldrassil"], 36.91, 33.98, 1)
+	self:addLookupList(TrainerDB, 3703, L["Krulmoo Fullmoon"], BZONE["The Barrens"], 57.86, 61.00, 2)
+	self:addLookupList(TrainerDB, 3704, L["Mahani"], BZONE["The Barrens"], 58.01, 61.12, 2)
+	self:addLookupList(TrainerDB, 3964, L["Kylanna"], BZONE["Ashenvale"], 50.17, 67.16, 1)
+	self:addLookupList(TrainerDB, 3967, L["Aayndia Floralwind"], BZONE["Ashenvale"], 40.62, 42.50, 1)
+	self:addLookupList(TrainerDB, 4159, L["Me'lynn"], BZONE["Darnassus"], 58.38, 23.82, 1)
+	self:addLookupList(TrainerDB, 4160, L["Ainethil"], BZONE["Darnassus"], 50.73, 23.33, 1)
+	self:addLookupList(TrainerDB, 4193, L["Grondal Moonbreeze"], BZONE["Darkshore"], 31.41, 36.37, 1)
+	self:addLookupList(TrainerDB, 4210, L["Alegorn"], BZONE["Darnassus"], 46.28, 23.42, 1)
+	self:addLookupList(TrainerDB, 4211, L["Dannelor"], BZONE["Darnassus"], 47.96, 18.32, 1)
+	self:addLookupList(TrainerDB, 4212, L["Telonis"], BZONE["Darnassus"], 53.77, 25.58, 1)
+	self:addLookupList(TrainerDB, 4213, L["Taladan"], BZONE["Darnassus"], 52.14, 18.06, 1)
+	self:addLookupList(TrainerDB, 4254, L["Geofram Bouldertoe"], BZONE["Ironforge"], 46.78, 42.02, 1)
+	self:addLookupList(TrainerDB, 4258, L["Bengus Deepforge"], BZONE["Ironforge"], 51.06, 43.65, 1)
+	self:addLookupList(TrainerDB, 4552, L["Eunice Burch"], BZONE["Undercity"], 63.88, 43.26, 2)
+	self:addLookupList(TrainerDB, 4576, L["Josef Gregorian"], BZONE["Undercity"], 56.70, 39.75, 2)
+	self:addLookupList(TrainerDB, 4578, L["Josephine Lister"], BZONE["Undercity"], 84.93, 24.56, 2)
+	self:addLookupList(TrainerDB, 4586, L["Graham Van Talen"], BZONE["Undercity"], 76.27, 71.68, 2)
+	self:addLookupList(TrainerDB, 4588, L["Arthur Moore"], BZONE["Undercity"], 70.59, 52.34, 2)
+	self:addLookupList(TrainerDB, 4591, L["Mary Edras"], BZONE["Undercity"], 68.81, 49.31, 2)
+	self:addLookupList(TrainerDB, 4596, L["James Van Brunt"], BZONE["Undercity"], 46.42, 46.91, 2)
+	self:addLookupList(TrainerDB, 4598, L["Brom Killian"], BZONE["Undercity"], 50.24, 41.14, 2)
+	self:addLookupList(TrainerDB, 4605, L["Basil Frye"], BZONE["Undercity"], 58.54, 31.73, 2)
+	self:addLookupList(TrainerDB, 4609, L["Doctor Marsh"], BZONE["Undercity"], 55.03, 68.98, 2)
+	self:addLookupList(TrainerDB, 4611, L["Doctor Herbert Halsey"], BZONE["Undercity"], 49.68, 65.70, 2)
+	self:addLookupList(TrainerDB, 4616, L["Lavinia Crowe"], BZONE["Undercity"], 60.90, 54.32, 2)
+	self:addLookupList(TrainerDB, 5127, L["Fimble Finespindle"], BZONE["Ironforge"], 38.66, 42.12, 1)
+	self:addLookupList(TrainerDB, 5150, L["Nissa Firestone"], BZONE["Ironforge"], 51.36, 59.58, 1)
+	self:addLookupList(TrainerDB, 5153, L["Jormund Stonebrow"], BZONE["Ironforge"], 42.01, 44.53, 1)
+	self:addLookupList(TrainerDB, 5157, L["Gimble Thistlefuzz"], BZONE["Ironforge"], 49.75, 54.84, 1)
+	self:addLookupList(TrainerDB, 5159, L["Daryl Riknussun"], BZONE["Ironforge"], 52.23, 46.59, 1)
+	self:addLookupList(TrainerDB, 5164, L["Grumnus Steelshaper"], BZONE["Ironforge"], 48.31, 46.34, 1)
+	self:addLookupList(TrainerDB, 5174, L["Springspindle Fizzlegear"], BZONE["Ironforge"], 61.64, 52.51, 1)
+	self:addLookupList(TrainerDB, 5177, L["Tally Berryfizz"], BZONE["Ironforge"], 57.80, 56.53, 1)
+	self:addLookupList(TrainerDB, 5392, L["Yarr Hammerstone"], BZONE["Dun Morogh"], 49.99, 50.25, 1)
+	self:addLookupList(TrainerDB, 5482, L["Stephen Ryback"], BZONE["Stormwind City"], 57.12, 44.04, 1)
+	self:addLookupList(TrainerDB, 5499, L["Lilyssia Nightbreeze"], BZONE["Stormwind City"], 37.2, 66.16, 0)
+	self:addLookupList(TrainerDB, 5500, L["Tel'Athir"], BZONE["Stormwind City"], 34.43, 62.15, 1)
+	self:addLookupList(TrainerDB, 5511, L["Therum Deepforge"], BZONE["Stormwind City"], 50.17, 19.88, 1)
+	self:addLookupList(TrainerDB, 5513, L["Gelman Stonehand"], BZONE["Stormwind City"], 47.40, 44.36, 1)
+	self:addLookupList(TrainerDB, 5518, L["Lilliam Sparkspindle"], BZONE["Stormwind City"], 49.60, 17.54, 1)
+	self:addLookupList(TrainerDB, 5564, L["Simon Tanner"], BZONE["Stormwind City"], 52.29, 51.55, 1)
+	self:addLookupList(TrainerDB, 5567, L["Sellandus"], BZONE["Stormwind City"], 36.92, 67.35, 1)
+	self:addLookupList(TrainerDB, 5695, L["Vance Undergloom"], BZONE["Tirisfal Glades"], 61.61, 52.15, 2)
+	self:addLookupList(TrainerDB, 5759, L["Nurse Neela"], BZONE["Tirisfal Glades"], 53.02, 42.47, 2)
+	self:addLookupList(TrainerDB, 5784, L["Waldor"], BZONE["The Barrens"], 46.18, 36.45, 0)
+	self:addLookupList(TrainerDB, 5811, L["Kamari"], BZONE["Warsong Gulch"], 46.87, 34.9, 2)
+	self:addLookupList(TrainerDB, 5939, L["Vira Younghoof"], BZONE["Mulgore"], 42.61, 59.65, 2)
+	self:addLookupList(TrainerDB, 5943, L["Rawrk"], BZONE["Durotar"], 62.29, 37.28, 2)
+	self:addLookupList(TrainerDB, 6094, L["Byancie"], BZONE["Teldrassil"], 51.67, 42.05, 1)
+	self:addLookupList(TrainerDB, 6286, L["Zarrin"], BZONE["Teldrassil"], 57.07, 61.05, 1)
+	self:addLookupList(TrainerDB, 6297, L["Kurdram Stonehammer"], BZONE["Darkshore"], 39.78, 37.66, 1)
+	self:addLookupList(TrainerDB, 6299, L["Delfrum Flintbeard"], BZONE["Darkshore"], 40.28, 36.12, 1)
+	self:addLookupList(TrainerDB, 7230, L["Shayis Steelfury"], BZONE["Orgrimmar"], 74.96, 27.53, 2)
+	self:addLookupList(TrainerDB, 7231, L["Kelgruk Bloodaxe"], BZONE["Orgrimmar"], 81.60, 19.19, 2)
+	self:addLookupList(TrainerDB, 7232, L["Borgus Steelhand"], BZONE["Stormwind City"], 42.84, 29.67, 1)
+	self:addLookupList(TrainerDB, 7406, L["Oglethorpe Obnoticus"], BZONE["Stranglethorn Vale"], 33.35, 82.31, 1)
+	self:addLookupList(TrainerDB, 7866, L["Peter Galen"], BZONE["Azshara"], 41.48, 60.63, 1)
+	self:addLookupList(TrainerDB, 7867, L["Thorkaf Dragoneye"], BZONE["Badlands"], 60.37, 58.65, 2)
+	self:addLookupList(TrainerDB, 7868, L["Sarah Tanner"], BZONE["Searing Gorge"], 62.28, 73.51, 1)
+	self:addLookupList(TrainerDB, 7869, L["Brumn Winterhoof"], BZONE["Arathi Highlands"], 33.76, 46.31, 2)
+	self:addLookupList(TrainerDB, 7870, L["Caryssia Moonhunter"], BZONE["Thousand Needles"], 8.695, 19.32, 1)
+	self:addLookupList(TrainerDB, 7871, L["Se'Jib"], BZONE["Stranglethorn Vale"], 37.54, 39.11, 2)
+	self:addLookupList(TrainerDB, 7944, L["Tinkmaster Overspark"], BZONE["Ironforge"], 66.61, 51.80, 1)
+	self:addLookupList(TrainerDB, 7948, L["Kylanna Windwhisper"], BZONE["Feralas"], 32.58, 44.09, 1)
+	self:addLookupList(TrainerDB, 7949, L["Xylinnia Starshine"], BZONE["Feralas"], 33.27, 51.16, 1)
+	self:addLookupList(TrainerDB, 8126, L["Nixx Sprocketspring"], BZONE["Tanaris"], 45.66, 60.48, 0)
+	self:addLookupList(TrainerDB, 8128, L["Pikkle"], BZONE["Tanaris"], 53.91, 54.66, 0)
+	self:addLookupList(TrainerDB, 8153, L["Narv Hidecrafter"], BZONE["Desolace"], 55.5, 55.82, 2)
+	self:addLookupList(TrainerDB, 8306, L["Duhng"], BZONE["The Barrens"], 42.9, 50.97, 2)
+	self:addLookupList(TrainerDB, 8736, L["Buzzek Bracketswing"], BZONE["Tanaris"], 47.33, 52.32, 0)
+	self:addLookupList(TrainerDB, 8738, L["Vazario Linkgrease"], BZONE["The Barrens"], 59.62, 45.95, 1)
+	self:addLookupList(TrainerDB, 9584, L["Jalane Ayrole"], BZONE["Stormwind City"], 22.36, 66.94, 1)
+	self:addLookupList(TrainerDB, 10266, L["Ug'thok"], BZONE["Orgrimmar"], 74.78, 28.38, 2)
+	self:addLookupList(TrainerDB, 10276, L["Rotgath Stonebeard"], BZONE["Ironforge"], 48.86, 45.76, 1)
+	self:addLookupList(TrainerDB, 10277, L["Groum Stonebeard"], BZONE["Ironforge"], 50.13, 44.65, 1)
+	self:addLookupList(TrainerDB, 10278, L["Thrag Stonehoof"], BZONE["Thunder Bluff"], 39.41, 56.04, 2)
+	self:addLookupList(TrainerDB, 11017, L["Roxxik"], BZONE["Orgrimmar"], 60.05, 33.78, 2)
+	self:addLookupList(TrainerDB, 11025, L["Mukdrak"], BZONE["Durotar"], 56.45, 36.04, 2)
+	self:addLookupList(TrainerDB, 11026, L["Sprite Jumpsprocket"], BZONE["Stormwind City"], 49.95, 12.03, 1)
+	self:addLookupList(TrainerDB, 11028, L["Jemma Quikswitch"], BZONE["Ironforge"], 58.06, 52.35, 1)
+	self:addLookupList(TrainerDB, 11029, L["Trixie Quikswitch"], BZONE["Ironforge"], 61.52, 51.28, 1)
+	self:addLookupList(TrainerDB, 11031, L["Franklin Lloyd"], BZONE["Undercity"], 76.81, 66.81, 2)
+	self:addLookupList(TrainerDB, 11037, L["Jenna Lemkenilli"], BZONE["Darkshore"], 36.08, 36.44, 1)
+	self:addLookupList(TrainerDB, 11041, L["Milla Fairancora"], BZONE["Darnassus"], 51.12, 23.59, 1)
+	self:addLookupList(TrainerDB, 11042, L["Sylvanna Forestmoon"], BZONE["Darnassus"], 52.62, 26.19, 1)
+	self:addLookupList(TrainerDB, 11044, L["Doctor Martin Felben"], BZONE["Undercity"], 49.77, 69.14, 2)
+	self:addLookupList(TrainerDB, 11046, L["Whuut"], BZONE["Orgrimmar"], 56.92, 37.18, 2)
+	self:addLookupList(TrainerDB, 11047, L["Kray"], BZONE["Thunder Bluff"], 43.74, 37.98, 2)
+	self:addLookupList(TrainerDB, 11048, L["Victor Ward"], BZONE["Undercity"], 70.17, 35.58, 2)
+	self:addLookupList(TrainerDB, 11049, L["Rhiannon Davis"], BZONE["Undercity"], 68.84, 39.89, 2)
+	self:addLookupList(TrainerDB, 11050, L["Trianna"], BZONE["Darnassus"], 56.85, 28.28, 1)
+	self:addLookupList(TrainerDB, 11051, L["Vhan"], BZONE["Thunder Bluff"], 38.84, 39.79, 0)
+	self:addLookupList(TrainerDB, 11052, L["Timothy Worthington"], BZONE["Dustwallow Marsh"], 64.81, 66.77, 1)
+	self:addLookupList(TrainerDB, 11065, L["Thonys Pillarstone"], BZONE["Ironforge"], 46.99, 56.19, 1)
+	self:addLookupList(TrainerDB, 11066, L["Jhag"], BZONE["Orgrimmar"], 55.39, 39.33, 2)
+	self:addLookupList(TrainerDB, 11067, L["Malcomb Wynn"], BZONE["Undercity"], 62.29, 55.72, 2)
+	self:addLookupList(TrainerDB, 11068, L["Betty Quin"], BZONE["Stormwind City"], 35.58, 59.12, 1)
+	self:addLookupList(TrainerDB, 11070, L["Lalina Summermoon"], BZONE["Darnassus"], 54.43, 16.43, 1)
+	self:addLookupList(TrainerDB, 11071, L["Mot Dawnstrider"], BZONE["Thunder Bluff"], 44.08, 39.60, 2)
+	self:addLookupList(TrainerDB, 11072, L["Kitta Firewind"], BZONE["Elwynn Forest"], 64.66, 69.73, 1)
+	self:addLookupList(TrainerDB, 11073, L["Annora"], BZONE["Uldaman"], 0, 0, 0)
+	self:addLookupList(TrainerDB, 11074, L["Hgarth"], BZONE["Stonetalon Mountains"], 49.31, 56.26, 2)
+	self:addLookupList(TrainerDB, 11081, L["Faldron"], BZONE["Darnassus"], 57.10, 29.38, 1)
+	self:addLookupList(TrainerDB, 11083, L["Darianna"], BZONE["Darnassus"], 53.02, 31.31, 1)
+	self:addLookupList(TrainerDB, 11084, L["Tarn"], BZONE["Thunder Bluff"], 40.99, 42.22, 2)
+	self:addLookupList(TrainerDB, 11096, L["Randal Worth"], BZONE["Stormwind City"], 47.24, 51.97, 1)
+	self:addLookupList(TrainerDB, 11097, L["Drakk Stonehand"], BZONE["The Hinterlands"], 54.37, 26.78, 1)
+	self:addLookupList(TrainerDB, 11098, L["Hahrana Ironhide"], BZONE["Feralas"], 48.87, 65.66, 2)
+	self:addLookupList(TrainerDB, 11146, L["Ironus Coldsteel"], BZONE["Ironforge"], 48.47, 47.06, 1)
+	self:addLookupList(TrainerDB, 11177, L["Okothos Ironrager"], BZONE["Orgrimmar"], 75.91, 26.16, 2)
+	self:addLookupList(TrainerDB, 11178, L["Borgosh Corebender"], BZONE["Orgrimmar"], 74.91, 28.54, 2)
+	self:addLookupList(TrainerDB, 11557, L["Meilosh"], BZONE["Felwood"], 48.39, 31.07, 4)
+	self:addLookupList(TrainerDB, 15400, L["Arathel Sunforge"], BZONE["Eversong Woods"], 59.79, 62.83, 2)
+	self:addLookupList(TrainerDB, 15501, L["Aleinia"], BZONE["Eversong Woods"], 48.42, 47.52, 2)
+	self:addLookupList(TrainerDB, 16160, L["Magistrix Eredania"], BZONE["Eversong Woods"], 38.43, 72.34, 2)
+	self:addLookupList(TrainerDB, 16161, L["Arcanist Sheynathren"], BZONE["Eversong Woods"], 38.81, 72.25, 2)
+	self:addLookupList(TrainerDB, 16253, L["Master Chef Mouldier"], BZONE["Ghostlands"], 48.37, 29.66, 2)
+	self:addLookupList(TrainerDB, 16272, L["Kanaria"], BZONE["Eversong Woods"], 43.86, 65.6, 2)
+	self:addLookupList(TrainerDB, 16277, L["Quarelestra"], BZONE["Eversong Woods"], 44.31, 64.51, 2)
+	self:addLookupList(TrainerDB, 16278, L["Sathein"], BZONE["Eversong Woods"], 54.65, 52.60, 2)
+	self:addLookupList(TrainerDB, 16366, L["Sempstress Ambershine"], BZONE["Eversong Woods"], 37.57, 71.43, 2)
+	self:addLookupList(TrainerDB, 16583, L["Rohok"], BZONE["Hellfire Peninsula"], 54.62, 40.62, 2)
+	self:addLookupList(TrainerDB, 16588, L["Apothecary Antonivich"], BZONE["Hellfire Peninsula"], 55.25, 42.21, 2)
+	self:addLookupList(TrainerDB, 16633, L["Sedana"], BZONE["Silvermoon City"], 65.25, 25.77, 2)
+	self:addLookupList(TrainerDB, 16634, L["Dolothos"], BZONE["Silvermoon City"], 64.23, 27.54, 2)
+	self:addLookupList(TrainerDB, 16639, L["Galana"], BZONE["Silvermoon City"], 55.26, 47.24, 2)
+	self:addLookupList(TrainerDB, 16640, L["Keelen Sheets"], BZONE["Silvermoon City"], 55.74, 49.57, 2)
+	self:addLookupList(TrainerDB, 16642, L["Camberon"], BZONE["Silvermoon City"], 61.41, 20.18, 2)
+	self:addLookupList(TrainerDB, 16643, L["Razia"], BZONE["Silvermoon City"], 63.80, 22.18, 2)
+	self:addLookupList(TrainerDB, 16662, L["Alestus"], BZONE["Silvermoon City"], 73.12, 65.93, 2)
+	self:addLookupList(TrainerDB, 16663, L["Belil"], BZONE["Silvermoon City"], 74.07, 36.62, 2)
+	self:addLookupList(TrainerDB, 16667, L["Danwe"], BZONE["Silvermoon City"], 69.61, 33.91, 2)
+	self:addLookupList(TrainerDB, 16668, L["Gloresse"], BZONE["Silvermoon City"], 72.20, 37.73, 2)
+	self:addLookupList(TrainerDB, 16669, L["Bemarrin"], BZONE["Silvermoon City"], 76.49, 34.69, 2)
+	self:addLookupList(TrainerDB, 16671, L["Mirvedon"], BZONE["Silvermoon City"], 77.11, 36.96, 2)
+	self:addLookupList(TrainerDB, 16676, L["Sylann"], BZONE["Silvermoon City"], 63.48, 54.43, 2)
+	self:addLookupList(TrainerDB, 16687, L["Talmar"], BZONE["Silvermoon City"], 78.92, 75.06, 2)
+	self:addLookupList(TrainerDB, 16688, L["Lynalis"], BZONE["Silvermoon City"], 79.18, 76.24, 2)
+	self:addLookupList(TrainerDB, 16703, L["Amin"], BZONE["Silvermoon City"], 83.10, 68.66, 2)
+	self:addLookupList(TrainerDB, 16719, L["Mumman"], BZONE["The Exodar"], 55.41, 30.07, 1)
+	self:addLookupList(TrainerDB, 16723, L["Lucc"], BZONE["The Exodar"], 27.53, 59.78, 1)
+	self:addLookupList(TrainerDB, 16724, L["Miall"], BZONE["The Exodar"], 54.64, 78.50, 1)
+	self:addLookupList(TrainerDB, 16725, L["Nahogg"], BZONE["The Exodar"], 39.54, 37.28, 1)
+	self:addLookupList(TrainerDB, 16726, L["Ockil"], BZONE["The Exodar"], 55.56, 91.28, 0)
+	self:addLookupList(TrainerDB, 16727, L["Padaar"], BZONE["The Exodar"], 40.62, 25.40, 1)
+	self:addLookupList(TrainerDB, 16728, L["Akham"], BZONE["The Exodar"], 53.48, 63.55, 0)
+	self:addLookupList(TrainerDB, 16729, L["Refik"], BZONE["The Exodar"], 58.09, 63.12, 1)
+	self:addLookupList(TrainerDB, 16731, L["Nus"], BZONE["The Exodar"], 38.40, 24.58, 1)
+	self:addLookupList(TrainerDB, 16740, L["Edrem"], BZONE["The Exodar"], 60.01, 85.91, 1)
+	self:addLookupList(TrainerDB, 16741, L["Deriz"], BZONE["The Exodar"], 28.97, 62.41, 1)
+	self:addLookupList(TrainerDB, 16742, L["Kudrii"], BZONE["The Exodar"], 37.59, 38.89, 1)
+	self:addLookupList(TrainerDB, 16743, L["Ghermas"], BZONE["The Exodar"], 56.15, 90.35, 1)
+	self:addLookupList(TrainerDB, 16745, L["Feruul"], BZONE["The Exodar"], 58.35, 69.72, 1)
+	self:addLookupList(TrainerDB, 16746, L["Kayaart"], BZONE["The Exodar"], 59.45, 67.31, 1)
+	self:addLookupList(TrainerDB, 16752, L["Muaat"], BZONE["The Exodar"], 56.39, 82.89, 1)
+	self:addLookupList(TrainerDB, 16823, L["Humphry"], BZONE["Hellfire Peninsula"], 56.89, 61.77, 1)
+	self:addLookupList(TrainerDB, 17214, L["Anchorite Fateema"], BZONE["Bloodmyst Isle"], 53.97, 55.37, 1)
+	self:addLookupList(TrainerDB, 17215, L["Daedal"], BZONE["Bloodmyst Isle"], 53.88, 54.68, 1)
+	self:addLookupList(TrainerDB, 17222, L["Artificer Daelo"], BZONE["Azuremyst Isle"], 48.94, 51.10, 1)
+	self:addLookupList(TrainerDB, 17245, L["Blacksmith Calypso"], BZONE["Azuremyst Isle"], 41.81, 56.24, 1)
+	self:addLookupList(TrainerDB, 17246, L["\"Cookie\" McWeaksauce"], BZONE["Bloodmyst Isle"], 54.02, 55.06, 1)
+	self:addLookupList(TrainerDB, 17424, L["Anchorite Paetheus"], BZONE["Bloodmyst Isle"], 52.46, 51.90, 1)
+	self:addLookupList(TrainerDB, 17442, L["Moordo"], BZONE["Azuremyst Isle"], 44.11, 23.96, 1)
+	self:addLookupList(TrainerDB, 17487, L["Erin Kelly"], BZONE["Azuremyst Isle"], 43.32, 62.97, 1)
+	self:addLookupList(TrainerDB, 17488, L["Dulvi"], BZONE["Azuremyst Isle"], 48.96, 51.28, 1)
+	self:addLookupList(TrainerDB, 17634, L["K. Lee Smallfry"], BZONE["Zangarmarsh"], 58.84, 48.62, 1)
+	self:addLookupList(TrainerDB, 17637, L["Mack Diver"], BZONE["Zangarmarsh"], 33.53, 50.33, 2)
+	self:addLookupList(TrainerDB, 18747, L["Krugosh"], BZONE["Hellfire Peninsula"], 56.01, 39.47, 2)
+	self:addLookupList(TrainerDB, 18749, L["Dalinna"], BZONE["Hellfire Peninsula"], 57.13, 41.56, 2)
+	self:addLookupList(TrainerDB, 18751, L["Kalaen"], BZONE["Hellfire Peninsula"], 57.25, 41.54, 2)
+	self:addLookupList(TrainerDB, 18752, L["Zebig"], BZONE["Hellfire Peninsula"], 55.42, 40.19, 2)
+	self:addLookupList(TrainerDB, 18753, L["Felannia"], BZONE["Hellfire Peninsula"], 54.50, 40.32, 2)
+	self:addLookupList(TrainerDB, 18754, L["Barim Spilthoof"], BZONE["Hellfire Peninsula"], 56.53, 40.55, 2)
+	self:addLookupList(TrainerDB, 18771, L["Brumman"], BZONE["Hellfire Peninsula"], 55.87, 61.24, 1)
+	self:addLookupList(TrainerDB, 18772, L["Hama"], BZONE["Hellfire Peninsula"], 56.21, 60.94, 1)
+	self:addLookupList(TrainerDB, 18773, L["Johan Barnes"], BZONE["Hellfire Peninsula"], 56.17, 61.32, 1)
+	self:addLookupList(TrainerDB, 18774, L["Tatiana"], BZONE["Alterac Valley"], 44.74, 45.14, 1)
+	self:addLookupList(TrainerDB, 18775, L["Lebowski"], BZONE["Hellfire Peninsula"], 55.83, 63.06, 1)
+	self:addLookupList(TrainerDB, 18779, L["Hurnak Grimmord"], BZONE["Hellfire Peninsula"], 57.94, 59.44, 1)
+	self:addLookupList(TrainerDB, 18802, L["Alchemist Gribble"], BZONE["Hellfire Peninsula"], 55.64, 62.59, 1)
+	self:addLookupList(TrainerDB, 18804, L["Prospector Nachlan"], BZONE["Bloodmyst Isle"], 52.15, 50.19, 1)
+	self:addLookupList(TrainerDB, 18987, L["Gaston"], BZONE["Hellfire Peninsula"], 55.75, 60.72, 1)
+	self:addLookupList(TrainerDB, 18988, L["Baxter"], BZONE["Zangarmarsh"], 52.18, 35.72, 2)
+	self:addLookupList(TrainerDB, 18993, L["Naka"], BZONE["Zangarmarsh"], 50.01, 56.23, 0)
+	self:addLookupList(TrainerDB, 19052, L["Lorokeem"], BZONE["Shattrath City"], 47.57, 25.50, 0)
+	self:addLookupList(TrainerDB, 19063, L["Hamanar"], BZONE["Shattrath City"], 44.62, 33.73, 1)
+	self:addLookupList(TrainerDB, 19184, L["Mildred Fletcher"], BZONE["Shattrath City"], 57.67, 22.20, 0)
+	self:addLookupList(TrainerDB, 19185, L["Jack Trapper"], BZONE["Shattrath City"], 62.10, 63.48, 0)
+	self:addLookupList(TrainerDB, 19186, L["Kylene"], BZONE["Shattrath City"], 60.65, 45.01, 0)
+	self:addLookupList(TrainerDB, 19187, L["Darmari"], BZONE["Shattrath City"], 63.58, 59.70, 0)
+	self:addLookupList(TrainerDB, 19248, L["Enchanter Salias"], BZONE["Shattrath City"], 43.06, 84.80, 4)
+	self:addLookupList(TrainerDB, 19249, L["Enchantress Metura"], BZONE["Shattrath City"], 43.41, 87.94, 0)
+	self:addLookupList(TrainerDB, 19250, L["Enchanter Aeldron"], BZONE["Shattrath City"], 43.44, 87.86, 0)
+	self:addLookupList(TrainerDB, 19251, L["Enchantress Volali"], BZONE["Shattrath City"], 46.87, 77.68, 1)
+	self:addLookupList(TrainerDB, 19252, L["High Enchanter Bardolan"], BZONE["Shattrath City"], 46.09, 81.18, 0)
+	self:addLookupList(TrainerDB, 19341, L["Grutah"], BZONE["Shadowmoon Valley"], 50.55, 49.41, 2)
+	self:addLookupList(TrainerDB, 19369, L["Celie Steelwing"], BZONE["Shadowmoon Valley"], 63.3, 76.51, 1)
+	self:addLookupList(TrainerDB, 19478, L["Fera Palerunner"], BZONE["Blade's Edge Mountains"], 49.04, 46.97, 2)
+	self:addLookupList(TrainerDB, 19539, L["Jazdalaad"], BZONE["Netherstorm"], 47.15, 29.31, 0)
+	self:addLookupList(TrainerDB, 19540, L["Asarnan"], BZONE["Netherstorm"], 47.60, 28.86, 0)
+	self:addLookupList(TrainerDB, 19576, L["Xyrol"], BZONE["Netherstorm"], 53.39, 48.89, 0)
+	self:addLookupList(TrainerDB, 19775, L["Kalinda"], BZONE["Silvermoon City"], 77.92, 56.74, 2)
+	self:addLookupList(TrainerDB, 19778, L["Farii"], BZONE["The Exodar"], 41.65, 25.99, 1)
+	self:addLookupList(TrainerDB, 20124, L["Kradu Grimblade"], BZONE["Shattrath City"], 66.76, 46.78, 0)
+	self:addLookupList(TrainerDB, 20125, L["Zula Slagfury"], BZONE["Shattrath City"], 65.81, 46.91, 0)
+	self:addLookupList(TrainerDB, 21087, L["Grikka"], BZONE["Blade's Edge Mountains"], 76.13, 64.88, 2)
+	self:addLookupList(TrainerDB, 22477, L["Anchorite Ensham"], BZONE["Terokkar Forest"], 31.04, 75.91, 0)
+
+end
diff --git a/RecipeDB/ARL-Vendor.lua b/RecipeDB/ARL-Vendor.lua
index 3884ad3..5de4736 100644
--- a/RecipeDB/ARL-Vendor.lua
+++ b/RecipeDB/ARL-Vendor.lua
@@ -1,307 +1,359 @@
---[[
+--[[
+
+************************************************************************

 ARL-Vendor.lua

-Vendor data for all of AckisRecipeList
+Vendor data for all of Ackis Recipe List
+
+Auto-generated using ARLDataminer.rb
+Entries to this file will be overwritten
+
+320 found from data mining.  0 ignored.
+
+************************************************************************

 $Date$
 $Rev$

+************************************************************************
+
+Format:
+
+	self:addLookupList(VendorDB, NPC ID, NPC Name, NPC Location, X Coord, Y Coord, Faction)
+
+************************************************************************
+
 ]]--

-local L			= LibStub("AceLocale-3.0"):GetLocale("Ackis Recipe List")
-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-local BZONE		= LibStub("LibBabble-Zone-3.0"):GetLookupTable()
+local MODNAME			= "Ackis Recipe List"
+local addon				= LibStub("AceAddon-3.0"):GetAddon(MODNAME)

-local addon = AckisRecipeList
+local L					= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+local BFAC				= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
+local BZONE				= LibStub("LibBabble-Zone-3.0"):GetLookupTable()

-function addon:InitVendor()
+function addon:InitVendor(VendorDB)

-	self:addVendorList(1, L["Wrahk"], BFAC["Horde"], BZONE["The Barrens"], "52, 32")
-	self:addVendorList(2, L["Valdaron"], BFAC["Alliance"], BZONE["Darkshore"], "38, 41")
-	self:addVendorList(3, L["Constance Brisboise"], BFAC["Horde"], BZONE["Tirisfal Glades"], "52, 56")
-	self:addVendorList(4, L["Tharynn Bouden"], BFAC["Alliance"], BZONE["Elwynn Forest"], "42, 67")
-	self:addVendorList(5, L["Borya"], BFAC["Horde"], BZONE["Orgrimmar"], "63, 51")
-	self:addVendorList(6, L["Andrew Hilbert"], BFAC["Horde"], BZONE["Silverpine Forest"], "43, 40")
-	self:addVendorList(7, L["Gina MacGregor"], BFAC["Alliance"], BZONE["Westfall"], "57, 54")
-	self:addVendorList(8, L["Rathis Tomber"], BFAC["Horde"], BZONE["Ghostlands"], "47, 28")
-	self:addVendorList(9, L["Mahu"], BFAC["Horde"], BZONE["Thunder Bluff"], "43, 44")
-	self:addVendorList(10, L["Drake Lindgren"], BFAC["Alliance"], BZONE["Elwynn Forest"], "82, 66")
-	self:addVendorList(11, L["Elynna"], BFAC["Alliance"], BZONE["Darnassus"], "64, 22")
-	self:addVendorList(12, L["Ranik"], BFAC["Neutral"], BZONE["Ratchet"], "61, 38")
-	self:addVendorList(13, L["Amy Davenport"], BFAC["Alliance"], BZONE["Redridge Mountains"], "29, 47")
-	self:addVendorList(14, L["Jennabink Powerseam"], BFAC["Alliance"], BZONE["Wetlands"], "8, 55")
-	self:addVendorList(15, L["Kiknikle"], BFAC["Neutral"], BZONE["The Barrens"], "41, 38")
-	self:addVendorList(16, L["Millie Gregorian"], BFAC["Horde"], BZONE["Undercity"], "71, 28")
-	self:addVendorList(17, L["Rann Flamespinner"], BFAC["Alliance"], BZONE["Loch Modan"], "36, 46")
-	self:addVendorList(18, L["Yonada"], BFAC["Horde"], BZONE["The Barrens"], "44, 59")
-	self:addVendorList(19, L["Zixil"], BFAC["Neutral"], BZONE["Hillsbrad Foothills"], "Patrols")
-	self:addVendorList(20, L["Sheri Zipstitch"], BFAC["Alliance"], BZONE["Duskwood"], "75, 45")
-	self:addVendorList(21, L["Danielle Zipstitch"], BFAC["Alliance"], BZONE["Duskwood"], "75, 45")
-	self:addVendorList(22, L["Brienna Starglow"], BFAC["Alliance"], BZONE["Feralas"], "88, 45")
-	self:addVendorList(23, L["Jun'ha"], BFAC["Horde"], BZONE["Arathi Highlands"], "72.7, 36.4")
-	self:addVendorList(24, L["Kireena"], BFAC["Horde"], BZONE["Desolace"], "51, 53")
-	self:addVendorList(25, L["Wenna Silkbeard"], BFAC["Alliance"], BZONE["Wetlands"], "25, 25")
-	self:addVendorList(26, L["Mallen Swain"], BFAC["Horde"], BZONE["Hillsbrad Foothills"], "61.9, 21.0")
-	self:addVendorList(27, L["Xizk Goodstitch"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "28, 76")
-	self:addVendorList(28, L["Ghok'kah"], BFAC["Horde"], BZONE["Dustwallow Marsh"], "35, 31")
-	self:addVendorList(29, L["Micha Yance"], BFAC["Alliance"], BZONE["Hillsbrad Foothills"], "50, 56")
-	self:addVendorList(30, L["Narkk"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "28, 74")
-	self:addVendorList(31, L["Vizzklick"], BFAC["Neutral"], BZONE["Tanaris"], "51, 27")
-	self:addVendorList(32, L["Asarnan"], BFAC["Neutral"], BZONE["Netherstorm"], "44, 34")
-	self:addVendorList(33, L["Dealer Malij"], BFAC["Neutral"], BZONE["Netherstorm"], "44, 34")
-	self:addVendorList(34, L["Egomis"], BFAC["Alliance"], BZONE["The Exodar"], "40, 39")
-	self:addVendorList(35, L["Erilia"], BFAC["Horde"], BZONE["Eversong Woods"], "55, 54")
-	self:addVendorList(36, L["Felannia"], BFAC["Horde"], BZONE["Hellfire Peninsula"], "52, 36")
-	self:addVendorList(37, L["Jessara Cordell"], BFAC["Alliance"], BZONE["Stormwind City"], "43, 64")
-	self:addVendorList(38, L["Johan Barnes"], BFAC["Alliance"], BZONE["Hellfire Peninsula"], "53, 66")
-	self:addVendorList(39, L["Kania"], BFAC["Neutral"], BZONE["Silithus"], "52, 39")
-	self:addVendorList(40, L["Kithas"], BFAC["Horde"], BZONE["Orgrimmar"], "53, 38")
-	self:addVendorList(41, L["Leo Sarn"], BFAC["Horde"], BZONE["Silverpine Forest"], "53, 82")
-	self:addVendorList(42, L["Lilly"], BFAC["Horde"], BZONE["Silverpine Forest"], "43, 50")
-	self:addVendorList(43, L["Lyna"], BFAC["Horde"], BZONE["Silvermoon City"], "69, 24")
-	self:addVendorList(44, L["Madame Ruby"], BFAC["Neutral"], BZONE["Shattrath City"], "63, 70")
-	self:addVendorList(45, L["Nata Dawnstrider"], BFAC["Horde"], BZONE["Thunder Bluff"], "45, 39")
-	self:addVendorList(46, L["Thaddeus Webb"], BFAC["Horde"], BZONE["Undercity"], "62, 60")
-	self:addVendorList(47, L["Tilli Thistlefuzz"], BFAC["Alliance"], BZONE["Ironforge"], "60, 44")
-	self:addVendorList(48, L["Vaean"], BFAC["Alliance"], BZONE["Darnassus"], "58, 14")
-	self:addVendorList(49, L["Yurial Soulwater"], BFAC["Neutral"], BZONE["Shattrath City"], "44, 97")
-	self:addVendorList(50, L["Outfitter Eric"], BFAC["Alliance"], BZONE["Ironforge"], "43, 29")
-	self:addVendorList(51, L["Cowardly Crosby"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "26, 82")
-	self:addVendorList(52, L["Alexandra Bolero"], BFAC["Alliance"], BZONE["Stormwind City"], "43, 74")
-	self:addVendorList(53, L["Qia"], BFAC["Neutral"], BZONE["Winterspring"], "61, 37")
-	self:addVendorList(54, L["Shen'dralar Provisioner"], BFAC["Neutral"], BZONE["Dire Maul"], "Dire Maul Library")
-	self:addVendorList(55, L["Darnall"], BFAC["Neutral"], BZONE["Moonglade"], "51, 33")
-	self:addVendorList(56, L["Lorelae Wintersong"], BFAC["Neutral"], BZONE["Moonglade"], "48, 40")
-	self:addVendorList(57, L["Mishta"], BFAC["Neutral"], BZONE["Silithus"], "49, 36")
-	self:addVendorList(58, L["Deynna"], BFAC["Horde"], BZONE["Silvermoon City"], "55, 51")
-	self:addVendorList(59, L["Eiin"], BFAC["Neutral"], BZONE["Shattrath City"], "65, 67")
-	self:addVendorList(60, L["Neii"], BFAC["Alliance"], BZONE["The Exodar"], "64, 68")
-	self:addVendorList(61, L["Mathar G'ochar"], BFAC["Horde"], BZONE["Nagrand"], "56, 37")
-	self:addVendorList(62, L["Arrond"], BFAC["Neutral"], BZONE["Shadowmoon Valley"], "55, 58")
-	self:addVendorList(63, L["Muheru the Weaver"], BFAC["Alliance"], BZONE["Zangarmarsh"], "40, 28")
-	self:addVendorList(64, L["Zurai"], BFAC["Horde"], BZONE["Zangarmarsh"], "85, 54")
-	self:addVendorList(65, L["Gidge Spellweaver"], BFAC["Neutral"], BZONE["Shattrath City"], "66, 68")
-	self:addVendorList(66, L["Andrion Darkspinner"], BFAC["Neutral"], BZONE["Shattrath City"], "66, 67")
-	self:addVendorList(67, L["Fradd Swiftgear"], BFAC["Alliance"], BZONE["Wetlands"], "26, 27")
-	self:addVendorList(68, L["Jinky Twizzlefixxit"], BFAC["Neutral"], BZONE["Thousand Needles"], "77, 77")
-	self:addVendorList(69, L["Namdo Bizzfizzle"], BFAC["Alliance"], BZONE["Gnomeregan"], "???")
-	self:addVendorList(70, L["Sovik"], BFAC["Horde"], BZONE["Orgrimmar"], "75, 25")
-	self:addVendorList(71, L["Crazk Sparks"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "28, 76")
-	self:addVendorList(72, L["Gagsprocket"], BFAC["Neutral"], BZONE["The Barrens"], "62, 36")
-	self:addVendorList(73, L["Darian Singh"], BFAC["Alliance"], BZONE["Stormwind City"], "29, 67")
-	self:addVendorList(74, L["Gearcutter Cogspinner"], BFAC["Alliance"], BZONE["Ironforge"], "67, 43")
-	self:addVendorList(75, L["Rizz Loosebolt"], BFAC["Neutral"], BZONE["Alterac Mountains"], "47, 35")
-	self:addVendorList(76, L["Kzixx"], BFAC["Neutral"], BZONE["Duskwood"], "83, 20")
-	self:addVendorList(77, L["Veenix"], BFAC["Neutral"], BZONE["Stonetalon Mountains"], "58, 51")
-	self:addVendorList(78, L["Mazk Snipeshot"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "28, 75")
-	self:addVendorList(79, L["Gnaz Blunderflame"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "50, 35")
-	self:addVendorList(80, L["Ruppo Zipcoil"], BFAC["Neutral"], BZONE["The Hinterlands"], "34, 37")
-	self:addVendorList(81, L["Zan Shivsproket"], BFAC["Neutral"], BZONE["Alterac Mountains"], "86, 80")
-	self:addVendorList(82, L["Yuka Screwspigot"], BFAC["Neutral"], BZONE["Burning Steppes"], "66, 22")
-	self:addVendorList(83, L["Knaz Blunderflame"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "50, 35")
-	self:addVendorList(84, L["Blizrik Buckshot"], BFAC["Neutral"], BZONE["Tanaris"], "50, 27")
-	self:addVendorList(85, L["Jubie Gadgetspring"], BFAC["Neutral"], BZONE["Azshara"], "45, 91")
-	self:addVendorList(86, L["Zorbin Fandazzle"], BFAC["Neutral"], BZONE["Feralas"], "44, 43")
-	self:addVendorList(87, L["Xizzer Fizzbolt"], BFAC["Neutral"], BZONE["Winterspring"], "60, 38")
-	self:addVendorList(88, L["Viggz Shinesparked"], BFAC["Neutral"], BZONE["Shattrath City"], "64, 69")
-	self:addVendorList(89, L["Daggle Ironshaper"], BFAC["Alliance"], BZONE["Shadowmoon Valley"], "36, 54")
-	self:addVendorList(90, L["Mixie Farshot"], BFAC["Horde"], BZONE["Hellfire Peninsula"], "61, 81")
-	self:addVendorList(91, L["Captured Gnome"], BFAC["Neutral"], BZONE["Zangarmarsh"], "32, 48")
-	self:addVendorList(92, L["Feera"], BFAC["Alliance"], BZONE["The Exodar"], "53, 912")
-	self:addVendorList(93, L["Wind Trader Lathrai"], BFAC["Neutral"], BZONE["Shattrath City"], "72, 31")
-	self:addVendorList(94, L["Yatheon"], BFAC["Horde"], BZONE["Silvermoon City"], "75, 40")
-	self:addVendorList(95, L["Lebowski"], BFAC["Alliance"], BZONE["Hellfire Peninsula"], "55, 65")
-	self:addVendorList(96, L["Mavralyn"], BFAC["Alliance"], BZONE["Darkshore"], "37, 41")
-	self:addVendorList(97, L["Kalldan Felmoon"], BFAC["Neutral"], BZONE["Wailing Caverns"], "???")
-	self:addVendorList(98, L["Clyde Ranthal"], BFAC["Alliance"], BZONE["Redridge Mountains"], "88, 70")
-	self:addVendorList(99, L["Harlown Darkweave"], BFAC["Alliance"], BZONE["Ashenvale"], "18, 59")
-	self:addVendorList(100, L["Bombus Finespindle"], BFAC["Alliance"], BZONE["Ironforge"], "39, 33")
-	self:addVendorList(101, L["Tamar"], BFAC["Horde"], BZONE["Orgrimmar"], "62, 45")
-	self:addVendorList(102, L["George Candarte"], BFAC["Horde"], BZONE["Hillsbrad Foothills"], "91, 38")
-	self:addVendorList(103, L["Joseph Moore"], BFAC["Horde"], BZONE["Undercity"], "70, 58")
-	self:addVendorList(104, L["Saenorion"], BFAC["Alliance"], BZONE["Darnassus"], "63, 21")
-	self:addVendorList(105, L["Jangdor Swiftstrider"], BFAC["Horde"], BZONE["Feralas"], "74, 42")
-	self:addVendorList(106, L["Pratt McGrubben"], BFAC["Alliance"], BZONE["Feralas"], "30, 42")
-	self:addVendorList(107, L["Androd Fadran"], BFAC["Alliance"], BZONE["Arathi Highlands"], "45, 46")
-	self:addVendorList(108, L["Tunkk"], BFAC["Horde"], BZONE["Arathi Highlands"], "74, 34")
-	self:addVendorList(109, L["Blixrez Goodstitch"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "28, 77")
-	self:addVendorList(110, L["Christoph Jeffcoat"], BFAC["Horde"], BZONE["Hillsbrad Foothills"], "62, 19")
-	self:addVendorList(111, L["Hammon Karwn"], BFAC["Alliance"], BZONE["Arathi Highlands"], "46, 47")
-	self:addVendorList(112, L["Jandia"], BFAC["Horde"], BZONE["Thousand Needles"], "46, 51")
-	self:addVendorList(113, L["Keena"], BFAC["Horde"], BZONE["Arathi Highlands"], "74.1, 32.7")
-	self:addVendorList(114, L["Lardan"], BFAC["Alliance"], BZONE["Ashenvale"], "34, 49")
-	self:addVendorList(115, L["Rikqiz"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "28, 76")
-	self:addVendorList(116, L["Helenia Olden"], BFAC["Alliance"], BZONE["Dustwallow Marsh"], "66, 51")
-	self:addVendorList(117, L["Nioma"], BFAC["Alliance"], BZONE["The Hinterlands"], "13, 43")
-	self:addVendorList(118, L["Zannok Hidepiercer"], BFAC["Neutral"], BZONE["Silithus"], "81, 17")
-	self:addVendorList(119, L["Leonard Porter"], BFAC["Alliance"], BZONE["Western Plaguelands"], "43, 84")
-	self:addVendorList(120, L["Werg Thickblade"], BFAC["Horde"], BZONE["Tirisfal Glades"], "83, 70")
-	self:addVendorList(121, L["Masat T'andr"], BFAC["Neutral"], BZONE["Swamp of Sorrows"], "26, 31")
-	self:addVendorList(122, L["Blimo Gadgetspring"], BFAC["Neutral"], BZONE["Azshara"], "45, 90")
-	self:addVendorList(123, L["Plugger Spazzring"], BFAC["Neutral"], BZONE["Blackrock Depths"], "???")
-	self:addVendorList(124, L["Gigget Zipcoil"], BFAC["Neutral"], BZONE["The Hinterlands"], "34, 38")
-	self:addVendorList(125, L["Nergal"], BFAC["Neutral"], BZONE["Un'Goro Crater"], "43, 7")
-	self:addVendorList(126, L["Haferet"], BFAC["Alliance"], BZONE["The Exodar"], "66, 73")
-	self:addVendorList(127, L["Zaralda"], BFAC["Horde"], BZONE["Silvermoon City"], "84, 78")
-	self:addVendorList(128, L["Cro Threadstrong"], BFAC["Neutral"], BZONE["Shattrath City"], "66, 67")
-	self:addVendorList(129, L["Thomas Yance"], BFAC["Neutral"], BZONE["Old Hillsbrad Foothills"], "Patrols")
-	self:addVendorList(130, L["Defias Profiteer"], BFAC["Neutral"], BZONE["Westfall"], "43, 66")
-	self:addVendorList(131, L["Hagrus"], BFAC["Horde"], BZONE["Orgrimmar"], "46, 45")
-	self:addVendorList(132, L["Xandar Goodbeard"], BFAC["Alliance"], BZONE["Loch Modan"], "82, 63")
-	self:addVendorList(133, L["Hula'mahi"], BFAC["Horde"], BZONE["The Barrens"], "51, 30")
-	self:addVendorList(134, L["Ulthir"], BFAC["Alliance"], BZONE["Darnassus"], "56, 24")
-	self:addVendorList(135, L["Harklan Moongrove"], BFAC["Alliance"], BZONE["Ashenvale"], "50, 67")
-	self:addVendorList(136, L["Kor'geld"], BFAC["Horde"], BZONE["Orgrimmar"], "55, 34")
-	self:addVendorList(137, L["Soolie Berryfizz"], BFAC["Alliance"], BZONE["Ironforge"], "66, 54")
-	self:addVendorList(138, L["Bliztik"], BFAC["Neutral"], BZONE["Duskwood"], "18, 54")
-	self:addVendorList(139, L["Nasmara Moonsong"], BFAC["Neutral"], BZONE["Shattrath City"], "66, 67")
-	self:addVendorList(140, L["Montarr"], BFAC["Horde"], BZONE["Thousand Needles"], "45, 50")
-	self:addVendorList(141, L["Jeeda"], BFAC["Horde"], BZONE["Stonetalon Mountains"], "47, 61")
-	self:addVendorList(142, L["Nandar Branson"], BFAC["Alliance"], BZONE["Hillsbrad Foothills"], "50, 57")
-	self:addVendorList(143, L["Drovnar Strongbrew"], BFAC["Alliance"], BZONE["Arathi Highlands"], "46, 47")
-	self:addVendorList(144, L["Glyx Brewright"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "28, 78")
-	self:addVendorList(145, L["Alchemist Pestlezugg"], BFAC["Neutral"], BZONE["Tanaris"], "50, 26")
-	self:addVendorList(146, L["Bronk"], BFAC["Horde"], BZONE["Feralas"], "76, 43")
-	self:addVendorList(147, L["Logannas"], BFAC["Alliance"], BZONE["Feralas"], "32, 43")
-	self:addVendorList(148, L["Bro'kin"], BFAC["Neutral"], BZONE["Alterac Mountains"], "38, 38")
-	self:addVendorList(149, L["Algernon"], BFAC["Horde"], BZONE["Undercity"], "51, 74")
-	self:addVendorList(150, L["Maria Lumere"], BFAC["Alliance"], BZONE["Stormwind City"], "46, 78")
-	self:addVendorList(151, L["Nina Lightbrew"], BFAC["Alliance"], BZONE["Blasted Lands"], "66, 18")
-	self:addVendorList(152, L["Rartar"], BFAC["Horde"], BZONE["Swamp of Sorrows"], "45, 56")
-	self:addVendorList(153, L["Borto"], BFAC["Alliance"], BZONE["Nagrand"], "53, 71")
-	self:addVendorList(154, L["Alchemist Gribble"], BFAC["Alliance"], BZONE["Hellfire Peninsula"], "53, 65")
-	self:addVendorList(155, L["Altaa"], BFAC["Alliance"], BZONE["The Exodar"], "28, 62")
-	self:addVendorList(156, L["Apothecary Antonivich"], BFAC["Horde"], BZONE["Hellfire Peninsula"], "52, 36")
-	self:addVendorList(157, L["Daga Ramba"], BFAC["Horde"], BZONE["Blade's Edge Mountains"], "51, 57")
-	self:addVendorList(158, L["Melaris"], BFAC["Horde"], BZONE["Silvermoon City"], "66, 19")
-	self:addVendorList(159, L["Leeli Longhaggle"], BFAC["Alliance"], BZONE["Terokkar Forest"], "57, 53")
-	self:addVendorList(160, L["Seer Janidi"], BFAC["Horde"], BZONE["Zangarmarsh"], "32, 51")
-	self:addVendorList(161, L["Haalrun"], BFAC["Alliance"], BZONE["Zangarmarsh"], "67, 48")
-	self:addVendorList(162, L["Quartermaster Davian Vaclav"], BFAC["Alliance"], BZONE["Nagrand"], "41, 44")
-	self:addVendorList(163, L["Quartermaster Jaffrey Noreliqe"], BFAC["Horde"], BZONE["Nagrand"], "41, 44")
-	self:addVendorList(164, L["Skreah"], BFAC["Neutral"], BZONE["Shattrath City"], "45, 19")
-	self:addVendorList(165, L["Balai Lok'Wein"], BFAC["Horde"], BZONE["Dustwallow Marsh"], "36, 30")
-	self:addVendorList(166, L["Deneb Walker"], BFAC["Alliance"], BZONE["Arathi Highlands"], "26, 59")
-	self:addVendorList(167, L["Aresella"], BFAC["Horde"], BZONE["Hellfire Peninsula"], "26, 62")
-	self:addVendorList(168, L["Burko"], BFAC["Alliance"], BZONE["Hellfire Peninsula"], "22, 39")
-	self:addVendorList(169, L["Bale"], BFAC["Horde"], BZONE["Felwood"], "34, 53")
-	self:addVendorList(170, L["Malygen"], BFAC["Alliance"], BZONE["Felwood"], "62, 24")
-	self:addVendorList(171, L["Jannos Ironwill"], BFAC["Alliance"], BZONE["Arathi Highlands"], "45, 47")
-	self:addVendorList(172, L["Jazzrik"], BFAC["Neutral"], BZONE["Badlands"], "42, 52")
-	self:addVendorList(173, L["Muuran"], BFAC["Horde"], BZONE["Desolace"], "55, 56")
-	self:addVendorList(174, L["Jutak"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "27, 77")
-	self:addVendorList(175, L["Kaita Deepforge"], BFAC["Alliance"], BZONE["Stormwind City"], "56, 17")
-	self:addVendorList(176, L["Sumi"], BFAC["Horde"], BZONE["Orgrimmar"], "82, 24")
-	self:addVendorList(177, L["Zarena Cromwind"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "28, 75")
-	self:addVendorList(178, L["Jaquilina Dramet"], BFAC["Alliance"], BZONE["Stranglethorn Vale"], "35, 10")
-	self:addVendorList(179, L["Vharr"], BFAC["Horde"], BZONE["Stranglethorn Vale"], "32, 27")
-	self:addVendorList(180, L["Krinkle Goodsteel"], BFAC["Neutral"], BZONE["Tanaris"], "51, 28")
-	self:addVendorList(181, L["Gharash"], BFAC["Horde"], BZONE["Swamp of Sorrows"], "45, 51")
-	self:addVendorList(182, L["Harggan"], BFAC["Alliance"], BZONE["The Hinterlands"], "13, 44")
-	self:addVendorList(183, L["Aaron Hollman"], BFAC["Neutral"], BZONE["Shattrath City"], "64, 71")
-	self:addVendorList(184, L["Arras"], BFAC["Alliance"], BZONE["The Exodar"], "61, 88")
-	self:addVendorList(185, L["Eriden"], BFAC["Horde"], BZONE["Silvermoon City"], "80, 36")
-	self:addVendorList(186, L["Krek Cragcrush"], BFAC["Horde"], BZONE["Shadowmoon Valley"], "29, 30")
-	self:addVendorList(187, L["Loolruna"], BFAC["Alliance"], BZONE["Zangarmarsh"], "68, 50")
-	self:addVendorList(188, L["Mari Stonehand"], BFAC["Alliance"], BZONE["Shadowmoon Valley"], "36, 55")
-	self:addVendorList(189, L["Rohok"], BFAC["Horde"], BZONE["Hellfire Peninsula"], "53, 38")
-	self:addVendorList(190, L["Arred"], BFAC["Alliance"], BZONE["The Exodar"], "44, 26")
-	self:addVendorList(191, L["Daniel Bartlett"], BFAC["Horde"], BZONE["Undercity"], "64, 37")
-	self:addVendorList(192, L["Gelanthis"], BFAC["Horde"], BZONE["Silvermoon City"], "90, 73")
-	self:addVendorList(193, L["Mythrin'dir"], BFAC["Alliance"], BZONE["Darnassus"], "60, 17")
-	self:addVendorList(194, L["Neal Allen"], BFAC["Alliance"], BZONE["Wetlands"], "10, 56")
-	self:addVendorList(195, L["Dalria"], BFAC["Alliance"], BZONE["Ashenvale"], "35, 51")
-	self:addVendorList(196, L["Kulwia"], BFAC["Horde"], BZONE["Stonetalon Mountains"], "45, 59")
-	self:addVendorList(197, L["Banalash"], BFAC["Horde"], BZONE["Swamp of Sorrows"], "44.8, 56.6")
-	self:addVendorList(198, L["Rungor"], BFAC["Horde"], BZONE["Terokkar Forest"], "48, 46")
-	self:addVendorList(199, L["Vodesiin"], BFAC["Alliance"], BZONE["Hellfire Peninsula"], "24, 38")
-	self:addVendorList(200, L["Innkeeper Biribi"], BFAC["Alliance"], BZONE["Terokkar Forest"], "56, 53")
-	self:addVendorList(201, L["Edna Mullby"], BFAC["Alliance"], BZONE["Stormwind City"], "58, 60")
-	self:addVendorList(202, L["Felika"], BFAC["Horde"], BZONE["Orgrimmar"], "Patrols")
-	self:addVendorList(203, L["Felicia Doan"], BFAC["Horde"], BZONE["Undercity"], "64, 50")
-	self:addVendorList(204, L["Aged Dalaran Wizard"], BFAC["Neutral"], BZONE["Old Hillsbrad Foothills"], "Patrols")
-	self:addVendorList(205, L["Nerrist"], BFAC["Horde"], BZONE["Stranglethorn Vale"], "32, 29")
-	self:addVendorList(206, L["Shadi Mistrunner"], BFAC["Horde"], BZONE["Thunder Bluff"], "40, 63")
-	self:addVendorList(207, L["Jase Farlane"], BFAC["Neutral"], BZONE["Eastern Plaguelands"], "80, 57")
-	self:addVendorList(208, L["Kalaen"], BFAC["Horde"], BZONE["Hellfire Peninsula"], "56, 37")
-	self:addVendorList(209, L["Tatiana"], BFAC["Alliance"], BZONE["Hellfire Peninsula"], "54, 63")
-	self:addVendorList(210, L["Aldraan"], BFAC["Alliance"], BZONE["Nagrand"], "42, 42")
-	self:addVendorList(211, L["Coreiel"], BFAC["Horde"], BZONE["Nagrand"], "42, 42")
-	self:addVendorList(212, L["Burbik Gearspanner"], BFAC["Alliance"], BZONE["Ironforge"], "46, 27")
-	self:addVendorList(213, L["Jabbey"], BFAC["Neutral"], BZONE["Tanaris"], "66, 22")
-	self:addVendorList(214, L["Gretta Ganter"], BFAC["Alliance"], BZONE["Dun Morogh"], "31, 44")
-	self:addVendorList(215, L["Harn Longcast"], BFAC["Horde"], BZONE["Mulgore"], "47, 55")
-	self:addVendorList(216, L["Khara Deepwater"], BFAC["Alliance"], BZONE["Loch Modan"], "40, 39")
-	self:addVendorList(217, L["Lizbeth Cromwell"], BFAC["Horde"], BZONE["Undercity"], "81, 30")
-	self:addVendorList(218, L["Martine Tramblay"], BFAC["Horde"], BZONE["Tirisfal Glades"], "65, 59")
-	self:addVendorList(219, L["Nyoma"], BFAC["Alliance"], BZONE["Teldrassil"], "57, 61")
-	self:addVendorList(220, L["Sewa Mistrunner"], BFAC["Horde"], BZONE["Thunder Bluff"], "55, 47")
-	self:addVendorList(221, L["Abigail Shiel"], BFAC["Horde"], BZONE["Tirisfal Glades"], "60, 51")
-	self:addVendorList(222, L["Landraelanis"], BFAC["Horde"], BZONE["Eversong Woods"], "48, 47")
-	self:addVendorList(223, L["Kriggon Talsone"], BFAC["Alliance"], BZONE["Westfall"], "36, 90")
-	self:addVendorList(224, L["Nessa Shadowsong"], BFAC["Alliance"], BZONE["Teldrassil"], "56, 92")
-	self:addVendorList(225, L["Tansy Puddlefizz"], BFAC["Alliance"], BZONE["Ironforge"], "48, 6")
-	self:addVendorList(226, L["Zansoa"], BFAC["Horde"], BZONE["Durotar"], "56, 73")
-	self:addVendorList(227, L["Grimtak"], BFAC["Horde"], BZONE["Durotar"], "51, 42")
-	self:addVendorList(228, L["Wunna Darkmane"], BFAC["Horde"], BZONE["Mulgore"], "46, 58")
-	self:addVendorList(229, L["Drac Roughcut"], BFAC["Alliance"], BZONE["Loch Modan"], "35, 49")
-	self:addVendorList(230, L["Laird"], BFAC["Alliance"], BZONE["Darkshore"], "36, 44")
-	self:addVendorList(231, L["Killian Sanatha"], BFAC["Horde"], BZONE["Silverpine Forest"], "32, 19")
-	self:addVendorList(232, L["Naal Mistrunner"], BFAC["Horde"], BZONE["Thunder Bluff"], "51, 52")
-	self:addVendorList(233, L["Heldan Galesong"], BFAC["Alliance"], BZONE["Darkshore"], "36, 56")
-	self:addVendorList(234, L["Kilxx"], BFAC["Neutral"], BZONE["The Barrens"], "62, 38")
-	self:addVendorList(235, L["Ronald Burch"], BFAC["Horde"], BZONE["Undercity"], "62, 43")
-	self:addVendorList(236, L["Shankys"], BFAC["Horde"], BZONE["Orgrimmar"], "69, 29")
-	self:addVendorList(237, L["Stuart Fleming"], BFAC["Alliance"], BZONE["Wetlands"], "8, 58")
-	self:addVendorList(238, L["Master Chef Mouldier"], BFAC["Horde"], BZONE["Ghostlands"], "48, 31")
-	self:addVendorList(239, L["Cookie McWeaksauce"], BFAC["Alliance"], BZONE["Azuremyst Isle"], "46, 70")
-	self:addVendorList(240, L["Derak Nightfall"], BFAC["Horde"], BZONE["Hillsbrad Foothills"], "62, 20")
-	self:addVendorList(241, L["Emrul Riknussun"], BFAC["Alliance"], BZONE["Ironforge"], "60, 37")
-	self:addVendorList(242, L["Erika Tate"], BFAC["Alliance"], BZONE["Stormwind City"], "75, 36")
-	self:addVendorList(243, L["Fyldan"], BFAC["Alliance"], BZONE["Darnassus"], "48, 21")
-	self:addVendorList(244, L["Gloria Femmel"], BFAC["Alliance"], BZONE["Redridge Mountains"], "26, 43")
-	self:addVendorList(245, L["Jim Saltit"], BFAC["Neutral"], BZONE["Shattrath City"], "63, 68")
-	self:addVendorList(246, L["Kelsey Yance"], BFAC["Neutral"], BZONE["Stranglethorn Vale"], "28, 74")
-	self:addVendorList(247, L["Otho Moji'ko"], BFAC["Horde"], BZONE["The Hinterlands"], "79, 79")
-	self:addVendorList(248, L["Phea"], BFAC["Alliance"], BZONE["The Exodar"], "54, 26")
-	self:addVendorList(249, L["Quelis"], BFAC["Horde"], BZONE["Silvermoon City"], "69, 70")
-	self:addVendorList(250, L["Tarban Hearthgrain"], BFAC["Horde"], BZONE["The Barrens"], "55, 32")
-	self:addVendorList(251, L["Wulan"], BFAC["Horde"], BZONE["Desolace"], "26, 69")
-	self:addVendorList(252, L["Xen'to"], BFAC["Horde"], BZONE["Orgrimmar"], "57, 53")
-	self:addVendorList(253, L["Kendor Kabonka"], BFAC["Alliance"], BZONE["Stormwind City"], "74, 37")
-	self:addVendorList(254, L["Tari'qa"], BFAC["Horde"], BZONE["The Barrens"], "51, 30")
-	self:addVendorList(255, L["Nula the Butcher"], BFAC["Horde"], BZONE["Nagrand"], "58, 35")
-	self:addVendorList(256, L["Uriku"], BFAC["Alliance"], BZONE["Nagrand"], "56, 73")
-	self:addVendorList(257, L["Lindea Rabonne"], BFAC["Alliance"], BZONE["Hillsbrad Foothills"], "49, 61")
-	self:addVendorList(258, L["Ulthaan"], BFAC["Alliance"], BZONE["Ashenvale"], "50, 66")
-	self:addVendorList(259, L["Vendor-Tron 1000"], BFAC["Neutral"], BZONE["Desolace"], "60, 38")
-	self:addVendorList(260, L["Super-Seller 680"], BFAC["Neutral"], BZONE["Desolace"], "40, 79")
-	self:addVendorList(261, L["Ogg'marr"], BFAC["Horde"], BZONE["Dustwallow Marsh"], "36, 30")
-	self:addVendorList(262, L["Wik'Tar"], BFAC["Horde"], BZONE["Ashenvale"], "11, 34")
-	self:addVendorList(263, L["Corporal Bluth"], BFAC["Alliance"], BZONE["Stranglethorn Vale"], "37, 3")
-	self:addVendorList(264, L["Sheendra Tallgrass"], BFAC["Horde"], BZONE["Feralas"], "74, 42")
-	self:addVendorList(265, L["Vivianna"], BFAC["Alliance"], BZONE["Feralas"], "31,43")
-	self:addVendorList(266, L["Janet Hommers"], BFAC["Alliance"], BZONE["Desolace"], "66, 6")
-	self:addVendorList(267, L["Uthok"], BFAC["Horde"], BZONE["Stranglethorn Vale"], "31, 28")
-	self:addVendorList(268, L["Himmik"], BFAC["Neutral"], BZONE["Winterspring"], "61, 39")
-	self:addVendorList(269, L["Gikkix"], BFAC["Neutral"], BZONE["Tanaris"], "66, 22")
-	self:addVendorList(270, L["Dirge Quikcleave"], BFAC["Neutral"], BZONE["Tanaris"], "52, 28")
-	self:addVendorList(271, L["Innkeeper Fizzgrimble"], BFAC["Neutral"], BZONE["Tanaris"], "52, 27")
-	self:addVendorList(272, L["Truk Wildbeard"], BFAC["Alliance"], BZONE["The Hinterlands"], "14, 42")
-	self:addVendorList(273, L["Cookie One-Eye"], BFAC["Horde"], BZONE["Hellfire Peninsula"], "54, 41")
-	self:addVendorList(274, L["Sid Limbardi"], BFAC["Alliance"], BZONE["Hellfire Peninsula"], "54, 63")
-	self:addVendorList(275, L["Doba"], BFAC["Alliance"], BZONE["Zangarmarsh"], "42, 28")
-	self:addVendorList(276, L["Gambarinka"], BFAC["Horde"], BZONE["Zangarmarsh"], "31, 49")
-	self:addVendorList(277, L["Juno Dufrain"], BFAC["Neutral"], BZONE["Zangarmarsh"], "78, 66")
-	self:addVendorList(278, L["Innkeeper Grilka"], BFAC["Horde"], BZONE["Terokkar Forest"], "48, 45")
-	self:addVendorList(279, L["Supply Officer Mills"], BFAC["Alliance"], BZONE["Terokkar Forest"], "55, 53")
-	self:addVendorList(280, L["Narj Deepslice"], BFAC["Alliance"], BZONE["Arathi Highlands"], "45, 47")
-	self:addVendorList(281, L["Fazu"], BFAC["Alliance"], BZONE["Bloodmyst Isle"], "53, 56")
-	self:addVendorList(282, L["Zargh"], BFAC["Horde"], BZONE["The Barrens"], "52, 29")
-	self:addVendorList(283, L["Smudge Thunderwood"], BFAC["Neutral"], BZONE["Alterac Mountains"], "86, 79")
-	self:addVendorList(284, L["Sassa Weldwell"], BFAC["Alliance"], BZONE["Blade's Edge Mountains"], "61, 68")
-	self:addVendorList(285, L["Catherine Leland"], BFAC["Alliance"], BZONE["Stormwind City"], "45, 58")
-	self:addVendorList(286, L["Haughty Modiste"], BFAC["Neutral"], BZONE["Tanaris"], "66, 23")
+	self:addLookupList(VendorDB, 66, L["Tharynn Bouden"], BZONE["Elwynn Forest"], 48.06, 58.16, 1)
+	self:addLookupList(VendorDB, 340, L["Kendor Kabonka"], BZONE["Stormwind City"], 62.05, 41.88, 1)
+	self:addLookupList(VendorDB, 734, L["Corporal Bluth"], BZONE["Stranglethorn Vale"], 48.60, 59.90, 1)
+	self:addLookupList(VendorDB, 777, L["Amy Davenport"], BZONE["Redridge Mountains"], 30.60, 50.01, 1)
+	self:addLookupList(VendorDB, 843, L["Gina MacGregor"], BZONE["Westfall"], 55.06, 57.20, 1)
+	self:addLookupList(VendorDB, 989, L["Banalash"], BZONE["Swamp of Sorrows"], 62.11, 50.16, 2)
+	self:addLookupList(VendorDB, 1146, L["Vharr"], BZONE["Stranglethorn Vale"], 42.95, 56.10, 2)
+	self:addLookupList(VendorDB, 1148, L["Nerrist"], BZONE["Stranglethorn Vale"], 39.89, 44.56, 2)
+	self:addLookupList(VendorDB, 1149, L["Uthok"], BZONE["Stranglethorn Vale"], 42.92, 56.51, 2)
+	self:addLookupList(VendorDB, 1250, L["Drake Lindgren"], BZONE["Elwynn Forest"], 82.42, 65.69, 1)
+	self:addLookupList(VendorDB, 1286, L["Edna Mullby"], BZONE["Stormwind City"], 51.46, 62.99, 1)
+	self:addLookupList(VendorDB, 1304, L["Darian Singh"], BZONE["Stormwind City"], 22.98, 54.50, 1)
+	self:addLookupList(VendorDB, 1313, L["Maria Lumere"], BZONE["Stormwind City"], 40.18, 69.84, 0)
+	self:addLookupList(VendorDB, 1318, L["Jessara Cordell"], BZONE["Stormwind City"], 38.84, 62.49, 1)
+	self:addLookupList(VendorDB, 1347, L["Alexandra Bolero"], BZONE["Stormwind City"], 40.00, 68.59, 1)
+	self:addLookupList(VendorDB, 1448, L["Neal Allen"], BZONE["Wetlands"], 10.27, 57.66, 1)
+	self:addLookupList(VendorDB, 1454, L["Jennabink Powerseam"], BZONE["Wetlands"], 8.22, 56.04, 1)
+	self:addLookupList(VendorDB, 1465, L["Drac Roughcut"], BZONE["Loch Modan"], 45.78, 47.59, 1)
+	self:addLookupList(VendorDB, 1471, L["Jannos Ironwill"], BZONE["Arathi Highlands"], 49.04, 46.62, 1)
+	self:addLookupList(VendorDB, 1474, L["Rann Flamespinner"], BZONE["Loch Modan"], 44.14, 48.29, 1)
+	self:addLookupList(VendorDB, 1669, L["Defias Profiteer"], BZONE["Westfall"], 42.40, 74.58, 0)
+	self:addLookupList(VendorDB, 1684, L["Khara Deepwater"], BZONE["Loch Modan"], 52.05, 38.59, 1)
+	self:addLookupList(VendorDB, 1685, L["Xandar Goodbeard"], BZONE["Loch Modan"], 82.93, 64.01, 1)
+	self:addLookupList(VendorDB, 2118, L["Abigail Shiel"], BZONE["Tirisfal Glades"], 55.32, 45.24, 2)
+	self:addLookupList(VendorDB, 2380, L["Nandar Branson"], BZONE["Hillsbrad Foothills"], 49.35, 54.49, 1)
+	self:addLookupList(VendorDB, 2381, L["Micha Yance"], BZONE["Hillsbrad Foothills"], 55.72, 47.15, 1)
+	self:addLookupList(VendorDB, 2383, L["Lindea Rabonne"], BZONE["Hillsbrad Foothills"], 49.97, 61.45, 1)
+	self:addLookupList(VendorDB, 2393, L["Christoph Jeffcoat"], BZONE["Hillsbrad Foothills"], 56.73, 47.37, 2)
+	self:addLookupList(VendorDB, 2394, L["Mallen Swain"], BZONE["Hillsbrad Foothills"], 59.79, 28.37, 2)
+	self:addLookupList(VendorDB, 2397, L["Derak Nightfall"], BZONE["Hillsbrad Foothills"], 62.01, 26.17, 2)
+	self:addLookupList(VendorDB, 2480, L["Bro'kin"], BZONE["Alterac Mountains"], 36.42, 43.49, 0)
+	self:addLookupList(VendorDB, 2481, L["Bliztik"], BZONE["Duskwood"], 47.09, 55.36, 0)
+	self:addLookupList(VendorDB, 2482, L["Zarena Cromwind"], BZONE["Stranglethorn Vale"], 33.53, 81.51, 1)
+	self:addLookupList(VendorDB, 2483, L["Jaquilina Dramet"], BZONE["Stranglethorn Vale"], 42.40, 27.83, 0)
+	self:addLookupList(VendorDB, 2663, L["Narkk"], BZONE["Stranglethorn Vale"], 35.95, 84.47, 1)
+	self:addLookupList(VendorDB, 2664, L["Kelsey Yance"], BZONE["Stranglethorn Vale"], 31.92, 80.08, 1)
+	self:addLookupList(VendorDB, 2668, L["Danielle Zipstitch"], BZONE["Duskwood"], 61.5, 62.3, 1)
+	self:addLookupList(VendorDB, 2669, L["Sheri Zipstitch"], BZONE["Duskwood"], 61.55, 62.37, 1)
+	self:addLookupList(VendorDB, 2670, L["Xizk Goodstitch"], BZONE["Stranglethorn Vale"], 33.49, 82.26, 0)
+	self:addLookupList(VendorDB, 2672, L["Cowardly Crosby"], BZONE["Stranglethorn Vale"], 28.79, 84.3, 0)
+	self:addLookupList(VendorDB, 2679, L["Wenna Silkbeard"], BZONE["Wetlands"], 26.04, 25.93, 1)
+	self:addLookupList(VendorDB, 2682, L["Fradd Swiftgear"], BZONE["Wetlands"], 27.09, 26.08, 1)
+	self:addLookupList(VendorDB, 2683, L["Namdo Bizzfizzle"], BZONE["Gnomeregan"], 0, 0, 1)
+	self:addLookupList(VendorDB, 2684, L["Rizz Loosebolt"], BZONE["Alterac Mountains"], 47.35, 36.68, 0)
+	self:addLookupList(VendorDB, 2685, L["Mazk Snipeshot"], BZONE["Stranglethorn Vale"], 31.95, 80.49, 1)
+	self:addLookupList(VendorDB, 2687, L["Gnaz Blunderflame"], BZONE["Stranglethorn Vale"], 50.80, 35.80, 0)
+	self:addLookupList(VendorDB, 2688, L["Ruppo Zipcoil"], BZONE["The Hinterlands"], 34.18, 38.36, 0)
+	self:addLookupList(VendorDB, 2697, L["Clyde Ranthal"], BZONE["Redridge Mountains"], 88.36, 69.77, 1)
+	self:addLookupList(VendorDB, 2698, L["George Candarte"], BZONE["Hillsbrad Foothills"], 91.63, 39.33, 2)
+	self:addLookupList(VendorDB, 2699, L["Rikqiz"], BZONE["Stranglethorn Vale"], 33.32, 82.41, 1)
+	self:addLookupList(VendorDB, 2803, L["Malygen"], BZONE["Felwood"], 56.15, 33.49, 1)
+	self:addLookupList(VendorDB, 2805, L["Deneb Walker"], BZONE["Arathi Highlands"], 35.06, 58.89, 1)
+	self:addLookupList(VendorDB, 2806, L["Bale"], BZONE["Felwood"], 23.26, 59.14, 2)
+	self:addLookupList(VendorDB, 2810, L["Hammon Karwn"], BZONE["Arathi Highlands"], 46.56, 46.45, 1)
+	self:addLookupList(VendorDB, 2812, L["Drovnar Strongbrew"], BZONE["Arathi Highlands"], 46.42, 46.49, 1)
+	self:addLookupList(VendorDB, 2814, L["Narj Deepslice"], BZONE["Arathi Highlands"], 48.95, 46.59, 1)
+	self:addLookupList(VendorDB, 2816, L["Androd Fadran"], BZONE["Arathi Highlands"], 45.58, 47.47, 1)
+	self:addLookupList(VendorDB, 2819, L["Tunkk"], BZONE["Arathi Highlands"], 74.36, 34.24, 2)
+	self:addLookupList(VendorDB, 2821, L["Keena"], BZONE["Arathi Highlands"], 63.48, 46.37, 2)
+	self:addLookupList(VendorDB, 2838, L["Crazk Sparks"], BZONE["Stranglethorn Vale"], 33.19, 82.77, 0)
+	self:addLookupList(VendorDB, 2843, L["Jutak"], BZONE["Stranglethorn Vale"], 47.62, 86.25, 1)
+	self:addLookupList(VendorDB, 2846, L["Blixrez Goodstitch"], BZONE["Stranglethorn Vale"], 35.87, 85.57, 0)
+	self:addLookupList(VendorDB, 2848, L["Glyx Brewright"], BZONE["Stranglethorn Vale"], 35.83, 86.24, 0)
+	self:addLookupList(VendorDB, 3005, L["Mahu"], BZONE["Thunder Bluff"], 47.34, 44.03, 0)
+	self:addLookupList(VendorDB, 3012, L["Nata Dawnstrider"], BZONE["Thunder Bluff"], 43.89, 39.77, 2)
+	self:addLookupList(VendorDB, 3027, L["Naal Mistrunner"], BZONE["Thunder Bluff"], 50.95, 50.11, 2)
+	self:addLookupList(VendorDB, 3029, L["Sewa Mistrunner"], BZONE["Thunder Bluff"], 52.71, 48.03, 2)
+	self:addLookupList(VendorDB, 3081, L["Wunna Darkmane"], BZONE["Mulgore"], 42.27, 59.22, 2)
+	self:addLookupList(VendorDB, 3085, L["Gloria Femmel"], BZONE["Redridge Mountains"], 34.58, 54.59, 1)
+	self:addLookupList(VendorDB, 3134, L["Kzixx"], BZONE["Duskwood"], 81.99, 30.00, 0)
+	self:addLookupList(VendorDB, 3178, L["Stuart Fleming"], BZONE["Wetlands"], 15.56, 57.68, 1)
+	self:addLookupList(VendorDB, 3333, L["Shankys"], BZONE["Orgrimmar"], 69.32, 32.78, 2)
+	self:addLookupList(VendorDB, 3335, L["Hagrus"], BZONE["Orgrimmar"], 45.98, 47.02, 2)
+	self:addLookupList(VendorDB, 3346, L["Kithas"], BZONE["Orgrimmar"], 49.66, 39.50, 2)
+	self:addLookupList(VendorDB, 3348, L["Kor'geld"], BZONE["Orgrimmar"], 57.68, 38.23, 2)
+	self:addLookupList(VendorDB, 3356, L["Sumi"], BZONE["Orgrimmar"], 74.13, 29.51, 2)
+	self:addLookupList(VendorDB, 3364, L["Borya"], BZONE["Orgrimmar"], 59.29, 41.11, 2)
+	self:addLookupList(VendorDB, 3366, L["Tamar"], BZONE["Orgrimmar"], 60.94, 45.44, 2)
+	self:addLookupList(VendorDB, 3367, L["Felika"], BZONE["Orgrimmar"], 56.00, 43.49, 2)
+	self:addLookupList(VendorDB, 3400, L["Xen'to"], BZONE["Orgrimmar"], 56.15, 40.68, 2)
+	self:addLookupList(VendorDB, 3413, L["Sovik"], BZONE["Orgrimmar"], 60.18, 33.63, 2)
+	self:addLookupList(VendorDB, 3482, L["Tari'qa"], BZONE["The Barrens"], 44.61, 39.98, 2)
+	self:addLookupList(VendorDB, 3485, L["Wrahk"], BZONE["The Barrens"], 52.43, 37.81, 2)
+	self:addLookupList(VendorDB, 3489, L["Zargh"], BZONE["The Barrens"], 39.80, 48.76, 2)
+	self:addLookupList(VendorDB, 3490, L["Hula'mahi"], BZONE["The Barrens"], 51.75, 36.62, 2)
+	self:addLookupList(VendorDB, 3495, L["Gagsprocket"], BZONE["The Barrens"], 50.99, 55.82, 1)
+	self:addLookupList(VendorDB, 3497, L["Kilxx"], BZONE["The Barrens"], 51.14, 50.25, 0)
+	self:addLookupList(VendorDB, 3499, L["Ranik"], BZONE["The Barrens"], 50.08, 58.24, 0)
+	self:addLookupList(VendorDB, 3522, L["Constance Brisboise"], BZONE["Tirisfal Glades"], 51.53, 55.89, 2)
+	self:addLookupList(VendorDB, 3537, L["Zixil"], BZONE["Hillsbrad Foothills"], 55.97, 41.32, 0)
+	self:addLookupList(VendorDB, 3550, L["Martine Tramblay"], BZONE["Tirisfal Glades"], 66.01, 59.48, 2)
+	self:addLookupList(VendorDB, 3556, L["Andrew Hilbert"], BZONE["Silverpine Forest"], 44.29, 40.99, 2)
+	self:addLookupList(VendorDB, 3683, L["Kiknikle"], BZONE["The Barrens"], 45.04, 44.50, 0)
+	self:addLookupList(VendorDB, 3881, L["Grimtak"], BZONE["Durotar"], 55.25, 40.88, 2)
+	self:addLookupList(VendorDB, 3954, L["Dalria"], BZONE["Ashenvale"], 38.92, 44.96, 1)
+	self:addLookupList(VendorDB, 3956, L["Harklan Moongrove"], BZONE["Ashenvale"], 50.35, 67.01, 1)
+	self:addLookupList(VendorDB, 3958, L["Lardan"], BZONE["Ashenvale"], 30.08, 46.67, 1)
+	self:addLookupList(VendorDB, 3960, L["Ulthaan"], BZONE["Ashenvale"], 50.35, 66.01, 1)
+	self:addLookupList(VendorDB, 4083, L["Jeeda"], BZONE["Stonetalon Mountains"], 37.40, 44.54, 2)
+	self:addLookupList(VendorDB, 4086, L["Veenix"], BZONE["Stonetalon Mountains"], 50.02, 61.34, 0)
+	self:addLookupList(VendorDB, 4168, L["Elynna"], BZONE["Darnassus"], 57.64, 23.58, 1)
+	self:addLookupList(VendorDB, 4186, L["Mavralyn"], BZONE["Darkshore"], 35.14, 35.24, 1)
+	self:addLookupList(VendorDB, 4189, L["Valdaron"], BZONE["Darkshore"], 34.86, 33.65, 1)
+	self:addLookupList(VendorDB, 4200, L["Laird"], BZONE["Darkshore"], 33.37, 37.09, 1)
+	self:addLookupList(VendorDB, 4223, L["Fyldan"], BZONE["Darnassus"], 44.59, 23.58, 0)
+	self:addLookupList(VendorDB, 4225, L["Saenorion"], BZONE["Darnassus"], 52.68, 25.70, 0)
+	self:addLookupList(VendorDB, 4226, L["Ulthir"], BZONE["Darnassus"], 53.69, 27.51, 1)
+	self:addLookupList(VendorDB, 4228, L["Vaean"], BZONE["Darnassus"], 54.02, 18.91, 1)
+	self:addLookupList(VendorDB, 4229, L["Mythrin'dir"], BZONE["Darnassus"], 58.28, 20.75, 1)
+	self:addLookupList(VendorDB, 4265, L["Nyoma"], BZONE["Teldrassil"], 54.76, 53.14, 1)
+	self:addLookupList(VendorDB, 4305, L["Kriggon Talsone"], BZONE["Westfall"], 31.95, 75.55, 1)
+	self:addLookupList(VendorDB, 4307, L["Heldan Galesong"], BZONE["Darkshore"], 38.16, 52.49, 1)
+	self:addLookupList(VendorDB, 4553, L["Ronald Burch"], BZONE["Undercity"], 57.36, 43.00, 2)
+	self:addLookupList(VendorDB, 4561, L["Daniel Bartlett"], BZONE["Undercity"], 60.38, 42.02, 2)
+	self:addLookupList(VendorDB, 4574, L["Lizbeth Cromwell"], BZONE["Undercity"], 79.38, 34.54, 2)
+	self:addLookupList(VendorDB, 4577, L["Millie Gregorian"], BZONE["Undercity"], 58.51, 38.62, 2)
+	self:addLookupList(VendorDB, 4589, L["Joseph Moore"], BZONE["Undercity"], 59.76, 54.68, 2)
+	self:addLookupList(VendorDB, 4610, L["Algernon"], BZONE["Undercity"], 55.56, 68.22, 2)
+	self:addLookupList(VendorDB, 4617, L["Thaddeus Webb"], BZONE["Undercity"], 58.80, 54.94, 2)
+	self:addLookupList(VendorDB, 4775, L["Felicia Doan"], BZONE["Undercity"], 60.28, 45.26, 2)
+	self:addLookupList(VendorDB, 4782, L["Truk Wildbeard"], BZONE["The Hinterlands"], 44.68, 31.90, 1)
+	self:addLookupList(VendorDB, 4877, L["Jandia"], BZONE["Thousand Needles"], 48.07, 58.43, 2)
+	self:addLookupList(VendorDB, 4878, L["Montarr"], BZONE["Thousand Needles"], 41.27, 62.90, 2)
+	self:addLookupList(VendorDB, 4879, L["Ogg'marr"], BZONE["Dustwallow Marsh"], 41.78, 41.58, 2)
+	self:addLookupList(VendorDB, 4897, L["Helenia Olden"], BZONE["Dustwallow Marsh"], 64.73, 66.67, 1)
+	self:addLookupList(VendorDB, 5128, L["Bombus Finespindle"], BZONE["Ironforge"], 39.77, 49.23, 1)
+	self:addLookupList(VendorDB, 5158, L["Tilli Thistlefuzz"], BZONE["Ironforge"], 52.37, 51.57, 1)
+	self:addLookupList(VendorDB, 5160, L["Emrul Riknussun"], BZONE["Ironforge"], 50.03, 49.41, 1)
+	self:addLookupList(VendorDB, 5162, L["Tansy Puddlefizz"], BZONE["Ironforge"], 49.95, 19.61, 1)
+	self:addLookupList(VendorDB, 5163, L["Burbik Gearspanner"], BZONE["Ironforge"], 42.69, 45.93, 1)
+	self:addLookupList(VendorDB, 5175, L["Gearcutter Cogspinner"], BZONE["Ironforge"], 58.05, 52.61, 1)
+	self:addLookupList(VendorDB, 5178, L["Soolie Berryfizz"], BZONE["Ironforge"], 60.0, 55.65, 1)
+	self:addLookupList(VendorDB, 5411, L["Krinkle Goodsteel"], BZONE["Tanaris"], 48.78, 42.64, 0)
+	self:addLookupList(VendorDB, 5483, L["Erika Tate"], BZONE["Stormwind City"], 60.27, 42.89, 1)
+	self:addLookupList(VendorDB, 5494, L["Catherine Leland"], BZONE["Stormwind City"], 45.23, 59.38, 1)
+	self:addLookupList(VendorDB, 5512, L["Kaita Deepforge"], BZONE["Stormwind City"], 50.08, 27.76, 1)
+	self:addLookupList(VendorDB, 5594, L["Alchemist Pestlezugg"], BZONE["Tanaris"], 46.93, 52.3, 0)
+	self:addLookupList(VendorDB, 5748, L["Killian Sanatha"], BZONE["Silverpine Forest"], 33.02, 16.45, 2)
+	self:addLookupList(VendorDB, 5757, L["Lilly"], BZONE["Silverpine Forest"], 42.51, 47.13, 2)
+	self:addLookupList(VendorDB, 5758, L["Leo Sarn"], BZONE["Silverpine Forest"], 54.82, 81.42, 2)
+	self:addLookupList(VendorDB, 5783, L["Kalldan Felmoon"], BZONE["Wailing Caverns"], 0, 0, 0)
+	self:addLookupList(VendorDB, 5940, L["Harn Longcast"], BZONE["Mulgore"], 42.99, 56.11, 2)
+	self:addLookupList(VendorDB, 5942, L["Zansoa"], BZONE["Durotar"], 56.27, 73.47, 2)
+	self:addLookupList(VendorDB, 5944, L["Yonada"], BZONE["The Barrens"], 57.84, 60.94, 2)
+	self:addLookupList(VendorDB, 6567, L["Ghok'kah"], BZONE["Dustwallow Marsh"], 41.75, 43.84, 2)
+	self:addLookupList(VendorDB, 6568, L["Vizzklick"], BZONE["Tanaris"], 52.77, 41.01, 0)
+	self:addLookupList(VendorDB, 6574, L["Jun'ha"], BZONE["Arathi Highlands"], 65.08, 56.98, 2)
+	self:addLookupList(VendorDB, 6576, L["Brienna Starglow"], BZONE["Thousand Needles"], 8.77, 19.28, 1)
+	self:addLookupList(VendorDB, 6730, L["Jinky Twizzlefixxit"], BZONE["Thousand Needles"], 68.40, 63.99, 0)
+	self:addLookupList(VendorDB, 6731, L["Harlown Darkweave"], BZONE["Ashenvale"], 18.44, 59.60, 1)
+	self:addLookupList(VendorDB, 6777, L["Zan Shivsproket"], BZONE["Alterac Mountains"], 85.07, 49.22, 0)
+	self:addLookupList(VendorDB, 6779, L["Smudge Thunderwood"], BZONE["Alterac Mountains"], 85.1, 49.11, 0)
+	self:addLookupList(VendorDB, 7733, L["Innkeeper Fizzgrimble"], BZONE["Tanaris"], 45.65, 60.9, 0)
+	self:addLookupList(VendorDB, 7852, L["Pratt McGrubben"], BZONE["Feralas"], 32.53, 51.44, 1)
+	self:addLookupList(VendorDB, 7854, L["Jangdor Swiftstrider"], BZONE["Feralas"], 47.97, 67.15, 2)
+	self:addLookupList(VendorDB, 7940, L["Darnall"], BZONE["Moonglade"], 52.17, 31.99, 0)
+	self:addLookupList(VendorDB, 7947, L["Vivianna"], BZONE["Feralas"], 34.28, 57.01, 1)
+	self:addLookupList(VendorDB, 8125, L["Dirge Quikcleave"], BZONE["Tanaris"], 48.17, 47.52, 0)
+	self:addLookupList(VendorDB, 8131, L["Blizrik Buckshot"], BZONE["Tanaris"], 53.74, 54.41, 0)
+	self:addLookupList(VendorDB, 8137, L["Gikkix"], BZONE["Tanaris"], 65.09, 36.98, 0)
+	self:addLookupList(VendorDB, 8139, L["Jabbey"], BZONE["Tanaris"], 56.13, 49.45, 0)
+	self:addLookupList(VendorDB, 8145, L["Sheendra Tallgrass"], BZONE["Feralas"], 54.79, 61.37, 2)
+	self:addLookupList(VendorDB, 8150, L["Janet Hommers"], BZONE["Desolace"], 45.73, 33.76, 1)
+	self:addLookupList(VendorDB, 8157, L["Logannas"], BZONE["Feralas"], 34.03, 52.42, 1)
+	self:addLookupList(VendorDB, 8158, L["Bronk"], BZONE["Feralas"], 59.81, 57.79, 2)
+	self:addLookupList(VendorDB, 8160, L["Nioma"], BZONE["The Hinterlands"], 44.22, 30.97, 1)
+	self:addLookupList(VendorDB, 8161, L["Harggan"], BZONE["The Hinterlands"], 13.67, 43.15, 1)
+	self:addLookupList(VendorDB, 8176, L["Gharash"], BZONE["Swamp of Sorrows"], 51.04, 53.35, 2)
+	self:addLookupList(VendorDB, 8177, L["Rartar"], BZONE["Swamp of Sorrows"], 71.04, 47.13, 2)
+	self:addLookupList(VendorDB, 8178, L["Nina Lightbrew"], BZONE["Blasted Lands"], 62.27, 42.04, 1)
+	self:addLookupList(VendorDB, 8307, L["Tarban Hearthgrain"], BZONE["The Barrens"], 45.75, 46.65, 2)
+	self:addLookupList(VendorDB, 8363, L["Shadi Mistrunner"], BZONE["Thunder Bluff"], 39.17, 57.67, 2)
+	self:addLookupList(VendorDB, 8508, L["Gretta Ganter"], BZONE["Dun Morogh"], 33.86, 46.91, 1)
+	self:addLookupList(VendorDB, 8678, L["Jubie Gadgetspring"], BZONE["Azshara"], 45.26, 90.86, 0)
+	self:addLookupList(VendorDB, 8679, L["Knaz Blunderflame"], BZONE["Stranglethorn Vale"], 50.77, 36.15, 0)
+	self:addLookupList(VendorDB, 8681, L["Outfitter Eric"], BZONE["Ironforge"], 50.49, 27.32, 1)
+	self:addLookupList(VendorDB, 8878, L["Muuran"], BZONE["Desolace"], 56.11, 56.62, 2)
+	self:addLookupList(VendorDB, 9179, L["Jazzrik"], BZONE["Badlands"], 43.79, 54.18, 0)
+	self:addLookupList(VendorDB, 9499, L["Plugger Spazzring"], L["Unknown Zone"], 0, 0, 2)
+	self:addLookupList(VendorDB, 9544, L["Yuka Screwspigot"], BZONE["Burning Steppes"], 58.94, 65.60, 0)
+	self:addLookupList(VendorDB, 9636, L["Kireena"], BZONE["Desolace"], 50.99, 53.4, 2)
+	self:addLookupList(VendorDB, 10118, L["Nessa Shadowsong"], BZONE["Teldrassil"], 47.67, 68.19, 1)
+	self:addLookupList(VendorDB, 10856, L["Argent Quartermaster Hasana"], BZONE["Tirisfal Glades"], 53.08, 55.81, 0)
+	self:addLookupList(VendorDB, 10857, L["Argent Quartermaster Lightspark"], BZONE["Western Plaguelands"], 53.41, 69.65, 0)
+	self:addLookupList(VendorDB, 11185, L["Xizzer Fizzbolt"], BZONE["Winterspring"], 60.04, 31.35, 0)
+	self:addLookupList(VendorDB, 11187, L["Himmik"], BZONE["Winterspring"], 60.19, 31.36, 0)
+	self:addLookupList(VendorDB, 11189, L["Qia"], BZONE["Winterspring"], 60.23, 31.34, 0)
+	self:addLookupList(VendorDB, 11278, L["Magnus Frostwake"], BZONE["Western Plaguelands"], 68.68, 78.02, 0)
+	self:addLookupList(VendorDB, 11536, L["Quartermaster Miranda Breechlock"], BZONE["Eastern Plaguelands"], 69.43, 45.92, 0)
+	self:addLookupList(VendorDB, 11557, L["Meilosh"], BZONE["Felwood"], 48.39, 31.07, 4)
+	self:addLookupList(VendorDB, 11874, L["Masat T'andr"], BZONE["Swamp of Sorrows"], 26.38, 33.40, 0)
+	self:addLookupList(VendorDB, 12022, L["Lorelae Wintersong"], BZONE["Moonglade"], 50.66, 33.53, 0)
+	self:addLookupList(VendorDB, 12033, L["Wulan"], BZONE["Desolace"], 26.6, 68.24, 2)
+	self:addLookupList(VendorDB, 12043, L["Kulwia"], BZONE["Stonetalon Mountains"], 37.35, 56.46, 2)
+	self:addLookupList(VendorDB, 12245, L["Vendor-Tron 1000"], BZONE["Desolace"], 60.47, 37.64, 0)
+	self:addLookupList(VendorDB, 12246, L["Super-Seller 680"], BZONE["Desolace"], 40.10, 77.00, 0)
+	self:addLookupList(VendorDB, 12941, L["Jase Farlane"], BZONE["Eastern Plaguelands"], 74.66, 51.74, 0)
+	self:addLookupList(VendorDB, 12942, L["Leonard Porter"], BZONE["Western Plaguelands"], 52.33, 71.14, 1)
+	self:addLookupList(VendorDB, 12943, L["Werg Thickblade"], BZONE["Tirisfal Glades"], 53.85, 60.61, 2)
+	self:addLookupList(VendorDB, 12944, L["Lokhtos Darkbargainer"], BZONE["Blackrock Depths"], 0, 0, 0)
+	self:addLookupList(VendorDB, 12956, L["Zannok Hidepiercer"], BZONE["Silithus"], 51.81, 25.38, 0)
+	self:addLookupList(VendorDB, 12957, L["Blimo Gadgetspring"], BZONE["Azshara"], 45.26, 90.86, 0)
+	self:addLookupList(VendorDB, 12958, L["Gigget Zipcoil"], BZONE["The Hinterlands"], 35.11, 38.54, 0)
+	self:addLookupList(VendorDB, 12959, L["Nergal"], BZONE["Un'Goro Crater"], 44.37, 30.44, 0)
+	self:addLookupList(VendorDB, 12962, L["Wik'Tar"], BZONE["Ashenvale"], 15.04, 40.36, 2)
+	self:addLookupList(VendorDB, 13420, L["Penney Copperpinch"], L["Unknown Zone"], 0, 0, 2)
+	self:addLookupList(VendorDB, 13429, L["Nardstrum Kupferzwick"], L["Unknown Zone"], 0, 0, 2)
+	self:addLookupList(VendorDB, 13432, L["Seersa Copperpinch"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(VendorDB, 13433, L["Wulmort Jinglepocket"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(VendorDB, 13476, L["Balai Lok'Wein"], BZONE["Dustwallow Marsh"], 40.83, 39.95, 2)
+	self:addLookupList(VendorDB, 14371, L["Shen'dralar Provisioner"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(VendorDB, 14637, L["Zorbin Fandazzle"], BZONE["Feralas"], 43.52, 49.92, 0)
+	self:addLookupList(VendorDB, 14738, L["Otho Moji'ko"], BZONE["The Hinterlands"], 71.06, 67.24, 2)
+	self:addLookupList(VendorDB, 14921, L["Rin'wosho the Trader"], BZONE["Stranglethorn Vale"], 15.47, 15.69, 0)
+	self:addLookupList(VendorDB, 15176, L["Vargus"], BZONE["Silithus"], 52.37, 54.37, 0)
+	self:addLookupList(VendorDB, 15179, L["Mishta"], BZONE["Silithus"], 52.15, 54.33, 0)
+	self:addLookupList(VendorDB, 15198, L["Blackwing"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(VendorDB, 15293, L["Aendel Windspear"], BZONE["Silithus"], 62.7, 51.50, 0)
+	self:addLookupList(VendorDB, 15419, L["Kania"], BZONE["Silithus"], 53.07, 58.34, 0)
+	self:addLookupList(VendorDB, 15471, L["Lieutenant General Andorov"], BZONE["Ruins of Ahn'Qiraj"], 0, 0, 0)
+	self:addLookupList(VendorDB, 16224, L["Rathis Tomber"], BZONE["Ghostlands"], 47.47, 28.21, 2)
+	self:addLookupList(VendorDB, 16253, L["Master Chef Mouldier"], BZONE["Ghostlands"], 48.37, 29.66, 2)
+	self:addLookupList(VendorDB, 16262, L["Landraelanis"], BZONE["Eversong Woods"], 49, 46.97, 2)
+	self:addLookupList(VendorDB, 16388, L["Koren"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(VendorDB, 16583, L["Rohok"], BZONE["Hellfire Peninsula"], 54.62, 40.62, 2)
+	self:addLookupList(VendorDB, 16585, L["Cookie One-Eye"], BZONE["Hellfire Peninsula"], 55.2, 41.90, 2)
+	self:addLookupList(VendorDB, 16588, L["Apothecary Antonivich"], BZONE["Hellfire Peninsula"], 55.25, 42.21, 2)
+	self:addLookupList(VendorDB, 16624, L["Gelanthis"], BZONE["Silvermoon City"], 76.19, 59.69, 2)
+	self:addLookupList(VendorDB, 16635, L["Lyna"], BZONE["Silvermoon City"], 65.15, 26.37, 2)
+	self:addLookupList(VendorDB, 16638, L["Deynna"], BZONE["Silvermoon City"], 56.53, 48.72, 2)
+	self:addLookupList(VendorDB, 16641, L["Melaris"], BZONE["Silvermoon City"], 62.25, 20.49, 2)
+	self:addLookupList(VendorDB, 16657, L["Feera"], BZONE["The Exodar"], 54.19, 87.89, 1)
+	self:addLookupList(VendorDB, 16670, L["Eriden"], BZONE["Silvermoon City"], 73.94, 33.00, 2)
+	self:addLookupList(VendorDB, 16677, L["Quelis"], BZONE["Silvermoon City"], 63.17, 54.50, 2)
+	self:addLookupList(VendorDB, 16689, L["Zaralda"], BZONE["Silvermoon City"], 79.16, 75.48, 2)
+	self:addLookupList(VendorDB, 16705, L["Altaa"], BZONE["The Exodar"], 26.84, 52.01, 1)
+	self:addLookupList(VendorDB, 16713, L["Arras"], BZONE["The Exodar"], 57.90, 84.42, 1)
+	self:addLookupList(VendorDB, 16718, L["Phea"], BZONE["The Exodar"], 52.55, 30.86, 1)
+	self:addLookupList(VendorDB, 16722, L["Egomis"], BZONE["The Exodar"], 36.50, 37.74, 1)
+	self:addLookupList(VendorDB, 16748, L["Haferet"], BZONE["The Exodar"], 51.89, 60.33, 0)
+	self:addLookupList(VendorDB, 16767, L["Neii"], BZONE["The Exodar"], 55.17, 60.35, 1)
+	self:addLookupList(VendorDB, 16782, L["Yatheon"], BZONE["Silvermoon City"], 68.86, 31.56, 2)
+	self:addLookupList(VendorDB, 16826, L["Sid Limbardi"], BZONE["Hellfire Peninsula"], 56.68, 59.35, 1)
+	self:addLookupList(VendorDB, 17246, L["\"Cookie\" McWeaksauce"], BZONE["Bloodmyst Isle"], 54.02, 55.06, 1)
+	self:addLookupList(VendorDB, 17512, L["Arred"], BZONE["The Exodar"], 42.03, 26.59, 1)
+	self:addLookupList(VendorDB, 17518, L["Ythyar"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(VendorDB, 17585, L["Quartermaster Urgronn"], BZONE["Hellfire Peninsula"], 55.82, 39.37, 2)
+	self:addLookupList(VendorDB, 17657, L["Logistics Officer Ulrike"], BZONE["Hellfire Peninsula"], 56.65, 61.71, 1)
+	self:addLookupList(VendorDB, 17904, L["Fedryen Swiftspear"], BZONE["Zangarmarsh"], 61.52, 49.45, 0)
+	self:addLookupList(VendorDB, 18005, L["Haalrun"], BZONE["Zangarmarsh"], 53.90, 47.51, 1)
+	self:addLookupList(VendorDB, 18011, L["Zurai"], BZONE["Zangarmarsh"], 61.79, 50.96, 2)
+	self:addLookupList(VendorDB, 18015, L["Gambarinka"], BZONE["Zangarmarsh"], 31.26, 49.50, 2)
+	self:addLookupList(VendorDB, 18017, L["Seer Janidi"], BZONE["Zangarmarsh"], 31.97, 50.89, 2)
+	self:addLookupList(VendorDB, 18255, L["Apprentice Darius"], BZONE["Duskwood"], 3.69, 0.66, 0)
+	self:addLookupList(VendorDB, 18382, L["Mycah"], BZONE["Zangarmarsh"], 20.16, 50.44, 0)
+	self:addLookupList(VendorDB, 18427, L["Fazu"], BZONE["Bloodmyst Isle"], 52.05, 51.64, 1)
+	self:addLookupList(VendorDB, 18484, L["Wind Trader Lathrai"], BZONE["Shattrath City"], 67.50, 34.75, 0)
+	self:addLookupList(VendorDB, 18664, L["Aged Dalaran Wizard"], BZONE["Old Hillsbrad Foothills"], 0, 0, 0)
+	self:addLookupList(VendorDB, 18672, L["Thomas Yance"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(VendorDB, 18751, L["Kalaen"], BZONE["Hellfire Peninsula"], 57.25, 41.54, 2)
+	self:addLookupList(VendorDB, 18753, L["Felannia"], BZONE["Hellfire Peninsula"], 54.50, 40.32, 2)
+	self:addLookupList(VendorDB, 18773, L["Johan Barnes"], BZONE["Hellfire Peninsula"], 56.17, 61.32, 1)
+	self:addLookupList(VendorDB, 18774, L["Tatiana"], BZONE["Alterac Valley"], 44.74, 45.14, 1)
+	self:addLookupList(VendorDB, 18775, L["Lebowski"], BZONE["Hellfire Peninsula"], 55.83, 63.06, 1)
+	self:addLookupList(VendorDB, 18802, L["Alchemist Gribble"], BZONE["Hellfire Peninsula"], 55.64, 62.59, 1)
+	self:addLookupList(VendorDB, 18821, L["Quartermaster Jaffrey Noreliqe"], BZONE["Nagrand"], 38.21, 49.08, 2)
+	self:addLookupList(VendorDB, 18822, L["Quartermaster Davian Vaclav"], BZONE["Nagrand"], 38.03, 48.88, 1)
+	self:addLookupList(VendorDB, 18911, L["Juno Dufrain"], BZONE["Zangarmarsh"], 74.89, 57.01, 0)
+	self:addLookupList(VendorDB, 18951, L["Erilia"], BZONE["Eversong Woods"], 55.62, 53.65, 2)
+	self:addLookupList(VendorDB, 18957, L["Innkeeper Grilka"], BZONE["Terokkar Forest"], 48.79, 53.66, 2)
+	self:addLookupList(VendorDB, 18960, L["Rungor"], BZONE["Terokkar Forest"], 49.45, 50.96, 2)
+	self:addLookupList(VendorDB, 18990, L["Burko"], BZONE["Hellfire Peninsula"], 28.35, 40.78, 1)
+	self:addLookupList(VendorDB, 18991, L["Aresella"], BZONE["Hellfire Peninsula"], 29.27, 60.93, 2)
+	self:addLookupList(VendorDB, 19004, L["Vodesiin"], BZONE["Hellfire Peninsula"], 27.15, 40.49, 1)
+	self:addLookupList(VendorDB, 19015, L["Mathar G'ochar"], BZONE["Nagrand"], 53.90, 40.78, 2)
+	self:addLookupList(VendorDB, 19017, L["Borto"], BZONE["Nagrand"], 48.61, 71.52, 1)
+	self:addLookupList(VendorDB, 19038, L["Supply Officer Mills"], BZONE["Terokkar Forest"], 41.69, 52.30, 1)
+	self:addLookupList(VendorDB, 19042, L["Leeli Longhaggle"], BZONE["Terokkar Forest"], 45.67, 52.24, 1)
+	self:addLookupList(VendorDB, 19074, L["Skreah"], BZONE["Shattrath City"], 46.79, 27.55, 0)
+	self:addLookupList(VendorDB, 19195, L["Jim Saltit"], BZONE["Shattrath City"], 61.88, 64.18, 0)
+	self:addLookupList(VendorDB, 19196, L["Cro Threadstrong"], BZONE["Shattrath City"], 65.57, 62.31, 0)
+	self:addLookupList(VendorDB, 19213, L["Eiin"], BZONE["Shattrath City"], 64.84, 63.08, 0)
+	self:addLookupList(VendorDB, 19234, L["Yurial Soulwater"], BZONE["Shattrath City"], 46.68, 87.72, 2)
+	self:addLookupList(VendorDB, 19296, L["Innkeeper Biribi"], BZONE["Terokkar Forest"], 42.13, 52.25, 1)
+	self:addLookupList(VendorDB, 19321, L["Quartermaster Endarin"], BZONE["Shattrath City"], 45.09, 37.76, 1)
+	self:addLookupList(VendorDB, 19331, L["Quartermaster Enuril"], BZONE["Shattrath City"], 56.40, 55.47, 2)
+	self:addLookupList(VendorDB, 19342, L["Krek Cragcrush"], BZONE["Shadowmoon Valley"], 50.4, 49.10, 2)
+	self:addLookupList(VendorDB, 19351, L["Daggle Ironshaper"], BZONE["Shadowmoon Valley"], 52.68, 66.26, 1)
+	self:addLookupList(VendorDB, 19373, L["Mari Stonehand"], BZONE["Shadowmoon Valley"], 52.60, 66.75, 1)
+	self:addLookupList(VendorDB, 19383, L["Captured Gnome"], BZONE["Zangarmarsh"], 31.93, 48.14, 0)
+	self:addLookupList(VendorDB, 19521, L["Arrond"], BZONE["Shadowmoon Valley"], 59.37, 65.03, 0)
+	self:addLookupList(VendorDB, 19537, L["Dealer Malij"], BZONE["Netherstorm"], 50.64, 23.99, 0)
+	self:addLookupList(VendorDB, 19540, L["Asarnan"], BZONE["Netherstorm"], 47.60, 28.86, 0)
+	self:addLookupList(VendorDB, 19661, L["Viggz Shinesparked"], BZONE["Shattrath City"], 62.90, 64.31, 0)
+	self:addLookupList(VendorDB, 19662, L["Aaron Hollman"], BZONE["Shattrath City"], 62.19, 65.56, 0)
+	self:addLookupList(VendorDB, 19663, L["Madame Ruby"], BZONE["Shattrath City"], 62.20, 65.13, 0)
+	self:addLookupList(VendorDB, 19694, L["Loolruna"], BZONE["Zangarmarsh"], 58.93, 49.31, 1)
+	self:addLookupList(VendorDB, 19722, L["Muheru the Weaver"], BZONE["Zangarmarsh"], 37.11, 39.33, 1)
+	self:addLookupList(VendorDB, 19836, L["Mixie Farshot"], BZONE["Hellfire Peninsula"], 60.84, 74.16, 2)
+	self:addLookupList(VendorDB, 19837, L["Daga Ramba"], BZONE["Blade's Edge Mountains"], 51.87, 57.61, 2)
+	self:addLookupList(VendorDB, 20028, L["Doba"], BZONE["Zangarmarsh"], 38.65, 38.26, 1)
+	self:addLookupList(VendorDB, 20096, L["Uriku"], BZONE["Nagrand"], 51.49, 72.90, 1)
+	self:addLookupList(VendorDB, 20097, L["Nula the Butcher"], BZONE["Nagrand"], 53.34, 40.16, 2)
+	self:addLookupList(VendorDB, 20241, L["Provisioner Nasela"], BZONE["Nagrand"], 48.42, 50.78, 2)
+	self:addLookupList(VendorDB, 20242, L["Karaaz"], BZONE["Netherstorm"], 46.60, 30.89, 0)
+	self:addLookupList(VendorDB, 21113, L["Sassa Weldwell"], BZONE["Blade's Edge Mountains"], 60.78, 34.39, 1)
+	self:addLookupList(VendorDB, 21432, L["Almaador"], BZONE["Shattrath City"], 49.77, 45.71, 0)
+	self:addLookupList(VendorDB, 21474, L["Coreiel"], BZONE["Nagrand"], 41.32, 45.65, 2)
+	self:addLookupList(VendorDB, 21485, L["Aldraan"], BZONE["Nagrand"], 41.60, 44.96, 1)
+	self:addLookupList(VendorDB, 21643, L["Alurmi"], BZONE["Tanaris"], 53.91, 69.67, 0)
+	self:addLookupList(VendorDB, 21655, L["Nakodu"], BZONE["Shattrath City"], 61.47, 65.28, 0)
+	self:addLookupList(VendorDB, 22208, L["Nasmara Moonsong"], BZONE["Shattrath City"], 61.74, 61.45, 0)
+	self:addLookupList(VendorDB, 22212, L["Andrion Darkspinner"], BZONE["Shattrath City"], 63.24, 62.67, 0)
+	self:addLookupList(VendorDB, 22213, L["Gidge Spellweaver"], BZONE["Shattrath City"], 62.77, 61.36, 0)
+	self:addLookupList(VendorDB, 23007, L["Paulsta'ats"], BZONE["Nagrand"], 29.36, 60.10, 0)
+	self:addLookupList(VendorDB, 23159, L["Okuno"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(VendorDB, 23437, L["Indormi"], L["Unknown Zone"], 0, 0, 0)
+	self:addLookupList(VendorDB, 25032, L["Eldara Dawnrunner"], BZONE["Isle of Quel'Danas"], 52.65, 22.93, 0)
+	self:addLookupList(VendorDB, 25950, L["Shaani"], BZONE["Isle of Quel'Danas"], 52.02, 28.17, 0)
+	self:addLookupList(VendorDB, 27666, L["Ontuvo"], BZONE["Shattrath City"], 50, 41, 0)

 end
diff --git a/database.xml b/database.xml
index 0db2e24..47c0858 100644
--- a/database.xml
+++ b/database.xml
@@ -3,7 +3,6 @@
 ..\FrameXML\UI.xsd">

 <Include file="RecipeDB\ARL-Alchemy.lua"/>
-<Include file="RecipeDB\ARL-BeastTrain.lua"/>
 <Include file="RecipeDB\ARL-BlackSmith.lua"/>
 <Include file="RecipeDB\ARL-Cook.lua"/>
 <Include file="RecipeDB\ARL-Enchant.lua"/>
@@ -12,10 +11,15 @@
 <Include file="RecipeDB\ARL-Inscription.lua"/>
 <Include file="RecipeDB\ARL-Jewelcraft.lua"/>
 <Include file="RecipeDB\ARL-LeatherWork.lua"/>
-<Include file="RecipeDB\ARL-RoguePoison.lua"/>
 <Include file="RecipeDB\ARL-RuneForge.lua"/>
 <Include file="RecipeDB\ARL-Smelt.lua"/>
 <Include file="RecipeDB\ARL-Tailor.lua"/>
+
+<Include file="RecipeDB\ARL-Mob.lua"/>
+<Include file="RecipeDB\ARL-Quest.lua"/>
+<Include file="RecipeDB\ARL-Reputation.lua"/>
+<Include file="RecipeDB\ARL-Seasonal.lua"/>
+<Include file="RecipeDB\ARL-Trainer.lua"/>
 <Include file="RecipeDB\ARL-Vendor.lua"/>

 </Ui>
\ No newline at end of file