Quantcast

Merge branch 'master' of git.wowace.com:wow/arl/mainline

James D. Callahan III [03-27-10 - 08:04]
Merge branch 'master' of git.wowace.com:wow/arl/mainline
Filename
Database/Alchemy.lua
Database/Blacksmithing.lua
Database/Cooking.lua
Database/Enchanting.lua
Database/Engineering.lua
Database/FirstAid.lua
Database/Inscription.lua
Database/Jewelcrafting.lua
Database/Leatherworking.lua
Database/Runeforging.lua
Database/Tailoring.lua
diff --git a/Database/Alchemy.lua b/Database/Alchemy.lua
index 81da089..4ff0f77 100644
--- a/Database/Alchemy.lua
+++ b/Database/Alchemy.lua
@@ -63,12 +63,12 @@ function addon:InitAlchemy()
 	-- Minor Mana Potion -- 2331
 	AddRecipe(2331, 25, 2455, Q.COMMON, V.ORIG, 25, 65, 85, 105)
 	self:AddRecipeFlags(2331, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(2331, A.TRAINER, 1215, A.TRAINER, 1246, A.TRAINER, 1386, A.TRAINER, 1470, A.TRAINER, 2132, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3184, A.TRAINER, 3347, A.TRAINER, 3603, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16161, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 17215, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3964, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900)
+	self:AddRecipeTrainer(2331, 1386, 2837, 17215, 4160, 3184, 2132, 27029, 3347, 4900, 16723, 27023, 3603, 33674, 1215, 4611, 33608, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 18802, 3009, 2391, 16642, 1246, 5499)

 	-- Minor Rejuvenation Potion -- 2332
 	AddRecipe(2332, 40, 2456, Q.COMMON, V.ORIG, 40, 70, 90, 110)
 	self:AddRecipeFlags(2332, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(2332, A.TRAINER, 1215, A.TRAINER, 1246, A.TRAINER, 1386, A.TRAINER, 1470, A.TRAINER, 2132, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3184, A.TRAINER, 3347, A.TRAINER, 3603, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16161, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 17215, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3964, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900)
+	self:AddRecipeTrainer(2332, 1386, 2837, 17215, 4160, 3184, 2132, 27029, 3347, 4900, 16723, 27023, 3603, 33674, 1215, 4611, 33608, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 18802, 3009, 2391, 16642, 1246, 5499)

 	-- Elixir of Lesser Agility -- 2333
 	AddRecipe(2333, 140, 3390, Q.UNCOMMON, V.ORIG, 140, 165, 185, 205)
@@ -78,7 +78,7 @@ function addon:InitAlchemy()
 	-- Elixir of Minor Fortitude -- 2334
 	AddRecipe(2334, 50, 2458, Q.COMMON, V.ORIG, 50, 80, 100, 120)
 	self:AddRecipeFlags(2334, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(2334, A.TRAINER, 1215, A.TRAINER, 1246, A.TRAINER, 1386, A.TRAINER, 1470, A.TRAINER, 2132, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3184, A.TRAINER, 3347, A.TRAINER, 3603, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16161, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 17215, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3964, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900)
+	self:AddRecipeTrainer(2334, 1386, 2837, 17215, 4160, 3184, 2132, 27029, 3347, 4900, 16723, 27023, 3603, 33674, 1215, 4611, 33608, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 18802, 3009, 2391, 16642, 1246, 5499)

 	-- Swiftness Potion -- 2335
 	AddRecipe(2335, 60, 2459, Q.UNCOMMON, V.ORIG, 60, 90, 110, 130)
@@ -88,17 +88,17 @@ function addon:InitAlchemy()
 	-- Lesser Healing Potion -- 2337
 	AddRecipe(2337, 55, 858, Q.COMMON, V.ORIG, 55, 85, 105, 125)
 	self:AddRecipeFlags(2337, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(2337, A.TRAINER, 1215, A.TRAINER, 1246, A.TRAINER, 1386, A.TRAINER, 1470, A.TRAINER, 2132, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3184, A.TRAINER, 3347, A.TRAINER, 3603, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16161, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 17215, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3964, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900)
+	self:AddRecipeTrainer(2337, 1386, 2837, 17215, 4160, 3184, 2132, 27029, 3347, 4900, 16723, 27023, 3603, 33674, 1215, 4611, 33608, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 18802, 3009, 2391, 16642, 1246, 5499)

 	-- Weak Troll's Blood Elixir -- 3170
 	AddRecipe(3170, 15, 3382, Q.COMMON, V.ORIG, 15, 60, 80, 100)
 	self:AddRecipeFlags(3170, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3170, A.TRAINER, 1215, A.TRAINER, 1246, A.TRAINER, 1386, A.TRAINER, 1470, A.TRAINER, 2132, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3184, A.TRAINER, 3347, A.TRAINER, 3603, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16161, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 17215, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3964, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900)
+	self:AddRecipeTrainer(3170, 1386, 2837, 17215, 4160, 3184, 2132, 27029, 3347, 4900, 16723, 27023, 3603, 33674, 1215, 4611, 33608, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 18802, 3009, 2391, 16642, 1246, 5499)

 	-- Elixir of Wisdom -- 3171
 	AddRecipe(3171, 90, 3383, Q.COMMON, V.ORIG, 90, 120, 140, 160)
 	self:AddRecipeFlags(3171, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3171, A.TRAINER, 1386, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3347, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 16161)
+	self:AddRecipeTrainer(3171, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 27023, 18802, 4611, 1215, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 33674, 3009, 2391, 33608, 4160, 5499)

 	-- Minor Magic Resistance Potion -- 3172
 	AddRecipe(3172, 110, 3384, Q.COMMON, V.ORIG, 110, 135, 155, 175)
@@ -108,7 +108,7 @@ function addon:InitAlchemy()
 	-- Lesser Mana Potion -- 3173
 	AddRecipe(3173, 120, 3385, Q.COMMON, V.ORIG, 120, 145, 165, 185)
 	self:AddRecipeFlags(3173, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3173, A.TRAINER, 1386, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3347, A.TRAINER, 3964, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 1470, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 16161)
+	self:AddRecipeTrainer(3173, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 27023, 18802, 4611, 1215, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 33674, 3009, 2391, 33608, 4160, 5499)

 	-- Potion of Curing -- 3174
 	AddRecipe(3174, 120, 3386, Q.COMMON, V.ORIG, 120, 145, 165, 185)
@@ -123,12 +123,12 @@ function addon:InitAlchemy()
 	-- Strong Troll's Blood Elixir -- 3176
 	AddRecipe(3176, 125, 3388, Q.COMMON, V.ORIG, 125, 150, 170, 190)
 	self:AddRecipeFlags(3176, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3176, A.TRAINER, 1386, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3347, A.TRAINER, 3964, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 1470, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 16161)
+	self:AddRecipeTrainer(3176, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 27023, 18802, 4611, 1215, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 33674, 3009, 2391, 33608, 4160, 5499)

 	-- Elixir of Defense -- 3177
 	AddRecipe(3177, 130, 3389, Q.COMMON, V.ORIG, 130, 155, 175, 195)
 	self:AddRecipeFlags(3177, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(3177, A.TRAINER, 1386, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3347, A.TRAINER, 3964, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 1470, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 16161)
+	self:AddRecipeTrainer(3177, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 27023, 18802, 4611, 1215, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 33674, 3009, 2391, 33608, 4160, 5499)

 	-- Elixir of Ogre's Strength -- 3188
 	AddRecipe(3188, 150, 3391, Q.COMMON, V.ORIG, 150, 175, 195, 215)
@@ -143,22 +143,23 @@ function addon:InitAlchemy()
 	-- Healing Potion -- 3447
 	AddRecipe(3447, 110, 929, Q.COMMON, V.ORIG, 110, 135, 155, 175)
 	self:AddRecipeFlags(3447, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3447, A.TRAINER, 1386, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3347, A.TRAINER, 3964, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 1470, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 16161)
+	self:AddRecipeTrainer(3447, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 27023, 18802, 4611, 1215, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 33674, 3009, 2391, 33608, 4160, 5499)

 	-- Lesser Invisibility Potion -- 3448
 	AddRecipe(3448, 165, 3823, Q.COMMON, V.ORIG, 165, 185, 205, 225)
 	self:AddRecipeFlags(3448, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3448, A.TRAINER, 1386, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 16642, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(3448, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 33608, 4160)

 	-- Shadow Oil -- 3449
 	AddRecipe(3449, 165, 3824, Q.COMMON, V.WOTLK, 165, 190, 210, 230)
 	self:AddRecipeFlags(3449, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(3449, A.VENDOR, 2481, A.VENDOR, 4878)
+	self:AddRecipeVendor(3449, 2481, 4878)

 	-- Elixir of Fortitude -- 3450
 	AddRecipe(3450, 175, 3825, Q.COMMON, V.ORIG, 175, 195, 215, 235)
 	self:AddRecipeFlags(3450, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(3450, A.WORLD_DROP, 1, A.TRAINER, 1386, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 16642, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(3450, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 33608, 4160)
+	self:AddRecipeAcquire(3450, A.WORLD_DROP, 1)

 	-- Major Troll's Blood Elixir -- 3451
 	AddRecipe(3451, 180, 3826, Q.UNCOMMON, V.ORIG, 180, 200, 220, 240)
@@ -168,7 +169,7 @@ function addon:InitAlchemy()
 	-- Mana Potion -- 3452
 	AddRecipe(3452, 160, 3827, Q.COMMON, V.ORIG, 160, 180, 200, 220)
 	self:AddRecipeFlags(3452, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3452, A.TRAINER, 1386, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 16642, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(3452, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 33608, 4160)

 	-- Elixir of Detect Lesser Invisibility -- 3453
 	AddRecipe(3453, 195, 3828, Q.UNCOMMON, V.ORIG, 195, 215, 235, 255)
@@ -178,7 +179,7 @@ function addon:InitAlchemy()
 	-- Frost Oil -- 3454
 	AddRecipe(3454, 200, 3829, Q.UNCOMMON, V.ORIG, 200, 220, 240, 260)
 	self:AddRecipeFlags(3454, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(3454, A.VENDOR, 2480)
+	self:AddRecipeVendor(3454, 2480)

 	-- Discolored Healing Potion -- 4508
 	AddRecipe(4508, 50, 4596, Q.UNCOMMON, V.ORIG, 50, 80, 100, 120)
@@ -193,27 +194,27 @@ function addon:InitAlchemy()
 	-- Rage Potion -- 6617
 	AddRecipe(6617, 60, 5631, Q.COMMON, V.ORIG, 60, 90, 110, 130)
 	self:AddRecipeFlags(6617, F.ALLIANCE, F.HORDE, F.VENDOR, F.DRUID, F.WARRIOR, F.IBOE, F.RBOE, F.DPS, F.TANK)
-	self:AddRecipeAcquire(6617, A.VENDOR, 1669, A.VENDOR, 1685, A.VENDOR, 3335, A.VENDOR, 3499)
+	self:AddRecipeVendor(6617, 1685, 3335, 1669, 3499)

 	-- Great Rage Potion -- 6618
 	AddRecipe(6618, 175, 5633, Q.COMMON, V.ORIG, 175, 195, 215, 235)
 	self:AddRecipeFlags(6618, F.ALLIANCE, F.HORDE, F.VENDOR, F.DRUID, F.WARRIOR, F.IBOE, F.RBOE, F.DPS, F.TANK)
-	self:AddRecipeAcquire(6618, A.VENDOR, 3335, A.VENDOR, 4226)
+	self:AddRecipeVendor(6618, 3335, 4226)

 	-- Free Action Potion -- 6624
 	AddRecipe(6624, 150, 5634, Q.COMMON, V.WOTLK, 150, 175, 195, 215)
 	self:AddRecipeFlags(6624, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(6624, A.VENDOR, 3348, A.VENDOR, 5178, A.VENDOR, 4226)
+	self:AddRecipeVendor(6624, 5178, 4226, 3348)

 	-- Elixir of Water Breathing -- 7179
 	AddRecipe(7179, 90, 5996, Q.COMMON, V.ORIG, 90, 120, 140, 160)
 	self:AddRecipeFlags(7179, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(7179, A.TRAINER, 1386, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3347, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 16161)
+	self:AddRecipeTrainer(7179, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 27023, 18802, 4611, 1215, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 33674, 3009, 2391, 33608, 4160, 5499)

 	-- Greater Healing Potion -- 7181
 	AddRecipe(7181, 155, 1710, Q.COMMON, V.ORIG, 155, 175, 195, 215)
 	self:AddRecipeFlags(7181, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(7181, A.TRAINER, 1386, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 16642, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(7181, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 33608, 4160)

 	-- Elixir of Minor Defense -- 7183
 	AddRecipe(7183, 1, 5997, Q.COMMON, V.ORIG, 1, 55, 75, 95)
@@ -223,47 +224,47 @@ function addon:InitAlchemy()
 	-- Holy Protection Potion -- 7255
 	AddRecipe(7255, 100, 6051, Q.COMMON, V.ORIG, 100, 130, 150, 170)
 	self:AddRecipeFlags(7255, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7255, A.VENDOR, 1685, A.VENDOR, 3134, A.VENDOR, 3490)
+	self:AddRecipeVendor(7255, 1685, 3134, 3490)

 	-- Shadow Protection Potion -- 7256
 	AddRecipe(7256, 135, 6048, Q.COMMON, V.ORIG, 135, 160, 180, 200)
 	self:AddRecipeFlags(7256, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7256, A.VENDOR, 2393, A.VENDOR, 3956)
+	self:AddRecipeVendor(7256, 2393, 3956)

 	-- Fire Protection Potion -- 7257
 	AddRecipe(7257, 165, 6049, Q.COMMON, V.ORIG, 165, 210, 230, 250)
 	self:AddRecipeFlags(7257, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7257, A.VENDOR, 4083, A.VENDOR, 2380)
+	self:AddRecipeVendor(7257, 4083, 2380)

 	-- Frost Protection Potion -- 7258
 	AddRecipe(7258, 190, 6050, Q.COMMON, V.ORIG, 190, 205, 225, 245)
 	self:AddRecipeFlags(7258, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7258, A.VENDOR, 2812, A.VENDOR, 2848)
+	self:AddRecipeVendor(7258, 2812, 2848)

 	-- Nature Protection Potion -- 7259
 	AddRecipe(7259, 190, 6052, Q.COMMON, V.ORIG, 190, 210, 230, 250)
 	self:AddRecipeFlags(7259, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7259, A.VENDOR, 2848, A.VENDOR, 8157, A.VENDOR, 8158, A.VENDOR, 5594)
+	self:AddRecipeVendor(7259, 8157, 8158, 2848, 5594)

 	-- Blackmouth Oil -- 7836
 	AddRecipe(7836, 80, 6370, Q.COMMON, V.ORIG, 80, 80, 90, 100)
 	self:AddRecipeFlags(7836, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(7836, A.TRAINER, 1386, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3347, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 16161)
+	self:AddRecipeTrainer(7836, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 27023, 18802, 4611, 1215, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 33674, 3009, 2391, 33608, 4160, 5499)

 	-- Fire Oil -- 7837
 	AddRecipe(7837, 130, 6371, Q.COMMON, V.ORIG, 130, 150, 160, 170)
 	self:AddRecipeFlags(7837, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(7837, A.TRAINER, 1386, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3347, A.TRAINER, 3964, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 1470, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 16161)
+	self:AddRecipeTrainer(7837, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 27023, 18802, 4611, 1215, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 33674, 3009, 2391, 33608, 4160, 5499)

 	-- Swim Speed Potion -- 7841
 	AddRecipe(7841, 100, 6372, Q.COMMON, V.ORIG, 100, 130, 150, 170)
 	self:AddRecipeFlags(7841, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(7841, A.TRAINER, 1386, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3347, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 16161)
+	self:AddRecipeTrainer(7841, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 27023, 18802, 4611, 1215, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 33674, 3009, 2391, 33608, 4160, 5499)

 	-- Elixir of Firepower -- 7845
 	AddRecipe(7845, 140, 6373, Q.COMMON, V.ORIG, 140, 165, 185, 205)
 	self:AddRecipeFlags(7845, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(7845, A.TRAINER, 1386, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3347, A.TRAINER, 3964, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 1470, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 16161)
+	self:AddRecipeTrainer(7845, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 27023, 18802, 4611, 1215, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 33674, 3009, 2391, 33608, 4160, 5499)

 	-- Elixir of Giant Growth -- 8240
 	AddRecipe(8240, 90, 6662, Q.UNCOMMON, V.ORIG, 90, 120, 140, 160)
@@ -273,22 +274,22 @@ function addon:InitAlchemy()
 	-- Greater Mana Potion -- 11448
 	AddRecipe(11448, 205, 6149, Q.COMMON, V.ORIG, 205, 220, 240, 260)
 	self:AddRecipeFlags(11448, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(11448, A.TRAINER, 1386, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 16642, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(11448, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 33608, 4160)

 	-- Elixir of Agility -- 11449
 	AddRecipe(11449, 185, 8949, Q.COMMON, V.ORIG, 185, 205, 225, 245)
 	self:AddRecipeFlags(11449, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(11449, A.TRAINER, 1386, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 16642, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(11449, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 33608, 4160)

 	-- Elixir of Greater Defense -- 11450
 	AddRecipe(11450, 195, 8951, Q.COMMON, V.ORIG, 195, 215, 235, 255)
 	self:AddRecipeFlags(11450, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(11450, A.TRAINER, 1386, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 16642, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(11450, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 33608, 4160)

 	-- Oil of Immolation -- 11451
 	AddRecipe(11451, 205, 8956, Q.COMMON, V.ORIG, 205, 220, 240, 260)
 	self:AddRecipeFlags(11451, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(11451, A.TRAINER, 1386, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 16642, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(11451, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 33608, 4160)

 	-- Restorative Potion -- 11452
 	AddRecipe(11452, 210, 9030, Q.COMMON, V.ORIG, 210, 225, 245, 265)
@@ -308,7 +309,7 @@ function addon:InitAlchemy()
 	-- Superior Healing Potion -- 11457
 	AddRecipe(11457, 215, 3928, Q.COMMON, V.ORIG, 215, 230, 250, 270)
 	self:AddRecipeFlags(11457, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(11457, A.TRAINER, 1386, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 16642, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(11457, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 33608, 4160)

 	-- Wildvine Potion -- 11458
 	AddRecipe(11458, 225, 9144, Q.UNCOMMON, V.ORIG, 225, 240, 260, 280)
@@ -318,17 +319,17 @@ function addon:InitAlchemy()
 	-- Philosopher's Stone -- 11459
 	AddRecipe(11459, 225, 9149, Q.COMMON, V.ORIG, 225, 240, 260, 280)
 	self:AddRecipeFlags(11459, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOE, F.DPS, F.HEALER, F.CASTER, F.TRINKET)
-	self:AddRecipeAcquire(11459, A.VENDOR, 5594)
+	self:AddRecipeVendor(11459, 5594)

 	-- Elixir of Detect Undead -- 11460
 	AddRecipe(11460, 230, 9154, Q.COMMON, V.ORIG, 230, 245, 265, 285)
 	self:AddRecipeFlags(11460, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(11460, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(11460, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Arcane Elixir -- 11461
 	AddRecipe(11461, 235, 9155, Q.COMMON, V.ORIG, 235, 250, 270, 290)
 	self:AddRecipeFlags(11461, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(11461, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(11461, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Invisibility Potion -- 11464
 	AddRecipe(11464, 235, 9172, Q.UNCOMMON, V.ORIG, 235, 250, 270, 290)
@@ -338,17 +339,17 @@ function addon:InitAlchemy()
 	-- Elixir of Greater Intellect -- 11465
 	AddRecipe(11465, 235, 9179, Q.COMMON, V.ORIG, 235, 250, 270, 290)
 	self:AddRecipeFlags(11465, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(11465, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(11465, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Gift of Arthas -- 11466
 	AddRecipe(11466, 240, 9088, Q.UNCOMMON, V.ORIG, 240, 255, 275, 295)
 	self:AddRecipeFlags(11466, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(11466, A.MOB, 1783, A.MOB, 1791)
+	self:AddRecipeMobDrop(11466, 1783, 1791)

 	-- Elixir of Greater Agility -- 11467
 	AddRecipe(11467, 240, 9187, Q.COMMON, V.ORIG, 240, 255, 275, 295)
 	self:AddRecipeFlags(11467, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(11467, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(11467, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Elixir of Dream Vision -- 11468
 	AddRecipe(11468, 240, 9197, Q.UNCOMMON, V.ORIG, 240, 255, 275, 295)
@@ -363,102 +364,102 @@ function addon:InitAlchemy()
 	-- Ghost Dye -- 11473
 	AddRecipe(11473, 245, 9210, Q.COMMON, V.ORIG, 245, 260, 280, 300)
 	self:AddRecipeFlags(11473, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(11473, A.VENDOR, 8157, A.VENDOR, 8158)
+	self:AddRecipeVendor(11473, 8157, 8158)

 	-- Elixir of Shadow Power -- 11476
 	AddRecipe(11476, 250, 9264, Q.UNCOMMON, V.ORIG, 250, 265, 285, 305)
 	self:AddRecipeFlags(11476, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(11476, A.VENDOR, 1313, A.VENDOR, 4610)
+	self:AddRecipeVendor(11476, 1313, 4610)

 	-- Elixir of Demonslaying -- 11477
 	AddRecipe(11477, 250, 9224, Q.COMMON, V.ORIG, 250, 265, 285, 305)
 	self:AddRecipeFlags(11477, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(11477, A.VENDOR, 8177, A.VENDOR, 8178)
+	self:AddRecipeVendor(11477, 8177, 8178)

 	-- Elixir of Detect Demon -- 11478
 	AddRecipe(11478, 250, 9233, Q.COMMON, V.ORIG, 250, 265, 285, 305)
 	self:AddRecipeFlags(11478, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(11478, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(11478, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Transmute: Iron to Gold -- 11479
 	AddRecipe(11479, 225, 3577, Q.COMMON, V.ORIG, 225, 240, 260, 280)
 	self:AddRecipeFlags(11479, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(11479, A.VENDOR, 5594)
+	self:AddRecipeVendor(11479, 5594)

 	-- Transmute: Mithril to Truesilver -- 11480
 	AddRecipe(11480, 225, 6037, Q.COMMON, V.ORIG, 225, 240, 260, 280)
 	self:AddRecipeFlags(11480, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(11480, A.VENDOR, 5594)
+	self:AddRecipeVendor(11480, 5594)

 	-- Catseye Elixir -- 12609
 	AddRecipe(12609, 200, 10592, Q.COMMON, V.ORIG, 200, 220, 240, 260)
 	self:AddRecipeFlags(12609, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12609, A.TRAINER, 1386, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 16642, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(12609, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 33608, 4160)

 	-- Dreamless Sleep Potion -- 15833
 	AddRecipe(15833, 230, 12190, Q.COMMON, V.ORIG, 230, 245, 265, 285)
 	self:AddRecipeFlags(15833, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(15833, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(15833, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Transmute: Arcanite -- 17187
 	AddRecipe(17187, 275, 12360, Q.COMMON, V.ORIG, 275, 275, 282, 290)
 	self:AddRecipeFlags(17187, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(17187, A.VENDOR, 5594)
+	self:AddRecipeVendor(17187, 5594)

 	-- Stonescale Oil -- 17551
 	AddRecipe(17551, 250, 13423, Q.COMMON, V.ORIG, 250, 250, 255, 260)
 	self:AddRecipeFlags(17551, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(17551, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(17551, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Mighty Rage Potion -- 17552
 	AddRecipe(17552, 255, 13442, Q.UNCOMMON, V.ORIG, 255, 270, 290, 310)
 	self:AddRecipeFlags(17552, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.WARRIOR, F.IBOE, F.RBOE, F.DPS, F.TANK)
-	self:AddRecipeAcquire(17552, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(17552, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Superior Mana Potion -- 17553
 	AddRecipe(17553, 260, 13443, Q.COMMON, V.ORIG, 260, 275, 295, 315)
 	self:AddRecipeFlags(17553, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(17553, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(17553, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Elixir of Superior Defense -- 17554
 	AddRecipe(17554, 265, 13445, Q.COMMON, V.ORIG, 265, 280, 300, 320)
 	self:AddRecipeFlags(17554, F.ALLIANCE, F.HORDE, F.TRAINER, F.VENDOR, F.IBOE, F.RBOE, F.TANK)
-	self:AddRecipeAcquire(17554, A.VENDOR, 5178, A.VENDOR, 3348)
+	self:AddRecipeVendor(17554, 5178, 3348)

 	-- Elixir of the Sages -- 17555
 	AddRecipe(17555, 270, 13447, Q.UNCOMMON, V.ORIG, 270, 285, 305, 325)
 	self:AddRecipeFlags(17555, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(17555, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(17555, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Major Healing Potion -- 17556
 	AddRecipe(17556, 275, 13446, Q.COMMON, V.ORIG, 275, 290, 310, 330)
 	self:AddRecipeFlags(17556, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(17556, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(17556, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Elixir of Brute Force -- 17557
 	AddRecipe(17557, 275, 13453, Q.UNCOMMON, V.ORIG, 275, 290, 310, 330)
 	self:AddRecipeFlags(17557, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(17557, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(17557, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Transmute: Air to Fire -- 17559
 	AddRecipe(17559, 275, 7078, Q.UNCOMMON, V.ORIG, 275, 275, 282, 290)
 	self:AddRecipeFlags(17559, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.ARGENTDAWN)
-	self:AddRecipeAcquire(17559, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 10856, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 10857, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 11536)
+	self:AddRecipeRepVendor(17559, FAC.ARGENTDAWN, REP.HONORED, 10856, 11536, 10857)

 	-- Transmute: Fire to Earth -- 17560
 	AddRecipe(17560, 275, 7076, Q.UNCOMMON, V.ORIG, 275, 275, 282, 290)
 	self:AddRecipeFlags(17560, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(17560, A.VENDOR, 9499)
+	self:AddRecipeVendor(17560, 9499)

 	-- Transmute: Earth to Water -- 17561
 	AddRecipe(17561, 275, 7080, Q.UNCOMMON, V.ORIG, 275, 275, 282, 290)
 	self:AddRecipeFlags(17561, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TIMBERMAW_HOLD)
-	self:AddRecipeAcquire(17561, A.REPUTATION, FAC.TIMBERMAW_HOLD, REP.FRIENDLY, 11557)
+	self:AddRecipeRepVendor(17561, FAC.TIMBERMAW_HOLD, REP.FRIENDLY, 11557)

 	-- Transmute: Water to Air -- 17562
 	AddRecipe(17562, 275, 7082, Q.UNCOMMON, V.ORIG, 275, 275, 282, 290)
 	self:AddRecipeFlags(17562, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(17562, A.VENDOR, 11278)
+	self:AddRecipeVendor(17562, 11278)

 	-- Transmute: Undeath to Water -- 17563
 	AddRecipe(17563, 275, 7080, Q.UNCOMMON, V.ORIG, 275, 275, 282, 290)
@@ -488,52 +489,53 @@ function addon:InitAlchemy()
 	-- Elixir of the Mongoose -- 17571
 	AddRecipe(17571, 280, 13452, Q.UNCOMMON, V.ORIG, 280, 295, 315, 335)
 	self:AddRecipeFlags(17571, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(17571, A.MOB, 6201, A.MOB, 7106)
+	self:AddRecipeMobDrop(17571, 6201, 7106)

 	-- Purification Potion -- 17572
 	AddRecipe(17572, 285, 13462, Q.UNCOMMON, V.ORIG, 285, 300, 320, 340)
 	self:AddRecipeFlags(17572, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(17572, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(17572, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Greater Arcane Elixir -- 17573
 	AddRecipe(17573, 285, 13454, Q.UNCOMMON, V.ORIG, 285, 300, 320, 340)
 	self:AddRecipeFlags(17573, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(17573, A.TRAINER, 1386, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 4611, A.TRAINER, 4160, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 16642, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 5499, A.TRAINER, 16161)
+	self:AddRecipeTrainer(17573, 1386, 2837, 4900, 4160, 3184, 2132, 27029, 3347, 16723, 3603, 1215, 18802, 4611, 5499, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 16642, 33608)

 	-- Greater Fire Protection Potion -- 17574
 	AddRecipe(17574, 290, 13457, Q.UNCOMMON, V.ORIG, 290, 305, 325, 345)
 	self:AddRecipeFlags(17574, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(17574, A.MOB, 9262, A.MOB, 9264)
+	self:AddRecipeMobDrop(17574, 9262, 9264)

 	-- Greater Frost Protection Potion -- 17575
 	AddRecipe(17575, 290, 13456, Q.UNCOMMON, V.ORIG, 290, 305, 325, 345)
 	self:AddRecipeFlags(17575, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(17575, A.MOB, 7428)
+	self:AddRecipeMobDrop(17575, 7428)

 	-- Greater Nature Protection Potion -- 17576
 	AddRecipe(17576, 290, 13458, Q.UNCOMMON, V.ORIG, 290, 305, 325, 345)
 	self:AddRecipeFlags(17576, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(17576, A.MOB, 1812, A.MOB, 1813)
+	self:AddRecipeMobDrop(17576, 1812, 1813)

 	-- Greater Arcane Protection Potion -- 17577
 	AddRecipe(17577, 290, 13461, Q.UNCOMMON, V.ORIG, 290, 305, 325, 345)
 	self:AddRecipeFlags(17577, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(17577, A.MOB, 7437)
+	self:AddRecipeMobDrop(17577, 7437)

 	-- Greater Shadow Protection Potion -- 17578
 	AddRecipe(17578, 290, 13459, Q.UNCOMMON, V.ORIG, 290, 305, 325, 345)
 	self:AddRecipeFlags(17578, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(17578, A.MOB, 8546, A.MOB, 8550)
+	self:AddRecipeMobDrop(17578, 8546, 8550)

 	-- Major Mana Potion -- 17580
 	AddRecipe(17580, 295, 13444, Q.UNCOMMON, V.ORIG, 295, 310, 330, 350)
-	self:AddRecipeFlags(17580, F.ALLIANCE, F.HORDE, F.INSTANCE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(17580, A.MOB, 1853, A.VENDOR, 11278)
+	self:AddRecipeFlags(17580, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.IBOE, F.RBOP)
+	self:AddRecipeMobDrop(17580, 1853)
+	self:AddRecipeVendor(17580, 11278)

 	-- Alchemist's Stone -- 17632
 	AddRecipe(17632, 350, 13503, Q.COMMON, V.ORIG, 350, 365, 372, 380)
 	self:AddRecipeFlags(17632, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.TRINKET, F.SHATAR)
-	self:AddRecipeAcquire(17632, A.REPUTATION, FAC.SHATAR, REP.REVERED, 21432)
+	self:AddRecipeRepVendor(17632, FAC.SHATAR, REP.REVERED, 21432)

 	-- Potion of Petrification -- 17634
 	AddRecipe(17634, 300, 13506, Q.UNCOMMON, V.ORIG, 300, 315, 322, 330)
@@ -543,22 +545,26 @@ function addon:InitAlchemy()
 	-- Flask of the Titans -- 17635
 	AddRecipe(17635, 300, 13510, Q.UNCOMMON, V.TBC, 300, 315, 322, 330)
 	self:AddRecipeFlags(17635, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.IBOE, F.RBOP, F.TANK, F.SHATAR)
-	self:AddRecipeAcquire(17635, A.MOB, 10363, A.REPUTATION, FAC.SHATAR, REP.EXALTED, 21432)
+	self:AddRecipeMobDrop(17635, 10363)
+	self:AddRecipeRepVendor(17635, FAC.SHATAR, REP.EXALTED, 21432)

 	-- Flask of Distilled Wisdom -- 17636
 	AddRecipe(17636, 300, 13511, Q.UNCOMMON, V.TBC, 300, 315, 322, 330)
-	self:AddRecipeFlags(17636, F.ALLIANCE, F.HORDE, F.INSTANCE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(17636, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.EXALTED, 17904, A.MOB, 10813)
+	self:AddRecipeFlags(17636, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CENARION_EXPEDITION)
+	self:AddRecipeRepVendor(17636, FAC.CENARION_EXPEDITION, REP.EXALTED, 17904)
+	self:AddRecipeMobDrop(17636, 10813)

 	-- Flask of Supreme Power -- 17637
 	AddRecipe(17637, 300, 13512, Q.UNCOMMON, V.TBC, 300, 315, 322, 330)
-	self:AddRecipeFlags(17637, F.ALLIANCE, F.HORDE, F.INSTANCE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.KOT)
-	self:AddRecipeAcquire(17637, A.MOB, 10508, A.REPUTATION, FAC.KEEPERS_OF_TIME, REP.EXALTED, 21643)
+	self:AddRecipeFlags(17637, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.KOT)
+	self:AddRecipeMobDrop(17637, 10508)
+	self:AddRecipeRepVendor(17637, FAC.KEEPERS_OF_TIME, REP.EXALTED, 21643)

 	-- Flask of Chromatic Resistance -- 17638
 	AddRecipe(17638, 300, 13513, Q.UNCOMMON, V.TBC, 300, 315, 322, 330)
-	self:AddRecipeFlags(17638, F.ALLIANCE, F.HORDE, F.INSTANCE, F.VENDOR, F.IBOE, F.RBOP, F.LOWERCITY)
-	self:AddRecipeAcquire(17638, A.MOB, 10339, A.REPUTATION, FAC.LOWERCITY, REP.EXALTED, 21655)
+	self:AddRecipeFlags(17638, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.IBOE, F.RBOP, F.LOWERCITY)
+	self:AddRecipeMobDrop(17638, 10339)
+	self:AddRecipeRepVendor(17638, FAC.LOWERCITY, REP.EXALTED, 21655)

 	-- Elixir of Frost Power -- 21923
 	AddRecipe(21923, 190, 17708, Q.COMMON, V.ORIG, 190, 210, 230, 250)
@@ -573,7 +579,7 @@ function addon:InitAlchemy()
 	-- Elixir of Greater Water Breathing -- 22808
 	AddRecipe(22808, 215, 18294, Q.COMMON, V.ORIG, 215, 230, 250, 270)
 	self:AddRecipeFlags(22808, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(22808, A.TRAINER, 1386, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 16642, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 16723, A.TRAINER, 3347, A.TRAINER, 3009, A.TRAINER, 2837, A.TRAINER, 5177, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 2391, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 16161)
+	self:AddRecipeTrainer(22808, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 18802, 4611, 1215, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 27023, 3009, 2391, 33674, 33608, 4160)

 	-- Gurubashi Mojo Madness -- 24266
 	AddRecipe(24266, 300, 19931, Q.RARE, V.ORIG, 300, 315, 322, 330)
@@ -583,57 +589,57 @@ function addon:InitAlchemy()
 	-- Mageblood Elixir -- 24365
 	AddRecipe(24365, 275, 20007, Q.COMMON, V.ORIG, 275, 290, 310, 330)
 	self:AddRecipeFlags(24365, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ZANDALAR)
-	self:AddRecipeAcquire(24365, A.REPUTATION, FAC.ZANDALAR, REP.REVERED, 14921)
+	self:AddRecipeRepVendor(24365, FAC.ZANDALAR, REP.REVERED, 14921)

 	-- Greater Dreamless Sleep Potion -- 24366
 	AddRecipe(24366, 275, 20002, Q.COMMON, V.ORIG, 275, 290, 310, 330)
 	self:AddRecipeFlags(24366, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.ZANDALAR)
-	self:AddRecipeAcquire(24366, A.REPUTATION, FAC.ZANDALAR, REP.FRIENDLY, 14921)
+	self:AddRecipeRepVendor(24366, FAC.ZANDALAR, REP.FRIENDLY, 14921)

 	-- Living Action Potion -- 24367
 	AddRecipe(24367, 285, 20008, Q.COMMON, V.ORIG, 285, 300, 320, 340)
 	self:AddRecipeFlags(24367, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.ZANDALAR)
-	self:AddRecipeAcquire(24367, A.REPUTATION, FAC.ZANDALAR, REP.EXALTED, 14921)
+	self:AddRecipeRepVendor(24367, FAC.ZANDALAR, REP.EXALTED, 14921)

 	-- Mighty Troll's Blood Elixir -- 24368
 	AddRecipe(24368, 290, 20004, Q.COMMON, V.ORIG, 290, 305, 325, 345)
 	self:AddRecipeFlags(24368, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.ZANDALAR)
-	self:AddRecipeAcquire(24368, A.REPUTATION, FAC.ZANDALAR, REP.HONORED, 14921)
+	self:AddRecipeRepVendor(24368, FAC.ZANDALAR, REP.HONORED, 14921)

 	-- Transmute: Elemental Fire -- 25146
 	AddRecipe(25146, 300, 7068, Q.COMMON, V.ORIG, 300, 301, 305, 310)
 	self:AddRecipeFlags(25146, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(25146, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.FRIENDLY, 12944)
+	self:AddRecipeRepVendor(25146, FAC.THORIUM_BROTHERHOOD, REP.FRIENDLY, 12944)

 	-- Elixir of Greater Firepower -- 26277
 	AddRecipe(26277, 250, 21546, Q.UNCOMMON, V.ORIG, 250, 265, 285, 305)
 	self:AddRecipeFlags(26277, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(26277, A.MOB, 5844, A.MOB, 5846, A.MOB, 8637)
+	self:AddRecipeMobDrop(26277, 5844, 5846, 8637)

 	-- Elixir of Camouflage -- 28543
 	AddRecipe(28543, 305, 22823, Q.COMMON, V.TBC, 305, 320, 327, 335)
 	self:AddRecipeFlags(28543, F.ALLIANCE, F.HORDE, F.TRAINER, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(28543, A.VENDOR, 16588, A.VENDOR, 16641, A.VENDOR, 16705, A.VENDOR, 18802)
+	self:AddRecipeVendor(28543, 16588, 18802, 16641, 16705)

 	-- Elixir of Major Strength -- 28544
 	AddRecipe(28544, 305, 22824, Q.COMMON, V.TBC, 305, 320, 327, 335)
 	self:AddRecipeFlags(28544, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(28544, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023)
+	self:AddRecipeTrainer(28544, 18802, 33674, 27029, 27023, 33608, 16588, 19052)

 	-- Elixir of Healing Power -- 28545
 	AddRecipe(28545, 310, 22825, Q.COMMON, V.TBC, 310, 325, 332, 340)
 	self:AddRecipeFlags(28545, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(28545, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023)
+	self:AddRecipeTrainer(28545, 18802, 33674, 27029, 27023, 33608, 16588, 19052)

 	-- Sneaking Potion -- 28546
 	AddRecipe(28546, 315, 22826, Q.COMMON, V.TBC, 315, 330, 337, 345)
 	self:AddRecipeFlags(28546, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(28546, A.VENDOR, 18017, A.VENDOR, 19042)
+	self:AddRecipeVendor(28546, 18017, 19042)

 	-- Elixir of Major Frost Power -- 28549
 	AddRecipe(28549, 320, 22827, Q.COMMON, V.TBC, 320, 335, 342, 350)
 	self:AddRecipeFlags(28549, F.ALLIANCE, F.HORDE, F.TRAINER, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(28549, A.VENDOR, 18005, A.VENDOR, 18017)
+	self:AddRecipeVendor(28549, 18005, 18017)

 	-- Insane Strength Potion -- 28550
 	AddRecipe(28550, 320, 22828, Q.UNCOMMON, V.TBC, 320, 335, 342, 350)
@@ -643,7 +649,7 @@ function addon:InitAlchemy()
 	-- Super Healing Potion -- 28551
 	AddRecipe(28551, 325, 22829, Q.COMMON, V.TBC, 325, 340, 347, 355)
 	self:AddRecipeFlags(28551, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28551, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023)
+	self:AddRecipeTrainer(28551, 18802, 33674, 27029, 27023, 33608, 16588, 19052)

 	-- Elixir of the Searching Eye -- 28552
 	AddRecipe(28552, 325, 22830, Q.UNCOMMON, V.TBC, 325, 340, 347, 355)
@@ -653,37 +659,38 @@ function addon:InitAlchemy()
 	-- Elixir of Major Agility -- 28553
 	AddRecipe(28553, 330, 22831, Q.COMMON, V.TBC, 330, 345, 352, 360)
 	self:AddRecipeFlags(28553, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.HELLFIRE)
-	self:AddRecipeAcquire(28553, A.REPUTATION, FAC.HONOR_HOLD, REP.HONORED, 17657, A.REPUTATION, FAC.THRALLMAR, REP.HONORED, 17585)
+	self:AddRecipeRepVendor(28553, FAC.HONOR_HOLD, REP.HONORED, 17657)
+	self:AddRecipeRepVendor(28553, FAC.THRALLMAR, REP.HONORED, 17585)

 	-- Shrouding Potion -- 28554
 	AddRecipe(28554, 335, 22871, Q.UNCOMMON, V.TBC, 335, 350, 357, 365)
 	self:AddRecipeFlags(28554, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SPOREGGAR)
-	self:AddRecipeAcquire(28554, A.REPUTATION, FAC.SPOREGGAR, REP.EXALTED, 18382)
+	self:AddRecipeRepVendor(28554, FAC.SPOREGGAR, REP.EXALTED, 18382)

 	-- Super Mana Potion -- 28555
 	AddRecipe(28555, 340, 22832, Q.COMMON, V.TBC, 340, 355, 362, 370)
 	self:AddRecipeFlags(28555, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(28555, A.VENDOR, 18005, A.VENDOR, 19837)
+	self:AddRecipeVendor(28555, 18005, 19837)

 	-- Elixir of Major Firepower -- 28556
 	AddRecipe(28556, 345, 22833, Q.UNCOMMON, V.TBC, 345, 360, 367, 375)
 	self:AddRecipeFlags(28556, F.ALLIANCE, F.HORDE, F.TRAINER, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCRYER)
-	self:AddRecipeAcquire(28556, A.REPUTATION, FAC.SCRYER, REP.REVERED, 19331)
+	self:AddRecipeRepVendor(28556, FAC.SCRYER, REP.REVERED, 19331)

 	-- Elixir of Major Defense -- 28557
 	AddRecipe(28557, 345, 22834, Q.COMMON, V.TBC, 345, 360, 367, 375)
 	self:AddRecipeFlags(28557, F.ALLIANCE, F.HORDE, F.TRAINER, F.VENDOR, F.IBOE, F.RBOE, F.TANK)
-	self:AddRecipeAcquire(28557, A.VENDOR, 18005, A.VENDOR, 19837)
+	self:AddRecipeVendor(28557, 18005, 19837)

 	-- Elixir of Major Shadow Power -- 28558
 	AddRecipe(28558, 350, 22835, Q.UNCOMMON, V.TBC, 350, 365, 372, 380)
 	self:AddRecipeFlags(28558, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LOWERCITY)
-	self:AddRecipeAcquire(28558, A.REPUTATION, FAC.LOWERCITY, REP.REVERED, 21655)
+	self:AddRecipeRepVendor(28558, FAC.LOWERCITY, REP.REVERED, 21655)

 	-- Major Dreamless Sleep Potion -- 28562
 	AddRecipe(28562, 350, 22836, Q.COMMON, V.TBC, 350, 365, 372, 380)
 	self:AddRecipeFlags(28562, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(28562, A.VENDOR, 19042, A.VENDOR, 19837)
+	self:AddRecipeVendor(28562, 19042, 19837)

 	-- Heroic Potion -- 28563
 	AddRecipe(28563, 350, 22837, Q.UNCOMMON, V.TBC, 350, 365, 372, 380)
@@ -693,7 +700,7 @@ function addon:InitAlchemy()
 	-- Haste Potion -- 28564
 	AddRecipe(28564, 350, 22838, Q.UNCOMMON, V.TBC, 350, 365, 372, 380)
 	self:AddRecipeFlags(28564, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28564, A.MOB, 24664)
+	self:AddRecipeMobDrop(28564, 24664)

 	-- Destruction Potion -- 28565
 	AddRecipe(28565, 350, 22839, Q.UNCOMMON, V.TBC, 350, 365, 372, 380)
@@ -703,22 +710,22 @@ function addon:InitAlchemy()
 	-- Transmute: Primal Air to Fire -- 28566
 	AddRecipe(28566, 350, 21884, Q.UNCOMMON, V.TBC, 350, 365, 372, 380)
 	self:AddRecipeFlags(28566, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SHATAR)
-	self:AddRecipeAcquire(28566, A.REPUTATION, FAC.SHATAR, REP.REVERED, 21432)
+	self:AddRecipeRepVendor(28566, FAC.SHATAR, REP.REVERED, 21432)

 	-- Transmute: Primal Earth to Water -- 28567
 	AddRecipe(28567, 350, 21885, Q.UNCOMMON, V.TBC, 350, 365, 372, 380)
 	self:AddRecipeFlags(28567, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SPOREGGAR)
-	self:AddRecipeAcquire(28567, A.REPUTATION, FAC.SPOREGGAR, REP.REVERED, 18382)
+	self:AddRecipeRepVendor(28567, FAC.SPOREGGAR, REP.REVERED, 18382)

 	-- Transmute: Primal Fire to Earth -- 28568
 	AddRecipe(28568, 350, 22452, Q.UNCOMMON, V.TBC, 350, 365, 372, 380)
 	self:AddRecipeFlags(28568, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.NAGRAND)
-	self:AddRecipeAcquire(28568, A.REPUTATION, FAC.KURENAI, REP.REVERED, 20240)
+	self:AddRecipeRepVendor(28568, FAC.KURENAI, REP.REVERED, 20240)

 	-- Transmute: Primal Water to Air -- 28569
 	AddRecipe(28569, 350, 22451, Q.UNCOMMON, V.TBC, 350, 365, 372, 380)
 	self:AddRecipeFlags(28569, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(28569, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.REVERED, 17904)
+	self:AddRecipeRepVendor(28569, FAC.CENARION_EXPEDITION, REP.REVERED, 17904)

 	-- Elixir of Major Mageblood -- 28570
 	AddRecipe(28570, 355, 22840, Q.UNCOMMON, V.TBC, 355, 370, 375, 380)
@@ -728,42 +735,43 @@ function addon:InitAlchemy()
 	-- Major Fire Protection Potion -- 28571
 	AddRecipe(28571, 360, 22841, Q.UNCOMMON, V.TBC, 360, 375, 377, 380)
 	self:AddRecipeFlags(28571, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28571, A.MOB, 19168, A.MOB, 19221)
+	self:AddRecipeMobDrop(28571, 19168, 19221)

 	-- Major Frost Protection Potion -- 28572
 	AddRecipe(28572, 360, 22842, Q.UNCOMMON, V.TBC, 360, 375, 377, 380)
 	self:AddRecipeFlags(28572, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28572, A.MOB, 18344)
+	self:AddRecipeMobDrop(28572, 18344)

 	-- Major Nature Protection Potion -- 28573
 	AddRecipe(28573, 360, 22844, Q.COMMON, V.TBC, 360, 375, 377, 380)
 	self:AddRecipeFlags(28573, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(28573, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.EXALTED, 17904)
+	self:AddRecipeRepVendor(28573, FAC.CENARION_EXPEDITION, REP.EXALTED, 17904)

 	-- Major Arcane Protection Potion -- 28575
 	AddRecipe(28575, 360, 22845, Q.UNCOMMON, V.TBC, 360, 375, 377, 380)
 	self:AddRecipeFlags(28575, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28575, A.MOB, 17150)
+	self:AddRecipeMobDrop(28575, 17150)

 	-- Major Shadow Protection Potion -- 28576
 	AddRecipe(28576, 360, 22846, Q.UNCOMMON, V.TBC, 360, 375, 377, 380)
 	self:AddRecipeFlags(28576, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28576, A.MOB, 21302)
+	self:AddRecipeMobDrop(28576, 21302)

 	-- Major Holy Protection Potion -- 28577
 	AddRecipe(28577, 360, 22847, Q.UNCOMMON, V.TBC, 360, 375, 377, 380)
 	self:AddRecipeFlags(28577, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28577, A.MOB, 19973)
+	self:AddRecipeMobDrop(28577, 19973)

 	-- Elixir of Empowerment -- 28578
 	AddRecipe(28578, 365, 22848, Q.UNCOMMON, V.TBC, 365, 375, 377, 380)
 	self:AddRecipeFlags(28578, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28578, A.MOB, 24664, A.WORLD_DROP, 2)
+	self:AddRecipeMobDrop(28578, 24664)
+	self:AddRecipeAcquire(28578, A.WORLD_DROP, 2)

 	-- Ironshield Potion -- 28579
 	AddRecipe(28579, 365, 22849, Q.UNCOMMON, V.TBC, 365, 375, 377, 380)
 	self:AddRecipeFlags(28579, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28579, A.MOB, 17862)
+	self:AddRecipeMobDrop(28579, 17862)

 	-- Transmute: Primal Shadow to Water -- 28580
 	AddRecipe(28580, 375, 21885, Q.UNCOMMON, V.TBC, 375, 375, 377, 380)
@@ -828,82 +836,83 @@ function addon:InitAlchemy()
 	-- Transmute: Primal Might -- 29688
 	AddRecipe(29688, 350, 23571, Q.UNCOMMON, V.TBC, 350, 365, 372, 380)
 	self:AddRecipeFlags(29688, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(29688, A.VENDOR, 16641, A.VENDOR, 16705, A.VENDOR, 19074)
+	self:AddRecipeVendor(29688, 16705, 16641, 19074)

 	-- Transmute: Earthstorm Diamond -- 32765
 	AddRecipe(32765, 350, 25867, Q.COMMON, V.TBC, 350, 365, 372, 380)
 	self:AddRecipeFlags(32765, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(32765, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)
+	self:AddRecipeRepVendor(32765, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)

 	-- Transmute: Skyfire Diamond -- 32766
 	AddRecipe(32766, 350, 25868, Q.COMMON, V.TBC, 350, 365, 372, 380)
 	self:AddRecipeFlags(32766, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HELLFIRE)
-	self:AddRecipeAcquire(32766, A.REPUTATION, FAC.HONOR_HOLD, REP.HONORED, 17657, A.REPUTATION, FAC.THRALLMAR, REP.HONORED, 17585)
+	self:AddRecipeRepVendor(32766, FAC.HONOR_HOLD, REP.HONORED, 17657)
+	self:AddRecipeRepVendor(32766, FAC.THRALLMAR, REP.HONORED, 17585)

 	-- Volatile Healing Potion -- 33732
 	AddRecipe(33732, 300, 28100, Q.COMMON, V.TBC, 300, 315, 322, 330)
 	self:AddRecipeFlags(33732, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(33732, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023)
+	self:AddRecipeTrainer(33732, 18802, 33674, 27029, 27023, 33608, 16588, 19052)

 	-- Unstable Mana Potion -- 33733
 	AddRecipe(33733, 310, 28101, Q.COMMON, V.TBC, 310, 325, 332, 340)
 	self:AddRecipeFlags(33733, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(33733, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023)
+	self:AddRecipeTrainer(33733, 18802, 33674, 27029, 27023, 33608, 16588, 19052)

 	-- Onslaught Elixir -- 33738
 	AddRecipe(33738, 300, 28102, Q.COMMON, V.TBC, 300, 315, 322, 330)
 	self:AddRecipeFlags(33738, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(33738, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023)
+	self:AddRecipeTrainer(33738, 18802, 33674, 27029, 27023, 33608, 16588, 19052)

 	-- Adept's Elixir -- 33740
 	AddRecipe(33740, 300, 28103, Q.COMMON, V.ORIG, 300, 315, 322, 330)
 	self:AddRecipeFlags(33740, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33740, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023)
+	self:AddRecipeTrainer(33740, 18802, 33674, 27029, 27023, 33608, 16588, 19052)

 	-- Elixir of Mastery -- 33741
 	AddRecipe(33741, 315, 28104, Q.COMMON, V.TBC, 315, 330, 337, 345)
 	self:AddRecipeFlags(33741, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(33741, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023)
+	self:AddRecipeTrainer(33741, 18802, 33674, 27029, 27023, 33608, 16588, 19052)

 	-- Mercurial Stone -- 38070
 	AddRecipe(38070, 325, 31080, Q.COMMON, V.TBC, 325, 340, 347, 355)
 	self:AddRecipeFlags(38070, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(38070, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023)
+	self:AddRecipeTrainer(38070, 18802, 33674, 27029, 27023, 33608, 16588, 19052)

 	-- Fel Strength Elixir -- 38960
 	AddRecipe(38960, 335, 31679, Q.RARE, V.TBC, 335, 350, 357, 365)
 	self:AddRecipeFlags(38960, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(38960, A.MOB, 19740, A.MOB, 19755, A.MOB, 21302, A.MOB, 21314)
+	self:AddRecipeMobDrop(38960, 21314, 21302, 19755, 19740)

 	-- Fel Mana Potion -- 38961
 	AddRecipe(38961, 360, 31677, Q.RARE, V.TBC, 360, 375, 377, 380)
 	self:AddRecipeFlags(38961, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(38961, A.MOB, 19792, A.MOB, 19795, A.MOB, 19796, A.MOB, 19806, A.MOB, 22016, A.MOB, 22017, A.MOB, 22018, A.MOB, 22076, A.MOB, 22093)
+	self:AddRecipeMobDrop(38961, 19795, 19792, 22076, 22017, 22093, 22018, 19796, 19806, 22016)

 	-- Fel Regeneration Potion -- 38962
 	AddRecipe(38962, 345, 31676, Q.RARE, V.TBC, 345, 360, 367, 375)
 	self:AddRecipeFlags(38962, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(38962, A.MOB, 19754, A.MOB, 19756, A.MOB, 20878, A.MOB, 20887)
+	self:AddRecipeMobDrop(38962, 19756, 19754, 20887, 20878)

 	-- Elixir of Major Fortitude -- 39636
 	AddRecipe(39636, 310, 32062, Q.COMMON, V.TBC, 310, 325, 332, 340)
 	self:AddRecipeFlags(39636, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(39636, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023)
+	self:AddRecipeTrainer(39636, 18802, 33674, 27029, 27023, 33608, 16588, 19052)

 	-- Earthen Elixir -- 39637
 	AddRecipe(39637, 320, 32063, Q.COMMON, V.TBC, 320, 335, 342, 350)
 	self:AddRecipeFlags(39637, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(39637, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)
+	self:AddRecipeRepVendor(39637, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)

 	-- Elixir of Draenic Wisdom -- 39638
 	AddRecipe(39638, 320, 32067, Q.COMMON, V.TBC, 320, 335, 342, 350)
 	self:AddRecipeFlags(39638, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(39638, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023)
+	self:AddRecipeTrainer(39638, 18802, 33674, 27029, 27023, 33608, 16588, 19052)

 	-- Elixir of Ironskin -- 39639
 	AddRecipe(39639, 330, 32068, Q.COMMON, V.TBC, 330, 345, 352, 360)
 	self:AddRecipeFlags(39639, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(39639, A.VENDOR, 18821, A.VENDOR, 18822)
+	self:AddRecipeVendor(39639, 18821, 18822)

 	-- Cauldron of Major Arcane Protection -- 41458
 	AddRecipe(41458, 360, 32839, Q.COMMON, V.TBC, 360, 360, 370, 380)
@@ -933,32 +942,32 @@ function addon:InitAlchemy()
 	-- Flask of Chromatic Wonder -- 42736
 	AddRecipe(42736, 375, 33208, Q.UNCOMMON, V.TBC, 375, 390, 397, 405)
 	self:AddRecipeFlags(42736, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.VIOLETEYE)
-	self:AddRecipeAcquire(42736, A.REPUTATION, FAC.VIOLETEYE, REP.HONORED, 18255)
+	self:AddRecipeRepVendor(42736, FAC.VIOLETEYE, REP.HONORED, 18255)

 	-- Mad Alchemist's Potion -- 45061
 	AddRecipe(45061, 325, 34440, Q.COMMON, V.TBC, 325, 335, 342, 350)
 	self:AddRecipeFlags(45061, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45061, A.TRAINER, 16588, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27023, A.TRAINER, 27029, A.TRAINER, 33608, A.TRAINER, 33674)
+	self:AddRecipeTrainer(45061, 18802, 33674, 27029, 27023, 33608, 16588, 19052)

 	-- Guardian's Alchemist Stone -- 47046
 	AddRecipe(47046, 375, 35748, Q.COMMON, V.TBC, 375, 380, 385, 390)
 	self:AddRecipeFlags(47046, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.TANK, F.TRINKET, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(47046, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25032)
+	self:AddRecipeRepVendor(47046, FAC.SHATTEREDSUN, REP.EXALTED, 25032)

 	-- Sorcerer's Alchemist Stone -- 47048
 	AddRecipe(47048, 375, 35749, Q.COMMON, V.TBC, 375, 380, 385, 390)
 	self:AddRecipeFlags(47048, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.TRINKET, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(47048, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25032)
+	self:AddRecipeRepVendor(47048, FAC.SHATTEREDSUN, REP.EXALTED, 25032)

 	-- Redeemer's Alchemist Stone -- 47049
 	AddRecipe(47049, 375, 35750, Q.COMMON, V.TBC, 375, 380, 385, 390)
 	self:AddRecipeFlags(47049, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.TRINKET, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(47049, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25032)
+	self:AddRecipeRepVendor(47049, FAC.SHATTEREDSUN, REP.EXALTED, 25032)

 	-- Assassin's Alchemist Stone -- 47050
 	AddRecipe(47050, 375, 35751, Q.COMMON, V.TBC, 375, 380, 385, 390)
 	self:AddRecipeFlags(47050, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.DPS, F.TRINKET, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(47050, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25032)
+	self:AddRecipeRepVendor(47050, FAC.SHATTEREDSUN, REP.EXALTED, 25032)

 	-- Transmute: Eternal Life to Shadow -- 53771
 	AddRecipe(53771, 405, 35627, Q.UNCOMMON, V.WOTLK, 405, 405, 415, 425)
@@ -1023,52 +1032,52 @@ function addon:InitAlchemy()
 	-- Pygmy Oil -- 53812
 	AddRecipe(53812, 375, 40195, Q.COMMON, V.WOTLK, 375, 380, 385, 390)
 	self:AddRecipeFlags(53812, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53812, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53812, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Runic Healing Potion -- 53836
 	AddRecipe(53836, 405, 33447, Q.COMMON, V.WOTLK, 405, 415, 420, 425)
 	self:AddRecipeFlags(53836, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53836, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53836, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Runic Mana Potion -- 53837
 	AddRecipe(53837, 410, 33448, Q.COMMON, V.WOTLK, 410, 420, 425, 430)
 	self:AddRecipeFlags(53837, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53837, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53837, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Resurgent Healing Potion -- 53838
 	AddRecipe(53838, 350, 39671, Q.COMMON, V.WOTLK, 350, 360, 365, 370)
 	self:AddRecipeFlags(53838, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53838, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53838, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Icy Mana Potion -- 53839
 	AddRecipe(53839, 360, 40067, Q.COMMON, V.WOTLK, 360, 370, 375, 380)
 	self:AddRecipeFlags(53839, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53839, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53839, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Elixir of Mighty Agility -- 53840
 	AddRecipe(53840, 395, 39666, Q.COMMON, V.WOTLK, 395, 405, 410, 415)
 	self:AddRecipeFlags(53840, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53840, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53840, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Wrath Elixir -- 53841
 	AddRecipe(53841, 355, 40068, Q.COMMON, V.WOTLK, 355, 365, 370, 375)
 	self:AddRecipeFlags(53841, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53841, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53841, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Spellpower Elixir -- 53842
 	AddRecipe(53842, 365, 40070, Q.COMMON, V.WOTLK, 365, 375, 380, 385)
 	self:AddRecipeFlags(53842, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53842, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53842, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Elixir of Spirit -- 53847
 	AddRecipe(53847, 385, 40072, Q.COMMON, V.WOTLK, 385, 395, 400, 405)
 	self:AddRecipeFlags(53847, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53847, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53847, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Guru's Elixir -- 53848
 	AddRecipe(53848, 375, 40076, Q.COMMON, V.WOTLK, 375, 385, 390, 395)
 	self:AddRecipeFlags(53848, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53848, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53848, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Crazy Alchemist's Potion -- 53895
 	AddRecipe(53895, 400, 40077, Q.COMMON, V.WOTLK, 400, 410, 415, 420)
@@ -1078,32 +1087,32 @@ function addon:InitAlchemy()
 	-- Elixir of Mighty Fortitude -- 53898
 	AddRecipe(53898, 390, 40078, Q.COMMON, V.WOTLK, 390, 400, 405, 410)
 	self:AddRecipeFlags(53898, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53898, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53898, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Lesser Flask of Toughness -- 53899
 	AddRecipe(53899, 375, 40079, Q.COMMON, V.WOTLK, 375, 385, 390, 395)
 	self:AddRecipeFlags(53899, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53899, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53899, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Potion of Nightmares -- 53900
 	AddRecipe(53900, 380, 40081, Q.COMMON, V.WOTLK, 380, 390, 395, 400)
 	self:AddRecipeFlags(53900, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53900, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53900, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Flask of the Frost Wyrm -- 53901
 	AddRecipe(53901, 435, 40082, Q.COMMON, V.WOTLK, 435, 450, 457, 465)
 	self:AddRecipeFlags(53901, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53901, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53901, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Flask of Stoneblood -- 53902
 	AddRecipe(53902, 435, 40083, Q.COMMON, V.WOTLK, 435, 450, 457, 465)
 	self:AddRecipeFlags(53902, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53902, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53902, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Flask of Endless Rage -- 53903
 	AddRecipe(53903, 435, 40084, Q.COMMON, V.WOTLK, 435, 450, 457, 465)
 	self:AddRecipeFlags(53903, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53903, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53903, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Powerful Rejuvenation Potion -- 53904
 	AddRecipe(53904, 400, 40087, Q.COMMON, V.WOTLK, 400, 410, 415, 420)
@@ -1113,42 +1122,42 @@ function addon:InitAlchemy()
 	-- Indestructible Potion -- 53905
 	AddRecipe(53905, 395, 40093, Q.COMMON, V.WOTLK, 395, 405, 410, 415)
 	self:AddRecipeFlags(53905, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53905, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(53905, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Mighty Arcane Protection Potion -- 53936
 	AddRecipe(53936, 400, 40213, Q.UNCOMMON, V.WOTLK, 400, 410, 415, 420)
 	self:AddRecipeFlags(53936, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53936, A.MOB, 32297, A.MOB, 31702)
+	self:AddRecipeMobDrop(53936, 32297, 31702)

 	-- Mighty Frost Protection Potion -- 53937
 	AddRecipe(53937, 400, 40215, Q.UNCOMMON, V.WOTLK, 400, 410, 415, 420)
 	self:AddRecipeFlags(53937, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53937, A.MOB, 32289)
+	self:AddRecipeMobDrop(53937, 32289)

 	-- Mighty Shadow Protection Potion -- 53938
 	AddRecipe(53938, 400, 40217, Q.UNCOMMON, V.WOTLK, 400, 410, 415, 420)
 	self:AddRecipeFlags(53938, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53938, A.MOB, 32349)
+	self:AddRecipeMobDrop(53938, 32349)

 	-- Mighty Fire Protection Potion -- 53939
 	AddRecipe(53939, 400, 40214, Q.UNCOMMON, V.WOTLK, 400, 410, 415, 420)
 	self:AddRecipeFlags(53939, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53939, A.MOB, 30921)
+	self:AddRecipeMobDrop(53939, 30921)

 	-- Mighty Nature Protection Potion -- 53942
 	AddRecipe(53942, 400, 40216, Q.UNCOMMON, V.WOTLK, 400, 410, 415, 420)
 	self:AddRecipeFlags(53942, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53942, A.MOB, 32290)
+	self:AddRecipeMobDrop(53942, 32290)

 	-- Flask of Pure Mojo -- 54213
 	AddRecipe(54213, 435, 40404, Q.COMMON, V.WOTLK, 435, 450, 457, 465)
 	self:AddRecipeFlags(54213, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(54213, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(54213, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Elixir of Mighty Strength -- 54218
 	AddRecipe(54218, 385, 40073, Q.COMMON, V.WOTLK, 385, 395, 400, 405)
 	self:AddRecipeFlags(54218, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(54218, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(54218, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Elixir of Protection -- 54220
 	AddRecipe(54220, 400, 40097, Q.COMMON, V.WOTLK, 400, 410, 415, 420)
@@ -1173,27 +1182,27 @@ function addon:InitAlchemy()
 	-- Transmute: Skyflare Diamond -- 57425
 	AddRecipe(57425, 430, 41266, Q.RARE, V.WOTLK, 430, 440, 445, 450)
 	self:AddRecipeFlags(57425, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57425, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(57425, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Transmute: Earthsiege Diamond -- 57427
 	AddRecipe(57427, 425, 41334, Q.RARE, V.WOTLK, 425, 435, 440, 445)
 	self:AddRecipeFlags(57427, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57427, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(57427, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Endless Mana Potion -- 58868
 	AddRecipe(58868, 410, 43570, Q.COMMON, V.WOTLK, 410, 420, 425, 430)
 	self:AddRecipeFlags(58868, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(58868, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(58868, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Endless Healing Potion -- 58871
 	AddRecipe(58871, 410, 43569, Q.COMMON, V.WOTLK, 410, 420, 425, 430)
 	self:AddRecipeFlags(58871, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(58871, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(58871, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Transmute: Titanium -- 60350
 	AddRecipe(60350, 395, 41163, Q.UNCOMMON, V.WOTLK, 395, 405, 410, 415)
 	self:AddRecipeFlags(60350, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(60350, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(60350, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Elixir of Accuracy -- 60354
 	AddRecipe(60354, 400, 44325, Q.COMMON, V.WOTLK, 400, 415, 422, 430)
@@ -1228,37 +1237,37 @@ function addon:InitAlchemy()
 	-- Elixir of Mighty Thoughts -- 60367
 	AddRecipe(60367, 395, 44332, Q.COMMON, V.WOTLK, 395, 405, 410, 415)
 	self:AddRecipeFlags(60367, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(60367, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(60367, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Mercurial Alchemist Stone -- 60396
 	AddRecipe(60396, 400, 44322, Q.RARE, V.WOTLK, 400, 410, 415, 420)
 	self:AddRecipeFlags(60396, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.TRINKET)
-	self:AddRecipeAcquire(60396, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(60396, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Indestructible Alchemist Stone -- 60403
 	AddRecipe(60403, 400, 44323, Q.RARE, V.WOTLK, 400, 410, 415, 420)
 	self:AddRecipeFlags(60403, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.TANK, F.TRINKET)
-	self:AddRecipeAcquire(60403, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(60403, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Mighty Alchemist Stone -- 60405
 	AddRecipe(60405, 400, 44324, Q.RARE, V.WOTLK, 400, 410, 415, 420)
 	self:AddRecipeFlags(60405, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TRINKET)
-	self:AddRecipeAcquire(60405, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(60405, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Northrend Alchemy Research -- 60893
 	AddRecipe(60893, 400, nil, Q.COMMON, V.WOTLK, 400, 410, 415, 420)
 	self:AddRecipeFlags(60893, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(60893, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(60893, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Lesser Flask of Resistance -- 62213
 	AddRecipe(62213, 385, 44939, Q.COMMON, V.WOTLK, 385, 395, 400, 405)
 	self:AddRecipeFlags(62213, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(62213, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(62213, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Ethereal Oil -- 62409
 	AddRecipe(62409, 375, 44958, Q.COMMON, V.WOTLK, 375, 385, 390, 395)
 	self:AddRecipeFlags(62409, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(62409, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(62409, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Elixir of Water Walking -- 62410
 	AddRecipe(62410, 400, 8827, Q.COMMON, V.WOTLK, 400, 410, 415, 420)
@@ -1268,12 +1277,12 @@ function addon:InitAlchemy()
 	-- Elixir of Minor Accuracy -- 63732
 	AddRecipe(63732, 135, 45621, Q.COMMON, V.WOTLK, 135, 160, 180, 200)
 	self:AddRecipeFlags(63732, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(63732, A.TRAINER, 1386, A.TRAINER, 2391, A.TRAINER, 2837, A.TRAINER, 3009, A.TRAINER, 3347, A.TRAINER, 4160, A.TRAINER, 4611, A.TRAINER, 5177, A.TRAINER, 5499, A.TRAINER, 7948, A.TRAINER, 16588, A.TRAINER, 16642, A.TRAINER, 16723, A.TRAINER, 18802, A.TRAINER, 19052, A.TRAINER, 27029, A.TRAINER, 3603, A.TRAINER, 1470, A.TRAINER, 3964, A.TRAINER, 2132, A.TRAINER, 3184, A.TRAINER, 33608, A.TRAINER, 33674, A.TRAINER, 27023, A.TRAINER, 4900, A.TRAINER, 1215, A.TRAINER, 16161)
+	self:AddRecipeTrainer(63732, 1386, 2837, 4900, 16642, 3184, 2132, 27029, 3347, 16723, 3603, 27023, 18802, 4611, 1215, 5177, 19052, 16588, 7948, 1470, 3964, 16161, 33674, 3009, 2391, 33608, 4160, 5499)

 	-- Transmute: Ametrine -- 66658
 	AddRecipe(66658, 450, 36931, Q.COMMON, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66658, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66658, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(66658, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Transmute: Cardinal Ruby -- 66659
 	AddRecipe(66659, 450, 36919, Q.COMMON, V.WOTLK, 450, 450, 452, 465)
@@ -1283,27 +1292,27 @@ function addon:InitAlchemy()
 	-- Transmute: King's Amber -- 66660
 	AddRecipe(66660, 450, 36922, Q.COMMON, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66660, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66660, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(66660, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Transmute: Dreadstone -- 66662
 	AddRecipe(66662, 450, 36928, Q.COMMON, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66662, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66662, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(66662, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Transmute: Majestic Zircon -- 66663
 	AddRecipe(66663, 450, 36925, Q.COMMON, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66663, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66663, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(66663, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Transmute: Eye of Zul -- 66664
 	AddRecipe(66664, 450, 36934, Q.COMMON, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66664, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66664, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(66664, 26951, 26903, 28703, 26975, 33588, 26987)

 	-- Flask of the North -- 67025
 	AddRecipe(67025, 425, 47499, Q.COMMON, V.WOTLK, 425, 440, 445, 450)
 	self:AddRecipeFlags(67025, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(67025, A.TRAINER, 26903, A.TRAINER, 26951, A.TRAINER, 26975, A.TRAINER, 26987, A.TRAINER, 28703, A.TRAINER, 33588)
+	self:AddRecipeTrainer(67025, 26951, 26903, 28703, 26975, 33588, 26987)

 	return num_recipes
 end
diff --git a/Database/Blacksmithing.lua b/Database/Blacksmithing.lua
index 0a911bc..220f4d2 100644
--- a/Database/Blacksmithing.lua
+++ b/Database/Blacksmithing.lua
@@ -58,12 +58,12 @@ function addon:InitBlacksmithing()
 	-- Copper Chain Belt -- 2661
 	AddRecipe(2661, 35, 2851, Q.COMMON, V.ORIG, 35, 75, 95, 115)
 	self:AddRecipeFlags(2661, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(2661, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2661, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Copper Chain Pants -- 2662
 	AddRecipe(2662, 1, 2852, Q.COMMON, V.ORIG, 1, 50, 70, 90)
 	self:AddRecipeFlags(2662, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(2662, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 3478, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2662, 29924, 3174, 17245, 26564, 27034, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 1241, 2836, 15400, 26988, 4596, 3557, 33591, 33675, 5511, 16823, 28694, 16669, 3478, 16724, 3355)

 	-- Copper Bracers -- 2663
 	AddRecipe(2663, 1, 2853, Q.COMMON, V.ORIG, 1, 20, 40, 60)
@@ -73,17 +73,17 @@ function addon:InitBlacksmithing()
 	-- Runed Copper Bracers -- 2664
 	AddRecipe(2664, 90, 2854, Q.COMMON, V.ORIG, 90, 115, 127, 140)
 	self:AddRecipeFlags(2664, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(2664, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2664, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Coarse Sharpening Stone -- 2665
 	AddRecipe(2665, 65, 2863, Q.COMMON, V.ORIG, 65, 65, 72, 80)
 	self:AddRecipeFlags(2665, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(2665, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2665, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Runed Copper Belt -- 2666
 	AddRecipe(2666, 70, 2857, Q.COMMON, V.ORIG, 70, 110, 130, 150)
 	self:AddRecipeFlags(2666, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(2666, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2666, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Runed Copper Breastplate -- 2667
 	AddRecipe(2667, 80, 2864, Q.UNCOMMON, V.ORIG, 80, 120, 140, 160)
@@ -93,17 +93,17 @@ function addon:InitBlacksmithing()
 	-- Rough Bronze Leggings -- 2668
 	AddRecipe(2668, 105, 2865, Q.COMMON, V.ORIG, 105, 145, 160, 175)
 	self:AddRecipeFlags(2668, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(2668, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2668, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 17245, 26564, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Rough Bronze Cuirass -- 2670
 	AddRecipe(2670, 105, 2866, Q.COMMON, V.ORIG, 105, 145, 160, 175)
 	self:AddRecipeFlags(2670, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(2670, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2670, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Patterned Bronze Bracers -- 2672
 	AddRecipe(2672, 120, 2868, Q.COMMON, V.ORIG, 120, 150, 165, 180)
 	self:AddRecipeFlags(2672, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(2672, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2672, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Silvered Bronze Breastplate -- 2673
 	AddRecipe(2673, 130, 2869, Q.UNCOMMON, V.ORIG, 130, 160, 175, 190)
@@ -113,42 +113,42 @@ function addon:InitBlacksmithing()
 	-- Heavy Sharpening Stone -- 2674
 	AddRecipe(2674, 125, 2871, Q.COMMON, V.ORIG, 125, 125, 132, 140)
 	self:AddRecipeFlags(2674, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(2674, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2674, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Shining Silver Breastplate -- 2675
 	AddRecipe(2675, 145, 2870, Q.COMMON, V.ORIG, 145, 175, 190, 205)
 	self:AddRecipeFlags(2675, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(2675, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2675, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Copper Mace -- 2737
 	AddRecipe(2737, 15, 2844, Q.COMMON, V.ORIG, 15, 55, 75, 95)
 	self:AddRecipeFlags(2737, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(2737, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2737, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Copper Axe -- 2738
 	AddRecipe(2738, 20, 2845, Q.COMMON, V.ORIG, 20, 60, 80, 100)
 	self:AddRecipeFlags(2738, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(2738, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2738, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Copper Shortsword -- 2739
 	AddRecipe(2739, 25, 2847, Q.COMMON, V.ORIG, 25, 65, 85, 105)
 	self:AddRecipeFlags(2739, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(2739, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2739, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Bronze Mace -- 2740
 	AddRecipe(2740, 110, 2848, Q.COMMON, V.ORIG, 110, 140, 155, 170)
 	self:AddRecipeFlags(2740, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(2740, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2740, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Bronze Axe -- 2741
 	AddRecipe(2741, 115, 2849, Q.COMMON, V.ORIG, 115, 145, 160, 175)
 	self:AddRecipeFlags(2741, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(2741, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2741, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Bronze Shortsword -- 2742
 	AddRecipe(2742, 120, 2850, Q.COMMON, V.ORIG, 120, 150, 165, 180)
 	self:AddRecipeFlags(2742, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(2742, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(2742, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Rough Weightstone -- 3115
 	AddRecipe(3115, 1, 3239, Q.COMMON, V.ORIG, 1, 15, 35, 55)
@@ -158,27 +158,27 @@ function addon:InitBlacksmithing()
 	-- Coarse Weightstone -- 3116
 	AddRecipe(3116, 65, 3240, Q.COMMON, V.ORIG, 65, 65, 72, 80)
 	self:AddRecipeFlags(3116, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3116, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3116, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Heavy Weightstone -- 3117
 	AddRecipe(3117, 125, 3241, Q.COMMON, V.ORIG, 125, 125, 132, 140)
 	self:AddRecipeFlags(3117, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3117, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3117, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Heavy Copper Broadsword -- 3292
 	AddRecipe(3292, 95, 3487, Q.COMMON, V.ORIG, 95, 135, 155, 175)
 	self:AddRecipeFlags(3292, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TWO_HAND, F.SWORD)
-	self:AddRecipeAcquire(3292, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3292, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Copper Battle Axe -- 3293
 	AddRecipe(3293, 35, 3488, Q.COMMON, V.ORIG, 35, 75, 95, 115)
 	self:AddRecipeFlags(3293, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TWO_HAND, F.AXE)
-	self:AddRecipeAcquire(3293, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3293, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Thick War Axe -- 3294
 	AddRecipe(3294, 70, 3489, Q.COMMON, V.ORIG, 70, 110, 130, 150)
 	self:AddRecipeFlags(3294, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(3294, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3294, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Deadly Bronze Poniard -- 3295
 	AddRecipe(3295, 125, 3490, Q.UNCOMMON, V.ORIG, 125, 155, 170, 195)
@@ -188,7 +188,7 @@ function addon:InitBlacksmithing()
 	-- Heavy Bronze Mace -- 3296
 	AddRecipe(3296, 130, 3491, Q.COMMON, V.ORIG, 130, 160, 175, 190)
 	self:AddRecipeFlags(3296, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(3296, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3296, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Mighty Iron Hammer -- 3297
 	AddRecipe(3297, 145, 3492, Q.UNCOMMON, V.ORIG, 145, 175, 190, 205)
@@ -198,12 +198,12 @@ function addon:InitBlacksmithing()
 	-- Copper Chain Boots -- 3319
 	AddRecipe(3319, 20, 3469, Q.COMMON, V.ORIG, 20, 60, 80, 100)
 	self:AddRecipeFlags(3319, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(3319, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 3478, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3319, 29924, 3174, 17245, 26564, 27034, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 1241, 2836, 15400, 26988, 4596, 3557, 33591, 33675, 5511, 16823, 28694, 16669, 3478, 16724, 3355)

 	-- Rough Grinding Stone -- 3320
 	AddRecipe(3320, 25, 3470, Q.COMMON, V.ORIG, 25, 45, 65, 85)
 	self:AddRecipeFlags(3320, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3320, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 3478, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3320, 3174, 17245, 29924, 27034, 6299, 2998, 26904, 26981, 26564, 26952, 16583, 33631, 3136, 4258, 514, 33609, 1241, 2836, 15400, 26988, 4596, 3557, 33591, 33675, 5511, 16823, 28694, 16669, 3478, 16724, 3355)

 	-- Copper Chain Vest -- 3321
 	AddRecipe(3321, 35, 3471, Q.UNCOMMON, V.ORIG, 35, 75, 95, 115)
@@ -213,12 +213,12 @@ function addon:InitBlacksmithing()
 	-- Runed Copper Gauntlets -- 3323
 	AddRecipe(3323, 40, 3472, Q.COMMON, V.ORIG, 40, 80, 100, 120)
 	self:AddRecipeFlags(3323, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(3323, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3323, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Runed Copper Pants -- 3324
 	AddRecipe(3324, 45, 3473, Q.COMMON, V.ORIG, 45, 85, 105, 125)
 	self:AddRecipeFlags(3324, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(3324, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3324, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Gemmed Copper Gauntlets -- 3325
 	AddRecipe(3325, 60, 3474, Q.UNCOMMON, V.ORIG, 60, 100, 120, 140)
@@ -228,12 +228,12 @@ function addon:InitBlacksmithing()
 	-- Coarse Grinding Stone -- 3326
 	AddRecipe(3326, 75, 3478, Q.COMMON, V.ORIG, 75, 75, 87, 100)
 	self:AddRecipeFlags(3326, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3326, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3326, 3174, 17245, 29924, 28694, 6299, 2998, 26904, 26981, 26564, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Rough Bronze Shoulders -- 3328
 	AddRecipe(3328, 110, 3480, Q.COMMON, V.ORIG, 110, 140, 155, 170)
 	self:AddRecipeFlags(3328, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(3328, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3328, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Silvered Bronze Shoulders -- 3330
 	AddRecipe(3330, 125, 3481, Q.UNCOMMON, V.ORIG, 125, 155, 170, 185)
@@ -243,12 +243,12 @@ function addon:InitBlacksmithing()
 	-- Silvered Bronze Boots -- 3331
 	AddRecipe(3331, 130, 3482, Q.COMMON, V.ORIG, 130, 160, 175, 190)
 	self:AddRecipeFlags(3331, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(3331, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3331, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Silvered Bronze Gauntlets -- 3333
 	AddRecipe(3333, 135, 3483, Q.COMMON, V.ORIG, 135, 165, 180, 195)
 	self:AddRecipeFlags(3333, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(3333, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3333, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Green Iron Boots -- 3334
 	AddRecipe(3334, 145, 3484, Q.UNCOMMON, V.ORIG, 145, 175, 190, 205)
@@ -263,17 +263,17 @@ function addon:InitBlacksmithing()
 	-- Heavy Grinding Stone -- 3337
 	AddRecipe(3337, 125, 3486, Q.COMMON, V.ORIG, 125, 125, 137, 150)
 	self:AddRecipeFlags(3337, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3337, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3337, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 17245, 26564, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Big Bronze Knife -- 3491
 	AddRecipe(3491, 105, 3848, Q.COMMON, V.ORIG, 105, 135, 150, 165)
 	self:AddRecipeFlags(3491, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND, F.DAGGER)
-	self:AddRecipeAcquire(3491, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3491, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Hardened Iron Shortsword -- 3492
 	AddRecipe(3492, 160, 3849, Q.COMMON, V.ORIG, 160, 185, 197, 210)
 	self:AddRecipeFlags(3492, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(3492, A.VENDOR, 2843, A.VENDOR, 5512)
+	self:AddRecipeVendor(3492, 2843, 5512)

 	-- Jade Serpentblade -- 3493
 	AddRecipe(3493, 175, 3850, Q.UNCOMMON, V.ORIG, 175, 200, 212, 225)
@@ -283,7 +283,7 @@ function addon:InitBlacksmithing()
 	-- Solid Iron Maul -- 3494
 	AddRecipe(3494, 155, 3851, Q.COMMON, V.ORIG, 155, 180, 192, 205)
 	self:AddRecipeFlags(3494, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TWO_HAND, F.MACE)
-	self:AddRecipeAcquire(3494, A.VENDOR, 1471, A.VENDOR, 8878, A.VENDOR, 9179)
+	self:AddRecipeVendor(3494, 9179, 8878, 1471)

 	-- Golden Iron Destroyer -- 3495
 	AddRecipe(3495, 170, 3852, Q.UNCOMMON, V.ORIG, 170, 195, 207, 220)
@@ -293,7 +293,7 @@ function addon:InitBlacksmithing()
 	-- Moonsteel Broadsword -- 3496
 	AddRecipe(3496, 180, 3853, Q.COMMON, V.ORIG, 180, 205, 217, 230)
 	self:AddRecipeFlags(3496, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TWO_HAND, F.SWORD)
-	self:AddRecipeAcquire(3496, A.VENDOR, 2482)
+	self:AddRecipeVendor(3496, 2482)

 	-- Frost Tiger Blade -- 3497
 	AddRecipe(3497, 200, 3854, Q.UNCOMMON, V.ORIG, 200, 210, 215, 220)
@@ -303,7 +303,7 @@ function addon:InitBlacksmithing()
 	-- Massive Iron Axe -- 3498
 	AddRecipe(3498, 185, 3855, Q.COMMON, V.ORIG, 185, 210, 222, 235)
 	self:AddRecipeFlags(3498, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.TWO_HAND, F.AXE)
-	self:AddRecipeAcquire(3498, A.VENDOR, 2483, A.VENDOR, 1146)
+	self:AddRecipeVendor(3498, 2483, 1146)

 	-- Shadow Crescent Axe -- 3500
 	AddRecipe(3500, 200, 3856, Q.UNCOMMON, V.ORIG, 200, 225, 237, 250)
@@ -313,17 +313,17 @@ function addon:InitBlacksmithing()
 	-- Green Iron Bracers -- 3501
 	AddRecipe(3501, 165, 3835, Q.COMMON, V.ORIG, 165, 190, 202, 215)
 	self:AddRecipeFlags(3501, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(3501, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3501, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 17245, 26564, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Green Iron Helm -- 3502
 	AddRecipe(3502, 170, 3836, Q.COMMON, V.ORIG, 170, 195, 207, 220)
 	self:AddRecipeFlags(3502, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(3502, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3502, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Golden Scale Coif -- 3503
 	AddRecipe(3503, 190, 3837, Q.COMMON, V.ORIG, 190, 215, 227, 240)
 	self:AddRecipeFlags(3503, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(3503, A.VENDOR, 5411)
+	self:AddRecipeVendor(3503, 5411)

 	-- Green Iron Shoulders -- 3504
 	AddRecipe(3504, 160, 3840, Q.UNCOMMON, V.ORIG, 160, 185, 197, 210)
@@ -338,7 +338,7 @@ function addon:InitBlacksmithing()
 	-- Green Iron Leggings -- 3506
 	AddRecipe(3506, 155, 3842, Q.COMMON, V.ORIG, 155, 180, 192, 205)
 	self:AddRecipeFlags(3506, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(3506, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3506, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Golden Scale Leggings -- 3507
 	AddRecipe(3507, 170, 3843, Q.UNCOMMON, V.ORIG, 170, 195, 207, 220)
@@ -348,7 +348,7 @@ function addon:InitBlacksmithing()
 	-- Green Iron Hauberk -- 3508
 	AddRecipe(3508, 180, 3844, Q.COMMON, V.ORIG, 180, 205, 217, 230)
 	self:AddRecipeFlags(3508, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(3508, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(3508, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Golden Scale Cuirass -- 3511
 	AddRecipe(3511, 195, 3845, Q.UNCOMMON, V.ORIG, 195, 220, 232, 245)
@@ -368,7 +368,7 @@ function addon:InitBlacksmithing()
 	-- Pearl-handled Dagger -- 6517
 	AddRecipe(6517, 110, 5540, Q.COMMON, V.ORIG, 110, 140, 155, 170)
 	self:AddRecipeFlags(6517, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.DAGGER)
-	self:AddRecipeAcquire(6517, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(6517, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Iridescent Hammer -- 6518
 	AddRecipe(6518, 140, 5541, Q.UNCOMMON, V.ORIG, 140, 170, 185, 200)
@@ -388,7 +388,7 @@ function addon:InitBlacksmithing()
 	-- Golden Scale Bracers -- 7223
 	AddRecipe(7223, 185, 6040, Q.COMMON, V.ORIG, 185, 210, 222, 235)
 	self:AddRecipeFlags(7223, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK, F.MAIL)
-	self:AddRecipeAcquire(7223, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(7223, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Steel Weapon Chain -- 7224
 	AddRecipe(7224, 190, 6041, Q.UNCOMMON, V.ORIG, 190, 215, 227, 240)
@@ -398,17 +398,17 @@ function addon:InitBlacksmithing()
 	-- Heavy Copper Maul -- 7408
 	AddRecipe(7408, 65, 6214, Q.COMMON, V.ORIG, 65, 105, 125, 145)
 	self:AddRecipeFlags(7408, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TWO_HAND, F.MACE)
-	self:AddRecipeAcquire(7408, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(7408, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Rough Bronze Boots -- 7817
 	AddRecipe(7817, 95, 6350, Q.COMMON, V.ORIG, 95, 125, 140, 155)
 	self:AddRecipeFlags(7817, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(7817, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(7817, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Silver Rod -- 7818
 	AddRecipe(7818, 100, 6338, Q.COMMON, V.ORIG, 100, 105, 107, 110)
 	self:AddRecipeFlags(7818, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(7818, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(7818, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 17245, 26564, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Ironforge Breastplate -- 8367
 	AddRecipe(8367, 100, 6731, Q.UNCOMMON, V.ORIG, 100, 140, 160, 180)
@@ -418,12 +418,12 @@ function addon:InitBlacksmithing()
 	-- Iron Buckle -- 8768
 	AddRecipe(8768, 150, 7071, Q.COMMON, V.ORIG, 150, 150, 152, 155)
 	self:AddRecipeFlags(8768, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(8768, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(8768, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Copper Dagger -- 8880
 	AddRecipe(8880, 30, 7166, Q.COMMON, V.ORIG, 30, 70, 90, 110)
 	self:AddRecipeFlags(8880, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND, F.DAGGER)
-	self:AddRecipeAcquire(8880, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(8880, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Barbaric Iron Shoulders -- 9811
 	AddRecipe(9811, 160, 7913, Q.UNCOMMON, V.ORIG, 160, 185, 197, 210)
@@ -453,37 +453,37 @@ function addon:InitBlacksmithing()
 	-- Steel Breastplate -- 9916
 	AddRecipe(9916, 200, 7963, Q.COMMON, V.ORIG, 200, 225, 237, 250)
 	self:AddRecipeFlags(9916, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(9916, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9916, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Solid Sharpening Stone -- 9918
 	AddRecipe(9918, 200, 7964, Q.COMMON, V.ORIG, 200, 200, 205, 210)
 	self:AddRecipeFlags(9918, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(9918, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9918, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33609, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Solid Grinding Stone -- 9920
 	AddRecipe(9920, 200, 7966, Q.COMMON, V.ORIG, 200, 200, 205, 210)
 	self:AddRecipeFlags(9920, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(9920, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9920, 3174, 33591, 29924, 6299, 2998, 26904, 3557, 26564, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33609, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Solid Weightstone -- 9921
 	AddRecipe(9921, 200, 7965, Q.COMMON, V.ORIG, 200, 200, 205, 210)
 	self:AddRecipeFlags(9921, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(9921, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9921, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33609, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Heavy Mithril Shoulder -- 9926
 	AddRecipe(9926, 205, 7918, Q.COMMON, V.ORIG, 205, 225, 235, 245)
 	self:AddRecipeFlags(9926, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(9926, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9926, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33609, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Heavy Mithril Gauntlet -- 9928
 	AddRecipe(9928, 205, 7919, Q.COMMON, V.ORIG, 205, 225, 235, 245)
 	self:AddRecipeFlags(9928, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(9928, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9928, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33609, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Mithril Scale Pants -- 9931
 	AddRecipe(9931, 210, 7920, Q.COMMON, V.ORIG, 210, 230, 240, 250)
 	self:AddRecipeFlags(9931, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(9931, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9931, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33609, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Heavy Mithril Pants -- 9933
 	AddRecipe(9933, 210, 7921, Q.UNCOMMON, V.ORIG, 210, 230, 240, 250)
@@ -493,12 +493,12 @@ function addon:InitBlacksmithing()
 	-- Steel Plate Helm -- 9935
 	AddRecipe(9935, 215, 7922, Q.COMMON, V.ORIG, 215, 235, 245, 255)
 	self:AddRecipeFlags(9935, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(9935, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9935, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33609, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Mithril Scale Bracers -- 9937
 	AddRecipe(9937, 215, 7924, Q.COMMON, V.ORIG, 215, 235, 245, 255)
 	self:AddRecipeFlags(9937, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(9937, A.VENDOR, 8161, A.VENDOR, 8176)
+	self:AddRecipeVendor(9937, 8161, 8176)

 	-- Mithril Shield Spike -- 9939
 	AddRecipe(9939, 215, 7967, Q.RARE, V.ORIG, 215, 235, 245, 255)
@@ -523,7 +523,7 @@ function addon:InitBlacksmithing()
 	-- Truesilver Gauntlets -- 9954
 	AddRecipe(9954, 225, 7938, Q.COMMON, V.ORIG, 225, 245, 255, 265)
 	self:AddRecipeFlags(9954, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(9954, A.TRAINER, 5164, A.TRAINER, 7230, A.TRAINER, 11177, A.TRAINER, 20125, A.TRAINER, 29506)
+	self:AddRecipeTrainer(9954, 11177, 5164, 29506, 7230, 20125)

 	-- Orcish War Leggings -- 9957
 	AddRecipe(9957, 250, 7929, Q.UNCOMMON, V.ORIG, 250, 250, 260, 270)
@@ -533,19 +533,19 @@ function addon:InitBlacksmithing()
 	-- Heavy Mithril Breastplate -- 9959
 	AddRecipe(9959, 230, 7930, Q.COMMON, V.ORIG, 230, 250, 260, 270)
 	self:AddRecipeFlags(9959, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(9959, A.TRAINER, 2836, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9959, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33631, 2836, 27034, 26988, 4596, 28694, 15400, 33675, 5511, 16823, 33609, 1241, 3478, 3355, 16724)

 	-- Mithril Coif -- 9961
 	AddRecipe(9961, 230, 7931, Q.COMMON, V.ORIG, 230, 250, 260, 270)
 	self:AddRecipeFlags(9961, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(9961, A.TRAINER, 2836, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9961, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33631, 2836, 27034, 26988, 4596, 28694, 15400, 33675, 5511, 16823, 33609, 1241, 3478, 3355, 16724)

 	-- Mithril Spurs -- 9964
 	AddRecipe(9964, 235, 7969, Q.UNCOMMON, V.ORIG, 235, 255, 265, 275)
 	self:AddRecipeFlags(9964, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE)
 	self:AddRecipeAcquire(9964, A.WORLD_DROP, 2)

-	-- Mithril Scale Shoulders -- 9966 SPECIAL WORLD DROP
+	-- Mithril Scale Shoulders -- 9966
 	AddRecipe(9966, 235, 7932, Q.RARE, V.ORIG, 235, 255, 265, 275)
 	self:AddRecipeFlags(9966, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
 	self:AddRecipeAcquire(9966, A.WORLD_DROP, 3)
@@ -553,7 +553,7 @@ function addon:InitBlacksmithing()
 	-- Heavy Mithril Boots -- 9968
 	AddRecipe(9968, 235, 7933, Q.COMMON, V.ORIG, 235, 255, 265, 275)
 	self:AddRecipeFlags(9968, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(9968, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9968, 3174, 17245, 29924, 26981, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 27034, 3136, 4258, 514, 33631, 33609, 2836, 15400, 26988, 4596, 3557, 33591, 33675, 5511, 16823, 28694, 1241, 3478, 16724, 3355)

 	-- Heavy Mithril Helm -- 9970
 	AddRecipe(9970, 245, 7934, Q.UNCOMMON, V.ORIG, 245, 255, 265, 275)
@@ -568,7 +568,7 @@ function addon:InitBlacksmithing()
 	-- Truesilver Breastplate -- 9974
 	AddRecipe(9974, 245, 7939, Q.COMMON, V.ORIG, 245, 265, 275, 285)
 	self:AddRecipeFlags(9974, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(9974, A.TRAINER, 5164, A.TRAINER, 7230, A.TRAINER, 11177, A.TRAINER, 20125, A.TRAINER, 29506)
+	self:AddRecipeTrainer(9974, 11177, 5164, 29506, 7230, 20125)

 	-- Ornate Mithril Boots -- 9979
 	AddRecipe(9979, 265, 7936, Q.UNCOMMON, V.ORIG, 265, 265, 275, 285)
@@ -583,27 +583,27 @@ function addon:InitBlacksmithing()
 	-- Copper Claymore -- 9983
 	AddRecipe(9983, 30, 7955, Q.COMMON, V.ORIG, 30, 70, 90, 110)
 	self:AddRecipeFlags(9983, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TWO_HAND, F.SWORD)
-	self:AddRecipeAcquire(9983, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3174, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 3557, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 6299, A.TRAINER, 15400, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 17245, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9983, 29924, 3174, 17245, 26564, 28694, 6299, 2998, 26904, 26981, 19341, 26952, 16583, 33631, 3136, 4258, 514, 33609, 33591, 2836, 15400, 26988, 4596, 3557, 27034, 33675, 5511, 16823, 16724, 16669, 3478, 1241, 3355)

 	-- Bronze Warhammer -- 9985
 	AddRecipe(9985, 125, 7956, Q.COMMON, V.ORIG, 125, 155, 170, 185)
 	self:AddRecipeFlags(9985, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TWO_HAND, F.MACE)
-	self:AddRecipeAcquire(9985, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9985, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Bronze Greatsword -- 9986
 	AddRecipe(9986, 130, 7957, Q.COMMON, V.ORIG, 130, 160, 175, 190)
 	self:AddRecipeFlags(9986, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TWO_HAND, F.SWORD)
-	self:AddRecipeAcquire(9986, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9986, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Bronze Battle Axe -- 9987
 	AddRecipe(9987, 135, 7958, Q.COMMON, V.ORIG, 135, 165, 180, 195)
 	self:AddRecipeFlags(9987, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TWO_HAND, F.AXE)
-	self:AddRecipeAcquire(9987, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9987, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Heavy Mithril Axe -- 9993
 	AddRecipe(9993, 210, 7941, Q.COMMON, V.ORIG, 210, 235, 247, 260)
 	self:AddRecipeFlags(9993, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(9993, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(9993, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Blue Glittering Axe -- 9995
 	AddRecipe(9995, 220, 7942, Q.UNCOMMON, V.ORIG, 220, 245, 257, 270)
@@ -618,12 +618,12 @@ function addon:InitBlacksmithing()
 	-- Big Black Mace -- 10001
 	AddRecipe(10001, 230, 7945, Q.COMMON, V.ORIG, 230, 255, 267, 280)
 	self:AddRecipeFlags(10001, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(10001, A.TRAINER, 2836, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(10001, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33631, 2836, 27034, 26988, 4596, 28694, 15400, 33675, 5511, 16823, 33609, 1241, 3478, 3355, 16724)

 	-- The Shatterer -- 10003
 	AddRecipe(10003, 235, 7954, Q.COMMON, V.ORIG, 235, 260, 272, 285)
 	self:AddRecipeFlags(10003, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(10003, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(10003, 7232, 29505, 11146, 11178, 20124)

 	-- Dazzling Mithril Rapier -- 10005
 	AddRecipe(10005, 240, 7944, Q.UNCOMMON, V.ORIG, 240, 265, 277, 290)
@@ -633,9 +633,9 @@ function addon:InitBlacksmithing()
 	-- Phantom Blade -- 10007
 	AddRecipe(10007, 245, 7961, Q.COMMON, V.ORIG, 245, 270, 282, 295)
 	self:AddRecipeFlags(10007, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(10007, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(10007, 7232, 29505, 11146, 11178, 20124)

-	-- Runed Mithril Hammer -- 10009 SPECIAL WORLD DROP
+	-- Runed Mithril Hammer -- 10009
 	AddRecipe(10009, 245, 7946, Q.RARE, V.ORIG, 245, 270, 282, 295)
 	self:AddRecipeFlags(10009, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.ONE_HAND, F.MACE)
 	self:AddRecipeAcquire(10009, A.WORLD_DROP, 3)
@@ -643,17 +643,17 @@ function addon:InitBlacksmithing()
 	-- Blight -- 10011
 	AddRecipe(10011, 250, 7959, Q.COMMON, V.ORIG, 250, 275, 287, 300)
 	self:AddRecipeFlags(10011, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TWO_HAND, F.POLEARM)
-	self:AddRecipeAcquire(10011, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(10011, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Ebon Shiv -- 10013
 	AddRecipe(10013, 255, 7947, Q.COMMON, V.ORIG, 255, 280, 292, 305)
 	self:AddRecipeFlags(10013, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.DAGGER)
-	self:AddRecipeAcquire(10013, A.VENDOR, 11278)
+	self:AddRecipeVendor(10013, 11278)

 	-- Truesilver Champion -- 10015
 	AddRecipe(10015, 260, 7960, Q.COMMON, V.ORIG, 260, 285, 297, 310)
 	self:AddRecipeFlags(10015, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TWO_HAND, F.SWORD)
-	self:AddRecipeAcquire(10015, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(10015, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Inlaid Mithril Cylinder -- 11454
 	AddRecipe(11454, 200, 9060, Q.COMMON, V.ORIG, 200, 225, 237, 250)
@@ -678,17 +678,17 @@ function addon:InitBlacksmithing()
 	-- Golden Rod -- 14379
 	AddRecipe(14379, 150, 11128, Q.COMMON, V.ORIG, 150, 155, 157, 160)
 	self:AddRecipeFlags(14379, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(14379, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(14379, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Truesilver Rod -- 14380
 	AddRecipe(14380, 200, 11144, Q.COMMON, V.ORIG, 200, 205, 207, 210)
 	self:AddRecipeFlags(14380, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(14380, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(14380, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Dark Iron Pulverizer -- 15292
 	AddRecipe(15292, 265, 11608, Q.RARE, V.ORIG, 265, 285, 295, 305)
 	self:AddRecipeFlags(15292, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOE, F.TWO_HAND, F.MACE)
-	self:AddRecipeAcquire(15292, A.MOB, 9028)
+	self:AddRecipeMobDrop(15292, 9028)

 	-- Dark Iron Mail -- 15293
 	AddRecipe(15293, 270, 11606, Q.UNCOMMON, V.ORIG, 270, 290, 300, 310)
@@ -698,7 +698,7 @@ function addon:InitBlacksmithing()
 	-- Dark Iron Sunderer -- 15294
 	AddRecipe(15294, 275, 11607, Q.RARE, V.ORIG, 275, 295, 305, 315)
 	self:AddRecipeFlags(15294, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.TWO_HAND, F.AXE)
-	self:AddRecipeAcquire(15294, A.MOB, 9554, A.MOB, 10043)
+	self:AddRecipeMobDrop(15294, 9554, 10043)

 	-- Dark Iron Shoulders -- 15295
 	AddRecipe(15295, 280, 11605, Q.UNCOMMON, V.ORIG, 280, 300, 310, 320)
@@ -708,12 +708,12 @@ function addon:InitBlacksmithing()
 	-- Dark Iron Plate -- 15296
 	AddRecipe(15296, 285, 11604, Q.RARE, V.ORIG, 285, 305, 315, 325)
 	self:AddRecipeFlags(15296, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOP, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(15296, A.MOB, 9543)
+	self:AddRecipeMobDrop(15296, 9543)

 	-- Glinting Steel Dagger -- 15972
 	AddRecipe(15972, 180, 12259, Q.COMMON, V.ORIG, 180, 205, 217, 230)
 	self:AddRecipeFlags(15972, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.DAGGER)
-	self:AddRecipeAcquire(15972, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(15972, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Searing Golden Blade -- 15973
 	AddRecipe(15973, 190, 12260, Q.UNCOMMON, V.ORIG, 190, 215, 227, 240)
@@ -723,34 +723,37 @@ function addon:InitBlacksmithing()
 	-- Dense Grinding Stone -- 16639
 	AddRecipe(16639, 250, 12644, Q.COMMON, V.ORIG, 250, 255, 257, 260)
 	self:AddRecipeFlags(16639, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(16639, A.TRAINER, 2836, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(16639, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33631, 2836, 27034, 26988, 4596, 28694, 15400, 33675, 5511, 16823, 33609, 1241, 3478, 3355, 16724)

 	-- Dense Weightstone -- 16640
 	AddRecipe(16640, 250, 12643, Q.COMMON, V.ORIG, 250, 255, 257, 260)
 	self:AddRecipeFlags(16640, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(16640, A.TRAINER, 2836, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(16640, 3174, 33591, 29924, 6299, 2998, 26904, 3557, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33631, 2836, 27034, 26988, 4596, 28694, 15400, 33675, 5511, 16823, 33609, 1241, 3478, 3355, 16724)

 	-- Dense Sharpening Stone -- 16641
 	AddRecipe(16641, 250, 12404, Q.COMMON, V.ORIG, 250, 255, 257, 260)
 	self:AddRecipeFlags(16641, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(16641, A.TRAINER, 2836, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(16641, 3174, 33591, 29924, 6299, 2998, 26904, 3557, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33631, 2836, 27034, 26988, 4596, 28694, 15400, 33675, 5511, 16823, 33609, 1241, 3478, 3355, 16724)

 	-- Thorium Armor -- 16642
 	AddRecipe(16642, 250, 12405, Q.UNCOMMON, V.ORIG, 250, 270, 280, 290)
 	self:AddRecipeFlags(16642, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(16642, A.WORLD_DROP, 2, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 16823, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 3557)
+	self:AddRecipeTrainer(16642, 3174, 17245, 6299, 2998, 33631, 3136, 4258, 514, 2836, 15400, 33609, 4596, 3557, 33675, 5511, 16823, 1241, 3478, 16724, 3355)
+	self:AddRecipeAcquire(16642, A.WORLD_DROP, 2)

 	-- Thorium Belt -- 16643
 	AddRecipe(16643, 250, 12406, Q.UNCOMMON, V.ORIG, 250, 270, 280, 290)
 	self:AddRecipeFlags(16643, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(16643, A.WORLD_DROP, 2, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 16823, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 3557)
+	self:AddRecipeTrainer(16643, 3174, 17245, 6299, 2998, 33631, 3136, 4258, 514, 2836, 15400, 33609, 4596, 3557, 33675, 5511, 16823, 1241, 3478, 16724, 3355)
+	self:AddRecipeAcquire(16643, A.WORLD_DROP, 2)

 	-- Thorium Bracers -- 16644
 	AddRecipe(16644, 255, 12408, Q.UNCOMMON, V.ORIG, 255, 275, 285, 295)
 	self:AddRecipeFlags(16644, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(16644, A.WORLD_DROP, 2, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 16823, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 3557)
+	self:AddRecipeTrainer(16644, 3174, 17245, 6299, 2998, 33631, 3136, 4258, 514, 2836, 15400, 33609, 4596, 3557, 33675, 5511, 16823, 1241, 3478, 16724, 3355)
+	self:AddRecipeAcquire(16644, A.WORLD_DROP, 2)

-	-- Radiant Belt -- 16645 SPECIAL WORLD DROP
+	-- Radiant Belt -- 16645
 	AddRecipe(16645, 260, 12416, Q.UNCOMMON, V.ORIG, 260, 280, 290, 300)
 	self:AddRecipeFlags(16645, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.MAIL)
 	self:AddRecipeAcquire(16645, A.WORLD_DROP, 2)
@@ -780,7 +783,7 @@ function addon:InitBlacksmithing()
 	self:AddRecipeFlags(16650, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.MAIL)
 	self:AddRecipeAcquire(16650, A.WORLD_DROP, 2)

-	-- Thorium Shield Spike -- 16651 SPECIAL WORLD DROP
+	-- Thorium Shield Spike -- 16651
 	AddRecipe(16651, 275, 12645, Q.UNCOMMON, V.ORIG, 275, 295, 305, 315)
 	self:AddRecipeFlags(16651, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.TANK)
 	self:AddRecipeAcquire(16651, A.WORLD_DROP, 2)
@@ -788,12 +791,14 @@ function addon:InitBlacksmithing()
 	-- Thorium Boots -- 16652
 	AddRecipe(16652, 280, 12409, Q.UNCOMMON, V.ORIG, 280, 300, 310, 320)
 	self:AddRecipeFlags(16652, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(16652, A.WORLD_DROP, 2, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 16823, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 3557)
+	self:AddRecipeTrainer(16652, 3174, 17245, 6299, 2998, 33631, 3136, 4258, 514, 2836, 15400, 33609, 4596, 3557, 33675, 5511, 16823, 1241, 3478, 16724, 3355)
+	self:AddRecipeAcquire(16652, A.WORLD_DROP, 2)

 	-- Thorium Helm -- 16653
 	AddRecipe(16653, 280, 12410, Q.UNCOMMON, V.ORIG, 280, 300, 310, 320)
 	self:AddRecipeFlags(16653, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(16653, A.WORLD_DROP, 2, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 16823, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 3557)
+	self:AddRecipeTrainer(16653, 3174, 17245, 6299, 2998, 33631, 3136, 4258, 514, 2836, 15400, 33609, 4596, 3557, 33675, 5511, 16823, 1241, 3478, 16724, 3355)
+	self:AddRecipeAcquire(16653, A.WORLD_DROP, 2)

 	-- Radiant Gloves -- 16654
 	AddRecipe(16654, 285, 12418, Q.UNCOMMON, V.ORIG, 285, 305, 315, 325)
@@ -825,20 +830,22 @@ function addon:InitBlacksmithing()
 	self:AddRecipeFlags(16659, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
 	self:AddRecipeAcquire(16659, A.WORLD_DROP, 2)

-	-- Dawnbringer Shoulders -- 16660 SPECIAL WORLD DROP
+	-- Dawnbringer Shoulders -- 16660
 	AddRecipe(16660, 290, 12625, Q.RARE, V.ORIG, 290, 310, 320, 330)
 	self:AddRecipeFlags(16660, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.PLATE)
 	self:AddRecipeAcquire(16660, A.WORLD_DROP, 2)

-	-- Storm Gauntlets -- 16661 SPECIAL WORLD DROP
+	-- Storm Gauntlets -- 16661
 	AddRecipe(16661, 295, 12632, Q.RARE, V.ORIG, 295, 315, 325, 335)
 	self:AddRecipeFlags(16661, F.ALLIANCE, F.HORDE, F.VENDOR, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(16661, A.WORLD_DROP, 2, A.VENDOR, 11278)
+	self:AddRecipeVendor(16661, 11278)
+	self:AddRecipeAcquire(16661, A.WORLD_DROP, 2)

 	-- Thorium Leggings -- 16662
 	AddRecipe(16662, 300, 12414, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16662, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(16662, A.WORLD_DROP, 2, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 3174, A.TRAINER, 16823, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 3557)
+	self:AddRecipeTrainer(16662, 3174, 17245, 6299, 2998, 33631, 3136, 4258, 514, 2836, 15400, 33609, 4596, 3557, 33675, 5511, 16823, 1241, 3478, 16724, 3355)
+	self:AddRecipeAcquire(16662, A.WORLD_DROP, 2)

 	-- Imperial Plate Chest -- 16663
 	AddRecipe(16663, 300, 12422, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
@@ -848,19 +855,19 @@ function addon:InitBlacksmithing()
 	-- Runic Plate Shoulders -- 16664
 	AddRecipe(16664, 300, 12610, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16664, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(16664, A.MOB, 4366)
+	self:AddRecipeMobDrop(16664, 4366)

 	-- Runic Plate Boots -- 16665
 	AddRecipe(16665, 300, 12611, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16665, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(16665, A.MOB, 1836)
+	self:AddRecipeMobDrop(16665, 1836)

 	-- Demon Forged Breastplate -- 16667
 	AddRecipe(16667, 285, 12628, Q.RARE, V.ORIG, 285, 305, 315, 325)
 	self:AddRecipeFlags(16667, F.ALLIANCE, F.HORDE, F.QUEST, F.IBOE, F.RBOP, F.PLATE)
 	self:AddRecipeAcquire(16667, A.QUEST, 5127)

-	-- Whitesoul Helm -- 16724 SPECIAL WORLD DROP
+	-- Whitesoul Helm -- 16724
 	AddRecipe(16724, 300, 12633, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16724, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.PLATE)
 	self:AddRecipeAcquire(16724, A.WORLD_DROP, 2)
@@ -873,7 +880,7 @@ function addon:InitBlacksmithing()
 	-- Runic Plate Helm -- 16726
 	AddRecipe(16726, 300, 12612, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16726, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(16726, A.MOB, 4364)
+	self:AddRecipeMobDrop(16726, 4364)

 	-- Helm of the Great Chief -- 16728
 	AddRecipe(16728, 300, 12636, Q.RARE, V.ORIG, 300, 320, 330, 340)
@@ -893,14 +900,14 @@ function addon:InitBlacksmithing()
 	-- Runic Breastplate -- 16731
 	AddRecipe(16731, 300, 12613, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16731, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(16731, A.MOB, 4368, A.MOB, 16072)
+	self:AddRecipeMobDrop(16731, 4368, 16072)

 	-- Runic Plate Leggings -- 16732
 	AddRecipe(16732, 300, 12614, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16732, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(16732, A.MOB, 1885)
+	self:AddRecipeMobDrop(16732, 1885)

-	-- Stronghold Gauntlets -- 16741 SPECIAL WORLD DROP
+	-- Stronghold Gauntlets -- 16741
 	AddRecipe(16741, 300, 12639, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16741, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.TANK, F.PLATE)
 	self:AddRecipeAcquire(16741, A.WORLD_DROP, 2)
@@ -920,7 +927,7 @@ function addon:InitBlacksmithing()
 	self:AddRecipeFlags(16745, F.ALLIANCE, F.HORDE, F.QUEST, F.IBOE, F.RBOP, F.TANK, F.PLATE)
 	self:AddRecipeAcquire(16745, A.QUEST, 7649)

-	-- Invulnerable Mail -- 16746 SPECIAL WORLD DROP
+	-- Invulnerable Mail -- 16746
 	AddRecipe(16746, 300, 12641, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16746, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.TANK, F.MAIL)
 	self:AddRecipeAcquire(16746, A.WORLD_DROP, 2)
@@ -928,7 +935,8 @@ function addon:InitBlacksmithing()
 	-- Ornate Thorium Handaxe -- 16969
 	AddRecipe(16969, 275, 12773, Q.UNCOMMON, V.ORIG, 275, 300, 312, 325)
 	self:AddRecipeFlags(16969, F.ALLIANCE, F.HORDE, F.TRAINER, F.VENDOR, F.IBOP, F.RBOP, F.DPS, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(16969, A.VENDOR, 11278, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 16823, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 3557)
+	self:AddRecipeTrainer(16969, 3174, 17245, 6299, 2998, 33631, 3136, 4258, 514, 2836, 15400, 33609, 4596, 3557, 33675, 5511, 16823, 1241, 3478, 16724, 3355)
+	self:AddRecipeVendor(16969, 11278)

 	-- Dawn's Edge -- 16970
 	AddRecipe(16970, 275, 12774, Q.RARE, V.ORIG, 275, 300, 312, 325)
@@ -938,7 +946,8 @@ function addon:InitBlacksmithing()
 	-- Huge Thorium Battleaxe -- 16971
 	AddRecipe(16971, 280, 12775, Q.COMMON, V.ORIG, 280, 305, 317, 330)
 	self:AddRecipeFlags(16971, F.ALLIANCE, F.HORDE, F.TRAINER, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TWO_HAND, F.AXE)
-	self:AddRecipeAcquire(16971, A.VENDOR, 11278, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 16823, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 3557)
+	self:AddRecipeTrainer(16971, 3174, 17245, 6299, 2998, 33631, 3136, 4258, 514, 2836, 15400, 33609, 4596, 3557, 33675, 5511, 16823, 1241, 3478, 16724, 3355)
+	self:AddRecipeVendor(16971, 11278)

 	-- Enchanted Battlehammer -- 16973
 	AddRecipe(16973, 280, 12776, Q.UNCOMMON, V.ORIG, 280, 305, 317, 330)
@@ -958,7 +967,7 @@ function addon:InitBlacksmithing()
 	-- Volcanic Hammer -- 16984
 	AddRecipe(16984, 290, 12792, Q.UNCOMMON, V.ORIG, 290, 315, 327, 340)
 	self:AddRecipeFlags(16984, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(16984, A.MOB, 10119)
+	self:AddRecipeMobDrop(16984, 10119)

 	-- Corruption -- 16985
 	AddRecipe(16985, 290, 12782, Q.COMMON, V.ORIG, 290, 315, 327, 340)
@@ -968,92 +977,92 @@ function addon:InitBlacksmithing()
 	-- Hammer of the Titans -- 16988
 	AddRecipe(16988, 300, 12796, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16988, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.DPS, F.TWO_HAND, F.MACE)
-	self:AddRecipeAcquire(16988, A.MOB, 10438)
+	self:AddRecipeMobDrop(16988, 10438)

 	-- Arcanite Champion -- 16990
 	AddRecipe(16990, 300, 12790, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16990, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.DPS, F.TWO_HAND, F.SWORD)
-	self:AddRecipeAcquire(16990, A.MOB, 10899)
+	self:AddRecipeMobDrop(16990, 10899)

 	-- Annihilator -- 16991
 	AddRecipe(16991, 300, 12798, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16991, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(16991, A.MOB, 9736)
+	self:AddRecipeMobDrop(16991, 9736)

 	-- Frostguard -- 16992
 	AddRecipe(16992, 300, 12797, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16992, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(16992, A.MOB, 1844)
+	self:AddRecipeMobDrop(16992, 1844)

 	-- Masterwork Stormhammer -- 16993
 	AddRecipe(16993, 300, 12794, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16993, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(16993, A.MOB, 10899)
+	self:AddRecipeMobDrop(16993, 10899)

 	-- Arcanite Reaper -- 16994
 	AddRecipe(16994, 300, 12784, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16994, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.DPS, F.TWO_HAND, F.AXE)
-	self:AddRecipeAcquire(16994, A.MOB, 9596)
+	self:AddRecipeMobDrop(16994, 9596)

 	-- Heartseeker -- 16995
 	AddRecipe(16995, 300, 12783, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(16995, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.DPS, F.ONE_HAND, F.DAGGER)
-	self:AddRecipeAcquire(16995, A.MOB, 10997)
+	self:AddRecipeMobDrop(16995, 10997)

 	-- Silver Skeleton Key -- 19666
 	AddRecipe(19666, 100, 15869, Q.COMMON, V.ORIG, 100, 100, 110, 120)
 	self:AddRecipeFlags(19666, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(19666, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(19666, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Golden Skeleton Key -- 19667
 	AddRecipe(19667, 150, 15870, Q.COMMON, V.ORIG, 150, 150, 160, 170)
 	self:AddRecipeFlags(19667, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(19667, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(19667, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Truesilver Skeleton Key -- 19668
 	AddRecipe(19668, 200, 15871, Q.COMMON, V.ORIG, 200, 200, 210, 220)
 	self:AddRecipeFlags(19668, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(19668, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(19668, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Arcanite Skeleton Key -- 19669
 	AddRecipe(19669, 275, 15872, Q.COMMON, V.ORIG, 275, 275, 280, 285)
 	self:AddRecipeFlags(19669, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(19669, A.TRAINER, 2836, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(19669, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33631, 2836, 27034, 26988, 4596, 28694, 15400, 33675, 5511, 16823, 33609, 1241, 3478, 3355, 16724)

 	-- Arcanite Rod -- 20201
 	AddRecipe(20201, 275, 16206, Q.COMMON, V.ORIG, 275, 275, 280, 285)
 	self:AddRecipeFlags(20201, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(20201, A.TRAINER, 2836, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(20201, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33631, 2836, 27034, 26988, 4596, 28694, 15400, 33675, 5511, 16823, 33609, 1241, 3478, 3355, 16724)

 	-- Fiery Chain Girdle -- 20872
 	AddRecipe(20872, 295, 16989, Q.RARE, V.ORIG, 295, 315, 325, 335)
 	self:AddRecipeFlags(20872, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(20872, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)
+	self:AddRecipeRepVendor(20872, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)

 	-- Fiery Chain Shoulders -- 20873
 	AddRecipe(20873, 300, 16988, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(20873, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.MAIL, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(20873, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)
+	self:AddRecipeRepVendor(20873, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)

 	-- Dark Iron Bracers -- 20874
 	AddRecipe(20874, 295, 17014, Q.RARE, V.ORIG, 295, 315, 325, 335)
 	self:AddRecipeFlags(20874, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.PLATE, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(20874, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.FRIENDLY, 12944)
+	self:AddRecipeRepVendor(20874, FAC.THORIUM_BROTHERHOOD, REP.FRIENDLY, 12944)

 	-- Dark Iron Leggings -- 20876
 	AddRecipe(20876, 300, 17013, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(20876, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.PLATE, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(20876, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)
+	self:AddRecipeRepVendor(20876, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)

 	-- Dark Iron Reaver -- 20890
 	AddRecipe(20890, 300, 17015, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(20890, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.ONE_HAND, F.SWORD, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(20890, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)
+	self:AddRecipeRepVendor(20890, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)

 	-- Dark Iron Destroyer -- 20897
 	AddRecipe(20897, 300, 17016, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(20897, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.AXE, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(20897, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)
+	self:AddRecipeRepVendor(20897, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)

 	-- Sulfuron Hammer -- 21161
 	AddRecipe(21161, 300, 17193, Q.EPIC, V.ORIG, 300, 325, 337, 350)
@@ -1073,92 +1082,92 @@ function addon:InitBlacksmithing()
 	-- Heavy Timbermaw Belt -- 23628
 	AddRecipe(23628, 290, 19043, Q.COMMON, V.ORIG, 290, 310, 320, 330)
 	self:AddRecipeFlags(23628, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.TIMBERMAW_HOLD)
-	self:AddRecipeAcquire(23628, A.REPUTATION, FAC.TIMBERMAW_HOLD, REP.HONORED, 11557)
+	self:AddRecipeRepVendor(23628, FAC.TIMBERMAW_HOLD, REP.HONORED, 11557)

 	-- Heavy Timbermaw Boots -- 23629
 	AddRecipe(23629, 300, 19048, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23629, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.TIMBERMAW_HOLD)
-	self:AddRecipeAcquire(23629, A.REPUTATION, FAC.TIMBERMAW_HOLD, REP.REVERED, 11557)
+	self:AddRecipeRepVendor(23629, FAC.TIMBERMAW_HOLD, REP.REVERED, 11557)

 	-- Girdle of the Dawn -- 23632
 	AddRecipe(23632, 290, 19051, Q.COMMON, V.ORIG, 290, 310, 320, 330)
 	self:AddRecipeFlags(23632, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.PLATE, F.ARGENTDAWN)
-	self:AddRecipeAcquire(23632, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 10856, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 10857, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 11536)
+	self:AddRecipeRepVendor(23632, FAC.ARGENTDAWN, REP.HONORED, 10856, 11536, 10857)

 	-- Gloves of the Dawn -- 23633
 	AddRecipe(23633, 300, 19057, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23633, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.PLATE, F.ARGENTDAWN)
-	self:AddRecipeAcquire(23633, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 10856, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 10857, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 11536)
+	self:AddRecipeRepVendor(23633, FAC.ARGENTDAWN, REP.REVERED, 10856, 11536, 10857)

 	-- Dark Iron Helm -- 23636
 	AddRecipe(23636, 300, 19148, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23636, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.PLATE, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23636, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)
+	self:AddRecipeRepVendor(23636, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)

 	-- Dark Iron Gauntlets -- 23637
 	AddRecipe(23637, 300, 19164, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23637, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.PLATE, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23637, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)
+	self:AddRecipeRepVendor(23637, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)

 	-- Black Amnesty -- 23638
 	AddRecipe(23638, 300, 19166, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23638, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.ONE_HAND, F.DAGGER, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23638, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)
+	self:AddRecipeRepVendor(23638, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)

 	-- Blackfury -- 23639
 	AddRecipe(23639, 300, 19167, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23639, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TWO_HAND, F.POLEARM, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23639, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)
+	self:AddRecipeRepVendor(23639, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)

 	-- Ebon Hand -- 23650
 	AddRecipe(23650, 300, 19170, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23650, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.ONE_HAND, F.MACE, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23650, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)
+	self:AddRecipeRepVendor(23650, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)

 	-- Blackguard -- 23652
 	AddRecipe(23652, 300, 19168, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23652, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.ONE_HAND, F.SWORD, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23652, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)
+	self:AddRecipeRepVendor(23652, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)

 	-- Nightfall -- 23653
 	AddRecipe(23653, 300, 19169, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23653, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TWO_HAND, F.AXE, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23653, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.EXALTED, 12944)
+	self:AddRecipeRepVendor(23653, FAC.THORIUM_BROTHERHOOD, REP.EXALTED, 12944)

 	-- Bloodsoul Breastplate -- 24136
 	AddRecipe(24136, 300, 19690, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24136, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.HEALER, F.CASTER, F.MAIL, F.ZANDALAR)
-	self:AddRecipeAcquire(24136, A.REPUTATION, FAC.ZANDALAR, REP.REVERED, 14921)
+	self:AddRecipeRepVendor(24136, FAC.ZANDALAR, REP.REVERED, 14921)

 	-- Bloodsoul Shoulders -- 24137
 	AddRecipe(24137, 300, 19691, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24137, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.ZANDALAR)
-	self:AddRecipeAcquire(24137, A.REPUTATION, FAC.ZANDALAR, REP.HONORED, 14921)
+	self:AddRecipeRepVendor(24137, FAC.ZANDALAR, REP.HONORED, 14921)

 	-- Bloodsoul Gauntlets -- 24138
 	AddRecipe(24138, 300, 19692, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24138, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.ZANDALAR)
-	self:AddRecipeAcquire(24138, A.REPUTATION, FAC.ZANDALAR, REP.FRIENDLY, 14921)
+	self:AddRecipeRepVendor(24138, FAC.ZANDALAR, REP.FRIENDLY, 14921)

 	-- Darksoul Breastplate -- 24139
 	AddRecipe(24139, 300, 19693, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24139, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.ZANDALAR)
-	self:AddRecipeAcquire(24139, A.REPUTATION, FAC.ZANDALAR, REP.REVERED, 14921)
+	self:AddRecipeRepVendor(24139, FAC.ZANDALAR, REP.REVERED, 14921)

 	-- Darksoul Leggings -- 24140
 	AddRecipe(24140, 300, 19694, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24140, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.ZANDALAR)
-	self:AddRecipeAcquire(24140, A.REPUTATION, FAC.ZANDALAR, REP.HONORED, 14921)
+	self:AddRecipeRepVendor(24140, FAC.ZANDALAR, REP.HONORED, 14921)

 	-- Darksoul Shoulders -- 24141
 	AddRecipe(24141, 300, 19695, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24141, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.ZANDALAR)
-	self:AddRecipeAcquire(24141, A.REPUTATION, FAC.ZANDALAR, REP.FRIENDLY, 14921)
+	self:AddRecipeRepVendor(24141, FAC.ZANDALAR, REP.FRIENDLY, 14921)

 	-- Dark Iron Boots -- 24399
 	AddRecipe(24399, 300, 20039, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24399, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.PLATE, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(24399, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.EXALTED, 12944)
+	self:AddRecipeRepVendor(24399, FAC.THORIUM_BROTHERHOOD, REP.EXALTED, 12944)

 	-- Darkrune Gauntlets -- 24912
 	AddRecipe(24912, 300, 20549, Q.RARE, V.ORIG, 300, 320, 330, 340)
@@ -1178,44 +1187,44 @@ function addon:InitBlacksmithing()
 	-- Heavy Obsidian Belt -- 27585
 	AddRecipe(27585, 300, 22197, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(27585, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.PLATE, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(27585, A.REPUTATION, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15176)
+	self:AddRecipeRepVendor(27585, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15176)

 	-- Jagged Obsidian Shield -- 27586
 	AddRecipe(27586, 300, 22198, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(27586, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.SHIELD, F.ONE_HAND, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(27586, A.REPUTATION, FAC.CENARION_CIRCLE, REP.REVERED, 15471)
+	self:AddRecipeRepVendor(27586, FAC.CENARION_CIRCLE, REP.REVERED, 15471)

 	-- Thick Obsidian Breastplate -- 27587
 	AddRecipe(27587, 300, 22196, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(27587, F.ALLIANCE, F.HORDE, F.RAID, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(27587, A.MOB, 15263)
+	self:AddRecipeMobDrop(27587, 15263)

 	-- Light Obsidian Belt -- 27588
 	AddRecipe(27588, 300, 22195, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(27588, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(27588, A.REPUTATION, FAC.CENARION_CIRCLE, REP.HONORED, 15176)
+	self:AddRecipeRepVendor(27588, FAC.CENARION_CIRCLE, REP.HONORED, 15176)

 	-- Black Grasp of the Destroyer -- 27589
 	AddRecipe(27589, 300, 22194, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(27589, F.ALLIANCE, F.HORDE, F.RAID, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(27589, A.MOB, 15340)
+	self:AddRecipeMobDrop(27589, 15340)

 	-- Obsidian Mail Tunic -- 27590
 	AddRecipe(27590, 300, 22191, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(27590, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(27590, A.REPUTATION, FAC.CENARION_CIRCLE, REP.EXALTED, 15471)
+	self:AddRecipeRepVendor(27590, FAC.CENARION_CIRCLE, REP.EXALTED, 15471)

-	-- Titanic Leggings -- 27829 SPECIAL WORLD DROP
+	-- Titanic Leggings -- 27829
 	AddRecipe(27829, 300, 22385, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(27829, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.PLATE)
 	self:AddRecipeAcquire(27829, A.WORLD_DROP, 2)

-	-- Persuader -- 27830 SPECIAL WORLD DROP
+	-- Persuader -- 27830
 	AddRecipe(27830, 300, 22384, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(27830, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.ONE_HAND, F.MACE)
 	self:AddRecipeAcquire(27830, A.WORLD_DROP, 2)

-	-- Sageblade -- 27832 ---- SPECIAL WORLD DROP
+	-- Sageblade -- 27832
 	AddRecipe(27832, 300, 22383, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(27832, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.CASTER, F.ONE_HAND, F.SWORD)
 	self:AddRecipeAcquire(27832, A.WORLD_DROP, 2)
@@ -1223,184 +1232,187 @@ function addon:InitBlacksmithing()
 	-- Icebane Breastplate -- 28242
 	AddRecipe(28242, 300, 22669, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28242, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.ARGENTDAWN)
-	self:AddRecipeAcquire(28242, A.REPUTATION, FAC.ARGENTDAWN, REP.EXALTED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28242, FAC.ARGENTDAWN, REP.EXALTED, 16365)
+	self:AddRecipeAcquire(28242, A.CUSTOM, 41)

 	-- Icebane Gauntlets -- 28243
 	AddRecipe(28243, 300, 22670, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28243, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.ARGENTDAWN)
-	self:AddRecipeAcquire(28243, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28243, FAC.ARGENTDAWN, REP.REVERED, 16365)
+	self:AddRecipeAcquire(28243, A.CUSTOM, 41)

 	-- Icebane Bracers -- 28244
 	AddRecipe(28244, 300, 22671, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28244, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.ARGENTDAWN)
-	self:AddRecipeAcquire(28244, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28244, FAC.ARGENTDAWN, REP.REVERED, 16365)
+	self:AddRecipeAcquire(28244, A.CUSTOM, 41)

 	-- Ironvine Breastplate -- 28461
 	AddRecipe(28461, 300, 22762, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28461, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(28461, A.REPUTATION, FAC.CENARION_CIRCLE, REP.REVERED, 15176)
+	self:AddRecipeRepVendor(28461, FAC.CENARION_CIRCLE, REP.REVERED, 15176)

 	-- Ironvine Gloves -- 28462
 	AddRecipe(28462, 300, 22763, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28462, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(28462, A.REPUTATION, FAC.CENARION_CIRCLE, REP.HONORED, 15176)
+	self:AddRecipeRepVendor(28462, FAC.CENARION_CIRCLE, REP.HONORED, 15176)

 	-- Ironvine Belt -- 28463
 	AddRecipe(28463, 300, 22764, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28463, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(28463, A.REPUTATION, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15176)
+	self:AddRecipeRepVendor(28463, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15176)

 	-- Fel Iron Plate Gloves -- 29545
 	AddRecipe(29545, 300, 23482, Q.COMMON, V.TBC, 300, 310, 320, 330)
 	self:AddRecipeFlags(29545, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(29545, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29545, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Fel Iron Plate Belt -- 29547
 	AddRecipe(29547, 305, 23484, Q.COMMON, V.TBC, 305, 315, 325, 335)
 	self:AddRecipeFlags(29547, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(29547, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29547, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Fel Iron Plate Boots -- 29548
 	AddRecipe(29548, 315, 23487, Q.COMMON, V.TBC, 315, 325, 335, 345)
 	self:AddRecipeFlags(29548, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(29548, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29548, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Fel Iron Plate Pants -- 29549
 	AddRecipe(29549, 315, 23488, Q.COMMON, V.TBC, 315, 325, 335, 345)
 	self:AddRecipeFlags(29549, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(29549, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29549, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Fel Iron Breastplate -- 29550
 	AddRecipe(29550, 325, 23489, Q.COMMON, V.TBC, 325, 335, 345, 355)
 	self:AddRecipeFlags(29550, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(29550, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29550, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Fel Iron Chain Coif -- 29551
 	AddRecipe(29551, 300, 23493, Q.COMMON, V.TBC, 300, 320, 330, 340)
 	self:AddRecipeFlags(29551, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(29551, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29551, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Fel Iron Chain Gloves -- 29552
 	AddRecipe(29552, 310, 23491, Q.COMMON, V.TBC, 310, 320, 330, 340)
 	self:AddRecipeFlags(29552, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(29552, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29552, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Fel Iron Chain Bracers -- 29553
 	AddRecipe(29553, 315, 23494, Q.COMMON, V.TBC, 315, 325, 335, 345)
 	self:AddRecipeFlags(29553, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(29553, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29553, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Fel Iron Chain Tunic -- 29556
 	AddRecipe(29556, 320, 23490, Q.COMMON, V.TBC, 320, 330, 340, 350)
 	self:AddRecipeFlags(29556, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(29556, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29556, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Fel Iron Hatchet -- 29557
 	AddRecipe(29557, 310, 23497, Q.COMMON, V.TBC, 310, 320, 330, 340)
 	self:AddRecipeFlags(29557, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(29557, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29557, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Fel Iron Hammer -- 29558
 	AddRecipe(29558, 315, 23498, Q.COMMON, V.TBC, 315, 325, 335, 345)
 	self:AddRecipeFlags(29558, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(29558, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29558, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Fel Iron Greatsword -- 29565
 	AddRecipe(29565, 320, 23499, Q.COMMON, V.TBC, 320, 330, 340, 350)
 	self:AddRecipeFlags(29565, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TWO_HAND, F.SWORD)
-	self:AddRecipeAcquire(29565, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29565, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Adamantite Maul -- 29566
 	AddRecipe(29566, 325, 23502, Q.COMMON, V.TBC, 325, 335, 345, 355)
 	self:AddRecipeFlags(29566, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.TWO_HAND, F.MACE)
-	self:AddRecipeAcquire(29566, A.VENDOR, 16670, A.VENDOR, 16713, A.VENDOR, 19662)
+	self:AddRecipeVendor(29566, 16670, 16713, 19662)

 	-- Adamantite Cleaver -- 29568
 	AddRecipe(29568, 330, 23503, Q.COMMON, V.TBC, 330, 340, 350, 360)
 	self:AddRecipeFlags(29568, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.TWO_HAND, F.AXE)
-	self:AddRecipeAcquire(29568, A.VENDOR, 16670, A.VENDOR, 16713, A.VENDOR, 19662)
+	self:AddRecipeVendor(29568, 16670, 16713, 19662)

 	-- Adamantite Dagger -- 29569
 	AddRecipe(29569, 330, 23504, Q.COMMON, V.TBC, 330, 340, 350, 360)
 	self:AddRecipeFlags(29569, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.ONE_HAND, F.DAGGER)
-	self:AddRecipeAcquire(29569, A.VENDOR, 16670, A.VENDOR, 16713, A.VENDOR, 19662)
+	self:AddRecipeVendor(29569, 16670, 16713, 19662)

 	-- Adamantite Rapier -- 29571
 	AddRecipe(29571, 335, 23505, Q.COMMON, V.TBC, 335, 345, 355, 365)
 	self:AddRecipeFlags(29571, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TANK, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(29571, A.VENDOR, 16670, A.VENDOR, 16713, A.VENDOR, 19662)
+	self:AddRecipeVendor(29571, 16670, 16713, 19662)

 	-- Adamantite Plate Bracers -- 29603
 	AddRecipe(29603, 335, 23506, Q.COMMON, V.TBC, 335, 345, 355, 365)
 	self:AddRecipeFlags(29603, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(29603, A.VENDOR, 19342, A.VENDOR, 19694)
+	self:AddRecipeVendor(29603, 19342, 19694)

 	-- Adamantite Plate Gloves -- 29605
 	AddRecipe(29605, 335, 23508, Q.COMMON, V.TBC, 335, 345, 355, 365)
 	self:AddRecipeFlags(29605, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(29605, A.VENDOR, 19342, A.VENDOR, 19694)
+	self:AddRecipeVendor(29605, 19342, 19694)

 	-- Adamantite Breastplate -- 29606
 	AddRecipe(29606, 340, 23507, Q.COMMON, V.TBC, 340, 350, 360, 370)
 	self:AddRecipeFlags(29606, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(29606, A.VENDOR, 19342, A.VENDOR, 19694)
+	self:AddRecipeVendor(29606, 19342, 19694)

 	-- Enchanted Adamantite Belt -- 29608
 	AddRecipe(29608, 355, 23510, Q.COMMON, V.TBC, 355, 365, 375, 385)
 	self:AddRecipeFlags(29608, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.SCRYER)
-	self:AddRecipeAcquire(29608, A.REPUTATION, FAC.SCRYER, REP.FRIENDLY, 19331)
+	self:AddRecipeRepVendor(29608, FAC.SCRYER, REP.FRIENDLY, 19331)

 	-- Enchanted Adamantite Breastplate -- 29610
 	AddRecipe(29610, 360, 23509, Q.COMMON, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(29610, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.SCRYER)
-	self:AddRecipeAcquire(29610, A.REPUTATION, FAC.SCRYER, REP.REVERED, 19331)
+	self:AddRecipeRepVendor(29610, FAC.SCRYER, REP.REVERED, 19331)

 	-- Enchanted Adamantite Boots -- 29611
 	AddRecipe(29611, 355, 23511, Q.COMMON, V.TBC, 355, 365, 375, 385)
 	self:AddRecipeFlags(29611, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.SCRYER)
-	self:AddRecipeAcquire(29611, A.REPUTATION, FAC.SCRYER, REP.HONORED, 19331)
+	self:AddRecipeRepVendor(29611, FAC.SCRYER, REP.HONORED, 19331)

 	-- Enchanted Adamantite Leggings -- 29613
 	AddRecipe(29613, 365, 23512, Q.COMMON, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29613, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.SCRYER)
-	self:AddRecipeAcquire(29613, A.REPUTATION, FAC.SCRYER, REP.EXALTED, 19331)
+	self:AddRecipeRepVendor(29613, FAC.SCRYER, REP.EXALTED, 19331)

 	-- Flamebane Bracers -- 29614
 	AddRecipe(29614, 350, 23515, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(29614, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.ALDOR)
-	self:AddRecipeAcquire(29614, A.REPUTATION, FAC.ALDOR, REP.FRIENDLY, 19321)
+	self:AddRecipeRepVendor(29614, FAC.ALDOR, REP.FRIENDLY, 19321)

 	-- Flamebane Helm -- 29615
 	AddRecipe(29615, 355, 23516, Q.COMMON, V.TBC, 355, 365, 375, 385)
 	self:AddRecipeFlags(29615, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.ALDOR)
-	self:AddRecipeAcquire(29615, A.REPUTATION, FAC.ALDOR, REP.EXALTED, 19321)
+	self:AddRecipeRepVendor(29615, FAC.ALDOR, REP.EXALTED, 19321)

 	-- Flamebane Gloves -- 29616
 	AddRecipe(29616, 360, 23514, Q.COMMON, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(29616, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.ALDOR)
-	self:AddRecipeAcquire(29616, A.REPUTATION, FAC.ALDOR, REP.HONORED, 19321)
+	self:AddRecipeRepVendor(29616, FAC.ALDOR, REP.HONORED, 19321)

 	-- Flamebane Breastplate -- 29617
 	AddRecipe(29617, 365, 23513, Q.COMMON, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29617, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.ALDOR)
-	self:AddRecipeAcquire(29617, A.REPUTATION, FAC.ALDOR, REP.REVERED, 19321)
+	self:AddRecipeRepVendor(29617, FAC.ALDOR, REP.REVERED, 19321)

 	-- Felsteel Gloves -- 29619
 	AddRecipe(29619, 360, 23517, Q.RARE, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(29619, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(29619, A.MOB, 18497)
+	self:AddRecipeMobDrop(29619, 18497)

 	-- Felsteel Leggings -- 29620
 	AddRecipe(29620, 360, 23518, Q.RARE, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(29620, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(29620, A.MOB, 20900)
+	self:AddRecipeMobDrop(29620, 20900)

 	-- Felsteel Helm -- 29621
 	AddRecipe(29621, 365, 23519, Q.RARE, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29621, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(29621, A.MOB, 18830)
+	self:AddRecipeMobDrop(29621, 18830)

-	-- Gauntlets of the Iron Tower -- 29622 SPECIAL WORLD DROP
+	-- Gauntlets of the Iron Tower -- 29622
 	AddRecipe(29622, 365, 23532, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29622, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.TANK, F.PLATE)
 	self:AddRecipeAcquire(29622, A.WORLD_DROP, 4)
@@ -1408,89 +1420,90 @@ function addon:InitBlacksmithing()
 	-- Khorium Belt -- 29628
 	AddRecipe(29628, 360, 23524, Q.RARE, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(29628, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(29628, A.MOB, 18203)
+	self:AddRecipeMobDrop(29628, 18203)

 	-- Khorium Pants -- 29629
 	AddRecipe(29629, 360, 23523, Q.RARE, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(29629, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(29629, A.MOB, 20878)
+	self:AddRecipeMobDrop(29629, 20878)

 	-- Khorium Boots -- 29630
 	AddRecipe(29630, 365, 23525, Q.RARE, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29630, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(29630, A.MOB, 18873)
+	self:AddRecipeMobDrop(29630, 18873)

 	-- Ragesteel Gloves -- 29642
 	AddRecipe(29642, 365, 23520, Q.RARE, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29642, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(29642, A.MOB, 17136)
+	self:AddRecipeMobDrop(29642, 17136)

 	-- Ragesteel Helm -- 29643
 	AddRecipe(29643, 365, 23521, Q.RARE, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29643, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(29643, A.MOB, 16952)
+	self:AddRecipeMobDrop(29643, 16952)

 	-- Ragesteel Breastplate -- 29645
 	AddRecipe(29645, 370, 23522, Q.RARE, V.TBC, 370, 380, 390, 400)
 	self:AddRecipeFlags(29645, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(29645, A.MOB, 21454, A.MOB, 23305, A.MOB, 23324)
+	self:AddRecipeMobDrop(29645, 23305, 23324, 21454)

 	-- Swiftsteel Gloves -- 29648
 	AddRecipe(29648, 370, 23526, Q.RARE, V.TBC, 370, 380, 390, 400)
 	self:AddRecipeFlags(29648, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(29648, A.MOB, 18314)
+	self:AddRecipeMobDrop(29648, 18314)

 	-- Earthpeace Breastplate -- 29649
 	AddRecipe(29649, 370, 23527, Q.RARE, V.TBC, 370, 380, 390, 400)
 	self:AddRecipeFlags(29649, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(29649, A.MOB, 17975)
+	self:AddRecipeMobDrop(29649, 17975)

 	-- Fel Sharpening Stone -- 29654
 	AddRecipe(29654, 300, 23528, Q.COMMON, V.TBC, 300, 300, 305, 310)
 	self:AddRecipeFlags(29654, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(29654, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(29654, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Adamantite Sharpening Stone -- 29656
 	AddRecipe(29656, 350, 23529, Q.COMMON, V.TBC, 350, 350, 355, 360)
 	self:AddRecipeFlags(29656, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(29656, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)
+	self:AddRecipeRepVendor(29656, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)

 	-- Felsteel Shield Spike -- 29657
 	AddRecipe(29657, 360, 23530, Q.COMMON, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(29657, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.HELLFIRE)
-	self:AddRecipeAcquire(29657, A.REPUTATION, FAC.HONOR_HOLD, REP.EXALTED, 17657, A.REPUTATION, FAC.THRALLMAR, REP.EXALTED, 17585)
+	self:AddRecipeRepVendor(29657, FAC.HONOR_HOLD, REP.EXALTED, 17657)
+	self:AddRecipeRepVendor(29657, FAC.THRALLMAR, REP.EXALTED, 17585)

-	-- Felfury Gauntlets -- 29658 SPECIAL WORLD DROP
+	-- Felfury Gauntlets -- 29658
 	AddRecipe(29658, 365, 23531, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29658, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
 	self:AddRecipeAcquire(29658, A.WORLD_DROP, 2)

-	-- Steelgrip Gauntlets -- 29662  SPECIAL WORLD DROP
+	-- Steelgrip Gauntlets -- 29662
 	AddRecipe(29662, 365, 23533, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29662, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.PLATE)
 	self:AddRecipeAcquire(29662, A.WORLD_DROP, 4)

-	-- Storm Helm -- 29663 SPECIAL WORLD DROP
+	-- Storm Helm -- 29663
 	AddRecipe(29663, 365, 23534, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29663, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
 	self:AddRecipeAcquire(29663, A.WORLD_DROP, 4)

-	-- Helm of the Stalwart Defender -- 29664 SPECIAL WORLD DROP
+	-- Helm of the Stalwart Defender -- 29664
 	AddRecipe(29664, 365, 23535, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29664, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.TANK, F.PLATE)
 	self:AddRecipeAcquire(29664, A.WORLD_DROP, 4)

-	-- Oathkeeper's Helm -- 29668 SPECIAL WORLD DROP
+	-- Oathkeeper's Helm -- 29668
 	AddRecipe(29668, 365, 23536, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29668, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.TANK, F.PLATE)
 	self:AddRecipeAcquire(29668, A.WORLD_DROP, 4)

-	-- Black Felsteel Bracers -- 29669 -- SPECIAL WORLD DROP
+	-- Black Felsteel Bracers -- 29669
 	AddRecipe(29669, 365, 23537, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29669, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.PLATE)
 	self:AddRecipeAcquire(29669, A.WORLD_DROP, 4)

-	-- Bracers of the Green Fortress -- 29671  SPECIAL WORLD DROP
+	-- Bracers of the Green Fortress -- 29671
 	AddRecipe(29671, 365, 23538, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29671, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.TANK, F.PLATE)
 	self:AddRecipeAcquire(29671, A.WORLD_DROP, 4)
@@ -1500,47 +1513,47 @@ function addon:InitBlacksmithing()
 	self:AddRecipeFlags(29672, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.PLATE)
 	self:AddRecipeAcquire(29672, A.WORLD_DROP, 4)

-	-- Felsteel Longblade -- 29692 SPECIAL WORLD DROP
+	-- Felsteel Longblade -- 29692
 	AddRecipe(29692, 365, 23540, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29692, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.ONE_HAND, F.SWORD)
 	self:AddRecipeAcquire(29692, A.WORLD_DROP, 2)

-	-- Khorium Champion -- 29693  SPECIAL WORLD DROP
+	-- Khorium Champion -- 29693
 	AddRecipe(29693, 365, 23541, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29693, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.TWO_HAND, F.SWORD)
 	self:AddRecipeAcquire(29693, A.WORLD_DROP, 4)

-	-- Fel Edged Battleaxe -- 29694 SPECIAL WORLD DROP
+	-- Fel Edged Battleaxe -- 29694
 	AddRecipe(29694, 365, 23542, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29694, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.ONE_HAND, F.AXE)
 	self:AddRecipeAcquire(29694, A.WORLD_DROP, 4)

-	-- Felsteel Reaper -- 29695 SPECIAL WORLD DROP
+	-- Felsteel Reaper -- 29695
 	AddRecipe(29695, 365, 23543, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29695, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.TWO_HAND, F.AXE)
 	self:AddRecipeAcquire(29695, A.WORLD_DROP, 4)

-	-- Runic Hammer -- 29696 SPECIAL WORLD DROP
+	-- Runic Hammer -- 29696
 	AddRecipe(29696, 365, 23544, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29696, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.ONE_HAND, F.MACE)
 	self:AddRecipeAcquire(29696, A.WORLD_DROP, 2)

-	-- Fel Hardened Maul -- 29697  SPECIAL WORLD DROP
+	-- Fel Hardened Maul -- 29697
 	AddRecipe(29697, 365, 23546, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29697, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.TWO_HAND, F.MACE)
 	self:AddRecipeAcquire(29697, A.WORLD_DROP, 4)

-	-- Eternium Runed Blade -- 29698 SPECIAL WORLD DROP
+	-- Eternium Runed Blade -- 29698
 	AddRecipe(29698, 365, 23554, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29698, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.ONE_HAND, F.DAGGER)
 	self:AddRecipeAcquire(29698, A.WORLD_DROP, 4)

-	-- Dirge -- 29699  SPECIAL WORLD DROP
+	-- Dirge -- 29699
 	AddRecipe(29699, 365, 23555, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29699, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.ONE_HAND, F.DAGGER)
 	self:AddRecipeAcquire(29699, A.WORLD_DROP, 2)

-	-- Hand of Eternity -- 29700 SPECIAL WORLD DROP
+	-- Hand of Eternity -- 29700
 	AddRecipe(29700, 365, 23556, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(29700, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.ONE_HAND, F.MACE)
 	self:AddRecipeAcquire(29700, A.WORLD_DROP, 2)
@@ -1548,252 +1561,252 @@ function addon:InitBlacksmithing()
 	-- Lesser Ward of Shielding -- 29728
 	AddRecipe(29728, 340, 23575, Q.COMMON, V.TBC, 340, 340, 345, 350)
 	self:AddRecipeFlags(29728, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(29728, A.VENDOR, 16583, A.VENDOR, 19373)
+	self:AddRecipeVendor(29728, 16583, 19373)

 	-- Greater Ward of Shielding -- 29729
 	AddRecipe(29729, 375, 23576, Q.RARE, V.TBC, 375, 375, 375, 375)
 	self:AddRecipeFlags(29729, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(29729, A.MOB, 18853)
+	self:AddRecipeMobDrop(29729, 18853)

 	-- Lesser Rune of Warding -- 32284
 	AddRecipe(32284, 325, 23559, Q.COMMON, V.TBC, 325, 325, 330, 335)
 	self:AddRecipeFlags(32284, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(32284, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(32284, 28694, 26988, 26981, 29924, 27034, 33609, 26952, 33631, 26564, 26904, 33591, 16583, 19341, 16823)

 	-- Greater Rune of Warding -- 32285
 	AddRecipe(32285, 350, 25521, Q.COMMON, V.TBC, 350, 350, 355, 360)
 	self:AddRecipeFlags(32285, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(32285, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)
+	self:AddRecipeRepVendor(32285, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)

 	-- Fel Iron Rod -- 32655
 	AddRecipe(32655, 300, 25843, Q.COMMON, V.TBC, 300, 300, 305, 310)
 	self:AddRecipeFlags(32655, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(32655, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(32655, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Adamantite Rod -- 32656
 	AddRecipe(32656, 350, 25844, Q.COMMON, V.TBC, 350, 350, 355, 360)
 	self:AddRecipeFlags(32656, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(32656, A.VENDOR, 19662)
+	self:AddRecipeVendor(32656, 19662)

 	-- Eternium Rod -- 32657
 	AddRecipe(32657, 360, 25845, Q.COMMON, V.TBC, 360, 365, 370, 375)
 	self:AddRecipeFlags(32657, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(32657, A.VENDOR, 16583, A.VENDOR, 19373)
+	self:AddRecipeVendor(32657, 16583, 19373)

 	-- Nether Chain Shirt -- 34529
 	AddRecipe(34529, 350, 23563, Q.COMMON, V.TBC, 350, 360, 370, 380, 9788)
 	self:AddRecipeFlags(34529, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(34529, A.TRAINER, 5164, A.TRAINER, 7230, A.TRAINER, 11177, A.TRAINER, 20125, A.TRAINER, 29506)
+	self:AddRecipeTrainer(34529, 11177, 5164, 29506, 7230, 20125)

 	-- Twisting Nether Chain Shirt -- 34530
 	AddRecipe(34530, 375, 23564, Q.COMMON, V.TBC, 375, 385, 395, 405, 9788)
 	self:AddRecipeFlags(34530, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(34530, A.TRAINER, 5164, A.TRAINER, 7230, A.TRAINER, 11177, A.TRAINER, 20125, A.TRAINER, 29506)
+	self:AddRecipeTrainer(34530, 11177, 5164, 29506, 7230, 20125)

 	-- Breastplate of Kings -- 34533
 	AddRecipe(34533, 350, 28483, Q.COMMON, V.TBC, 350, 360, 370, 380, 9788)
 	self:AddRecipeFlags(34533, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(34533, A.TRAINER, 5164, A.TRAINER, 7230, A.TRAINER, 11177, A.TRAINER, 20125, A.TRAINER, 29506)
+	self:AddRecipeTrainer(34533, 11177, 5164, 29506, 7230, 20125)

 	-- Bulwark of Kings -- 34534
 	AddRecipe(34534, 375, 28484, Q.COMMON, V.TBC, 375, 385, 395, 405, 9788)
 	self:AddRecipeFlags(34534, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(34534, A.TRAINER, 5164, A.TRAINER, 7230, A.TRAINER, 11177, A.TRAINER, 20125, A.TRAINER, 29506)
+	self:AddRecipeTrainer(34534, 11177, 5164, 29506, 7230, 20125)

 	-- Fireguard -- 34535
 	AddRecipe(34535, 350, 28425, Q.COMMON, V.TBC, 350, 360, 370, 380, 17039)
 	self:AddRecipeFlags(34535, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(34535, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(34535, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Blazeguard -- 34537
 	AddRecipe(34537, 375, 28426, Q.COMMON, V.TBC, 375, 385, 395, 405, 17039)
 	self:AddRecipeFlags(34537, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(34537, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(34537, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Lionheart Blade -- 34538
 	AddRecipe(34538, 350, 28428, Q.COMMON, V.TBC, 350, 360, 370, 380, 17039)
 	self:AddRecipeFlags(34538, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.SWORD)
-	self:AddRecipeAcquire(34538, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(34538, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Lionheart Champion -- 34540
 	AddRecipe(34540, 375, 28429, Q.COMMON, V.TBC, 375, 385, 395, 405, 17039)
 	self:AddRecipeFlags(34540, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.SWORD)
-	self:AddRecipeAcquire(34540, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(34540, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- The Planar Edge -- 34541
 	AddRecipe(34541, 350, 28431, Q.COMMON, V.TBC, 350, 360, 370, 380, 17041)
 	self:AddRecipeFlags(34541, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(34541, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(34541, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Black Planar Edge -- 34542
 	AddRecipe(34542, 375, 28432, Q.COMMON, V.TBC, 375, 385, 395, 405, 17041)
 	self:AddRecipeFlags(34542, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(34542, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(34542, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Lunar Crescent -- 34543
 	AddRecipe(34543, 350, 28434, Q.COMMON, V.TBC, 350, 360, 370, 380, 17041)
 	self:AddRecipeFlags(34543, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.AXE)
-	self:AddRecipeAcquire(34543, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(34543, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Mooncleaver -- 34544
 	AddRecipe(34544, 375, 28435, Q.COMMON, V.TBC, 375, 385, 395, 405, 17041)
 	self:AddRecipeFlags(34544, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.AXE)
-	self:AddRecipeAcquire(34544, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(34544, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Drakefist Hammer -- 34545
 	AddRecipe(34545, 350, 28437, Q.COMMON, V.TBC, 350, 360, 370, 380, 17040)
 	self:AddRecipeFlags(34545, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(34545, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(34545, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Dragonmaw -- 34546
 	AddRecipe(34546, 375, 28438, Q.COMMON, V.TBC, 375, 385, 395, 405, 17040)
 	self:AddRecipeFlags(34546, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(34546, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(34546, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Thunder -- 34547
 	AddRecipe(34547, 350, 28440, Q.COMMON, V.TBC, 350, 360, 370, 380, 17040)
 	self:AddRecipeFlags(34547, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.MACE)
-	self:AddRecipeAcquire(34547, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(34547, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Deep Thunder -- 34548
 	AddRecipe(34548, 375, 28441, Q.COMMON, V.TBC, 375, 385, 395, 405, 17040)
 	self:AddRecipeFlags(34548, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.MACE)
-	self:AddRecipeAcquire(34548, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(34548, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Fel Weightstone -- 34607
 	AddRecipe(34607, 300, 28420, Q.COMMON, V.TBC, 300, 300, 305, 310)
 	self:AddRecipeFlags(34607, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(34607, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(34607, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Adamantite Weightstone -- 34608
 	AddRecipe(34608, 350, 28421, Q.COMMON, V.TBC, 350, 350, 355, 360)
 	self:AddRecipeFlags(34608, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(34608, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)
+	self:AddRecipeRepVendor(34608, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)

 	-- Thick Bronze Darts -- 34979
 	AddRecipe(34979, 100, 29201, Q.COMMON, V.TBC, 100, 130, 145, 160)
 	self:AddRecipeFlags(34979, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.THROWN)
-	self:AddRecipeAcquire(34979, A.TRAINER, 2836, A.TRAINER, 2998, A.TRAINER, 3136, A.TRAINER, 3355, A.TRAINER, 3478, A.TRAINER, 4258, A.TRAINER, 4596, A.TRAINER, 5511, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16724, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 33591, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(34979, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 16724, 3355)

 	-- Whirling Steel Axes -- 34981
 	AddRecipe(34981, 200, 29202, Q.COMMON, V.TBC, 200, 220, 230, 240)
 	self:AddRecipeFlags(34981, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.THROWN)
-	self:AddRecipeAcquire(34981, A.TRAINER, 2836, A.TRAINER, 3355, A.TRAINER, 4258, A.TRAINER, 16583, A.TRAINER, 16669, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(34981, 29924, 3174, 33591, 17245, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 26981, 3136, 4258, 514, 33609, 15400, 2836, 27034, 26988, 4596, 28694, 33631, 33675, 5511, 16823, 1241, 16669, 3478, 3355, 16724)

 	-- Enchanted Thorium Blades -- 34982
 	AddRecipe(34982, 300, 29203, Q.COMMON, V.TBC, 300, 320, 330, 340)
 	self:AddRecipeFlags(34982, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.THROWN)
-	self:AddRecipeAcquire(34982, A.TRAINER, 2836, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 4258, A.TRAINER, 5511, A.TRAINER, 514, A.TRAINER, 1241, A.TRAINER, 16724, A.TRAINER, 3355, A.TRAINER, 33591, A.TRAINER, 2998, A.TRAINER, 3478, A.TRAINER, 3136, A.TRAINER, 4596, A.TRAINER, 3174, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 15400, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 17245, A.TRAINER, 6299, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 3557, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(34982, 3174, 33591, 29924, 3557, 6299, 2998, 26904, 26564, 19341, 26952, 16583, 17245, 3136, 4258, 514, 26981, 33631, 2836, 27034, 26988, 4596, 28694, 15400, 33675, 5511, 16823, 33609, 1241, 3478, 3355, 16724)

 	-- Felsteel Whisper Knives -- 34983
 	AddRecipe(34983, 350, 29204, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(34983, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.THROWN)
-	self:AddRecipeAcquire(34983, A.TRAINER, 16583, A.TRAINER, 16823, A.TRAINER, 19341, A.TRAINER, 28694, A.TRAINER, 27034, A.TRAINER, 33591, A.TRAINER, 26988, A.TRAINER, 33609, A.TRAINER, 33631, A.TRAINER, 33675, A.TRAINER, 26981, A.TRAINER, 26564, A.TRAINER, 26952, A.TRAINER, 26904, A.TRAINER, 29924)
+	self:AddRecipeTrainer(34983, 28694, 26988, 29924, 33675, 33631, 27034, 33609, 26952, 26564, 26981, 26904, 33591, 16583, 19341, 16823)

 	-- Earthforged Leggings -- 36122
 	AddRecipe(36122, 260, 30069, Q.COMMON, V.TBC, 260, 280, 290, 300, 9788)
 	self:AddRecipeFlags(36122, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(36122, A.TRAINER, 5164, A.TRAINER, 7230, A.TRAINER, 11177, A.TRAINER, 20125, A.TRAINER, 29506)
+	self:AddRecipeTrainer(36122, 11177, 5164, 29506, 7230, 20125)

 	-- Windforged Leggings -- 36124
 	AddRecipe(36124, 260, 30070, Q.COMMON, V.TBC, 260, 280, 290, 300, 9788)
 	self:AddRecipeFlags(36124, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(36124, A.TRAINER, 5164, A.TRAINER, 7230, A.TRAINER, 11177, A.TRAINER, 20125, A.TRAINER, 29506)
+	self:AddRecipeTrainer(36124, 11177, 5164, 29506, 7230, 20125)

 	-- Light Earthforged Blade -- 36125
 	AddRecipe(36125, 260, 30071, Q.COMMON, V.TBC, 260, 280, 290, 300, 9787)
 	self:AddRecipeFlags(36125, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(36125, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36125, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Light Skyforged Axe -- 36126
 	AddRecipe(36126, 260, 30072, Q.COMMON, V.TBC, 260, 280, 290, 300, 9787)
 	self:AddRecipeFlags(36126, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(36126, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36126, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Light Emberforged Hammer -- 36128
 	AddRecipe(36128, 260, 30073, Q.COMMON, V.TBC, 260, 280, 290, 300, 9787)
 	self:AddRecipeFlags(36128, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(36128, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36128, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Heavy Earthforged Breastplate -- 36129
 	AddRecipe(36129, 330, 30074, Q.COMMON, V.TBC, 330, 340, 350, 360, 9788)
 	self:AddRecipeFlags(36129, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(36129, A.TRAINER, 5164, A.TRAINER, 7230, A.TRAINER, 11177, A.TRAINER, 20125, A.TRAINER, 29506)
+	self:AddRecipeTrainer(36129, 11177, 5164, 29506, 7230, 20125)

 	-- Stormforged Hauberk -- 36130
 	AddRecipe(36130, 330, 30076, Q.COMMON, V.TBC, 330, 340, 350, 360, 9788)
 	self:AddRecipeFlags(36130, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(36130, A.TRAINER, 5164, A.TRAINER, 7230, A.TRAINER, 11177, A.TRAINER, 20125, A.TRAINER, 29506)
+	self:AddRecipeTrainer(36130, 11177, 5164, 29506, 7230, 20125)

 	-- Windforged Rapier -- 36131
 	AddRecipe(36131, 330, 30077, Q.COMMON, V.TBC, 330, 340, 350, 360, 17039)
 	self:AddRecipeFlags(36131, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(36131, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36131, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Stoneforged Claymore -- 36133
 	AddRecipe(36133, 330, 30086, Q.COMMON, V.TBC, 330, 340, 350, 360, 17039)
 	self:AddRecipeFlags(36133, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.SWORD)
-	self:AddRecipeAcquire(36133, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36133, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Stormforged Axe -- 36134
 	AddRecipe(36134, 330, 30087, Q.COMMON, V.TBC, 330, 340, 350, 360, 17041)
 	self:AddRecipeFlags(36134, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(36134, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36134, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Skyforged Great Axe -- 36135
 	AddRecipe(36135, 330, 30088, Q.COMMON, V.TBC, 330, 340, 350, 360, 17041)
 	self:AddRecipeFlags(36135, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.AXE)
-	self:AddRecipeAcquire(36135, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36135, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Lavaforged Warhammer -- 36136
 	AddRecipe(36136, 330, 30089, Q.COMMON, V.TBC, 330, 340, 350, 360, 17040)
 	self:AddRecipeFlags(36136, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(36136, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36136, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Great Earthforged Hammer -- 36137
 	AddRecipe(36137, 330, 30093, Q.COMMON, V.TBC, 330, 340, 350, 360, 17040)
 	self:AddRecipeFlags(36137, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.MACE)
-	self:AddRecipeAcquire(36137, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36137, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Embrace of the Twisting Nether -- 36256
 	AddRecipe(36256, 375, 23565, Q.COMMON, V.TBC, 375, 385, 395, 405, 9788)
 	self:AddRecipeFlags(36256, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(36256, A.TRAINER, 5164, A.TRAINER, 7230, A.TRAINER, 11177, A.TRAINER, 20125, A.TRAINER, 29506)
+	self:AddRecipeTrainer(36256, 11177, 5164, 29506, 7230, 20125)

 	-- Bulwark of the Ancient Kings -- 36257
 	AddRecipe(36257, 375, 28485, Q.COMMON, V.TBC, 375, 385, 395, 405, 9788)
 	self:AddRecipeFlags(36257, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(36257, A.TRAINER, 5164, A.TRAINER, 7230, A.TRAINER, 11177, A.TRAINER, 20125, A.TRAINER, 29506)
+	self:AddRecipeTrainer(36257, 11177, 5164, 29506, 7230, 20125)

 	-- Blazefury -- 36258
 	AddRecipe(36258, 375, 28427, Q.COMMON, V.TBC, 375, 385, 395, 405, 17039)
 	self:AddRecipeFlags(36258, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(36258, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36258, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Lionheart Executioner -- 36259
 	AddRecipe(36259, 375, 28430, Q.COMMON, V.TBC, 375, 385, 395, 405, 17039)
 	self:AddRecipeFlags(36259, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.SWORD)
-	self:AddRecipeAcquire(36259, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36259, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Wicked Edge of the Planes -- 36260
 	AddRecipe(36260, 375, 28433, Q.COMMON, V.TBC, 375, 385, 395, 405, 17041)
 	self:AddRecipeFlags(36260, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(36260, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36260, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Bloodmoon -- 36261
 	AddRecipe(36261, 375, 28436, Q.COMMON, V.TBC, 375, 385, 395, 405, 17041)
 	self:AddRecipeFlags(36261, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.AXE)
-	self:AddRecipeAcquire(36261, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36261, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Dragonstrike -- 36262
 	AddRecipe(36262, 375, 28439, Q.COMMON, V.TBC, 375, 385, 395, 405, 17040)
 	self:AddRecipeFlags(36262, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(36262, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36262, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Stormherald -- 36263
 	AddRecipe(36263, 375, 28442, Q.COMMON, V.TBC, 375, 385, 395, 405, 17040)
 	self:AddRecipeFlags(36263, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.MACE)
-	self:AddRecipeAcquire(36263, A.TRAINER, 7231, A.TRAINER, 7232, A.TRAINER, 11146, A.TRAINER, 11178, A.TRAINER, 20124, A.TRAINER, 29505)
+	self:AddRecipeTrainer(36263, 7232, 29505, 11146, 7231, 20124, 11178)

 	-- Belt of the Guardian -- 36389
 	AddRecipe(36389, 375, 30034, Q.EPIC, V.TBC, 375, 385, 395, 405)
@@ -1818,52 +1831,52 @@ function addon:InitBlacksmithing()
 	-- Wildguard Breastplate -- 38473
 	AddRecipe(38473, 375, 31364, Q.EPIC, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(38473, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(38473, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.EXALTED, 17904)
+	self:AddRecipeRepVendor(38473, FAC.CENARION_EXPEDITION, REP.EXALTED, 17904)

 	-- Wildguard Leggings -- 38475
 	AddRecipe(38475, 375, 31367, Q.EPIC, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(38475, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.PLATE, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(38475, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.REVERED, 17904)
+	self:AddRecipeRepVendor(38475, FAC.CENARION_EXPEDITION, REP.REVERED, 17904)

 	-- Wildguard Helm -- 38476
 	AddRecipe(38476, 375, 31368, Q.EPIC, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(38476, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(38476, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.REVERED, 17904)
+	self:AddRecipeRepVendor(38476, FAC.CENARION_EXPEDITION, REP.REVERED, 17904)

 	-- Iceguard Breastplate -- 38477
 	AddRecipe(38477, 375, 31369, Q.EPIC, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(38477, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.VIOLETEYE)
-	self:AddRecipeAcquire(38477, A.REPUTATION, FAC.VIOLETEYE, REP.HONORED, 16388)
+	self:AddRecipeRepVendor(38477, FAC.VIOLETEYE, REP.HONORED, 16388)

 	-- Iceguard Leggings -- 38478
 	AddRecipe(38478, 375, 31370, Q.EPIC, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(38478, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.PLATE, F.VIOLETEYE)
-	self:AddRecipeAcquire(38478, A.REPUTATION, FAC.VIOLETEYE, REP.REVERED, 16388)
+	self:AddRecipeRepVendor(38478, FAC.VIOLETEYE, REP.REVERED, 16388)

 	-- Iceguard Helm -- 38479
 	AddRecipe(38479, 375, 31371, Q.EPIC, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(38479, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.VIOLETEYE)
-	self:AddRecipeAcquire(38479, A.REPUTATION, FAC.VIOLETEYE, REP.HONORED, 16388)
+	self:AddRecipeRepVendor(38479, FAC.VIOLETEYE, REP.HONORED, 16388)

 	-- Shadesteel Sabots -- 40033
 	AddRecipe(40033, 375, 32402, Q.COMMON, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(40033, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.PLATE, F.ASHTONGUE)
-	self:AddRecipeAcquire(40033, A.REPUTATION, FAC.ASHTONGUE, REP.HONORED, 23159)
+	self:AddRecipeRepVendor(40033, FAC.ASHTONGUE, REP.HONORED, 23159)

 	-- Shadesteel Bracers -- 40034
 	AddRecipe(40034, 375, 32403, Q.COMMON, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(40034, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.PLATE, F.ASHTONGUE)
-	self:AddRecipeAcquire(40034, A.REPUTATION, FAC.ASHTONGUE, REP.FRIENDLY, 23159)
+	self:AddRecipeRepVendor(40034, FAC.ASHTONGUE, REP.FRIENDLY, 23159)

 	-- Shadesteel Greaves -- 40035
 	AddRecipe(40035, 375, 32404, Q.COMMON, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(40035, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.PLATE, F.ASHTONGUE)
-	self:AddRecipeAcquire(40035, A.REPUTATION, FAC.ASHTONGUE, REP.HONORED, 23159)
+	self:AddRecipeRepVendor(40035, FAC.ASHTONGUE, REP.HONORED, 23159)

 	-- Shadesteel Girdle -- 40036
 	AddRecipe(40036, 375, 32401, Q.COMMON, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(40036, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.PLATE, F.ASHTONGUE)
-	self:AddRecipeAcquire(40036, A.REPUTATION, FAC.ASHTONGUE, REP.FRIENDLY, 23159)
+	self:AddRecipeRepVendor(40036, FAC.ASHTONGUE, REP.FRIENDLY, 23159)

 	-- Swiftsteel Bracers -- 41132
 	AddRecipe(41132, 375, 32568, Q.EPIC, V.TBC, 375, 385, 395, 405)
@@ -1888,12 +1901,12 @@ function addon:InitBlacksmithing()
 	-- Ragesteel Shoulders -- 42662
 	AddRecipe(42662, 365, 33173, Q.RARE, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(42662, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(42662, A.MOB, 21050, A.MOB, 21059, A.MOB, 21060, A.MOB, 21061)
+	self:AddRecipeMobDrop(42662, 21061, 21059, 21060, 21050)

 	-- Adamantite Weapon Chain -- 42688
 	AddRecipe(42688, 335, 33185, Q.UNCOMMON, V.TBC, 335, 345, 350, 355)
 	self:AddRecipeFlags(42688, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(42688, A.MOB, 24664)
+	self:AddRecipeMobDrop(42688, 24664)

 	-- Heavy Copper Longsword -- 43549
 	AddRecipe(43549, 35, 33791, Q.UNCOMMON, V.TBC, 35, 75, 95, 115)
@@ -1928,527 +1941,528 @@ function addon:InitBlacksmithing()
 	-- Cobalt Legplates -- 52567
 	AddRecipe(52567, 370, 39086, Q.UNCOMMON, V.WOTLK, 370, 375, 380, 385)
 	self:AddRecipeFlags(52567, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(52567, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(52567, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Cobalt Belt -- 52568
 	AddRecipe(52568, 350, 39087, Q.UNCOMMON, V.WOTLK, 350, 360, 370, 380)
 	self:AddRecipeFlags(52568, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(52568, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(52568, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Cobalt Boots -- 52569
 	AddRecipe(52569, 350, 39088, Q.UNCOMMON, V.WOTLK, 350, 360, 370, 380)
 	self:AddRecipeFlags(52569, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(52569, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(52569, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Cobalt Chestpiece -- 52570
 	AddRecipe(52570, 375, 39085, Q.UNCOMMON, V.WOTLK, 375, 380, 385, 390)
 	self:AddRecipeFlags(52570, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(52570, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(52570, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Cobalt Helm -- 52571
 	AddRecipe(52571, 370, 39084, Q.UNCOMMON, V.WOTLK, 370, 375, 380, 385)
 	self:AddRecipeFlags(52571, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(52571, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(52571, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Cobalt Shoulders -- 52572
 	AddRecipe(52572, 360, 39083, Q.UNCOMMON, V.WOTLK, 360, 370, 375, 380)
 	self:AddRecipeFlags(52572, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(52572, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(52572, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Cobalt Triangle Shield -- 54550
 	AddRecipe(54550, 360, 40668, Q.UNCOMMON, V.WOTLK, 360, 370, 375, 380)
 	self:AddRecipeFlags(54550, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.SHIELD, F.ONE_HAND)
-	self:AddRecipeAcquire(54550, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54550, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Tempered Saronite Belt -- 54551
 	AddRecipe(54551, 395, 40669, Q.RARE, V.WOTLK, 395, 400, 405, 410)
 	self:AddRecipeFlags(54551, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(54551, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54551, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Tempered Saronite Boots -- 54552
 	AddRecipe(54552, 400, 40671, Q.RARE, V.WOTLK, 400, 405, 410, 415)
 	self:AddRecipeFlags(54552, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(54552, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54552, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Tempered Saronite Breastplate -- 54553
 	AddRecipe(54553, 400, 40672, Q.RARE, V.WOTLK, 400, 405, 410, 415)
 	self:AddRecipeFlags(54553, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(54553, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54553, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Tempered Saronite Legplates -- 54554
 	AddRecipe(54554, 395, 40674, Q.RARE, V.WOTLK, 395, 400, 405, 410)
 	self:AddRecipeFlags(54554, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(54554, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54554, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Tempered Saronite Helm -- 54555
 	AddRecipe(54555, 405, 40673, Q.RARE, V.WOTLK, 405, 410, 415, 420)
 	self:AddRecipeFlags(54555, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(54555, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54555, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Tempered Saronite Shoulders -- 54556
 	AddRecipe(54556, 405, 40675, Q.RARE, V.WOTLK, 405, 410, 415, 420)
 	self:AddRecipeFlags(54556, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(54556, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54556, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Saronite Defender -- 54557
 	AddRecipe(54557, 390, 40670, Q.RARE, V.WOTLK, 390, 395, 400, 405)
 	self:AddRecipeFlags(54557, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.SHIELD, F.ONE_HAND)
-	self:AddRecipeAcquire(54557, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54557, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Spiked Cobalt Helm -- 54917
 	AddRecipe(54917, 375, 40942, Q.UNCOMMON, V.WOTLK, 375, 380, 385, 390)
 	self:AddRecipeFlags(54917, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54917, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54917, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Spiked Cobalt Boots -- 54918
 	AddRecipe(54918, 380, 40949, Q.UNCOMMON, V.WOTLK, 380, 385, 390, 395)
 	self:AddRecipeFlags(54918, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54918, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54918, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Spiked Cobalt Shoulders -- 54941
 	AddRecipe(54941, 385, 40950, Q.UNCOMMON, V.WOTLK, 385, 390, 395, 400)
 	self:AddRecipeFlags(54941, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54941, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54941, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Spiked Cobalt Chestpiece -- 54944
 	AddRecipe(54944, 385, 40951, Q.UNCOMMON, V.WOTLK, 385, 390, 395, 400)
 	self:AddRecipeFlags(54944, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54944, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54944, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Spiked Cobalt Gauntlets -- 54945
 	AddRecipe(54945, 390, 40952, Q.UNCOMMON, V.WOTLK, 390, 395, 400, 405)
 	self:AddRecipeFlags(54945, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54945, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54945, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Spiked Cobalt Belt -- 54946
 	AddRecipe(54946, 395, 40953, Q.UNCOMMON, V.WOTLK, 395, 400, 405, 410)
 	self:AddRecipeFlags(54946, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54946, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54946, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Spiked Cobalt Legplates -- 54947
 	AddRecipe(54947, 395, 40943, Q.UNCOMMON, V.WOTLK, 395, 400, 405, 410)
 	self:AddRecipeFlags(54947, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54947, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54947, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Spiked Cobalt Bracers -- 54948
 	AddRecipe(54948, 400, 40954, Q.UNCOMMON, V.WOTLK, 400, 405, 410, 415)
 	self:AddRecipeFlags(54948, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54948, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54948, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Horned Cobalt Helm -- 54949
 	AddRecipe(54949, 400, 40955, Q.UNCOMMON, V.WOTLK, 400, 405, 410, 415)
 	self:AddRecipeFlags(54949, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54949, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(54949, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Reinforced Cobalt Shoulders -- 54978
 	AddRecipe(54978, 375, 40956, Q.UNCOMMON, V.WOTLK, 375, 395, 400, 405)
 	self:AddRecipeFlags(54978, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54978, A.MOB, 27333)
+	self:AddRecipeMobDrop(54978, 27333)

 	-- Reinforced Cobalt Helm -- 54979
 	AddRecipe(54979, 375, 40957, Q.UNCOMMON, V.WOTLK, 375, 405, 410, 415)
 	self:AddRecipeFlags(54979, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54979, A.MOB, 26270)
+	self:AddRecipeMobDrop(54979, 26270)

 	-- Reinforced Cobalt Legplates -- 54980
 	AddRecipe(54980, 375, 40958, Q.UNCOMMON, V.WOTLK, 375, 410, 415, 420)
 	self:AddRecipeFlags(54980, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54980, A.MOB, 29235)
+	self:AddRecipeMobDrop(54980, 29235)

 	-- Reinforced Cobalt Chestpiece -- 54981
 	AddRecipe(54981, 375, 40959, Q.UNCOMMON, V.WOTLK, 375, 415, 420, 425)
 	self:AddRecipeFlags(54981, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(54981, A.MOB, 28123)
+	self:AddRecipeMobDrop(54981, 28123)

 	-- Saronite Protector -- 55013
 	AddRecipe(55013, 390, 41117, Q.RARE, V.WOTLK, 390, 395, 400, 405)
 	self:AddRecipeFlags(55013, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SHIELD, F.ONE_HAND)
-	self:AddRecipeAcquire(55013, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55013, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Saronite Bulwark -- 55014
 	AddRecipe(55014, 410, 41113, Q.RARE, V.WOTLK, 410, 415, 420, 425)
 	self:AddRecipeFlags(55014, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.SHIELD, F.ONE_HAND)
-	self:AddRecipeAcquire(55014, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55014, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Tempered Saronite Gauntlets -- 55015
 	AddRecipe(55015, 415, 41114, Q.RARE, V.WOTLK, 415, 420, 425, 430)
 	self:AddRecipeFlags(55015, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(55015, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55015, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Tempered Saronite Bracers -- 55017
 	AddRecipe(55017, 410, 41116, Q.RARE, V.WOTLK, 410, 415, 420, 425)
 	self:AddRecipeFlags(55017, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(55017, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55017, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Brilliant Saronite Legplates -- 55055
 	AddRecipe(55055, 395, 41126, Q.RARE, V.WOTLK, 395, 400, 405, 410)
 	self:AddRecipeFlags(55055, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(55055, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55055, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Brilliant Saronite Gauntlets -- 55056
 	AddRecipe(55056, 400, 41127, Q.RARE, V.WOTLK, 400, 405, 410, 415)
 	self:AddRecipeFlags(55056, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(55056, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55056, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Brilliant Saronite Boots -- 55057
 	AddRecipe(55057, 405, 41128, Q.RARE, V.WOTLK, 405, 410, 415, 420)
 	self:AddRecipeFlags(55057, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(55057, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55057, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Brilliant Saronite Breastplate -- 55058
 	AddRecipe(55058, 415, 41129, Q.RARE, V.WOTLK, 415, 420, 425, 430)
 	self:AddRecipeFlags(55058, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(55058, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55058, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Honed Cobalt Cleaver -- 55174
 	AddRecipe(55174, 390, 41181, Q.RARE, V.WOTLK, 390, 395, 400, 405)
 	self:AddRecipeFlags(55174, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TWO_HAND, F.AXE)
-	self:AddRecipeAcquire(55174, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55174, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Savage Cobalt Slicer -- 55177
 	AddRecipe(55177, 395, 41182, Q.RARE, V.WOTLK, 395, 400, 405, 410)
 	self:AddRecipeFlags(55177, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(55177, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55177, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Saronite Ambusher -- 55179
 	AddRecipe(55179, 400, 41183, Q.RARE, V.WOTLK, 400, 405, 410, 415)
 	self:AddRecipeFlags(55179, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.DAGGER)
-	self:AddRecipeAcquire(55179, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55179, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Saronite Shiv -- 55181
 	AddRecipe(55181, 405, 41184, Q.RARE, V.WOTLK, 405, 410, 415, 420)
 	self:AddRecipeFlags(55181, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK, F.ONE_HAND, F.DAGGER)
-	self:AddRecipeAcquire(55181, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55181, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Furious Saronite Beatstick -- 55182
 	AddRecipe(55182, 410, 41185, Q.RARE, V.WOTLK, 410, 415, 420, 425)
 	self:AddRecipeFlags(55182, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(55182, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55182, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Corroded Saronite Edge -- 55183
 	AddRecipe(55183, 415, 41186, Q.RARE, V.WOTLK, 415, 420, 425, 430, 9787)
 	self:AddRecipeFlags(55183, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(55183, A.TRAINER, 11146, A.TRAINER, 29505, A.TRAINER, 11178)
+	self:AddRecipeTrainer(55183, 11146, 29505, 11178)

 	-- Corroded Saronite Woundbringer -- 55184
 	AddRecipe(55184, 415, 41187, Q.RARE, V.WOTLK, 415, 420, 425, 430, 9787)
 	self:AddRecipeFlags(55184, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(55184, A.TRAINER, 11146, A.TRAINER, 29505, A.TRAINER, 11178)
+	self:AddRecipeTrainer(55184, 11146, 29505, 11178)

 	-- Saronite Mindcrusher -- 55185
 	AddRecipe(55185, 415, 41188, Q.RARE, V.WOTLK, 415, 420, 425, 430, 9787)
 	self:AddRecipeFlags(55185, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TWO_HAND, F.MACE)
-	self:AddRecipeAcquire(55185, A.TRAINER, 11146, A.TRAINER, 29505, A.TRAINER, 11178)
+	self:AddRecipeTrainer(55185, 11146, 29505, 11178)

 	-- Chestplate of Conquest -- 55186
 	AddRecipe(55186, 415, 41189, Q.RARE, V.WOTLK, 415, 420, 425, 430, 9788)
 	self:AddRecipeFlags(55186, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55186, A.TRAINER, 29506, A.TRAINER, 5164, A.TRAINER, 11177)
+	self:AddRecipeTrainer(55186, 29506, 5164, 11177)

 	-- Legplates of Conquest -- 55187
 	AddRecipe(55187, 415, 41190, Q.RARE, V.WOTLK, 415, 420, 425, 430, 9788)
 	self:AddRecipeFlags(55187, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55187, A.TRAINER, 29506, A.TRAINER, 5164, A.TRAINER, 11177)
+	self:AddRecipeTrainer(55187, 29506, 5164, 11177)

 	-- Sturdy Cobalt Quickblade -- 55200
 	AddRecipe(55200, 380, 41239, Q.UNCOMMON, V.WOTLK, 380, 385, 390, 395)
 	self:AddRecipeFlags(55200, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(55200, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55200, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Cobalt Tenderizer -- 55201
 	AddRecipe(55201, 380, 41240, Q.UNCOMMON, V.WOTLK, 380, 385, 390, 395)
 	self:AddRecipeFlags(55201, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(55201, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55201, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Sure-fire Shuriken -- 55202
 	AddRecipe(55202, 385, 41241, Q.UNCOMMON, V.WOTLK, 385, 390, 395, 400)
 	self:AddRecipeFlags(55202, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.THROWN)
-	self:AddRecipeAcquire(55202, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55202, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Forged Cobalt Claymore -- 55203
 	AddRecipe(55203, 385, 41242, Q.UNCOMMON, V.WOTLK, 385, 390, 395, 400)
 	self:AddRecipeFlags(55203, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TWO_HAND, F.SWORD)
-	self:AddRecipeAcquire(55203, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55203, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Notched Cobalt War Axe -- 55204
 	AddRecipe(55204, 390, 41243, Q.UNCOMMON, V.WOTLK, 390, 395, 400, 405)
 	self:AddRecipeFlags(55204, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.AXE)
-	self:AddRecipeAcquire(55204, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55204, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Deadly Saronite Dirk -- 55206
 	AddRecipe(55206, 405, 41245, Q.RARE, V.WOTLK, 405, 415, 420, 425)
 	self:AddRecipeFlags(55206, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK, F.THROWN)
-	self:AddRecipeAcquire(55206, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55206, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Vengeance Bindings -- 55298
 	AddRecipe(55298, 420, 41355, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(55298, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55298, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55298, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Righteous Gauntlets -- 55300
 	AddRecipe(55300, 420, 41356, Q.RARE, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(55300, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(55300, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55300, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Daunting Handguards -- 55301
 	AddRecipe(55301, 420, 41357, Q.RARE, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(55301, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(55301, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55301, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Helm of Command -- 55302
 	AddRecipe(55302, 425, 41344, Q.RARE, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(55302, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55302, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55302, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Daunting Legplates -- 55303
 	AddRecipe(55303, 425, 41345, Q.RARE, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(55303, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(55303, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55303, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Righteous Greaves -- 55304
 	AddRecipe(55304, 425, 41346, Q.RARE, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(55304, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(55304, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55304, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Savage Saronite Bracers -- 55305
 	AddRecipe(55305, 420, 41354, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(55305, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55305, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55305, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Savage Saronite Pauldrons -- 55306
 	AddRecipe(55306, 420, 41351, Q.RARE, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(55306, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55306, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55306, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Savage Saronite Waistguard -- 55307
 	AddRecipe(55307, 420, 41352, Q.RARE, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(55307, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55307, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55307, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Savage Saronite Walkers -- 55308
 	AddRecipe(55308, 420, 41348, Q.RARE, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(55308, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55308, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55308, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Savage Saronite Gauntlets -- 55309
 	AddRecipe(55309, 420, 41349, Q.RARE, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(55309, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55309, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55309, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Savage Saronite Legplates -- 55310
 	AddRecipe(55310, 425, 41347, Q.RARE, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(55310, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55310, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55310, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Savage Saronite Hauberk -- 55311
 	AddRecipe(55311, 425, 41353, Q.RARE, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(55311, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55311, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55311, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Savage Saronite Skullshield -- 55312
 	AddRecipe(55312, 425, 41350, Q.RARE, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(55312, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55312, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55312, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Titansteel Destroyer -- 55369
 	AddRecipe(55369, 440, 41257, Q.EPIC, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(55369, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TWO_HAND, F.MACE)
-	self:AddRecipeAcquire(55369, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55369, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Titansteel Bonecrusher -- 55370
 	AddRecipe(55370, 440, 41383, Q.EPIC, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(55370, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(55370, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55370, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Titansteel Guardian -- 55371
 	AddRecipe(55371, 440, 41384, Q.EPIC, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(55371, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(55371, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55371, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Spiked Titansteel Helm -- 55372
 	AddRecipe(55372, 440, 41386, Q.EPIC, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(55372, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55372, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55372, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Tempered Titansteel Helm -- 55373
 	AddRecipe(55373, 440, 41387, Q.EPIC, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(55373, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(55373, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55373, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Brilliant Titansteel Helm -- 55374
 	AddRecipe(55374, 440, 41388, Q.EPIC, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(55374, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(55374, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55374, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Spiked Titansteel Treads -- 55375
 	AddRecipe(55375, 440, 41391, Q.EPIC, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(55375, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(55375, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55375, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Tempered Titansteel Treads -- 55376
 	AddRecipe(55376, 440, 41392, Q.EPIC, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(55376, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(55376, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55376, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Brilliant Titansteel Treads -- 55377
 	AddRecipe(55377, 440, 41394, Q.EPIC, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(55377, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(55377, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55377, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Socket Bracer -- 55628
 	AddRecipe(55628, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 400, 400)
 	self:AddRecipeFlags(55628, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55628, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55628, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Socket Gloves -- 55641
 	AddRecipe(55641, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 400, 400)
 	self:AddRecipeFlags(55641, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55641, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55641, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Eternal Belt Buckle -- 55656
 	AddRecipe(55656, 415, 41611, Q.RARE, V.WOTLK, 415, 420, 425, 430)
 	self:AddRecipeFlags(55656, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55656, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55656, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Titanium Rod -- 55732
 	AddRecipe(55732, 420, 41745, Q.COMMON, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(55732, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55732, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55732, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Cobalt Bracers -- 55834
 	AddRecipe(55834, 360, 41974, Q.UNCOMMON, V.WOTLK, 360, 370, 375, 380)
 	self:AddRecipeFlags(55834, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(55834, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55834, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Cobalt Gauntlets -- 55835
 	AddRecipe(55835, 370, 41975, Q.UNCOMMON, V.WOTLK, 370, 380, 385, 390)
 	self:AddRecipeFlags(55835, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(55835, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55835, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Titanium Weapon Chain -- 55839
 	AddRecipe(55839, 420, 41976, Q.UNCOMMON, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(55839, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55839, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(55839, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Titansteel Shanker -- 56234
 	AddRecipe(56234, 440, 42435, Q.EPIC, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(56234, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.DAGGER)
-	self:AddRecipeAcquire(56234, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(56234, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Cudgel of Saronite Justice -- 56280
 	AddRecipe(56280, 410, 42443, Q.RARE, V.WOTLK, 410, 415, 420, 425)
 	self:AddRecipeFlags(56280, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND, F.MACE)
-	self:AddRecipeAcquire(56280, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(56280, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Titanium Shield Spike -- 56357
 	AddRecipe(56357, 420, 42500, Q.COMMON, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(56357, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.SHIELD)
-	self:AddRecipeAcquire(56357, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(56357, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Titansteel Shield Wall -- 56400
 	AddRecipe(56400, 440, 42508, Q.EPIC, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(56400, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.SHIELD, F.ONE_HAND)
-	self:AddRecipeAcquire(56400, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(56400, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Ornate Saronite Bracers -- 56549
 	AddRecipe(56549, 420, 42723, Q.COMMON, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(56549, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(56549, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(56549, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Ornate Saronite Pauldrons -- 56550
 	AddRecipe(56550, 420, 42727, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(56550, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(56550, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(56550, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Ornate Saronite Waistguard -- 56551
 	AddRecipe(56551, 420, 42729, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(56551, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(56551, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(56551, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Ornate Saronite Walkers -- 56552
 	AddRecipe(56552, 420, 42730, Q.RARE, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(56552, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(56552, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(56552, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Ornate Saronite Gauntlets -- 56553
 	AddRecipe(56553, 420, 42724, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(56553, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(56553, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(56553, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Ornate Saronite Legplates -- 56554
 	AddRecipe(56554, 425, 42726, Q.COMMON, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(56554, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(56554, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(56554, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Ornate Saronite Hauberk -- 56555
 	AddRecipe(56555, 425, 42725, Q.COMMON, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(56555, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(56555, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(56555, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Ornate Saronite Skullshield -- 56556
 	AddRecipe(56556, 425, 42728, Q.RARE, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(56556, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(56556, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(56556, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Cobalt Skeleton Key -- 59405
 	AddRecipe(59405, 350, 43854, Q.COMMON, V.WOTLK, 350, 360, 365, 370)
 	self:AddRecipeFlags(59405, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59405, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(59405, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Titanium Skeleton Key -- 59406
 	AddRecipe(59406, 430, 43853, Q.COMMON, V.WOTLK, 430, 435, 440, 445)
 	self:AddRecipeFlags(59406, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59406, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(59406, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Brilliant Saronite Belt -- 59436
 	AddRecipe(59436, 395, 43860, Q.COMMON, V.WOTLK, 395, 400, 405, 410)
 	self:AddRecipeFlags(59436, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(59436, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(59436, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Brilliant Saronite Bracers -- 59438
 	AddRecipe(59438, 400, 43864, Q.COMMON, V.WOTLK, 400, 405, 410, 415)
 	self:AddRecipeFlags(59438, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(59438, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(59438, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Brilliant Saronite Pauldrons -- 59440
 	AddRecipe(59440, 405, 43865, Q.COMMON, V.WOTLK, 405, 410, 415, 420)
 	self:AddRecipeFlags(59440, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(59440, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(59440, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Brilliant Saronite Helm -- 59441
 	AddRecipe(59441, 415, 43870, Q.COMMON, V.WOTLK, 415, 420, 425, 430)
 	self:AddRecipeFlags(59441, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE)
-	self:AddRecipeAcquire(59441, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(59441, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Saronite Spellblade -- 59442
 	AddRecipe(59442, 410, 43871, Q.COMMON, V.WOTLK, 410, 415, 420, 425)
 	self:AddRecipeFlags(59442, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND, F.SWORD)
-	self:AddRecipeAcquire(59442, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(59442, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Icebane Chestguard -- 61008
 	AddRecipe(61008, 425, 43586, Q.COMMON, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(61008, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(61008, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(61008, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Icebane Girdle -- 61009
 	AddRecipe(61009, 420, 43587, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(61009, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(61009, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(61009, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Icebane Treads -- 61010
 	AddRecipe(61010, 420, 43588, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(61010, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(61010, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(61010, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Titanium Plating -- 62202
 	AddRecipe(62202, 450, 44936, Q.RARE, V.WOTLK, 450, 455, 460, 465)
 	self:AddRecipeFlags(62202, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.SHIELD, F.WRATHCOMMON1)
-	self:AddRecipeAcquire(62202, A.REPUTATION, FAC.HORDE_EXPEDITION, REP.EXALTED, 32565, A.REPUTATION, FAC.HORDE_EXPEDITION, REP.EXALTED, 32774, A.REPUTATION, FAC.ALLIANCE_VANGUARD, REP.EXALTED, 32564, A.REPUTATION, FAC.ALLIANCE_VANGUARD, REP.EXALTED, 32773)
+	self:AddRecipeRepVendor(62202, FAC.HORDE_EXPEDITION, REP.EXALTED, 32565, 32774)
+	self:AddRecipeRepVendor(62202, FAC.ALLIANCE_VANGUARD, REP.EXALTED, 32564, 32773)

 	-- Titansteel Spellblade -- 63182
 	AddRecipe(63182, 440, 45085, Q.EPIC, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(63182, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND, F.DAGGER)
-	self:AddRecipeAcquire(63182, A.TRAINER, 26564, A.TRAINER, 26904, A.TRAINER, 26952, A.TRAINER, 26981, A.TRAINER, 26988, A.TRAINER, 27034, A.TRAINER, 28694, A.TRAINER, 29924, A.TRAINER, 33591)
+	self:AddRecipeTrainer(63182, 29924, 26988, 26981, 27034, 26952, 26904, 33591, 26564, 28694)

 	-- Belt of the Titans -- 63187
 	AddRecipe(63187, 450, 45088, Q.EPIC, V.WOTLK, 450, 455, 465, 475)
@@ -2482,33 +2496,33 @@ function addon:InitBlacksmithing()

 	-- Puresteel Legplates -- 70562
 	AddRecipe(70562, 450, 49902, Q.EPIC, V.WOTLK, 450, 475, 487, 500)
-	self:AddRecipeFlags(70562, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.HEALER, F.CASTER, F.PLATE, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70562, A.REPUTATION, FAC.ASHEN_VERDICT, REP.REVERED, 37687)
+	self:AddRecipeFlags(70562, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70562, FAC.ASHEN_VERDICT, REP.REVERED, 37687)

 	-- Protectors of Life -- 70563
 	AddRecipe(70563, 450, 49905, Q.EPIC, V.WOTLK, 450, 475, 487, 500)
-	self:AddRecipeFlags(70563, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.HEALER, F.CASTER, F.PLATE, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70563, A.REPUTATION, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
+	self:AddRecipeFlags(70563, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.PLATE, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70563, FAC.ASHEN_VERDICT, REP.HONORED, 37687)

 	-- Legplates of Painful Death -- 70565
 	AddRecipe(70565, 450, 49903, Q.EPIC, V.WOTLK, 450, 475, 487, 500)
-	self:AddRecipeFlags(70565, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.DPS, F.PLATE, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70565, A.REPUTATION, FAC.ASHEN_VERDICT, REP.REVERED, 37687)
+	self:AddRecipeFlags(70565, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.PLATE, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70565, FAC.ASHEN_VERDICT, REP.REVERED, 37687)

 	-- Hellfrozen Bonegrinders -- 70566
 	AddRecipe(70566, 450, 49906, Q.EPIC, V.WOTLK, 450, 475, 487, 500)
-	self:AddRecipeFlags(70566, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.DPS, F.PLATE, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70566, A.REPUTATION, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
+	self:AddRecipeFlags(70566, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.PLATE, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70566, FAC.ASHEN_VERDICT, REP.HONORED, 37687)

 	-- Pillars of Might -- 70567
 	AddRecipe(70567, 450, 49904, Q.EPIC, V.WOTLK, 450, 475, 487, 500)
-	self:AddRecipeFlags(70567, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.TANK, F.PLATE, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70567, A.REPUTATION, FAC.ASHEN_VERDICT, REP.REVERED, 37687)
+	self:AddRecipeFlags(70567, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70567, FAC.ASHEN_VERDICT, REP.REVERED, 37687)

 	-- Boots of Kingly Upheaval -- 70568
 	AddRecipe(70568, 450, 49907, Q.EPIC, V.WOTLK, 450, 475, 487, 500)
-	self:AddRecipeFlags(70568, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.TANK, F.PLATE, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70568, A.REPUTATION, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
+	self:AddRecipeFlags(70568, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.PLATE, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70568, FAC.ASHEN_VERDICT, REP.HONORED, 37687)

 	-- Some recipes are only availible to specific factions.
 	-- We only add the faction specific recipes if the user is part of that faction
diff --git a/Database/Cooking.lua b/Database/Cooking.lua
index 5dd8380..ef7e6fa 100644
--- a/Database/Cooking.lua
+++ b/Database/Cooking.lua
@@ -58,7 +58,7 @@ function addon:InitCooking()
 	-- Spiced Wolf Meat -- 2539
 	AddRecipe(2539, 10, 2680, Q.COMMON, V.ORIG, 10, 50, 70, 90)
 	self:AddRecipeFlags(2539, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(2539, A.TRAINER, 1355, A.TRAINER, 1382, A.TRAINER, 1430, A.TRAINER, 1699, A.TRAINER, 3026, A.TRAINER, 3067, A.TRAINER, 3087, A.TRAINER, 3399, A.TRAINER, 4210, A.TRAINER, 4552, A.TRAINER, 5159, A.TRAINER, 5482, A.TRAINER, 6286, A.TRAINER, 8306, A.TRAINER, 16253, A.TRAINER, 16277, A.TRAINER, 16676, A.TRAINER, 16719, A.TRAINER, 17246, A.TRAINER, 18987, A.TRAINER, 18988, A.TRAINER, 18993, A.TRAINER, 19185, A.TRAINER, 19369)
+	self:AddRecipeTrainer(2539, 1355, 4210, 19369, 3087, 3399, 19185, 8306, 5482, 16676, 1430, 18988, 16719, 3026, 16253, 18987, 17246, 16277, 3067, 18993, 6286, 1382, 1699, 5159, 4552)

 	-- Roasted Boar Meat -- 2540
 	AddRecipe(2540, 1, 2681, Q.COMMON, V.ORIG, 1, 45, 65, 85)
@@ -68,92 +68,107 @@ function addon:InitCooking()
 	-- Coyote Steak -- 2541
 	AddRecipe(2541, 50, 2684, Q.COMMON, V.ORIG, 50, 90, 110, 130)
 	self:AddRecipeFlags(2541, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(2541, A.TRAINER, 1355, A.TRAINER, 1382, A.TRAINER, 1430, A.TRAINER, 1699, A.TRAINER, 3026, A.TRAINER, 3067, A.TRAINER, 3087, A.TRAINER, 3399, A.TRAINER, 4210, A.TRAINER, 4552, A.TRAINER, 5159, A.TRAINER, 5482, A.TRAINER, 6286, A.TRAINER, 8306, A.TRAINER, 16253, A.TRAINER, 16277, A.TRAINER, 16676, A.TRAINER, 16719, A.TRAINER, 17246, A.TRAINER, 18987, A.TRAINER, 18988, A.TRAINER, 18993, A.TRAINER, 19185, A.TRAINER, 19369)
+	self:AddRecipeTrainer(2541, 1355, 4210, 19369, 3087, 3399, 19185, 8306, 5482, 16676, 1430, 18988, 16719, 3026, 16253, 18987, 17246, 16277, 3067, 18993, 6286, 1382, 1699, 5159, 4552)

 	-- Goretusk Liver Pie -- 2542
 	AddRecipe(2542, 50, 724, Q.COMMON, V.ORIG, 50, 90, 110, 130)
 	self:AddRecipeFlags(2542, F.ALLIANCE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(2542, A.QUEST, 22, A.VENDOR, 340)
+	self:AddRecipeVendor(2542, 340)
+	self:AddRecipeAcquire(2542, A.QUEST, 22)

 	-- Westfall Stew -- 2543
 	AddRecipe(2543, 75, 733, Q.COMMON, V.ORIG, 75, 115, 135, 155)
 	self:AddRecipeFlags(2543, F.ALLIANCE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(2543, A.QUEST, 38, A.VENDOR, 340)
+	self:AddRecipeVendor(2543, 340)
+	self:AddRecipeAcquire(2543, A.QUEST, 38)

 	-- Crab Cake -- 2544
 	AddRecipe(2544, 75, 2683, Q.COMMON, V.ORIG, 75, 115, 135, 155)
 	self:AddRecipeFlags(2544, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(2544, A.TRAINER, 1355, A.TRAINER, 1382, A.TRAINER, 1430, A.TRAINER, 1699, A.TRAINER, 3026, A.TRAINER, 3067, A.TRAINER, 3087, A.TRAINER, 3399, A.TRAINER, 4210, A.TRAINER, 4552, A.TRAINER, 5159, A.TRAINER, 5482, A.TRAINER, 6286, A.TRAINER, 8306, A.TRAINER, 16253, A.TRAINER, 16277, A.TRAINER, 16676, A.TRAINER, 16719, A.TRAINER, 17246, A.TRAINER, 18987, A.TRAINER, 18988, A.TRAINER, 18993, A.TRAINER, 19185, A.TRAINER, 19369)
+	self:AddRecipeTrainer(2544, 1355, 4210, 19369, 3087, 3399, 19185, 8306, 5482, 16676, 1430, 18988, 16719, 3026, 16253, 18987, 17246, 16277, 3067, 18993, 6286, 1382, 1699, 5159, 4552)

 	-- Cooked Crab Claw -- 2545
 	AddRecipe(2545, 85, 2682, Q.COMMON, V.ORIG, 85, 125, 145, 165)
 	self:AddRecipeFlags(2545, F.ALLIANCE, F.HORDE, F.VENDOR, F.WORLD_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(2545, A.WORLD_DROP, 1, A.VENDOR, 340)
+	self:AddRecipeVendor(2545, 340)
+	self:AddRecipeAcquire(2545, A.WORLD_DROP, 1)

 	-- Dry Pork Ribs -- 2546
 	AddRecipe(2546, 80, 2687, Q.COMMON, V.ORIG, 80, 120, 140, 160)
 	self:AddRecipeFlags(2546, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(2546, A.TRAINER, 1355, A.TRAINER, 1382, A.TRAINER, 1430, A.TRAINER, 1699, A.TRAINER, 3026, A.TRAINER, 3067, A.TRAINER, 3087, A.TRAINER, 3399, A.TRAINER, 4210, A.TRAINER, 4552, A.TRAINER, 5159, A.TRAINER, 5482, A.TRAINER, 6286, A.TRAINER, 8306, A.TRAINER, 16253, A.TRAINER, 16277, A.TRAINER, 16676, A.TRAINER, 16719, A.TRAINER, 17246, A.TRAINER, 18987, A.TRAINER, 18988, A.TRAINER, 18993, A.TRAINER, 19185, A.TRAINER, 19369)
+	self:AddRecipeTrainer(2546, 1355, 4210, 19369, 3087, 3399, 19185, 8306, 5482, 16676, 1430, 18988, 16719, 3026, 16253, 18987, 17246, 16277, 3067, 18993, 6286, 1382, 1699, 5159, 4552)

 	-- Redridge Goulash -- 2547
 	AddRecipe(2547, 100, 1082, Q.COMMON, V.ORIG, 100, 135, 155, 175)
 	self:AddRecipeFlags(2547, F.ALLIANCE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(2547, A.QUEST, 92, A.VENDOR, 340)
+	self:AddRecipeVendor(2547, 340)
+	self:AddRecipeAcquire(2547, A.QUEST, 92)

 	-- Succulent Pork Ribs -- 2548
 	AddRecipe(2548, 110, 2685, Q.COMMON, V.ORIG, 110, 130, 150, 170)
 	self:AddRecipeFlags(2548, F.ALLIANCE, F.HORDE, F.VENDOR, F.WORLD_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(2548, A.WORLD_DROP, 1, A.VENDOR, 340)
+	self:AddRecipeVendor(2548, 340)
+	self:AddRecipeAcquire(2548, A.WORLD_DROP, 1)

 	-- Seasoned Wolf Kabob -- 2549
 	AddRecipe(2549, 100, 1017, Q.COMMON, V.ORIG, 100, 140, 160, 180)
 	self:AddRecipeFlags(2549, F.ALLIANCE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(2549, A.QUEST, 90, A.VENDOR, 340)
+	self:AddRecipeVendor(2549, 340)
+	self:AddRecipeAcquire(2549, A.QUEST, 90)

 	-- Beer Basted Boar Ribs -- 2795
 	AddRecipe(2795, 10, 2888, Q.COMMON, V.ORIG, 10, 60, 80, 100)
 	self:AddRecipeFlags(2795, F.ALLIANCE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(2795, A.QUEST, 384, A.VENDOR, 340)
+	self:AddRecipeVendor(2795, 340)
+	self:AddRecipeAcquire(2795, A.QUEST, 384)

 	-- Crocolisk Steak -- 3370
 	AddRecipe(3370, 80, 3662, Q.COMMON, V.ORIG, 80, 120, 140, 160)
 	self:AddRecipeFlags(3370, F.ALLIANCE, F.HORDE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(3370, A.QUEST, 385, A.VENDOR, 340)
+	self:AddRecipeVendor(3370, 340)
+	self:AddRecipeAcquire(3370, A.QUEST, 385)

 	-- Blood Sausage -- 3371
 	AddRecipe(3371, 60, 3220, Q.COMMON, V.ORIG, 60, 100, 120, 140)
 	self:AddRecipeFlags(3371, F.ALLIANCE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(3371, A.QUEST, 418, A.VENDOR, 340)
+	self:AddRecipeVendor(3371, 340)
+	self:AddRecipeAcquire(3371, A.QUEST, 418)

 	-- Murloc Fin Soup -- 3372
 	AddRecipe(3372, 90, 3663, Q.COMMON, V.ORIG, 90, 130, 150, 170)
 	self:AddRecipeFlags(3372, F.ALLIANCE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(3372, A.QUEST, 127, A.VENDOR, 340)
+	self:AddRecipeVendor(3372, 340)
+	self:AddRecipeAcquire(3372, A.QUEST, 127)

 	-- Crocolisk Gumbo -- 3373
 	AddRecipe(3373, 120, 3664, Q.COMMON, V.ORIG, 120, 160, 180, 200)
 	self:AddRecipeFlags(3373, F.ALLIANCE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(3373, A.QUEST, 471, A.VENDOR, 340)
+	self:AddRecipeVendor(3373, 340)
+	self:AddRecipeAcquire(3373, A.QUEST, 471)

 	-- Curiously Tasty Omelet -- 3376
 	AddRecipe(3376, 130, 3665, Q.COMMON, V.ORIG, 130, 170, 190, 210)
 	self:AddRecipeFlags(3376, F.ALLIANCE, F.HORDE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(3376, A.QUEST, 296, A.VENDOR, 340, A.VENDOR, 1148, A.VENDOR, 2821)
+	self:AddRecipeVendor(3376, 1148, 2821, 340)
+	self:AddRecipeAcquire(3376, A.QUEST, 296)

 	-- Gooey Spider Cake -- 3377
 	AddRecipe(3377, 110, 3666, Q.COMMON, V.ORIG, 110, 150, 170, 190)
 	self:AddRecipeFlags(3377, F.ALLIANCE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(3377, A.QUEST, 93, A.VENDOR, 340)
+	self:AddRecipeVendor(3377, 340)
+	self:AddRecipeAcquire(3377, A.QUEST, 93)

 	-- Big Bear Steak -- 3397
 	AddRecipe(3397, 110, 3726, Q.COMMON, V.ORIG, 110, 150, 170, 190)
 	self:AddRecipeFlags(3397, F.ALLIANCE, F.HORDE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(3397, A.QUEST, 498, A.VENDOR, 3960, A.VENDOR, 12246)
+	self:AddRecipeVendor(3397, 3960, 12246)
+	self:AddRecipeAcquire(3397, A.QUEST, 498)

 	-- Hot Lion Chops -- 3398
 	AddRecipe(3398, 125, 3727, Q.COMMON, V.ORIG, 125, 175, 195, 215)
 	self:AddRecipeFlags(3398, F.ALLIANCE, F.HORDE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(3398, A.QUEST, 501, A.VENDOR, 3489, A.VENDOR, 12245)
+	self:AddRecipeVendor(3398, 3489, 12245)
+	self:AddRecipeAcquire(3398, A.QUEST, 501)

 	-- Tasty Lion Steak -- 3399
 	AddRecipe(3399, 150, 3728, Q.COMMON, V.ORIG, 150, 190, 210, 230)
@@ -168,7 +183,9 @@ function addon:InitCooking()
 	-- Barbecued Buzzard Wing -- 4094
 	AddRecipe(4094, 175, 4457, Q.COMMON, V.ORIG, 175, 215, 235, 255)
 	self:AddRecipeFlags(4094, F.ALLIANCE, F.HORDE, F.TRAINER, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(4094, A.QUEST, 703, A.TRAINER, 2818, A.VENDOR, 2814, A.VENDOR, 12246)
+	self:AddRecipeTrainer(4094, 2818)
+	self:AddRecipeVendor(4094, 2814, 12246)
+	self:AddRecipeAcquire(4094, A.QUEST, 703)

 	-- Kaldorei Spider Kabob -- 6412
 	AddRecipe(6412, 10, 5472, Q.COMMON, V.ORIG, 10, 50, 70, 90)
@@ -178,92 +195,94 @@ function addon:InitCooking()
 	-- Scorpid Surprise -- 6413
 	AddRecipe(6413, 20, 5473, Q.COMMON, V.ORIG, 20, 60, 80, 100)
 	self:AddRecipeFlags(6413, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(6413, A.VENDOR, 3881)
+	self:AddRecipeVendor(6413, 3881)

 	-- Roasted Kodo Meat -- 6414
 	AddRecipe(6414, 35, 5474, Q.COMMON, V.ORIG, 35, 75, 95, 115)
 	self:AddRecipeFlags(6414, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(6414, A.VENDOR, 3081)
+	self:AddRecipeVendor(6414, 3081)

 	-- Fillet of Frenzy -- 6415
 	AddRecipe(6415, 50, 5476, Q.COMMON, V.ORIG, 50, 90, 110, 130)
 	self:AddRecipeFlags(6415, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(6415, A.VENDOR, 4200)
+	self:AddRecipeVendor(6415, 4200)

 	-- Strider Stew -- 6416
 	AddRecipe(6416, 50, 5477, Q.COMMON, V.ORIG, 50, 90, 110, 130)
 	self:AddRecipeFlags(6416, F.ALLIANCE, F.HORDE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(6416, A.QUEST, 2178, A.VENDOR, 3482)
+	self:AddRecipeVendor(6416, 3482)
+	self:AddRecipeAcquire(6416, A.QUEST, 2178)

 	-- Dig Rat Stew -- 6417
 	AddRecipe(6417, 90, 44977, Q.COMMON, V.WOTLK, 90, 130, 150, 170)
 	self:AddRecipeFlags(6417, F.ALLIANCE, F.HORDE, F.VENDOR, F.QUEST, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(6417, A.QUEST, 862, A.VENDOR, 3392)
+	self:AddRecipeVendor(6417, 3392)
+	self:AddRecipeAcquire(6417, A.QUEST, 862)

 	-- Crispy Lizard Tail -- 6418
 	AddRecipe(6418, 100, 5479, Q.COMMON, V.ORIG, 100, 140, 160, 180)
 	self:AddRecipeFlags(6418, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(6418, A.VENDOR, 3482)
+	self:AddRecipeVendor(6418, 3482)

 	-- Lean Venison -- 6419
 	AddRecipe(6419, 110, 5480, Q.COMMON, V.ORIG, 110, 150, 170, 190)
 	self:AddRecipeFlags(6419, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(6419, A.VENDOR, 3960, A.VENDOR, 12245)
+	self:AddRecipeVendor(6419, 3960, 12245)

 	-- Boiled Clams -- 6499
 	AddRecipe(6499, 50, 5525, Q.COMMON, V.ORIG, 50, 90, 110, 130)
 	self:AddRecipeFlags(6499, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(6499, A.TRAINER, 1355, A.TRAINER, 1382, A.TRAINER, 1430, A.TRAINER, 1699, A.TRAINER, 3026, A.TRAINER, 3067, A.TRAINER, 3087, A.TRAINER, 3399, A.TRAINER, 4210, A.TRAINER, 4552, A.TRAINER, 5159, A.TRAINER, 5482, A.TRAINER, 6286, A.TRAINER, 8306, A.TRAINER, 16253, A.TRAINER, 16277, A.TRAINER, 16676, A.TRAINER, 16719, A.TRAINER, 17246, A.TRAINER, 18987, A.TRAINER, 18988, A.TRAINER, 18993, A.TRAINER, 19185, A.TRAINER, 19369)
+	self:AddRecipeTrainer(6499, 1355, 4210, 19369, 3087, 3399, 19185, 8306, 5482, 16676, 1430, 18988, 16719, 3026, 16253, 18987, 17246, 16277, 3067, 18993, 6286, 1382, 1699, 5159, 4552)

 	-- Goblin Deviled Clams -- 6500
 	AddRecipe(6500, 125, 5527, Q.COMMON, V.ORIG, 125, 165, 185, 205)
 	self:AddRecipeFlags(6500, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(6500, A.TRAINER, 1355, A.TRAINER, 1382, A.TRAINER, 1430, A.TRAINER, 1699, A.TRAINER, 3026, A.TRAINER, 3067, A.TRAINER, 3087, A.TRAINER, 3399, A.TRAINER, 4210, A.TRAINER, 4552, A.TRAINER, 5159, A.TRAINER, 5482, A.TRAINER, 6286, A.TRAINER, 8306, A.TRAINER, 16253, A.TRAINER, 16277, A.TRAINER, 16676, A.TRAINER, 16719, A.TRAINER, 17246, A.TRAINER, 18987, A.TRAINER, 18988, A.TRAINER, 18993, A.TRAINER, 19185, A.TRAINER, 19369)
+	self:AddRecipeTrainer(6500, 1355, 4210, 19369, 3087, 3399, 19185, 8306, 5482, 16676, 1430, 18988, 16719, 3026, 16253, 18987, 17246, 16277, 3067, 18993, 6286, 1382, 1699, 5159, 4552)

 	-- Clam Chowder -- 6501
 	AddRecipe(6501, 90, 5526, Q.COMMON, V.ORIG, 90, 130, 150, 170)
 	self:AddRecipeFlags(6501, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(6501, A.VENDOR, 4305, A.VENDOR, 4307)
+	self:AddRecipeVendor(6501, 4305, 4307)

 	-- Giant Clam Scorcho -- 7213
 	AddRecipe(7213, 175, 6038, Q.COMMON, V.ORIG, 175, 215, 235, 255)
 	self:AddRecipeFlags(7213, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(7213, A.VENDOR, 2664)
+	self:AddRecipeVendor(7213, 2664)

 	-- Brilliant Smallfish -- 7751
 	AddRecipe(7751, 1, 6290, Q.COMMON, V.ORIG, 1, 45, 65, 85)
 	self:AddRecipeFlags(7751, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7751, A.VENDOR, 66, A.VENDOR, 1684, A.VENDOR, 3029, A.VENDOR, 3550, A.VENDOR, 4265, A.VENDOR, 4574, A.VENDOR, 5494, A.VENDOR, 5940, A.VENDOR, 8508)
+	self:AddRecipeVendor(7751, 5940, 1684, 5494, 3550, 66, 8508, 3029, 4574, 4265)

 	-- Slitherskin Mackerel -- 7752
 	AddRecipe(7752, 1, 787, Q.COMMON, V.ORIG, 1, 45, 65, 85)
 	self:AddRecipeFlags(7752, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7752, A.VENDOR, 3550, A.VENDOR, 4305, A.VENDOR, 5162, A.VENDOR, 5942, A.VENDOR, 10118)
+	self:AddRecipeVendor(7752, 5162, 4305, 3550, 5942, 10118)

 	-- Longjaw Mud Snapper -- 7753
 	AddRecipe(7753, 50, 4592, Q.COMMON, V.ORIG, 50, 90, 110, 130)
 	self:AddRecipeFlags(7753, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7753, A.VENDOR, 66, A.VENDOR, 1684, A.VENDOR, 3027, A.VENDOR, 4265, A.VENDOR, 4574, A.VENDOR, 5162, A.VENDOR, 5748, A.VENDOR, 5940)
+	self:AddRecipeVendor(7753, 5748, 1684, 5940, 5162, 4265, 66, 3027, 4574)

 	-- Loch Frenzy Delight -- 7754
 	AddRecipe(7754, 50, 6316, Q.COMMON, V.ORIG, 50, 90, 110, 130)
 	self:AddRecipeFlags(7754, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7754, A.VENDOR, 1684)
+	self:AddRecipeVendor(7754, 1684)

 	-- Bristle Whisker Catfish -- 7755
 	AddRecipe(7755, 100, 4593, Q.COMMON, V.ORIG, 100, 140, 160, 180)
 	self:AddRecipeFlags(7755, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7755, A.VENDOR, 2383, A.VENDOR, 2397, A.VENDOR, 3027, A.VENDOR, 3029, A.VENDOR, 3497, A.VENDOR, 4553, A.VENDOR, 5494)
+	self:AddRecipeVendor(7755, 3497, 3029, 5494, 4553, 2397, 3027, 2383)

 	-- Rainbow Fin Albacore -- 7827
 	AddRecipe(7827, 50, 5095, Q.COMMON, V.ORIG, 50, 90, 110, 130)
 	self:AddRecipeFlags(7827, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7827, A.VENDOR, 3178, A.VENDOR, 3333, A.VENDOR, 3497, A.VENDOR, 4305, A.VENDOR, 4307, A.VENDOR, 4553, A.VENDOR, 5494, A.VENDOR, 5748, A.VENDOR, 5942, A.VENDOR, 10118)
+	self:AddRecipeVendor(7827, 4305, 4307, 5748, 5494, 3333, 4553, 3178, 10118, 5942, 3497)

 	-- Rockscale Cod -- 7828
 	AddRecipe(7828, 175, 4594, Q.COMMON, V.ORIG, 175, 190, 210, 230)
 	self:AddRecipeFlags(7828, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7828, A.VENDOR, 2383, A.VENDOR, 2664, A.VENDOR, 3178, A.VENDOR, 3333, A.VENDOR, 4307, A.VENDOR, 4574, A.VENDOR, 5162, A.VENDOR, 12033, A.VENDOR, 12962)
+	self:AddRecipeVendor(7828, 4307, 2664, 3333, 12962, 2383, 3178, 5162, 4574, 12033)

 	-- Savory Deviate Delight -- 8238
 	AddRecipe(8238, 85, 6657, Q.UNCOMMON, V.ORIG, 85, 125, 145, 165)
@@ -278,162 +297,165 @@ function addon:InitCooking()
 	-- Smoked Bear Meat -- 8607
 	AddRecipe(8607, 40, 6890, Q.COMMON, V.ORIG, 40, 80, 100, 120)
 	self:AddRecipeFlags(8607, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(8607, A.VENDOR, 1465, A.VENDOR, 3556)
+	self:AddRecipeVendor(8607, 1465, 3556)

 	-- Thistle Tea -- 9513
 	AddRecipe(9513, 60, 7676, Q.UNCOMMON, V.ORIG, 60, 100, 120, 140)
 	self:AddRecipeFlags(9513, F.ALLIANCE, F.HORDE, F.VENDOR, F.QUEST, F.ROGUE, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(9513, A.QUEST, 2359, A.QUEST, 2478, A.VENDOR, 6779)
+	self:AddRecipeVendor(9513, 6779)
+	self:AddRecipeAcquire(9513, A.QUEST, 2359, A.QUEST, 2478)

 	-- Goldthorn Tea -- 13028
 	AddRecipe(13028, 175, 10841, Q.COMMON, V.ORIG, 175, 175, 190, 205)
-	self:AddRecipeFlags(13028, F.ALLIANCE, F.HORDE, F.INSTANCE, F.TRAINER, F.IBOE, F.RBOP)
+	self:AddRecipeFlags(13028, F.ALLIANCE, F.HORDE, F.TRAINER, F.INSTANCE, F.IBOE, F.RBOP)
 	self:AddRecipeAcquire(13028, A.CUSTOM, 13)

 	-- Lean Wolf Steak -- 15853
 	AddRecipe(15853, 125, 12209, Q.COMMON, V.ORIG, 125, 165, 185, 205)
 	self:AddRecipeFlags(15853, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(15853, A.VENDOR, 12246)
+	self:AddRecipeVendor(15853, 12246)

 	-- Roast Raptor -- 15855
 	AddRecipe(15855, 175, 12210, Q.COMMON, V.ORIG, 175, 215, 235, 255)
 	self:AddRecipeFlags(15855, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(15855, A.VENDOR, 734, A.VENDOR, 1148, A.VENDOR, 2810, A.VENDOR, 2821, A.VENDOR, 4879, A.VENDOR, 4897, A.VENDOR, 12245)
+	self:AddRecipeVendor(15855, 1148, 734, 12245, 2821, 4897, 2810, 4879)

 	-- Hot Wolf Ribs -- 15856
 	AddRecipe(15856, 175, 13851, Q.COMMON, V.ORIG, 175, 215, 235, 255)
 	self:AddRecipeFlags(15856, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(15856, A.VENDOR, 7947, A.VENDOR, 8145, A.VENDOR, 12246)
+	self:AddRecipeVendor(15856, 8145, 12246, 7947)

 	-- Jungle Stew -- 15861
 	AddRecipe(15861, 175, 12212, Q.COMMON, V.ORIG, 175, 215, 235, 255)
 	self:AddRecipeFlags(15861, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(15861, A.VENDOR, 734, A.VENDOR, 1148, A.VENDOR, 12245)
+	self:AddRecipeVendor(15861, 1148, 734, 12245)

 	-- Carrion Surprise -- 15863
 	AddRecipe(15863, 175, 12213, Q.COMMON, V.ORIG, 175, 215, 235, 255)
 	self:AddRecipeFlags(15863, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(15863, A.VENDOR, 989, A.VENDOR, 4879, A.VENDOR, 9636, A.VENDOR, 12245)
+	self:AddRecipeVendor(15863, 12245, 4879, 989, 9636)

 	-- Mystery Stew -- 15865
 	AddRecipe(15865, 175, 12214, Q.COMMON, V.ORIG, 175, 215, 235, 255)
 	self:AddRecipeFlags(15865, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(15865, A.VENDOR, 4897, A.VENDOR, 8150, A.VENDOR, 12246)
+	self:AddRecipeVendor(15865, 4897, 8150, 12246)

 	-- Dragonbreath Chili -- 15906
 	AddRecipe(15906, 200, 12217, Q.COMMON, V.ORIG, 200, 225, 237, 250)
 	self:AddRecipeFlags(15906, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(15906, A.VENDOR, 4879, A.VENDOR, 4897, A.VENDOR, 12246)
+	self:AddRecipeVendor(15906, 4897, 12246, 4879)

 	-- Heavy Kodo Stew -- 15910
 	AddRecipe(15910, 200, 12215, Q.COMMON, V.ORIG, 200, 225, 237, 250)
 	self:AddRecipeFlags(15910, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(15910, A.VENDOR, 8150, A.VENDOR, 9636, A.VENDOR, 12245)
+	self:AddRecipeVendor(15910, 12245, 9636, 8150)

 	-- Spiced Chili Crab -- 15915
 	AddRecipe(15915, 225, 12216, Q.COMMON, V.ORIG, 225, 250, 262, 275)
 	self:AddRecipeFlags(15915, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(15915, A.VENDOR, 989, A.VENDOR, 1149, A.VENDOR, 4305)
+	self:AddRecipeVendor(15915, 4305, 1149, 989)

 	-- Monster Omelet -- 15933
 	AddRecipe(15933, 225, 12218, Q.COMMON, V.ORIG, 225, 250, 262, 275)
 	self:AddRecipeFlags(15933, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(15933, A.VENDOR, 2803, A.VENDOR, 2806, A.VENDOR, 11187)
+	self:AddRecipeVendor(15933, 11187, 2806, 2803)

 	-- Crispy Bat Wing -- 15935
 	AddRecipe(15935, 1, 12224, Q.COMMON, V.ORIG, 1, 45, 65, 85)
 	self:AddRecipeFlags(15935, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(15935, A.VENDOR, 2118)
+	self:AddRecipeVendor(15935, 2118)

 	-- Spotted Yellowtail -- 18238
 	AddRecipe(18238, 225, 6887, Q.COMMON, V.ORIG, 225, 250, 262, 275)
 	self:AddRecipeFlags(18238, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(18238, A.VENDOR, 8137)
+	self:AddRecipeVendor(18238, 8137)

 	-- Cooked Glossy Mightfish -- 18239
 	AddRecipe(18239, 225, 13927, Q.COMMON, V.ORIG, 225, 250, 262, 275)
 	self:AddRecipeFlags(18239, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(18239, A.VENDOR, 2664)
+	self:AddRecipeVendor(18239, 2664)

 	-- Grilled Squid -- 18240
 	AddRecipe(18240, 240, 13928, Q.COMMON, V.ORIG, 240, 265, 277, 290)
 	self:AddRecipeFlags(18240, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(18240, A.VENDOR, 8137)
+	self:AddRecipeVendor(18240, 8137)

 	-- Filet of Redgill -- 18241
 	AddRecipe(18241, 225, 13930, Q.COMMON, V.ORIG, 225, 250, 262, 275)
 	self:AddRecipeFlags(18241, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(18241, A.VENDOR, 2664)
+	self:AddRecipeVendor(18241, 2664)

 	-- Hot Smoked Bass -- 18242
 	AddRecipe(18242, 240, 13929, Q.COMMON, V.ORIG, 240, 265, 277, 290)
 	self:AddRecipeFlags(18242, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(18242, A.VENDOR, 2664)
+	self:AddRecipeVendor(18242, 2664)

 	-- Nightfin Soup -- 18243
 	AddRecipe(18243, 250, 13931, Q.COMMON, V.ORIG, 250, 275, 285, 295)
 	self:AddRecipeFlags(18243, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(18243, A.VENDOR, 8137)
+	self:AddRecipeVendor(18243, 8137)

 	-- Poached Sunscale Salmon -- 18244
 	AddRecipe(18244, 250, 13932, Q.COMMON, V.ORIG, 250, 275, 285, 295)
 	self:AddRecipeFlags(18244, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(18244, A.VENDOR, 8137)
+	self:AddRecipeVendor(18244, 8137)

 	-- Lobster Stew -- 18245
 	AddRecipe(18245, 275, 13933, Q.COMMON, V.ORIG, 275, 300, 312, 325)
 	self:AddRecipeFlags(18245, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(18245, A.VENDOR, 7947, A.VENDOR, 8145)
+	self:AddRecipeVendor(18245, 7947, 8145)

 	-- Mightfish Steak -- 18246
 	AddRecipe(18246, 275, 13934, Q.COMMON, V.ORIG, 275, 300, 312, 325)
 	self:AddRecipeFlags(18246, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(18246, A.VENDOR, 7947, A.VENDOR, 8145)
+	self:AddRecipeVendor(18246, 7947, 8145)

 	-- Baked Salmon -- 18247
 	AddRecipe(18247, 275, 13935, Q.COMMON, V.ORIG, 275, 300, 312, 325)
 	self:AddRecipeFlags(18247, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(18247, A.VENDOR, 7947, A.VENDOR, 8145)
+	self:AddRecipeVendor(18247, 7947, 8145)

 	-- Undermine Clam Chowder -- 20626
 	AddRecipe(20626, 225, 16766, Q.COMMON, V.ORIG, 225, 250, 262, 275)
 	self:AddRecipeFlags(20626, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(20626, A.VENDOR, 8139)
+	self:AddRecipeVendor(20626, 8139)

 	-- Mithril Head Trout -- 20916
 	AddRecipe(20916, 175, 8364, Q.COMMON, V.ORIG, 175, 215, 235, 255)
 	self:AddRecipeFlags(20916, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(20916, A.VENDOR, 2383, A.VENDOR, 2664, A.VENDOR, 3178, A.VENDOR, 3333, A.VENDOR, 4307, A.VENDOR, 4574, A.VENDOR, 5162, A.VENDOR, 12033, A.VENDOR, 12962)
+	self:AddRecipeVendor(20916, 4307, 2664, 3333, 12962, 2383, 3178, 5162, 4574, 12033)

 	-- Gingerbread Cookie -- 21143
 	AddRecipe(21143, 1, 17197, Q.COMMON, V.ORIG, 1, 45, 65, 85)
 	self:AddRecipeFlags(21143, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(21143, A.SEASONAL, 1, A.VENDOR, 13420, A.VENDOR, 13429, A.VENDOR, 13432, A.VENDOR, 13433, A.VENDOR, 13435, A.VENDOR, 23010, A.VENDOR, 23012, A.VENDOR, 23064)
+	self:AddRecipeVendor(21143, 13420, 23064, 13435, 13432, 13429, 13433, 23012, 23010)
+	self:AddRecipeAcquire(21143, A.SEASONAL, 1)

 	-- Egg Nog -- 21144
 	AddRecipe(21144, 35, 17198, Q.COMMON, V.ORIG, 35, 75, 95, 115)
 	self:AddRecipeFlags(21144, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(21144, A.SEASONAL, 1, A.VENDOR, 13420, A.VENDOR, 13429, A.VENDOR, 13432, A.VENDOR, 13433, A.VENDOR, 13435, A.VENDOR, 23010, A.VENDOR, 23012, A.VENDOR, 23064)
+	self:AddRecipeVendor(21144, 13420, 23064, 13435, 13432, 13429, 13433, 23012, 23010)
+	self:AddRecipeAcquire(21144, A.SEASONAL, 1)

 	-- Spider Sausage -- 21175
 	AddRecipe(21175, 200, 17222, Q.COMMON, V.ORIG, 200, 225, 237, 250)
 	self:AddRecipeFlags(21175, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(21175, A.TRAINER, 1355, A.TRAINER, 1382, A.TRAINER, 1430, A.TRAINER, 1699, A.TRAINER, 3026, A.TRAINER, 3067, A.TRAINER, 3087, A.TRAINER, 3399, A.TRAINER, 4210, A.TRAINER, 4552, A.TRAINER, 5159, A.TRAINER, 5482, A.TRAINER, 6286, A.TRAINER, 8306, A.TRAINER, 16253, A.TRAINER, 16277, A.TRAINER, 16676, A.TRAINER, 16719, A.TRAINER, 17246, A.TRAINER, 18987, A.TRAINER, 18988, A.TRAINER, 18993, A.TRAINER, 19185, A.TRAINER, 19369)
+	self:AddRecipeTrainer(21175, 1355, 4210, 19369, 3087, 3399, 19185, 8306, 5482, 16676, 1430, 18988, 16719, 3026, 16253, 18987, 17246, 16277, 3067, 18993, 6286, 1382, 1699, 5159, 4552)

 	-- Tender Wolf Steak -- 22480
 	AddRecipe(22480, 225, 18045, Q.COMMON, V.ORIG, 225, 250, 262, 275)
 	self:AddRecipeFlags(22480, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(22480, A.VENDOR, 4782, A.VENDOR, 7733, A.VENDOR, 8125)
+	self:AddRecipeVendor(22480, 4782, 8125, 7733)

 	-- Runn Tum Tuber Surprise -- 22761
 	AddRecipe(22761, 275, 18254, Q.UNCOMMON, V.ORIG, 275, 300, 312, 325)
 	self:AddRecipeFlags(22761, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(22761, A.MOB, 14354)
+	self:AddRecipeMobDrop(22761, 14354)

 	-- Heavy Crocolisk Stew -- 24418
 	AddRecipe(24418, 150, 20074, Q.COMMON, V.ORIG, 150, 160, 180, 200)
 	self:AddRecipeFlags(24418, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(24418, A.VENDOR, 4879)
+	self:AddRecipeVendor(24418, 4879)

 	-- Smoked Desert Dumplings -- 24801
 	AddRecipe(24801, 285, 20452, Q.COMMON, V.ORIG, 285, 310, 322, 335)
@@ -448,22 +470,23 @@ function addon:InitCooking()
 	-- Smoked Sagefish -- 25704
 	AddRecipe(25704, 80, 21072, Q.COMMON, V.ORIG, 80, 120, 140, 160)
 	self:AddRecipeFlags(25704, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(25704, A.VENDOR, 2381, A.VENDOR, 2397, A.VENDOR, 2664, A.VENDOR, 3027, A.VENDOR, 3085, A.VENDOR, 3400, A.VENDOR, 4223, A.VENDOR, 4265, A.VENDOR, 4553, A.VENDOR, 5160, A.VENDOR, 5483, A.VENDOR, 8307, A.VENDOR, 12033, A.VENDOR, 14738, A.VENDOR, 16253, A.VENDOR, 16677, A.VENDOR, 16718, A.VENDOR, 17246, A.VENDOR, 19195, A.VENDOR, 26868)
+	self:AddRecipeVendor(25704, 2397, 16718, 3085, 17246, 3027, 14738, 5160, 4265, 8307, 4223, 5483, 3400, 2381, 2664, 16677, 19195, 26868, 12033, 16253, 4553)

 	-- Sagefish Delight -- 25954
 	AddRecipe(25954, 175, 21217, Q.COMMON, V.ORIG, 175, 215, 235, 255)
 	self:AddRecipeFlags(25954, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(25954, A.VENDOR, 2381, A.VENDOR, 2397, A.VENDOR, 2664, A.VENDOR, 3027, A.VENDOR, 3085, A.VENDOR, 3400, A.VENDOR, 4223, A.VENDOR, 4265, A.VENDOR, 4553, A.VENDOR, 5160, A.VENDOR, 5483, A.VENDOR, 8307, A.VENDOR, 12033, A.VENDOR, 14738, A.VENDOR, 16253, A.VENDOR, 16677, A.VENDOR, 16718, A.VENDOR, 17246, A.VENDOR, 19195, A.VENDOR, 26868)
+	self:AddRecipeVendor(25954, 2397, 16718, 3085, 17246, 3027, 14738, 5160, 4265, 8307, 4223, 5483, 3400, 2381, 2664, 16677, 19195, 26868, 12033, 16253, 4553)

 	-- Crunchy Spider Surprise -- 28267
 	AddRecipe(28267, 60, 22645, Q.COMMON, V.TBC, 60, 100, 120, 140)
 	self:AddRecipeFlags(28267, F.ALLIANCE, F.HORDE, F.VENDOR, F.QUEST, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(28267, A.QUEST, 9171, A.VENDOR, 16253, A.VENDOR, 18427)
+	self:AddRecipeVendor(28267, 16253, 18427)
+	self:AddRecipeAcquire(28267, A.QUEST, 9171)

 	-- Lynx Steak -- 33276
 	AddRecipe(33276, 1, 27635, Q.COMMON, V.TBC, 1, 45, 65, 85)
 	self:AddRecipeFlags(33276, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33276, A.VENDOR, 16262)
+	self:AddRecipeVendor(33276, 16262)

 	-- Roasted Moongraze Tenderloin -- 33277
 	AddRecipe(33277, 1, 24105, Q.COMMON, V.TBC, 1, 45, 65, 85)
@@ -473,7 +496,7 @@ function addon:InitCooking()
 	-- Bat Bites -- 33278
 	AddRecipe(33278, 50, 27636, Q.COMMON, V.TBC, 50, 90, 110, 130)
 	self:AddRecipeFlags(33278, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33278, A.VENDOR, 16253)
+	self:AddRecipeVendor(33278, 16253)

 	-- Buzzard Bites -- 33279
 	AddRecipe(33279, 300, 27651, Q.COMMON, V.TBC, 300, 320, 330, 340)
@@ -483,102 +506,104 @@ function addon:InitCooking()
 	-- Ravager Dog -- 33284
 	AddRecipe(33284, 300, 27655, Q.COMMON, V.TBC, 300, 320, 330, 340)
 	self:AddRecipeFlags(33284, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33284, A.VENDOR, 16585, A.VENDOR, 16826)
+	self:AddRecipeVendor(33284, 16585, 16826)

 	-- Sporeling Snack -- 33285
 	AddRecipe(33285, 310, 27656, Q.COMMON, V.TBC, 310, 330, 340, 350)
 	self:AddRecipeFlags(33285, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33285, A.VENDOR, 18382)
+	self:AddRecipeVendor(33285, 18382)

 	-- Blackened Basilisk -- 33286
 	AddRecipe(33286, 315, 27657, Q.COMMON, V.TBC, 315, 335, 345, 355)
 	self:AddRecipeFlags(33286, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33286, A.VENDOR, 18957, A.VENDOR, 19038)
+	self:AddRecipeVendor(33286, 18957, 19038)

 	-- Roasted Clefthoof -- 33287
 	AddRecipe(33287, 325, 27658, Q.COMMON, V.TBC, 325, 345, 355, 365)
 	self:AddRecipeFlags(33287, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(33287, A.VENDOR, 20096, A.VENDOR, 20097)
+	self:AddRecipeVendor(33287, 20096, 20097)

 	-- Warp Burger -- 33288
 	AddRecipe(33288, 325, 27659, Q.COMMON, V.TBC, 325, 345, 355, 365)
 	self:AddRecipeFlags(33288, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(33288, A.VENDOR, 18957, A.VENDOR, 19038)
+	self:AddRecipeVendor(33288, 18957, 19038)

 	-- Talbuk Steak -- 33289
 	AddRecipe(33289, 325, 27660, Q.COMMON, V.TBC, 325, 345, 355, 365)
 	self:AddRecipeFlags(33289, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33289, A.VENDOR, 20096, A.VENDOR, 20097)
+	self:AddRecipeVendor(33289, 20096, 20097)

 	-- Blackened Trout -- 33290
 	AddRecipe(33290, 300, 27661, Q.COMMON, V.TBC, 300, 320, 330, 340)
 	self:AddRecipeFlags(33290, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(33290, A.VENDOR, 18015, A.VENDOR, 20028)
+	self:AddRecipeVendor(33290, 18015, 20028)

 	-- Feltail Delight -- 33291
 	AddRecipe(33291, 300, 27662, Q.COMMON, V.TBC, 300, 320, 330, 340)
 	self:AddRecipeFlags(33291, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33291, A.VENDOR, 18011, A.VENDOR, 20028)
+	self:AddRecipeVendor(33291, 18011, 20028)

 	-- Blackened Sporefish -- 33292
 	AddRecipe(33292, 310, 27663, Q.COMMON, V.TBC, 310, 330, 340, 350)
 	self:AddRecipeFlags(33292, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33292, A.VENDOR, 18911)
+	self:AddRecipeVendor(33292, 18911)

 	-- Grilled Mudfish -- 33293
 	AddRecipe(33293, 320, 27664, Q.COMMON, V.TBC, 320, 340, 350, 360)
 	self:AddRecipeFlags(33293, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(33293, A.VENDOR, 20096, A.VENDOR, 20097)
+	self:AddRecipeVendor(33293, 20096, 20097)

 	-- Poached Bluefish -- 33294
 	AddRecipe(33294, 320, 27665, Q.COMMON, V.TBC, 320, 340, 350, 360)
 	self:AddRecipeFlags(33294, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33294, A.VENDOR, 20096, A.VENDOR, 20097)
+	self:AddRecipeVendor(33294, 20096, 20097)

 	-- Golden Fish Sticks -- 33295
 	AddRecipe(33295, 325, 27666, Q.COMMON, V.TBC, 325, 345, 355, 365)
 	self:AddRecipeFlags(33295, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33295, A.VENDOR, 18960, A.VENDOR, 19296)
+	self:AddRecipeVendor(33295, 18960, 19296)

 	-- Spicy Crawdad -- 33296
 	AddRecipe(33296, 350, 27667, Q.COMMON, V.TBC, 350, 370, 375, 380)
 	self:AddRecipeFlags(33296, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33296, A.VENDOR, 18960, A.VENDOR, 19296)
+	self:AddRecipeVendor(33296, 18960, 19296)

 	-- Clam Bar -- 36210
 	AddRecipe(36210, 300, 30155, Q.COMMON, V.TBC, 300, 320, 330, 340)
 	self:AddRecipeFlags(36210, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(36210, A.VENDOR, 18382)
+	self:AddRecipeVendor(36210, 18382)

 	-- Spice Bread -- 37836
 	AddRecipe(37836, 1, 30816, Q.COMMON, V.TBC, 1, 30, 35, 38)
 	self:AddRecipeFlags(37836, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(37836, A.TRAINER, 1355, A.TRAINER, 1382, A.TRAINER, 1430, A.TRAINER, 1699, A.TRAINER, 3026, A.TRAINER, 3067, A.TRAINER, 3087, A.TRAINER, 3399, A.TRAINER, 4210, A.TRAINER, 4552, A.TRAINER, 5159, A.TRAINER, 5482, A.TRAINER, 6286, A.TRAINER, 8306, A.TRAINER, 16253, A.TRAINER, 16277, A.TRAINER, 16676, A.TRAINER, 16719, A.TRAINER, 17246, A.TRAINER, 18987, A.TRAINER, 18988, A.TRAINER, 18993, A.TRAINER, 19185, A.TRAINER, 19369)
+	self:AddRecipeTrainer(37836, 1355, 4210, 19369, 3087, 3399, 19185, 8306, 5482, 16676, 1430, 18988, 16719, 3026, 16253, 18987, 17246, 16277, 3067, 18993, 6286, 1382, 1699, 5159, 4552)

 	-- Mok'Nathal Shortribs -- 38867
 	AddRecipe(38867, 335, 31672, Q.COMMON, V.TBC, 335, 355, 365, 375)
 	self:AddRecipeFlags(38867, F.ALLIANCE, F.HORDE, F.VENDOR, F.QUEST, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(38867, A.QUEST, 10860, A.VENDOR, 20916, A.VENDOR, 21113)
+	self:AddRecipeVendor(38867, 20916, 21113)
+	self:AddRecipeAcquire(38867, A.QUEST, 10860)

 	-- Crunchy Serpent -- 38868
 	AddRecipe(38868, 335, 31673, Q.COMMON, V.TBC, 335, 355, 365, 375)
 	self:AddRecipeFlags(38868, F.ALLIANCE, F.HORDE, F.VENDOR, F.QUEST, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(38868, A.QUEST, 10860, A.VENDOR, 20916, A.VENDOR, 21113)
+	self:AddRecipeVendor(38868, 20916, 21113)
+	self:AddRecipeAcquire(38868, A.QUEST, 10860)

 	-- Stewed Trout -- 42296
 	AddRecipe(42296, 320, 33048, Q.COMMON, V.TBC, 320, 335, 345, 355)
 	self:AddRecipeFlags(42296, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(42296, A.TRAINER, 19186)
+	self:AddRecipeTrainer(42296, 19186)

 	-- Fisherman's Feast -- 42302
 	AddRecipe(42302, 350, 33052, Q.COMMON, V.TBC, 350, 375, 380, 385)
 	self:AddRecipeFlags(42302, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(42302, A.TRAINER, 19186)
+	self:AddRecipeTrainer(42302, 19186)

 	-- Hot Buttered Trout -- 42305
 	AddRecipe(42305, 350, 33053, Q.COMMON, V.TBC, 350, 375, 380, 385)
 	self:AddRecipeFlags(42305, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(42305, A.TRAINER, 19186)
+	self:AddRecipeTrainer(42305, 19186)

 	-- Skullfish Soup -- 43707
 	AddRecipe(43707, 325, 33825, Q.UNCOMMON, V.TBC, 325, 335, 345, 355)
@@ -613,122 +638,123 @@ function addon:InitCooking()
 	-- Hot Apple Cider -- 45022
 	AddRecipe(45022, 325, 34411, Q.COMMON, V.WOTLK, 325, 325, 325, 325)
 	self:AddRecipeFlags(45022, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(45022, A.SEASONAL, 1, A.VENDOR, 13420, A.VENDOR, 13433)
+	self:AddRecipeVendor(45022, 13420, 13433)
+	self:AddRecipeAcquire(45022, A.SEASONAL, 1)

 	-- Mammoth Meal -- 45549
 	AddRecipe(45549, 350, 34748, Q.COMMON, V.WOTLK, 350, 350, 382, 415)
 	self:AddRecipeFlags(45549, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(45549, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45549, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Shoveltusk Steak -- 45550
 	AddRecipe(45550, 350, 34749, Q.COMMON, V.WOTLK, 350, 350, 382, 415)
 	self:AddRecipeFlags(45550, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(45550, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45550, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Worm Delight -- 45551
 	AddRecipe(45551, 350, 34750, Q.COMMON, V.WOTLK, 350, 350, 382, 415)
 	self:AddRecipeFlags(45551, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45551, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45551, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Roasted Worg -- 45552
 	AddRecipe(45552, 350, 34751, Q.COMMON, V.WOTLK, 350, 350, 382, 415)
 	self:AddRecipeFlags(45552, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45552, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45552, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Rhino Dogs -- 45553
 	AddRecipe(45553, 350, 34752, Q.COMMON, V.WOTLK, 350, 350, 382, 415)
 	self:AddRecipeFlags(45553, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45553, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45553, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Great Feast -- 45554
 	AddRecipe(45554, 375, 34753, Q.COMMON, V.WOTLK, 375, 375, 400, 425)
 	self:AddRecipeFlags(45554, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(45554, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45554, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Mega Mammoth Meal -- 45555
 	AddRecipe(45555, 400, 34754, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(45555, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(45555, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(45555, 31031, 31032)

 	-- Tender Shoveltusk Steak -- 45556
 	AddRecipe(45556, 400, 34755, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(45556, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(45556, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(45556, 31031, 31032)

 	-- Spiced Worm Burger -- 45557
 	AddRecipe(45557, 400, 34756, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(45557, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45557, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(45557, 31031, 31032)

 	-- Very Burnt Worg -- 45558
 	AddRecipe(45558, 400, 34757, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(45558, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45558, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(45558, 31031, 31032)

 	-- Mighty Rhino Dogs -- 45559
 	AddRecipe(45559, 400, 34758, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(45559, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(45559, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(45559, 31031, 31032)

 	-- Smoked Rockfin -- 45560
 	AddRecipe(45560, 350, 34759, Q.COMMON, V.WOTLK, 350, 350, 365, 380)
 	self:AddRecipeFlags(45560, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45560, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45560, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Grilled Bonescale -- 45561
 	AddRecipe(45561, 350, 34760, Q.COMMON, V.WOTLK, 350, 350, 365, 380)
 	self:AddRecipeFlags(45561, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45561, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45561, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Sauteed Goby -- 45562
 	AddRecipe(45562, 350, 34761, Q.COMMON, V.WOTLK, 350, 350, 365, 380)
 	self:AddRecipeFlags(45562, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45562, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45562, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Grilled Sculpin -- 45563
 	AddRecipe(45563, 350, 34762, Q.COMMON, V.WOTLK, 350, 350, 382, 415)
 	self:AddRecipeFlags(45563, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(45563, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45563, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Smoked Salmon -- 45564
 	AddRecipe(45564, 350, 34763, Q.COMMON, V.WOTLK, 350, 350, 382, 415)
 	self:AddRecipeFlags(45564, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(45564, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45564, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Poached Nettlefish -- 45565
 	AddRecipe(45565, 350, 34764, Q.COMMON, V.WOTLK, 350, 350, 382, 415)
 	self:AddRecipeFlags(45565, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45565, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45565, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Pickled Fangtooth -- 45566
 	AddRecipe(45566, 350, 34765, Q.COMMON, V.WOTLK, 350, 350, 382, 415)
 	self:AddRecipeFlags(45566, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45566, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45566, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Poached Northern Sculpin -- 45567
 	AddRecipe(45567, 400, 34766, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(45567, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(45567, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(45567, 31031, 31032)

 	-- Firecracker Salmon -- 45568
 	AddRecipe(45568, 400, 34767, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(45568, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(45568, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(45568, 31031, 31032)

 	-- Baked Manta Ray -- 45569
 	AddRecipe(45569, 350, 42942, Q.COMMON, V.WOTLK, 350, 350, 382, 415)
 	self:AddRecipeFlags(45569, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45569, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(45569, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Imperial Manta Steak -- 45570
 	AddRecipe(45570, 400, 34769, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(45570, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45570, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(45570, 31031, 31032)

 	-- Spicy Blue Nettlefish -- 45571
 	AddRecipe(45571, 400, 34768, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(45571, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45571, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(45571, 31031, 31032)

 	-- Captain Rumsey's Lager -- 45695
 	AddRecipe(45695, 100, 34832, Q.UNCOMMON, V.WOTLK, 100, 100, 105, 110)
@@ -738,12 +764,12 @@ function addon:InitCooking()
 	-- Charred Bear Kabobs -- 46684
 	AddRecipe(46684, 250, 35563, Q.COMMON, V.WOTLK, 250, 275, 285, 295)
 	self:AddRecipeFlags(46684, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(46684, A.VENDOR, 2803, A.VENDOR, 2806)
+	self:AddRecipeVendor(46684, 2803, 2806)

 	-- Juicy Bear Burger -- 46688
 	AddRecipe(46688, 250, 35565, Q.COMMON, V.WOTLK, 250, 275, 285, 295)
 	self:AddRecipeFlags(46688, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(46688, A.VENDOR, 2803, A.VENDOR, 2806)
+	self:AddRecipeVendor(46688, 2803, 2806)

 	-- Kungaloosh -- 53056
 	AddRecipe(53056, 375, 39520, Q.COMMON, V.WOTLK, 375, 375, 387, 400)
@@ -753,72 +779,72 @@ function addon:InitCooking()
 	-- Northern Stew -- 57421
 	AddRecipe(57421, 350, 34747, Q.COMMON, V.WOTLK, 350, 350, 362, 365)
 	self:AddRecipeFlags(57421, F.ALLIANCE, F.HORDE, F.QUEST, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57421, A.QUEST, 13087, A.QUEST, 13088, A.QUEST, 13089, A.QUEST, 13090)
+	self:AddRecipeAcquire(57421, A.QUEST, 13088, A.QUEST, 13087, A.QUEST, 13089, A.QUEST, 13090)

 	-- Fish Feast -- 57423
 	AddRecipe(57423, 450, 43015, Q.UNCOMMON, V.WOTLK, 450, 455, 460, 465)
 	self:AddRecipeFlags(57423, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(57423, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(57423, 31031, 31032)

 	-- Spicy Fried Herring -- 57433
 	AddRecipe(57433, 400, 42993, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(57433, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(57433, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(57433, 31031, 31032)

 	-- Rhinolicious Wormsteak -- 57434
 	AddRecipe(57434, 400, 42994, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(57434, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(57434, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(57434, 31031, 31032)

 	-- Critter Bites -- 57435
 	AddRecipe(57435, 400, 43004, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(57435, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57435, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(57435, 31031, 31032)

 	-- Hearty Rhino -- 57436
 	AddRecipe(57436, 400, 42995, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(57436, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57436, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(57436, 31031, 31032)

 	-- Snapper Extreme -- 57437
 	AddRecipe(57437, 400, 42996, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(57437, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57437, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(57437, 31031, 31032)

 	-- Blackened Worg Steak -- 57438
 	AddRecipe(57438, 400, 42997, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(57438, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57438, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(57438, 31031, 31032)

 	-- Cuttlesteak -- 57439
 	AddRecipe(57439, 400, 42998, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(57439, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(57439, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(57439, 31031, 31032)

 	-- Spiced Mammoth Treats -- 57440
 	AddRecipe(57440, 400, 43005, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(57440, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57440, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(57440, 31031, 31032)

 	-- Blackened Dragonfin -- 57441
 	AddRecipe(57441, 400, 42999, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(57441, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57441, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(57441, 31031, 31032)

 	-- Dragonfin Filet -- 57442
 	AddRecipe(57442, 400, 43000, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(57442, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57442, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(57442, 31031, 31032)

 	-- Tracker Snacks -- 57443
 	AddRecipe(57443, 400, 43001, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(57443, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57443, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(57443, 31031, 31032)

 	-- Dalaran Clam Chowder -- 58065
 	AddRecipe(58065, 350, 43268, Q.COMMON, V.WOTLK, 350, 350, 382, 415)
 	self:AddRecipeFlags(58065, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(58065, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(58065, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Tasty Cupcake -- 58512
 	AddRecipe(58512, 350, 43490, Q.UNCOMMON, V.WOTLK, 350, 350, 357, 365)
@@ -843,17 +869,17 @@ function addon:InitCooking()
 	-- Gigantic Feast -- 58527
 	AddRecipe(58527, 425, 43478, Q.UNCOMMON, V.WOTLK, 425, 435, 455, 475)
 	self:AddRecipeFlags(58527, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(58527, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(58527, 31031, 31032)

 	-- Small Feast -- 58528
 	AddRecipe(58528, 425, 43480, Q.UNCOMMON, V.WOTLK, 425, 435, 455, 475)
 	self:AddRecipeFlags(58528, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(58528, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(58528, 31031, 31032)

 	-- Worg Tartare -- 62350
 	AddRecipe(62350, 400, 44953, Q.UNCOMMON, V.WOTLK, 400, 400, 420, 460)
 	self:AddRecipeFlags(62350, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(62350, A.VENDOR, 31031, A.VENDOR, 31032)
+	self:AddRecipeVendor(62350, 31031, 31032)

 	-- Clamlette Magnifique -- 64054
 	AddRecipe(64054, 250, 33004, Q.COMMON, V.WOTLK, 250, 250, 275, 300)
@@ -863,7 +889,7 @@ function addon:InitCooking()
 	-- Black Jelly -- 64358
 	AddRecipe(64358, 400, 45932, Q.COMMON, V.WOTLK, 400, 400, 412, 425)
 	self:AddRecipeFlags(64358, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(64358, A.TRAINER, 26905, A.TRAINER, 26953, A.TRAINER, 26972, A.TRAINER, 26989, A.TRAINER, 28705, A.TRAINER, 29631, A.TRAINER, 33587)
+	self:AddRecipeTrainer(64358, 29631, 26972, 33587, 26953, 26905, 28705, 26989)

 	-- Bread of the Dead -- 65454
 	AddRecipe(65454, 45, 46691, Q.COMMON, V.WOTLK, 45, 55, 60, 65)
@@ -883,7 +909,7 @@ function addon:InitCooking()
 		self:AddRecipeAcquire(62044, A.SEASONAL, 5)

 		-- Slow-Roasted Turkey -- 62045
-		AddRecipe(62045, 330, 44839, Q.COMMON, V.WOTLK, 330,330, 342, 355)
+		AddRecipe(62045, 330, 44839, Q.COMMON, V.WOTLK, 330, 330, 342, 355)
 		self:AddRecipeFlags(62045, F.ALLIANCE, F.SEASONAL, F.IBOE, F.RBOP, F.DPS)
 		self:AddRecipeAcquire(62045, A.SEASONAL, 5)

@@ -897,16 +923,16 @@ function addon:InitCooking()
 		self:AddRecipeFlags(62050, F.ALLIANCE, F.SEASONAL, F.IBOE, F.RBOE)
 		self:AddRecipeAcquire(62050, A.SEASONAL, 5)

-		-- Candied Sweet Potatoes -- 62051
+		-- Candied Sweet Potato -- 62051
 		AddRecipe(62051, 270, 44839, Q.COMMON, V.WOTLK, 270, 270, 282, 295)
 		self:AddRecipeFlags(62051, F.ALLIANCE, F.SEASONAL, F.IBOE, F.RBOP)
 		self:AddRecipeAcquire(62051, A.SEASONAL, 5)

 	elseif faction == BFAC["Horde"] then

-		-- Candied Sweet Potatoes -- 66034
+		-- Candied Sweet Potato -- 66034
 		AddRecipe(66034, 270, 44839, Q.COMMON, V.WOTLK, 270, 270, 282, 295)
-		self:AddRecipeFlags(66034,  F.HORDE, F.SEASONAL, F.IBOE, F.RBOP)
+		self:AddRecipeFlags(66034, F.HORDE, F.SEASONAL, F.IBOE, F.RBOP)
 		self:AddRecipeAcquire(66034, A.SEASONAL, 5)

 		-- Cranberry Chutney -- 66035
@@ -916,12 +942,12 @@ function addon:InitCooking()

 		-- Pumpkin Pie -- 66036
 		AddRecipe(66036, 100, 44839, Q.COMMON, V.WOTLK, 100, 150, 162, 175)
-		self:AddRecipeFlags(66036,  F.HORDE, F.SEASONAL, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
+		self:AddRecipeFlags(66036, F.HORDE, F.SEASONAL, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
 		self:AddRecipeAcquire(66036, A.SEASONAL, 5)

 		-- Slow-Roasted Turkey -- 66037
-		AddRecipe(66037, 330, 44839, Q.COMMON, V.WOTLK, 330,330, 342, 355)
-		self:AddRecipeFlags(66037,  F.HORDE, F.SEASONAL, F.IBOE, F.RBOP, F.DPS)
+		AddRecipe(66037, 330, 44839, Q.COMMON, V.WOTLK, 330, 330, 342, 355)
+		self:AddRecipeFlags(66037, F.HORDE, F.SEASONAL, F.IBOE, F.RBOP, F.DPS)
 		self:AddRecipeAcquire(66037, A.SEASONAL, 5)

 		-- Spice Bread Stuffing -- 66038
diff --git a/Database/Enchanting.lua b/Database/Enchanting.lua
index 6ca670a..60080f8 100644
--- a/Database/Enchanting.lua
+++ b/Database/Enchanting.lua
@@ -58,7 +58,7 @@ function addon:InitEnchanting()
 	-- Enchant Chest - Minor Health -- 7420
 	AddRecipe(7420, 15, nil, Q.COMMON, V.ORIG, 15, 70, 90, 110)
 	self:AddRecipeFlags(7420, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7420, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 5695, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16160, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753)
+	self:AddRecipeTrainer(7420, 3606, 19540, 11072, 5695, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 16160, 11073, 33676, 1317, 4213, 33610, 3011, 3345, 7949, 4616)

 	-- Runed Copper Rod -- 7421
 	AddRecipe(7421, 1, 6218, Q.COMMON, V.ORIG, 1, 5, 7, 10)
@@ -68,7 +68,7 @@ function addon:InitEnchanting()
 	-- Enchant Chest - Minor Absorption -- 7426
 	AddRecipe(7426, 40, nil, Q.COMMON, V.ORIG, 40, 90, 110, 130)
 	self:AddRecipeFlags(7426, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7426, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 5695, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16160, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753)
+	self:AddRecipeTrainer(7426, 3606, 19540, 11072, 5695, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 16160, 11073, 33676, 1317, 4213, 33610, 3011, 3345, 7949, 4616)

 	-- Enchant Bracer - Minor Deflection -- 7428
 	AddRecipe(7428, 1, nil, Q.COMMON, V.ORIG, 1, 80, 100, 120)
@@ -83,22 +83,22 @@ function addon:InitEnchanting()
 	-- Enchant Cloak - Minor Resistance -- 7454
 	AddRecipe(7454, 45, nil, Q.COMMON, V.ORIG, 45, 95, 115, 135)
 	self:AddRecipeFlags(7454, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(7454, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 5695, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16160, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753)
+	self:AddRecipeTrainer(7454, 3606, 19540, 11072, 5695, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 16160, 11073, 33676, 1317, 4213, 33610, 3011, 3345, 7949, 4616)

 	-- Enchant Bracer - Minor Stamina -- 7457
 	AddRecipe(7457, 50, nil, Q.COMMON, V.ORIG, 50, 100, 120, 140)
 	self:AddRecipeFlags(7457, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7457, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 5695, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16160, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753)
+	self:AddRecipeTrainer(7457, 3606, 19540, 11072, 5695, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 16160, 11073, 33676, 1317, 4213, 33610, 3011, 3345, 7949, 4616)

 	-- Enchant 2H Weapon - Minor Impact -- 7745
 	AddRecipe(7745, 100, nil, Q.COMMON, V.ORIG, 100, 130, 150, 170)
 	self:AddRecipeFlags(7745, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.TWO_HAND)
-	self:AddRecipeAcquire(7745, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(7745, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 1317, 33676, 4213, 5695, 3011, 3345, 7949, 4616)

 	-- Enchant Chest - Lesser Health -- 7748
 	AddRecipe(7748, 60, nil, Q.COMMON, V.ORIG, 60, 105, 125, 145)
 	self:AddRecipeFlags(7748, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7748, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 5695, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16160, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753)
+	self:AddRecipeTrainer(7748, 3606, 19540, 11072, 5695, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 16160, 11073, 33676, 1317, 4213, 33610, 3011, 3345, 7949, 4616)

 	-- Enchant Bracer - Minor Spirit -- 7766
 	AddRecipe(7766, 60, nil, Q.UNCOMMON, V.ORIG, 60, 105, 125, 145)
@@ -108,17 +108,17 @@ function addon:InitEnchanting()
 	-- Enchant Cloak - Minor Protection -- 7771
 	AddRecipe(7771, 70, nil, Q.COMMON, V.ORIG, 70, 110, 130, 150)
 	self:AddRecipeFlags(7771, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(7771, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 5695, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16160, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753)
+	self:AddRecipeTrainer(7771, 3606, 19540, 11072, 5695, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 16160, 11073, 33676, 1317, 4213, 33610, 3011, 3345, 7949, 4616)

 	-- Enchant Chest - Lesser Mana -- 7776
 	AddRecipe(7776, 80, nil, Q.UNCOMMON, V.ORIG, 80, 115, 135, 155)
 	self:AddRecipeFlags(7776, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7776, A.VENDOR, 3346, A.VENDOR, 5757)
+	self:AddRecipeVendor(7776, 3346, 5757)

 	-- Enchant Bracer - Minor Agility -- 7779
 	AddRecipe(7779, 80, nil, Q.COMMON, V.ORIG, 80, 115, 135, 155)
 	self:AddRecipeFlags(7779, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(7779, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(7779, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 1317, 33676, 4213, 5695, 3011, 3345, 7949, 4616)

 	-- Enchant Bracer - Minor Strength -- 7782
 	AddRecipe(7782, 80, nil, Q.UNCOMMON, V.ORIG, 80, 115, 135, 155)
@@ -133,22 +133,22 @@ function addon:InitEnchanting()
 	-- Enchant Weapon - Minor Striking -- 7788
 	AddRecipe(7788, 90, nil, Q.COMMON, V.ORIG, 90, 120, 140, 160)
 	self:AddRecipeFlags(7788, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(7788, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(7788, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 1317, 33676, 4213, 5695, 3011, 3345, 7949, 4616)

 	-- Enchant 2H Weapon - Lesser Intellect -- 7793
 	AddRecipe(7793, 100, nil, Q.COMMON, V.ORIG, 100, 130, 150, 170)
 	self:AddRecipeFlags(7793, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TWO_HAND)
-	self:AddRecipeAcquire(7793, A.VENDOR, 3012, A.VENDOR, 3346, A.VENDOR, 5158, A.VENDOR, 5758)
+	self:AddRecipeVendor(7793, 3012, 5158, 3346, 5758)

 	-- Runed Silver Rod -- 7795
 	AddRecipe(7795, 100, 6339, Q.COMMON, V.ORIG, 100, 130, 150, 170)
 	self:AddRecipeFlags(7795, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(7795, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(7795, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 1317, 33676, 4213, 5695, 3011, 3345, 7949, 4616)

 	-- Enchant Chest - Health -- 7857
 	AddRecipe(7857, 120, nil, Q.COMMON, V.ORIG, 120, 145, 165, 185)
 	self:AddRecipeFlags(7857, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7857, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(7857, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant Bracer - Lesser Spirit -- 7859
 	AddRecipe(7859, 120, nil, Q.UNCOMMON, V.ORIG, 120, 145, 165, 185)
@@ -158,22 +158,22 @@ function addon:InitEnchanting()
 	-- Enchant Cloak - Lesser Fire Resistance -- 7861
 	AddRecipe(7861, 125, nil, Q.COMMON, V.ORIG, 125, 150, 170, 190)
 	self:AddRecipeFlags(7861, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(7861, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(7861, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant Boots - Minor Stamina -- 7863
 	AddRecipe(7863, 125, nil, Q.COMMON, V.ORIG, 125, 150, 170, 190)
 	self:AddRecipeFlags(7863, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7863, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(7863, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant Boots - Minor Agility -- 7867
 	AddRecipe(7867, 125, nil, Q.UNCOMMON, V.ORIG, 125, 150, 170, 190)
 	self:AddRecipeFlags(7867, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(7867, A.VENDOR, 3012, A.VENDOR, 3537)
+	self:AddRecipeVendor(7867, 3012, 3537)

 	-- Enchant Shield - Minor Stamina -- 13378
 	AddRecipe(13378, 105, nil, Q.COMMON, V.ORIG, 105, 130, 150, 170)
 	self:AddRecipeFlags(13378, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.SHIELD)
-	self:AddRecipeAcquire(13378, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13378, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant 2H Weapon - Lesser Spirit -- 13380
 	AddRecipe(13380, 110, nil, Q.UNCOMMON, V.ORIG, 110, 135, 155, 175)
@@ -183,12 +183,13 @@ function addon:InitEnchanting()
 	-- Enchant Cloak - Minor Agility -- 13419
 	AddRecipe(13419, 110, nil, Q.UNCOMMON, V.ORIG, 110, 135, 155, 175)
 	self:AddRecipeFlags(13419, F.ALLIANCE, F.HORDE, F.VENDOR, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(13419, A.WORLD_DROP, 2, A.VENDOR, 3954, A.VENDOR, 12043)
+	self:AddRecipeVendor(13419, 3954, 12043)
+	self:AddRecipeAcquire(13419, A.WORLD_DROP, 2)

 	-- Enchant Cloak - Lesser Protection -- 13421
 	AddRecipe(13421, 115, nil, Q.COMMON, V.ORIG, 115, 140, 160, 180)
 	self:AddRecipeFlags(13421, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(13421, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13421, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant Shield - Lesser Protection -- 13464
 	AddRecipe(13464, 115, nil, Q.UNCOMMON, V.ORIG, 115, 140, 160, 180)
@@ -198,17 +199,17 @@ function addon:InitEnchanting()
 	-- Enchant Shield - Lesser Spirit -- 13485
 	AddRecipe(13485, 130, nil, Q.COMMON, V.ORIG, 130, 155, 175, 195)
 	self:AddRecipeFlags(13485, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.SHIELD)
-	self:AddRecipeAcquire(13485, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13485, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant Bracer - Lesser Stamina -- 13501
 	AddRecipe(13501, 130, nil, Q.COMMON, V.ORIG, 130, 155, 175, 195)
 	self:AddRecipeFlags(13501, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13501, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13501, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant Weapon - Lesser Striking -- 13503
 	AddRecipe(13503, 140, nil, Q.COMMON, V.ORIG, 140, 165, 185, 205)
 	self:AddRecipeFlags(13503, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(13503, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13503, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant Cloak - Lesser Shadow Resistance -- 13522
 	AddRecipe(13522, 135, nil, Q.UNCOMMON, V.ORIG, 135, 160, 180, 200)
@@ -218,92 +219,92 @@ function addon:InitEnchanting()
 	-- Enchant 2H Weapon - Lesser Impact -- 13529
 	AddRecipe(13529, 145, nil, Q.COMMON, V.ORIG, 145, 170, 190, 210)
 	self:AddRecipeFlags(13529, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.TWO_HAND)
-	self:AddRecipeAcquire(13529, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13529, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant Bracer - Lesser Strength -- 13536
 	AddRecipe(13536, 140, nil, Q.UNCOMMON, V.ORIG, 140, 165, 185, 205)
 	self:AddRecipeFlags(13536, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(13536, A.VENDOR, 3954, A.VENDOR, 12043)
+	self:AddRecipeVendor(13536, 3954, 12043)

 	-- Enchant Chest - Lesser Absorption -- 13538
 	AddRecipe(13538, 140, nil, Q.COMMON, V.ORIG, 140, 165, 185, 205)
 	self:AddRecipeFlags(13538, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13538, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13538, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant Chest - Mana -- 13607
 	AddRecipe(13607, 145, nil, Q.COMMON, V.ORIG, 145, 170, 190, 210)
 	self:AddRecipeFlags(13607, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13607, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13607, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant Gloves - Mining -- 13612
 	AddRecipe(13612, 145, nil, Q.UNCOMMON, V.ORIG, 145, 170, 190, 210)
 	self:AddRecipeFlags(13612, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13612, A.MOB, 1054, A.MOB, 1051, A.MOB, 1052, A.MOB, 1053, A.MOB, 1364)
+	self:AddRecipeMobDrop(13612, 1054, 1051, 1052, 1364, 1053)

 	-- Enchant Gloves - Herbalism -- 13617
 	AddRecipe(13617, 145, nil, Q.UNCOMMON, V.ORIG, 145, 170, 190, 210)
 	self:AddRecipeFlags(13617, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13617, A.MOB, 4030, A.MOB, 4029, A.MOB, 3834, A.MOB, 3919, A.MOB, 4028)
+	self:AddRecipeMobDrop(13617, 4029, 3834, 3919, 4028, 4030)

 	-- Enchant Gloves - Fishing -- 13620
 	AddRecipe(13620, 145, nil, Q.UNCOMMON, V.ORIG, 145, 170, 190, 210)
 	self:AddRecipeFlags(13620, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13620, A.MOB, 2375, A.MOB, 2377, A.MOB, 2376, A.MOB, 2374, A.MOB, 14276)
+	self:AddRecipeMobDrop(13620, 2377, 2374, 2375, 2376, 14276)

 	-- Enchant Bracer - Lesser Intellect -- 13622
 	AddRecipe(13622, 150, nil, Q.COMMON, V.ORIG, 150, 175, 195, 215)
 	self:AddRecipeFlags(13622, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13622, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13622, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant Chest - Minor Stats -- 13626
 	AddRecipe(13626, 150, nil, Q.COMMON, V.ORIG, 150, 175, 195, 215)
 	self:AddRecipeFlags(13626, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13626, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13626, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Runed Golden Rod -- 13628
 	AddRecipe(13628, 150, 11130, Q.COMMON, V.ORIG, 150, 175, 195, 215)
 	self:AddRecipeFlags(13628, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(13628, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 7949, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 3606, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13628, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 1317, 4213, 33676, 3011, 3345, 7949, 4616)

 	-- Enchant Shield - Lesser Stamina -- 13631
 	AddRecipe(13631, 155, nil, Q.COMMON, V.ORIG, 155, 175, 195, 215)
 	self:AddRecipeFlags(13631, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.SHIELD)
-	self:AddRecipeAcquire(13631, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13631, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Cloak - Defense -- 13635
 	AddRecipe(13635, 155, nil, Q.COMMON, V.ORIG, 155, 175, 195, 215)
 	self:AddRecipeFlags(13635, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.TANK, F.CLOAK)
-	self:AddRecipeAcquire(13635, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13635, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Boots - Lesser Agility -- 13637
 	AddRecipe(13637, 160, nil, Q.COMMON, V.ORIG, 160, 180, 200, 220)
 	self:AddRecipeFlags(13637, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(13637, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13637, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Chest - Greater Health -- 13640
 	AddRecipe(13640, 160, nil, Q.COMMON, V.ORIG, 160, 180, 200, 220)
 	self:AddRecipeFlags(13640, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13640, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13640, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Bracer - Spirit -- 13642
 	AddRecipe(13642, 165, nil, Q.COMMON, V.ORIG, 165, 185, 205, 225)
 	self:AddRecipeFlags(13642, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(13642, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13642, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Boots - Lesser Stamina -- 13644
 	AddRecipe(13644, 170, nil, Q.COMMON, V.ORIG, 170, 190, 210, 230)
 	self:AddRecipeFlags(13644, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13644, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13644, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Bracer - Lesser Deflection -- 13646
 	AddRecipe(13646, 170, nil, Q.UNCOMMON, V.ORIG, 170, 190, 210, 230)
 	self:AddRecipeFlags(13646, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TANK)
-	self:AddRecipeAcquire(13646, A.VENDOR, 2381, A.VENDOR, 2821)
+	self:AddRecipeVendor(13646, 2381, 2821)

 	-- Enchant Bracer - Stamina -- 13648
 	AddRecipe(13648, 170, nil, Q.COMMON, V.ORIG, 170, 190, 210, 230)
 	self:AddRecipeFlags(13648, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13648, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13648, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Weapon - Lesser Beastslayer -- 13653
 	AddRecipe(13653, 175, nil, Q.UNCOMMON, V.ORIG, 175, 195, 215, 235)
@@ -318,22 +319,22 @@ function addon:InitEnchanting()
 	-- Enchant Cloak - Fire Resistance -- 13657
 	AddRecipe(13657, 175, nil, Q.COMMON, V.ORIG, 175, 195, 215, 235)
 	self:AddRecipeFlags(13657, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(13657, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13657, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Shield - Spirit -- 13659
 	AddRecipe(13659, 180, nil, Q.COMMON, V.ORIG, 180, 200, 220, 240)
 	self:AddRecipeFlags(13659, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.SHIELD)
-	self:AddRecipeAcquire(13659, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13659, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Bracer - Strength -- 13661
 	AddRecipe(13661, 180, nil, Q.COMMON, V.ORIG, 180, 200, 220, 240)
 	self:AddRecipeFlags(13661, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(13661, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13661, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Chest - Greater Mana -- 13663
 	AddRecipe(13663, 185, nil, Q.COMMON, V.ORIG, 185, 205, 225, 245)
 	self:AddRecipeFlags(13663, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13663, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13663, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Boots - Lesser Spirit -- 13687
 	AddRecipe(13687, 190, nil, Q.UNCOMMON, V.ORIG, 190, 210, 230, 250)
@@ -348,42 +349,42 @@ function addon:InitEnchanting()
 	-- Enchant Weapon - Striking -- 13693
 	AddRecipe(13693, 195, nil, Q.COMMON, V.ORIG, 195, 215, 235, 255)
 	self:AddRecipeFlags(13693, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(13693, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13693, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant 2H Weapon - Impact -- 13695
 	AddRecipe(13695, 200, nil, Q.COMMON, V.ORIG, 200, 220, 240, 260)
 	self:AddRecipeFlags(13695, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.TWO_HAND)
-	self:AddRecipeAcquire(13695, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13695, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Gloves - Skinning -- 13698
 	AddRecipe(13698, 200, nil, Q.UNCOMMON, V.ORIG, 200, 220, 240, 260)
 	self:AddRecipeFlags(13698, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13698, A.MOB, 2556, A.MOB, 2557, A.MOB, 2558, A.MOB, 2606)
+	self:AddRecipeMobDrop(13698, 2556, 2558, 2557, 2606)

 	-- Enchant Chest - Lesser Stats -- 13700
 	AddRecipe(13700, 200, nil, Q.COMMON, V.ORIG, 200, 220, 240, 260)
 	self:AddRecipeFlags(13700, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13700, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13700, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Runed Truesilver Rod -- 13702
 	AddRecipe(13702, 200, 11145, Q.COMMON, V.ORIG, 200, 220, 240, 260)
 	self:AddRecipeFlags(13702, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(13702, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13702, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Cloak - Greater Defense -- 13746
 	AddRecipe(13746, 205, nil, Q.COMMON, V.ORIG, 205, 225, 245, 265)
 	self:AddRecipeFlags(13746, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.TANK, F.CLOAK)
-	self:AddRecipeAcquire(13746, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13746, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Cloak - Resistance -- 13794
 	AddRecipe(13794, 205, nil, Q.COMMON, V.ORIG, 205, 225, 245, 265)
 	self:AddRecipeFlags(13794, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(13794, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13794, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Gloves - Agility -- 13815
 	AddRecipe(13815, 210, nil, Q.COMMON, V.ORIG, 210, 230, 250, 270)
 	self:AddRecipeFlags(13815, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(13815, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13815, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Shield - Stamina -- 13817
 	AddRecipe(13817, 210, nil, Q.UNCOMMON, V.ORIG, 210, 230, 250, 270)
@@ -393,17 +394,17 @@ function addon:InitEnchanting()
 	-- Enchant Bracer - Intellect -- 13822
 	AddRecipe(13822, 210, nil, Q.COMMON, V.ORIG, 210, 230, 250, 270)
 	self:AddRecipeFlags(13822, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13822, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13822, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Boots - Stamina -- 13836
 	AddRecipe(13836, 215, nil, Q.COMMON, V.ORIG, 215, 235, 255, 275)
 	self:AddRecipeFlags(13836, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13836, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13836, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Gloves - Advanced Mining -- 13841
 	AddRecipe(13841, 215, nil, Q.UNCOMMON, V.ORIG, 215, 235, 255, 275)
 	self:AddRecipeFlags(13841, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13841, A.MOB, 674)
+	self:AddRecipeMobDrop(13841, 674)

 	-- Enchant Bracer - Greater Spirit -- 13846
 	AddRecipe(13846, 220, nil, Q.UNCOMMON, V.ORIG, 220, 240, 260, 280)
@@ -413,37 +414,37 @@ function addon:InitEnchanting()
 	-- Enchant Chest - Superior Health -- 13858
 	AddRecipe(13858, 220, nil, Q.COMMON, V.ORIG, 220, 240, 260, 280)
 	self:AddRecipeFlags(13858, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13858, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13858, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Gloves - Advanced Herbalism -- 13868
 	AddRecipe(13868, 225, nil, Q.UNCOMMON, V.ORIG, 225, 245, 265, 285)
 	self:AddRecipeFlags(13868, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13868, A.MOB, 764, A.MOB, 765, A.MOB, 766, A.MOB, 1081, A.MOB, 14448)
+	self:AddRecipeMobDrop(13868, 764, 766, 14448, 1081, 765)

 	-- Enchant Cloak - Lesser Agility -- 13882
 	AddRecipe(13882, 225, nil, Q.UNCOMMON, V.ORIG, 225, 245, 265, 285)
 	self:AddRecipeFlags(13882, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(13882, A.MOB, 2246, A.MOB, 5623, A.MOB, 7805)
+	self:AddRecipeMobDrop(13882, 5623, 7805, 2246)

 	-- Enchant Gloves - Strength -- 13887
 	AddRecipe(13887, 225, nil, Q.COMMON, V.ORIG, 225, 245, 265, 285)
 	self:AddRecipeFlags(13887, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(13887, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13887, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Boots - Minor Speed -- 13890
 	AddRecipe(13890, 225, nil, Q.COMMON, V.ORIG, 225, 245, 265, 285)
 	self:AddRecipeFlags(13890, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13890, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13890, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Weapon - Fiery Weapon -- 13898
 	AddRecipe(13898, 265, nil, Q.UNCOMMON, V.ORIG, 265, 285, 305, 325)
 	self:AddRecipeFlags(13898, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(13898, A.MOB, 9024)
+	self:AddRecipeMobDrop(13898, 9024)

 	-- Enchant Shield - Greater Spirit -- 13905
 	AddRecipe(13905, 230, nil, Q.COMMON, V.ORIG, 230, 250, 270, 290)
 	self:AddRecipeFlags(13905, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.SHIELD)
-	self:AddRecipeAcquire(13905, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13905, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Weapon - Demonslaying -- 13915
 	AddRecipe(13915, 230, nil, Q.UNCOMMON, V.ORIG, 230, 250, 270, 290)
@@ -453,14 +454,14 @@ function addon:InitEnchanting()
 	-- Enchant Chest - Superior Mana -- 13917
 	AddRecipe(13917, 230, nil, Q.COMMON, V.ORIG, 230, 250, 270, 290)
 	self:AddRecipeFlags(13917, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13917, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13917, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Bracer - Deflection -- 13931
 	AddRecipe(13931, 235, nil, Q.UNCOMMON, V.ORIG, 235, 255, 275, 295)
 	self:AddRecipeFlags(13931, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TANK)
-	self:AddRecipeAcquire(13931, A.VENDOR, 989, A.VENDOR, 4229)
+	self:AddRecipeVendor(13931, 989, 4229)

-	-- Enchant Shield - Frost Resistance -- 13933 SPECIAL WORLD DROP
+	-- Enchant Shield - Frost Resistance -- 13933
 	AddRecipe(13933, 235, nil, Q.UNCOMMON, V.ORIG, 235, 255, 275, 295)
 	self:AddRecipeFlags(13933, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.SHIELD)
 	self:AddRecipeAcquire(13933, A.WORLD_DROP, 2)
@@ -468,27 +469,27 @@ function addon:InitEnchanting()
 	-- Enchant Boots - Agility -- 13935
 	AddRecipe(13935, 235, nil, Q.COMMON, V.ORIG, 235, 255, 275, 295)
 	self:AddRecipeFlags(13935, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(13935, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13935, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant 2H Weapon - Greater Impact -- 13937
 	AddRecipe(13937, 240, nil, Q.COMMON, V.ORIG, 240, 260, 280, 300)
 	self:AddRecipeFlags(13937, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.TWO_HAND)
-	self:AddRecipeAcquire(13937, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 5695, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16160, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753)
+	self:AddRecipeTrainer(13937, 3606, 19540, 11072, 5695, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 16160, 11073, 33676, 1317, 4213, 33610, 3011, 3345, 7949, 4616)

 	-- Enchant Bracer - Greater Strength -- 13939
 	AddRecipe(13939, 240, nil, Q.COMMON, V.ORIG, 240, 260, 280, 300)
 	self:AddRecipeFlags(13939, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(13939, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13939, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Chest - Stats -- 13941
 	AddRecipe(13941, 245, nil, Q.COMMON, V.ORIG, 245, 265, 285, 305)
 	self:AddRecipeFlags(13941, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13941, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13941, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Weapon - Greater Striking -- 13943
 	AddRecipe(13943, 245, nil, Q.COMMON, V.ORIG, 245, 265, 285, 305)
 	self:AddRecipeFlags(13943, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(13943, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13943, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Bracer - Greater Stamina -- 13945
 	AddRecipe(13945, 245, nil, Q.UNCOMMON, V.ORIG, 245, 265, 285, 305)
@@ -503,47 +504,47 @@ function addon:InitEnchanting()
 	-- Enchant Gloves - Minor Haste -- 13948
 	AddRecipe(13948, 250, nil, Q.COMMON, V.ORIG, 250, 270, 290, 310)
 	self:AddRecipeFlags(13948, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(13948, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(13948, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Lesser Magic Wand -- 14293
 	AddRecipe(14293, 10, 11287, Q.COMMON, V.ORIG, 10, 75, 95, 115)
 	self:AddRecipeFlags(14293, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.WAND)
-	self:AddRecipeAcquire(14293, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 5695, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16160, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753)
+	self:AddRecipeTrainer(14293, 3606, 19540, 11072, 5695, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 16160, 11073, 33676, 1317, 4213, 33610, 3011, 3345, 7949, 4616)

 	-- Greater Magic Wand -- 14807
 	AddRecipe(14807, 70, 11288, Q.COMMON, V.ORIG, 70, 110, 130, 150)
 	self:AddRecipeFlags(14807, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.WAND)
-	self:AddRecipeAcquire(14807, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 5695, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16160, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753)
+	self:AddRecipeTrainer(14807, 3606, 19540, 11072, 5695, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 16160, 11073, 33676, 1317, 4213, 33610, 3011, 3345, 7949, 4616)

 	-- Lesser Mystic Wand -- 14809
 	AddRecipe(14809, 155, 11289, Q.COMMON, V.ORIG, 155, 175, 195, 215)
 	self:AddRecipeFlags(14809, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.WAND)
-	self:AddRecipeAcquire(14809, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(14809, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Greater Mystic Wand -- 14810
 	AddRecipe(14810, 175, 11290, Q.COMMON, V.ORIG, 175, 195, 215, 235)
 	self:AddRecipeFlags(14810, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.WAND)
-	self:AddRecipeAcquire(14810, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(14810, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Smoking Heart of the Mountain -- 15596
 	AddRecipe(15596, 265, 45050, Q.UNCOMMON, V.ORIG, 265, 285, 305, 325)
 	self:AddRecipeFlags(15596, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOP, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(15596, A.MOB, 9025)
+	self:AddRecipeMobDrop(15596, 9025)

 	-- Enchanted Thorium -- 17180
 	AddRecipe(17180, 250, 12655, Q.COMMON, V.ORIG, 250, 250, 255, 260)
 	self:AddRecipeFlags(17180, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(17180, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(17180, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchanted Leather -- 17181
 	AddRecipe(17181, 250, 12810, Q.COMMON, V.ORIG, 250, 250, 255, 260)
 	self:AddRecipeFlags(17181, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(17181, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(17181, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Bracer - Greater Intellect -- 20008
 	AddRecipe(20008, 255, nil, Q.COMMON, V.ORIG, 255, 275, 295, 315)
 	self:AddRecipeFlags(20008, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(20008, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(20008, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Bracer - Superior Spirit -- 20009
 	AddRecipe(20009, 270, nil, Q.UNCOMMON, V.ORIG, 270, 290, 310, 330)
@@ -553,7 +554,7 @@ function addon:InitEnchanting()
 	-- Enchant Bracer - Superior Strength -- 20010
 	AddRecipe(20010, 295, nil, Q.UNCOMMON, V.ORIG, 295, 310, 325, 340)
 	self:AddRecipeFlags(20010, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(20010, A.MOB, 7372)
+	self:AddRecipeMobDrop(20010, 7372)

 	-- Enchant Bracer - Superior Stamina -- 20011
 	AddRecipe(20011, 300, nil, Q.UNCOMMON, V.ORIG, 300, 310, 325, 340)
@@ -563,32 +564,32 @@ function addon:InitEnchanting()
 	-- Enchant Gloves - Greater Agility -- 20012
 	AddRecipe(20012, 270, nil, Q.UNCOMMON, V.ORIG, 270, 290, 310, 330)
 	self:AddRecipeFlags(20012, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(20012, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(20012, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Gloves - Greater Strength -- 20013
 	AddRecipe(20013, 295, nil, Q.COMMON, V.ORIG, 295, 310, 325, 340)
 	self:AddRecipeFlags(20013, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(20013, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 3606, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(20013, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Cloak - Greater Resistance -- 20014
 	AddRecipe(20014, 265, nil, Q.UNCOMMON, V.ORIG, 265, 285, 305, 325)
 	self:AddRecipeFlags(20014, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(20014, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(20014, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Cloak - Superior Defense -- 20015
 	AddRecipe(20015, 285, nil, Q.COMMON, V.ORIG, 285, 300, 317, 335)
 	self:AddRecipeFlags(20015, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TANK, F.CLOAK)
-	self:AddRecipeAcquire(20015, A.VENDOR, 12022)
+	self:AddRecipeVendor(20015, 12022)

 	-- Enchant Shield - Vitality -- 20016
 	AddRecipe(20016, 280, nil, Q.UNCOMMON, V.ORIG, 280, 300, 320, 340)
 	self:AddRecipeFlags(20016, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.SHIELD)
-	self:AddRecipeAcquire(20016, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(20016, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Shield - Greater Stamina -- 20017
 	AddRecipe(20017, 265, nil, Q.COMMON, V.ORIG, 265, 285, 305, 325)
 	self:AddRecipeFlags(20017, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SHIELD)
-	self:AddRecipeAcquire(20017, A.VENDOR, 4229, A.VENDOR, 4561)
+	self:AddRecipeVendor(20017, 4229, 4561)

 	-- Enchant Boots - Greater Stamina -- 20020
 	AddRecipe(20020, 260, nil, Q.UNCOMMON, V.ORIG, 260, 280, 300, 320)
@@ -598,7 +599,7 @@ function addon:InitEnchanting()
 	-- Enchant Boots - Greater Agility -- 20023
 	AddRecipe(20023, 295, nil, Q.UNCOMMON, V.ORIG, 295, 310, 325, 340)
 	self:AddRecipeFlags(20023, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(20023, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(20023, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Boots - Spirit -- 20024
 	AddRecipe(20024, 275, nil, Q.UNCOMMON, V.ORIG, 275, 295, 315, 335)
@@ -613,57 +614,57 @@ function addon:InitEnchanting()
 	-- Enchant Chest - Major Health -- 20026
 	AddRecipe(20026, 275, nil, Q.COMMON, V.ORIG, 275, 295, 315, 335)
 	self:AddRecipeFlags(20026, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(20026, A.VENDOR, 11189)
+	self:AddRecipeVendor(20026, 11189)

 	-- Enchant Chest - Major Mana -- 20028
 	AddRecipe(20028, 290, nil, Q.UNCOMMON, V.ORIG, 290, 305, 322, 340)
 	self:AddRecipeFlags(20028, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(20028, A.TRAINER, 11073, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 16633, A.TRAINER, 11072, A.TRAINER, 1317, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 16725, A.TRAINER, 3345, A.TRAINER, 3011, A.TRAINER, 11074, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 5695, A.TRAINER, 4616, A.TRAINER, 7949, A.TRAINER, 5157, A.TRAINER, 19540, A.TRAINER, 18753, A.TRAINER, 16160)
+	self:AddRecipeTrainer(20028, 3606, 19540, 11072, 11073, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 33610, 16160, 5695, 33676, 4213, 4616, 3011, 3345, 7949, 1317)

 	-- Enchant Weapon - Icy Chill -- 20029
 	AddRecipe(20029, 285, nil, Q.UNCOMMON, V.ORIG, 285, 300, 317, 335)
 	self:AddRecipeFlags(20029, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(20029, A.MOB, 7524)
+	self:AddRecipeMobDrop(20029, 7524)

 	-- Enchant 2H Weapon - Superior Impact -- 20030
 	AddRecipe(20030, 295, nil, Q.UNCOMMON, V.ORIG, 295, 310, 325, 340)
 	self:AddRecipeFlags(20030, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.TWO_HAND)
-	self:AddRecipeAcquire(20030, A.MOB, 10317)
+	self:AddRecipeMobDrop(20030, 10317)

 	-- Enchant Weapon - Superior Striking -- 20031
 	AddRecipe(20031, 300, nil, Q.UNCOMMON, V.ORIG, 300, 310, 325, 340)
 	self:AddRecipeFlags(20031, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(20031, A.MOB, 9216)
+	self:AddRecipeMobDrop(20031, 9216)

 	-- Enchant Weapon - Lifestealing -- 20032
 	AddRecipe(20032, 300, nil, Q.RARE, V.ORIG, 300, 310, 325, 340)
 	self:AddRecipeFlags(20032, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(20032, A.MOB, 10499)
+	self:AddRecipeMobDrop(20032, 10499)

 	-- Enchant Weapon - Unholy Weapon -- 20033
 	AddRecipe(20033, 295, nil, Q.UNCOMMON, V.ORIG, 295, 310, 325, 340)
 	self:AddRecipeFlags(20033, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(20033, A.MOB, 10398, A.MOB, 16810)
+	self:AddRecipeMobDrop(20033, 10398, 16810)

 	-- Enchant Weapon - Crusader -- 20034
 	AddRecipe(20034, 300, nil, Q.UNCOMMON, V.ORIG, 300, 310, 325, 340)
 	self:AddRecipeFlags(20034, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(20034, A.MOB, 4494, A.MOB, 9451)
+	self:AddRecipeMobDrop(20034, 4494, 9451)

 	-- Enchant 2H Weapon - Major Spirit -- 20035
 	AddRecipe(20035, 300, nil, Q.UNCOMMON, V.ORIG, 300, 310, 325, 340)
 	self:AddRecipeFlags(20035, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.TWO_HAND)
-	self:AddRecipeAcquire(20035, A.MOB, 10469)
+	self:AddRecipeMobDrop(20035, 10469)

 	-- Enchant 2H Weapon - Major Intellect -- 20036
 	AddRecipe(20036, 300, nil, Q.UNCOMMON, V.ORIG, 300, 310, 325, 340)
 	self:AddRecipeFlags(20036, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.TWO_HAND)
-	self:AddRecipeAcquire(20036, A.MOB, 10422)
+	self:AddRecipeMobDrop(20036, 10422)

 	-- Runed Arcanite Rod -- 20051
 	AddRecipe(20051, 290, 16207, Q.COMMON, V.ORIG, 290, 305, 322, 340)
 	self:AddRecipeFlags(20051, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOE)
-	self:AddRecipeAcquire(20051, A.VENDOR, 12022)
+	self:AddRecipeVendor(20051, 12022)

 	-- Enchant Weapon - Winter's Might -- 21931
 	AddRecipe(21931, 190, nil, Q.UNCOMMON, V.ORIG, 190, 210, 230, 250)
@@ -683,37 +684,38 @@ function addon:InitEnchanting()
 	-- Enchant Weapon - Strength -- 23799
 	AddRecipe(23799, 290, nil, Q.COMMON, V.ORIG, 290, 305, 322, 340)
 	self:AddRecipeFlags(23799, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.TWO_HAND, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23799, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.FRIENDLY, 12944)
+	self:AddRecipeRepVendor(23799, FAC.THORIUM_BROTHERHOOD, REP.FRIENDLY, 12944)

 	-- Enchant Weapon - Agility -- 23800
 	AddRecipe(23800, 290, nil, Q.COMMON, V.ORIG, 290, 305, 322, 340)
 	self:AddRecipeFlags(23800, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.TWO_HAND, F.TIMBERMAW_HOLD)
-	self:AddRecipeAcquire(23800, A.REPUTATION, FAC.TIMBERMAW_HOLD, REP.HONORED, 11557)
+	self:AddRecipeRepVendor(23800, FAC.TIMBERMAW_HOLD, REP.HONORED, 11557)

 	-- Enchant Bracer - Mana Regeneration -- 23801
 	AddRecipe(23801, 290, nil, Q.COMMON, V.ORIG, 290, 305, 322, 340)
 	self:AddRecipeFlags(23801, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.ARGENTDAWN)
-	self:AddRecipeAcquire(23801, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 10856, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 10857, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 11536)
+	self:AddRecipeRepVendor(23801, FAC.ARGENTDAWN, REP.HONORED, 10856, 11536, 10857)

 	-- Enchant Bracer - Healing Power -- 23802
 	AddRecipe(23802, 300, nil, Q.COMMON, V.ORIG, 300, 310, 325, 340)
 	self:AddRecipeFlags(23802, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.ARGENTDAWN)
-	self:AddRecipeAcquire(23802, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 10856, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 10857, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 11536)
+	self:AddRecipeRepVendor(23802, FAC.ARGENTDAWN, REP.REVERED, 10856, 11536, 10857)

 	-- Enchant Weapon - Mighty Spirit -- 23803
 	AddRecipe(23803, 300, nil, Q.COMMON, V.ORIG, 300, 310, 325, 340)
 	self:AddRecipeFlags(23803, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND, F.TWO_HAND, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23803, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)
+	self:AddRecipeRepVendor(23803, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)

 	-- Enchant Weapon - Mighty Intellect -- 23804
 	AddRecipe(23804, 300, nil, Q.COMMON, V.ORIG, 300, 310, 325, 340)
 	self:AddRecipeFlags(23804, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.ONE_HAND, F.TWO_HAND, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23804, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)
+	self:AddRecipeRepVendor(23804, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)

 	-- Enchant Gloves - Threat -- 25072
 	AddRecipe(25072, 300, nil, Q.RARE, V.ORIG, 300, 310, 325, 340)
 	self:AddRecipeFlags(25072, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.MOB_DROP, F.IBOE, F.RBOE, F.TANK, F.SHATAR)
-	self:AddRecipeAcquire(25072, A.MOB, 15275, A.REPUTATION, FAC.SHATAR, REP.EXALTED, 21432)
+	self:AddRecipeMobDrop(25072, 15275)
+	self:AddRecipeRepVendor(25072, FAC.SHATAR, REP.EXALTED, 21432)

 	-- Enchant Gloves - Shadow Power -- 25073
 	AddRecipe(25073, 300, nil, Q.RARE, V.ORIG, 300, 310, 325, 340)
@@ -738,92 +740,98 @@ function addon:InitEnchanting()
 	-- Enchant Gloves - Superior Agility -- 25080
 	AddRecipe(25080, 300, nil, Q.RARE, V.TBC, 300, 310, 325, 340)
 	self:AddRecipeFlags(25080, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOE, F.DPS, F.KOT)
-	self:AddRecipeAcquire(25080, A.CUSTOM, 22, A.REPUTATION, FAC.KEEPERS_OF_TIME, REP.EXALTED, 21643)
+	self:AddRecipeRepVendor(25080, FAC.KEEPERS_OF_TIME, REP.EXALTED, 21643)
+	self:AddRecipeAcquire(25080, A.CUSTOM, 22)

 	-- Enchant Cloak - Greater Fire Resistance -- 25081
 	AddRecipe(25081, 300, nil, Q.COMMON, V.ORIG, 300, 310, 325, 340)
 	self:AddRecipeFlags(25081, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOAK, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(25081, A.REPUTATION, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15419)
+	self:AddRecipeRepVendor(25081, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15419)

 	-- Enchant Cloak - Greater Nature Resistance -- 25082
 	AddRecipe(25082, 300, nil, Q.COMMON, V.ORIG, 300, 310, 325, 340)
 	self:AddRecipeFlags(25082, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOAK, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(25082, A.REPUTATION, FAC.CENARION_CIRCLE, REP.HONORED, 15419)
+	self:AddRecipeRepVendor(25082, FAC.CENARION_CIRCLE, REP.HONORED, 15419)

 	-- Enchant Cloak - Stealth -- 25083
 	AddRecipe(25083, 300, nil, Q.RARE, V.TBC, 300, 310, 325, 340)
 	self:AddRecipeFlags(25083, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOE, F.CLOAK, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(25083, A.CUSTOM, 22, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.EXALTED, 17904)
+	self:AddRecipeRepVendor(25083, FAC.CENARION_EXPEDITION, REP.EXALTED, 17904)
+	self:AddRecipeAcquire(25083, A.CUSTOM, 22)

 	-- Enchant Cloak - Subtlety -- 25084
 	AddRecipe(25084, 300, nil, Q.RARE, V.TBC, 300, 310, 325, 340)
 	self:AddRecipeFlags(25084, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOE, F.CLOAK, F.HELLFIRE)
-	self:AddRecipeAcquire(25084, A.MOB, 15276, A.REPUTATION, FAC.HONOR_HOLD, REP.EXALTED, 17657, A.REPUTATION, FAC.THRALLMAR, REP.EXALTED, 17585)
+	self:AddRecipeMobDrop(25084, 15276)
+	self:AddRecipeRepVendor(25084, FAC.HONOR_HOLD, REP.EXALTED, 17657)
+	self:AddRecipeRepVendor(25084, FAC.THRALLMAR, REP.EXALTED, 17585)

 	-- Enchant Cloak - Dodge -- 25086
 	AddRecipe(25086, 300, nil, Q.RARE, V.TBC, 300, 310, 325, 340)
 	self:AddRecipeFlags(25086, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOE, F.TANK, F.CLOAK, F.LOWERCITY)
-	self:AddRecipeAcquire(25086, A.CUSTOM, 22, A.REPUTATION, FAC.LOWERCITY, REP.EXALTED, 21655)
+	self:AddRecipeRepVendor(25086, FAC.LOWERCITY, REP.EXALTED, 21655)
+	self:AddRecipeAcquire(25086, A.CUSTOM, 22)

 	-- Minor Wizard Oil -- 25124
 	AddRecipe(25124, 45, 20744, Q.COMMON, V.ORIG, 45, 55, 65, 75)
 	self:AddRecipeFlags(25124, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(25124, A.VENDOR, 1318, A.VENDOR, 3012, A.VENDOR, 3346, A.VENDOR, 4228, A.VENDOR, 4617, A.VENDOR, 5158, A.VENDOR, 5757, A.VENDOR, 5758, A.VENDOR, 15419, A.VENDOR, 16635, A.VENDOR, 16722, A.VENDOR, 18753, A.VENDOR, 18773, A.VENDOR, 18951, A.VENDOR, 19234, A.VENDOR, 19537, A.VENDOR, 19540, A.VENDOR, 19663, A.VENDOR, 26569, A.VENDOR, 27030, A.VENDOR, 27054, A.VENDOR, 27147, A.VENDOR, 28714)
+	self:AddRecipeVendor(25124, 28714, 15419, 4617, 18951, 5757, 16722, 18753, 19234, 3012, 5758, 26569, 18773, 27147, 5158, 19540, 27030, 3346, 1318, 19663, 27054, 19537, 16635, 4228)

 	-- Minor Mana Oil -- 25125
 	AddRecipe(25125, 150, 20745, Q.COMMON, V.ORIG, 150, 160, 170, 180)
 	self:AddRecipeFlags(25125, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(25125, A.VENDOR, 1318, A.VENDOR, 3012, A.VENDOR, 3346, A.VENDOR, 4228, A.VENDOR, 4617, A.VENDOR, 5158, A.VENDOR, 5757, A.VENDOR, 5758, A.VENDOR, 15419, A.VENDOR, 16635, A.VENDOR, 16722, A.VENDOR, 18753, A.VENDOR, 18773, A.VENDOR, 18951, A.VENDOR, 19234, A.VENDOR, 19537, A.VENDOR, 19540, A.VENDOR, 19663, A.VENDOR, 26569, A.VENDOR, 27030, A.VENDOR, 27054, A.VENDOR, 27147, A.VENDOR, 28714)
+	self:AddRecipeVendor(25125, 28714, 15419, 4617, 18951, 5757, 16722, 18753, 19234, 3012, 5758, 26569, 18773, 27147, 5158, 19540, 27030, 3346, 1318, 19663, 27054, 19537, 16635, 4228)

 	-- Lesser Wizard Oil -- 25126
 	AddRecipe(25126, 200, 20746, Q.COMMON, V.ORIG, 200, 210, 220, 230)
 	self:AddRecipeFlags(25126, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(25126, A.VENDOR, 1318, A.VENDOR, 3012, A.VENDOR, 3346, A.VENDOR, 4228, A.VENDOR, 4617, A.VENDOR, 5158, A.VENDOR, 5757, A.VENDOR, 5758, A.VENDOR, 15419, A.VENDOR, 16635, A.VENDOR, 16722, A.VENDOR, 18753, A.VENDOR, 18773, A.VENDOR, 18951, A.VENDOR, 19234, A.VENDOR, 19537, A.VENDOR, 19540, A.VENDOR, 19663, A.VENDOR, 26569, A.VENDOR, 27030, A.VENDOR, 27054, A.VENDOR, 27147, A.VENDOR, 28714)
+	self:AddRecipeVendor(25126, 28714, 15419, 4617, 18951, 5757, 16722, 18753, 19234, 3012, 5758, 26569, 18773, 27147, 5158, 19540, 27030, 3346, 1318, 19663, 27054, 19537, 16635, 4228)

 	-- Lesser Mana Oil -- 25127
 	AddRecipe(25127, 250, 20747, Q.COMMON, V.ORIG, 250, 260, 270, 280)
 	self:AddRecipeFlags(25127, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(25127, A.VENDOR, 15419)
+	self:AddRecipeVendor(25127, 15419)

 	-- Wizard Oil -- 25128
 	AddRecipe(25128, 275, 20750, Q.COMMON, V.ORIG, 275, 285, 295, 305)
 	self:AddRecipeFlags(25128, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(25128, A.VENDOR, 15419)
+	self:AddRecipeVendor(25128, 15419)

 	-- Brilliant Wizard Oil -- 25129
 	AddRecipe(25129, 300, 20749, Q.COMMON, V.ORIG, 300, 310, 320, 330)
 	self:AddRecipeFlags(25129, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ZANDALAR)
-	self:AddRecipeAcquire(25129, A.REPUTATION, FAC.ZANDALAR, REP.HONORED, 14921)
+	self:AddRecipeRepVendor(25129, FAC.ZANDALAR, REP.HONORED, 14921)

 	-- Brilliant Mana Oil -- 25130
 	AddRecipe(25130, 300, 20748, Q.COMMON, V.ORIG, 300, 310, 320, 330)
 	self:AddRecipeFlags(25130, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ZANDALAR)
-	self:AddRecipeAcquire(25130, A.REPUTATION, FAC.ZANDALAR, REP.FRIENDLY, 14921)
+	self:AddRecipeRepVendor(25130, FAC.ZANDALAR, REP.FRIENDLY, 14921)

 	-- Enchant 2H Weapon - Agility -- 27837
 	AddRecipe(27837, 290, nil, Q.COMMON, V.ORIG, 290, 305, 322, 340)
 	self:AddRecipeFlags(27837, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.TWO_HAND, F.TIMBERMAW_HOLD)
-	self:AddRecipeAcquire(27837, A.REPUTATION, FAC.TIMBERMAW_HOLD, REP.FRIENDLY, 11557)
+	self:AddRecipeRepVendor(27837, FAC.TIMBERMAW_HOLD, REP.FRIENDLY, 11557)

 	-- Enchant Bracer - Brawn -- 27899
 	AddRecipe(27899, 305, nil, Q.COMMON, V.TBC, 305, 315, 330, 345)
 	self:AddRecipeFlags(27899, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(27899, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(27899, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Bracer - Stats -- 27905
 	AddRecipe(27905, 315, nil, Q.COMMON, V.TBC, 315, 325, 340, 355)
 	self:AddRecipeFlags(27905, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(27905, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(27905, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Bracer - Major Defense -- 27906
 	AddRecipe(27906, 320, nil, Q.UNCOMMON, V.TBC, 320, 330, 345, 360)
 	self:AddRecipeFlags(27906, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.TANK)
-	self:AddRecipeAcquire(27906, A.MOB, 22822, A.MOB, 23008)
+	self:AddRecipeMobDrop(27906, 22822, 23008)

 	-- Enchant Bracer - Superior Healing -- 27911
 	AddRecipe(27911, 325, nil, Q.COMMON, V.TBC, 325, 335, 350, 365)
 	self:AddRecipeFlags(27911, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.HELLFIRE)
-	self:AddRecipeAcquire(27911, A.REPUTATION, FAC.HONOR_HOLD, REP.FRIENDLY, 17657, A.REPUTATION, FAC.THRALLMAR, REP.FRIENDLY, 17585)
+	self:AddRecipeRepVendor(27911, FAC.HONOR_HOLD, REP.FRIENDLY, 17657)
+	self:AddRecipeRepVendor(27911, FAC.THRALLMAR, REP.FRIENDLY, 17585)

 	-- Enchant Bracer - Restore Mana Prime -- 27913
 	AddRecipe(27913, 335, nil, Q.UNCOMMON, V.TBC, 335, 345, 360, 375)
@@ -833,42 +841,42 @@ function addon:InitEnchanting()
 	-- Enchant Bracer - Fortitude -- 27914
 	AddRecipe(27914, 350, nil, Q.UNCOMMON, V.TBC, 350, 370, 375, 380)
 	self:AddRecipeFlags(27914, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(27914, A.MOB, 17803)
+	self:AddRecipeMobDrop(27914, 17803)

 	-- Enchant Bracer - Spellpower -- 27917
 	AddRecipe(27917, 360, nil, Q.UNCOMMON, V.TBC, 360, 370, 385, 400)
 	self:AddRecipeFlags(27917, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(27917, A.MOB, 19952)
+	self:AddRecipeMobDrop(27917, 19952)

 	-- Enchant Ring - Striking -- 27920
 	AddRecipe(27920, 360, nil, Q.COMMON, V.TBC, 360, 370, 377, 385)
 	self:AddRecipeFlags(27920, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.RING, F.CONSORTIUM)
-	self:AddRecipeAcquire(27920, A.REPUTATION, FAC.CONSORTIUM, REP.REVERED, 17518)
+	self:AddRecipeRepVendor(27920, FAC.CONSORTIUM, REP.REVERED, 17518)

 	-- Enchant Ring - Spellpower -- 27924
 	AddRecipe(27924, 360, nil, Q.COMMON, V.TBC, 360, 370, 377, 385)
 	self:AddRecipeFlags(27924, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING, F.KOT)
-	self:AddRecipeAcquire(27924, A.REPUTATION, FAC.KEEPERS_OF_TIME, REP.HONORED, 21643)
+	self:AddRecipeRepVendor(27924, FAC.KEEPERS_OF_TIME, REP.HONORED, 21643)

 	-- Enchant Ring - Healing Power -- 27926
 	AddRecipe(27926, 370, nil, Q.COMMON, V.TBC, 370, 380, 385, 390)
 	self:AddRecipeFlags(27926, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.RING, F.SHATAR)
-	self:AddRecipeAcquire(27926, A.REPUTATION, FAC.SHATAR, REP.REVERED, 21432)
+	self:AddRecipeRepVendor(27926, FAC.SHATAR, REP.REVERED, 21432)

 	-- Enchant Ring - Stats -- 27927
 	AddRecipe(27927, 375, nil, Q.COMMON, V.TBC, 375, 380, 385, 390)
 	self:AddRecipeFlags(27927, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.RING, F.LOWERCITY)
-	self:AddRecipeAcquire(27927, A.REPUTATION, FAC.LOWERCITY, REP.HONORED, 21655)
+	self:AddRecipeRepVendor(27927, FAC.LOWERCITY, REP.HONORED, 21655)

 	-- Enchant Shield - Tough Shield -- 27944
 	AddRecipe(27944, 310, nil, Q.COMMON, V.TBC, 310, 320, 335, 350)
 	self:AddRecipeFlags(27944, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.TANK, F.SHIELD)
-	self:AddRecipeAcquire(27944, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(27944, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Shield - Intellect -- 27945
 	AddRecipe(27945, 325, nil, Q.COMMON, V.TBC, 325, 335, 350, 365)
 	self:AddRecipeFlags(27945, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.SHIELD)
-	self:AddRecipeAcquire(27945, A.VENDOR, 18664)
+	self:AddRecipeVendor(27945, 18664)

 	-- Enchant Shield - Shield Block -- 27946
 	AddRecipe(27946, 340, nil, Q.UNCOMMON, V.TBC, 340, 350, 365, 380)
@@ -883,42 +891,43 @@ function addon:InitEnchanting()
 	-- Enchant Boots - Vitality -- 27948
 	AddRecipe(27948, 305, nil, Q.COMMON, V.TBC, 305, 315, 330, 345)
 	self:AddRecipeFlags(27948, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(27948, A.MOB, 24664)
+	self:AddRecipeMobDrop(27948, 24664)

 	-- Enchant Boots - Fortitude -- 27950
 	AddRecipe(27950, 320, nil, Q.COMMON, V.TBC, 320, 330, 345, 360)
 	self:AddRecipeFlags(27950, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(27950, A.MOB, 18317)
+	self:AddRecipeMobDrop(27950, 18317)

 	-- Enchant Boots - Dexterity -- 27951
 	AddRecipe(27951, 340, nil, Q.UNCOMMON, V.TBC, 340, 350, 365, 380)
 	self:AddRecipeFlags(27951, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(27951, A.MOB, 18521)
+	self:AddRecipeMobDrop(27951, 18521)

 	-- Enchant Boots - Surefooted -- 27954
 	AddRecipe(27954, 370, nil, Q.COMMON, V.TBC, 370, 380, 385, 390)
 	self:AddRecipeFlags(27954, F.ALLIANCE, F.HORDE, F.RAID, F.IBOE, F.RBOP, F.DPS, F.CASTER)
-	self:AddRecipeAcquire(27954, A.MOB, 16472)
+	self:AddRecipeMobDrop(27954, 16472)

 	-- Enchant Chest - Exceptional Health -- 27957
 	AddRecipe(27957, 315, nil, Q.COMMON, V.TBC, 315, 325, 340, 355)
 	self:AddRecipeFlags(27957, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(27957, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(27957, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Chest - Exceptional Mana -- 27958
 	AddRecipe(27958, 350, nil, Q.COMMON, V.WOTLK, 350, 360, 370, 380)
 	self:AddRecipeFlags(27958, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(27958, A.TRAINER, 28693, A.TRAINER, 33583, A.TRAINER, 26990, A.TRAINER, 26980, A.TRAINER, 26954, A.TRAINER, 26906)
+	self:AddRecipeTrainer(27958, 28693, 26980, 26906, 26954, 26990, 33583)

 	-- Enchant Chest - Exceptional Stats -- 27960
 	AddRecipe(27960, 345, nil, Q.COMMON, V.TBC, 345, 355, 367, 380)
 	self:AddRecipeFlags(27960, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HELLFIRE)
-	self:AddRecipeAcquire(27960, A.REPUTATION, FAC.HONOR_HOLD, REP.REVERED, 17657, A.REPUTATION, FAC.THRALLMAR, REP.REVERED, 17585)
+	self:AddRecipeRepVendor(27960, FAC.HONOR_HOLD, REP.REVERED, 17657)
+	self:AddRecipeRepVendor(27960, FAC.THRALLMAR, REP.REVERED, 17585)

 	-- Enchant Cloak - Major Armor -- 27961
 	AddRecipe(27961, 310, nil, Q.COMMON, V.TBC, 310, 320, 335, 350)
 	self:AddRecipeFlags(27961, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(27961, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(27961, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Cloak - Major Resistance -- 27962
 	AddRecipe(27962, 330, nil, Q.UNCOMMON, V.TBC, 330, 340, 355, 370)
@@ -928,17 +937,17 @@ function addon:InitEnchanting()
 	-- Enchant Weapon - Major Striking -- 27967
 	AddRecipe(27967, 340, nil, Q.COMMON, V.TBC, 340, 350, 365, 380)
 	self:AddRecipeFlags(27967, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND, F.CONSORTIUM)
-	self:AddRecipeAcquire(27967, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 23007)
+	self:AddRecipeRepVendor(27967, FAC.CONSORTIUM, REP.HONORED, 20242, 23007)

 	-- Enchant Weapon - Major Intellect -- 27968
 	AddRecipe(27968, 340, nil, Q.UNCOMMON, V.TBC, 340, 350, 365, 380)
 	self:AddRecipeFlags(27968, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(27968, A.MOB, 20136)
+	self:AddRecipeMobDrop(27968, 20136)

 	-- Enchant 2H Weapon - Savagery -- 27971
 	AddRecipe(27971, 350, nil, Q.UNCOMMON, V.TBC, 350, 370, 375, 380)
 	self:AddRecipeFlags(27971, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.DPS, F.TWO_HAND)
-	self:AddRecipeAcquire(27971, A.MOB, 17465)
+	self:AddRecipeMobDrop(27971, 17465)

 	-- Enchant Weapon - Potency -- 27972
 	AddRecipe(27972, 350, nil, Q.UNCOMMON, V.TBC, 350, 370, 375, 380)
@@ -948,27 +957,27 @@ function addon:InitEnchanting()
 	-- Enchant Weapon - Major Spellpower -- 27975
 	AddRecipe(27975, 350, nil, Q.UNCOMMON, V.TBC, 350, 370, 375, 380)
 	self:AddRecipeFlags(27975, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(27975, A.MOB, 22242)
+	self:AddRecipeMobDrop(27975, 22242)

 	-- Enchant 2H Weapon - Major Agility -- 27977
 	AddRecipe(27977, 360, nil, Q.UNCOMMON, V.TBC, 360, 370, 377, 385)
 	self:AddRecipeFlags(27977, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.DPS, F.TWO_HAND)
-	self:AddRecipeAcquire(27977, A.MOB, 20880)
+	self:AddRecipeMobDrop(27977, 20880)

 	-- Enchant Weapon - Sunfire -- 27981
 	AddRecipe(27981, 375, nil, Q.RARE, V.TBC, 375, 375, 375, 390)
 	self:AddRecipeFlags(27981, F.ALLIANCE, F.HORDE, F.RAID, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(27981, A.MOB, 16524)
+	self:AddRecipeMobDrop(27981, 16524)

 	-- Enchant Weapon - Soulfrost -- 27982
 	AddRecipe(27982, 375, nil, Q.RARE, V.TBC, 375, 380, 385, 390)
 	self:AddRecipeFlags(27982, F.ALLIANCE, F.HORDE, F.RAID, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(27982, A.MOB, 15688)
+	self:AddRecipeMobDrop(27982, 15688)

 	-- Enchant Weapon - Mongoose -- 27984
 	AddRecipe(27984, 375, nil, Q.RARE, V.TBC, 375, 380, 385, 390)
 	self:AddRecipeFlags(27984, F.ALLIANCE, F.HORDE, F.RAID, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(27984, A.MOB, 15687)
+	self:AddRecipeMobDrop(27984, 15687)

 	-- Enchant Weapon - Spellsurge -- 28003
 	AddRecipe(28003, 360, nil, Q.UNCOMMON, V.TBC, 360, 370, 377, 385)
@@ -983,52 +992,53 @@ function addon:InitEnchanting()
 	-- Superior Mana Oil -- 28016
 	AddRecipe(28016, 310, 22521, Q.COMMON, V.TBC, 310, 310, 320, 330)
 	self:AddRecipeFlags(28016, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(28016, A.VENDOR, 16635, A.VENDOR, 16722, A.VENDOR, 19663)
+	self:AddRecipeVendor(28016, 19663, 16722, 16635)

 	-- Superior Wizard Oil -- 28019
 	AddRecipe(28019, 340, 22522, Q.COMMON, V.TBC, 340, 340, 350, 360)
 	self:AddRecipeFlags(28019, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(28019, A.VENDOR, 16635, A.VENDOR, 16722, A.VENDOR, 19663)
+	self:AddRecipeVendor(28019, 19663, 16722, 16635)

 	-- Large Prismatic Shard -- 28022
 	AddRecipe(28022, 335, 22449, Q.COMMON, V.TBC, 335, 335, 335, 335)
 	self:AddRecipeFlags(28022, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(28022, A.VENDOR, 16635, A.VENDOR, 16722, A.VENDOR, 19663)
+	self:AddRecipeVendor(28022, 19663, 16722, 16635)

 	-- Prismatic Sphere -- 28027
 	AddRecipe(28027, 325, 22460, Q.COMMON, V.TBC, 325, 325, 330, 335)
 	self:AddRecipeFlags(28027, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28027, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(28027, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Void Sphere -- 28028
 	AddRecipe(28028, 350, 22459, Q.COMMON, V.TBC, 350, 370, 375, 380)
 	self:AddRecipeFlags(28028, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28028, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(28028, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Runed Fel Iron Rod -- 32664
 	AddRecipe(32664, 300, 22461, Q.COMMON, V.TBC, 300, 310, 325, 340)
 	self:AddRecipeFlags(32664, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(32664, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(32664, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Runed Adamantite Rod -- 32665
 	AddRecipe(32665, 350, 22462, Q.COMMON, V.TBC, 350, 370, 375, 380)
 	self:AddRecipeFlags(32665, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(32665, A.VENDOR, 18960, A.VENDOR, 19004)
+	self:AddRecipeVendor(32665, 18960, 19004)

 	-- Runed Eternium Rod -- 32667
 	AddRecipe(32667, 375, 22463, Q.COMMON, V.TBC, 375, 375, 377, 385)
 	self:AddRecipeFlags(32667, F.ALLIANCE, F.HORDE, F.TRAINER, F.VENDOR, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(32667, A.VENDOR, 19663, A.TRAINER, 28693, A.TRAINER, 33583, A.TRAINER, 26990, A.TRAINER, 26980, A.TRAINER, 26954, A.TRAINER, 26906)
+	self:AddRecipeTrainer(32667, 28693, 26980, 26906, 26954, 26990, 33583)
+	self:AddRecipeVendor(32667, 19663)

 	-- Enchant Chest - Major Spirit -- 33990
 	AddRecipe(33990, 320, nil, Q.COMMON, V.TBC, 320, 330, 345, 360)
 	self:AddRecipeFlags(33990, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33990, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(33990, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Chest - Restore Mana Prime -- 33991
 	AddRecipe(33991, 300, nil, Q.COMMON, V.TBC, 300, 310, 325, 340)
 	self:AddRecipeFlags(33991, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(33991, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(33991, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Chest - Major Resilience -- 33992
 	AddRecipe(33992, 345, nil, Q.UNCOMMON, V.TBC, 345, 355, 367, 380)
@@ -1038,97 +1048,97 @@ function addon:InitEnchanting()
 	-- Enchant Gloves - Blasting -- 33993
 	AddRecipe(33993, 305, nil, Q.COMMON, V.TBC, 305, 315, 330, 345)
 	self:AddRecipeFlags(33993, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(33993, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(33993, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Gloves - Precise Strikes -- 33994
 	AddRecipe(33994, 360, nil, Q.UNCOMMON, V.TBC, 360, 370, 377, 385)
 	self:AddRecipeFlags(33994, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(33994, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.REVERED, 17904)
+	self:AddRecipeRepVendor(33994, FAC.CENARION_EXPEDITION, REP.REVERED, 17904)

 	-- Enchant Gloves - Major Strength -- 33995
 	AddRecipe(33995, 340, nil, Q.COMMON, V.TBC, 340, 350, 365, 380)
 	self:AddRecipeFlags(33995, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(33995, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(33995, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Gloves - Assault -- 33996
 	AddRecipe(33996, 310, nil, Q.COMMON, V.TBC, 310, 320, 335, 350)
 	self:AddRecipeFlags(33996, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(33996, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(33996, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Gloves - Major Spellpower -- 33997
 	AddRecipe(33997, 360, nil, Q.UNCOMMON, V.TBC, 360, 370, 377, 385)
 	self:AddRecipeFlags(33997, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.KOT)
-	self:AddRecipeAcquire(33997, A.REPUTATION, FAC.KEEPERS_OF_TIME, REP.HONORED, 21643)
+	self:AddRecipeRepVendor(33997, FAC.KEEPERS_OF_TIME, REP.HONORED, 21643)

 	-- Enchant Gloves - Major Healing -- 33999
 	AddRecipe(33999, 350, nil, Q.UNCOMMON, V.TBC, 350, 370, 375, 380)
 	self:AddRecipeFlags(33999, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.SHATAR)
-	self:AddRecipeAcquire(33999, A.REPUTATION, FAC.SHATAR, REP.HONORED, 21432)
+	self:AddRecipeRepVendor(33999, FAC.SHATAR, REP.HONORED, 21432)

 	-- Enchant Bracer - Major Intellect -- 34001
 	AddRecipe(34001, 305, nil, Q.COMMON, V.TBC, 305, 315, 330, 345)
 	self:AddRecipeFlags(34001, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(34001, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(34001, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Bracer - Assault -- 34002
 	AddRecipe(34002, 300, nil, Q.COMMON, V.TBC, 300, 310, 325, 340)
 	self:AddRecipeFlags(34002, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(34002, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(34002, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Cloak - Spell Penetration -- 34003
 	AddRecipe(34003, 325, nil, Q.UNCOMMON, V.TBC, 325, 335, 350, 365)
 	self:AddRecipeFlags(34003, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CASTER, F.CLOAK, F.CONSORTIUM)
-	self:AddRecipeAcquire(34003, A.REPUTATION, FAC.CONSORTIUM, REP.FRIENDLY, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.FRIENDLY, 23007)
+	self:AddRecipeRepVendor(34003, FAC.CONSORTIUM, REP.FRIENDLY, 20242, 23007)

 	-- Enchant Cloak - Greater Agility -- 34004
 	AddRecipe(34004, 310, nil, Q.COMMON, V.TBC, 310, 320, 335, 350)
 	self:AddRecipeFlags(34004, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(34004, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(34004, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Cloak - Greater Arcane Resistance -- 34005
 	AddRecipe(34005, 350, nil, Q.RARE, V.TBC, 350, 370, 375, 380)
 	self:AddRecipeFlags(34005, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(34005, A.MOB, 19796)
+	self:AddRecipeMobDrop(34005, 19796)

 	-- Enchant Cloak - Greater Shadow Resistance -- 34006
 	AddRecipe(34006, 350, nil, Q.RARE, V.TBC, 350, 370, 375, 380)
 	self:AddRecipeFlags(34006, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(34006, A.MOB, 18870)
+	self:AddRecipeMobDrop(34006, 18870)

 	-- Enchant Boots - Cat's Swiftness -- 34007
 	AddRecipe(34007, 360, nil, Q.RARE, V.TBC, 360, 370, 377, 385)
 	self:AddRecipeFlags(34007, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(34007, A.MOB, 24664)
+	self:AddRecipeMobDrop(34007, 24664)

 	-- Enchant Boots - Boar's Speed -- 34008
 	AddRecipe(34008, 360, nil, Q.RARE, V.TBC, 360, 370, 377, 385)
 	self:AddRecipeFlags(34008, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(34008, A.MOB, 24664)
+	self:AddRecipeMobDrop(34008, 24664)

 	-- Enchant Shield - Major Stamina -- 34009
 	AddRecipe(34009, 325, nil, Q.COMMON, V.TBC, 325, 335, 350, 365)
 	self:AddRecipeFlags(34009, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.SHIELD)
-	self:AddRecipeAcquire(34009, A.VENDOR, 19663)
+	self:AddRecipeVendor(34009, 19663)

 	-- Enchant Weapon - Major Healing -- 34010
 	AddRecipe(34010, 350, nil, Q.UNCOMMON, V.TBC, 350, 370, 375, 380)
 	self:AddRecipeFlags(34010, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.ONE_HAND, F.TWO_HAND, F.SHATAR)
-	self:AddRecipeAcquire(34010, A.REPUTATION, FAC.SHATAR, REP.REVERED, 21432)
+	self:AddRecipeRepVendor(34010, FAC.SHATAR, REP.REVERED, 21432)

 	-- Nexus Transformation -- 42613
 	AddRecipe(42613, 300, 22448, Q.COMMON, V.TBC, 300, 300, 300, 305)
 	self:AddRecipeFlags(42613, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(42613, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 33676, A.TRAINER, 19540)
+	self:AddRecipeTrainer(42613, 18773, 18753, 19252, 33676, 33610, 19540)

 	-- Small Prismatic Shard -- 42615
 	AddRecipe(42615, 335, 22448, Q.COMMON, V.TBC, 335, 335, 335, 335)
 	self:AddRecipeFlags(42615, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(42615, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(42615, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Weapon - Greater Agility -- 42620
 	AddRecipe(42620, 350, nil, Q.COMMON, V.TBC, 350, 360, 367, 375)
 	self:AddRecipeFlags(42620, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.ONE_HAND, F.TWO_HAND, F.VIOLETEYE)
-	self:AddRecipeAcquire(42620, A.REPUTATION, FAC.VIOLETEYE, REP.EXALTED, 18255)
+	self:AddRecipeRepVendor(42620, FAC.VIOLETEYE, REP.EXALTED, 18255)

 	-- Enchant Weapon - Executioner -- 42974
 	AddRecipe(42974, 375, 33307, Q.RARE, V.TBC, 375, 380, 385, 390)
@@ -1138,217 +1148,217 @@ function addon:InitEnchanting()
 	-- Enchant Shield - Resilience -- 44383
 	AddRecipe(44383, 330, nil, Q.COMMON, V.TBC, 330, 340, 355, 370)
 	self:AddRecipeFlags(44383, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.SHIELD)
-	self:AddRecipeAcquire(44383, A.TRAINER, 18753, A.TRAINER, 18773, A.TRAINER, 19252, A.TRAINER, 19540, A.TRAINER, 33610, A.TRAINER, 33676)
+	self:AddRecipeTrainer(44383, 18773, 18753, 19252, 19540, 33610, 33676)

 	-- Enchant Cloak - Superior Frost Resistance -- 44483
 	AddRecipe(44483, 400, nil, Q.UNCOMMON, V.WOTLK, 400, 415, 425, 435)
 	self:AddRecipeFlags(44483, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(44483, A.MOB, 32289)
+	self:AddRecipeMobDrop(44483, 32289)

 	-- Enchant Gloves - Expertise -- 44484
 	AddRecipe(44484, 405, nil, Q.COMMON, V.WOTLK, 405, 415, 425, 435)
 	self:AddRecipeFlags(44484, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(44484, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44484, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Gloves - Precision -- 44488
 	AddRecipe(44488, 410, nil, Q.COMMON, V.WOTLK, 410, 420, 430, 440)
 	self:AddRecipeFlags(44488, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44488, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44488, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Shield - Defense -- 44489
 	AddRecipe(44489, 420, nil, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(44489, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.SHIELD)
-	self:AddRecipeAcquire(44489, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44489, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Chest - Mighty Health -- 44492
 	AddRecipe(44492, 395, nil, Q.COMMON, V.WOTLK, 395, 405, 415, 425)
 	self:AddRecipeFlags(44492, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44492, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44492, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Cloak - Superior Nature Resistance -- 44494
 	AddRecipe(44494, 400, nil, Q.UNCOMMON, V.WOTLK, 400, 415, 425, 435)
 	self:AddRecipeFlags(44494, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(44494, A.MOB, 32290)
+	self:AddRecipeMobDrop(44494, 32290)

 	-- Enchant Cloak - Superior Agility -- 44500
 	AddRecipe(44500, 395, nil, Q.COMMON, V.WOTLK, 395, 405, 415, 425)
 	self:AddRecipeFlags(44500, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(44500, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44500, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Gloves - Gatherer -- 44506
 	AddRecipe(44506, 375, nil, Q.COMMON, V.WOTLK, 375, 375, 380, 390)
 	self:AddRecipeFlags(44506, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44506, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44506, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Boots - Greater Spirit -- 44508
 	AddRecipe(44508, 410, nil, Q.COMMON, V.WOTLK, 410, 420, 430, 440)
 	self:AddRecipeFlags(44508, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(44508, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44508, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Chest - Greater Mana Restoration -- 44509
 	AddRecipe(44509, 420, nil, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(44509, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(44509, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44509, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Weapon - Exceptional Spirit -- 44510
 	AddRecipe(44510, 410, nil, Q.COMMON, V.WOTLK, 410, 420, 430, 440)
 	self:AddRecipeFlags(44510, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(44510, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44510, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Gloves - Greater Assault -- 44513
 	AddRecipe(44513, 395, nil, Q.COMMON, V.WOTLK, 395, 405, 415, 425)
 	self:AddRecipeFlags(44513, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(44513, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44513, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Weapon - Icebreaker -- 44524
 	AddRecipe(44524, 425, nil, Q.RARE, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(44524, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(44524, A.VENDOR, 32514)
+	self:AddRecipeVendor(44524, 32514)

 	-- Enchant Boots - Greater Fortitude -- 44528
 	AddRecipe(44528, 385, nil, Q.COMMON, V.WOTLK, 385, 385, 390, 400)
 	self:AddRecipeFlags(44528, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44528, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44528, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Gloves - Major Agility -- 44529
 	AddRecipe(44529, 415, nil, Q.COMMON, V.WOTLK, 415, 425, 435, 445)
 	self:AddRecipeFlags(44529, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(44529, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44529, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Bracers - Exceptional Intellect -- 44555
 	AddRecipe(44555, 375, nil, Q.COMMON, V.WOTLK, 375, 385, 392, 400)
 	self:AddRecipeFlags(44555, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44555, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44555, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Cloak - Superior Fire Resistance -- 44556
 	AddRecipe(44556, 400, nil, Q.UNCOMMON, V.WOTLK, 400, 415, 425, 435)
 	self:AddRecipeFlags(44556, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(44556, A.MOB, 30921)
+	self:AddRecipeMobDrop(44556, 30921)

 	-- Enchant Bracers - Greater Assault -- 44575
 	AddRecipe(44575, 430, nil, Q.UNCOMMON, V.WOTLK, 430, 440, 450, 460)
 	self:AddRecipeFlags(44575, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS)
-	self:AddRecipeAcquire(44575, A.VENDOR, 32514)
+	self:AddRecipeVendor(44575, 32514)

 	-- Enchant Weapon - Lifeward -- 44576
 	AddRecipe(44576, 425, nil, Q.RARE, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(44576, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(44576, A.VENDOR, 32514)
+	self:AddRecipeVendor(44576, 32514)

 	-- Enchant Cloak - Spell Piercing -- 44582
 	AddRecipe(44582, 395, nil, Q.COMMON, V.WOTLK, 395, 395, 402, 410)
 	self:AddRecipeFlags(44582, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(44582, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44582, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Boots - Greater Vitality -- 44584
 	AddRecipe(44584, 405, nil, Q.COMMON, V.WOTLK, 405, 415, 425, 435)
 	self:AddRecipeFlags(44584, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44584, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44584, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Chest - Exceptional Resilience -- 44588
 	AddRecipe(44588, 410, nil, Q.UNCOMMON, V.WOTLK, 410, 435, 445, 455)
 	self:AddRecipeFlags(44588, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44588, A.VENDOR, 32514)
+	self:AddRecipeVendor(44588, 32514)

 	-- Enchant Boots - Superior Agility -- 44589
 	AddRecipe(44589, 415, nil, Q.COMMON, V.WOTLK, 415, 425, 435, 445)
 	self:AddRecipeFlags(44589, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(44589, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44589, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Cloak - Superior Shadow Resistance -- 44590
 	AddRecipe(44590, 400, nil, Q.UNCOMMON, V.WOTLK, 400, 415, 425, 435)
 	self:AddRecipeFlags(44590, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(44590, A.MOB, 32349)
+	self:AddRecipeMobDrop(44590, 32349)

 	-- Enchant Cloak - Titanweave -- 44591
 	AddRecipe(44591, 435, nil, Q.UNCOMMON, V.WOTLK, 435, 445, 455, 465)
 	self:AddRecipeFlags(44591, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TANK, F.CLOAK)
-	self:AddRecipeAcquire(44591, A.VENDOR, 32514)
+	self:AddRecipeVendor(44591, 32514)

 	-- Enchant Gloves - Exceptional Spellpower -- 44592
 	AddRecipe(44592, 360, nil, Q.COMMON, V.WOTLK, 360, 370, 380, 390)
 	self:AddRecipeFlags(44592, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(44592, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44592, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Bracers - Major Spirit -- 44593
 	AddRecipe(44593, 420, nil, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(44593, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(44593, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44593, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant 2H Weapon - Scourgebane -- 44595
 	AddRecipe(44595, 430, 44473, Q.RARE, V.WOTLK, 430, 440, 450, 460)
 	self:AddRecipeFlags(44595, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(44595, A.VENDOR, 32514)
+	self:AddRecipeVendor(44595, 32514)

 	-- Enchant Cloak - Superior Arcane Resistance -- 44596
 	AddRecipe(44596, 400, nil, Q.UNCOMMON, V.WOTLK, 400, 415, 425, 435)
 	self:AddRecipeFlags(44596, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(44596, A.MOB, 31702, A.MOB, 32297)
+	self:AddRecipeMobDrop(44596, 31702, 32297)

 	-- Enchant Bracers - Expertise -- 44598
 	AddRecipe(44598, 415, nil, Q.COMMON, V.WOTLK, 415, 425, 435, 445)
 	self:AddRecipeFlags(44598, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(44598, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44598, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Bracers - Greater Stats -- 44616
 	AddRecipe(44616, 400, nil, Q.COMMON, V.WOTLK, 400, 410, 420, 430)
 	self:AddRecipeFlags(44616, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44616, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44616, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Weapon - Giant Slayer -- 44621
 	AddRecipe(44621, 430, nil, Q.RARE, V.WOTLK, 430, 440, 450, 460)
 	self:AddRecipeFlags(44621, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(44621, A.VENDOR, 32514)
+	self:AddRecipeVendor(44621, 32514)

 	-- Enchant Chest - Super Stats -- 44623
 	AddRecipe(44623, 370, nil, Q.COMMON, V.WOTLK, 370, 380, 390, 400)
 	self:AddRecipeFlags(44623, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44623, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44623, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Gloves - Armsman -- 44625
 	AddRecipe(44625, 435, nil, Q.UNCOMMON, V.WOTLK, 435, 445, 455, 465)
 	self:AddRecipeFlags(44625, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(44625, A.VENDOR, 32514)
+	self:AddRecipeVendor(44625, 32514)

 	-- Enchant Weapon - Exceptional Spellpower -- 44629
 	AddRecipe(44629, 395, nil, Q.COMMON, V.WOTLK, 395, 405, 415, 425)
 	self:AddRecipeFlags(44629, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(44629, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44629, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant 2H Weapon - Greater Savagery -- 44630
 	AddRecipe(44630, 390, nil, Q.COMMON, V.WOTLK, 390, 400, 410, 420)
 	self:AddRecipeFlags(44630, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TWO_HAND)
-	self:AddRecipeAcquire(44630, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44630, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Cloak - Shadow Armor -- 44631
 	AddRecipe(44631, 440, nil, Q.UNCOMMON, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(44631, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(44631, A.VENDOR, 32514)
+	self:AddRecipeVendor(44631, 32514)

 	-- Enchant Weapon - Exceptional Agility -- 44633
 	AddRecipe(44633, 410, nil, Q.COMMON, V.WOTLK, 410, 420, 430, 440)
 	self:AddRecipeFlags(44633, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(44633, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44633, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Bracers - Greater Spellpower -- 44635
 	AddRecipe(44635, 395, nil, Q.COMMON, V.WOTLK, 395, 405, 415, 425)
 	self:AddRecipeFlags(44635, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(44635, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44635, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Ring - Greater Spellpower -- 44636
 	AddRecipe(44636, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 407, 415)
 	self:AddRecipeFlags(44636, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(44636, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44636, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Ring - Assault -- 44645
 	AddRecipe(44645, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 407, 415)
 	self:AddRecipeFlags(44645, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(44645, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(44645, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Void Shatter -- 45765
 	AddRecipe(45765, 375, 22449, Q.COMMON, V.TBC, 375, 375, 375, 375)
 	self:AddRecipeFlags(45765, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(45765, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 25032)
+	self:AddRecipeRepVendor(45765, FAC.SHATTEREDSUN, REP.HONORED, 25032)

 	-- Enchant Weapon - Deathfrost -- 46578
 	AddRecipe(46578, 350, 35498, Q.RARE, V.TBC, 350, 350, 357, 365)
@@ -1358,157 +1368,157 @@ function addon:InitEnchanting()
 	-- Enchant Chest - Defense -- 46594
 	AddRecipe(46594, 360, nil, Q.COMMON, V.WOTLK, 360, 370, 385, 400)
 	self:AddRecipeFlags(46594, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TANK, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(46594, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 25032)
+	self:AddRecipeRepVendor(46594, FAC.SHATTEREDSUN, REP.HONORED, 25032)

 	-- Enchant Cloak - Steelweave -- 47051
 	AddRecipe(47051, 375, nil, Q.RARE, V.TBC, 375, 380, 385, 390)
 	self:AddRecipeFlags(47051, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.TANK, F.CLOAK)
-	self:AddRecipeAcquire(47051, A.MOB, 24560)
+	self:AddRecipeMobDrop(47051, 24560)

 	-- Enchant Cloak - Mighty Armor -- 47672
 	AddRecipe(47672, 430, nil, Q.UNCOMMON, V.WOTLK, 430, 440, 450, 460)
 	self:AddRecipeFlags(47672, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOAK)
-	self:AddRecipeAcquire(47672, A.VENDOR, 32514)
+	self:AddRecipeVendor(47672, 32514)

 	-- Enchant Chest - Greater Defense -- 47766
 	AddRecipe(47766, 400, nil, Q.COMMON, V.WOTLK, 400, 410, 420, 430)
 	self:AddRecipeFlags(47766, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(47766, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(47766, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Cloak - Greater Speed -- 47898
 	AddRecipe(47898, 430, nil, Q.UNCOMMON, V.WOTLK, 430, 440, 450, 460)
 	self:AddRecipeFlags(47898, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOAK)
-	self:AddRecipeAcquire(47898, A.VENDOR, 32514)
+	self:AddRecipeVendor(47898, 32514)

 	-- Enchant Cloak - Wisdom -- 47899
 	AddRecipe(47899, 440, nil, Q.UNCOMMON, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(47899, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(47899, A.VENDOR, 32514)
+	self:AddRecipeVendor(47899, 32514)

 	-- Enchant Chest - Super Health -- 47900
 	AddRecipe(47900, 425, nil, Q.COMMON, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(47900, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(47900, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(47900, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Boots - Tuskarr's Vitality -- 47901
 	AddRecipe(47901, 440, nil, Q.UNCOMMON, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(47901, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(47901, A.VENDOR, 32514)
+	self:AddRecipeVendor(47901, 32514)

 	-- Enchant Weapon - Accuracy -- 59619
 	AddRecipe(59619, 440, nil, Q.RARE, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(59619, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(59619, A.VENDOR, 32514)
+	self:AddRecipeVendor(59619, 32514)

 	-- Enchant Weapon - Berserking -- 59621
 	AddRecipe(59621, 440, nil, Q.RARE, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(59621, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(59621, A.VENDOR, 32514)
+	self:AddRecipeVendor(59621, 32514)

 	-- Enchant Weapon - Black Magic -- 59625
 	AddRecipe(59625, 440, nil, Q.RARE, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(59625, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(59625, A.VENDOR, 32514)
+	self:AddRecipeVendor(59625, 32514)

 	-- Enchant Ring - Stamina -- 59636
 	AddRecipe(59636, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 407, 415)
 	self:AddRecipeFlags(59636, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(59636, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(59636, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Boots - Assault -- 60606
 	AddRecipe(60606, 375, nil, Q.COMMON, V.WOTLK, 375, 385, 395, 405)
 	self:AddRecipeFlags(60606, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(60606, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(60606, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Cloak - Speed -- 60609
 	AddRecipe(60609, 350, nil, Q.COMMON, V.WOTLK, 350, 360, 370, 380)
 	self:AddRecipeFlags(60609, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOAK)
-	self:AddRecipeAcquire(60609, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(60609, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Bracers - Striking -- 60616
 	AddRecipe(60616, 360, nil, Q.COMMON, V.WOTLK, 360, 370, 380, 390)
 	self:AddRecipeFlags(60616, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(60616, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(60616, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Runed Titanium Rod -- 60619
 	AddRecipe(60619, 425, 44452, Q.RARE, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(60619, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(60619, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(60619, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Weapon - Greater Potency -- 60621
 	AddRecipe(60621, 380, nil, Q.COMMON, V.WOTLK, 380, 390, 400, 410)
 	self:AddRecipeFlags(60621, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(60621, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(60621, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Boots - Icewalker -- 60623
 	AddRecipe(60623, 385, nil, Q.COMMON, V.WOTLK, 385, 395, 405, 415)
 	self:AddRecipeFlags(60623, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(60623, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(60623, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Shield - Greater Intellect -- 60653
 	AddRecipe(60653, 395, nil, Q.COMMON, V.WOTLK, 395, 405, 415, 425)
 	self:AddRecipeFlags(60653, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.SHIELD)
-	self:AddRecipeAcquire(60653, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(60653, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Cloak - Major Agility -- 60663
 	AddRecipe(60663, 420, nil, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(60663, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(60663, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(60663, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Gloves - Crusher -- 60668
 	AddRecipe(60668, 425, nil, Q.COMMON, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(60668, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(60668, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(60668, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant 2H Weapon - Massacre -- 60691
 	AddRecipe(60691, 430, nil, Q.RARE, V.WOTLK, 430, 440, 450, 460)
 	self:AddRecipeFlags(60691, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TWO_HAND)
-	self:AddRecipeAcquire(60691, A.VENDOR, 32514)
+	self:AddRecipeVendor(60691, 32514)

 	-- Enchant Chest - Powerful Stats -- 60692
 	AddRecipe(60692, 440, nil, Q.UNCOMMON, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(60692, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(60692, A.VENDOR, 32514)
+	self:AddRecipeVendor(60692, 32514)

 	-- Enchant Weapon - Superior Potency -- 60707
 	AddRecipe(60707, 435, nil, Q.RARE, V.WOTLK, 435, 445, 455, 465)
 	self:AddRecipeFlags(60707, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(60707, A.VENDOR, 32514)
+	self:AddRecipeVendor(60707, 32514)

 	-- Enchant Weapon - Mighty Spellpower -- 60714
 	AddRecipe(60714, 435, nil, Q.RARE, V.WOTLK, 435, 445, 455, 465)
 	self:AddRecipeFlags(60714, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND, F.TWO_HAND)
-	self:AddRecipeAcquire(60714, A.VENDOR, 32514)
+	self:AddRecipeVendor(60714, 32514)

 	-- Enchant Boots - Greater Assault -- 60763
 	AddRecipe(60763, 440, nil, Q.UNCOMMON, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(60763, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(60763, A.VENDOR, 32514)
+	self:AddRecipeVendor(60763, 32514)

 	-- Enchant Bracers - Superior Spellpower -- 60767
 	AddRecipe(60767, 440, 44498, Q.UNCOMMON, V.WOTLK, 440, 450, 460, 470)
 	self:AddRecipeFlags(60767, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(60767, A.VENDOR, 32514)
+	self:AddRecipeVendor(60767, 32514)

 	-- Enchant Bracers - Major Stamina -- 62256
 	AddRecipe(62256, 450, 44944, Q.RARE, V.WOTLK, 450, 460, 470, 480)
 	self:AddRecipeFlags(62256, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(62256, A.VENDOR, 32514)
+	self:AddRecipeVendor(62256, 32514)

 	-- Enchant Staff - Greater Spellpower -- 62948
 	AddRecipe(62948, 450, nil, Q.RARE, V.WOTLK, 450, 455, 460, 465)
 	self:AddRecipeFlags(62948, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.STAFF)
-	self:AddRecipeAcquire(62948, A.VENDOR, 32514)
+	self:AddRecipeVendor(62948, 32514)

 	-- Enchant Staff - Spellpower -- 62959
 	AddRecipe(62959, 385, nil, Q.COMMON, V.WOTLK, 385, 395, 405, 415)
 	self:AddRecipeFlags(62959, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.STAFF)
-	self:AddRecipeAcquire(62959, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 26990, A.TRAINER, 28693, A.TRAINER, 33583)
+	self:AddRecipeTrainer(62959, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Boots - Lesser Accuracy -- 63746
 	AddRecipe(63746, 225, nil, Q.COMMON, V.WOTLK, 225, 245, 265, 285)
 	self:AddRecipeFlags(63746, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(63746, A.TRAINER, 1317, A.TRAINER, 3011, A.TRAINER, 3345, A.TRAINER, 3606, A.TRAINER, 4213, A.TRAINER, 4616, A.TRAINER, 5157, A.TRAINER, 5695, A.TRAINER, 11072, A.TRAINER, 11073, A.TRAINER, 11074, A.TRAINER, 16160, A.TRAINER, 16633, A.TRAINER, 16725, A.TRAINER, 19251, A.TRAINER, 19252, A.TRAINER, 33610, A.TRAINER, 33676, A.TRAINER, 18773, A.TRAINER, 7949, A.TRAINER, 19540, A.TRAINER, 18753)
+	self:AddRecipeTrainer(63746, 3606, 19540, 11072, 5695, 18753, 11074, 5157, 19251, 16725, 19252, 16633, 18773, 16160, 11073, 33676, 1317, 4213, 33610, 3011, 3345, 7949, 4616)

 	-- Enchant Weapon - Blade Ward -- 64441
 	AddRecipe(64441, 450, nil, Q.EPIC, V.WOTLK, 450, 455, 460, 465)
@@ -1523,12 +1533,12 @@ function addon:InitEnchanting()
 	-- Abyssal Shatter -- 69412
 	AddRecipe(69412, 445, 49640, Q.COMMON, V.WOTLK, 445, 445, 447, 450)
 	self:AddRecipeFlags(69412, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(69412, A.TRAINER, 28693, A.TRAINER, 26990, A.TRAINER, 26906, A.TRAINER, 26954, A.TRAINER, 26980, A.TRAINER, 33583)
+	self:AddRecipeTrainer(69412, 28693, 26980, 33583, 26954, 26906, 26990)

 	-- Enchant Gloves - Angler -- 71692
 	AddRecipe(71692, 375, nil, Q.UNCOMMON, V.WOTLK, 375, 385, 392, 400)
 	self:AddRecipeFlags(71692, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(71692, A.MOB, 26343)
+	self:AddRecipeMobDrop(71692, 26343)

 	return num_recipes
 end
diff --git a/Database/Engineering.lua b/Database/Engineering.lua
index 27b1ece..e3df93f 100644
--- a/Database/Engineering.lua
+++ b/Database/Engineering.lua
@@ -68,27 +68,27 @@ function addon:InitEngineering()
 	-- Handful of Copper Bolts -- 3922
 	AddRecipe(3922, 30, 4359, Q.COMMON, V.ORIG, 30, 45, 52, 60)
 	self:AddRecipeFlags(3922, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3922, A.TRAINER, 1702, A.TRAINER, 3290, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11025, A.TRAINER, 11037, A.TRAINER, 16726, A.TRAINER, 17222, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 26955)
+	self:AddRecipeTrainer(3922, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 33586, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 3290, 28697, 16667, 17222)

 	-- Rough Copper Bomb -- 3923
 	AddRecipe(3923, 30, 4360, Q.COMMON, V.ORIG, 30, 60, 75, 90)
 	self:AddRecipeFlags(3923, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3923, A.TRAINER, 1702, A.TRAINER, 3290, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11025, A.TRAINER, 11031, A.TRAINER, 11037, A.TRAINER, 16726, A.TRAINER, 17222, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(3923, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 33634, 16726, 5518, 11037, 26991, 33611, 8736, 18775, 33586, 5174, 11031, 3290, 28697, 16667, 17222)

 	-- Copper Tube -- 3924
 	AddRecipe(3924, 50, 4361, Q.COMMON, V.ORIG, 50, 80, 95, 110)
 	self:AddRecipeFlags(3924, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3924, A.TRAINER, 1702, A.TRAINER, 3290, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11025, A.TRAINER, 11031, A.TRAINER, 11037, A.TRAINER, 16726, A.TRAINER, 17222, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(3924, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 33634, 16726, 5518, 11037, 26991, 33611, 8736, 18775, 33586, 5174, 11031, 3290, 28697, 16667, 17222)

 	-- Rough Boomstick -- 3925
 	AddRecipe(3925, 50, 4362, Q.COMMON, V.ORIG, 50, 80, 95, 110)
 	self:AddRecipeFlags(3925, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.GUN)
-	self:AddRecipeAcquire(3925, A.TRAINER, 1702, A.TRAINER, 3290, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11025, A.TRAINER, 11031, A.TRAINER, 11037, A.TRAINER, 16726, A.TRAINER, 17222, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(3925, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 33634, 16726, 5518, 11037, 26991, 33611, 8736, 18775, 33586, 5174, 11031, 3290, 28697, 16667, 17222)

 	-- Copper Modulator -- 3926
 	AddRecipe(3926, 65, 4363, Q.COMMON, V.ORIG, 65, 95, 110, 125)
 	self:AddRecipeFlags(3926, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3926, A.TRAINER, 1702, A.TRAINER, 3290, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11025, A.TRAINER, 11031, A.TRAINER, 11037, A.TRAINER, 16726, A.TRAINER, 17222, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(3926, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 33634, 16726, 5518, 11037, 26991, 33611, 8736, 18775, 33586, 5174, 11031, 3290, 28697, 16667, 17222)

 	-- Mechanical Squirrel Box -- 3928
 	AddRecipe(3928, 75, 4401, Q.UNCOMMON, V.ORIG, 75, 105, 120, 135)
@@ -98,22 +98,22 @@ function addon:InitEngineering()
 	-- Coarse Blasting Powder -- 3929
 	AddRecipe(3929, 75, 4364, Q.COMMON, V.ORIG, 75, 85, 90, 95)
 	self:AddRecipeFlags(3929, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3929, A.TRAINER, 1702, A.TRAINER, 3290, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11025, A.TRAINER, 11031, A.TRAINER, 11037, A.TRAINER, 16726, A.TRAINER, 17222, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(3929, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 33634, 16726, 5518, 11037, 26991, 33611, 8736, 18775, 33586, 5174, 11031, 3290, 28697, 16667, 17222)

 	-- Crafted Heavy Shot -- 3930
 	AddRecipe(3930, 75, 8068, Q.COMMON, V.ORIG, 75, 85, 90, 95)
 	self:AddRecipeFlags(3930, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.AMMO)
-	self:AddRecipeAcquire(3930, A.TRAINER, 1702, A.TRAINER, 3290, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11025, A.TRAINER, 11031, A.TRAINER, 11037, A.TRAINER, 16726, A.TRAINER, 17222, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(3930, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 33634, 16726, 5518, 11037, 26991, 33611, 8736, 18775, 33586, 5174, 11031, 3290, 28697, 16667, 17222)

 	-- Coarse Dynamite -- 3931
 	AddRecipe(3931, 75, 4365, Q.COMMON, V.ORIG, 75, 90, 97, 105)
 	self:AddRecipeFlags(3931, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3931, A.TRAINER, 1702, A.TRAINER, 3290, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11025, A.TRAINER, 11031, A.TRAINER, 11037, A.TRAINER, 16726, A.TRAINER, 17222, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(3931, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 33634, 16726, 5518, 11037, 26991, 33611, 8736, 18775, 33586, 5174, 11031, 3290, 28697, 16667, 17222)

 	-- Target Dummy -- 3932
 	AddRecipe(3932, 85, 4366, Q.COMMON, V.ORIG, 85, 115, 130, 145)
 	self:AddRecipeFlags(3932, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3932, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3932, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 16667, 26991, 5174, 11031, 33586, 3290, 18775, 28697)

 	-- Small Seaforium Charge -- 3933
 	AddRecipe(3933, 100, 4367, Q.UNCOMMON, V.ORIG, 100, 130, 145, 160)
@@ -123,27 +123,27 @@ function addon:InitEngineering()
 	-- Flying Tiger Goggles -- 3934
 	AddRecipe(3934, 100, 4368, Q.COMMON, V.ORIG, 100, 130, 145, 160)
 	self:AddRecipeFlags(3934, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(3934, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3934, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 16667, 26991, 5174, 11031, 33586, 3290, 18775, 28697)

 	-- Deadly Blunderbuss -- 3936
 	AddRecipe(3936, 105, 4369, Q.COMMON, V.ORIG, 105, 130, 142, 155)
 	self:AddRecipeFlags(3936, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.GUN)
-	self:AddRecipeAcquire(3936, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3936, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Large Copper Bomb -- 3937
 	AddRecipe(3937, 105, 4370, Q.COMMON, V.ORIG, 105, 105, 130, 155)
 	self:AddRecipeFlags(3937, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3937, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3937, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Bronze Tube -- 3938
 	AddRecipe(3938, 105, 4371, Q.COMMON, V.ORIG, 105, 105, 130, 155)
 	self:AddRecipeFlags(3938, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3938, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3938, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Lovingly Crafted Boomstick -- 3939
 	AddRecipe(3939, 120, 4372, Q.COMMON, V.ORIG, 120, 145, 157, 170)
 	self:AddRecipeFlags(3939, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.GUN)
-	self:AddRecipeAcquire(3939, A.VENDOR, 2682, A.VENDOR, 6730)
+	self:AddRecipeVendor(3939, 2682, 6730)

 	-- Shadow Goggles -- 3940
 	AddRecipe(3940, 120, 4373, Q.UNCOMMON, V.ORIG, 120, 145, 157, 170)
@@ -153,52 +153,52 @@ function addon:InitEngineering()
 	-- Small Bronze Bomb -- 3941
 	AddRecipe(3941, 120, 4374, Q.COMMON, V.ORIG, 120, 120, 145, 170)
 	self:AddRecipeFlags(3941, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3941, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3941, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Whirring Bronze Gizmo -- 3942
 	AddRecipe(3942, 125, 4375, Q.COMMON, V.ORIG, 125, 125, 150, 175)
 	self:AddRecipeFlags(3942, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3942, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3942, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Flame Deflector -- 3944
 	AddRecipe(3944, 125, 4376, Q.UNCOMMON, V.ORIG, 125, 125, 150, 175)
 	self:AddRecipeFlags(3944, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(3944, A.MOB, 7800)
+	self:AddRecipeMobDrop(3944, 7800)

 	-- Heavy Blasting Powder -- 3945
 	AddRecipe(3945, 125, 4377, Q.COMMON, V.ORIG, 125, 125, 135, 145)
 	self:AddRecipeFlags(3945, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3945, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3945, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Heavy Dynamite -- 3946
 	AddRecipe(3946, 125, 4378, Q.COMMON, V.ORIG, 125, 125, 135, 145)
 	self:AddRecipeFlags(3946, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3946, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3946, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Crafted Solid Shot -- 3947
 	AddRecipe(3947, 125, 8069, Q.COMMON, V.ORIG, 125, 125, 135, 145)
 	self:AddRecipeFlags(3947, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.AMMO)
-	self:AddRecipeAcquire(3947, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3947, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Silver-plated Shotgun -- 3949
 	AddRecipe(3949, 130, 4379, Q.COMMON, V.ORIG, 130, 155, 167, 180)
 	self:AddRecipeFlags(3949, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.GUN)
-	self:AddRecipeAcquire(3949, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3949, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Big Bronze Bomb -- 3950
 	AddRecipe(3950, 140, 4380, Q.COMMON, V.ORIG, 140, 140, 165, 190)
 	self:AddRecipeFlags(3950, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3950, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3950, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Minor Recombobulator -- 3952
 	AddRecipe(3952, 140, 4381, Q.COMMON, V.ORIG, 140, 165, 177, 190)
 	self:AddRecipeFlags(3952, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TRINKET)
-	self:AddRecipeAcquire(3952, A.VENDOR, 2682, A.VENDOR, 3495, A.VENDOR, 2683)
+	self:AddRecipeVendor(3952, 3495, 2683, 2682)

 	-- Bronze Framework -- 3953
 	AddRecipe(3953, 145, 4382, Q.COMMON, V.ORIG, 145, 145, 170, 195)
 	self:AddRecipeFlags(3953, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3953, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3953, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Moonsight Rifle -- 3954
 	AddRecipe(3954, 145, 4383, Q.UNCOMMON, V.ORIG, 145, 170, 182, 195)
@@ -208,27 +208,27 @@ function addon:InitEngineering()
 	-- Explosive Sheep -- 3955
 	AddRecipe(3955, 150, 4384, Q.COMMON, V.ORIG, 150, 175, 187, 200)
 	self:AddRecipeFlags(3955, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3955, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3955, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Green Tinted Goggles -- 3956
 	AddRecipe(3956, 150, 4385, Q.COMMON, V.ORIG, 150, 175, 187, 200)
 	self:AddRecipeFlags(3956, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(3956, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3956, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Ice Deflector -- 3957
 	AddRecipe(3957, 155, 4386, Q.COMMON, V.ORIG, 155, 175, 185, 195)
 	self:AddRecipeFlags(3957, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(3957, A.VENDOR, 2684)
+	self:AddRecipeVendor(3957, 2684)

 	-- Iron Strut -- 3958
 	AddRecipe(3958, 160, 4387, Q.COMMON, V.ORIG, 160, 160, 170, 180)
 	self:AddRecipeFlags(3958, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3958, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3958, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Discombobulator Ray -- 3959
 	AddRecipe(3959, 160, 4388, Q.UNCOMMON, V.ORIG, 160, 180, 190, 200)
 	self:AddRecipeFlags(3959, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(3959, A.MOB, 7800)
+	self:AddRecipeMobDrop(3959, 7800)

 	-- Portable Bronze Mortar -- 3960
 	AddRecipe(3960, 165, 4403, Q.UNCOMMON, V.ORIG, 165, 185, 195, 210)
@@ -238,22 +238,22 @@ function addon:InitEngineering()
 	-- Gyrochronatom -- 3961
 	AddRecipe(3961, 170, 4389, Q.COMMON, V.ORIG, 170, 170, 190, 210)
 	self:AddRecipeFlags(3961, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3961, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3961, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Iron Grenade -- 3962
 	AddRecipe(3962, 175, 4390, Q.COMMON, V.ORIG, 175, 175, 195, 215)
 	self:AddRecipeFlags(3962, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3962, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3962, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Compact Harvest Reaper Kit -- 3963
 	AddRecipe(3963, 175, 4391, Q.COMMON, V.ORIG, 175, 175, 195, 215)
 	self:AddRecipeFlags(3963, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3963, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3963, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Advanced Target Dummy -- 3965
 	AddRecipe(3965, 185, 4392, Q.COMMON, V.ORIG, 185, 185, 205, 225)
 	self:AddRecipeFlags(3965, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3965, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3965, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Craftsman's Monocle -- 3966
 	AddRecipe(3966, 185, 4393, Q.RARE, V.ORIG, 185, 205, 215, 225)
@@ -263,7 +263,7 @@ function addon:InitEngineering()
 	-- Big Iron Bomb -- 3967
 	AddRecipe(3967, 190, 4394, Q.COMMON, V.ORIG, 190, 190, 210, 230)
 	self:AddRecipeFlags(3967, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3967, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3967, 11017, 11025, 17634, 3494, 1702, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Goblin Land Mine -- 3968
 	AddRecipe(3968, 195, 4395, Q.UNCOMMON, V.ORIG, 195, 215, 225, 235)
@@ -273,12 +273,13 @@ function addon:InitEngineering()
 	-- Mechanical Dragonling -- 3969
 	AddRecipe(3969, 200, 4396, Q.COMMON, V.ORIG, 200, 220, 230, 240)
 	self:AddRecipeFlags(3969, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TRINKET)
-	self:AddRecipeAcquire(3969, A.VENDOR, 2687)
+	self:AddRecipeVendor(3969, 2687)

 	-- Gnomish Cloaking Device -- 3971
 	AddRecipe(3971, 200, 4397, Q.COMMON, V.ORIG, 200, 220, 230, 240)
 	self:AddRecipeFlags(3971, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.IBOE, F.RBOE, F.TRINKET)
-	self:AddRecipeAcquire(3971, A.MOB, 7800, A.VENDOR, 6777)
+	self:AddRecipeMobDrop(3971, 7800)
+	self:AddRecipeVendor(3971, 6777)

 	-- Large Seaforium Charge -- 3972
 	AddRecipe(3972, 200, 4398, Q.UNCOMMON, V.ORIG, 200, 200, 220, 240)
@@ -288,42 +289,43 @@ function addon:InitEngineering()
 	-- Silver Contact -- 3973
 	AddRecipe(3973, 90, 4404, Q.COMMON, V.ORIG, 90, 110, 125, 140)
 	self:AddRecipeFlags(3973, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3973, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3973, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 16667, 26991, 5174, 11031, 33586, 3290, 18775, 28697)

 	-- Crude Scope -- 3977
 	AddRecipe(3977, 60, 4405, Q.COMMON, V.ORIG, 60, 90, 105, 120)
 	self:AddRecipeFlags(3977, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3977, A.TRAINER, 1702, A.TRAINER, 3290, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11025, A.TRAINER, 11031, A.TRAINER, 11037, A.TRAINER, 16726, A.TRAINER, 17222, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(3977, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 33634, 16726, 5518, 11037, 26991, 33611, 8736, 18775, 33586, 5174, 11031, 3290, 28697, 16667, 17222)

 	-- Standard Scope -- 3978
 	AddRecipe(3978, 110, 4406, Q.COMMON, V.ORIG, 110, 135, 147, 160)
 	self:AddRecipeFlags(3978, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3978, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(3978, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Accurate Scope -- 3979
 	AddRecipe(3979, 180, 4407, Q.COMMON, V.ORIG, 180, 200, 210, 220)
 	self:AddRecipeFlags(3979, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(3979, A.VENDOR, 2685)
+	self:AddRecipeVendor(3979, 2685)

 	-- Ornate Spyglass -- 6458
 	AddRecipe(6458, 135, 5507, Q.COMMON, V.ORIG, 135, 160, 172, 185)
 	self:AddRecipeFlags(6458, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(6458, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(6458, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Arclight Spanner -- 7430
 	AddRecipe(7430, 50, 6219, Q.COMMON, V.ORIG, 50, 70, 80, 90)
 	self:AddRecipeFlags(7430, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND)
-	self:AddRecipeAcquire(7430, A.TRAINER, 1702, A.TRAINER, 3290, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11025, A.TRAINER, 11031, A.TRAINER, 11037, A.TRAINER, 16726, A.TRAINER, 17222, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(7430, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 33634, 16726, 5518, 11037, 26991, 33611, 8736, 18775, 33586, 5174, 11031, 3290, 28697, 16667, 17222)

 	-- Flash Bomb -- 8243
 	AddRecipe(8243, 185, 4852, Q.UNCOMMON, V.ORIG, 185, 185, 205, 225)
 	self:AddRecipeFlags(8243, F.ALLIANCE, F.HORDE, F.INSTANCE, F.QUEST, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(8243, A.MOB, 7800, A.QUEST, 1559)
+	self:AddRecipeMobDrop(8243, 7800)
+	self:AddRecipeAcquire(8243, A.QUEST, 1559)

 	-- Practice Lock -- 8334
 	AddRecipe(8334, 100, 6712, Q.COMMON, V.ORIG, 100, 115, 122, 130)
 	self:AddRecipeFlags(8334, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(8334, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(8334, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 16667, 26991, 5174, 11031, 33586, 3290, 18775, 28697)

 	-- EZ-Thro Dynamite -- 8339
 	AddRecipe(8339, 100, 6714, Q.UNCOMMON, V.ORIG, 100, 115, 122, 130)
@@ -333,37 +335,39 @@ function addon:InitEngineering()
 	-- Goblin Rocket Boots -- 8895
 	AddRecipe(8895, 225, 7189, Q.COMMON, V.ORIG, 225, 245, 255, 265, 20222)
 	self:AddRecipeFlags(8895, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(8895, A.TRAINER, 8126, A.TRAINER, 29513)
+	self:AddRecipeTrainer(8895, 8126, 29513)

 	-- Gnomish Universal Remote -- 9269
 	AddRecipe(9269, 125, 7506, Q.COMMON, V.ORIG, 125, 150, 162, 175)
 	self:AddRecipeFlags(9269, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.IBOE, F.RBOE, F.TRINKET)
-	self:AddRecipeAcquire(9269, A.MOB, 7800, A.VENDOR, 5175, A.VENDOR, 6730)
+	self:AddRecipeMobDrop(9269, 7800)
+	self:AddRecipeVendor(9269, 5175, 6730)

 	-- Aquadynamic Fish Attractor -- 9271
 	AddRecipe(9271, 150, 6533, Q.COMMON, V.ORIG, 150, 150, 160, 170)
 	self:AddRecipeFlags(9271, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(9271, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(9271, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Goblin Jumper Cables -- 9273
 	AddRecipe(9273, 165, 7148, Q.COMMON, V.ORIG, 165, 165, 180, 200)
 	self:AddRecipeFlags(9273, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(9273, A.MOB, 7800, A.VENDOR, 3537, A.VENDOR, 4086, A.VENDOR, 3134)
+	self:AddRecipeMobDrop(9273, 7800)
+	self:AddRecipeVendor(9273, 4086, 3134, 3537)

 	-- Gold Power Core -- 12584
 	AddRecipe(12584, 150, 10558, Q.COMMON, V.ORIG, 150, 150, 170, 190)
 	self:AddRecipeFlags(12584, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12584, A.TRAINER, 1676, A.TRAINER, 5174, A.TRAINER, 5518, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 11031, A.TRAINER, 16726, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12584, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 33634, 33611, 8736, 18775, 26991, 5174, 11031, 33586, 3290, 28697, 16667)

 	-- Solid Blasting Powder -- 12585
 	AddRecipe(12585, 175, 10505, Q.COMMON, V.ORIG, 175, 175, 185, 195)
 	self:AddRecipeFlags(12585, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12585, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12585, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Solid Dynamite -- 12586
 	AddRecipe(12586, 175, 10507, Q.COMMON, V.ORIG, 175, 175, 185, 195)
 	self:AddRecipeFlags(12586, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12586, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12586, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Bright-Eye Goggles -- 12587
 	AddRecipe(12587, 175, 10499, Q.UNCOMMON, V.ORIG, 175, 195, 205, 215)
@@ -373,47 +377,47 @@ function addon:InitEngineering()
 	-- Mithril Tube -- 12589
 	AddRecipe(12589, 195, 10559, Q.COMMON, V.ORIG, 195, 195, 215, 235)
 	self:AddRecipeFlags(12589, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12589, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12589, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Gyromatic Micro-Adjustor -- 12590
 	AddRecipe(12590, 175, 10498, Q.COMMON, V.ORIG, 175, 175, 195, 215)
 	self:AddRecipeFlags(12590, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12590, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12590, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Unstable Trigger -- 12591
 	AddRecipe(12591, 200, 10560, Q.COMMON, V.ORIG, 200, 200, 220, 240)
 	self:AddRecipeFlags(12591, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12591, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12591, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Fire Goggles -- 12594
 	AddRecipe(12594, 205, 10500, Q.COMMON, V.ORIG, 205, 225, 235, 245)
 	self:AddRecipeFlags(12594, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(12594, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12594, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Mithril Blunderbuss -- 12595
 	AddRecipe(12595, 205, 10508, Q.COMMON, V.ORIG, 205, 225, 235, 245)
 	self:AddRecipeFlags(12595, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.GUN)
-	self:AddRecipeAcquire(12595, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12595, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Hi-Impact Mithril Slugs -- 12596
 	AddRecipe(12596, 210, 10512, Q.COMMON, V.ORIG, 210, 210, 230, 250)
 	self:AddRecipeFlags(12596, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.AMMO)
-	self:AddRecipeAcquire(12596, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12596, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Deadly Scope -- 12597
 	AddRecipe(12597, 210, 10546, Q.COMMON, V.ORIG, 210, 230, 240, 250)
 	self:AddRecipeFlags(12597, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(12597, A.VENDOR, 8679, A.VENDOR, 9544)
+	self:AddRecipeVendor(12597, 8679, 9544)

 	-- Mithril Casing -- 12599
 	AddRecipe(12599, 215, 10561, Q.COMMON, V.ORIG, 215, 215, 235, 255)
 	self:AddRecipeFlags(12599, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12599, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12599, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Mithril Frag Bomb -- 12603
 	AddRecipe(12603, 215, 10514, Q.COMMON, V.ORIG, 215, 215, 235, 255)
 	self:AddRecipeFlags(12603, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12603, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12603, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Catseye Ultra Goggles -- 12607
 	AddRecipe(12607, 220, 10501, Q.UNCOMMON, V.ORIG, 220, 240, 250, 260)
@@ -428,7 +432,7 @@ function addon:InitEngineering()
 	-- Spellpower Goggles Xtreme -- 12615
 	AddRecipe(12615, 225, 10502, Q.RARE, V.ORIG, 225, 245, 255, 265)
 	self:AddRecipeFlags(12615, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12615, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12615, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Parachute Cloak -- 12616
 	AddRecipe(12616, 225, 10518, Q.UNCOMMON, V.ORIG, 225, 245, 255, 265)
@@ -438,17 +442,17 @@ function addon:InitEngineering()
 	-- Deepdive Helmet -- 12617
 	AddRecipe(12617, 230, 10506, Q.COMMON, V.ORIG, 230, 250, 260, 270)
 	self:AddRecipeFlags(12617, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(12617, A.VENDOR, 8678)
+	self:AddRecipeVendor(12617, 8678)

 	-- Rose Colored Goggles -- 12618
 	AddRecipe(12618, 230, 10503, Q.COMMON, V.ORIG, 230, 250, 260, 270)
 	self:AddRecipeFlags(12618, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12618, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12618, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Hi-Explosive Bomb -- 12619
 	AddRecipe(12619, 235, 10562, Q.COMMON, V.ORIG, 235, 235, 255, 275)
 	self:AddRecipeFlags(12619, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12619, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12619, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Sniper Scope -- 12620
 	AddRecipe(12620, 240, 10548, Q.RARE, V.ORIG, 240, 260, 270, 280)
@@ -458,117 +462,117 @@ function addon:InitEngineering()
 	-- Mithril Gyro-Shot -- 12621
 	AddRecipe(12621, 245, 10513, Q.COMMON, V.ORIG, 245, 245, 265, 285)
 	self:AddRecipeFlags(12621, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.AMMO)
-	self:AddRecipeAcquire(12621, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12621, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Green Lens -- 12622
 	AddRecipe(12622, 245, 10504, Q.COMMON, V.ORIG, 245, 265, 275, 285)
 	self:AddRecipeFlags(12622, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(12622, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(12622, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Mithril Mechanical Dragonling -- 12624
 	AddRecipe(12624, 250, 10576, Q.COMMON, V.ORIG, 250, 270, 280, 290)
 	self:AddRecipeFlags(12624, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TRINKET)
-	self:AddRecipeAcquire(12624, A.VENDOR, 2688)
+	self:AddRecipeVendor(12624, 2688)

 	-- Goblin Rocket Fuel Recipe -- 12715
 	AddRecipe(12715, 205, 10644, Q.COMMON, V.ORIG, 205, 205, 205, 205, 20222)
 	self:AddRecipeFlags(12715, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12715, A.TRAINER, 8126, A.TRAINER, 29513)
+	self:AddRecipeTrainer(12715, 8126, 29513)

 	-- Goblin Mortar -- 12716
 	AddRecipe(12716, 205, 10577, Q.COMMON, V.ORIG, 205, 225, 235, 245, 20222)
 	self:AddRecipeFlags(12716, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(12716, A.TRAINER, 8126, A.TRAINER, 8738, A.TRAINER, 29513)
+	self:AddRecipeTrainer(12716, 8738, 29513, 8126)

 	-- Goblin Mining Helmet -- 12717
 	AddRecipe(12717, 205, 10542, Q.COMMON, V.ORIG, 205, 225, 235, 245, 20222)
 	self:AddRecipeFlags(12717, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(12717, A.TRAINER, 8126, A.TRAINER, 8738, A.TRAINER, 29513)
+	self:AddRecipeTrainer(12717, 8738, 29513, 8126)

 	-- Goblin Construction Helmet -- 12718
 	AddRecipe(12718, 205, 10543, Q.COMMON, V.ORIG, 205, 225, 235, 245, 20222)
 	self:AddRecipeFlags(12718, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(12718, A.TRAINER, 8126, A.TRAINER, 8738, A.TRAINER, 29513)
+	self:AddRecipeTrainer(12718, 8738, 29513, 8126)

 	-- The Big One -- 12754
 	AddRecipe(12754, 235, 10586, Q.COMMON, V.ORIG, 235, 235, 255, 275, 20222)
 	self:AddRecipeFlags(12754, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12754, A.TRAINER, 8126, A.TRAINER, 8738, A.TRAINER, 29513)
+	self:AddRecipeTrainer(12754, 8738, 29513, 8126)

 	-- Goblin Bomb Dispenser -- 12755
 	AddRecipe(12755, 230, 10587, Q.COMMON, V.ORIG, 230, 230, 250, 270, 20222)
 	self:AddRecipeFlags(12755, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(12755, A.TRAINER, 8126, A.TRAINER, 8738, A.TRAINER, 29513)
+	self:AddRecipeTrainer(12755, 8738, 29513, 8126)

 	-- Goblin Rocket Helmet -- 12758
 	AddRecipe(12758, 245, 10588, Q.COMMON, V.ORIG, 245, 265, 275, 285, 20222)
 	self:AddRecipeFlags(12758, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(12758, A.TRAINER, 8126, A.TRAINER, 8738, A.TRAINER, 29513)
+	self:AddRecipeTrainer(12758, 8738, 29513, 8126)

 	-- Gnomish Death Ray -- 12759
 	AddRecipe(12759, 240, 10645, Q.COMMON, V.ORIG, 240, 260, 270, 280, 20219)
 	self:AddRecipeFlags(12759, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(12759, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(12759, 7944, 7406, 29514)

 	-- Goblin Sapper Charge -- 12760
 	AddRecipe(12760, 205, 10646, Q.COMMON, V.ORIG, 205, 205, 225, 245, 20222)
 	self:AddRecipeFlags(12760, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12760, A.TRAINER, 8126, A.TRAINER, 29513)
+	self:AddRecipeTrainer(12760, 8126, 29513)

 	-- Inlaid Mithril Cylinder Plans -- 12895
 	AddRecipe(12895, 205, 10713, Q.COMMON, V.ORIG, 205, 205, 205, 205, 20219)
 	self:AddRecipeFlags(12895, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12895, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(12895, 7944, 7406, 29514)

 	-- Gnomish Goggles -- 12897
 	AddRecipe(12897, 210, 10545, Q.COMMON, V.ORIG, 210, 230, 240, 250, 20219)
 	self:AddRecipeFlags(12897, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12897, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(12897, 7944, 7406, 29514)

 	-- Gnomish Shrink Ray -- 12899
 	AddRecipe(12899, 205, 10716, Q.COMMON, V.ORIG, 205, 225, 235, 245, 20219)
 	self:AddRecipeFlags(12899, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TRINKET)
-	self:AddRecipeAcquire(12899, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(12899, 7944, 7406, 29514)

 	-- Gnomish Net-o-Matic Projector -- 12902
 	AddRecipe(12902, 210, 10720, Q.COMMON, V.ORIG, 210, 230, 240, 250, 20219)
 	self:AddRecipeFlags(12902, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(12902, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(12902, 7944, 7406, 29514)

 	-- Gnomish Harm Prevention Belt -- 12903
 	AddRecipe(12903, 215, 10721, Q.COMMON, V.ORIG, 215, 235, 245, 255, 20219)
 	self:AddRecipeFlags(12903, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(12903, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(12903, 7944, 7406, 29514)

 	-- Gnomish Rocket Boots -- 12905
 	AddRecipe(12905, 225, 10724, Q.COMMON, V.ORIG, 225, 245, 255, 265, 20219)
 	self:AddRecipeFlags(12905, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(12905, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(12905, 7944, 7406, 29514)

 	-- Gnomish Battle Chicken -- 12906
 	AddRecipe(12906, 230, 10725, Q.COMMON, V.ORIG, 230, 250, 260, 270, 20219)
 	self:AddRecipeFlags(12906, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(12906, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(12906, 7944, 7406, 29514)

 	-- Gnomish Mind Control Cap -- 12907
 	AddRecipe(12907, 235, 10726, Q.COMMON, V.ORIG, 235, 255, 265, 275, 20219)
 	self:AddRecipeFlags(12907, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12907, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(12907, 7944, 7406, 29514)

 	-- Goblin Dragon Gun -- 12908
 	AddRecipe(12908, 240, 10727, Q.COMMON, V.ORIG, 240, 260, 270, 280, 20222)
 	self:AddRecipeFlags(12908, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(12908, A.TRAINER, 8126, A.TRAINER, 8738, A.TRAINER, 29513)
+	self:AddRecipeTrainer(12908, 8738, 29513, 8126)

 	-- The Mortar: Reloaded -- 13240
 	AddRecipe(13240, 205, 10577, Q.COMMON, V.ORIG, 205, 205, 205, 205, 20222)
 	self:AddRecipeFlags(13240, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(13240, A.TRAINER, 8126, A.TRAINER, 8738)
+	self:AddRecipeTrainer(13240, 8126, 8738)

 	-- Mechanical Repair Kit -- 15255
 	AddRecipe(15255, 200, 11590, Q.COMMON, V.ORIG, 200, 200, 220, 240)
 	self:AddRecipeFlags(15255, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(15255, A.TRAINER, 5174, A.TRAINER, 8736, A.TRAINER, 11017, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(15255, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 3290, 18775, 28697, 33586)

 	-- Pet Bombling -- 15628
 	AddRecipe(15628, 205, 11825, Q.UNCOMMON, V.ORIG, 205, 205, 205, 205)
@@ -583,27 +587,27 @@ function addon:InitEngineering()
 	-- Salt Shaker -- 19567
 	AddRecipe(19567, 250, 15846, Q.COMMON, V.ORIG, 250, 270, 280, 290)
 	self:AddRecipeFlags(19567, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(19567, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(19567, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Dense Blasting Powder -- 19788
 	AddRecipe(19788, 250, 15992, Q.COMMON, V.ORIG, 250, 250, 255, 260)
 	self:AddRecipeFlags(19788, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(19788, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(19788, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Thorium Grenade -- 19790
 	AddRecipe(19790, 260, 15993, Q.COMMON, V.ORIG, 260, 280, 290, 300)
 	self:AddRecipeFlags(19790, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(19790, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(19790, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Thorium Widget -- 19791
 	AddRecipe(19791, 260, 15994, Q.COMMON, V.ORIG, 260, 280, 290, 300)
 	self:AddRecipeFlags(19791, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(19791, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(19791, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Thorium Rifle -- 19792
 	AddRecipe(19792, 260, 15995, Q.UNCOMMON, V.ORIG, 260, 280, 290, 300)
 	self:AddRecipeFlags(19792, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS, F.GUN)
-	self:AddRecipeAcquire(19792, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(19792, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Lifelike Mechanical Toad -- 19793
 	AddRecipe(19793, 265, 15996, Q.UNCOMMON, V.ORIG, 265, 285, 295, 305)
@@ -613,52 +617,52 @@ function addon:InitEngineering()
 	-- Spellpower Goggles Xtreme Plus -- 19794
 	AddRecipe(19794, 270, 15999, Q.UNCOMMON, V.ORIG, 270, 290, 300, 310)
 	self:AddRecipeFlags(19794, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(19794, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(19794, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Thorium Tube -- 19795
 	AddRecipe(19795, 275, 16000, Q.COMMON, V.ORIG, 275, 295, 305, 315)
 	self:AddRecipeFlags(19795, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(19795, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(19795, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Dark Iron Rifle -- 19796
 	AddRecipe(19796, 275, 16004, Q.UNCOMMON, V.ORIG, 275, 295, 305, 315)
 	self:AddRecipeFlags(19796, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.GUN)
-	self:AddRecipeAcquire(19796, A.MOB, 8897)
+	self:AddRecipeMobDrop(19796, 8897)

 	-- Dark Iron Bomb -- 19799
 	AddRecipe(19799, 285, 16005, Q.UNCOMMON, V.ORIG, 285, 305, 315, 325)
 	self:AddRecipeFlags(19799, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(19799, A.MOB, 8920)
+	self:AddRecipeMobDrop(19799, 8920)

 	-- Thorium Shells -- 19800
 	AddRecipe(19800, 285, 15997, Q.UNCOMMON, V.ORIG, 285, 295, 300, 305)
 	self:AddRecipeFlags(19800, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.AMMO)
-	self:AddRecipeAcquire(19800, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(19800, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Masterwork Target Dummy -- 19814
 	AddRecipe(19814, 275, 16023, Q.COMMON, V.ORIG, 275, 295, 305, 315)
 	self:AddRecipeFlags(19814, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(19814, A.VENDOR, 11185)
+	self:AddRecipeVendor(19814, 11185)

 	-- Delicate Arcanite Converter -- 19815
 	AddRecipe(19815, 285, 16006, Q.COMMON, V.ORIG, 285, 305, 315, 325)
 	self:AddRecipeFlags(19815, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(19815, A.VENDOR, 11185)
+	self:AddRecipeVendor(19815, 11185)

 	-- Voice Amplification Modulator -- 19819
 	AddRecipe(19819, 290, 16009, Q.UNCOMMON, V.ORIG, 290, 310, 320, 330)
 	self:AddRecipeFlags(19819, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.NECK)
-	self:AddRecipeAcquire(19819, A.MOB, 10426)
+	self:AddRecipeMobDrop(19819, 10426)

 	-- Master Engineer's Goggles -- 19825
 	AddRecipe(19825, 290, 16008, Q.UNCOMMON, V.ORIG, 290, 310, 320, 330)
 	self:AddRecipeFlags(19825, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(19825, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(19825, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Arcanite Dragonling -- 19830
 	AddRecipe(19830, 300, 16022, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19830, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.TRINKET)
-	self:AddRecipeAcquire(19830, A.MOB, 7437)
+	self:AddRecipeMobDrop(19830, 7437)

 	-- Arcane Bomb -- 19831
 	AddRecipe(19831, 300, 16040, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
@@ -668,7 +672,7 @@ function addon:InitEngineering()
 	-- Flawless Arcanite Rifle -- 19833
 	AddRecipe(19833, 300, 16007, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19833, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.GUN)
-	self:AddRecipeAcquire(19833, A.MOB, 8561)
+	self:AddRecipeMobDrop(19833, 8561)

 	-- Snowmaster 9000 -- 21940
 	AddRecipe(21940, 190, 17716, Q.UNCOMMON, V.ORIG, 190, 190, 210, 230)
@@ -698,42 +702,42 @@ function addon:InitEngineering()
 	-- Red Firework -- 23066
 	AddRecipe(23066, 150, 9318, Q.COMMON, V.ORIG, 150, 150, 162, 175)
 	self:AddRecipeFlags(23066, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(23066, A.VENDOR, 3413)
+	self:AddRecipeVendor(23066, 3413)

 	-- Blue Firework -- 23067
 	AddRecipe(23067, 150, 9312, Q.COMMON, V.ORIG, 150, 150, 162, 175)
 	self:AddRecipeFlags(23067, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(23067, A.VENDOR, 5175)
+	self:AddRecipeVendor(23067, 5175)

 	-- Green Firework -- 23068
 	AddRecipe(23068, 150, 9313, Q.COMMON, V.ORIG, 150, 150, 162, 175)
 	self:AddRecipeFlags(23068, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(23068, A.VENDOR, 2838, A.VENDOR, 3495)
+	self:AddRecipeVendor(23068, 2838, 3495)

 	-- EZ-Thro Dynamite II -- 23069
 	AddRecipe(23069, 200, 18588, Q.COMMON, V.ORIG, 200, 200, 210, 220)
 	self:AddRecipeFlags(23069, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(23069, A.VENDOR, 8131)
+	self:AddRecipeVendor(23069, 8131)

 	-- Dense Dynamite -- 23070
 	AddRecipe(23070, 250, 18641, Q.COMMON, V.ORIG, 250, 250, 260, 270)
 	self:AddRecipeFlags(23070, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(23070, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(23070, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Truesilver Transformer -- 23071
 	AddRecipe(23071, 260, 18631, Q.COMMON, V.ORIG, 260, 270, 275, 280)
 	self:AddRecipeFlags(23071, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(23071, A.TRAINER, 8736, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 16667, A.TRAINER, 28697, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 26955, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(23071, 11017, 11025, 17634, 3494, 1702, 25277, 18752, 17637, 1676, 26907, 19576, 26955, 17222, 16726, 5518, 11037, 26991, 33611, 8736, 16667, 33634, 5174, 11031, 28697, 18775, 33586, 3290)

 	-- Gyrofreeze Ice Reflector -- 23077
 	AddRecipe(23077, 260, 18634, Q.COMMON, V.ORIG, 260, 280, 290, 300)
 	self:AddRecipeFlags(23077, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TRINKET)
-	self:AddRecipeAcquire(23077, A.VENDOR, 11185)
+	self:AddRecipeVendor(23077, 11185)

 	-- Goblin Jumper Cables XL -- 23078
 	AddRecipe(23078, 265, 18587, Q.UNCOMMON, V.ORIG, 265, 285, 295, 305, 20222)
 	self:AddRecipeFlags(23078, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(23078, A.MOB, 9499)
+	self:AddRecipeMobDrop(23078, 9499)

 	-- Major Recombobulator -- 23079
 	AddRecipe(23079, 275, 18637, Q.UNCOMMON, V.ORIG, 275, 285, 290, 295)
@@ -743,52 +747,52 @@ function addon:InitEngineering()
 	-- Powerful Seaforium Charge -- 23080
 	AddRecipe(23080, 275, 18594, Q.COMMON, V.ORIG, 275, 275, 285, 295)
 	self:AddRecipeFlags(23080, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(23080, A.VENDOR, 11185)
+	self:AddRecipeVendor(23080, 11185)

 	-- Hyper-Radiant Flame Reflector -- 23081
 	AddRecipe(23081, 290, 18638, Q.UNCOMMON, V.ORIG, 290, 310, 320, 330)
 	self:AddRecipeFlags(23081, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.TRINKET)
-	self:AddRecipeAcquire(23081, A.MOB, 10264)
+	self:AddRecipeMobDrop(23081, 10264)

 	-- Ultra-Flash Shadow Reflector -- 23082
 	AddRecipe(23082, 300, 18639, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23082, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.TRINKET)
-	self:AddRecipeAcquire(23082, A.MOB, 10426)
+	self:AddRecipeMobDrop(23082, 10426)

 	-- Gnomish Alarm-o-Bot -- 23096
 	AddRecipe(23096, 265, 18645, Q.UNCOMMON, V.ORIG, 265, 275, 280, 285, 20219)
 	self:AddRecipeFlags(23096, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(23096, A.MOB, 8920)
+	self:AddRecipeMobDrop(23096, 8920)

 	-- World Enlarger -- 23129
 	AddRecipe(23129, 260, 18660, Q.UNCOMMON, V.ORIG, 260, 260, 265, 270, 20219)
 	self:AddRecipeFlags(23129, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(23129, A.MOB, 8920)
+	self:AddRecipeMobDrop(23129, 8920)

 	-- Dimensional Ripper - Everlook -- 23486
 	AddRecipe(23486, 260, 18984, Q.UNCOMMON, V.ORIG, 260, 285, 295, 305, 20222)
 	self:AddRecipeFlags(23486, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(23486, A.TRAINER, 14742)
+	self:AddRecipeTrainer(23486, 14742)

 	-- Ultrasafe Transporter - Gadgetzan -- 23489
 	AddRecipe(23489, 260, 18986, Q.UNCOMMON, V.ORIG, 260, 285, 295, 305, 20219)
 	self:AddRecipeFlags(23489, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(23489, A.TRAINER, 14743)
+	self:AddRecipeTrainer(23489, 14743)

 	-- Snake Burst Firework -- 23507
 	AddRecipe(23507, 250, 19026, Q.COMMON, V.ORIG, 250, 250, 260, 270)
 	self:AddRecipeFlags(23507, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(23507, A.VENDOR, 14637)
+	self:AddRecipeVendor(23507, 14637)

 	-- Bloodvine Goggles -- 24356
 	AddRecipe(24356, 300, 19999, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24356, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOTH, F.ZANDALAR)
-	self:AddRecipeAcquire(24356, A.REPUTATION, FAC.ZANDALAR, REP.HONORED, 14921)
+	self:AddRecipeRepVendor(24356, FAC.ZANDALAR, REP.HONORED, 14921)

 	-- Bloodvine Lens -- 24357
 	AddRecipe(24357, 300, 19998, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24357, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER, F.ZANDALAR)
-	self:AddRecipeAcquire(24357, A.REPUTATION, FAC.ZANDALAR, REP.FRIENDLY, 14921)
+	self:AddRecipeRepVendor(24357, FAC.ZANDALAR, REP.FRIENDLY, 14921)

 	-- Tranquil Mechanical Yeti -- 26011
 	AddRecipe(26011, 250, 21277, Q.COMMON, V.ORIG, 250, 320, 330, 340)
@@ -798,137 +802,152 @@ function addon:InitEngineering()
 	-- Small Blue Rocket -- 26416
 	AddRecipe(26416, 125, 21558, Q.UNCOMMON, V.ORIG, 125, 125, 137, 150)
 	self:AddRecipeFlags(26416, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26416, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26416, 15909)
+	self:AddRecipeAcquire(26416, A.SEASONAL, 2)

 	-- Small Green Rocket -- 26417
 	AddRecipe(26417, 125, 21559, Q.UNCOMMON, V.ORIG, 125, 125, 137, 150)
 	self:AddRecipeFlags(26417, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26417, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26417, 15909)
+	self:AddRecipeAcquire(26417, A.SEASONAL, 2)

 	-- Small Red Rocket -- 26418
 	AddRecipe(26418, 125, 21557, Q.UNCOMMON, V.ORIG, 125, 125, 137, 150)
 	self:AddRecipeFlags(26418, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26418, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26418, 15909)
+	self:AddRecipeAcquire(26418, A.SEASONAL, 2)

 	-- Large Blue Rocket -- 26420
 	AddRecipe(26420, 175, 21589, Q.UNCOMMON, V.ORIG, 175, 175, 187, 200)
 	self:AddRecipeFlags(26420, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26420, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26420, 15909)
+	self:AddRecipeAcquire(26420, A.SEASONAL, 2)

 	-- Large Green Rocket -- 26421
 	AddRecipe(26421, 175, 21590, Q.UNCOMMON, V.ORIG, 175, 175, 187, 200)
 	self:AddRecipeFlags(26421, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26421, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26421, 15909)
+	self:AddRecipeAcquire(26421, A.SEASONAL, 2)

 	-- Large Red Rocket -- 26422
 	AddRecipe(26422, 175, 21592, Q.UNCOMMON, V.ORIG, 175, 175, 187, 200)
 	self:AddRecipeFlags(26422, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26422, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26422, 15909)
+	self:AddRecipeAcquire(26422, A.SEASONAL, 2)

 	-- Blue Rocket Cluster -- 26423
 	AddRecipe(26423, 225, 21571, Q.UNCOMMON, V.ORIG, 225, 225, 237, 250)
 	self:AddRecipeFlags(26423, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26423, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26423, 15909)
+	self:AddRecipeAcquire(26423, A.SEASONAL, 2)

 	-- Green Rocket Cluster -- 26424
 	AddRecipe(26424, 225, 21574, Q.UNCOMMON, V.ORIG, 225, 225, 237, 250)
 	self:AddRecipeFlags(26424, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26424, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26424, 15909)
+	self:AddRecipeAcquire(26424, A.SEASONAL, 2)

 	-- Red Rocket Cluster -- 26425
 	AddRecipe(26425, 225, 21576, Q.UNCOMMON, V.ORIG, 225, 225, 237, 250)
 	self:AddRecipeFlags(26425, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26425, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26425, 15909)
+	self:AddRecipeAcquire(26425, A.SEASONAL, 2)

 	-- Large Blue Rocket Cluster -- 26426
 	AddRecipe(26426, 275, 21714, Q.UNCOMMON, V.ORIG, 275, 275, 280, 285)
 	self:AddRecipeFlags(26426, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26426, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26426, 15909)
+	self:AddRecipeAcquire(26426, A.SEASONAL, 2)

 	-- Large Green Rocket Cluster -- 26427
 	AddRecipe(26427, 275, 21716, Q.UNCOMMON, V.ORIG, 275, 275, 280, 285)
 	self:AddRecipeFlags(26427, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26427, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26427, 15909)
+	self:AddRecipeAcquire(26427, A.SEASONAL, 2)

 	-- Large Red Rocket Cluster -- 26428
 	AddRecipe(26428, 275, 21718, Q.UNCOMMON, V.ORIG, 275, 275, 280, 285)
 	self:AddRecipeFlags(26428, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26428, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26428, 15909)
+	self:AddRecipeAcquire(26428, A.SEASONAL, 2)

 	-- Firework Launcher -- 26442
 	AddRecipe(26442, 225, 21569, Q.UNCOMMON, V.ORIG, 225, 245, 255, 265)
 	self:AddRecipeFlags(26442, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26442, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26442, 15909)
+	self:AddRecipeAcquire(26442, A.SEASONAL, 2)

 	-- Firework Cluster Launcher -- 26443
 	AddRecipe(26443, 275, 21570, Q.UNCOMMON, V.ORIG, 275, 295, 305, 315)
 	self:AddRecipeFlags(26443, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26443, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26443, 15909)
+	self:AddRecipeAcquire(26443, A.SEASONAL, 2)

 	-- Steam Tonk Controller -- 28327
 	AddRecipe(28327, 275, 22728, Q.COMMON, V.ORIG, 275, 275, 280, 285)
 	self:AddRecipeFlags(28327, F.ALLIANCE, F.HORDE, F.VENDOR, F.QUEST, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28327, A.QUEST, 9249, A.VENDOR, 3413, A.VENDOR, 5175)
+	self:AddRecipeVendor(28327, 3413, 5175)
+	self:AddRecipeAcquire(28327, A.QUEST, 9249)

 	-- Elemental Blasting Powder -- 30303
 	AddRecipe(30303, 300, 23781, Q.COMMON, V.TBC, 300, 300, 310, 320)
 	self:AddRecipeFlags(30303, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30303, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(30303, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Fel Iron Casing -- 30304
 	AddRecipe(30304, 300, 23782, Q.COMMON, V.TBC, 300, 300, 310, 320)
 	self:AddRecipeFlags(30304, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30304, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(30304, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Handful of Fel Iron Bolts -- 30305
 	AddRecipe(30305, 300, 23783, Q.COMMON, V.TBC, 300, 300, 305, 310)
 	self:AddRecipeFlags(30305, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30305, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(30305, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Adamantite Frame -- 30306
 	AddRecipe(30306, 325, 23784, Q.COMMON, V.TBC, 325, 325, 330, 335)
 	self:AddRecipeFlags(30306, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30306, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(30306, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Hardened Adamantite Tube -- 30307
 	AddRecipe(30307, 340, 23785, Q.COMMON, V.TBC, 340, 350, 360, 370)
 	self:AddRecipeFlags(30307, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30307, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(30307, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Khorium Power Core -- 30308
 	AddRecipe(30308, 340, 23786, Q.COMMON, V.TBC, 340, 350, 360, 370)
 	self:AddRecipeFlags(30308, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30308, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(30308, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Felsteel Stabilizer -- 30309
 	AddRecipe(30309, 340, 23787, Q.COMMON, V.TBC, 340, 350, 360, 370)
 	self:AddRecipeFlags(30309, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30309, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(30309, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Fel Iron Bomb -- 30310
 	AddRecipe(30310, 300, 23736, Q.COMMON, V.TBC, 300, 320, 330, 340)
 	self:AddRecipeFlags(30310, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30310, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(30310, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Adamantite Grenade -- 30311
 	AddRecipe(30311, 325, 23737, Q.COMMON, V.TBC, 325, 335, 345, 355)
 	self:AddRecipeFlags(30311, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30311, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(30311, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Fel Iron Musket -- 30312
 	AddRecipe(30312, 320, 23742, Q.COMMON, V.TBC, 320, 330, 340, 350)
 	self:AddRecipeFlags(30312, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.GUN)
-	self:AddRecipeAcquire(30312, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(30312, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Adamantite Rifle -- 30313
 	AddRecipe(30313, 350, 23746, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(30313, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.GUN)
-	self:AddRecipeAcquire(30313, A.VENDOR, 16657, A.VENDOR, 16782, A.VENDOR, 19661)
+	self:AddRecipeVendor(30313, 16657, 19661, 16782)

 	-- Felsteel Boomstick -- 30314
 	AddRecipe(30314, 360, 23747, Q.RARE, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(30314, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.GUN)
-	self:AddRecipeAcquire(30314, A.MOB, 19960)
+	self:AddRecipeMobDrop(30314, 19960)

 	-- Ornate Khorium Rifle -- 30315
 	AddRecipe(30315, 375, 23748, Q.RARE, V.TBC, 375, 385, 395, 405)
@@ -938,7 +957,7 @@ function addon:InitEngineering()
 	-- Cogspinner Goggles -- 30316
 	AddRecipe(30316, 340, 23758, Q.COMMON, V.TBC, 340, 350, 360, 370)
 	self:AddRecipeFlags(30316, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(30316, A.VENDOR, 18775, A.VENDOR, 19836)
+	self:AddRecipeVendor(30316, 18775, 19836)

 	-- Power Amplification Goggles -- 30317
 	AddRecipe(30317, 340, 23761, Q.RARE, V.TBC, 340, 350, 360, 370)
@@ -948,27 +967,27 @@ function addon:InitEngineering()
 	-- Ultra-Spectropic Detection Goggles -- 30318
 	AddRecipe(30318, 350, 23762, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(30318, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(30318, A.VENDOR, 18775, A.VENDOR, 19383)
+	self:AddRecipeVendor(30318, 18775, 19383)

 	-- Hyper-Vision Goggles -- 30325
 	AddRecipe(30325, 360, 23763, Q.RARE, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(30325, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(30325, A.MOB, 19755)
+	self:AddRecipeMobDrop(30325, 19755)

 	-- Adamantite Scope -- 30329
 	AddRecipe(30329, 335, 23764, Q.COMMON, V.TBC, 335, 345, 355, 365)
 	self:AddRecipeFlags(30329, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(30329, A.VENDOR, 19351, A.VENDOR, 19836)
+	self:AddRecipeVendor(30329, 19351, 19836)

 	-- Khorium Scope -- 30332
 	AddRecipe(30332, 360, 23765, Q.RARE, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(30332, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30332, A.MOB, 20207)
+	self:AddRecipeMobDrop(30332, 20207)

 	-- Stabilized Eternium Scope -- 30334
 	AddRecipe(30334, 375, 23766, Q.RARE, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(30334, F.ALLIANCE, F.HORDE, F.RAID, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30334, A.MOB, 16152)
+	self:AddRecipeMobDrop(30334, 16152)

 	-- Crashin' Thrashin' Robot -- 30337
 	AddRecipe(30337, 325, 23767, Q.UNCOMMON, V.TBC, 325, 335, 345, 355)
@@ -978,37 +997,37 @@ function addon:InitEngineering()
 	-- White Smoke Flare -- 30341
 	AddRecipe(30341, 335, 23768, Q.COMMON, V.TBC, 335, 335, 345, 355)
 	self:AddRecipeFlags(30341, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(30341, A.VENDOR, 16657, A.VENDOR, 16782, A.VENDOR, 18484, A.VENDOR, 19383)
+	self:AddRecipeVendor(30341, 16657, 19383, 16782, 18484)

 	-- Green Smoke Flare -- 30344
 	AddRecipe(30344, 335, 23771, Q.COMMON, V.TBC, 335, 335, 345, 355)
 	self:AddRecipeFlags(30344, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(30344, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.FRIENDLY, 17904)
+	self:AddRecipeRepVendor(30344, FAC.CENARION_EXPEDITION, REP.FRIENDLY, 17904)

 	-- Fel Iron Shells -- 30346
 	AddRecipe(30346, 310, 23772, Q.COMMON, V.TBC, 310, 310, 320, 330)
 	self:AddRecipeFlags(30346, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.AMMO)
-	self:AddRecipeAcquire(30346, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(30346, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Adamantite Shell Machine -- 30347
 	AddRecipe(30347, 335, 34504, Q.COMMON, V.TBC, 335, 335, 345, 355)
 	self:AddRecipeFlags(30347, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.AMMO)
-	self:AddRecipeAcquire(30347, A.VENDOR, 16657, A.VENDOR, 16782, A.VENDOR, 18484)
+	self:AddRecipeVendor(30347, 16657, 16782, 18484)

 	-- Fel Iron Toolbox -- 30348
 	AddRecipe(30348, 325, 23774, Q.COMMON, V.TBC, 325, 325, 335, 345)
 	self:AddRecipeFlags(30348, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(30348, A.VENDOR, 16657, A.VENDOR, 16782, A.VENDOR, 18484)
+	self:AddRecipeVendor(30348, 16657, 16782, 18484)

 	-- Titanium Toolbox -- 30349
 	AddRecipe(30349, 405, 23775, Q.COMMON, V.WOTLK, 405, 425, 432, 440)
 	self:AddRecipeFlags(30349, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(30349, A.VENDOR, 28722)
+	self:AddRecipeVendor(30349, 28722)

 	-- Elemental Seaforium Charge -- 30547
 	AddRecipe(30547, 350, 23819, Q.COMMON, V.TBC, 350, 350, 355, 360)
 	self:AddRecipeFlags(30547, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CONSORTIUM)
-	self:AddRecipeAcquire(30547, A.REPUTATION, FAC.CONSORTIUM, REP.REVERED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.REVERED, 23007)
+	self:AddRecipeRepVendor(30547, FAC.CONSORTIUM, REP.REVERED, 20242, 23007)

 	-- Zapthrottle Mote Extractor -- 30548
 	AddRecipe(30548, 305, 23821, Q.COMMON, V.TBC, 305, 305, 315, 325)
@@ -1018,67 +1037,67 @@ function addon:InitEngineering()
 	-- Healing Potion Injector -- 30551
 	AddRecipe(30551, 330, 33092, Q.RARE, V.TBC, 330, 330, 340, 350)
 	self:AddRecipeFlags(30551, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30551, A.MOB, 24664)
+	self:AddRecipeMobDrop(30551, 24664)

 	-- Mana Potion Injector -- 30552
 	AddRecipe(30552, 345, 33093, Q.RARE, V.TBC, 345, 345, 355, 365)
 	self:AddRecipeFlags(30552, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30552, A.MOB, 24664)
+	self:AddRecipeMobDrop(30552, 24664)

 	-- Rocket Boots Xtreme -- 30556
 	AddRecipe(30556, 355, 23824, Q.RARE, V.TBC, 355, 365, 375, 385)
 	self:AddRecipeFlags(30556, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(30556, A.MOB, 17796)
+	self:AddRecipeMobDrop(30556, 17796)

 	-- The Bigger One -- 30558
 	AddRecipe(30558, 325, 23826, Q.COMMON, V.TBC, 325, 325, 335, 345, 20222)
 	self:AddRecipeFlags(30558, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30558, A.TRAINER, 8126, A.TRAINER, 8738, A.TRAINER, 29513)
+	self:AddRecipeTrainer(30558, 8738, 29513, 8126)

 	-- Super Sapper Charge -- 30560
 	AddRecipe(30560, 340, 23827, Q.COMMON, V.TBC, 340, 340, 350, 360, 20222)
 	self:AddRecipeFlags(30560, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30560, A.TRAINER, 8126, A.TRAINER, 8738, A.TRAINER, 29513)
+	self:AddRecipeTrainer(30560, 8738, 29513, 8126)

 	-- Goblin Rocket Launcher -- 30563
 	AddRecipe(30563, 350, 23836, Q.COMMON, V.TBC, 350, 360, 370, 380, 20222)
 	self:AddRecipeFlags(30563, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(30563, A.TRAINER, 8126, A.TRAINER, 8738, A.TRAINER, 29513)
+	self:AddRecipeTrainer(30563, 8738, 29513, 8126)

 	-- Foreman's Enchanted Helmet -- 30565
 	AddRecipe(30565, 375, 23838, Q.COMMON, V.TBC, 375, 375, 385, 395, 20222)
 	self:AddRecipeFlags(30565, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(30565, A.TRAINER, 8126, A.TRAINER, 8738, A.TRAINER, 29513)
+	self:AddRecipeTrainer(30565, 8738, 29513, 8126)

 	-- Foreman's Reinforced Helmet -- 30566
 	AddRecipe(30566, 375, 23839, Q.COMMON, V.TBC, 375, 375, 385, 395, 20222)
 	self:AddRecipeFlags(30566, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(30566, A.TRAINER, 8126, A.TRAINER, 8738, A.TRAINER, 29513)
+	self:AddRecipeTrainer(30566, 8738, 29513, 8126)

 	-- Gnomish Flame Turret -- 30568
 	AddRecipe(30568, 325, 23841, Q.COMMON, V.TBC, 325, 335, 345, 355, 20219)
 	self:AddRecipeFlags(30568, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(30568, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(30568, 7944, 7406, 29514)

 	-- Gnomish Poultryizer -- 30569
 	AddRecipe(30569, 340, 23835, Q.COMMON, V.TBC, 340, 360, 370, 380, 20219)
 	self:AddRecipeFlags(30569, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(30569, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(30569, 7944, 7406, 29514)

 	-- Nigh-Invulnerability Belt -- 30570
 	AddRecipe(30570, 350, 23825, Q.COMMON, V.TBC, 350, 360, 370, 380, 20219)
 	self:AddRecipeFlags(30570, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(30570, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(30570, 7944, 7406, 29514)

 	-- Gnomish Power Goggles -- 30574
 	AddRecipe(30574, 375, 23828, Q.COMMON, V.TBC, 375, 375, 385, 395, 20219)
 	self:AddRecipeFlags(30574, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(30574, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(30574, 7944, 7406, 29514)

 	-- Gnomish Battle Goggles -- 30575
 	AddRecipe(30575, 375, 23829, Q.COMMON, V.TBC, 375, 375, 385, 395, 20219)
 	self:AddRecipeFlags(30575, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(30575, A.TRAINER, 7406, A.TRAINER, 7944, A.TRAINER, 29514)
+	self:AddRecipeTrainer(30575, 7944, 7406, 29514)

 	-- Purple Smoke Flare -- 32814
 	AddRecipe(32814, 335, 25886, Q.UNCOMMON, V.TBC, 335, 335, 345, 355)
@@ -1088,107 +1107,107 @@ function addon:InitEngineering()
 	-- Dimensional Ripper - Area 52 -- 36954
 	AddRecipe(36954, 350, 30542, Q.UNCOMMON, V.TBC, 350, 350, 360, 370, 20222)
 	self:AddRecipeFlags(36954, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(36954, A.TRAINER, 21493)
+	self:AddRecipeTrainer(36954, 21493)

 	-- Ultrasafe Transporter - Toshley's Station -- 36955
 	AddRecipe(36955, 350, 30544, Q.UNCOMMON, V.TBC, 350, 350, 360, 370, 20219)
 	self:AddRecipeFlags(36955, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(36955, A.TRAINER, 21494)
+	self:AddRecipeTrainer(36955, 21494)

 	-- Fused Wiring -- 39895
 	AddRecipe(39895, 275, 7191, Q.COMMON, V.TBC, 275, 275, 280, 285)
 	self:AddRecipeFlags(39895, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(39895, A.VENDOR, 11185, A.VENDOR, 19661)
+	self:AddRecipeVendor(39895, 11185, 19661)

 	-- Icy Blasting Primers -- 39971
 	AddRecipe(39971, 335, 32423, Q.COMMON, V.TBC, 335, 335, 340, 345)
 	self:AddRecipeFlags(39971, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(39971, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(39971, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Frost Grenades -- 39973
 	AddRecipe(39973, 335, 32413, Q.COMMON, V.TBC, 335, 345, 355, 365)
 	self:AddRecipeFlags(39973, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(39973, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(39973, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Furious Gizmatic Goggles -- 40274
 	AddRecipe(40274, 350, 32461, Q.COMMON, V.TBC, 350, 370, 380, 390)
 	self:AddRecipeFlags(40274, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.WARRIOR, F.IBOP, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(40274, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 33586, A.TRAINER, 28697, A.TRAINER, 25277, A.TRAINER, 26955)
+	self:AddRecipeTrainer(40274, 18775, 26955, 33586, 17637, 19576, 17634, 28697, 18752, 25277)

 	-- Gyro-balanced Khorium Destroyer -- 41307
 	AddRecipe(41307, 375, 32756, Q.COMMON, V.TBC, 375, 375, 392, 410)
 	self:AddRecipeFlags(41307, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.GUN)
-	self:AddRecipeAcquire(41307, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 28697, A.TRAINER, 33586, A.TRAINER, 26991, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(41307, 18775, 26907, 26955, 33586, 25277, 17637, 19576, 33611, 17634, 33634, 28697, 26991, 18752)

 	-- Justicebringer 2000 Specs -- 41311
 	AddRecipe(41311, 350, 32472, Q.COMMON, V.TBC, 350, 370, 380, 390)
 	self:AddRecipeFlags(41311, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOP, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(41311, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(41311, 18775, 26955, 33586, 17637, 19576, 28697, 17634, 18752, 25277, 26991, 26907)

 	-- Tankatronic Goggles -- 41312
 	AddRecipe(41312, 350, 32473, Q.COMMON, V.TBC, 350, 370, 380, 390)
 	self:AddRecipeFlags(41312, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.WARRIOR, F.IBOP, F.RBOP, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(41312, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(41312, 18775, 26955, 33586, 17637, 19576, 28697, 17634, 18752, 25277, 26991, 26907)

 	-- Surestrike Goggles v2.0 -- 41314
 	AddRecipe(41314, 350, 32474, Q.COMMON, V.TBC, 350, 370, 380, 390)
 	self:AddRecipeFlags(41314, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.SHAMAN, F.IBOP, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(41314, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(41314, 18775, 26955, 33586, 17637, 19576, 28697, 17634, 18752, 25277, 26991, 26907)

 	-- Gadgetstorm Goggles -- 41315
 	AddRecipe(41315, 350, 32476, Q.EPIC, V.TBC, 350, 370, 380, 390)
 	self:AddRecipeFlags(41315, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOP, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(41315, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(41315, 18775, 26955, 33586, 17637, 19576, 28697, 17634, 18752, 25277, 26991, 26907)

 	-- Living Replicator Specs -- 41316
 	AddRecipe(41316, 350, 32475, Q.EPIC, V.TBC, 350, 370, 380, 390)
 	self:AddRecipeFlags(41316, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOP, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(41316, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(41316, 18775, 26955, 33586, 17637, 19576, 28697, 17634, 18752, 25277, 26991, 26907)

 	-- Deathblow X11 Goggles -- 41317
 	AddRecipe(41317, 350, 32478, Q.COMMON, V.TBC, 350, 370, 380, 390)
 	self:AddRecipeFlags(41317, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.ROGUE, F.IBOP, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(41317, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(41317, 18775, 26955, 33586, 17637, 19576, 28697, 17634, 18752, 25277, 26991, 26907)

 	-- Wonderheal XT40 Shades -- 41318
 	AddRecipe(41318, 350, 32479, Q.EPIC, V.TBC, 350, 370, 380, 390)
 	self:AddRecipeFlags(41318, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOP, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(41318, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(41318, 18775, 26955, 33586, 17637, 19576, 28697, 17634, 18752, 25277, 26991, 26907)

 	-- Magnified Moon Specs -- 41319
 	AddRecipe(41319, 350, 32480, Q.EPIC, V.TBC, 350, 370, 380, 390)
 	self:AddRecipeFlags(41319, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOP, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(41319, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(41319, 18775, 26955, 33586, 17637, 19576, 28697, 17634, 18752, 25277, 26991, 26907)

 	-- Destruction Holo-gogs -- 41320
 	AddRecipe(41320, 350, 32494, Q.COMMON, V.TBC, 350, 370, 380, 390)
 	self:AddRecipeFlags(41320, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.PRIEST, F.WARLOCK, F.IBOP, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(41320, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(41320, 18775, 26955, 33586, 17637, 19576, 28697, 17634, 18752, 25277, 26991, 26907)

 	-- Powerheal 4000 Lens -- 41321
 	AddRecipe(41321, 350, 32495, Q.EPIC, V.TBC, 350, 370, 380, 390)
 	self:AddRecipeFlags(41321, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOP, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(41321, A.TRAINER, 17634, A.TRAINER, 17637, A.TRAINER, 18752, A.TRAINER, 18775, A.TRAINER, 19576, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(41321, 18775, 26955, 33586, 17637, 19576, 28697, 17634, 18752, 25277, 26991, 26907)

 	-- Adamantite Arrow Maker -- 43676
 	AddRecipe(43676, 335, 20475, Q.UNCOMMON, V.TBC, 335, 335, 345, 355)
 	self:AddRecipeFlags(43676, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(43676, A.MOB, 19707)
+	self:AddRecipeMobDrop(43676, 19707)

 	-- Flying Machine -- 44155
 	AddRecipe(44155, 300, 34060, Q.RARE, V.TBC, 300, 330, 340, 350)
 	self:AddRecipeFlags(44155, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44155, A.TRAINER, 24868, A.TRAINER, 25099, A.TRAINER, 25277, A.TRAINER, 28697, A.TRAINER, 26955, A.TRAINER, 33586)
+	self:AddRecipeTrainer(44155, 25277, 33586, 25099, 24868, 26955, 28697)

 	-- Turbo-Charged Flying Machine -- 44157
 	AddRecipe(44157, 375, 34061, Q.EPIC, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(44157, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44157, A.TRAINER, 24868, A.TRAINER, 25099)
+	self:AddRecipeTrainer(44157, 24868, 25099)

 	-- Field Repair Bot 110G -- 44391
 	AddRecipe(44391, 360, 34113, Q.UNCOMMON, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(44391, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44391, A.MOB, 23385, A.MOB, 23386)
+	self:AddRecipeMobDrop(44391, 23385, 23386)

 	-- Wonderheal XT68 Shades -- 46106
 	AddRecipe(46106, 375, 35183, Q.EPIC, V.TBC, 375, 390, 410, 430)
@@ -1248,47 +1267,47 @@ function addon:InitEngineering()
 	-- Rocket Boots Xtreme Lite -- 46697
 	AddRecipe(46697, 355, 35581, Q.RARE, V.TBC, 355, 365, 375, 385)
 	self:AddRecipeFlags(46697, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(46697, A.MOB, 19219)
+	self:AddRecipeMobDrop(46697, 19219)

 	-- Volatile Blasting Trigger -- 53281
 	AddRecipe(53281, 350, 39690, Q.COMMON, V.TBC, 350, 366, 375, 385)
 	self:AddRecipeFlags(53281, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53281, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(53281, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Mark "S" Boomstick -- 54353
 	AddRecipe(54353, 400, 39688, Q.RARE, V.WOTLK, 400, 405, 410, 415)
 	self:AddRecipeFlags(54353, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.GUN)
-	self:AddRecipeAcquire(54353, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(54353, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Personal Electromagnetic Pulse Generator -- 54736
 	AddRecipe(54736, 390, nil, Q.COMMON, V.WOTLK, 390, 390, 392, 395)
 	self:AddRecipeFlags(54736, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(54736, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(54736, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Frag Belt -- 54793
 	AddRecipe(54793, 380, nil, Q.COMMON, V.WOTLK, 380, 380, 382, 385)
 	self:AddRecipeFlags(54793, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(54793, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(54793, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Hand-Mounted Pyro Rocket -- 54998
 	AddRecipe(54998, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 402, 405)
 	self:AddRecipeFlags(54998, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(54998, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(54998, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Hyperspeed Accelerators -- 54999
 	AddRecipe(54999, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 402, 405)
 	self:AddRecipeFlags(54999, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(54999, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(54999, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Flexweave Underlay -- 55002
 	AddRecipe(55002, 380, nil, Q.COMMON, V.WOTLK, 380, 380, 382, 385)
 	self:AddRecipeFlags(55002, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(55002, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(55002, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Nitro Boosts -- 55016
 	AddRecipe(55016, 405, nil, Q.COMMON, V.WOTLK, 405, 405, 405, 410)
 	self:AddRecipeFlags(55016, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55016, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(55016, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Scrapbot Construction Kit -- 55252
 	AddRecipe(55252, 415, 40769, Q.COMMON, V.WOTLK, 415, 415, 417, 420)
@@ -1298,212 +1317,212 @@ function addon:InitEngineering()
 	-- Handful of Cobalt Bolts -- 56349
 	AddRecipe(56349, 350, 39681, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(56349, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56349, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56349, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Hammer Pick -- 56459
 	AddRecipe(56459, 375, 40892, Q.COMMON, V.TBC, 375, 380, 385, 390)
 	self:AddRecipeFlags(56459, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56459, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56459, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Cobalt Frag Bomb -- 56460
 	AddRecipe(56460, 350, 40771, Q.COMMON, V.TBC, 350, 375, 382, 390)
 	self:AddRecipeFlags(56460, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56460, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56460, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Bladed Pickaxe -- 56461
 	AddRecipe(56461, 375, 40893, Q.COMMON, V.WOTLK, 375, 380, 385, 390)
 	self:AddRecipeFlags(56461, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56461, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56461, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Gnomish Army Knife -- 56462
 	AddRecipe(56462, 435, 40772, Q.COMMON, V.WOTLK, 435, 440, 445, 450)
 	self:AddRecipeFlags(56462, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56462, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56462, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Explosive Decoy -- 56463
 	AddRecipe(56463, 375, 40536, Q.COMMON, V.WOTLK, 375, 385, 390, 395)
 	self:AddRecipeFlags(56463, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56463, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56463, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Overcharged Capacitor -- 56464
 	AddRecipe(56464, 375, 39682, Q.COMMON, V.WOTLK, 375, 380, 385, 390)
 	self:AddRecipeFlags(56464, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56464, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56464, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Mechanized Snow Goggles -- 56465
 	AddRecipe(56465, 420, 41112, Q.RARE, V.WOTLK, 420, 425, 432, 440)
 	self:AddRecipeFlags(56465, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.PRIEST, F.WARLOCK, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(56465, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56465, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Sonic Booster -- 56466
 	AddRecipe(56466, 420, 40767, Q.RARE, V.WOTLK, 420, 435, 440, 445)
 	self:AddRecipeFlags(56466, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TRINKET)
-	self:AddRecipeAcquire(56466, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56466, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Noise Machine -- 56467
 	AddRecipe(56467, 420, 40865, Q.RARE, V.WOTLK, 420, 435, 440, 445)
 	self:AddRecipeFlags(56467, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.TRINKET)
-	self:AddRecipeAcquire(56467, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56467, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Box of Bombs -- 56468
 	AddRecipe(56468, 405, 41119, Q.COMMON, V.WOTLK, 405, 410, 415, 420)
 	self:AddRecipeFlags(56468, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56468, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56468, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Gnomish Lightning Generator -- 56469
 	AddRecipe(56469, 425, 41121, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(56469, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(56469, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56469, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Sun Scope -- 56470
 	AddRecipe(56470, 425, 41146, Q.RARE, V.WOTLK, 425, 430, 432, 435)
 	self:AddRecipeFlags(56470, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(56470, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56470, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Froststeel Tube -- 56471
 	AddRecipe(56471, 390, 39683, Q.COMMON, V.WOTLK, 390, 395, 400, 405)
 	self:AddRecipeFlags(56471, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56471, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56471, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- MOLL-E -- 56472
 	AddRecipe(56472, 425, 40768, Q.COMMON, V.WOTLK, 425, 430, 432, 435)
 	self:AddRecipeFlags(56472, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56472, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56472, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Gnomish X-Ray Specs -- 56473
 	AddRecipe(56473, 425, 40895, Q.RARE, V.WOTLK, 425, 430, 435, 440, 20219)
 	self:AddRecipeFlags(56473, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56473, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 29514)
+	self:AddRecipeTrainer(56473, 29514, 26955, 26907)

 	-- Mammoth Cutters -- 56474
 	AddRecipe(56474, 410, 44507, Q.COMMON, V.WOTLK, 410, 410, 415, 420)
 	self:AddRecipeFlags(56474, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.AMMO)
-	self:AddRecipeAcquire(56474, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56474, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Saronite Razorheads -- 56475
 	AddRecipe(56475, 415, 44506, Q.COMMON, V.WOTLK, 415, 415, 417, 425)
 	self:AddRecipeFlags(56475, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56475, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56475, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Healing Injector Kit -- 56476
 	AddRecipe(56476, 410, 37567, Q.COMMON, V.WOTLK, 410, 415, 420, 425)
 	self:AddRecipeFlags(56476, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56476, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56476, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Mana Injector Kit -- 56477
 	AddRecipe(56477, 415, 42546, Q.COMMON, V.WOTLK, 415, 420, 425, 430)
 	self:AddRecipeFlags(56477, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56477, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56477, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Heartseeker Scope -- 56478
 	AddRecipe(56478, 430, 41167, Q.RARE, V.WOTLK, 430, 435, 445, 455)
 	self:AddRecipeFlags(56478, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(56478, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56478, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Armor Plated Combat Shotgun -- 56479
 	AddRecipe(56479, 450, 41168, Q.EPIC, V.WOTLK, 450, 455, 460, 465)
 	self:AddRecipeFlags(56479, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.GUN)
-	self:AddRecipeAcquire(56479, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(56479, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Armored Titanium Goggles -- 56480
 	AddRecipe(56480, 440, 42549, Q.RARE, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56480, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.PALADIN, F.WARRIOR, F.IBOP, F.RBOP, F.DPS, F.TANK, F.PLATE)
-	self:AddRecipeAcquire(56480, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(56480, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Weakness Spectralizers -- 56481
 	AddRecipe(56481, 440, 42550, Q.RARE, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56481, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOP, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(56481, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(56481, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Charged Titanium Specs -- 56483
 	AddRecipe(56483, 440, 42552, Q.RARE, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56483, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.PALADIN, F.WARRIOR, F.IBOP, F.RBOP, F.DPS, F.PLATE)
-	self:AddRecipeAcquire(56483, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(56483, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Visage Liquification Goggles -- 56484
 	AddRecipe(56484, 440, 42553, Q.RARE, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56484, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.PRIEST, F.WARLOCK, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56484, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(56484, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Greensight Gogs -- 56486
 	AddRecipe(56486, 440, 42554, Q.RARE, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56486, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOP, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(56486, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(56486, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Electroflux Sight Enhancers -- 56487
 	AddRecipe(56487, 440, 42555, Q.RARE, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56487, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOP, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(56487, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(56487, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Global Thermal Sapper Charge -- 56514
 	AddRecipe(56514, 425, 42641, Q.COMMON, V.WOTLK, 425, 425, 430, 435, 20222)
 	self:AddRecipeFlags(56514, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56514, A.TRAINER, 25277, A.TRAINER, 29513)
+	self:AddRecipeTrainer(56514, 25277, 29513)

 	-- Truesight Ice Blinders -- 56574
 	AddRecipe(56574, 440, 42551, Q.COMMON, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56574, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.SHAMAN, F.IBOP, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(56574, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 33586, A.TRAINER, 28697)
+	self:AddRecipeTrainer(56574, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Nesingwary 4000 -- 60874
 	AddRecipe(60874, 450, 44504, Q.EPIC, V.WOTLK, 450, 455, 460, 465)
 	self:AddRecipeFlags(60874, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.GUN)
-	self:AddRecipeAcquire(60874, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(60874, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Diamond-cut Refractor Scope -- 61471
 	AddRecipe(61471, 390, 44739, Q.COMMON, V.WOTLK, 390, 400, 407, 415)
 	self:AddRecipeFlags(61471, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(61471, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(61471, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Mechanized Snow Goggles -- 61481
 	AddRecipe(61481, 420, 44742, Q.RARE, V.WOTLK, 420, 425, 432, 440)
 	self:AddRecipeFlags(61481, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.ROGUE, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(61481, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(61481, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Mechanized Snow Goggles -- 61482
 	AddRecipe(61482, 420, 44742, Q.RARE, V.WOTLK, 420, 425, 432, 440)
 	self:AddRecipeFlags(61482, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.SHAMAN, F.IBOE, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(61482, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(61482, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Mechanized Snow Goggles -- 61483
 	AddRecipe(61483, 420, 44742, Q.RARE, V.WOTLK, 420, 425, 432, 440)
 	self:AddRecipeFlags(61483, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.PALADIN, F.WARRIOR, F.IBOE, F.RBOP, F.PLATE)
-	self:AddRecipeAcquire(61483, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(61483, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Unbreakable Healing Amplifiers -- 62271
 	AddRecipe(62271, 440, 44949, Q.RARE, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(62271, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOP, F.RBOP, F.HEALER, F.PLATE)
-	self:AddRecipeAcquire(62271, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955)
+	self:AddRecipeTrainer(62271, 25277, 26907, 26955)

 	-- High-powered Flashlight -- 63750
 	AddRecipe(63750, 250, 45631, Q.COMMON, V.WOTLK, 250, 270, 280, 290)
 	self:AddRecipeFlags(63750, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(63750, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 16667, A.TRAINER, 1702, A.TRAINER, 16726, A.TRAINER, 11017, A.TRAINER, 33586, A.TRAINER, 3494, A.TRAINER, 5174, A.TRAINER, 3290, A.TRAINER, 5518, A.TRAINER, 33611, A.TRAINER, 33634, A.TRAINER, 1676, A.TRAINER, 8736, A.TRAINER, 17637, A.TRAINER, 17634, A.TRAINER, 11031, A.TRAINER, 11025, A.TRAINER, 11037, A.TRAINER, 17222)
+	self:AddRecipeTrainer(63750, 11017, 11025, 17634, 3494, 1702, 25277, 17637, 1676, 26907, 33634, 26955, 16726, 5518, 11037, 33611, 8736, 16667, 17222, 26991, 11031, 28697, 33586, 5174, 3290)

 	-- Springy Arachnoweave -- 63765
 	AddRecipe(63765, 380, nil, Q.COMMON, V.WOTLK, 380, 380, 382, 385)
 	self:AddRecipeFlags(63765, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(63765, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(63765, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Reticulated Armor Webbing -- 63770
 	AddRecipe(63770, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 402, 405)
 	self:AddRecipeFlags(63770, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(63770, A.TRAINER, 25277, A.TRAINER, 26907, A.TRAINER, 26955, A.TRAINER, 26991, A.TRAINER, 28697, A.TRAINER, 33586)
+	self:AddRecipeTrainer(63770, 26907, 25277, 33586, 28697, 26955, 26991)

 	-- Goblin Beam Welder -- 67326
 	AddRecipe(67326, 410, 47828, Q.COMMON, V.WOTLK, 410, 415, 420, 425)
 	self:AddRecipeFlags(67326, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(67326, A.TRAINER, 25277, A.TRAINER, 28697, A.TRAINER, 26955, A.TRAINER, 33586)
+	self:AddRecipeTrainer(67326, 33586, 28697, 26955, 25277)

 	-- Mind Amplification Dish -- 67839
 	AddRecipe(67839, 410, nil, Q.COMMON, V.WOTLK, 410, 410, 415, 420)
 	self:AddRecipeFlags(67839, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(67839, A.TRAINER, 25277, A.TRAINER, 28697, A.TRAINER, 26955, A.TRAINER, 33586)
+	self:AddRecipeTrainer(67839, 33586, 28697, 26955, 25277)

 	-- Wormhole Generator: Northrend -- 67920
 	AddRecipe(67920, 435, 48933, Q.COMMON, V.WOTLK, 435, 450, 455, 460)
 	self:AddRecipeFlags(67920, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(67920, A.TRAINER, 25277, A.TRAINER, 28697, A.TRAINER, 26955, A.TRAINER, 33586)
+	self:AddRecipeTrainer(67920, 33586, 28697, 26955, 25277)

 	-- Jeeves -- 68067
 	AddRecipe(68067, 450, 49050, Q.RARE, V.WOTLK, 450, 480, 485, 490)
@@ -1512,13 +1531,14 @@ function addon:InitEngineering()

 	-- Shatter Rounds -- 72952
 	AddRecipe(72952, 450, 52020, Q.EPIC, V.WOTLK, 450, 450, 450, 460, 20222)
-	self:AddRecipeFlags(72952, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.AMMO, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(72952, A.REPUTATION, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
+	self:AddRecipeFlags(72952, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.AMMO, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(72952, FAC.ASHEN_VERDICT, REP.HONORED, 37687)

 	-- Iceblade Arrow -- 72953
 	AddRecipe(72953, 450, 52021, Q.EPIC, V.WOTLK, 450, 450, 450, 460, 20219)
-	self:AddRecipeFlags(72953, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.AMMO, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(72953, A.REPUTATION, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
+	self:AddRecipeFlags(72953, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.AMMO, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(72953, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
+

 	-- Some recipes are only availible to specific factions.
 	-- We only add the faction specific recipes if the user is part of that faction
@@ -1532,10 +1552,10 @@ function addon:InitEngineering()
 		self:AddRecipeAcquire(60867, A.REPUTATION, FAC.ALLIANCE_VANGUARD, REP.EXALTED, 32564, A.REPUTATION, FAC.ALLIANCE_VANGUARD, REP.EXALTED, 32773)
 	elseif faction == BFAC["Horde"] then

-		-- Mechano-hog -- 60866
-		AddRecipe(60866, 450, 41508, Q.EPIC, V.WOTLK, 450, 480, 485, 490)
-		self:AddRecipeFlags(60866, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.WRATHCOMMON1)
-		self:AddRecipeAcquire(60866, A.REPUTATION, FAC.HORDE_EXPEDITION, REP.EXALTED, 32565, A.REPUTATION, FAC.HORDE_EXPEDITION, REP.EXALTED, 32774)
+	-- Mechano-hog -- 60866
+	AddRecipe(60866, 450, 41508, Q.EPIC, V.WOTLK, 450, 480, 485, 490)
+	self:AddRecipeFlags(60866, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.WRATHCOMMON1)
+	self:AddRecipeRepVendor(60866, FAC.HORDE_EXPEDITION, REP.EXALTED, 32565, 32774)
 	end
 	return num_recipes
 end
diff --git a/Database/FirstAid.lua b/Database/FirstAid.lua
index 3136c8a..4220a3c 100644
--- a/Database/FirstAid.lua
+++ b/Database/FirstAid.lua
@@ -58,32 +58,32 @@ function addon:InitFirstAid()
 	-- Heavy Linen Bandage -- 3276
 	AddRecipe(3276, 40, 2581, Q.COMMON, V.ORIG, 40, 50, 75, 100)
 	self:AddRecipeFlags(3276, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3276, A.TRAINER, 2326, A.TRAINER, 2327, A.TRAINER, 2329, A.TRAINER, 2798, A.TRAINER, 3181, A.TRAINER, 3373, A.TRAINER, 4211, A.TRAINER, 4591, A.TRAINER, 5150, A.TRAINER, 5759, A.TRAINER, 5939, A.TRAINER, 5943, A.TRAINER, 6094, A.TRAINER, 16272, A.TRAINER, 16662, A.TRAINER, 16731, A.TRAINER, 17214, A.TRAINER, 17424, A.TRAINER, 19184, A.TRAINER, 19478, A.TRAINER, 22477, A.TRAINER, 33589, A.TRAINER, 28706, A.TRAINER, 33621, A.TRAINER, 18991, A.TRAINER, 29233, A.TRAINER, 18990, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 23734)
+	self:AddRecipeTrainer(3276, 33589, 33621, 17214, 16272, 19184, 23734, 5939, 5943, 4211, 2326, 4591, 26992, 16662, 28706, 29233, 18990, 26956, 17424, 3181, 22477, 18991, 3373, 19478, 5759, 16731, 2327, 2329, 5150, 2798, 6094)

 	-- Wool Bandage -- 3277
 	AddRecipe(3277, 80, 3530, Q.COMMON, V.ORIG, 80, 80, 115, 150)
 	self:AddRecipeFlags(3277, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3277, A.TRAINER, 2326, A.TRAINER, 2327, A.TRAINER, 2329, A.TRAINER, 2798, A.TRAINER, 3181, A.TRAINER, 3373, A.TRAINER, 4211, A.TRAINER, 4591, A.TRAINER, 5150, A.TRAINER, 5759, A.TRAINER, 5939, A.TRAINER, 5943, A.TRAINER, 6094, A.TRAINER, 16272, A.TRAINER, 16662, A.TRAINER, 16731, A.TRAINER, 17214, A.TRAINER, 17424, A.TRAINER, 19184, A.TRAINER, 19478, A.TRAINER, 22477, A.TRAINER, 33589, A.TRAINER, 28706, A.TRAINER, 33621, A.TRAINER, 18991, A.TRAINER, 29233, A.TRAINER, 18990, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 23734)
+	self:AddRecipeTrainer(3277, 33589, 33621, 17214, 16272, 19184, 23734, 5939, 5943, 4211, 2326, 4591, 26992, 16662, 28706, 29233, 18990, 26956, 17424, 3181, 22477, 18991, 3373, 19478, 5759, 16731, 2327, 2329, 5150, 2798, 6094)

 	-- Heavy Wool Bandage -- 3278
 	AddRecipe(3278, 115, 3531, Q.COMMON, V.ORIG, 115, 115, 150, 185)
 	self:AddRecipeFlags(3278, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3278, A.TRAINER, 2326, A.TRAINER, 2327, A.TRAINER, 2329, A.TRAINER, 2798, A.TRAINER, 3181, A.TRAINER, 3373, A.TRAINER, 4211, A.TRAINER, 4591, A.TRAINER, 5150, A.TRAINER, 5759, A.TRAINER, 5939, A.TRAINER, 5943, A.TRAINER, 6094, A.TRAINER, 16272, A.TRAINER, 16662, A.TRAINER, 16731, A.TRAINER, 17214, A.TRAINER, 17424, A.TRAINER, 19184, A.TRAINER, 19478, A.TRAINER, 22477, A.TRAINER, 33589, A.TRAINER, 28706, A.TRAINER, 33621, A.TRAINER, 18991, A.TRAINER, 29233, A.TRAINER, 18990, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 23734)
+	self:AddRecipeTrainer(3278, 33589, 33621, 17214, 16272, 19184, 23734, 5939, 5943, 4211, 2326, 4591, 26992, 16662, 28706, 29233, 18990, 26956, 17424, 3181, 22477, 18991, 3373, 19478, 5759, 16731, 2327, 2329, 5150, 2798, 6094)

 	-- Silk Bandage -- 7928
 	AddRecipe(7928, 150, 6450, Q.COMMON, V.ORIG, 150, 150, 180, 210)
 	self:AddRecipeFlags(7928, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(7928, A.TRAINER, 2326, A.TRAINER, 2327, A.TRAINER, 2329, A.TRAINER, 2798, A.TRAINER, 3181, A.TRAINER, 3373, A.TRAINER, 4211, A.TRAINER, 4591, A.TRAINER, 5150, A.TRAINER, 5759, A.TRAINER, 5939, A.TRAINER, 5943, A.TRAINER, 6094, A.TRAINER, 16272, A.TRAINER, 16662, A.TRAINER, 16731, A.TRAINER, 17214, A.TRAINER, 17424, A.TRAINER, 19184, A.TRAINER, 19478, A.TRAINER, 22477, A.TRAINER, 33589, A.TRAINER, 28706, A.TRAINER, 33621, A.TRAINER, 18991, A.TRAINER, 29233, A.TRAINER, 18990, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 23734)
+	self:AddRecipeTrainer(7928, 33589, 33621, 17214, 16272, 19184, 23734, 5939, 5943, 4211, 2326, 4591, 26992, 16662, 28706, 29233, 18990, 26956, 17424, 3181, 22477, 18991, 3373, 19478, 5759, 16731, 2327, 2329, 5150, 2798, 6094)

 	-- Heavy Silk Bandage -- 7929
 	AddRecipe(7929, 180, 6451, Q.COMMON, V.ORIG, 180, 180, 210, 240)
 	self:AddRecipeFlags(7929, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7929, A.TRAINER, 2326, A.TRAINER, 2327, A.TRAINER, 2329, A.TRAINER, 2798, A.TRAINER, 3181, A.TRAINER, 3373, A.TRAINER, 4211, A.TRAINER, 4591, A.TRAINER, 5150, A.TRAINER, 5759, A.TRAINER, 5939, A.TRAINER, 5943, A.TRAINER, 6094, A.TRAINER, 16272, A.TRAINER, 16662, A.TRAINER, 16731, A.TRAINER, 17214, A.TRAINER, 17424, A.TRAINER, 19184, A.TRAINER, 19478, A.TRAINER, 22477, A.TRAINER, 33589, A.TRAINER, 28706, A.TRAINER, 33621, A.TRAINER, 18991, A.TRAINER, 29233, A.TRAINER, 18990, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 23734)
+	self:AddRecipeTrainer(7929, 33589, 33621, 17214, 16272, 19184, 23734, 5939, 5943, 4211, 2326, 4591, 26992, 16662, 28706, 29233, 18990, 26956, 17424, 3181, 22477, 18991, 3373, 19478, 5759, 16731, 2327, 2329, 5150, 2798, 6094)

 	-- Anti-Venom -- 7934
 	AddRecipe(7934, 80, 6452, Q.COMMON, V.ORIG, 80, 80, 115, 150)
 	self:AddRecipeFlags(7934, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(7934, A.TRAINER, 2326, A.TRAINER, 2327, A.TRAINER, 2329, A.TRAINER, 2798, A.TRAINER, 3181, A.TRAINER, 3373, A.TRAINER, 4211, A.TRAINER, 4591, A.TRAINER, 5150, A.TRAINER, 5759, A.TRAINER, 5939, A.TRAINER, 5943, A.TRAINER, 6094, A.TRAINER, 16272, A.TRAINER, 16662, A.TRAINER, 16731, A.TRAINER, 17214, A.TRAINER, 17424, A.TRAINER, 19184, A.TRAINER, 19478, A.TRAINER, 22477, A.TRAINER, 33589, A.TRAINER, 28706, A.TRAINER, 33621, A.TRAINER, 18991, A.TRAINER, 29233, A.TRAINER, 18990, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 23734)
+	self:AddRecipeTrainer(7934, 33589, 33621, 17214, 16272, 19184, 23734, 5939, 5943, 4211, 2326, 4591, 26992, 16662, 28706, 29233, 18990, 26956, 17424, 3181, 22477, 18991, 3373, 19478, 5759, 16731, 2327, 2329, 5150, 2798, 6094)

 	-- Strong Anti-Venom -- 7935
 	AddRecipe(7935, 130, 6453, Q.UNCOMMON, V.ORIG, 130, 130, 165, 200)
@@ -93,42 +93,42 @@ function addon:InitFirstAid()
 	-- Mageweave Bandage -- 10840
 	AddRecipe(10840, 210, 8544, Q.COMMON, V.ORIG, 210, 210, 240, 270)
 	self:AddRecipeFlags(10840, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(10840, A.TRAINER, 2326, A.TRAINER, 2327, A.TRAINER, 2329, A.TRAINER, 2798, A.TRAINER, 3181, A.TRAINER, 3373, A.TRAINER, 4211, A.TRAINER, 4591, A.TRAINER, 5150, A.TRAINER, 5759, A.TRAINER, 5939, A.TRAINER, 5943, A.TRAINER, 6094, A.TRAINER, 16272, A.TRAINER, 16662, A.TRAINER, 16731, A.TRAINER, 17214, A.TRAINER, 17424, A.TRAINER, 19184, A.TRAINER, 19478, A.TRAINER, 22477, A.TRAINER, 33589, A.TRAINER, 28706, A.TRAINER, 33621, A.TRAINER, 18991, A.TRAINER, 29233, A.TRAINER, 18990, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 23734)
+	self:AddRecipeTrainer(10840, 33589, 33621, 17214, 16272, 19184, 23734, 5939, 5943, 4211, 2326, 4591, 26992, 16662, 28706, 29233, 18990, 26956, 17424, 3181, 22477, 18991, 3373, 19478, 5759, 16731, 2327, 2329, 5150, 2798, 6094)

 	-- Heavy Mageweave Bandage -- 10841
 	AddRecipe(10841, 240, 8545, Q.COMMON, V.ORIG, 240, 240, 270, 300)
 	self:AddRecipeFlags(10841, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(10841, A.TRAINER, 2326, A.TRAINER, 2327, A.TRAINER, 2329, A.TRAINER, 2798, A.TRAINER, 3181, A.TRAINER, 3373, A.TRAINER, 4211, A.TRAINER, 4591, A.TRAINER, 5150, A.TRAINER, 5759, A.TRAINER, 5939, A.TRAINER, 5943, A.TRAINER, 6094, A.TRAINER, 16272, A.TRAINER, 16662, A.TRAINER, 16731, A.TRAINER, 17214, A.TRAINER, 17424, A.TRAINER, 19184, A.TRAINER, 19478, A.TRAINER, 22477, A.TRAINER, 33589, A.TRAINER, 28706, A.TRAINER, 33621, A.TRAINER, 18991, A.TRAINER, 29233, A.TRAINER, 18990, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 23734)
+	self:AddRecipeTrainer(10841, 33589, 33621, 17214, 16272, 19184, 23734, 5939, 5943, 4211, 2326, 4591, 26992, 16662, 28706, 29233, 18990, 26956, 17424, 3181, 22477, 18991, 3373, 19478, 5759, 16731, 2327, 2329, 5150, 2798, 6094)

 	-- Runecloth Bandage -- 18629
 	AddRecipe(18629, 260, 14529, Q.COMMON, V.ORIG, 260, 260, 290, 320)
 	self:AddRecipeFlags(18629, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(18629, A.TRAINER, 2326, A.TRAINER, 2327, A.TRAINER, 2329, A.TRAINER, 2798, A.TRAINER, 3181, A.TRAINER, 3373, A.TRAINER, 4211, A.TRAINER, 4591, A.TRAINER, 5150, A.TRAINER, 5759, A.TRAINER, 5939, A.TRAINER, 5943, A.TRAINER, 6094, A.TRAINER, 16272, A.TRAINER, 16662, A.TRAINER, 16731, A.TRAINER, 17214, A.TRAINER, 17424, A.TRAINER, 19184, A.TRAINER, 19478, A.TRAINER, 22477, A.TRAINER, 33589, A.TRAINER, 28706, A.TRAINER, 33621, A.TRAINER, 18991, A.TRAINER, 29233, A.TRAINER, 18990, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 23734)
+	self:AddRecipeTrainer(18629, 33589, 33621, 17214, 16272, 19184, 23734, 5939, 5943, 4211, 2326, 4591, 26992, 16662, 28706, 29233, 18990, 26956, 17424, 3181, 22477, 18991, 3373, 19478, 5759, 16731, 2327, 2329, 5150, 2798, 6094)

 	-- Heavy Runecloth Bandage -- 18630
 	AddRecipe(18630, 290, 14530, Q.COMMON, V.ORIG, 290, 290, 320, 350)
 	self:AddRecipeFlags(18630, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(18630, A.TRAINER, 2326, A.TRAINER, 2327, A.TRAINER, 2329, A.TRAINER, 2798, A.TRAINER, 3181, A.TRAINER, 3373, A.TRAINER, 4211, A.TRAINER, 4591, A.TRAINER, 5150, A.TRAINER, 5759, A.TRAINER, 5939, A.TRAINER, 5943, A.TRAINER, 6094, A.TRAINER, 16272, A.TRAINER, 16662, A.TRAINER, 16731, A.TRAINER, 17214, A.TRAINER, 17424, A.TRAINER, 19184, A.TRAINER, 19478, A.TRAINER, 22477, A.TRAINER, 33589, A.TRAINER, 28706, A.TRAINER, 33621, A.TRAINER, 18991, A.TRAINER, 29233, A.TRAINER, 18990, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 23734)
+	self:AddRecipeTrainer(18630, 33589, 33621, 17214, 16272, 19184, 23734, 5939, 5943, 4211, 2326, 4591, 26992, 16662, 28706, 29233, 18990, 26956, 17424, 3181, 22477, 18991, 3373, 19478, 5759, 16731, 2327, 2329, 5150, 2798, 6094)

 	-- Powerful Anti-Venom -- 23787
 	AddRecipe(23787, 300, 19440, Q.COMMON, V.ORIG, 300, 300, 330, 360)
 	self:AddRecipeFlags(23787, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.ARGENTDAWN)
-	self:AddRecipeAcquire(23787, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 10856, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 10857, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 11536)
+	self:AddRecipeRepVendor(23787, FAC.ARGENTDAWN, REP.HONORED, 10856, 11536, 10857)

 	-- Netherweave Bandage -- 27032
 	AddRecipe(27032, 300, 21990, Q.COMMON, V.TBC, 300, 330, 347, 365)
 	self:AddRecipeFlags(27032, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(27032, A.TRAINER, 33589, A.TRAINER, 28706, A.TRAINER, 18991, A.TRAINER, 29233, A.TRAINER, 18990, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 23734)
+	self:AddRecipeTrainer(27032, 28706, 18991, 29233, 26956, 26992, 23734, 33589, 18990)

 	-- Heavy Netherweave Bandage -- 27033
 	AddRecipe(27033, 330, 21991, Q.COMMON, V.TBC, 330, 360, 367, 375)
 	self:AddRecipeFlags(27033, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(27033, A.TRAINER, 33589, A.TRAINER, 28706, A.TRAINER, 18991, A.TRAINER, 29233, A.TRAINER, 18990, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 23734)
+	self:AddRecipeTrainer(27033, 28706, 18991, 29233, 26956, 26992, 23734, 33589, 18990)

 	-- Frostweave Bandage -- 45545
 	AddRecipe(45545, 350, 34721, Q.COMMON, V.WOTLK, 350, 375, 392, 410)
 	self:AddRecipeFlags(45545, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45545, A.TRAINER, 23734, A.TRAINER, 26956, A.TRAINER, 26992, A.TRAINER, 28706, A.TRAINER, 29233, A.TRAINER, 33589)
+	self:AddRecipeTrainer(45545, 28706, 26992, 29233, 23734, 33589, 26956)

 	-- Heavy Frostweave Bandage -- 45546
 	AddRecipe(45546, 400, 34722, Q.UNCOMMON, V.WOTLK, 400, 400, 430, 470)
diff --git a/Database/Inscription.lua b/Database/Inscription.lua
index 160c98a..0b9645a 100644
--- a/Database/Inscription.lua
+++ b/Database/Inscription.lua
@@ -71,122 +71,122 @@ function addon:InitInscription()
 	-- Glyph of Entangling Roots -- 48121
 	AddRecipe(48121, 100, 40924, Q.COMMON, V.WOTLK, 100, 105, 110, 115)
 	self:AddRecipeFlags(48121, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(48121, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(48121, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Mysterious Tarot -- 48247
 	AddRecipe(48247, 110, 37168, Q.COMMON, V.WOTLK, 110, 125, 137, 150)
 	self:AddRecipeFlags(48247, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(48247, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(48247, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Recall -- 48248
 	AddRecipe(48248, 35, 37118, Q.COMMON, V.WOTLK, 35, 60, 67, 75)
 	self:AddRecipeFlags(48248, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(48248, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(48248, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Intellect II -- 50598
 	AddRecipe(50598, 75, 2290, Q.COMMON, V.WOTLK, 75, 75, 80, 85)
 	self:AddRecipeFlags(50598, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50598, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50598, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Intellect III -- 50599
 	AddRecipe(50599, 165, 4419, Q.COMMON, V.WOTLK, 165, 170, 175, 180)
 	self:AddRecipeFlags(50599, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50599, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50599, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Intellect IV -- 50600
 	AddRecipe(50600, 215, 10308, Q.COMMON, V.WOTLK, 215, 220, 225, 230)
 	self:AddRecipeFlags(50600, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50600, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50600, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Intellect V -- 50601
 	AddRecipe(50601, 260, 27499, Q.COMMON, V.WOTLK, 260, 265, 270, 275)
 	self:AddRecipeFlags(50601, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50601, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50601, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Intellect VI -- 50602
 	AddRecipe(50602, 310, 33458, Q.COMMON, V.WOTLK, 310, 310, 315, 320)
 	self:AddRecipeFlags(50602, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50602, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50602, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Intellect VII -- 50603
 	AddRecipe(50603, 360, 37091, Q.COMMON, V.WOTLK, 360, 365, 370, 375)
 	self:AddRecipeFlags(50603, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50603, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(50603, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Scroll of Intellect VIII -- 50604
 	AddRecipe(50604, 410, 37092, Q.COMMON, V.WOTLK, 410, 415, 420, 425)
 	self:AddRecipeFlags(50604, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50604, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(50604, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Scroll of Spirit II -- 50605
 	AddRecipe(50605, 75, 1712, Q.COMMON, V.WOTLK, 75, 75, 80, 85)
 	self:AddRecipeFlags(50605, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(50605, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50605, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Spirit III -- 50606
 	AddRecipe(50606, 160, 4424, Q.COMMON, V.WOTLK, 160, 165, 170, 175)
 	self:AddRecipeFlags(50606, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(50606, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50606, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Spirit IV -- 50607
 	AddRecipe(50607, 210, 10306, Q.COMMON, V.WOTLK, 210, 215, 220, 225)
 	self:AddRecipeFlags(50607, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(50607, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50607, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Spirit V -- 50608
 	AddRecipe(50608, 255, 27501, Q.COMMON, V.WOTLK, 255, 260, 265, 270)
 	self:AddRecipeFlags(50608, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(50608, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50608, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Spirit VI -- 50609
 	AddRecipe(50609, 295, 33460, Q.COMMON, V.WOTLK, 295, 305, 310, 315)
 	self:AddRecipeFlags(50609, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(50609, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50609, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Spirit VII -- 50610
 	AddRecipe(50610, 355, 37097, Q.COMMON, V.WOTLK, 355, 360, 365, 370)
 	self:AddRecipeFlags(50610, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(50610, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(50610, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Scroll of Spirit VIII -- 50611
 	AddRecipe(50611, 405, 37098, Q.COMMON, V.WOTLK, 405, 410, 415, 420)
 	self:AddRecipeFlags(50611, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(50611, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(50611, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Scroll of Stamina II -- 50612
 	AddRecipe(50612, 75, 1711, Q.COMMON, V.WOTLK, 75, 75, 80, 85)
 	self:AddRecipeFlags(50612, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50612, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50612, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Stamina III -- 50614
 	AddRecipe(50614, 155, 4422, Q.COMMON, V.WOTLK, 155, 160, 165, 170)
 	self:AddRecipeFlags(50614, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50614, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50614, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Stamina IV -- 50616
 	AddRecipe(50616, 205, 10307, Q.COMMON, V.WOTLK, 205, 210, 215, 220)
 	self:AddRecipeFlags(50616, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50616, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50616, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Stamina V -- 50617
 	AddRecipe(50617, 250, 27502, Q.COMMON, V.WOTLK, 250, 255, 260, 265)
 	self:AddRecipeFlags(50617, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50617, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50617, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Stamina VI -- 50618
 	AddRecipe(50618, 290, 33461, Q.COMMON, V.WOTLK, 290, 300, 305, 310)
 	self:AddRecipeFlags(50618, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50618, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(50618, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Stamina VII -- 50619
 	AddRecipe(50619, 350, 37093, Q.COMMON, V.WOTLK, 350, 355, 360, 365)
 	self:AddRecipeFlags(50619, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50619, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(50619, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Scroll of Stamina VIII -- 50620
 	AddRecipe(50620, 400, 37094, Q.COMMON, V.WOTLK, 400, 405, 410, 415)
 	self:AddRecipeFlags(50620, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50620, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(50620, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Ivory Ink -- 52738
 	AddRecipe(52738, 1, 37101, Q.COMMON, V.WOTLK, 1, 15, 22, 30)
@@ -196,27 +196,27 @@ function addon:InitInscription()
 	-- Armor Vellum -- 52739
 	AddRecipe(52739, 35, 38682, Q.COMMON, V.WOTLK, 35, 75, 87, 100)
 	self:AddRecipeFlags(52739, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(52739, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(52739, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Weapon Vellum -- 52840
 	AddRecipe(52840, 75, 39349, Q.COMMON, V.WOTLK, 75, 100, 112, 125)
 	self:AddRecipeFlags(52840, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(52840, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(52840, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Moonglow Ink -- 52843
 	AddRecipe(52843, 35, 39469, Q.COMMON, V.WOTLK, 35, 45, 60, 75)
 	self:AddRecipeFlags(52843, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(52843, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(52843, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Midnight Ink -- 53462
 	AddRecipe(53462, 75, 39774, Q.COMMON, V.WOTLK, 75, 75, 77, 80)
 	self:AddRecipeFlags(53462, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53462, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(53462, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Frenzied Regeneration -- 56943
 	AddRecipe(56943, 350, 40896, Q.COMMON, V.WOTLK, 350, 355, 360, 365)
 	self:AddRecipeFlags(56943, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56943, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56943, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Growl -- 56944
 	AddRecipe(56944, 385, 40899, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -226,7 +226,7 @@ function addon:InitInscription()
 	-- Glyph of Healing Touch -- 56945
 	AddRecipe(56945, 115, 40914, Q.COMMON, V.WOTLK, 115, 120, 125, 130)
 	self:AddRecipeFlags(56945, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP, F.HEALER)
-	self:AddRecipeAcquire(56945, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56945, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Hurricane -- 56946
 	AddRecipe(56946, 385, 40920, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -241,7 +241,7 @@ function addon:InitInscription()
 	-- Glyph of Insect Swarm -- 56948
 	AddRecipe(56948, 150, 40919, Q.COMMON, V.WOTLK, 150, 155, 160, 165)
 	self:AddRecipeFlags(56948, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56948, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56948, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Lifebloom -- 56949
 	AddRecipe(56949, 385, 40915, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -256,17 +256,17 @@ function addon:InitInscription()
 	-- Glyph of Moonfire -- 56951
 	AddRecipe(56951, 130, 40923, Q.COMMON, V.WOTLK, 130, 135, 140, 145)
 	self:AddRecipeFlags(56951, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56951, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56951, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Rake -- 56952
 	AddRecipe(56952, 310, 40903, Q.COMMON, V.WOTLK, 310, 315, 320, 325)
 	self:AddRecipeFlags(56952, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56952, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56952, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Rebirth -- 56953
 	AddRecipe(56953, 170, 40909, Q.COMMON, V.WOTLK, 170, 175, 180, 185)
 	self:AddRecipeFlags(56953, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56953, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56953, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Regrowth -- 56954
 	AddRecipe(56954, 385, 40912, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -276,17 +276,17 @@ function addon:InitInscription()
 	-- Glyph of Rejuvenation -- 56955
 	AddRecipe(56955, 80, 40913, Q.COMMON, V.WOTLK, 80, 90, 100, 110)
 	self:AddRecipeFlags(56955, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP, F.HEALER)
-	self:AddRecipeAcquire(56955, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56955, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Rip -- 56956
 	AddRecipe(56956, 200, 40902, Q.COMMON, V.WOTLK, 200, 205, 210, 215)
 	self:AddRecipeFlags(56956, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56956, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56956, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Shred -- 56957
 	AddRecipe(56957, 260, 40901, Q.COMMON, V.WOTLK, 260, 265, 270, 275)
 	self:AddRecipeFlags(56957, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56957, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56957, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Starfall -- 56958
 	AddRecipe(56958, 385, 40921, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -296,7 +296,7 @@ function addon:InitInscription()
 	-- Glyph of Starfire -- 56959
 	AddRecipe(56959, 220, 40916, Q.COMMON, V.WOTLK, 220, 225, 230, 235)
 	self:AddRecipeFlags(56959, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56959, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56959, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Swiftmend -- 56960
 	AddRecipe(56960, 385, 40906, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -306,12 +306,12 @@ function addon:InitInscription()
 	-- Glyph of Maul -- 56961
 	AddRecipe(56961, 90, 40897, Q.COMMON, V.WOTLK, 90, 100, 110, 120)
 	self:AddRecipeFlags(56961, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56961, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56961, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Wrath -- 56963
 	AddRecipe(56963, 85, 40922, Q.COMMON, V.WOTLK, 85, 95, 105, 115)
 	self:AddRecipeFlags(56963, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56963, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56963, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Typhoon -- 56965
 	AddRecipe(56965, 310, 44955, Q.COMMON, V.WOTLK, 310, 320, 325, 330)
@@ -321,27 +321,27 @@ function addon:InitInscription()
 	-- Glyph of Arcane Explosion -- 56968
 	AddRecipe(56968, 100, 42734, Q.COMMON, V.WOTLK, 100, 105, 110, 115)
 	self:AddRecipeFlags(56968, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56968, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56968, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Arcane Missiles -- 56971
 	AddRecipe(56971, 115, 42735, Q.COMMON, V.WOTLK, 115, 120, 125, 130)
 	self:AddRecipeFlags(56971, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56971, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56971, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Arcane Power -- 56972
 	AddRecipe(56972, 335, 42736, Q.COMMON, V.WOTLK, 335, 340, 345, 350)
 	self:AddRecipeFlags(56972, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56972, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56972, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Blink -- 56973
 	AddRecipe(56973, 130, 42737, Q.COMMON, V.WOTLK, 130, 135, 140, 145)
 	self:AddRecipeFlags(56973, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56973, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56973, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Evocation -- 56974
 	AddRecipe(56974, 155, 42738, Q.COMMON, V.WOTLK, 155, 160, 165, 170)
 	self:AddRecipeFlags(56974, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56974, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56974, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Fireball -- 56975
 	AddRecipe(56975, 385, 42739, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -351,7 +351,7 @@ function addon:InitInscription()
 	-- Glyph of Frost Nova -- 56976
 	AddRecipe(56976, 80, 42741, Q.COMMON, V.WOTLK, 80, 90, 100, 110)
 	self:AddRecipeFlags(56976, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56976, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56976, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Frostbolt -- 56977
 	AddRecipe(56977, 385, 42742, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -361,27 +361,27 @@ function addon:InitInscription()
 	-- Glyph of Ice Armor -- 56978
 	AddRecipe(56978, 90, 42743, Q.COMMON, V.WOTLK, 90, 100, 110, 120)
 	self:AddRecipeFlags(56978, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56978, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56978, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Ice Block -- 56979
 	AddRecipe(56979, 225, 42744, Q.COMMON, V.WOTLK, 225, 230, 235, 240)
 	self:AddRecipeFlags(56979, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56979, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30717, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56979, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 30710, 26959, 30711, 33615, 26995, 33679, 26977, 30713, 28702)

 	-- Glyph of Ice Lance -- 56980
 	AddRecipe(56980, 375, 42745, Q.COMMON, V.WOTLK, 375, 380, 385, 390)
 	self:AddRecipeFlags(56980, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56980, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(56980, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Glyph of Icy Veins -- 56981
 	AddRecipe(56981, 175, 42746, Q.COMMON, V.WOTLK, 175, 180, 185, 190)
 	self:AddRecipeFlags(56981, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56981, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56981, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Scorch -- 56982
 	AddRecipe(56982, 205, 42747, Q.COMMON, V.WOTLK, 205, 210, 215, 220)
 	self:AddRecipeFlags(56982, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56982, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56982, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Invisibility -- 56983
 	AddRecipe(56983, 385, 42748, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -391,12 +391,12 @@ function addon:InitInscription()
 	-- Glyph of Mage Armor -- 56984
 	AddRecipe(56984, 325, 42749, Q.COMMON, V.WOTLK, 325, 330, 335, 340)
 	self:AddRecipeFlags(56984, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56984, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56984, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Mana Gem -- 56985
 	AddRecipe(56985, 280, 42750, Q.COMMON, V.WOTLK, 280, 285, 290, 295)
 	self:AddRecipeFlags(56985, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56985, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56985, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Molten Armor -- 56986
 	AddRecipe(56986, 385, 42751, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -406,7 +406,7 @@ function addon:InitInscription()
 	-- Glyph of Polymorph -- 56987
 	AddRecipe(56987, 400, 42752, Q.COMMON, V.WOTLK, 400, 400, 400, 405)
 	self:AddRecipeFlags(56987, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56987, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(56987, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Glyph of Remove Curse -- 56988
 	AddRecipe(56988, 385, 42753, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -426,17 +426,17 @@ function addon:InitInscription()
 	-- Glyph of Arcane Blast -- 56991
 	AddRecipe(56991, 315, 44955, Q.COMMON, V.WOTLK, 315, 320, 325, 330)
 	self:AddRecipeFlags(56991, F.ALLIANCE, F.HORDE, F.TRAINER, F.MAGE, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56991, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 30722, A.TRAINER, 30721, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56991, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Aimed Shot -- 56994
 	AddRecipe(56994, 175, 42897, Q.COMMON, V.WOTLK, 175, 180, 185, 190)
 	self:AddRecipeFlags(56994, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(56994, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56994, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Arcane Shot -- 56995
 	AddRecipe(56995, 100, 42898, Q.COMMON, V.WOTLK, 100, 105, 110, 115)
 	self:AddRecipeFlags(56995, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(56995, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56995, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of the Beast -- 56996
 	AddRecipe(56996, 385, 42899, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -446,7 +446,7 @@ function addon:InitInscription()
 	-- Glyph of Mending -- 56997
 	AddRecipe(56997, 115, 42900, Q.COMMON, V.WOTLK, 115, 120, 125, 130)
 	self:AddRecipeFlags(56997, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(56997, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(56997, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Aspect of the Viper -- 56998
 	AddRecipe(56998, 385, 42901, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -461,52 +461,52 @@ function addon:InitInscription()
 	-- Glyph of Deterrence -- 57000
 	AddRecipe(57000, 200, 42903, Q.COMMON, V.WOTLK, 200, 205, 210, 215)
 	self:AddRecipeFlags(57000, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57000, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57000, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Disengage -- 57001
 	AddRecipe(57001, 225, 42904, Q.COMMON, V.WOTLK, 225, 230, 235, 240)
 	self:AddRecipeFlags(57001, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57001, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57001, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Freezing Trap -- 57002
 	AddRecipe(57002, 260, 42905, Q.COMMON, V.WOTLK, 260, 265, 270, 275)
 	self:AddRecipeFlags(57002, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57002, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57002, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Frost Trap -- 57003
 	AddRecipe(57003, 350, 42906, Q.COMMON, V.WOTLK, 350, 355, 360, 365)
 	self:AddRecipeFlags(57003, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57003, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57003, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Hunter's Mark -- 57004
 	AddRecipe(57004, 80, 42907, Q.COMMON, V.WOTLK, 80, 90, 100, 110)
 	self:AddRecipeFlags(57004, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57004, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57004, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Immolation Trap -- 57005
 	AddRecipe(57005, 130, 42908, Q.COMMON, V.WOTLK, 130, 135, 140, 145)
 	self:AddRecipeFlags(57005, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57005, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57005, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of the Hawk -- 57006
 	AddRecipe(57006, 375, 42909, Q.COMMON, V.WOTLK, 375, 380, 385, 390)
 	self:AddRecipeFlags(57006, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57006, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(57006, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Glyph of Multi-Shot -- 57007
 	AddRecipe(57007, 150, 42910, Q.COMMON, V.WOTLK, 150, 155, 160, 165)
 	self:AddRecipeFlags(57007, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57007, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30717, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57007, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 30710, 26959, 30711, 33615, 26995, 33679, 26977, 30713, 28702)

 	-- Glyph of Rapid Fire -- 57008
 	AddRecipe(57008, 315, 42911, Q.COMMON, V.WOTLK, 315, 320, 325, 330)
 	self:AddRecipeFlags(57008, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57008, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57008, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Serpent Sting -- 57009
 	AddRecipe(57009, 90, 42912, Q.COMMON, V.WOTLK, 90, 100, 110, 120)
 	self:AddRecipeFlags(57009, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57009, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57009, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Snake Trap -- 57010
 	AddRecipe(57010, 385, 42913, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -541,7 +541,7 @@ function addon:InitInscription()
 	-- Glyph of Cleansing -- 57020
 	AddRecipe(57020, 180, 41104, Q.COMMON, V.WOTLK, 180, 185, 190, 195)
 	self:AddRecipeFlags(57020, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57020, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57020, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Avenging Wrath -- 57021
 	AddRecipe(57021, 385, 41107, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -551,32 +551,32 @@ function addon:InitInscription()
 	-- Glyph of Spiritual Attunement -- 57022
 	AddRecipe(57022, 80, 41096, Q.COMMON, V.WOTLK, 80, 90, 100, 110)
 	self:AddRecipeFlags(57022, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(57022, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57022, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Consecration -- 57023
 	AddRecipe(57023, 205, 41099, Q.COMMON, V.WOTLK, 205, 210, 215, 220)
 	self:AddRecipeFlags(57023, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57023, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57023, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Crusader Strike -- 57024
 	AddRecipe(57024, 230, 41098, Q.COMMON, V.WOTLK, 230, 235, 240, 245)
 	self:AddRecipeFlags(57024, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57024, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57024, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Exorcism -- 57025
 	AddRecipe(57025, 265, 41103, Q.COMMON, V.WOTLK, 265, 270, 275, 280)
 	self:AddRecipeFlags(57025, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57025, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57025, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Flash of Light -- 57026
 	AddRecipe(57026, 300, 41105, Q.COMMON, V.WOTLK, 300, 305, 310, 315)
 	self:AddRecipeFlags(57026, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP, F.HEALER)
-	self:AddRecipeAcquire(57026, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57026, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Hammer of Justice -- 57027
 	AddRecipe(57027, 90, 41095, Q.COMMON, V.WOTLK, 90, 100, 110, 120)
 	self:AddRecipeFlags(57027, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57027, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57027, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Hammer of Wrath -- 57028
 	AddRecipe(57028, 385, 41097, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -586,27 +586,27 @@ function addon:InitInscription()
 	-- Glyph of Holy Light -- 57029
 	AddRecipe(57029, 105, 41106, Q.COMMON, V.WOTLK, 105, 110, 115, 120)
 	self:AddRecipeFlags(57029, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP, F.HEALER)
-	self:AddRecipeAcquire(57029, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57029, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Judgement -- 57030
 	AddRecipe(57030, 120, 41092, Q.COMMON, V.WOTLK, 120, 125, 130, 135)
 	self:AddRecipeFlags(57030, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57030, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57030, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Divinity -- 57031
 	AddRecipe(57031, 135, 41108, Q.COMMON, V.WOTLK, 135, 140, 145, 150)
 	self:AddRecipeFlags(57031, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57031, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57031, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Righteous Defense -- 57032
 	AddRecipe(57032, 155, 41100, Q.COMMON, V.WOTLK, 155, 160, 165, 170)
 	self:AddRecipeFlags(57032, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(57032, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57032, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Seal of Command -- 57033
 	AddRecipe(57033, 335, 41094, Q.COMMON, V.WOTLK, 335, 340, 345, 350)
 	self:AddRecipeFlags(57033, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57033, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57033, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Seal of Light -- 57034
 	AddRecipe(57034, 385, 41110, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -621,7 +621,7 @@ function addon:InitInscription()
 	-- Glyph of Turn Evil -- 57036
 	AddRecipe(57036, 375, 41102, Q.COMMON, V.WOTLK, 375, 380, 385, 390)
 	self:AddRecipeFlags(57036, F.ALLIANCE, F.HORDE, F.TRAINER, F.PALADIN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57036, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(57036, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Glyph of Adrenaline Rush -- 57112
 	AddRecipe(57112, 385, 42954, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -631,12 +631,12 @@ function addon:InitInscription()
 	-- Glyph of Ambush -- 57113
 	AddRecipe(57113, 340, 42955, Q.COMMON, V.WOTLK, 340, 345, 350, 355)
 	self:AddRecipeFlags(57113, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57113, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57113, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Backstab -- 57114
 	AddRecipe(57114, 80, 42956, Q.COMMON, V.WOTLK, 80, 90, 100, 110)
 	self:AddRecipeFlags(57114, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57114, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57114, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Blade Flurry -- 57115
 	AddRecipe(57115, 385, 42957, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -656,27 +656,27 @@ function addon:InitInscription()
 	-- Glyph of Evasion -- 57119
 	AddRecipe(57119, 95, 42960, Q.COMMON, V.WOTLK, 95, 105, 115, 125)
 	self:AddRecipeFlags(57119, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57119, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57119, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Eviscerate -- 57120
 	AddRecipe(57120, 105, 42961, Q.COMMON, V.WOTLK, 105, 110, 115, 120)
 	self:AddRecipeFlags(57120, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57120, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57120, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Expose Armor -- 57121
 	AddRecipe(57121, 120, 42962, Q.COMMON, V.WOTLK, 120, 125, 130, 135)
 	self:AddRecipeFlags(57121, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57121, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57121, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Feint -- 57122
 	AddRecipe(57122, 305, 42963, Q.COMMON, V.WOTLK, 305, 310, 315, 320)
 	self:AddRecipeFlags(57122, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57122, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57122, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Garrote -- 57123
 	AddRecipe(57123, 135, 42964, Q.COMMON, V.WOTLK, 135, 140, 145, 150)
 	self:AddRecipeFlags(57123, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57123, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57123, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Ghostly Strike -- 57124
 	AddRecipe(57124, 385, 42965, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -686,7 +686,7 @@ function addon:InitInscription()
 	-- Glyph of Gouge -- 57125
 	AddRecipe(57125, 160, 42966, Q.COMMON, V.WOTLK, 160, 165, 170, 175)
 	self:AddRecipeFlags(57125, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57125, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57125, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Hemorrhage -- 57126
 	AddRecipe(57126, 385, 42967, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -706,7 +706,7 @@ function addon:InitInscription()
 	-- Glyph of Sap -- 57129
 	AddRecipe(57129, 185, 42970, Q.COMMON, V.WOTLK, 185, 190, 195, 200)
 	self:AddRecipeFlags(57129, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57129, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57129, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Vigor -- 57130
 	AddRecipe(57130, 385, 42971, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -716,22 +716,22 @@ function addon:InitInscription()
 	-- Glyph of Sinister Strike -- 57131
 	AddRecipe(57131, 210, 42972, Q.COMMON, V.WOTLK, 210, 215, 220, 225)
 	self:AddRecipeFlags(57131, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57131, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57131, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Slice and Dice -- 57132
 	AddRecipe(57132, 235, 42973, Q.COMMON, V.WOTLK, 235, 240, 245, 250)
 	self:AddRecipeFlags(57132, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57132, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57132, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Sprint -- 57133
 	AddRecipe(57133, 285, 42974, Q.COMMON, V.WOTLK, 285, 290, 295, 300)
 	self:AddRecipeFlags(57133, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57133, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57133, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Barbaric Insults -- 57151
 	AddRecipe(57151, 220, 43420, Q.COMMON, V.WOTLK, 220, 225, 230, 235)
 	self:AddRecipeFlags(57151, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARRIOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57151, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57151, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Blocking -- 57152
 	AddRecipe(57152, 385, 43425, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -746,7 +746,7 @@ function addon:InitInscription()
 	-- Glyph of Cleaving -- 57154
 	AddRecipe(57154, 240, 43414, Q.COMMON, V.WOTLK, 240, 245, 250, 255)
 	self:AddRecipeFlags(57154, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARRIOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57154, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57154, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Devastate -- 57155
 	AddRecipe(57155, 385, 43415, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -756,17 +756,17 @@ function addon:InitInscription()
 	-- Glyph of Execution -- 57156
 	AddRecipe(57156, 285, 43416, Q.COMMON, V.WOTLK, 285, 290, 295, 300)
 	self:AddRecipeFlags(57156, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARRIOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57156, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57156, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Hamstring -- 57157
 	AddRecipe(57157, 125, 43417, Q.COMMON, V.WOTLK, 125, 130, 135, 140)
 	self:AddRecipeFlags(57157, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARRIOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57157, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57157, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Heroic Strike -- 57158
 	AddRecipe(57158, 95, 43418, Q.COMMON, V.WOTLK, 95, 105, 115, 125)
 	self:AddRecipeFlags(57158, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARRIOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57158, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57158, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Intervene -- 57159
 	AddRecipe(57159, 385, 43419, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -781,17 +781,17 @@ function addon:InitInscription()
 	-- Glyph of Overpower -- 57161
 	AddRecipe(57161, 170, 43422, Q.COMMON, V.WOTLK, 170, 175, 180, 185)
 	self:AddRecipeFlags(57161, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARRIOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57161, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57161, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Rapid Charge -- 57162
 	AddRecipe(57162, 85, 43413, Q.COMMON, V.WOTLK, 85, 95, 105, 115)
 	self:AddRecipeFlags(57162, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARRIOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57162, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57162, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Rending -- 57163
 	AddRecipe(57163, 110, 43423, Q.COMMON, V.WOTLK, 110, 115, 120, 125)
 	self:AddRecipeFlags(57163, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARRIOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57163, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57163, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Resonating Power -- 57164
 	AddRecipe(57164, 385, 43430, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -801,7 +801,7 @@ function addon:InitInscription()
 	-- Glyph of Revenge -- 57165
 	AddRecipe(57165, 190, 43424, Q.COMMON, V.WOTLK, 190, 195, 200, 205)
 	self:AddRecipeFlags(57165, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARRIOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57165, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57165, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Last Stand -- 57166
 	AddRecipe(57166, 385, 43426, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -811,12 +811,12 @@ function addon:InitInscription()
 	-- Glyph of Sunder Armor -- 57167
 	AddRecipe(57167, 140, 43427, Q.COMMON, V.WOTLK, 140, 145, 150, 155)
 	self:AddRecipeFlags(57167, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARRIOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(57167, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57167, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Sweeping Strikes -- 57168
 	AddRecipe(57168, 320, 43428, Q.COMMON, V.WOTLK, 320, 325, 330, 335)
 	self:AddRecipeFlags(57168, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARRIOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57168, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57168, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Taunt -- 57169
 	AddRecipe(57169, 385, 43429, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -831,7 +831,7 @@ function addon:InitInscription()
 	-- Glyph of Whirlwind -- 57172
 	AddRecipe(57172, 345, 43432, Q.COMMON, V.WOTLK, 345, 350, 355, 360)
 	self:AddRecipeFlags(57172, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARRIOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57172, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57172, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Circle of Healing -- 57181
 	AddRecipe(57181, 385, 42396, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -841,32 +841,32 @@ function addon:InitInscription()
 	-- Glyph of Dispel Magic -- 57183
 	AddRecipe(57183, 230, 42397, Q.COMMON, V.WOTLK, 230, 235, 240, 245)
 	self:AddRecipeFlags(57183, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(57183, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57183, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Fade -- 57184
 	AddRecipe(57184, 105, 42398, Q.COMMON, V.WOTLK, 105, 110, 115, 120)
 	self:AddRecipeFlags(57184, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(57184, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57184, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Fear Ward -- 57185
 	AddRecipe(57185, 270, 42399, Q.COMMON, V.WOTLK, 270, 275, 280, 285)
 	self:AddRecipeFlags(57185, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(57185, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57185, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Flash Heal -- 57186
 	AddRecipe(57186, 120, 42400, Q.COMMON, V.WOTLK, 120, 125, 130, 135)
 	self:AddRecipeFlags(57186, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.HEALER)
-	self:AddRecipeAcquire(57186, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57186, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Holy Nova -- 57187
 	AddRecipe(57187, 315, 42401, Q.COMMON, V.WOTLK, 315, 320, 325, 330)
 	self:AddRecipeFlags(57187, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.HEALER)
-	self:AddRecipeAcquire(57187, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57187, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Inner Fire -- 57188
 	AddRecipe(57188, 135, 42402, Q.COMMON, V.WOTLK, 135, 140, 145, 150)
 	self:AddRecipeFlags(57188, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(57188, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57188, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Lightwell -- 57189
 	AddRecipe(57189, 385, 42403, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -886,7 +886,7 @@ function addon:InitInscription()
 	-- Glyph of Shadow Word: Pain -- 57192
 	AddRecipe(57192, 350, 42406, Q.COMMON, V.WOTLK, 350, 355, 360, 365)
 	self:AddRecipeFlags(57192, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57192, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57192, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Shadow -- 57193
 	AddRecipe(57193, 385, 42407, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -896,7 +896,7 @@ function addon:InitInscription()
 	-- Glyph of Power Word: Shield -- 57194
 	AddRecipe(57194, 80, 42408, Q.COMMON, V.WOTLK, 80, 90, 100, 110)
 	self:AddRecipeFlags(57194, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.HEALER)
-	self:AddRecipeAcquire(57194, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57194, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Prayer of Healing -- 57195
 	AddRecipe(57195, 385, 42409, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -906,17 +906,17 @@ function addon:InitInscription()
 	-- Glyph of Psychic Scream -- 57196
 	AddRecipe(57196, 95, 42410, Q.COMMON, V.WOTLK, 95, 105, 115, 125)
 	self:AddRecipeFlags(57196, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(57196, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30717, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57196, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 30710, 26959, 30711, 33615, 26995, 33679, 26977, 30713, 28702)

 	-- Glyph of Renew -- 57197
 	AddRecipe(57197, 160, 42411, Q.COMMON, V.WOTLK, 160, 165, 170, 175)
 	self:AddRecipeFlags(57197, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.HEALER)
-	self:AddRecipeAcquire(57197, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57197, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Scourge Imprisonment -- 57198
 	AddRecipe(57198, 375, 42412, Q.COMMON, V.WOTLK, 375, 380, 385, 390)
 	self:AddRecipeFlags(57198, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(57198, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(57198, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Glyph of Shadow Word: Death -- 57199
 	AddRecipe(57199, 385, 42414, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -926,12 +926,12 @@ function addon:InitInscription()
 	-- Glyph of Mind Flay -- 57200
 	AddRecipe(57200, 180, 42415, Q.COMMON, V.WOTLK, 180, 185, 190, 195)
 	self:AddRecipeFlags(57200, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57200, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57200, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Smite -- 57201
 	AddRecipe(57201, 210, 42416, Q.COMMON, V.WOTLK, 210, 215, 220, 225)
 	self:AddRecipeFlags(57201, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57201, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57201, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Spirit of Redemption -- 57202
 	AddRecipe(57202, 385, 42417, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -956,7 +956,7 @@ function addon:InitInscription()
 	-- Glyph of Bone Shield -- 57210
 	AddRecipe(57210, 265, 43536, Q.COMMON, V.WOTLK, 265, 270, 275, 280)
 	self:AddRecipeFlags(57210, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57210, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57210, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Chains of Ice -- 57211
 	AddRecipe(57211, 385, 43537, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -971,7 +971,7 @@ function addon:InitInscription()
 	-- Glyph of Death Grip -- 57213
 	AddRecipe(57213, 285, 43541, Q.COMMON, V.WOTLK, 285, 290, 295, 300)
 	self:AddRecipeFlags(57213, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57213, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57213, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Death and Decay -- 57214
 	AddRecipe(57214, 385, 43542, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -986,7 +986,7 @@ function addon:InitInscription()
 	-- Glyph of Frost Strike -- 57216
 	AddRecipe(57216, 270, 43543, Q.COMMON, V.WOTLK, 270, 275, 280, 285)
 	self:AddRecipeFlags(57216, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57216, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57216, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Horn of Winter -- 57217
 	AddRecipe(57217, 320, 43544, Q.COMMON, V.WOTLK, 320, 330, 335, 340)
@@ -1001,7 +1001,7 @@ function addon:InitInscription()
 	-- Glyph of Icy Touch -- 57219
 	AddRecipe(57219, 280, 43546, Q.COMMON, V.WOTLK, 280, 285, 290, 295)
 	self:AddRecipeFlags(57219, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57219, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30717, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57219, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 30710, 26959, 30711, 33615, 26995, 33679, 26977, 30713, 28702)

 	-- Glyph of Obliterate -- 57220
 	AddRecipe(57220, 385, 43547, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1011,12 +1011,12 @@ function addon:InitInscription()
 	-- Glyph of Plague Strike -- 57221
 	AddRecipe(57221, 300, 43548, Q.COMMON, V.WOTLK, 300, 305, 310, 315)
 	self:AddRecipeFlags(57221, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57221, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57221, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of the Ghoul -- 57222
 	AddRecipe(57222, 350, 43549, Q.COMMON, V.WOTLK, 350, 355, 360, 365)
 	self:AddRecipeFlags(57222, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57222, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57222, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Rune Strike -- 57223
 	AddRecipe(57223, 385, 43550, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1026,22 +1026,22 @@ function addon:InitInscription()
 	-- Glyph of Scourge Strike -- 57224
 	AddRecipe(57224, 330, 43551, Q.COMMON, V.WOTLK, 330, 335, 340, 345)
 	self:AddRecipeFlags(57224, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57224, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57224, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Strangulate -- 57225
 	AddRecipe(57225, 375, 43552, Q.COMMON, V.WOTLK, 375, 380, 385, 390)
 	self:AddRecipeFlags(57225, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57225, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(57225, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Glyph of Unbreakable Armor -- 57226
 	AddRecipe(57226, 305, 43553, Q.COMMON, V.WOTLK, 305, 310, 315, 320)
 	self:AddRecipeFlags(57226, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57226, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57226, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Vampiric Blood -- 57227
 	AddRecipe(57227, 345, 43554, Q.COMMON, V.WOTLK, 345, 350, 355, 360)
 	self:AddRecipeFlags(57227, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57227, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57227, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Raise Dead -- 57228
 	AddRecipe(57228, 300, 43673, Q.COMMON, V.WOTLK, 300, 305, 310, 315)
@@ -1081,7 +1081,7 @@ function addon:InitInscription()
 	-- Glyph of Earthliving Weapon -- 57236
 	AddRecipe(57236, 300, 41527, Q.COMMON, V.WOTLK, 300, 305, 310, 315)
 	self:AddRecipeFlags(57236, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57236, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57236, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Fire Elemental Totem -- 57237
 	AddRecipe(57237, 385, 41529, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1091,27 +1091,27 @@ function addon:InitInscription()
 	-- Glyph of Fire Nova -- 57238
 	AddRecipe(57238, 110, 41530, Q.COMMON, V.WOTLK, 110, 115, 120, 125)
 	self:AddRecipeFlags(57238, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57238, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57238, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Flame Shock -- 57239
 	AddRecipe(57239, 85, 41531, Q.COMMON, V.WOTLK, 85, 95, 105, 115)
 	self:AddRecipeFlags(57239, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57239, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57239, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Flametongue Weapon -- 57240
 	AddRecipe(57240, 125, 41532, Q.COMMON, V.WOTLK, 125, 130, 135, 140)
 	self:AddRecipeFlags(57240, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57240, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57240, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Frost Shock -- 57241
 	AddRecipe(57241, 185, 41547, Q.COMMON, V.WOTLK, 185, 190, 195, 200)
 	self:AddRecipeFlags(57241, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57241, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57241, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Healing Stream Totem -- 57242
 	AddRecipe(57242, 215, 41533, Q.COMMON, V.WOTLK, 215, 220, 225, 230)
 	self:AddRecipeFlags(57242, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP, F.HEALER)
-	self:AddRecipeAcquire(57242, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57242, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Healing Wave -- 57243
 	AddRecipe(57243, 385, 41534, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1121,17 +1121,17 @@ function addon:InitInscription()
 	-- Glyph of Lesser Healing Wave -- 57244
 	AddRecipe(57244, 235, 41535, Q.COMMON, V.WOTLK, 235, 240, 245, 250)
 	self:AddRecipeFlags(57244, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP, F.HEALER)
-	self:AddRecipeAcquire(57244, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57244, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Lightning Bolt -- 57245
 	AddRecipe(57245, 140, 41536, Q.COMMON, V.WOTLK, 140, 145, 150, 155)
 	self:AddRecipeFlags(57245, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57245, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57245, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Lightning Shield -- 57246
 	AddRecipe(57246, 95, 41537, Q.COMMON, V.WOTLK, 95, 105, 115, 125)
 	self:AddRecipeFlags(57246, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57246, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57246, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Mana Tide Totem -- 57247
 	AddRecipe(57247, 385, 41538, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1141,12 +1141,12 @@ function addon:InitInscription()
 	-- Glyph of Stormstrike -- 57248
 	AddRecipe(57248, 375, 41539, Q.COMMON, V.WOTLK, 375, 380, 385, 390)
 	self:AddRecipeFlags(57248, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57248, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(57248, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Glyph of Lava Lash -- 57249
 	AddRecipe(57249, 165, 41540, Q.COMMON, V.WOTLK, 165, 170, 175, 180)
 	self:AddRecipeFlags(57249, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57249, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57249, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Elemental Mastery -- 57250
 	AddRecipe(57250, 385, 41552, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1156,12 +1156,12 @@ function addon:InitInscription()
 	-- Glyph of Water Mastery -- 57251
 	AddRecipe(57251, 275, 41541, Q.COMMON, V.WOTLK, 275, 280, 285, 290)
 	self:AddRecipeFlags(57251, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57251, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57251, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Windfury Weapon -- 57252
 	AddRecipe(57252, 330, 41542, Q.COMMON, V.WOTLK, 330, 335, 340, 345)
 	self:AddRecipeFlags(57252, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57252, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57252, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Thunderstorm -- 57253
 	AddRecipe(57253, 355, 44923, Q.COMMON, V.WOTLK, 355, 355, 360, 365)
@@ -1171,7 +1171,7 @@ function addon:InitInscription()
 	-- Glyph of Incinerate -- 57257
 	AddRecipe(57257, 350, 42453, Q.COMMON, V.WOTLK, 350, 355, 360, 365)
 	self:AddRecipeFlags(57257, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARLOCK, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57257, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57257, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Conflagrate -- 57258
 	AddRecipe(57258, 385, 42454, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1181,7 +1181,7 @@ function addon:InitInscription()
 	-- Glyph of Corruption -- 57259
 	AddRecipe(57259, 85, 42455, Q.COMMON, V.WOTLK, 85, 95, 105, 115)
 	self:AddRecipeFlags(57259, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARLOCK, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57259, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57259, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Curse of Agony -- 57260
 	AddRecipe(57260, 385, 42456, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1196,7 +1196,7 @@ function addon:InitInscription()
 	-- Glyph of Fear -- 57262
 	AddRecipe(57262, 125, 42458, Q.COMMON, V.WOTLK, 125, 130, 135, 140)
 	self:AddRecipeFlags(57262, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARLOCK, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57262, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57262, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Felguard -- 57263
 	AddRecipe(57263, 385, 42459, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1211,12 +1211,12 @@ function addon:InitInscription()
 	-- Glyph of Health Funnel -- 57265
 	AddRecipe(57265, 110, 42461, Q.COMMON, V.WOTLK, 110, 115, 120, 125)
 	self:AddRecipeFlags(57265, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARLOCK, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57265, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57265, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Healthstone -- 57266
 	AddRecipe(57266, 95, 42462, Q.COMMON, V.WOTLK, 95, 105, 115, 125)
 	self:AddRecipeFlags(57266, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARLOCK, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57266, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57266, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Howl of Terror -- 57267
 	AddRecipe(57267, 385, 42463, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1231,22 +1231,22 @@ function addon:InitInscription()
 	-- Glyph of Imp -- 57269
 	AddRecipe(57269, 140, 42465, Q.COMMON, V.WOTLK, 140, 145, 150, 155)
 	self:AddRecipeFlags(57269, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARLOCK, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57269, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30717, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57269, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 30710, 26959, 30711, 33615, 26995, 33679, 26977, 30713, 28702)

 	-- Glyph of Searing Pain -- 57270
 	AddRecipe(57270, 215, 42466, Q.COMMON, V.WOTLK, 215, 220, 225, 230)
 	self:AddRecipeFlags(57270, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARLOCK, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57270, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30717, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57270, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 30710, 26959, 30711, 33615, 26995, 33679, 26977, 30713, 28702)

 	-- Glyph of Shadow Bolt -- 57271
 	AddRecipe(57271, 165, 42467, Q.COMMON, V.WOTLK, 165, 170, 175, 180)
 	self:AddRecipeFlags(57271, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARLOCK, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57271, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57271, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Shadowburn -- 57272
 	AddRecipe(57272, 275, 42468, Q.COMMON, V.WOTLK, 275, 280, 285, 290)
 	self:AddRecipeFlags(57272, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARLOCK, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57272, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57272, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Siphon Life -- 57273
 	AddRecipe(57273, 385, 42469, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1256,12 +1256,12 @@ function addon:InitInscription()
 	-- Glyph of Soulstone -- 57274
 	AddRecipe(57274, 240, 42470, Q.COMMON, V.WOTLK, 240, 245, 250, 255)
 	self:AddRecipeFlags(57274, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARLOCK, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57274, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57274, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Succubus -- 57275
 	AddRecipe(57275, 325, 42471, Q.COMMON, V.WOTLK, 325, 330, 335, 340)
 	self:AddRecipeFlags(57275, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARLOCK, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57275, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57275, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Unstable Affliction -- 57276
 	AddRecipe(57276, 385, 42472, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1271,72 +1271,72 @@ function addon:InitInscription()
 	-- Glyph of Voidwalker -- 57277
 	AddRecipe(57277, 190, 42473, Q.COMMON, V.WOTLK, 190, 195, 200, 205)
 	self:AddRecipeFlags(57277, F.ALLIANCE, F.HORDE, F.TRAINER, F.WARLOCK, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(57277, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57277, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Hunter's Ink -- 57703
 	AddRecipe(57703, 85, 43115, Q.UNCOMMON, V.WOTLK, 85, 85, 90, 95)
 	self:AddRecipeFlags(57703, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57703, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57703, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Lion's Ink -- 57704
 	AddRecipe(57704, 100, 43116, Q.COMMON, V.WOTLK, 100, 100, 100, 105)
 	self:AddRecipeFlags(57704, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57704, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57704, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Dawnstar Ink -- 57706
 	AddRecipe(57706, 125, 43117, Q.UNCOMMON, V.WOTLK, 125, 125, 130, 135)
 	self:AddRecipeFlags(57706, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57706, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57706, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Jadefire Ink -- 57707
 	AddRecipe(57707, 150, 43118, Q.COMMON, V.WOTLK, 150, 150, 150, 155)
 	self:AddRecipeFlags(57707, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57707, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57707, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Royal Ink -- 57708
 	AddRecipe(57708, 175, 43119, Q.UNCOMMON, V.WOTLK, 175, 175, 175, 180)
 	self:AddRecipeFlags(57708, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57708, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57708, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Celestial Ink -- 57709
 	AddRecipe(57709, 200, 43120, Q.COMMON, V.WOTLK, 200, 200, 200, 205)
 	self:AddRecipeFlags(57709, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57709, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30717, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57709, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 30710, 26959, 30711, 33615, 26995, 33679, 26977, 30713, 28702)

 	-- Fiery Ink -- 57710
 	AddRecipe(57710, 225, 43121, Q.UNCOMMON, V.WOTLK, 225, 225, 225, 230)
 	self:AddRecipeFlags(57710, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57710, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57710, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Shimmering Ink -- 57711
 	AddRecipe(57711, 250, 43122, Q.COMMON, V.WOTLK, 250, 250, 250, 255)
 	self:AddRecipeFlags(57711, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57711, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57711, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Ink of the Sky -- 57712
 	AddRecipe(57712, 275, 43123, Q.UNCOMMON, V.WOTLK, 275, 290, 295, 300)
 	self:AddRecipeFlags(57712, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57712, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57712, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Ethereal Ink -- 57713
 	AddRecipe(57713, 290, 43124, Q.COMMON, V.WOTLK, 290, 295, 300, 305)
 	self:AddRecipeFlags(57713, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57713, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57713, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Darkflame Ink -- 57714
 	AddRecipe(57714, 325, 43125, Q.UNCOMMON, V.WOTLK, 325, 325, 325, 330)
 	self:AddRecipeFlags(57714, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57714, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 30722, A.TRAINER, 30721, A.TRAINER, 33679)
+	self:AddRecipeTrainer(57714, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Ink of the Sea -- 57715
 	AddRecipe(57715, 350, 43126, Q.COMMON, V.WOTLK, 350, 350, 350, 355)
 	self:AddRecipeFlags(57715, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57715, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(57715, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Snowfall Ink -- 57716
 	AddRecipe(57716, 375, 43127, Q.UNCOMMON, V.WOTLK, 375, 375, 375, 380)
 	self:AddRecipeFlags(57716, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57716, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(57716, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Glyph of Fire Blast -- 57719
 	AddRecipe(57719, 385, 42740, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1606,87 +1606,87 @@ function addon:InitInscription()
 	-- Scroll of Agility -- 58472
 	AddRecipe(58472, 15, 3012, Q.COMMON, V.WOTLK, 15, 35, 40, 45)
 	self:AddRecipeFlags(58472, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58472, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58472, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Agility II -- 58473
 	AddRecipe(58473, 85, 1477, Q.COMMON, V.WOTLK, 85, 85, 90, 95)
 	self:AddRecipeFlags(58473, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58473, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58473, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Agility III -- 58476
 	AddRecipe(58476, 175, 4425, Q.COMMON, V.WOTLK, 175, 180, 185, 190)
 	self:AddRecipeFlags(58476, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58476, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58476, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Agility IV -- 58478
 	AddRecipe(58478, 225, 10309, Q.COMMON, V.WOTLK, 225, 230, 235, 240)
 	self:AddRecipeFlags(58478, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58478, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58478, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Agility V -- 58480
 	AddRecipe(58480, 270, 27498, Q.COMMON, V.WOTLK, 270, 275, 280, 285)
 	self:AddRecipeFlags(58480, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58480, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58480, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Agility VI -- 58481
 	AddRecipe(58481, 310, 33457, Q.COMMON, V.WOTLK, 310, 320, 325, 330)
 	self:AddRecipeFlags(58481, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58481, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58481, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Agility VII -- 58482
 	AddRecipe(58482, 370, 43463, Q.COMMON, V.WOTLK, 370, 375, 380, 385)
 	self:AddRecipeFlags(58482, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58482, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(58482, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Scroll of Agility VIII -- 58483
 	AddRecipe(58483, 420, 43464, Q.COMMON, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(58483, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58483, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(58483, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Scroll of Strength -- 58484
 	AddRecipe(58484, 15, 954, Q.COMMON, V.WOTLK, 15, 35, 40, 45)
 	self:AddRecipeFlags(58484, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58484, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58484, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Strength II -- 58485
 	AddRecipe(58485, 80, 2289, Q.COMMON, V.WOTLK, 80, 80, 85, 90)
 	self:AddRecipeFlags(58485, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58485, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58485, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Strength III -- 58486
 	AddRecipe(58486, 170, 4426, Q.COMMON, V.WOTLK, 170, 175, 180, 185)
 	self:AddRecipeFlags(58486, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58486, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58486, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Strength IV -- 58487
 	AddRecipe(58487, 220, 10310, Q.COMMON, V.WOTLK, 220, 225, 230, 235)
 	self:AddRecipeFlags(58487, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58487, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58487, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Strength V -- 58488
 	AddRecipe(58488, 265, 27503, Q.COMMON, V.WOTLK, 265, 270, 275, 280)
 	self:AddRecipeFlags(58488, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58488, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58488, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Strength VI -- 58489
 	AddRecipe(58489, 305, 33462, Q.COMMON, V.WOTLK, 305, 315, 320, 325)
 	self:AddRecipeFlags(58489, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58489, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58489, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Strength VII -- 58490
 	AddRecipe(58490, 365, 43465, Q.COMMON, V.WOTLK, 365, 370, 375, 380)
 	self:AddRecipeFlags(58490, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58490, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(58490, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Scroll of Strength VIII -- 58491
 	AddRecipe(58491, 415, 43466, Q.COMMON, V.WOTLK, 415, 420, 425, 430)
 	self:AddRecipeFlags(58491, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(58491, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(58491, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Mystic Tome -- 58565
 	AddRecipe(58565, 110, 43515, Q.RARE, V.WOTLK, 110, 125, 137, 150)
 	self:AddRecipeFlags(58565, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND)
-	self:AddRecipeAcquire(58565, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(58565, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Dash -- 59315
 	AddRecipe(59315, 150, 43674, Q.COMMON, V.WOTLK, 150, 155, 160, 165)
@@ -1701,132 +1701,132 @@ function addon:InitInscription()
 	-- Glyph of Rune Tap -- 59338
 	AddRecipe(59338, 310, 43825, Q.COMMON, V.WOTLK, 310, 315, 320, 325)
 	self:AddRecipeFlags(59338, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59338, A.TRAINER, 28702, A.TRAINER, 33603, A.TRAINER, 26977, A.TRAINER, 33615, A.TRAINER, 30722, A.TRAINER, 26959, A.TRAINER, 26995, A.TRAINER, 30721, A.TRAINER, 26916, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59338, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Blood Strike -- 59339
 	AddRecipe(59339, 320, 43826, Q.COMMON, V.WOTLK, 320, 325, 330, 335)
 	self:AddRecipeFlags(59339, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59339, A.TRAINER, 28702, A.TRAINER, 33603, A.TRAINER, 26977, A.TRAINER, 33615, A.TRAINER, 30722, A.TRAINER, 26959, A.TRAINER, 26995, A.TRAINER, 30721, A.TRAINER, 26916, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59339, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Glyph of Death Strike -- 59340
 	AddRecipe(59340, 340, 43827, Q.COMMON, V.WOTLK, 340, 345, 350, 355)
 	self:AddRecipeFlags(59340, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59340, A.TRAINER, 28702, A.TRAINER, 33603, A.TRAINER, 26977, A.TRAINER, 33615, A.TRAINER, 30722, A.TRAINER, 26959, A.TRAINER, 26995, A.TRAINER, 30721, A.TRAINER, 26916, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59340, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Certificate of Ownership -- 59387
 	AddRecipe(59387, 200, 43850, Q.COMMON, V.WOTLK, 200, 205, 210, 215)
 	self:AddRecipeFlags(59387, F.ALLIANCE, F.HORDE, F.TRAINER, F.HUNTER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59387, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30717, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59387, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 30710, 26959, 30711, 33615, 26995, 33679, 26977, 30713, 28702)

 	-- Tome of the Dawn -- 59475
 	AddRecipe(59475, 125, 43654, Q.RARE, V.WOTLK, 125, 150, 162, 175)
 	self:AddRecipeFlags(59475, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND)
-	self:AddRecipeAcquire(59475, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59475, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Book of Survival -- 59478
 	AddRecipe(59478, 125, 43655, Q.RARE, V.WOTLK, 125, 150, 162, 175)
 	self:AddRecipeFlags(59478, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND)
-	self:AddRecipeAcquire(59478, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59478, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Strange Tarot -- 59480
 	AddRecipe(59480, 125, nil, Q.COMMON, V.WOTLK, 125, 150, 162, 175)
 	self:AddRecipeFlags(59480, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59480, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59480, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Tome of Kings -- 59484
 	AddRecipe(59484, 175, 43656, Q.RARE, V.WOTLK, 175, 200, 205, 210)
 	self:AddRecipeFlags(59484, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND)
-	self:AddRecipeAcquire(59484, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59484, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Royal Guide of Escape Routes -- 59486
 	AddRecipe(59486, 175, 43657, Q.RARE, V.WOTLK, 175, 200, 205, 210)
 	self:AddRecipeFlags(59486, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND)
-	self:AddRecipeAcquire(59486, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59486, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Arcane Tarot -- 59487
 	AddRecipe(59487, 175, nil, Q.COMMON, V.WOTLK, 175, 200, 205, 210)
 	self:AddRecipeFlags(59487, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59487, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59487, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Weapon Vellum II -- 59488
 	AddRecipe(59488, 235, 39350, Q.COMMON, V.WOTLK, 235, 250, 255, 260)
 	self:AddRecipeFlags(59488, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59488, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59488, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Fire Eater's Guide -- 59489
 	AddRecipe(59489, 225, 43660, Q.RARE, V.WOTLK, 225, 240, 245, 250)
 	self:AddRecipeFlags(59489, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND)
-	self:AddRecipeAcquire(59489, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59489, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Book of Stars -- 59490
 	AddRecipe(59490, 225, 43661, Q.RARE, V.WOTLK, 225, 240, 245, 250)
 	self:AddRecipeFlags(59490, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND)
-	self:AddRecipeAcquire(59490, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59490, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Shadowy Tarot -- 59491
 	AddRecipe(59491, 225, nil, Q.COMMON, V.WOTLK, 225, 240, 245, 250)
 	self:AddRecipeFlags(59491, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59491, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59491, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Stormbound Tome -- 59493
 	AddRecipe(59493, 275, 43663, Q.RARE, V.WOTLK, 275, 290, 295, 300)
 	self:AddRecipeFlags(59493, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND)
-	self:AddRecipeAcquire(59493, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59493, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Manual of Clouds -- 59494
 	AddRecipe(59494, 275, 43664, Q.RARE, V.WOTLK, 275, 290, 295, 300)
 	self:AddRecipeFlags(59494, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND)
-	self:AddRecipeAcquire(59494, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59494, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Hellfire Tome -- 59495
 	AddRecipe(59495, 325, 43666, Q.RARE, V.WOTLK, 325, 340, 345, 350)
 	self:AddRecipeFlags(59495, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND)
-	self:AddRecipeAcquire(59495, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59495, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Book of Clever Tricks -- 59496
 	AddRecipe(59496, 325, 43667, Q.RARE, V.WOTLK, 325, 340, 345, 350)
 	self:AddRecipeFlags(59496, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.ONE_HAND)
-	self:AddRecipeAcquire(59496, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 30722, A.TRAINER, 30721, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59496, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Iron-bound Tome -- 59497
 	AddRecipe(59497, 400, 38322, Q.EPIC, V.WOTLK, 400, 425, 437, 450)
 	self:AddRecipeFlags(59497, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND)
-	self:AddRecipeAcquire(59497, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(59497, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Faces of Doom -- 59498
 	AddRecipe(59498, 400, 44210, Q.EPIC, V.WOTLK, 400, 425, 437, 450)
 	self:AddRecipeFlags(59498, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND)
-	self:AddRecipeAcquire(59498, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(59498, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Armor Vellum II -- 59499
 	AddRecipe(59499, 200, 37602, Q.COMMON, V.WOTLK, 200, 210, 215, 220)
 	self:AddRecipeFlags(59499, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59499, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59499, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Armor Vellum III -- 59500
 	AddRecipe(59500, 350, 43145, Q.COMMON, V.WOTLK, 350, 355, 370, 385)
 	self:AddRecipeFlags(59500, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59500, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(59500, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Weapon Vellum III -- 59501
 	AddRecipe(59501, 400, 43146, Q.COMMON, V.WOTLK, 400, 405, 410, 415)
 	self:AddRecipeFlags(59501, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59501, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(59501, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Darkmoon Card -- 59502
 	AddRecipe(59502, 275, nil, Q.COMMON, V.WOTLK, 275, 290, 295, 300)
 	self:AddRecipeFlags(59502, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59502, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59502, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Greater Darkmoon Card -- 59503
 	AddRecipe(59503, 325, nil, Q.COMMON, V.WOTLK, 325, 340, 345, 350)
 	self:AddRecipeFlags(59503, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59503, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33615, A.TRAINER, 33603, A.TRAINER, 33679)
+	self:AddRecipeTrainer(59503, 26995, 28702, 33615, 26959, 30721, 33603, 33679, 30722, 26916, 26977)

 	-- Darkmoon Card of the North -- 59504
 	AddRecipe(59504, 400, nil, Q.COMMON, V.WOTLK, 400, 425, 450, 475)
 	self:AddRecipeFlags(59504, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(59504, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(59504, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Glyph of Holy Wrath -- 59559
 	AddRecipe(59559, 385, 43867, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1846,42 +1846,42 @@ function addon:InitInscription()
 	-- Scroll of Recall II -- 60336
 	AddRecipe(60336, 200, 44314, Q.COMMON, V.WOTLK, 200, 215, 220, 225)
 	self:AddRecipeFlags(60336, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(60336, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(60336, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Scroll of Recall III -- 60337
 	AddRecipe(60337, 350, 44315, Q.COMMON, V.WOTLK, 350, 350, 350, 355)
 	self:AddRecipeFlags(60337, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(60337, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(60337, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Master's Inscription of the Axe -- 61117
 	AddRecipe(61117, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 400, 405)
 	self:AddRecipeFlags(61117, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(61117, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(61117, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Master's Inscription of the Crag -- 61118
 	AddRecipe(61118, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 400, 405)
 	self:AddRecipeFlags(61118, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(61118, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(61118, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Master's Inscription of the Pinnacle -- 61119
 	AddRecipe(61119, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 400, 405)
 	self:AddRecipeFlags(61119, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(61119, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(61119, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Master's Inscription of the Storm -- 61120
 	AddRecipe(61120, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 400, 405)
 	self:AddRecipeFlags(61120, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(61120, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(61120, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Northrend Inscription Research -- 61177
 	AddRecipe(61177, 385, nil, Q.COMMON, V.WOTLK, 385, 425, 437, 450)
 	self:AddRecipeFlags(61177, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(61177, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603, A.TRAINER, 33679)
+	self:AddRecipeTrainer(61177, 26977, 26916, 26959, 26995, 33679, 33603, 28702)

 	-- Minor Inscription Research -- 61288
 	AddRecipe(61288, 75, nil, Q.COMMON, V.WOTLK, 75, 125, 137, 150)
 	self:AddRecipeFlags(61288, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(61288, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 30706, A.TRAINER, 30709, A.TRAINER, 30710, A.TRAINER, 30711, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 30717, A.TRAINER, 30721, A.TRAINER, 30722, A.TRAINER, 33603, A.TRAINER, 33615, A.TRAINER, 33679)
+	self:AddRecipeTrainer(61288, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 33615, 30711, 26995, 33679, 26977, 30713, 26959)

 	-- Glyph of Frostfire -- 61677
 	AddRecipe(61677, 385, 44684, Q.COMMON, V.WOTLK, 385, 390, 397, 405)
@@ -1891,17 +1891,17 @@ function addon:InitInscription()
 	-- Glyph of Focus -- 62162
 	AddRecipe(62162, 375, 44928, Q.COMMON, V.WOTLK, 375, 380, 385, 390)
 	self:AddRecipeFlags(62162, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(62162, A.TRAINER, 26916, A.TRAINER, 26959, A.TRAINER, 26977, A.TRAINER, 26995, A.TRAINER, 28702, A.TRAINER, 33603)
+	self:AddRecipeTrainer(62162, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Rituals of the New Moon -- 64051
 	AddRecipe(64051, 350, 46108, Q.UNCOMMON, V.WOTLK, 350, 375, 387, 400)
 	self:AddRecipeFlags(64051, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.CASTER, F.ONE_HAND)
-	self:AddRecipeAcquire(64051, A.MOB, 26679, A.MOB, 26708, A.MOB, 27546, A.MOB, 27676)
+	self:AddRecipeMobDrop(64051, 27676, 26708, 26679, 27546)

 	-- Twilight Tome -- 64053
 	AddRecipe(64053, 350, 45849, Q.COMMON, V.WOTLK, 350, 375, 387, 400)
 	self:AddRecipeFlags(64053, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ONE_HAND)
-	self:AddRecipeAcquire(64053, A.TRAINER, 33603, A.TRAINER, 28702, A.TRAINER, 26977, A.TRAINER, 26959, A.TRAINER, 26995, A.TRAINER, 26916)
+	self:AddRecipeTrainer(64053, 26977, 26916, 26959, 26995, 33603, 28702)

 	-- Glyph of Raptor Strike -- 64246
 	AddRecipe(64246, 425, 45735, Q.COMMON, V.WOTLK, 425, 430, 435, 440)
@@ -1966,37 +1966,37 @@ function addon:InitInscription()
 	-- Glyph of Monsoon -- 64258
 	AddRecipe(64258, 250, 45622, Q.COMMON, V.WOTLK, 250, 255, 262, 270)
 	self:AddRecipeFlags(64258, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(64258, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 28702, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 26977, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30722, A.TRAINER, 30717, A.TRAINER, 26959, A.TRAINER, 26995, A.TRAINER, 30721, A.TRAINER, 26916, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(64258, 26916, 26995, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 30711, 33615, 30715, 33679, 26977, 30713, 26959)

 	-- Glyph of Pain Suppression -- 64259
 	AddRecipe(64259, 255, 45760, Q.COMMON, V.WOTLK, 255, 255, 262, 270)
 	self:AddRecipeFlags(64259, F.ALLIANCE, F.HORDE, F.TRAINER, F.PRIEST, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(64259, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 28702, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 26977, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30722, A.TRAINER, 30717, A.TRAINER, 26959, A.TRAINER, 30721, A.TRAINER, 26916, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(64259, 26916, 30715, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 30710, 28702, 33615, 30711, 33679, 26977, 30713, 26959)

 	-- Glyph of Mutilate -- 64260
 	AddRecipe(64260, 255, 45768, Q.COMMON, V.WOTLK, 255, 255, 262, 270)
 	self:AddRecipeFlags(64260, F.ALLIANCE, F.HORDE, F.TRAINER, F.ROGUE, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(64260, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 28702, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 26977, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30722, A.TRAINER, 30717, A.TRAINER, 26959, A.TRAINER, 26995, A.TRAINER, 30721, A.TRAINER, 26916, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(64260, 26916, 26995, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 30711, 33615, 30715, 33679, 26977, 30713, 26959)

 	-- Glyph of Earth Shield -- 64261
 	AddRecipe(64261, 250, 45775, Q.COMMON, V.WOTLK, 250, 255, 262, 270)
 	self:AddRecipeFlags(64261, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(64261, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 28702, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 26977, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30722, A.TRAINER, 30717, A.TRAINER, 26959, A.TRAINER, 26995, A.TRAINER, 30721, A.TRAINER, 26916, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(64261, 26916, 26995, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 30711, 33615, 30715, 33679, 26977, 30713, 26959)

 	-- Glyph of Totem of Wrath -- 64262
 	AddRecipe(64262, 255, 45776, Q.COMMON, V.WOTLK, 255, 255, 262, 270)
 	self:AddRecipeFlags(64262, F.ALLIANCE, F.HORDE, F.TRAINER, F.SHAMAN, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(64262, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 28702, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 26977, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30722, A.TRAINER, 30717, A.TRAINER, 26959, A.TRAINER, 26995, A.TRAINER, 30721, A.TRAINER, 26916, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(64262, 26916, 26995, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 30711, 33615, 30715, 33679, 26977, 30713, 26959)

 	-- Glyph of Dark Death -- 64266
 	AddRecipe(64266, 275, 45804, Q.COMMON, V.WOTLK, 275, 280, 287, 295)
 	self:AddRecipeFlags(64266, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(64266, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 28702, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 26977, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30722, A.TRAINER, 30717, A.TRAINER, 26959, A.TRAINER, 26995, A.TRAINER, 30721, A.TRAINER, 26916, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(64266, 26916, 26995, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 30711, 33615, 30715, 33679, 26977, 30713, 26959)

 	-- Glyph of Disease -- 64267
 	AddRecipe(64267, 280, 45805, Q.COMMON, V.WOTLK, 280, 285, 290, 295)
 	self:AddRecipeFlags(64267, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(64267, A.TRAINER, 30709, A.TRAINER, 30706, A.TRAINER, 28702, A.TRAINER, 30713, A.TRAINER, 30715, A.TRAINER, 30716, A.TRAINER, 33603, A.TRAINER, 26977, A.TRAINER, 33615, A.TRAINER, 30710, A.TRAINER, 30722, A.TRAINER, 30717, A.TRAINER, 26959, A.TRAINER, 26995, A.TRAINER, 30721, A.TRAINER, 26916, A.TRAINER, 30711, A.TRAINER, 33679)
+	self:AddRecipeTrainer(64267, 26916, 26995, 30716, 30717, 33603, 30721, 30706, 30722, 30709, 28702, 30710, 30711, 33615, 30715, 33679, 26977, 30713, 26959)

 	-- Glyph of Berserk -- 64268
 	AddRecipe(64268, 425, 45601, Q.COMMON, V.WOTLK, 425, 430, 435, 440)
@@ -2226,7 +2226,7 @@ function addon:InitInscription()
 	-- Glyph of Claw -- 67600
 	AddRecipe(67600, 100, 48720, Q.COMMON, V.WOTLK, 100, 105, 110, 115)
 	self:AddRecipeFlags(67600, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(67600, A.TRAINER, 33603, A.TRAINER, 33679, A.TRAINER, 28702, A.TRAINER, 30722, A.TRAINER, 30710, A.TRAINER, 26959, A.TRAINER, 30706)
+	self:AddRecipeTrainer(67600, 30722, 33679, 28702, 26959, 30706, 33603, 30710)

 	-- Glyph of Command -- 68166
 	AddRecipe(68166, 355, 49084, Q.COMMON, V.WOTLK, 355, 355, 360, 365)
@@ -2236,22 +2236,22 @@ function addon:InitInscription()
 	-- Runescroll of Fortitude -- 69385
 	AddRecipe(69385, 440, 49632, Q.COMMON, V.WOTLK, 440, 440, 442, 460)
 	self:AddRecipeFlags(69385, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(69385, A.TRAINER, 28702, A.TRAINER, 26977, A.TRAINER, 33603, A.TRAINER, 26959, A.TRAINER, 26916, A.TRAINER, 26995)
+	self:AddRecipeTrainer(69385, 26977, 26916, 28702, 26995, 33603, 26959)

 	-- Glyph of Rapid Rejuvenation -- 71015
 	AddRecipe(71015, 375, 50125, Q.COMMON, V.WOTLK, 375, 380, 382, 385)
 	self:AddRecipeFlags(71015, F.ALLIANCE, F.HORDE, F.VENDOR, F.DRUID, F.IBOE, F.RBOE, F.HEALER)
-	self:AddRecipeAcquire(71015, A.VENDOR, 28723)
+	self:AddRecipeVendor(71015, 28723)

 	-- Glyph of Eternal Water -- 71101
 	AddRecipe(71101, 375, 50045, Q.COMMON, V.WOTLK, 375, 380, 382, 385)
 	self:AddRecipeFlags(71101, F.ALLIANCE, F.HORDE, F.VENDOR, F.MAGE, F.IBOE, F.RBOE, F.CASTER)
-	self:AddRecipeAcquire(71101, A.VENDOR, 28723)
+	self:AddRecipeVendor(71101, 28723)

 	-- Glyph of Quick Decay -- 71102
 	AddRecipe(71102, 375, 50077, Q.COMMON, V.WOTLK, 375, 380, 382, 385)
 	self:AddRecipeFlags(71102, F.ALLIANCE, F.HORDE, F.VENDOR, F.WARLOCK, F.IBOE, F.RBOE, F.CASTER)
-	self:AddRecipeAcquire(71102, A.VENDOR, 28723)
+	self:AddRecipeVendor(71102, 28723)

 	return num_recipes
 end
diff --git a/Database/Jewelcrafting.lua b/Database/Jewelcrafting.lua
index 7a80818..e827a99 100644
--- a/Database/Jewelcrafting.lua
+++ b/Database/Jewelcrafting.lua
@@ -58,67 +58,67 @@ function addon:InitJewelcrafting()
 	-- Bronze Setting -- 25278
 	AddRecipe(25278, 50, 20817, Q.COMMON, V.TBC, 50, 70, 80, 90)
 	self:AddRecipeFlags(25278, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(25278, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25278, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 18774, 28701, 15501)

 	-- Elegant Silver Ring -- 25280
 	AddRecipe(25280, 50, 20818, Q.COMMON, V.TBC, 50, 80, 95, 110)
 	self:AddRecipeFlags(25280, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(25280, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25280, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 18774, 28701, 15501)

 	-- Inlaid Malachite Ring -- 25283
 	AddRecipe(25283, 30, 20821, Q.COMMON, V.TBC, 30, 60, 75, 90)
 	self:AddRecipeFlags(25283, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(25283, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25283, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 18774, 28701, 15501)

 	-- Simple Pearl Ring -- 25284
 	AddRecipe(25284, 60, 20820, Q.COMMON, V.TBC, 60, 90, 105, 120)
 	self:AddRecipeFlags(25284, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(25284, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25284, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 18774, 28701, 15501)

 	-- Gloom Band -- 25287
 	AddRecipe(25287, 70, 20823, Q.COMMON, V.TBC, 70, 100, 115, 130)
 	self:AddRecipeFlags(25287, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(25287, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25287, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 18774, 28701, 15501)

 	-- Heavy Silver Ring -- 25305
 	AddRecipe(25305, 90, 20826, Q.COMMON, V.TBC, 90, 120, 135, 150)
 	self:AddRecipeFlags(25305, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(25305, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25305, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Ring of Silver Might -- 25317
 	AddRecipe(25317, 80, 20827, Q.COMMON, V.TBC, 80, 110, 125, 140)
 	self:AddRecipeFlags(25317, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(25317, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25317, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Ring of Twilight Shadows -- 25318
 	AddRecipe(25318, 100, 20828, Q.COMMON, V.TBC, 100, 130, 145, 160)
 	self:AddRecipeFlags(25318, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(25318, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25318, 33614, 33680, 26960, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Heavy Golden Necklace of Battle -- 25320
 	AddRecipe(25320, 150, 20856, Q.COMMON, V.TBC, 150, 180, 195, 210)
 	self:AddRecipeFlags(25320, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.NECK)
-	self:AddRecipeAcquire(25320, A.VENDOR, 1286, A.VENDOR, 3367, A.VENDOR, 16624, A.VENDOR, 17512)
+	self:AddRecipeVendor(25320, 1286, 17512, 3367, 16624)

 	-- Moonsoul Crown -- 25321
 	AddRecipe(25321, 120, 20832, Q.COMMON, V.TBC, 120, 150, 165, 180)
 	self:AddRecipeFlags(25321, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(25321, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25321, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Wicked Moonstone Ring -- 25323
 	AddRecipe(25323, 125, 20833, Q.COMMON, V.TBC, 125, 155, 170, 185)
 	self:AddRecipeFlags(25323, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(25323, A.VENDOR, 3499, A.VENDOR, 3954)
+	self:AddRecipeVendor(25323, 3499, 3954)

 	-- Amulet of the Moon -- 25339
 	AddRecipe(25339, 110, 20830, Q.COMMON, V.TBC, 110, 140, 155, 170)
 	self:AddRecipeFlags(25339, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.NECK)
-	self:AddRecipeAcquire(25339, A.VENDOR, 4229, A.VENDOR, 4561, A.VENDOR, 16624, A.VENDOR, 17512)
+	self:AddRecipeVendor(25339, 16624, 4561, 4229, 17512)

 	-- Solid Bronze Ring -- 25490
 	AddRecipe(25490, 50, 20907, Q.COMMON, V.TBC, 50, 80, 95, 110)
 	self:AddRecipeFlags(25490, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(25490, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25490, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 18774, 28701, 15501)

 	-- Braided Copper Ring -- 25493
 	AddRecipe(25493, 1, 20906, Q.UNCOMMON, V.TBC, 1, 30, 45, 60)
@@ -128,32 +128,32 @@ function addon:InitJewelcrafting()
 	-- Barbaric Iron Collar -- 25498
 	AddRecipe(25498, 110, 20909, Q.COMMON, V.TBC, 110, 140, 155, 170)
 	self:AddRecipeFlags(25498, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.NECK)
-	self:AddRecipeAcquire(25498, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25498, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Pendant of the Agate Shield -- 25610
 	AddRecipe(25610, 120, 20950, Q.COMMON, V.TBC, 120, 150, 165, 180)
 	self:AddRecipeFlags(25610, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TANK, F.NECK)
-	self:AddRecipeAcquire(25610, A.VENDOR, 1448, A.VENDOR, 4877)
+	self:AddRecipeVendor(25610, 1448, 4877)

 	-- Heavy Iron Knuckles -- 25612
 	AddRecipe(25612, 125, 20954, Q.COMMON, V.TBC, 125, 155, 170, 185)
 	self:AddRecipeFlags(25612, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.ONE_HAND, F.FIST)
-	self:AddRecipeAcquire(25612, A.VENDOR, 2381, A.VENDOR, 2393)
+	self:AddRecipeVendor(25612, 2381, 2393)

 	-- Golden Dragon Ring -- 25613
 	AddRecipe(25613, 135, 20955, Q.COMMON, V.TBC, 135, 165, 180, 195)
 	self:AddRecipeFlags(25613, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.RING)
-	self:AddRecipeAcquire(25613, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25613, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Mithril Filigree -- 25615
 	AddRecipe(25615, 150, 20963, Q.COMMON, V.TBC, 150, 170, 180, 190)
 	self:AddRecipeFlags(25615, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(25615, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25615, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Blazing Citrine Ring -- 25617
 	AddRecipe(25617, 150, 20958, Q.COMMON, V.TBC, 150, 180, 195, 210)
 	self:AddRecipeFlags(25617, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(25617, A.VENDOR, 2381, A.VENDOR, 9636)
+	self:AddRecipeVendor(25617, 2381, 9636)

 	-- Jade Pendant of Blasting -- 25618
 	AddRecipe(25618, 160, 20966, Q.UNCOMMON, V.TBC, 160, 190, 205, 220)
@@ -163,17 +163,17 @@ function addon:InitJewelcrafting()
 	-- The Jade Eye -- 25619
 	AddRecipe(25619, 170, 20959, Q.COMMON, V.TBC, 170, 200, 215, 230)
 	self:AddRecipeFlags(25619, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TANK, F.RING)
-	self:AddRecipeAcquire(25619, A.VENDOR, 4775, A.VENDOR, 5163, A.VENDOR, 16624, A.VENDOR, 17512)
+	self:AddRecipeVendor(25619, 5163, 17512, 4775, 16624)

 	-- Engraved Truesilver Ring -- 25620
 	AddRecipe(25620, 170, 20960, Q.COMMON, V.TBC, 170, 200, 215, 230)
 	self:AddRecipeFlags(25620, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(25620, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25620, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Citrine Ring of Rapid Healing -- 25621
 	AddRecipe(25621, 180, 20961, Q.COMMON, V.TBC, 180, 210, 225, 240)
 	self:AddRecipeFlags(25621, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(25621, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(25621, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Citrine Pendant of Golden Healing -- 25622
 	AddRecipe(25622, 190, 20967, Q.UNCOMMON, V.TBC, 190, 220, 235, 250)
@@ -183,7 +183,7 @@ function addon:InitJewelcrafting()
 	-- Figurine - Jade Owl -- 26872
 	AddRecipe(26872, 200, 21748, Q.COMMON, V.TBC, 200, 225, 240, 255)
 	self:AddRecipeFlags(26872, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.TRINKET)
-	self:AddRecipeAcquire(26872, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26872, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Figurine - Golden Hare -- 26873
 	AddRecipe(26873, 200, 21756, Q.UNCOMMON, V.TBC, 200, 225, 240, 255)
@@ -193,32 +193,32 @@ function addon:InitJewelcrafting()
 	-- Aquamarine Signet -- 26874
 	AddRecipe(26874, 210, 20964, Q.COMMON, V.TBC, 210, 235, 250, 265)
 	self:AddRecipeFlags(26874, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(26874, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26874, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Figurine - Black Pearl Panther -- 26875
 	AddRecipe(26875, 215, 21758, Q.COMMON, V.TBC, 215, 240, 255, 270)
 	self:AddRecipeFlags(26875, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOE, F.DPS, F.TRINKET)
-	self:AddRecipeAcquire(26875, A.VENDOR, 989, A.VENDOR, 4897)
+	self:AddRecipeVendor(26875, 989, 4897)

 	-- Aquamarine Pendant of the Warrior -- 26876
 	AddRecipe(26876, 220, 21755, Q.COMMON, V.TBC, 220, 245, 260, 275)
 	self:AddRecipeFlags(26876, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.NECK)
-	self:AddRecipeAcquire(26876, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26876, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Ruby Crown of Restoration -- 26878
 	AddRecipe(26878, 225, 20969, Q.COMMON, V.TBC, 225, 250, 265, 280)
 	self:AddRecipeFlags(26878, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26878, A.VENDOR, 2810, A.VENDOR, 2821)
+	self:AddRecipeVendor(26878, 2810, 2821)

 	-- Thorium Setting -- 26880
 	AddRecipe(26880, 225, 21752, Q.COMMON, V.TBC, 225, 235, 245, 255)
 	self:AddRecipeFlags(26880, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26880, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26880, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Figurine - Truesilver Crab -- 26881
 	AddRecipe(26881, 225, 21760, Q.COMMON, V.TBC, 225, 250, 265, 280)
 	self:AddRecipeFlags(26881, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOE, F.TANK, F.TRINKET)
-	self:AddRecipeAcquire(26881, A.VENDOR, 1148, A.VENDOR, 4897)
+	self:AddRecipeVendor(26881, 1148, 4897)

 	-- Figurine - Truesilver Boar -- 26882
 	AddRecipe(26882, 235, 21763, Q.UNCOMMON, V.TBC, 235, 260, 275, 290)
@@ -228,12 +228,12 @@ function addon:InitJewelcrafting()
 	-- Ruby Pendant of Fire -- 26883
 	AddRecipe(26883, 235, 21764, Q.COMMON, V.TBC, 235, 260, 275, 290)
 	self:AddRecipeFlags(26883, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.NECK)
-	self:AddRecipeAcquire(26883, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26883, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Truesilver Healing Ring -- 26885
 	AddRecipe(26885, 240, 21765, Q.COMMON, V.TBC, 240, 265, 280, 295)
 	self:AddRecipeFlags(26885, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(26885, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26885, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- The Aquamarine Ward -- 26887
 	AddRecipe(26887, 245, 21754, Q.UNCOMMON, V.TBC, 245, 270, 285, 300)
@@ -248,7 +248,7 @@ function addon:InitJewelcrafting()
 	-- Opal Necklace of Impact -- 26897
 	AddRecipe(26897, 250, 21766, Q.COMMON, V.TBC, 250, 275, 290, 305)
 	self:AddRecipeFlags(26897, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.NECK)
-	self:AddRecipeAcquire(26897, A.VENDOR, 5163, A.VENDOR, 8363, A.VENDOR, 16624, A.VENDOR, 17512)
+	self:AddRecipeVendor(26897, 8363, 17512, 16624, 5163)

 	-- Figurine - Ruby Serpent -- 26900
 	AddRecipe(26900, 260, 21769, Q.UNCOMMON, V.TBC, 260, 280, 290, 300)
@@ -258,27 +258,27 @@ function addon:InitJewelcrafting()
 	-- Simple Opal Ring -- 26902
 	AddRecipe(26902, 260, 21767, Q.COMMON, V.TBC, 260, 280, 290, 300)
 	self:AddRecipeFlags(26902, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(26902, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26902, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Sapphire Signet -- 26903
 	AddRecipe(26903, 275, 21768, Q.COMMON, V.TBC, 275, 285, 295, 305)
 	self:AddRecipeFlags(26903, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(26903, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26903, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Emerald Crown of Destruction -- 26906
 	AddRecipe(26906, 275, 21774, Q.COMMON, V.TBC, 275, 285, 295, 305)
 	self:AddRecipeFlags(26906, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26906, A.VENDOR, 15179)
+	self:AddRecipeVendor(26906, 15179)

 	-- Onslaught Ring -- 26907
 	AddRecipe(26907, 280, 21775, Q.COMMON, V.TBC, 280, 290, 300, 310)
 	self:AddRecipeFlags(26907, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(26907, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26907, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Sapphire Pendant of Winter Night -- 26908
 	AddRecipe(26908, 280, 21790, Q.COMMON, V.TBC, 280, 290, 300, 310)
 	self:AddRecipeFlags(26908, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.NECK)
-	self:AddRecipeAcquire(26908, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26908, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Figurine - Emerald Owl -- 26909
 	AddRecipe(26909, 285, 21777, Q.UNCOMMON, V.TBC, 285, 295, 305, 315)
@@ -288,32 +288,32 @@ function addon:InitJewelcrafting()
 	-- Ring of Bitter Shadows -- 26910
 	AddRecipe(26910, 285, 21778, Q.COMMON, V.TBC, 285, 295, 305, 315)
 	self:AddRecipeFlags(26910, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(26910, A.VENDOR, 12941)
+	self:AddRecipeVendor(26910, 12941)

 	-- Living Emerald Pendant -- 26911
 	AddRecipe(26911, 290, 21791, Q.COMMON, V.TBC, 290, 300, 310, 320)
 	self:AddRecipeFlags(26911, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.NECK)
-	self:AddRecipeAcquire(26911, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26911, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Figurine - Black Diamond Crab -- 26912
 	AddRecipe(26912, 300, 21784, Q.UNCOMMON, V.TBC, 300, 310, 320, 330)
 	self:AddRecipeFlags(26912, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOP, F.RBOP, F.TANK, F.TRINKET)
-	self:AddRecipeAcquire(26912, A.MOB, 9736)
+	self:AddRecipeMobDrop(26912, 9736)

 	-- Figurine - Dark Iron Scorpid -- 26914
 	AddRecipe(26914, 300, 21789, Q.UNCOMMON, V.TBC, 300, 310, 320, 330)
 	self:AddRecipeFlags(26914, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOP, F.RBOP, F.DPS, F.TRINKET)
-	self:AddRecipeAcquire(26914, A.MOB, 8983)
+	self:AddRecipeMobDrop(26914, 8983)

 	-- Necklace of the Diamond Tower -- 26915
 	AddRecipe(26915, 305, 21792, Q.COMMON, V.TBC, 305, 315, 325, 335)
 	self:AddRecipeFlags(26915, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TANK, F.NECK)
-	self:AddRecipeAcquire(26915, A.VENDOR, 11189)
+	self:AddRecipeVendor(26915, 11189)

 	-- Band of Natural Fire -- 26916
 	AddRecipe(26916, 310, 21779, Q.COMMON, V.TBC, 310, 320, 330, 340)
 	self:AddRecipeFlags(26916, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(26916, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26916, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- Woven Copper Ring -- 26925
 	AddRecipe(26925, 1, 21931, Q.UNCOMMON, V.TBC, 1, 30, 45, 60)
@@ -323,127 +323,128 @@ function addon:InitJewelcrafting()
 	-- Heavy Copper Ring -- 26926
 	AddRecipe(26926, 5, 21932, Q.COMMON, V.TBC, 5, 35, 50, 65)
 	self:AddRecipeFlags(26926, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(26926, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26926, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 18774, 28701, 15501)

 	-- Thick Bronze Necklace -- 26927
 	AddRecipe(26927, 50, 21933, Q.COMMON, V.TBC, 50, 80, 95, 110)
 	self:AddRecipeFlags(26927, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.NECK)
-	self:AddRecipeAcquire(26927, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26927, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 18774, 28701, 15501)

 	-- Ornate Tigerseye Necklace -- 26928
 	AddRecipe(26928, 30, 21934, Q.COMMON, V.TBC, 30, 60, 75, 90)
 	self:AddRecipeFlags(26928, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.NECK)
-	self:AddRecipeAcquire(26928, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(26928, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 18774, 28701, 15501)

 	-- Teardrop Blood Garnet -- 28903
 	AddRecipe(28903, 300, 23094, Q.COMMON, V.TBC, 300, 300, 320, 340)
 	self:AddRecipeFlags(28903, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(28903, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(28903, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Bold Blood Garnet -- 28905
 	AddRecipe(28905, 305, 23095, Q.COMMON, V.TBC, 305, 305, 325, 345)
 	self:AddRecipeFlags(28905, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(28905, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(28905, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Runed Blood Garnet -- 28906
 	AddRecipe(28906, 315, 23096, Q.UNCOMMON, V.TBC, 315, 315, 335, 355)
 	self:AddRecipeFlags(28906, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCRYER)
-	self:AddRecipeAcquire(28906, A.REPUTATION, FAC.SCRYER, REP.FRIENDLY, 19331)
+	self:AddRecipeRepVendor(28906, FAC.SCRYER, REP.FRIENDLY, 19331)

 	-- Delicate Blood Garnet -- 28907
 	AddRecipe(28907, 325, 23097, Q.UNCOMMON, V.TBC, 325, 325, 340, 355)
 	self:AddRecipeFlags(28907, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.CONSORTIUM)
-	self:AddRecipeAcquire(28907, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 23007)
+	self:AddRecipeRepVendor(28907, FAC.CONSORTIUM, REP.HONORED, 20242, 23007)

 	-- Inscribed Flame Spessarite -- 28910
 	AddRecipe(28910, 300, 23098, Q.COMMON, V.TBC, 300, 300, 320, 340)
 	self:AddRecipeFlags(28910, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(28910, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(28910, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Luminous Flame Spessarite -- 28912
 	AddRecipe(28912, 305, 23099, Q.UNCOMMON, V.TBC, 305, 305, 325, 345)
 	self:AddRecipeFlags(28912, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CONSORTIUM)
-	self:AddRecipeAcquire(28912, A.REPUTATION, FAC.CONSORTIUM, REP.FRIENDLY, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.FRIENDLY, 23007)
+	self:AddRecipeRepVendor(28912, FAC.CONSORTIUM, REP.FRIENDLY, 20242, 23007)

 	-- Glinting Flame Spessarite -- 28914
 	AddRecipe(28914, 315, 23100, Q.COMMON, V.TBC, 315, 315, 335, 355)
 	self:AddRecipeFlags(28914, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(28914, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(28914, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Potent Flame Spessarite -- 28915
 	AddRecipe(28915, 325, 23101, Q.UNCOMMON, V.TBC, 325, 325, 340, 355)
 	self:AddRecipeFlags(28915, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LOWERCITY)
-	self:AddRecipeAcquire(28915, A.REPUTATION, FAC.LOWERCITY, REP.FRIENDLY, 21655)
+	self:AddRecipeRepVendor(28915, FAC.LOWERCITY, REP.FRIENDLY, 21655)

 	-- Radiant Deep Peridot -- 28916
 	AddRecipe(28916, 300, 23103, Q.COMMON, V.TBC, 300, 300, 320, 340)
 	self:AddRecipeFlags(28916, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(28916, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(28916, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Jagged Deep Peridot -- 28917
 	AddRecipe(28917, 305, 23104, Q.COMMON, V.TBC, 305, 305, 325, 345)
 	self:AddRecipeFlags(28917, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28917, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(28917, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Enduring Deep Peridot -- 28918
 	AddRecipe(28918, 315, 23105, Q.UNCOMMON, V.TBC, 315, 315, 335, 355)
 	self:AddRecipeFlags(28918, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.HELLFIRE)
-	self:AddRecipeAcquire(28918, A.REPUTATION, FAC.HONOR_HOLD, REP.FRIENDLY, 17657, A.REPUTATION, FAC.THRALLMAR, REP.FRIENDLY, 17585)
+	self:AddRecipeRepVendor(28918, FAC.HONOR_HOLD, REP.FRIENDLY, 17657)
+	self:AddRecipeRepVendor(28918, FAC.THRALLMAR, REP.FRIENDLY, 17585)

 	-- Dazzling Deep Peridot -- 28924
 	AddRecipe(28924, 325, 23106, Q.UNCOMMON, V.TBC, 325, 325, 340, 355)
 	self:AddRecipeFlags(28924, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SCRYER)
-	self:AddRecipeAcquire(28924, A.REPUTATION, FAC.SCRYER, REP.HONORED, 19331)
+	self:AddRecipeRepVendor(28924, FAC.SCRYER, REP.HONORED, 19331)

 	-- Glowing Shadow Draenite -- 28925
 	AddRecipe(28925, 300, 23108, Q.COMMON, V.TBC, 300, 300, 320, 340)
 	self:AddRecipeFlags(28925, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(28925, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(28925, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Royal Shadow Draenite -- 28927
 	AddRecipe(28927, 305, 23109, Q.UNCOMMON, V.TBC, 305, 305, 325, 345)
 	self:AddRecipeFlags(28927, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ALDOR)
-	self:AddRecipeAcquire(28927, A.REPUTATION, FAC.ALDOR, REP.HONORED, 19321)
+	self:AddRecipeRepVendor(28927, FAC.ALDOR, REP.HONORED, 19321)

 	-- Shifting Shadow Draenite -- 28933
 	AddRecipe(28933, 315, 23110, Q.UNCOMMON, V.TBC, 315, 315, 335, 355)
 	self:AddRecipeFlags(28933, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.CONSORTIUM)
-	self:AddRecipeAcquire(28933, A.REPUTATION, FAC.CONSORTIUM, REP.FRIENDLY, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.FRIENDLY, 23007)
+	self:AddRecipeRepVendor(28933, FAC.CONSORTIUM, REP.FRIENDLY, 20242, 23007)

 	-- Sovereign Shadow Draenite -- 28936
 	AddRecipe(28936, 325, 23111, Q.UNCOMMON, V.TBC, 325, 325, 340, 355)
 	self:AddRecipeFlags(28936, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(28936, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(28936, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Brilliant Golden Draenite -- 28938
 	AddRecipe(28938, 300, 23113, Q.COMMON, V.TBC, 300, 300, 320, 340)
 	self:AddRecipeFlags(28938, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28938, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(28938, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Gleaming Golden Draenite -- 28944
 	AddRecipe(28944, 305, 23114, Q.UNCOMMON, V.TBC, 305, 305, 325, 345)
 	self:AddRecipeFlags(28944, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.ALDOR)
-	self:AddRecipeAcquire(28944, A.REPUTATION, FAC.ALDOR, REP.FRIENDLY, 19321)
+	self:AddRecipeRepVendor(28944, FAC.ALDOR, REP.FRIENDLY, 19321)

 	-- Thick Golden Draenite -- 28947
 	AddRecipe(28947, 315, 23115, Q.UNCOMMON, V.TBC, 315, 315, 335, 355)
 	self:AddRecipeFlags(28947, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.CONSORTIUM)
-	self:AddRecipeAcquire(28947, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 23007)
+	self:AddRecipeRepVendor(28947, FAC.CONSORTIUM, REP.HONORED, 20242, 23007)

 	-- Rigid Golden Draenite -- 28948
 	AddRecipe(28948, 325, 23116, Q.UNCOMMON, V.TBC, 325, 325, 340, 355)
 	self:AddRecipeFlags(28948, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28948, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(28948, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Solid Azure Moonstone -- 28950
 	AddRecipe(28950, 300, 23118, Q.COMMON, V.TBC, 300, 300, 320, 340)
 	self:AddRecipeFlags(28950, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(28950, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(28950, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Sparkling Azure Moonstone -- 28953
 	AddRecipe(28953, 305, 23119, Q.UNCOMMON, V.TBC, 305, 305, 325, 345)
 	self:AddRecipeFlags(28953, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(28953, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(28953, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Stormy Azure Moonstone -- 28955
 	AddRecipe(28955, 315, 23120, Q.UNCOMMON, V.TBC, 315, 315, 335, 355)
@@ -453,57 +454,57 @@ function addon:InitJewelcrafting()
 	-- Lustrous Azure Moonstone -- 28957
 	AddRecipe(28957, 325, 23121, Q.UNCOMMON, V.TBC, 325, 325, 340, 355)
 	self:AddRecipeFlags(28957, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CONSORTIUM)
-	self:AddRecipeAcquire(28957, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 23007)
+	self:AddRecipeRepVendor(28957, FAC.CONSORTIUM, REP.HONORED, 20242, 23007)

 	-- Fel Iron Blood Ring -- 31048
 	AddRecipe(31048, 310, 24074, Q.COMMON, V.TBC, 310, 320, 330, 340)
 	self:AddRecipeFlags(31048, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(31048, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(31048, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- Golden Draenite Ring -- 31049
 	AddRecipe(31049, 310, 24075, Q.COMMON, V.TBC, 310, 320, 335, 350)
 	self:AddRecipeFlags(31049, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(31049, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(31049, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- Azure Moonstone Ring -- 31050
 	AddRecipe(31050, 320, 24076, Q.COMMON, V.TBC, 320, 330, 340, 350)
 	self:AddRecipeFlags(31050, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(31050, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(31050, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- Thick Adamantite Necklace -- 31051
 	AddRecipe(31051, 335, 24077, Q.COMMON, V.TBC, 335, 345, 355, 365)
 	self:AddRecipeFlags(31051, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.NECK)
-	self:AddRecipeAcquire(31051, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(31051, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- Heavy Adamantite Ring -- 31052
 	AddRecipe(31052, 335, 24078, Q.COMMON, V.TBC, 335, 345, 355, 365)
 	self:AddRecipeFlags(31052, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(31052, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(31052, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- Khorium Band of Shadows -- 31053
 	AddRecipe(31053, 350, 24079, Q.RARE, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(31053, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(31053, A.MOB, 19826)
+	self:AddRecipeMobDrop(31053, 19826)

 	-- Khorium Band of Frost -- 31054
 	AddRecipe(31054, 355, 24080, Q.RARE, V.TBC, 355, 365, 372, 380)
 	self:AddRecipeFlags(31054, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(31054, A.MOB, 17722)
+	self:AddRecipeMobDrop(31054, 17722)

 	-- Khorium Inferno Band -- 31055
 	AddRecipe(31055, 355, 24082, Q.RARE, V.TBC, 355, 365, 372, 380)
 	self:AddRecipeFlags(31055, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(31055, A.MOB, 18472)
+	self:AddRecipeMobDrop(31055, 18472)

 	-- Khorium Band of Leaves -- 31056
 	AddRecipe(31056, 360, 24085, Q.RARE, V.TBC, 360, 370, 375, 380)
 	self:AddRecipeFlags(31056, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(31056, A.MOB, 19984)
+	self:AddRecipeMobDrop(31056, 19984)

 	-- Arcane Khorium Band -- 31057
 	AddRecipe(31057, 365, 24086, Q.RARE, V.TBC, 365, 370, 375, 380)
 	self:AddRecipeFlags(31057, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(31057, A.MOB, 18866)
+	self:AddRecipeMobDrop(31057, 18866)

 	-- Heavy Felsteel Ring -- 31058
 	AddRecipe(31058, 345, 24087, Q.RARE, V.TBC, 345, 355, 365, 375)
@@ -512,7 +513,7 @@ function addon:InitJewelcrafting()

 	-- Delicate Eternium Ring -- 31060
 	AddRecipe(31060, 355, 24088, Q.RARE, V.TBC, 355, 365, 375, 385)
-	self:AddRecipeFlags(31060, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.TANK, F.DPS, F.RING)
+	self:AddRecipeFlags(31060, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOE, F.DPS, F.TANK, F.RING)
 	self:AddRecipeAcquire(31060, A.WORLD_DROP, 3)

 	-- Blazing Eternium Band -- 31061
@@ -523,27 +524,27 @@ function addon:InitJewelcrafting()
 	-- Pendant of Frozen Flame -- 31062
 	AddRecipe(31062, 360, 24092, Q.RARE, V.TBC, 360, 370, 375, 380)
 	self:AddRecipeFlags(31062, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.NECK, F.KOT)
-	self:AddRecipeAcquire(31062, A.REPUTATION, FAC.KEEPERS_OF_TIME, REP.REVERED, 21643)
+	self:AddRecipeRepVendor(31062, FAC.KEEPERS_OF_TIME, REP.REVERED, 21643)

 	-- Pendant of Thawing -- 31063
 	AddRecipe(31063, 360, 24093, Q.RARE, V.TBC, 360, 370, 375, 380)
 	self:AddRecipeFlags(31063, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.NECK, F.LOWERCITY)
-	self:AddRecipeAcquire(31063, A.REPUTATION, FAC.LOWERCITY, REP.REVERED, 21655)
+	self:AddRecipeRepVendor(31063, FAC.LOWERCITY, REP.REVERED, 21655)

 	-- Pendant of Withering -- 31064
 	AddRecipe(31064, 360, 24095, Q.RARE, V.TBC, 360, 370, 375, 380)
 	self:AddRecipeFlags(31064, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.NECK, F.SCRYER)
-	self:AddRecipeAcquire(31064, A.REPUTATION, FAC.SCRYER, REP.REVERED, 19331)
+	self:AddRecipeRepVendor(31064, FAC.SCRYER, REP.REVERED, 19331)

 	-- Pendant of Shadow's End -- 31065
 	AddRecipe(31065, 360, 24097, Q.RARE, V.TBC, 360, 370, 375, 380)
 	self:AddRecipeFlags(31065, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.NECK, F.ALDOR)
-	self:AddRecipeAcquire(31065, A.REPUTATION, FAC.ALDOR, REP.REVERED, 19321)
+	self:AddRecipeRepVendor(31065, FAC.ALDOR, REP.REVERED, 19321)

 	-- Pendant of the Null Rune -- 31066
 	AddRecipe(31066, 360, 24098, Q.RARE, V.TBC, 360, 370, 375, 380)
 	self:AddRecipeFlags(31066, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.NECK, F.CONSORTIUM)
-	self:AddRecipeAcquire(31066, A.REPUTATION, FAC.CONSORTIUM, REP.REVERED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.REVERED, 23007)
+	self:AddRecipeRepVendor(31066, FAC.CONSORTIUM, REP.REVERED, 20242, 23007)

 	-- Thick Felsteel Necklace -- 31067
 	AddRecipe(31067, 355, 24106, Q.RARE, V.TBC, 355, 365, 375, 385)
@@ -578,37 +579,38 @@ function addon:InitJewelcrafting()
 	-- Coronet of Verdant Flame -- 31077
 	AddRecipe(31077, 370, 24122, Q.EPIC, V.TBC, 370, 375, 380, 385)
 	self:AddRecipeFlags(31077, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(31077, A.MOB, 18422)
+	self:AddRecipeMobDrop(31077, 18422)

 	-- Circlet of Arcane Might -- 31078
 	AddRecipe(31078, 370, 24123, Q.EPIC, V.TBC, 370, 375, 380, 385)
 	self:AddRecipeFlags(31078, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(31078, A.MOB, 18096)
+	self:AddRecipeMobDrop(31078, 18096)

 	-- Figurine - Felsteel Boar -- 31079
 	AddRecipe(31079, 370, 24124, Q.RARE, V.TBC, 370, 375, 380, 385)
 	self:AddRecipeFlags(31079, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.DPS, F.TRINKET, F.LOWERCITY)
-	self:AddRecipeAcquire(31079, A.REPUTATION, FAC.LOWERCITY, REP.REVERED, 21655)
+	self:AddRecipeRepVendor(31079, FAC.LOWERCITY, REP.REVERED, 21655)

 	-- Figurine - Dawnstone Crab -- 31080
 	AddRecipe(31080, 370, 24125, Q.RARE, V.TBC, 370, 375, 380, 385)
 	self:AddRecipeFlags(31080, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.TANK, F.TRINKET, F.HELLFIRE)
-	self:AddRecipeAcquire(31080, A.REPUTATION, FAC.HONOR_HOLD, REP.REVERED, 17657, A.REPUTATION, FAC.THRALLMAR, REP.REVERED, 17585)
+	self:AddRecipeRepVendor(31080, FAC.HONOR_HOLD, REP.REVERED, 17657)
+	self:AddRecipeRepVendor(31080, FAC.THRALLMAR, REP.REVERED, 17585)

 	-- Figurine - Living Ruby Serpent -- 31081
 	AddRecipe(31081, 370, 24126, Q.RARE, V.TBC, 370, 375, 380, 385)
 	self:AddRecipeFlags(31081, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.TRINKET, F.KOT)
-	self:AddRecipeAcquire(31081, A.REPUTATION, FAC.KEEPERS_OF_TIME, REP.REVERED, 21643)
+	self:AddRecipeRepVendor(31081, FAC.KEEPERS_OF_TIME, REP.REVERED, 21643)

 	-- Figurine - Talasite Owl -- 31082
 	AddRecipe(31082, 370, 24127, Q.RARE, V.TBC, 370, 375, 380, 385)
 	self:AddRecipeFlags(31082, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.TRINKET, F.SHATAR)
-	self:AddRecipeAcquire(31082, A.REPUTATION, FAC.SHATAR, REP.REVERED, 21432)
+	self:AddRecipeRepVendor(31082, FAC.SHATAR, REP.REVERED, 21432)

 	-- Figurine - Nightseye Panther -- 31083
 	AddRecipe(31083, 370, 24128, Q.RARE, V.TBC, 370, 375, 380, 385)
 	self:AddRecipeFlags(31083, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.DPS, F.TRINKET, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(31083, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.REVERED, 17904)
+	self:AddRecipeRepVendor(31083, FAC.CENARION_EXPEDITION, REP.REVERED, 17904)

 	-- Bold Living Ruby -- 31084
 	AddRecipe(31084, 350, 24027, Q.RARE, V.TBC, 350, 350, 365, 380)
@@ -628,12 +630,14 @@ function addon:InitJewelcrafting()
 	-- Runed Living Ruby -- 31088
 	AddRecipe(31088, 350, 24030, Q.RARE, V.TBC, 350, 350, 365, 380)
 	self:AddRecipeFlags(31088, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.MOB_DROP, F.IBOE, F.RBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(31088, A.MOB, 24664, A.WORLD_DROP, 3)
+	self:AddRecipeMobDrop(31088, 24664)
+	self:AddRecipeAcquire(31088, A.WORLD_DROP, 3)

 	-- Bright Living Ruby -- 31089
 	AddRecipe(31089, 350, 24031, Q.RARE, V.TBC, 350, 350, 365, 380)
 	self:AddRecipeFlags(31089, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.MOB_DROP, F.IBOE, F.RBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(31089, A.MOB, 24664, A.WORLD_DROP, 3)
+	self:AddRecipeMobDrop(31089, 24664)
+	self:AddRecipeAcquire(31089, A.WORLD_DROP, 3)

 	-- Subtle Living Ruby -- 31090
 	AddRecipe(31090, 350, 24032, Q.RARE, V.TBC, 350, 350, 365, 380)
@@ -648,7 +652,8 @@ function addon:InitJewelcrafting()
 	-- Solid Star of Elune -- 31092
 	AddRecipe(31092, 350, 24033, Q.RARE, V.TBC, 350, 350, 365, 380)
 	self:AddRecipeFlags(31092, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.MOB_DROP, F.IBOE, F.RBOE, F.RBOP)
-	self:AddRecipeAcquire(31092, A.MOB, 24664, A.WORLD_DROP, 3)
+	self:AddRecipeMobDrop(31092, 24664)
+	self:AddRecipeAcquire(31092, A.WORLD_DROP, 3)

 	-- Lustrous Star of Elune -- 31094
 	AddRecipe(31094, 350, 24037, Q.RARE, V.TBC, 350, 350, 365, 380)
@@ -673,7 +678,8 @@ function addon:InitJewelcrafting()
 	-- Rigid Dawnstone -- 31098
 	AddRecipe(31098, 350, 24051, Q.RARE, V.TBC, 350, 350, 365, 380)
 	self:AddRecipeFlags(31098, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.MOB_DROP, F.IBOE, F.RBOE, F.RBOP)
-	self:AddRecipeAcquire(31098, A.MOB, 24664, A.WORLD_DROP, 3)
+	self:AddRecipeMobDrop(31098, 24664)
+	self:AddRecipeAcquire(31098, A.WORLD_DROP, 3)

 	-- Gleaming Dawnstone -- 31099
 	AddRecipe(31099, 350, 24050, Q.RARE, V.TBC, 350, 350, 365, 380)
@@ -688,7 +694,7 @@ function addon:InitJewelcrafting()
 	-- Mystic Dawnstone -- 31101
 	AddRecipe(31101, 350, 24053, Q.RARE, V.TBC, 350, 350, 365, 380)
 	self:AddRecipeFlags(31101, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(31101, A.VENDOR, 21474, A.VENDOR, 21485)
+	self:AddRecipeVendor(31101, 21474, 21485)

 	-- Sovereign Nightseye -- 31102
 	AddRecipe(31102, 350, 24054, Q.RARE, V.TBC, 350, 350, 365, 380)
@@ -758,12 +764,12 @@ function addon:InitJewelcrafting()
 	-- Malachite Pendant -- 32178
 	AddRecipe(32178, 20, 25438, Q.COMMON, V.TBC, 20, 50, 65, 80)
 	self:AddRecipeFlags(32178, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.NECK)
-	self:AddRecipeAcquire(32178, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(32178, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 18774, 28701, 15501)

 	-- Tigerseye Band -- 32179
 	AddRecipe(32179, 20, 25439, Q.COMMON, V.TBC, 20, 50, 65, 80)
 	self:AddRecipeFlags(32179, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(32179, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(32179, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 18774, 28701, 15501)

 	-- Rough Stone Statue -- 32259
 	AddRecipe(32259, 1, 25498, Q.COMMON, V.TBC, 1, 30, 40, 50)
@@ -773,32 +779,32 @@ function addon:InitJewelcrafting()
 	-- Coarse Stone Statue -- 32801
 	AddRecipe(32801, 50, 25880, Q.COMMON, V.TBC, 50, 70, 80, 90)
 	self:AddRecipeFlags(32801, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(32801, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(32801, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 18774, 28701, 15501)

 	-- Heavy Stone Statue -- 32807
 	AddRecipe(32807, 110, 25881, Q.COMMON, V.TBC, 110, 120, 130, 140)
 	self:AddRecipeFlags(32807, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(32807, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(32807, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Solid Stone Statue -- 32808
 	AddRecipe(32808, 175, 25882, Q.COMMON, V.TBC, 175, 175, 185, 195)
 	self:AddRecipeFlags(32808, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(32808, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(32808, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Dense Stone Statue -- 32809
 	AddRecipe(32809, 225, 25883, Q.COMMON, V.TBC, 225, 225, 235, 245)
 	self:AddRecipeFlags(32809, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(32809, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(32809, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Powerful Earthstorm Diamond -- 32866
 	AddRecipe(32866, 365, 25896, Q.COMMON, V.TBC, 365, 375, 377, 380)
 	self:AddRecipeFlags(32866, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CONSORTIUM)
-	self:AddRecipeAcquire(32866, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 17518)
+	self:AddRecipeRepVendor(32866, FAC.CONSORTIUM, REP.HONORED, 17518)

 	-- Bracing Earthstorm Diamond -- 32867
 	AddRecipe(32867, 365, 25897, Q.COMMON, V.TBC, 365, 375, 377, 380)
 	self:AddRecipeFlags(32867, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CONSORTIUM)
-	self:AddRecipeAcquire(32867, A.REPUTATION, FAC.CONSORTIUM, REP.REVERED, 17518)
+	self:AddRecipeRepVendor(32867, FAC.CONSORTIUM, REP.REVERED, 17518)

 	-- Tenacious Earthstorm Diamond -- 32868
 	AddRecipe(32868, 365, 25898, Q.RARE, V.TBC, 365, 375, 377, 380)
@@ -813,7 +819,7 @@ function addon:InitJewelcrafting()
 	-- Insightful Earthstorm Diamond -- 32870
 	AddRecipe(32870, 365, 25901, Q.COMMON, V.TBC, 365, 375, 377, 380)
 	self:AddRecipeFlags(32870, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SHATAR)
-	self:AddRecipeAcquire(32870, A.REPUTATION, FAC.SHATAR, REP.FRIENDLY, 21432)
+	self:AddRecipeRepVendor(32870, FAC.SHATAR, REP.FRIENDLY, 21432)

 	-- Destructive Skyfire Diamond -- 32871
 	AddRecipe(32871, 365, 25890, Q.RARE, V.TBC, 365, 375, 377, 380)
@@ -828,92 +834,92 @@ function addon:InitJewelcrafting()
 	-- Swift Skyfire Diamond -- 32873
 	AddRecipe(32873, 365, 25894, Q.COMMON, V.TBC, 365, 375, 377, 380)
 	self:AddRecipeFlags(32873, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.CONSORTIUM)
-	self:AddRecipeAcquire(32873, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 23007)
+	self:AddRecipeRepVendor(32873, FAC.CONSORTIUM, REP.HONORED, 20242, 23007)

 	-- Enigmatic Skyfire Diamond -- 32874
 	AddRecipe(32874, 365, 25895, Q.COMMON, V.TBC, 365, 375, 377, 380)
 	self:AddRecipeFlags(32874, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.KOT)
-	self:AddRecipeAcquire(32874, A.REPUTATION, FAC.KEEPERS_OF_TIME, REP.HONORED, 21643)
+	self:AddRecipeRepVendor(32874, FAC.KEEPERS_OF_TIME, REP.HONORED, 21643)

 	-- Smooth Golden Draenite -- 34069
 	AddRecipe(34069, 325, 28290, Q.UNCOMMON, V.TBC, 325, 325, 340, 355)
 	self:AddRecipeFlags(34069, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(34069, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(34069, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Bright Blood Garnet -- 34590
 	AddRecipe(34590, 305, 28595, Q.COMMON, V.TBC, 305, 305, 325, 345)
 	self:AddRecipeFlags(34590, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(34590, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(34590, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Golden Ring of Power -- 34955
 	AddRecipe(34955, 180, 29157, Q.COMMON, V.TBC, 180, 190, 200, 210)
 	self:AddRecipeFlags(34955, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(34955, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(34955, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Truesilver Commander's Ring -- 34959
 	AddRecipe(34959, 200, 29158, Q.COMMON, V.TBC, 200, 210, 220, 230)
 	self:AddRecipeFlags(34959, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(34959, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(34959, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Glowing Thorium Band -- 34960
 	AddRecipe(34960, 280, 29159, Q.COMMON, V.TBC, 280, 290, 300, 310)
 	self:AddRecipeFlags(34960, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(34960, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(34960, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Emerald Lion Ring -- 34961
 	AddRecipe(34961, 290, 29160, Q.COMMON, V.TBC, 290, 300, 310, 320)
 	self:AddRecipeFlags(34961, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(34961, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(34961, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Brilliant Necklace -- 36523
 	AddRecipe(36523, 75, 30419, Q.COMMON, V.TBC, 75, 105, 120, 135)
 	self:AddRecipeFlags(36523, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.NECK)
-	self:AddRecipeAcquire(36523, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(36523, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Heavy Jade Ring -- 36524
 	AddRecipe(36524, 105, 30420, Q.COMMON, V.TBC, 105, 135, 150, 165)
 	self:AddRecipeFlags(36524, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(36524, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(36524, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Red Ring of Destruction -- 36525
 	AddRecipe(36525, 230, 30421, Q.COMMON, V.TBC, 230, 255, 270, 285)
 	self:AddRecipeFlags(36525, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(36525, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(36525, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Diamond Focus Ring -- 36526
 	AddRecipe(36526, 265, 30422, Q.COMMON, V.TBC, 265, 285, 295, 305)
 	self:AddRecipeFlags(36526, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(36526, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(36526, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Bronze Band of Force -- 37818
 	AddRecipe(37818, 65, 30804, Q.COMMON, V.TBC, 65, 95, 110, 125)
 	self:AddRecipeFlags(37818, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(37818, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(37818, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- Ring of Arcane Shielding -- 37855
 	AddRecipe(37855, 360, 30825, Q.RARE, V.TBC, 360, 370, 375, 380)
 	self:AddRecipeFlags(37855, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.RING, F.SHATAR)
-	self:AddRecipeAcquire(37855, A.REPUTATION, FAC.SHATAR, REP.HONORED, 21432)
+	self:AddRecipeRepVendor(37855, FAC.SHATAR, REP.HONORED, 21432)

 	-- Mercurial Adamantite -- 38068
 	AddRecipe(38068, 325, 31079, Q.COMMON, V.TBC, 325, 325, 335, 345)
 	self:AddRecipeFlags(38068, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(38068, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(38068, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- Bronze Torc -- 38175
 	AddRecipe(38175, 80, 31154, Q.COMMON, V.TBC, 80, 110, 125, 140)
 	self:AddRecipeFlags(38175, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.NECK)
-	self:AddRecipeAcquire(38175, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 19775, A.TRAINER, 19778, A.TRAINER, 28701, A.TRAINER, 15501, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(38175, 33680, 33614, 26960, 26915, 26982, 33590, 19778, 26997, 18751, 19775, 19539, 19063, 15501, 28701, 18774)

 	-- The Frozen Eye -- 38503
 	AddRecipe(38503, 375, 31398, Q.EPIC, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(38503, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.RING, F.VIOLETEYE)
-	self:AddRecipeAcquire(38503, A.REPUTATION, FAC.VIOLETEYE, REP.HONORED, 18255)
+	self:AddRecipeRepVendor(38503, FAC.VIOLETEYE, REP.HONORED, 18255)

 	-- The Natural Ward -- 38504
 	AddRecipe(38504, 375, 31399, Q.EPIC, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(38504, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.RING, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(38504, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.EXALTED, 17904)
+	self:AddRecipeRepVendor(38504, FAC.CENARION_EXPEDITION, REP.EXALTED, 17904)

 	-- Great Golden Draenite -- 39451
 	AddRecipe(39451, 325, 31860, Q.UNCOMMON, V.TBC, 325, 325, 340, 355)
@@ -968,177 +974,211 @@ function addon:InitJewelcrafting()
 	-- Bold Crimson Spinel -- 39705
 	AddRecipe(39705, 375, 32193, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39705, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39705, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)
+	self:AddRecipeRepVendor(39705, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39705, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Delicate Crimson Spinel -- 39706
 	AddRecipe(39706, 375, 32194, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39706, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39706, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666)
+	self:AddRecipeRepVendor(39706, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39706, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Teardrop Crimson Spinel -- 39710
 	AddRecipe(39710, 375, 32195, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39710, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39710, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)
+	self:AddRecipeRepVendor(39710, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39710, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Runed Crimson Spinel -- 39711
 	AddRecipe(39711, 375, 32196, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39711, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39711, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)
+	self:AddRecipeRepVendor(39711, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39711, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Bright Crimson Spinel -- 39712
 	AddRecipe(39712, 375, 32197, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39712, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39712, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)
+	self:AddRecipeRepVendor(39712, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39712, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Subtle Crimson Spinel -- 39713
 	AddRecipe(39713, 375, 32198, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39713, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39713, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)
+	self:AddRecipeRepVendor(39713, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39713, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Flashing Crimson Spinel -- 39714
 	AddRecipe(39714, 375, 32199, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39714, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.TANK, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39714, A.CUSTOM, 27, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 27666, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25950)
+	self:AddRecipeRepVendor(39714, FAC.SHATTEREDSUN, REP.EXALTED, 27666, 25950)
+	self:AddRecipeAcquire(39714, A.CUSTOM, 27)

 	-- Solid Empyrean Sapphire -- 39715
 	AddRecipe(39715, 375, 32200, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39715, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39715, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)
+	self:AddRecipeRepVendor(39715, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39715, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Sparkling Empyrean Sapphire -- 39716
 	AddRecipe(39716, 375, 32201, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39716, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39716, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)
+	self:AddRecipeRepVendor(39716, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39716, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Lustrous Empyrean Sapphire -- 39717
 	AddRecipe(39717, 375, 32202, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39717, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39717, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)
+	self:AddRecipeRepVendor(39717, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39717, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Stormy Empyrean Sapphire -- 39718
 	AddRecipe(39718, 375, 32203, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39718, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.CASTER, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39718, A.CUSTOM, 27, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 27666, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25950)
+	self:AddRecipeRepVendor(39718, FAC.SHATTEREDSUN, REP.EXALTED, 27666, 25950)
+	self:AddRecipeAcquire(39718, A.CUSTOM, 27)

 	-- Brilliant Lionseye -- 39719
 	AddRecipe(39719, 375, 32204, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39719, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39719, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666)
+	self:AddRecipeRepVendor(39719, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39719, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Smooth Lionseye -- 39720
 	AddRecipe(39720, 375, 32205, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39720, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39720, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)
+	self:AddRecipeRepVendor(39720, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39720, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Rigid Lionseye -- 39721
 	AddRecipe(39721, 375, 32206, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39721, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39721, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.REVERED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 27666)
+	self:AddRecipeRepVendor(39721, FAC.SHATTEREDSUN, REP.REVERED, 25950, 27666)
+	self:AddRecipeRepVendor(39721, FAC.SCALE_OF_SANDS, REP.REVERED, 23437)

 	-- Gleaming Lionseye -- 39722
 	AddRecipe(39722, 375, 32207, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39722, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39722, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)
+	self:AddRecipeRepVendor(39722, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39722, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Thick Lionseye -- 39723
 	AddRecipe(39723, 375, 32208, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39723, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39723, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.FRIENDLY, 27666, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)
+	self:AddRecipeRepVendor(39723, FAC.SHATTEREDSUN, REP.FRIENDLY, 25950, 27666)
+	self:AddRecipeRepVendor(39723, FAC.SCALE_OF_SANDS, REP.FRIENDLY, 23437)

 	-- Mystic Lionseye -- 39724
 	AddRecipe(39724, 375, 32209, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39724, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39724, A.CUSTOM, 27, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 27666, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25950)
+	self:AddRecipeRepVendor(39724, FAC.SHATTEREDSUN, REP.EXALTED, 27666, 25950)
+	self:AddRecipeAcquire(39724, A.CUSTOM, 27)

 	-- Great Lionseye -- 39725
 	AddRecipe(39725, 375, 32210, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39725, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39725, A.CUSTOM, 27, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 27666, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25950)
+	self:AddRecipeRepVendor(39725, FAC.SHATTEREDSUN, REP.EXALTED, 27666, 25950)
+	self:AddRecipeAcquire(39725, A.CUSTOM, 27)

 	-- Sovereign Shadowsong Amethyst -- 39727
 	AddRecipe(39727, 375, 32211, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39727, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.DPS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39727, A.CUSTOM, 27, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 27666, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25950)
+	self:AddRecipeRepVendor(39727, FAC.SHATTEREDSUN, REP.EXALTED, 27666, 25950)
+	self:AddRecipeAcquire(39727, A.CUSTOM, 27)

 	-- Shifting Shadowsong Amethyst -- 39728
 	AddRecipe(39728, 375, 32212, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39728, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.DPS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39728, A.CUSTOM, 27, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 27666, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25950)
+	self:AddRecipeRepVendor(39728, FAC.SHATTEREDSUN, REP.EXALTED, 27666, 25950)
+	self:AddRecipeAcquire(39728, A.CUSTOM, 27)

 	-- Balanced Shadowsong Amethyst -- 39729
 	AddRecipe(39729, 375, 32213, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39729, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39729, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 27666)
+	self:AddRecipeRepVendor(39729, FAC.SHATTEREDSUN, REP.HONORED, 25950, 27666)
+	self:AddRecipeRepVendor(39729, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)

 	-- Infused Shadowsong Amethyst -- 39730
 	AddRecipe(39730, 375, 32214, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39730, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39730, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 27666)
+	self:AddRecipeRepVendor(39730, FAC.SHATTEREDSUN, REP.HONORED, 25950, 27666)
+	self:AddRecipeRepVendor(39730, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)

 	-- Glowing Shadowsong Amethyst -- 39731
 	AddRecipe(39731, 375, 32215, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39731, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39731, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 27666)
+	self:AddRecipeRepVendor(39731, FAC.SHATTEREDSUN, REP.HONORED, 25950, 27666)
+	self:AddRecipeRepVendor(39731, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)

 	-- Royal Shadowsong Amethyst -- 39732
 	AddRecipe(39732, 375, 32216, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39732, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39732, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.REVERED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 27666)
+	self:AddRecipeRepVendor(39732, FAC.SHATTEREDSUN, REP.REVERED, 25950, 27666)
+	self:AddRecipeRepVendor(39732, FAC.SCALE_OF_SANDS, REP.REVERED, 23437)

 	-- Inscribed Pyrestone -- 39733
 	AddRecipe(39733, 375, 32217, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39733, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.DPS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39733, A.CUSTOM, 27, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 27666, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25950)
+	self:AddRecipeRepVendor(39733, FAC.SHATTEREDSUN, REP.EXALTED, 27666, 25950)
+	self:AddRecipeAcquire(39733, A.CUSTOM, 27)

 	-- Potent Pyrestone -- 39734
 	AddRecipe(39734, 375, 32218, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39734, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39734, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 27666)
+	self:AddRecipeRepVendor(39734, FAC.SHATTEREDSUN, REP.HONORED, 25950, 27666)
+	self:AddRecipeRepVendor(39734, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)

 	-- Luminous Pyrestone -- 39735
 	AddRecipe(39735, 375, 32219, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39735, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39735, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 27666)
+	self:AddRecipeRepVendor(39735, FAC.SHATTEREDSUN, REP.HONORED, 25950, 27666)
+	self:AddRecipeRepVendor(39735, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)

 	-- Glinting Pyrestone -- 39736
 	AddRecipe(39736, 375, 32220, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39736, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39736, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 27666)
+	self:AddRecipeRepVendor(39736, FAC.SHATTEREDSUN, REP.HONORED, 25950, 27666)
+	self:AddRecipeRepVendor(39736, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)

 	-- Veiled Pyrestone -- 39737
 	AddRecipe(39737, 375, 32221, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39737, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39737, A.CUSTOM, 27, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 27666, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25950)
+	self:AddRecipeRepVendor(39737, FAC.SHATTEREDSUN, REP.EXALTED, 27666, 25950)
+	self:AddRecipeAcquire(39737, A.CUSTOM, 27)

 	-- Wicked Pyrestone -- 39738
 	AddRecipe(39738, 375, 32222, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39738, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39738, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.REVERED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 27666)
+	self:AddRecipeRepVendor(39738, FAC.SHATTEREDSUN, REP.REVERED, 25950, 27666)
+	self:AddRecipeRepVendor(39738, FAC.SCALE_OF_SANDS, REP.REVERED, 23437)

 	-- Enduring Seaspray Emerald -- 39739
 	AddRecipe(39739, 375, 32223, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39739, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39739, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.REVERED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 27666)
+	self:AddRecipeRepVendor(39739, FAC.SHATTEREDSUN, REP.REVERED, 25950, 27666)
+	self:AddRecipeRepVendor(39739, FAC.SCALE_OF_SANDS, REP.REVERED, 23437)

 	-- Radiant Seaspray Emerald -- 39740
 	AddRecipe(39740, 375, 32224, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39740, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CASTER, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39740, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 27666)
+	self:AddRecipeRepVendor(39740, FAC.SHATTEREDSUN, REP.HONORED, 25950, 27666)
+	self:AddRecipeRepVendor(39740, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)

 	-- Dazzling Seaspray Emerald -- 39741
 	AddRecipe(39741, 375, 32225, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39741, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39741, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 27666)
+	self:AddRecipeRepVendor(39741, FAC.SHATTEREDSUN, REP.HONORED, 25950, 27666)
+	self:AddRecipeRepVendor(39741, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)

 	-- Jagged Seaspray Emerald -- 39742
 	AddRecipe(39742, 375, 32226, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(39742, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(39742, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.HONORED, 27666)
+	self:AddRecipeRepVendor(39742, FAC.SHATTEREDSUN, REP.HONORED, 25950, 27666)
+	self:AddRecipeRepVendor(39742, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)

 	-- Relentless Earthstorm Diamond -- 39961
 	AddRecipe(39961, 365, 32409, Q.RARE, V.TBC, 365, 375, 377, 380)
 	self:AddRecipeFlags(39961, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.CONSORTIUM)
-	self:AddRecipeAcquire(39961, A.REPUTATION, FAC.CONSORTIUM, REP.EXALTED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.EXALTED, 23007)
+	self:AddRecipeRepVendor(39961, FAC.CONSORTIUM, REP.EXALTED, 20242, 23007)

 	-- Thundering Skyfire Diamond -- 39963
 	AddRecipe(39963, 365, 32410, Q.RARE, V.TBC, 365, 375, 377, 380)
@@ -1148,77 +1188,77 @@ function addon:InitJewelcrafting()
 	-- Necklace of the Deep -- 40514
 	AddRecipe(40514, 340, 32508, Q.COMMON, V.TBC, 340, 340, 355, 370)
 	self:AddRecipeFlags(40514, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.NECK)
-	self:AddRecipeAcquire(40514, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(40514, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- Brilliant Pearl Band -- 41414
 	AddRecipe(41414, 325, 32772, Q.COMMON, V.TBC, 325, 335, 345, 355)
 	self:AddRecipeFlags(41414, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(41414, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(41414, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- The Black Pearl -- 41415
 	AddRecipe(41415, 330, 32774, Q.COMMON, V.TBC, 330, 340, 350, 360)
 	self:AddRecipeFlags(41415, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(41415, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(41415, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- Crown of the Sea Witch -- 41418
 	AddRecipe(41418, 365, 32776, Q.COMMON, V.TBC, 365, 375, 380, 385)
 	self:AddRecipeFlags(41418, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(41418, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(41418, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- Purified Jaggal Pearl -- 41420
 	AddRecipe(41420, 325, 32833, Q.COMMON, V.TBC, 325, 325, 332, 340)
 	self:AddRecipeFlags(41420, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(41420, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(41420, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- Purified Shadow Pearl -- 41429
 	AddRecipe(41429, 350, 32836, Q.COMMON, V.TBC, 350, 350, 365, 380)
 	self:AddRecipeFlags(41429, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(41429, A.TRAINER, 18751, A.TRAINER, 18774, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 26997, A.TRAINER, 26982, A.TRAINER, 33614, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 33680)
+	self:AddRecipeTrainer(41429, 33614, 33680, 26960, 33590, 26982, 18751, 26915, 19539, 19063, 18774, 28701, 26997)

 	-- Don Julio's Heart -- 42558
 	AddRecipe(42558, 360, 33133, Q.COMMON, V.TBC, 360, 365, 370, 375)
 	self:AddRecipeFlags(42558, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.CONSORTIUM)
-	self:AddRecipeAcquire(42558, A.REPUTATION, FAC.CONSORTIUM, REP.REVERED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.REVERED, 23007)
+	self:AddRecipeRepVendor(42558, FAC.CONSORTIUM, REP.REVERED, 20242, 23007)

 	-- Kailee's Rose -- 42588
 	AddRecipe(42588, 360, 33134, Q.COMMON, V.TBC, 360, 365, 370, 375)
 	self:AddRecipeFlags(42588, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.SHATAR)
-	self:AddRecipeAcquire(42588, A.REPUTATION, FAC.SHATAR, REP.HONORED, 21432)
+	self:AddRecipeRepVendor(42588, FAC.SHATAR, REP.HONORED, 21432)

 	-- Crimson Sun -- 42589
 	AddRecipe(42589, 360, 33131, Q.COMMON, V.TBC, 360, 365, 370, 375)
 	self:AddRecipeFlags(42589, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.DPS, F.CONSORTIUM)
-	self:AddRecipeAcquire(42589, A.REPUTATION, FAC.CONSORTIUM, REP.REVERED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.REVERED, 23007)
+	self:AddRecipeRepVendor(42589, FAC.CONSORTIUM, REP.REVERED, 20242, 23007)

 	-- Falling Star -- 42590
 	AddRecipe(42590, 360, 33135, Q.COMMON, V.TBC, 360, 365, 370, 375)
 	self:AddRecipeFlags(42590, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.LOWERCITY)
-	self:AddRecipeAcquire(42590, A.REPUTATION, FAC.LOWERCITY, REP.REVERED, 21655)
+	self:AddRecipeRepVendor(42590, FAC.LOWERCITY, REP.REVERED, 21655)

 	-- Stone of Blades -- 42591
 	AddRecipe(42591, 360, 33143, Q.COMMON, V.TBC, 360, 365, 370, 375)
 	self:AddRecipeFlags(42591, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.KOT)
-	self:AddRecipeAcquire(42591, A.REPUTATION, FAC.KEEPERS_OF_TIME, REP.REVERED, 21643)
+	self:AddRecipeRepVendor(42591, FAC.KEEPERS_OF_TIME, REP.REVERED, 21643)

 	-- Blood of Amber -- 42592
 	AddRecipe(42592, 360, 33140, Q.COMMON, V.TBC, 360, 365, 370, 375)
 	self:AddRecipeFlags(42592, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.DPS, F.SHATAR)
-	self:AddRecipeAcquire(42592, A.REPUTATION, FAC.SHATAR, REP.REVERED, 21432)
+	self:AddRecipeRepVendor(42592, FAC.SHATAR, REP.REVERED, 21432)

 	-- Facet of Eternity -- 42593
 	AddRecipe(42593, 360, 33144, Q.COMMON, V.TBC, 360, 365, 370, 375)
 	self:AddRecipeFlags(42593, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.TANK, F.KOT)
-	self:AddRecipeAcquire(42593, A.REPUTATION, FAC.KEEPERS_OF_TIME, REP.HONORED, 21643)
+	self:AddRecipeRepVendor(42593, FAC.KEEPERS_OF_TIME, REP.HONORED, 21643)

 	-- Steady Talasite -- 43493
 	AddRecipe(43493, 350, 33782, Q.RARE, V.TBC, 350, 350, 365, 380)
 	self:AddRecipeFlags(43493, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(43493, A.VENDOR, 18821, A.VENDOR, 18822)
+	self:AddRecipeVendor(43493, 18821, 18822)

 	-- Chaotic Skyfire Diamond -- 44794
 	AddRecipe(44794, 365, 34220, Q.RARE, V.TBC, 365, 375, 377, 380)
 	self:AddRecipeFlags(44794, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44794, A.MOB, 19768)
+	self:AddRecipeMobDrop(44794, 19768)

 	-- Loop of Forged Power -- 46122
 	AddRecipe(46122, 365, 34362, Q.EPIC, V.TBC, 365, 375, 380, 385)
@@ -1253,532 +1293,536 @@ function addon:InitJewelcrafting()
 	-- Quick Dawnstone -- 46403
 	AddRecipe(46403, 350, 35315, Q.RARE, V.TBC, 350, 350, 365, 380)
 	self:AddRecipeFlags(46403, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(46403, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 27666)
+	self:AddRecipeRepVendor(46403, FAC.SHATTEREDSUN, REP.EXALTED, 25950, 27666)

 	-- Reckless Noble Topaz -- 46404
 	AddRecipe(46404, 350, 35316, Q.RARE, V.TBC, 350, 350, 365, 380)
 	self:AddRecipeFlags(46404, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(46404, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 27666)
+	self:AddRecipeRepVendor(46404, FAC.SHATTEREDSUN, REP.EXALTED, 25950, 27666)

 	-- Forceful Talasite -- 46405
 	AddRecipe(46405, 350, 35318, Q.RARE, V.TBC, 350, 350, 365, 380)
 	self:AddRecipeFlags(46405, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(46405, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 27666)
+	self:AddRecipeRepVendor(46405, FAC.SHATTEREDSUN, REP.EXALTED, 25950, 27666)

 	-- Eternal Earthstorm Diamond -- 46597
 	AddRecipe(46597, 370, 35501, Q.COMMON, V.TBC, 370, 375, 377, 380)
 	self:AddRecipeFlags(46597, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(46597, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25032)
+	self:AddRecipeRepVendor(46597, FAC.SHATTEREDSUN, REP.REVERED, 25032)

 	-- Ember Skyfire Diamond -- 46601
 	AddRecipe(46601, 370, 35503, Q.COMMON, V.TBC, 370, 375, 377, 380)
 	self:AddRecipeFlags(46601, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(46601, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25032)
+	self:AddRecipeRepVendor(46601, FAC.SHATTEREDSUN, REP.REVERED, 25032)

 	-- Figurine - Empyrean Tortoise -- 46775
 	AddRecipe(46775, 375, 35693, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(46775, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.TANK, F.TRINKET, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(46775, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25032)
+	self:AddRecipeRepVendor(46775, FAC.SHATTEREDSUN, REP.REVERED, 25032)

 	-- Figurine - Khorium Boar -- 46776
 	AddRecipe(46776, 375, 35694, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(46776, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.DPS, F.TRINKET, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(46776, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25032)
+	self:AddRecipeRepVendor(46776, FAC.SHATTEREDSUN, REP.REVERED, 25032)

 	-- Figurine - Crimson Serpent -- 46777
 	AddRecipe(46777, 375, 35700, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(46777, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.TRINKET, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(46777, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25032)
+	self:AddRecipeRepVendor(46777, FAC.SHATTEREDSUN, REP.REVERED, 25032)

 	-- Figurine - Shadowsong Panther -- 46778
 	AddRecipe(46778, 375, 35702, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(46778, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.DPS, F.TRINKET, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(46778, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25032)
+	self:AddRecipeRepVendor(46778, FAC.SHATTEREDSUN, REP.REVERED, 25032)

 	-- Figurine - Seaspray Albatross -- 46779
 	AddRecipe(46779, 375, 35703, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(46779, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.TRINKET, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(46779, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25032)
+	self:AddRecipeRepVendor(46779, FAC.SHATTEREDSUN, REP.REVERED, 25032)

 	-- Regal Nightseye -- 46803
 	AddRecipe(46803, 350, 35707, Q.COMMON, V.TBC, 350, 350, 365, 380)
 	self:AddRecipeFlags(46803, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(46803, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25032)
+	self:AddRecipeRepVendor(46803, FAC.SHATTEREDSUN, REP.REVERED, 25032)

 	-- Forceful Seaspray Emerald -- 47053
 	AddRecipe(47053, 375, 35759, Q.EPIC, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(47053, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(47053, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25032, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 27666)
+	self:AddRecipeRepVendor(47053, FAC.SHATTEREDSUN, REP.REVERED, 27666, 25950, 25032)
+	self:AddRecipeRepVendor(47053, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)

 	-- Steady Seaspray Emerald -- 47054
 	AddRecipe(47054, 375, 35758, Q.EPIC, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(47054, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(47054, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25032, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 27666)
+	self:AddRecipeRepVendor(47054, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)
+	self:AddRecipeRepVendor(47054, FAC.SHATTEREDSUN, REP.REVERED, 27666, 25950, 25032)

 	-- Reckless Pyrestone -- 47055
 	AddRecipe(47055, 375, 35760, Q.EPIC, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(47055, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(47055, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25032, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 27666)
+	self:AddRecipeRepVendor(47055, FAC.SHATTEREDSUN, REP.REVERED, 27666, 25950, 25032)
+	self:AddRecipeRepVendor(47055, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)

 	-- Quick Lionseye -- 47056
 	AddRecipe(47056, 375, 35761, Q.EPIC, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(47056, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SCALE_SANDS, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(47056, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25032, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 25950, A.REPUTATION, FAC.SCALE_OF_SANDS, REP.HONORED, 23437, A.REPUTATION, FAC.SHATTEREDSUN, REP.REVERED, 27666)
+	self:AddRecipeRepVendor(47056, FAC.SHATTEREDSUN, REP.REVERED, 27666, 25950, 25032)
+	self:AddRecipeRepVendor(47056, FAC.SCALE_OF_SANDS, REP.HONORED, 23437)

 	-- Brilliant Glass -- 47280
 	AddRecipe(47280, 350, 35945, Q.RARE, V.TBC, 350, 350, 365, 380)
 	self:AddRecipeFlags(47280, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(47280, A.TRAINER, 26997, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18751, A.TRAINER, 26915, A.TRAINER, 18774, A.TRAINER, 28701, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 33680)
+	self:AddRecipeTrainer(47280, 33614, 33680, 33590, 26915, 26997, 18751, 26960, 19539, 19063, 18774, 28701, 26982)

 	-- Purified Shadowsong Amethyst -- 48789
 	AddRecipe(48789, 375, 37503, Q.COMMON, V.TBC, 375, 375, 380, 385)
 	self:AddRecipeFlags(48789, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SHATTEREDSUN)
-	self:AddRecipeAcquire(48789, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 25950, A.REPUTATION, FAC.SHATTEREDSUN, REP.EXALTED, 27666)
+	self:AddRecipeRepVendor(48789, FAC.SHATTEREDSUN, REP.EXALTED, 25950, 27666)

 	-- Bold Scarlet Ruby -- 53830
 	AddRecipe(53830, 390, 39996, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53830, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53830, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53830, 28721, 33602)

 	-- Bold Bloodstone -- 53831
 	AddRecipe(53831, 350, 39900, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53831, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53831, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53831, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Delicate Bloodstone -- 53832
 	AddRecipe(53832, 350, 39905, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53832, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53832, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53832, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Runed Bloodstone -- 53834
 	AddRecipe(53834, 350, 39911, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53834, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53834, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53834, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Bright Bloodstone -- 53835
 	AddRecipe(53835, 350, 39906, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53835, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53835, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53835, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Subtle Bloodstone -- 53843
 	AddRecipe(53843, 360, 39907, Q.UNCOMMON, V.WOTLK, 360, 375, 395, 415)
 	self:AddRecipeFlags(53843, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53843, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53843, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Flashing Bloodstone -- 53844
 	AddRecipe(53844, 350, 39908, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53844, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53844, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53844, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Fractured Bloodstone -- 53845
 	AddRecipe(53845, 350, 39909, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53845, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53845, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53845, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Brilliant Sun Crystal -- 53852
 	AddRecipe(53852, 350, 39912, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53852, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53852, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53852, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Smooth Sun Crystal -- 53853
 	AddRecipe(53853, 350, 39914, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53853, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53853, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53853, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Rigid Sun Crystal -- 53854
 	AddRecipe(53854, 350, 39915, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53854, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53854, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53854, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Thick Sun Crystal -- 53855
 	AddRecipe(53855, 350, 39916, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53855, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53855, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53855, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Quick Sun Crystal -- 53856
 	AddRecipe(53856, 350, 39918, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53856, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53856, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53856, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Mystic Sun Crystal -- 53857
 	AddRecipe(53857, 350, 39917, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53857, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53857, A.VENDOR, 34079, A.VENDOR, 34039)
+	self:AddRecipeVendor(53857, 34079, 34039)

 	-- Sovereign Shadow Crystal -- 53859
 	AddRecipe(53859, 350, 39934, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53859, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53859, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53859, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Shifting Shadow Crystal -- 53860
 	AddRecipe(53860, 350, 39935, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53860, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53860, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53860, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Tenuous Shadow Crystal -- 53861
 	AddRecipe(53861, 350, 39942, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53861, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53861, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53861, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Glowing Shadow Crystal -- 53862
 	AddRecipe(53862, 350, 39936, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53862, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53862, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53862, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Purified Shadow Crystal -- 53863
 	AddRecipe(53863, 350, 39941, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53863, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53863, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53863, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Royal Shadow Crystal -- 53864
 	AddRecipe(53864, 350, 39943, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53864, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53864, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53864, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Mysterious Shadow Crystal -- 53865
 	AddRecipe(53865, 350, 39945, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53865, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53865, A.VENDOR, 34079, A.VENDOR, 34039)
+	self:AddRecipeVendor(53865, 34079, 34039)

 	-- Balanced Shadow Crystal -- 53866
 	AddRecipe(53866, 350, 39937, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53866, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53866, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53866, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Infused Shadow Crystal -- 53867
 	AddRecipe(53867, 350, 39944, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53867, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53867, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53867, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Regal Shadow Crystal -- 53868
 	AddRecipe(53868, 360, 39938, Q.UNCOMMON, V.WOTLK, 360, 375, 395, 415)
 	self:AddRecipeFlags(53868, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53868, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53868, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Defender's Shadow Crystal -- 53869
 	AddRecipe(53869, 350, 39939, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53869, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.KALUAK)
-	self:AddRecipeAcquire(53869, A.REPUTATION, FAC.KALUAK, REP.HONORED, 31916, A.REPUTATION, FAC.KALUAK, REP.HONORED, 32763)
+	self:AddRecipeRepVendor(53869, FAC.KALUAK, REP.HONORED, 31916, 32763)

 	-- Puissant Shadow Crystal -- 53870
 	AddRecipe(53870, 350, 39933, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53870, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53870, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53870, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Guardian's Shadow Crystal -- 53871
 	AddRecipe(53871, 350, 39940, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53871, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(53871, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53871, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Inscribed Huge Citrine -- 53872
 	AddRecipe(53872, 350, 39947, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53872, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53872, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53872, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Etched Huge Citrine -- 53873
 	AddRecipe(53873, 350, 39948, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53873, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53873, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53873, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Champion's Huge Citrine -- 53874
 	AddRecipe(53874, 350, 39949, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53874, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(53874, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53874, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Resplendent Huge Citrine -- 53875
 	AddRecipe(53875, 350, 39950, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53875, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53875, A.VENDOR, 34079, A.VENDOR, 34039)
+	self:AddRecipeVendor(53875, 34079, 34039)

 	-- Fierce Huge Citrine -- 53876
 	AddRecipe(53876, 350, 39951, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53876, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53876, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53876, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Deadly Huge Citrine -- 53877
 	AddRecipe(53877, 350, 39952, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53877, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.EBONBLADE)
-	self:AddRecipeAcquire(53877, A.REPUTATION, FAC.EBONBLADE, REP.FRIENDLY, 32538)
+	self:AddRecipeRepVendor(53877, FAC.EBONBLADE, REP.FRIENDLY, 32538)

 	-- Glinting Huge Citrine -- 53878
 	AddRecipe(53878, 350, 39953, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53878, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53878, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53878, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Lucent Huge Citrine -- 53879
 	AddRecipe(53879, 350, 39954, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53879, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53879, A.VENDOR, 34079, A.VENDOR, 34039)
+	self:AddRecipeVendor(53879, 34079, 34039)

 	-- Deft Huge Citrine -- 53880
 	AddRecipe(53880, 350, 39955, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53880, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53880, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53880, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Luminous Huge Citrine -- 53881
 	AddRecipe(53881, 350, 39946, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53881, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53881, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53881, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Potent Huge Citrine -- 53882
 	AddRecipe(53882, 350, 39956, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53882, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53882, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53882, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Veiled Huge Citrine -- 53883
 	AddRecipe(53883, 350, 39957, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53883, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53883, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53883, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Durable Huge Citrine -- 53884
 	AddRecipe(53884, 350, 39958, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53884, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53884, A.VENDOR, 34079, A.VENDOR, 34039)
+	self:AddRecipeVendor(53884, 34079, 34039)

 	-- Reckless Huge Citrine -- 53885
 	AddRecipe(53885, 350, 39959, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53885, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.FRENZYHEART)
-	self:AddRecipeAcquire(53885, A.REPUTATION, FAC.FRENZYHEART, REP.FRIENDLY, 31911)
+	self:AddRecipeRepVendor(53885, FAC.FRENZYHEART, REP.FRIENDLY, 31911)

 	-- Wicked Huge Citrine -- 53886
 	AddRecipe(53886, 350, 39960, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53886, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53886, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53886, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Pristine Huge Citrine -- 53887
 	AddRecipe(53887, 350, 39961, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53887, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53887, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53887, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Empowered Huge Citrine -- 53888
 	AddRecipe(53888, 350, 39962, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53888, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53888, A.VENDOR, 34079, A.VENDOR, 34039)
+	self:AddRecipeVendor(53888, 34079, 34039)

 	-- Stark Huge Citrine -- 53889
 	AddRecipe(53889, 350, 39963, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53889, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53889, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53889, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Stalwart Huge Citrine -- 53890
 	AddRecipe(53890, 350, 39964, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53890, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53890, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53890, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Glimmering Huge Citrine -- 53891
 	AddRecipe(53891, 360, 39965, Q.UNCOMMON, V.WOTLK, 360, 375, 395, 415)
 	self:AddRecipeFlags(53891, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53891, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53891, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Accurate Huge Citrine -- 53892
 	AddRecipe(53892, 350, 39966, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53892, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(53892, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53892, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Resolute Huge Citrine -- 53893
 	AddRecipe(53893, 350, 39967, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53893, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(53893, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53893, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Timeless Dark Jade -- 53894
 	AddRecipe(53894, 350, 39968, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53894, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53894, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53894, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Jagged Dark Jade -- 53916
 	AddRecipe(53916, 350, 39974, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53916, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53916, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53916, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Vivid Dark Jade -- 53917
 	AddRecipe(53917, 350, 39975, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53917, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.ORACLES)
-	self:AddRecipeAcquire(53917, A.REPUTATION, FAC.ORACLES, REP.FRIENDLY, 31910)
+	self:AddRecipeRepVendor(53917, FAC.ORACLES, REP.FRIENDLY, 31910)

 	-- Enduring Dark Jade -- 53918
 	AddRecipe(53918, 350, 39976, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53918, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53918, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53918, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Steady Dark Jade -- 53919
 	AddRecipe(53919, 350, 39977, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53919, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53919, A.VENDOR, 34079, A.VENDOR, 34039)
+	self:AddRecipeVendor(53919, 34079, 34039)

 	-- Forceful Dark Jade -- 53920
 	AddRecipe(53920, 350, 39978, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53920, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53920, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53920, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Seer's Dark Jade -- 53921
 	AddRecipe(53921, 350, 39979, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53921, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.KALUAK)
-	self:AddRecipeAcquire(53921, A.REPUTATION, FAC.KALUAK, REP.FRIENDLY, 31916, A.REPUTATION, FAC.KALUAK, REP.FRIENDLY, 32763)
+	self:AddRecipeRepVendor(53921, FAC.KALUAK, REP.FRIENDLY, 31916, 32763)

 	-- Misty Dark Jade -- 53922
 	AddRecipe(53922, 350, 39980, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53922, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53922, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53922, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Shining Dark Jade -- 53923
 	AddRecipe(53923, 350, 39981, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53923, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53923, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53923, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Turbid Dark Jade -- 53924
 	AddRecipe(53924, 350, 39982, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53924, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53924, A.VENDOR, 34079, A.VENDOR, 34039)
+	self:AddRecipeVendor(53924, 34079, 34039)

 	-- Intricate Dark Jade -- 53925
 	AddRecipe(53925, 350, 39983, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53925, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53925, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53925, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Dazzling Dark Jade -- 53926
 	AddRecipe(53926, 350, 39984, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53926, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53926, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53926, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Sundered Dark Jade -- 53927
 	AddRecipe(53927, 350, 39985, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53927, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53927, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53927, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Lambent Dark Jade -- 53928
 	AddRecipe(53928, 350, 39986, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53928, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53928, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53928, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Opaque Dark Jade -- 53929
 	AddRecipe(53929, 350, 39988, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53929, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53929, A.VENDOR, 34079, A.VENDOR, 34039)
+	self:AddRecipeVendor(53929, 34079, 34039)

 	-- Energized Dark Jade -- 53930
 	AddRecipe(53930, 350, 39989, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53930, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53930, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53930, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Radiant Dark Jade -- 53931
 	AddRecipe(53931, 350, 39990, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53931, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(53931, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53931, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Tense Dark Jade -- 53932
 	AddRecipe(53932, 350, 39991, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53932, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(53932, A.VENDOR, 34079, A.VENDOR, 34039)
+	self:AddRecipeVendor(53932, 34079, 34039)

 	-- Shattered Dark Jade -- 53933
 	AddRecipe(53933, 350, 39992, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53933, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(53933, A.VENDOR, 34079, A.VENDOR, 34039)
+	self:AddRecipeVendor(53933, 34079, 34039)

 	-- Solid Chalcedony -- 53934
 	AddRecipe(53934, 350, 39919, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53934, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53934, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53934, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Sparkling Chalcedony -- 53940
 	AddRecipe(53940, 350, 39920, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53940, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53940, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53940, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Lustrous Chalcedony -- 53941
 	AddRecipe(53941, 350, 39927, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53941, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53941, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53941, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Stormy Chalcedony -- 53943
 	AddRecipe(53943, 350, 39927, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(53943, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(53943, A.VENDOR, 34079, A.VENDOR, 34039)
+	self:AddRecipeVendor(53943, 34079, 34039)

 	-- Delicate Scarlet Ruby -- 53945
 	AddRecipe(53945, 390, 39997, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53945, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53945, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53945, 28721, 33602)

 	-- Runed Scarlet Ruby -- 53946
 	AddRecipe(53946, 390, 39998, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53946, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.KIRINTOR)
-	self:AddRecipeAcquire(53946, A.REPUTATION, FAC.KIRINTOR, REP.EXALTED, 32287)
+	self:AddRecipeRepVendor(53946, FAC.KIRINTOR, REP.EXALTED, 32287)

 	-- Bright Scarlet Ruby -- 53947
 	AddRecipe(53947, 390, 39999, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53947, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53947, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53947, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Subtle Scarlet Ruby -- 53948
 	AddRecipe(53948, 390, 40000, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53948, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53948, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53948, 28721, 33602)

 	-- Flashing Scarlet Ruby -- 53949
 	AddRecipe(53949, 390, 40001, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53949, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53949, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53949, 28721, 33602)

 	-- Fractured Scarlet Ruby -- 53950
 	AddRecipe(53950, 390, 40002, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53950, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53950, A.MOB, 29570)
+	self:AddRecipeMobDrop(53950, 29570)

 	-- Precise Scarlet Ruby -- 53951
 	AddRecipe(53951, 390, 40003, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53951, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(53951, A.MOB, 29311)
+	self:AddRecipeMobDrop(53951, 29311)

 	-- Solid Sky Sapphire -- 53952
 	AddRecipe(53952, 390, 40008, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53952, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53952, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53952, 28721, 33602)

 	-- Sparkling Sky Sapphire -- 53953
 	AddRecipe(53953, 390, 40009, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53953, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53953, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53953, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Lustrous Sky Sapphire -- 53954
 	AddRecipe(53954, 390, 40010, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53954, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53954, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53954, 28721, 33602)

 	-- Stormy Sky Sapphire -- 53955
 	AddRecipe(53955, 390, 40011, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53955, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(53955, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(53955, 32296, 32294, 30489)

 	-- Brilliant Autumn's Glow -- 53956
 	AddRecipe(53956, 390, 40012, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53956, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53956, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53956, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Smooth Autumn's Glow -- 53957
 	AddRecipe(53957, 390, 40013, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53957, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HODIR)
-	self:AddRecipeAcquire(53957, A.REPUTATION, FAC.HODIR, REP.EXALTED, 32540)
+	self:AddRecipeRepVendor(53957, FAC.HODIR, REP.EXALTED, 32540)

 	-- Rigid Autumn's Glow -- 53958
 	AddRecipe(53958, 390, 40014, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53958, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53958, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53958, 28721, 33602)

 	-- Thick Autumn's Glow -- 53959
 	AddRecipe(53959, 390, 40015, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53959, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53959, A.MOB, 31134)
+	self:AddRecipeMobDrop(53959, 31134)

 	-- Mystic Autumn's Glow -- 53960
 	AddRecipe(53960, 390, 40016, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53960, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53960, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(53960, 32296, 32294, 30489)

 	-- Quick Autumn's Glow -- 53961
 	AddRecipe(53961, 390, 40017, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53961, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53961, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53961, 28721, 33602)

 	-- Sovereign Twilight Opal -- 53962
 	AddRecipe(53962, 390, 40022, Q.RARE, V.WOTLK, 390, 410, 425, 440)
@@ -1788,7 +1832,7 @@ function addon:InitJewelcrafting()
 	-- Shifting Twilight Opal -- 53963
 	AddRecipe(53963, 390, 40023, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53963, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53963, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53963, 28721, 33602)

 	-- Tenuous Twilight Opal -- 53964
 	AddRecipe(53964, 390, 40024, Q.RARE, V.WOTLK, 390, 410, 425, 440)
@@ -1798,7 +1842,7 @@ function addon:InitJewelcrafting()
 	-- Glowing Twilight Opal -- 53965
 	AddRecipe(53965, 390, 40025, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53965, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.EBONBLADE)
-	self:AddRecipeAcquire(53965, A.REPUTATION, FAC.EBONBLADE, REP.EXALTED, 32538)
+	self:AddRecipeRepVendor(53965, FAC.EBONBLADE, REP.EXALTED, 32538)

 	-- Purified Twilight Opal -- 53966
 	AddRecipe(53966, 390, 40026, Q.RARE, V.WOTLK, 390, 410, 425, 440)
@@ -1808,42 +1852,42 @@ function addon:InitJewelcrafting()
 	-- Royal Twilight Opal -- 53967
 	AddRecipe(53967, 390, 40027, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53967, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53967, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53967, 28721, 33602)

 	-- Mysterious Twilight Opal -- 53968
 	AddRecipe(53968, 390, 40028, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53968, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53968, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(53968, 32296, 32294, 30489)

 	-- Balanced Twilight Opal -- 53969
 	AddRecipe(53969, 390, 40029, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53969, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53969, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53969, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Infused Twilight Opal -- 53970
 	AddRecipe(53970, 390, 40030, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53970, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53970, A.MOB, 29120)
+	self:AddRecipeMobDrop(53970, 29120)

 	-- Regal Twilight Opal -- 53971
 	AddRecipe(53971, 390, 40031, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53971, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53971, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53971, 28721, 33602)

 	-- Defender's Twilight Opal -- 53972
 	AddRecipe(53972, 390, 40032, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53972, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53972, A.MOB, 29370, A.MOB, 29376, A.MOB, 30208, A.MOB, 30222)
+	self:AddRecipeMobDrop(53972, 30208, 30222, 29376, 29370)

 	-- Puissant Twilight Opal -- 53973
 	AddRecipe(53973, 390, 40033, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53973, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53973, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53973, 28721, 33602)

 	-- Guardian's Twilight Opal -- 53974
 	AddRecipe(53974, 390, 40034, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53974, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TANK, F.ARGENTCRUSADE)
-	self:AddRecipeAcquire(53974, A.REPUTATION, FAC.ARGENTCRUSADE, REP.REVERED, 30431)
+	self:AddRecipeRepVendor(53974, FAC.ARGENTCRUSADE, REP.REVERED, 30431)

 	-- Inscribed Monarch Topaz -- 53975
 	AddRecipe(53975, 390, 40037, Q.RARE, V.WOTLK, 390, 410, 425, 440)
@@ -1863,72 +1907,72 @@ function addon:InitJewelcrafting()
 	-- Resplendent Monarch Topaz -- 53978
 	AddRecipe(53978, 390, 40040, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53978, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53978, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(53978, 32296, 32294, 30489)

 	-- Deadly Monarch Topaz -- 53979
 	AddRecipe(53979, 390, 40043, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53979, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53979, A.MOB, 26723)
+	self:AddRecipeMobDrop(53979, 26723)

 	-- Glinting Monarch Topaz -- 53980
 	AddRecipe(53980, 390, 40044, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53980, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53980, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53980, 28721, 33602)

 	-- Lucent Monarch Topaz -- 53981
 	AddRecipe(53981, 390, 40045, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53981, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53981, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(53981, 32296, 32294, 30489)

 	-- Deft Monarch Topaz -- 53982
 	AddRecipe(53982, 390, 40046, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53982, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53982, A.MOB, 27978)
+	self:AddRecipeMobDrop(53982, 27978)

 	-- Luminous Monarch Topaz -- 53983
 	AddRecipe(53983, 390, 40047, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53983, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53983, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53983, 28721, 33602)

 	-- Potent Monarch Topaz -- 53984
 	AddRecipe(53984, 390, 40048, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53984, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53984, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53984, 28721, 33602)

 	-- Veiled Monarch Topaz -- 53985
 	AddRecipe(53985, 390, 40049, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53985, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53985, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53985, 28721, 33602)

 	-- Durable Monarch Topaz -- 53986
 	AddRecipe(53986, 390, 40050, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53986, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53986, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(53986, 32296, 32294, 30489)

 	-- Reckless Monarch Topaz -- 53987
 	AddRecipe(53987, 390, 40051, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53987, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(53987, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53987, 28721, 33602)

 	-- Wicked Monarch Topaz -- 53988
 	AddRecipe(53988, 390, 40052, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53988, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.EBONBLADE)
-	self:AddRecipeAcquire(53988, A.REPUTATION, FAC.EBONBLADE, REP.REVERED, 32538)
+	self:AddRecipeRepVendor(53988, FAC.EBONBLADE, REP.REVERED, 32538)

 	-- Pristine Monarch Topaz -- 53989
 	AddRecipe(53989, 390, 40053, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53989, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53989, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(53989, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Empowered Monarch Topaz -- 53990
 	AddRecipe(53990, 390, 40054, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53990, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53990, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(53990, 32296, 32294, 30489)

 	-- Stark Monarch Topaz -- 53991
 	AddRecipe(53991, 390, 40055, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53991, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(53991, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53991, 28721, 33602)

 	-- Stalwart Monarch Topaz -- 53992
 	AddRecipe(53992, 390, 40056, Q.RARE, V.WOTLK, 390, 410, 425, 440)
@@ -1938,47 +1982,47 @@ function addon:InitJewelcrafting()
 	-- Glimmering Monarch Topaz -- 53993
 	AddRecipe(53993, 390, 40057, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53993, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.WYRMREST)
-	self:AddRecipeAcquire(53993, A.REPUTATION, FAC.WYRMREST, REP.EXALTED, 32533)
+	self:AddRecipeRepVendor(53993, FAC.WYRMREST, REP.EXALTED, 32533)

 	-- Accurate Monarch Topaz -- 53994
 	AddRecipe(53994, 390, 40058, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53994, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(53994, A.MOB, 28379, A.MOB, 28851, A.MOB, 29402, A.MOB, 30260, A.MOB, 30448)
+	self:AddRecipeMobDrop(53994, 30260, 28379, 29402, 28851, 30448)

 	-- Timeless Forest Emerald -- 53995
 	AddRecipe(53995, 390, 40085, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53995, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53995, A.MOB, 26632)
+	self:AddRecipeMobDrop(53995, 26632)

 	-- Jagged Forest Emerald -- 53996
 	AddRecipe(53996, 390, 40086, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53996, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.FRENZYHEART)
-	self:AddRecipeAcquire(53996, A.REPUTATION, FAC.FRENZYHEART, REP.REVERED, 31911)
+	self:AddRecipeRepVendor(53996, FAC.FRENZYHEART, REP.REVERED, 31911)

 	-- Vivid Forest Emerald -- 53997
 	AddRecipe(53997, 390, 40088, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53997, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(53997, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53997, 28721, 33602)

 	-- Enduring Forest Emerald -- 53998
 	AddRecipe(53998, 390, 40089, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(53998, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(53998, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(53998, 28721, 33602)

 	-- Steady Forest Emerald -- 54000
 	AddRecipe(54000, 390, 40090, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54000, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(54000, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(54000, 32296, 32294, 30489)

 	-- Forceful Forest Emerald -- 54001
 	AddRecipe(54001, 390, 40091, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54001, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(54001, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(54001, 28721, 33602)

 	-- Seer's Forest Emerald -- 54002
 	AddRecipe(54002, 390, 40092, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54002, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(54002, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(54002, 28721, 33602)

 	-- Misty Forest Emerald -- 54003
 	AddRecipe(54003, 390, 40095, Q.RARE, V.WOTLK, 390, 410, 425, 440)
@@ -1993,62 +2037,62 @@ function addon:InitJewelcrafting()
 	-- Turbid Forest Emerald -- 54005
 	AddRecipe(54005, 390, 40102, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54005, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(54005, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(54005, 32296, 32294, 30489)

 	-- Intricate Forest Emerald -- 54006
 	AddRecipe(54006, 390, 40104, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54006, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(54006, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(54006, 28721, 33602)

 	-- Dazzling Forest Emerald -- 54007
 	AddRecipe(54007, 390, 40094, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54007, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(54007, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(54007, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Sundered Forest Emerald -- 54008
 	AddRecipe(54008, 390, 40096, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54008, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ORACLES)
-	self:AddRecipeAcquire(54008, A.REPUTATION, FAC.ORACLES, REP.REVERED, 31910)
+	self:AddRecipeRepVendor(54008, FAC.ORACLES, REP.REVERED, 31910)

 	-- Lambent Forest Emerald -- 54009
 	AddRecipe(54009, 390, 40100, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54009, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(54009, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(54009, 28721, 33602)

 	-- Opaque Forest Emerald -- 54010
 	AddRecipe(54010, 390, 40103, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54010, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(54010, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(54010, 32296, 32294, 30489)

 	-- Energized Forest Emerald -- 54011
 	AddRecipe(54011, 390, 40105, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54011, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(54011, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(54011, 28721, 33602)

 	-- Radiant Forest Emerald -- 54012
 	AddRecipe(54012, 390, 40098, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54012, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(54012, A.MOB, 29792, A.MOB, 29793)
+	self:AddRecipeMobDrop(54012, 29792, 29793)

 	-- Tense Forest Emerald -- 54013
 	AddRecipe(54013, 390, 40101, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54013, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(54013, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(54013, 32296, 32294, 30489)

 	-- Shattered Forest Emerald -- 54014
 	AddRecipe(54014, 390, 40106, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54014, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(54014, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(54014, 32296, 32294, 30489)

 	-- Precise Bloodstone -- 54017
 	AddRecipe(54017, 350, 39910, Q.UNCOMMON, V.WOTLK, 350, 375, 395, 415)
 	self:AddRecipeFlags(54017, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(54017, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(54017, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Fierce Monarch Topaz -- 54019
 	AddRecipe(54019, 390, 40041, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(54019, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(54019, A.MOB, 23954)
+	self:AddRecipeMobDrop(54019, 23954)

 	-- Resolute Monarch Topaz -- 54023
 	AddRecipe(54023, 390, 40059, Q.RARE, V.WOTLK, 390, 410, 425, 440)
@@ -2058,27 +2102,27 @@ function addon:InitJewelcrafting()
 	-- Effulgent Skyflare Diamond -- 55384
 	AddRecipe(55384, 420, 41377, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55384, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55384, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(55384, 28721, 33602)

 	-- Tireless Skyflare Diamond -- 55386
 	AddRecipe(55386, 420, 41375, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55386, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(55386, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(55386, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Forlorn Skyflare Diamond -- 55387
 	AddRecipe(55387, 420, 41378, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55387, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(55387, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(55387, 32296, 32294, 30489)

 	-- Impassive Skyflare Diamond -- 55388
 	AddRecipe(55388, 420, 41379, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55388, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55388, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(55388, 32296, 32294, 30489)

 	-- Chaotic Skyflare Diamond -- 55389
 	AddRecipe(55389, 420, 41285, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55389, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55389, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(55389, 28721, 33602)

 	-- Destructive Skyflare Diamond -- 55390
 	AddRecipe(55390, 420, 41307, Q.RARE, V.WOTLK, 420, 440, 450, 460)
@@ -2088,17 +2132,17 @@ function addon:InitJewelcrafting()
 	-- Ember Skyflare Diamond -- 55392
 	AddRecipe(55392, 420, 41333, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55392, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(55392, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(55392, 28721, 33602)

 	-- Enigmatic Skyflare Diamond -- 55393
 	AddRecipe(55393, 420, 41335, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55393, F.ALLIANCE, F.HORDE, F.VENDOR, F.PVP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55393, A.VENDOR, 30489, A.VENDOR, 32294, A.VENDOR, 32296)
+	self:AddRecipeVendor(55393, 32296, 32294, 30489)

 	-- Swift Skyflare Diamond -- 55394
 	AddRecipe(55394, 420, 41339, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55394, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(55394, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(55394, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Thundering Skyflare Diamond -- 55395
 	AddRecipe(55395, 420, 41400, Q.RARE, V.WOTLK, 420, 440, 450, 460)
@@ -2108,47 +2152,47 @@ function addon:InitJewelcrafting()
 	-- Insightful Earthsiege Diamond -- 55396
 	AddRecipe(55396, 420, 41401, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55396, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55396, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(55396, 28721, 33602)

 	-- Bracing Earthsiege Diamond -- 55397
 	AddRecipe(55397, 420, 41395, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55397, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(55397, A.MOB, 27656)
+	self:AddRecipeMobDrop(55397, 27656)

 	-- Eternal Earthsiege Diamond -- 55398
 	AddRecipe(55398, 420, 41396, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55398, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(55398, A.MOB, 28923)
+	self:AddRecipeMobDrop(55398, 28923)

 	-- Powerful Earthsiege Diamond -- 55399
 	AddRecipe(55399, 420, 41397, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55399, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55399, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(55399, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Relentless Earthsiege Diamond -- 55400
 	AddRecipe(55400, 420, 41398, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55400, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(55400, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(55400, 28721, 33602)

 	-- Austere Earthsiege Diamond -- 55401
 	AddRecipe(55401, 420, 41380, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55401, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55401, A.MOB, 26861)
+	self:AddRecipeMobDrop(55401, 26861)

 	-- Persistent Earthsiege Diamond -- 55402
 	AddRecipe(55402, 420, 41381, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55402, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(55402, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(55402, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Trenchant Earthsiege Diamond -- 55403
 	AddRecipe(55403, 420, 41382, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55403, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(55403, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(55403, 28721, 33602)

 	-- Invigorating Earthsiege Diamond -- 55404
 	AddRecipe(55404, 420, 41385, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55404, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(55404, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(55404, 28721, 33602)

 	-- Beaming Earthsiege Diamond -- 55405
 	AddRecipe(55405, 420, 41389, Q.RARE, V.WOTLK, 420, 440, 450, 460)
@@ -2158,667 +2202,667 @@ function addon:InitJewelcrafting()
 	-- Revitalizing Skyflare Diamond -- 55407
 	AddRecipe(55407, 420, 41376, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(55407, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(55407, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(55407, 28721, 33602)

 	-- Bold Dragon's Eye -- 56049
 	AddRecipe(56049, 370, 42142, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56049, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(56049, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56049, 28721, 33602)

 	-- Delicate Dragon's Eye -- 56052
 	AddRecipe(56052, 370, 42143, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56052, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(56052, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56052, 28721, 33602)

 	-- Runed Dragon's Eye -- 56053
 	AddRecipe(56053, 370, 42144, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56053, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(56053, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56053, 28721, 33602)

 	-- Bright Dragon's Eye -- 56054
 	AddRecipe(56054, 370, 36766, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56054, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(56054, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56054, 28721, 33602)

 	-- Subtle Dragon's Eye -- 56055
 	AddRecipe(56055, 370, 42151, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56055, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(56055, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56055, 28721, 33602)

 	-- Flashing Dragon's Eye -- 56056
 	AddRecipe(56056, 370, 42152, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56056, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(56056, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56056, 28721, 33602)

 	-- Brilliant Dragon's Eye -- 56074
 	AddRecipe(56074, 370, 42148, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56074, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(56074, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56074, 28721, 33602)

 	-- Fractured Dragon's Eye -- 56076
 	AddRecipe(56076, 370, 42153, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56076, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(56076, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56076, 28721, 33602)

 	-- Lustrous Dragon's Eye -- 56077
 	AddRecipe(56077, 370, 42146, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56077, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(56077, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56077, 28721, 33602)

 	-- Mystic Dragon's Eye -- 56079
 	AddRecipe(56079, 370, 42158, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56079, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(56079, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56079, 28721, 33602)

 	-- Precise Dragon's Eye -- 56081
 	AddRecipe(56081, 370, 42154, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56081, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(56081, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56081, 28721, 33602)

 	-- Quick Dragon's Eye -- 56083
 	AddRecipe(56083, 370, 42150, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56083, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(56083, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56083, 28721, 33602)

 	-- Rigid Dragon's Eye -- 56084
 	AddRecipe(56084, 370, 42156, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56084, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(56084, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56084, 28721, 33602)

 	-- Smooth Dragon's Eye -- 56085
 	AddRecipe(56085, 370, 42149, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56085, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(56085, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56085, 28721, 33602)

 	-- Solid Dragon's Eye -- 56086
 	AddRecipe(56086, 370, 36767, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56086, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(56086, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56086, 28721, 33602)

 	-- Sparkling Dragon's Eye -- 56087
 	AddRecipe(56087, 370, 42145, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56087, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(56087, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56087, 28721, 33602)

 	-- Stormy Dragon's Eye -- 56088
 	AddRecipe(56088, 370, 42155, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56088, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(56088, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56088, 28721, 33602)

 	-- Thick Dragon's Eye -- 56089
 	AddRecipe(56089, 370, 42157, Q.RARE, V.WOTLK, 370, 390, 415, 440)
 	self:AddRecipeFlags(56089, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOP, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(56089, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56089, 28721, 33602)

 	-- Bloodstone Band -- 56193
 	AddRecipe(56193, 350, 42336, Q.COMMON, V.WOTLK, 350, 380, 400, 420)
 	self:AddRecipeFlags(56193, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(56193, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56193, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Sun Rock Ring -- 56194
 	AddRecipe(56194, 350, 42337, Q.COMMON, V.WOTLK, 350, 380, 400, 420)
 	self:AddRecipeFlags(56194, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(56194, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56194, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Jade Dagger Pendant -- 56195
 	AddRecipe(56195, 380, 42338, Q.COMMON, V.WOTLK, 380, 400, 410, 420)
 	self:AddRecipeFlags(56195, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.NECK)
-	self:AddRecipeAcquire(56195, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56195, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Blood Sun Necklace -- 56196
 	AddRecipe(56196, 380, 42339, Q.RARE, V.WOTLK, 380, 400, 410, 420)
 	self:AddRecipeFlags(56196, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.NECK)
-	self:AddRecipeAcquire(56196, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56196, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Dream Signet -- 56197
 	AddRecipe(56197, 420, 42340, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(56197, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(56197, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56197, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Ruby Hare -- 56199
 	AddRecipe(56199, 400, 42341, Q.RARE, V.WOTLK, 400, 430, 440, 450)
 	self:AddRecipeFlags(56199, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.TRINKET)
-	self:AddRecipeAcquire(56199, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56199, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Twilight Serpent -- 56201
 	AddRecipe(56201, 400, 42395, Q.RARE, V.WOTLK, 400, 430, 440, 450)
 	self:AddRecipeFlags(56201, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.TRINKET)
-	self:AddRecipeAcquire(56201, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56201, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Sapphire Owl -- 56202
 	AddRecipe(56202, 400, 42413, Q.RARE, V.WOTLK, 400, 430, 440, 450)
 	self:AddRecipeFlags(56202, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.TRINKET)
-	self:AddRecipeAcquire(56202, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56202, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Emerald Boar -- 56203
 	AddRecipe(56203, 400, 42418, Q.RARE, V.WOTLK, 400, 430, 440, 450)
 	self:AddRecipeFlags(56203, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TRINKET)
-	self:AddRecipeAcquire(56203, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56203, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Dark Jade Focusing Lens -- 56205
 	AddRecipe(56205, 350, 41367, Q.UNCOMMON, V.WOTLK, 350, 360, 370, 380)
 	self:AddRecipeFlags(56205, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56205, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56205, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Shadow Crystal Focusing Lens -- 56206
 	AddRecipe(56206, 360, 42420, Q.UNCOMMON, V.WOTLK, 360, 370, 380, 390)
 	self:AddRecipeFlags(56206, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56206, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56206, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Shadow Jade Focusing Lens -- 56208
 	AddRecipe(56208, 370, 42421, Q.COMMON, V.WOTLK, 370, 380, 390, 400)
 	self:AddRecipeFlags(56208, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56208, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56208, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Titanium Impact Band -- 56496
 	AddRecipe(56496, 430, 42642, Q.EPIC, V.WOTLK, 430, 450, 455, 460)
 	self:AddRecipeFlags(56496, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(56496, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56496, 28721, 33602)

 	-- Titanium Earthguard Ring -- 56497
 	AddRecipe(56497, 430, 42643, Q.EPIC, V.WOTLK, 430, 450, 455, 460)
 	self:AddRecipeFlags(56497, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.RING)
-	self:AddRecipeAcquire(56497, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56497, 28721, 33602)

 	-- Titanium Spellshock Ring -- 56498
 	AddRecipe(56498, 430, 42644, Q.EPIC, V.WOTLK, 430, 450, 455, 460)
 	self:AddRecipeFlags(56498, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(56498, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56498, 28721, 33602)

 	-- Titanium Impact Choker -- 56499
 	AddRecipe(56499, 440, 42645, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56499, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.NECK)
-	self:AddRecipeAcquire(56499, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56499, 28721, 33602)

 	-- Titanium Earthguard Chain -- 56500
 	AddRecipe(56500, 440, 42646, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56500, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.NECK)
-	self:AddRecipeAcquire(56500, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56500, 28721, 33602)

 	-- Titanium Spellshock Necklace -- 56501
 	AddRecipe(56501, 440, 42647, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56501, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.NECK)
-	self:AddRecipeAcquire(56501, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(56501, 28721, 33602)

 	-- Enchanted Pearl -- 56530
 	AddRecipe(56530, 360, 42701, Q.COMMON, V.WOTLK, 360, 380, 400, 420)
 	self:AddRecipeFlags(56530, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56530, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56530, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Enchanted Tear -- 56531
 	AddRecipe(56531, 390, 42702, Q.RARE, V.WOTLK, 390, 410, 425, 440)
 	self:AddRecipeFlags(56531, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56531, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(56531, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Crystal Citrine Necklace -- 58141
 	AddRecipe(58141, 350, 43244, Q.COMMON, V.WOTLK, 350, 380, 400, 420)
 	self:AddRecipeFlags(58141, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.NECK)
-	self:AddRecipeAcquire(58141, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(58141, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Crystal Chalcedony Amulet -- 58142
 	AddRecipe(58142, 350, 43245, Q.COMMON, V.WOTLK, 350, 380, 400, 420)
 	self:AddRecipeFlags(58142, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.NECK)
-	self:AddRecipeAcquire(58142, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(58142, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Earthshadow Ring -- 58143
 	AddRecipe(58143, 370, 43246, Q.COMMON, V.WOTLK, 370, 390, 405, 420)
 	self:AddRecipeFlags(58143, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(58143, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(58143, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Jade Ring of Slaying -- 58144
 	AddRecipe(58144, 370, 43247, Q.COMMON, V.WOTLK, 370, 390, 405, 420)
 	self:AddRecipeFlags(58144, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.TANK, F.RING)
-	self:AddRecipeAcquire(58144, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(58144, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Stoneguard Band -- 58145
 	AddRecipe(58145, 390, 43248, Q.COMMON, V.WOTLK, 390, 410, 420, 430)
 	self:AddRecipeFlags(58145, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.RING)
-	self:AddRecipeAcquire(58145, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(58145, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Shadowmight Ring -- 58146
 	AddRecipe(58146, 390, 43249, Q.COMMON, V.WOTLK, 390, 410, 420, 430)
 	self:AddRecipeFlags(58146, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(58146, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(58146, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Ring of Earthen Might -- 58147
 	AddRecipe(58147, 420, 43250, Q.RARE, V.WOTLK, 420, 440, 450, 460)
-	self:AddRecipeFlags(58147, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.DPS, F.RING)
-	self:AddRecipeAcquire(58147, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeFlags(58147, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TANK, F.RING)
+	self:AddRecipeVendor(58147, 28721, 33602)

 	-- Ring of Scarlet Shadows -- 58148
 	AddRecipe(58148, 420, 43251, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(58148, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(58148, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(58148, 28721, 33602)

 	-- Windfire Band -- 58149
 	AddRecipe(58149, 420, 43252, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(58149, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(58149, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(58149, 28721, 33602)

 	-- Ring of Northern Tears -- 58150
 	AddRecipe(58150, 420, 43253, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(58150, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(58150, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(58150, 28721, 33602)

 	-- Savage Titanium Ring -- 58492
 	AddRecipe(58492, 420, 43482, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(58492, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(58492, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(58492, 28721, 33602)

 	-- Savage Titanium Band -- 58507
 	AddRecipe(58507, 420, 43498, Q.RARE, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(58507, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(58507, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(58507, 28721, 33602)

 	-- Titanium Frostguard Ring -- 58954
 	AddRecipe(58954, 420, 43582, Q.EPIC, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(58954, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.RING)
-	self:AddRecipeAcquire(58954, A.VENDOR, 28721, A.VENDOR, 33602)
+	self:AddRecipeVendor(58954, 28721, 33602)

 	-- Monarch Crab -- 59759
 	AddRecipe(59759, 400, 44063, Q.COMMON, V.WOTLK, 400, 430, 440, 450)
 	self:AddRecipeFlags(59759, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.TANK, F.TRINKET)
-	self:AddRecipeAcquire(59759, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(59759, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Icy Prism -- 62242
 	AddRecipe(62242, 425, 44943, Q.COMMON, V.WOTLK, 425, 445, 457, 470)
 	self:AddRecipeFlags(62242, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(62242, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(62242, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Prismatic Black Diamond -- 62941
 	AddRecipe(62941, 300, 45054, Q.COMMON, V.WOTLK, 300, 310, 315, 320)
 	self:AddRecipeFlags(62941, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(62941, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 18751, A.TRAINER, 33590, A.TRAINER, 33614, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18774, A.TRAINER, 33680)
+	self:AddRecipeTrainer(62941, 33614, 33680, 18774, 26915, 26997, 18751, 26960, 19539, 19063, 28701, 33590, 26982)

 	-- Amulet of Truesight -- 63743
 	AddRecipe(63743, 200, 45627, Q.COMMON, V.WOTLK, 200, 210, 220, 230)
 	self:AddRecipeFlags(63743, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.NECK)
-	self:AddRecipeAcquire(63743, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 19778, A.TRAINER, 15501, A.TRAINER, 18751, A.TRAINER, 33590, A.TRAINER, 19775, A.TRAINER, 33614, A.TRAINER, 19063, A.TRAINER, 19539, A.TRAINER, 18774, A.TRAINER, 33680)
+	self:AddRecipeTrainer(63743, 33680, 33614, 18774, 19539, 33590, 19775, 19778, 26997, 18751, 26960, 15501, 19063, 26915, 28701, 26982)

 	-- Emerald Choker -- 64725
 	AddRecipe(64725, 420, 45812, Q.COMMON, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(64725, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.NECK)
-	self:AddRecipeAcquire(64725, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(64725, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Sky Sapphire Amulet -- 64726
 	AddRecipe(64726, 420, 45813, Q.COMMON, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(64726, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.NECK)
-	self:AddRecipeAcquire(64726, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(64726, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Runed Mana Band -- 64727
 	AddRecipe(64727, 420, 45808, Q.COMMON, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(64727, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.RING)
-	self:AddRecipeAcquire(64727, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(64727, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Scarlet Signet -- 64728
 	AddRecipe(64728, 420, 45809, Q.COMMON, V.WOTLK, 420, 440, 450, 460)
 	self:AddRecipeFlags(64728, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.RING)
-	self:AddRecipeAcquire(64728, A.TRAINER, 26915, A.TRAINER, 26960, A.TRAINER, 26982, A.TRAINER, 26997, A.TRAINER, 28701, A.TRAINER, 33590)
+	self:AddRecipeTrainer(64728, 26915, 28701, 33590, 26960, 26982, 26997)

 	-- Enduring Eye of Zul -- 66338
 	AddRecipe(66338, 450, 40167, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66338, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(66338, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66338, 33637, 28701, 19065, 33680)

 	-- Steady Eye of Zul -- 66428
 	AddRecipe(66428, 450, 40168, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66428, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66428, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66428, 33637, 28701, 19065, 33680)

 	-- Vivid Eye of Zul -- 66429
 	AddRecipe(66429, 450, 40166, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66429, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66429, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66429, 33637, 28701, 19065, 33680)

 	-- Dazzling Eye of Zul -- 66430
 	AddRecipe(66430, 450, 40175, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66430, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66430, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66430, 33637, 28701, 19065, 33680)

 	-- Jagged Eye of Zul -- 66431
 	AddRecipe(66431, 450, 40165, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66431, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66431, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66431, 33637, 28701, 19065, 33680)

 	-- Timeless Eye of Zul -- 66432
 	AddRecipe(66432, 450, 40164, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66432, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66432, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66432, 33637, 28701, 19065, 33680)

 	-- Seer's Eye of Zul -- 66433
 	AddRecipe(66433, 450, 40170, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66433, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66433, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66433, 33637, 28701, 19065, 33680)

 	-- Forceful Eye of Zul -- 66434
 	AddRecipe(66434, 450, 40169, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66434, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66434, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66434, 33637, 28701, 19065, 33680)

 	-- Misty Eye of Zul -- 66435
 	AddRecipe(66435, 450, 40171, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66435, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66435, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66435, 33637, 28701, 19065, 33680)

 	-- Sundered Eye of Zul -- 66436
 	AddRecipe(66436, 450, 40176, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66436, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66436, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66436, 33637, 28701, 19065, 33680)

 	-- Shining Eye of Zul -- 66437
 	AddRecipe(66437, 450, 40172, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66437, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66437, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66437, 33637, 28701, 19065, 33680)

 	-- Tense Eye of Zul -- 66438
 	AddRecipe(66438, 450, 40181, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66438, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(66438, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66438, 33637, 28701, 19065, 33680)

 	-- Lambent Eye of Zul -- 66439
 	AddRecipe(66439, 450, 40177, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66439, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66439, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66439, 33637, 28701, 19065, 33680)

 	-- Intricate Eye of Zul -- 66440
 	AddRecipe(66440, 450, 40174, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66440, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66440, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66440, 33637, 28701, 19065, 33680)

 	-- Radiant Eye of Zul -- 66441
 	AddRecipe(66441, 450, 40180, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66441, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(66441, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66441, 33637, 28701, 19065, 33680)

 	-- Energized Eye of Zul -- 66442
 	AddRecipe(66442, 450, 40179, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66442, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66442, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66442, 33637, 28701, 19065, 33680)

 	-- Shattered Eye of Zul -- 66443
-	AddRecipe(66443, 450, 40182,Q.RARE, V.WOTLK, 450, 450, 452, 465)
+	AddRecipe(66443, 450, 40182, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66443, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(66443, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66443, 33637, 28701, 19065, 33680)

 	-- Opaque Eye of Zul -- 66444
 	AddRecipe(66444, 450, 40178, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66444, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66444, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66444, 33637, 28701, 19065, 33680)

 	-- Turbid Eye of Zul -- 66445
 	AddRecipe(66445, 450, 40173, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66445, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66445, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66445, 33637, 28701, 19065, 33680)

 	-- Runed Cardinal Ruby -- 66446
 	AddRecipe(66446, 450, 40113, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66446, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66446, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66446, 33637, 28701, 19065, 33680)

 	-- Bold Cardinal Ruby -- 66447
 	AddRecipe(66447, 450, 40111, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66447, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66447, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66447, 33637, 28701, 19065, 33680)

 	-- Delicate Cardinal Ruby -- 66448
 	AddRecipe(66448, 450, 40112, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66448, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66448, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66448, 33637, 28701, 19065, 33680)

 	-- Bright Cardinal Ruby -- 66449
 	AddRecipe(66449, 450, 40114, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66449, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66449, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66449, 33637, 28701, 19065, 33680)

 	-- Precise Cardinal Ruby -- 66450
 	AddRecipe(66450, 450, 40118, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66450, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(66450, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66450, 33637, 28701, 19065, 33680)

 	-- Fractured Cardinal Ruby -- 66451
 	AddRecipe(66451, 450, 40117, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66451, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66451, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66451, 33637, 28701, 19065, 33680)

 	-- Subtle Cardinal Ruby -- 66452
 	AddRecipe(66452, 450, 40115, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66452, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(66452, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66452, 33637, 28701, 19065, 33680)

 	-- Flashing Cardinal Ruby -- 66453
 	AddRecipe(66453, 450, 40116, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66453, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(66453, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66453, 33637, 28701, 19065, 33680)

 	-- Solid Majestic Zircon -- 66497
 	AddRecipe(66497, 450, 40119, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66497, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66497, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66497, 33637, 28701, 19065, 33680)

 	-- Sparkling Majestic Zircon -- 66498
 	AddRecipe(66498, 450, 40120, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66498, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66498, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66498, 33637, 28701, 19065, 33680)

 	-- Stormy Majestic Zircon -- 66499
 	AddRecipe(66499, 450, 40122, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66499, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CASTER)
-	self:AddRecipeAcquire(66499, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66499, 33637, 28701, 19065, 33680)

 	-- Lustrous Majestic Zircon -- 66500
 	AddRecipe(66500, 450, 40121, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66500, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66500, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66500, 33637, 28701, 19065, 33680)

 	-- Rigid King's Amber -- 66501
 	AddRecipe(66501, 450, 40125, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66501, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66501, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66501, 33637, 28701, 19065, 33680)

 	-- Smooth King's Amber -- 66502
 	AddRecipe(66502, 450, 40124, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66502, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66502, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66502, 33637, 28701, 19065, 33680)

 	-- Brilliant King's Amber -- 66503
 	AddRecipe(66503, 450, 40123, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66503, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66503, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66503, 33637, 28701, 19065, 33680)

 	-- Thick King's Amber -- 66504
 	AddRecipe(66504, 450, 40126, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66504, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(66504, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66504, 33637, 28701, 19065, 33680)

 	-- Mystic King's Amber -- 66505
 	AddRecipe(66505, 450, 40127, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66505, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66505, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66505, 33637, 28701, 19065, 33680)

 	-- Quick King's Amber -- 66506
 	AddRecipe(66506, 450, 40128, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66506, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(66506, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66506, 33637, 28701, 19065, 33680)

 	-- Balanced Dreadstone -- 66553
 	AddRecipe(66553, 450, 40136, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66553, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66553, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66553, 33637, 28701, 19065, 33680)

 	-- Sovereign Dreadstone -- 66554
 	AddRecipe(66554, 450, 40129, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66554, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66554, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66554, 33637, 28701, 19065, 33680)

 	-- Glowing Dreadstone -- 66555
 	AddRecipe(66555, 450, 40132, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66555, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66555, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66555, 33637, 28701, 19065, 33680)

 	-- Purified Dreadstone -- 66556
 	AddRecipe(66556, 450, 40133, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66556, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66556, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66556, 33637, 28701, 19065, 33680)

 	-- Shifting Dreadstone -- 66557
 	AddRecipe(66557, 450, 40130, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66557, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66557, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66557, 33637, 28701, 19065, 33680)

 	-- Royal Dreadstone -- 66558
 	AddRecipe(66558, 450, 40134, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66558, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66558, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66558, 33637, 28701, 19065, 33680)

 	-- Regal Dreadstone -- 66559
 	AddRecipe(66559, 450, 40138, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66559, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(66559, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66559, 33637, 28701, 19065, 33680)

 	-- Defender's Dreadstone -- 66560
 	AddRecipe(66560, 450, 40139, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66560, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(66560, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66560, 33637, 28701, 19065, 33680)

 	-- Guardian's Dreadstone -- 66561
 	AddRecipe(66561, 450, 40141, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66561, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(66561, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66561, 33637, 28701, 19065, 33680)

 	-- Mysterious Dreadstone -- 66562
 	AddRecipe(66562, 450, 40135, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66562, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66562, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66562, 33637, 28701, 19065, 33680)

 	-- Puissant Dreadstone -- 66563
 	AddRecipe(66563, 450, 40140, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66563, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66563, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66563, 33637, 28701, 19065, 33680)

 	-- Infused Dreadstone -- 66564
 	AddRecipe(66564, 450, 40137, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66564, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66564, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66564, 33637, 28701, 19065, 33680)

 	-- Tenuous Dreadstone -- 66565
 	AddRecipe(66565, 450, 40131, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66565, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66565, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66565, 33637, 28701, 19065, 33680)

 	-- Luminous Ametrine -- 66566
 	AddRecipe(66566, 450, 40151, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66566, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66566, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66566, 33637, 28701, 19065, 33680)

 	-- Inscribed Ametrine -- 66567
 	AddRecipe(66567, 450, 40142, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66567, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66567, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66567, 33637, 28701, 19065, 33680)

 	-- Deadly Ametrine -- 66568
 	AddRecipe(66568, 450, 40147, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66568, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66568, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66568, 33637, 28701, 19065, 33680)

 	-- Potent Ametrine -- 66569
 	AddRecipe(66569, 450, 40152, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66569, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66569, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66569, 33637, 28701, 19065, 33680)

 	-- Veiled Ametrine -- 66570
 	AddRecipe(66570, 450, 40153, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66570, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66570, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66570, 33637, 28701, 19065, 33680)

 	-- Durable Ametrine -- 66571
 	AddRecipe(66571, 450, 40154, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66571, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66571, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66571, 33637, 28701, 19065, 33680)

 	-- Etched Ametrine -- 66572
 	AddRecipe(66572, 450, 40143, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66572, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66572, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66572, 33637, 28701, 19065, 33680)

 	-- Pristine Ametrine -- 66573
 	AddRecipe(66573, 450, 40157, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66573, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66573, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66573, 33637, 28701, 19065, 33680)

 	-- Reckless Ametrine -- 66574
 	AddRecipe(66574, 450, 40155, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66574, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(66574, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66574, 33637, 28701, 19065, 33680)

 	-- Glinting Ametrine -- 66575
 	AddRecipe(66575, 450, 40148, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66575, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66575, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66575, 33637, 28701, 19065, 33680)

 	-- Accurate Ametrine -- 66576
 	AddRecipe(66576, 450, 40162, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66576, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(66576, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66576, 33637, 28701, 19065, 33680)

 	-- Wicked Ametrine -- 66577
 	AddRecipe(66577, 450, 40156, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66577, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66577, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66577, 33637, 28701, 19065, 33680)

 	-- Glimmering Ametrine -- 66578
 	AddRecipe(66578, 450, 40161, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66578, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(66578, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66578, 33637, 28701, 19065, 33680)

 	-- Champion's Ametrine -- 66579
 	AddRecipe(66579, 450, 40144, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66579, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66579, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66579, 33637, 28701, 19065, 33680)

 	-- Empowered Ametrine -- 66580
 	AddRecipe(66580, 450, 40158, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66580, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66580, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66580, 33637, 28701, 19065, 33680)

 	-- Stalwart Ametrine -- 66581
 	AddRecipe(66581, 450, 40160, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66581, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK)
-	self:AddRecipeAcquire(66581, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66581, 33637, 28701, 19065, 33680)

 	-- Resplendent Ametrine -- 66582
 	AddRecipe(66582, 450, 40145, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66582, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66582, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66582, 33637, 28701, 19065, 33680)

 	-- Fierce Ametrine -- 66583
 	AddRecipe(66583, 450, 40146, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66583, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66583, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66583, 33637, 28701, 19065, 33680)

 	-- Deft Ametrine -- 66584
 	AddRecipe(66584, 450, 40150, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66584, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66584, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66584, 33637, 28701, 19065, 33680)

 	-- Lucent Ametrine -- 66585
 	AddRecipe(66585, 450, 40149, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66585, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66585, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66585, 33637, 28701, 19065, 33680)

 	-- Resolute Ametrine -- 66586
 	AddRecipe(66586, 450, 40163, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66586, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TANK)
-	self:AddRecipeAcquire(66586, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66586, 33637, 28701, 19065, 33680)

 	-- Stark Ametrine -- 66587
 	AddRecipe(66587, 450, 40159, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(66587, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(66587, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(66587, 33637, 28701, 19065, 33680)

 	-- Nightmare Tear -- 68253
 	AddRecipe(68253, 450, 49110, Q.RARE, V.WOTLK, 450, 450, 452, 465)
 	self:AddRecipeFlags(68253, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(68253, A.VENDOR, 19065, A.VENDOR, 33637, A.VENDOR, 33680, A.VENDOR, 28701)
+	self:AddRecipeVendor(68253, 33637, 28701, 19065, 33680)

 	return num_recipes
 end
diff --git a/Database/Leatherworking.lua b/Database/Leatherworking.lua
index fc0314b..719597d 100644
--- a/Database/Leatherworking.lua
+++ b/Database/Leatherworking.lua
@@ -63,7 +63,7 @@ function addon:InitLeatherworking()
 	-- Handstitched Leather Pants -- 2153
 	AddRecipe(2153, 15, 2303, Q.COMMON, V.ORIG, 15, 45, 60, 75)
 	self:AddRecipeFlags(2153, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(2153, A.TRAINER, 1632, A.TRAINER, 3007, A.TRAINER, 3069, A.TRAINER, 3365, A.TRAINER, 3549, A.TRAINER, 3605, A.TRAINER, 3703, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 5784, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16278, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 17442, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1385, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153)
+	self:AddRecipeTrainer(2153, 1385, 3703, 16688, 8153, 5784, 33681, 3967, 19187, 11097, 18754, 33635, 3605, 11098, 16728, 3549, 4588, 3365, 18771, 5127, 33612, 17442, 5564, 3007, 3069, 16278, 21087, 1632, 4212)

 	-- Fine Leather Boots -- 2158
 	AddRecipe(2158, 90, 2307, Q.UNCOMMON, V.ORIG, 90, 120, 135, 150)
@@ -73,22 +73,22 @@ function addon:InitLeatherworking()
 	-- Fine Leather Cloak -- 2159
 	AddRecipe(2159, 85, 2308, Q.COMMON, V.ORIG, 85, 105, 120, 135)
 	self:AddRecipeFlags(2159, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOAK)
-	self:AddRecipeAcquire(2159, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(2159, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Embossed Leather Vest -- 2160
 	AddRecipe(2160, 40, 2300, Q.COMMON, V.ORIG, 40, 70, 85, 100)
 	self:AddRecipeFlags(2160, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(2160, A.TRAINER, 1632, A.TRAINER, 3007, A.TRAINER, 3069, A.TRAINER, 3365, A.TRAINER, 3549, A.TRAINER, 3605, A.TRAINER, 3703, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 5784, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16278, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 17442, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1385, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153)
+	self:AddRecipeTrainer(2160, 1385, 3703, 16688, 8153, 5784, 33681, 3967, 19187, 11097, 18754, 33635, 3605, 11098, 16728, 3549, 4588, 3365, 18771, 5127, 33612, 17442, 5564, 3007, 3069, 16278, 21087, 1632, 4212)

 	-- Embossed Leather Boots -- 2161
 	AddRecipe(2161, 55, 2309, Q.COMMON, V.ORIG, 55, 85, 100, 115)
 	self:AddRecipeFlags(2161, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(2161, A.TRAINER, 1632, A.TRAINER, 3007, A.TRAINER, 3069, A.TRAINER, 3365, A.TRAINER, 3549, A.TRAINER, 3605, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 5784, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16278, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 17442, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1385, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153)
+	self:AddRecipeTrainer(2161, 1385, 3703, 16688, 8153, 5784, 33681, 3967, 19187, 11097, 18754, 33635, 3605, 11098, 16728, 3549, 4588, 5564, 18771, 5127, 33612, 17442, 3365, 3007, 3069, 16278, 21087, 1632, 4212)

 	-- Embossed Leather Cloak -- 2162
 	AddRecipe(2162, 60, 2310, Q.COMMON, V.ORIG, 60, 90, 105, 120)
 	self:AddRecipeFlags(2162, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(2162, A.TRAINER, 1632, A.TRAINER, 3007, A.TRAINER, 3069, A.TRAINER, 3365, A.TRAINER, 3549, A.TRAINER, 3605, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 5784, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16278, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 17442, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1385, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153)
+	self:AddRecipeTrainer(2162, 1385, 3703, 16688, 8153, 5784, 33681, 3967, 19187, 11097, 18754, 33635, 3605, 11098, 16728, 3549, 4588, 5564, 18771, 5127, 33612, 17442, 3365, 3007, 3069, 16278, 21087, 1632, 4212)

 	-- White Leather Jerkin -- 2163
 	AddRecipe(2163, 60, 2311, Q.UNCOMMON, V.ORIG, 60, 90, 105, 120)
@@ -103,22 +103,22 @@ function addon:InitLeatherworking()
 	-- Medium Armor Kit -- 2165
 	AddRecipe(2165, 100, 2313, Q.COMMON, V.ORIG, 100, 115, 122, 130)
 	self:AddRecipeFlags(2165, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(2165, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(2165, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 16728, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 18771, 16278, 21087, 1632, 3365)

 	-- Toughened Leather Armor -- 2166
 	AddRecipe(2166, 120, 2314, Q.COMMON, V.ORIG, 120, 145, 157, 170)
 	self:AddRecipeFlags(2166, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(2166, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(2166, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 3549, 4212, 4588, 33681, 33635, 5127, 33612, 17442, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Dark Leather Boots -- 2167
 	AddRecipe(2167, 100, 2315, Q.COMMON, V.ORIG, 100, 125, 137, 150)
 	self:AddRecipeFlags(2167, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(2167, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(2167, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Dark Leather Cloak -- 2168
 	AddRecipe(2168, 110, 2316, Q.COMMON, V.ORIG, 110, 135, 147, 160)
 	self:AddRecipeFlags(2168, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(2168, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(2168, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Dark Leather Tunic -- 2169
 	AddRecipe(2169, 100, 2317, Q.UNCOMMON, V.ORIG, 100, 125, 137, 150)
@@ -133,27 +133,27 @@ function addon:InitLeatherworking()
 	-- Handstitched Leather Belt -- 3753
 	AddRecipe(3753, 25, 4237, Q.COMMON, V.ORIG, 25, 55, 70, 85)
 	self:AddRecipeFlags(3753, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(3753, A.TRAINER, 1385, A.TRAINER, 1632, A.TRAINER, 3007, A.TRAINER, 3069, A.TRAINER, 3365, A.TRAINER, 3549, A.TRAINER, 3605, A.TRAINER, 3703, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 5784, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16278, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 17442, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153)
+	self:AddRecipeTrainer(3753, 1385, 3703, 16688, 8153, 5784, 33681, 3967, 19187, 11097, 18754, 33635, 3605, 11098, 16728, 3549, 4588, 3365, 18771, 5127, 33612, 17442, 5564, 3007, 3069, 16278, 21087, 1632, 4212)

 	-- Embossed Leather Gloves -- 3756
 	AddRecipe(3756, 55, 4239, Q.COMMON, V.ORIG, 55, 85, 100, 115)
 	self:AddRecipeFlags(3756, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(3756, A.TRAINER, 1632, A.TRAINER, 3007, A.TRAINER, 3069, A.TRAINER, 3365, A.TRAINER, 3549, A.TRAINER, 3605, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 5784, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16278, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 17442, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1385, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681, A.TRAINER, 8153)
+	self:AddRecipeTrainer(3756, 1385, 3703, 16688, 8153, 5784, 33681, 3967, 19187, 11097, 18754, 16728, 3605, 11098, 33635, 3549, 4588, 5564, 18771, 5127, 33612, 17442, 3365, 3007, 3069, 16278, 21087, 1632, 4212)

 	-- Embossed Leather Pants -- 3759
 	AddRecipe(3759, 75, 4242, Q.COMMON, V.ORIG, 75, 105, 120, 135)
 	self:AddRecipeFlags(3759, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(3759, A.TRAINER, 1385, A.TRAINER, 1632, A.TRAINER, 3007, A.TRAINER, 3069, A.TRAINER, 3365, A.TRAINER, 3549, A.TRAINER, 3605, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 5784, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16278, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 17442, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681, A.TRAINER, 8153)
+	self:AddRecipeTrainer(3759, 1385, 3703, 16688, 8153, 5784, 33681, 3967, 19187, 11097, 18754, 16728, 3605, 11098, 33635, 3549, 4588, 5564, 18771, 5127, 33612, 17442, 3365, 3007, 3069, 16278, 21087, 1632, 4212)

 	-- Hillman's Cloak -- 3760
 	AddRecipe(3760, 150, 3719, Q.COMMON, V.ORIG, 150, 170, 180, 190)
 	self:AddRecipeFlags(3760, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(3760, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(3760, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 3549, 4212, 4588, 33681, 33635, 5127, 33612, 17442, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Fine Leather Tunic -- 3761
 	AddRecipe(3761, 85, 4243, Q.COMMON, V.ORIG, 85, 115, 130, 145)
 	self:AddRecipeFlags(3761, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(3761, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(3761, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 16728, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 18771, 16278, 21087, 1632, 3365)

 	-- Hillman's Leather Vest -- 3762
 	AddRecipe(3762, 100, 4244, Q.UNCOMMON, V.ORIG, 100, 125, 137, 150)
@@ -163,12 +163,12 @@ function addon:InitLeatherworking()
 	-- Fine Leather Belt -- 3763
 	AddRecipe(3763, 80, 4246, Q.COMMON, V.ORIG, 80, 110, 125, 140)
 	self:AddRecipeFlags(3763, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(3763, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(3763, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 16728, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 18771, 16278, 21087, 1632, 3365)

 	-- Hillman's Leather Gloves -- 3764
 	AddRecipe(3764, 145, 4247, Q.COMMON, V.ORIG, 145, 170, 182, 195)
 	self:AddRecipeFlags(3764, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(3764, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(3764, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 3549, 4212, 4588, 33681, 33635, 5127, 33612, 17442, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Dark Leather Gloves -- 3765
 	AddRecipe(3765, 120, 4248, Q.UNCOMMON, V.ORIG, 120, 155, 167, 180)
@@ -178,7 +178,7 @@ function addon:InitLeatherworking()
 	-- Dark Leather Belt -- 3766
 	AddRecipe(3766, 125, 4249, Q.COMMON, V.ORIG, 125, 150, 162, 175)
 	self:AddRecipeFlags(3766, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(3766, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(3766, 1385, 3703, 16688, 5784, 3967, 19187, 11097, 18754, 3605, 5564, 11098, 18771, 4212, 4588, 33681, 33635, 5127, 33612, 3549, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Hillman's Belt -- 3767
 	AddRecipe(3767, 120, 4250, Q.UNCOMMON, V.ORIG, 120, 145, 157, 170)
@@ -188,7 +188,7 @@ function addon:InitLeatherworking()
 	-- Hillman's Shoulders -- 3768
 	AddRecipe(3768, 130, 4251, Q.COMMON, V.ORIG, 130, 155, 167, 180)
 	self:AddRecipeFlags(3768, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(3768, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(3768, 1385, 3703, 16688, 5784, 3967, 19187, 11097, 18754, 3605, 5564, 11098, 18771, 4212, 4588, 3549, 33635, 5127, 33612, 17442, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Dark Leather Shoulders -- 3769
 	AddRecipe(3769, 140, 4252, Q.UNCOMMON, V.ORIG, 140, 165, 177, 190)
@@ -198,7 +198,7 @@ function addon:InitLeatherworking()
 	-- Toughened Leather Gloves -- 3770
 	AddRecipe(3770, 135, 4253, Q.COMMON, V.ORIG, 135, 160, 172, 185)
 	self:AddRecipeFlags(3770, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(3770, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(3770, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 3549, 4212, 4588, 33681, 33635, 5127, 33612, 17442, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Barbaric Gloves -- 3771
 	AddRecipe(3771, 150, 4254, Q.UNCOMMON, V.ORIG, 150, 170, 180, 190)
@@ -208,7 +208,7 @@ function addon:InitLeatherworking()
 	-- Green Leather Armor -- 3772
 	AddRecipe(3772, 155, 4255, Q.COMMON, V.ORIG, 155, 175, 185, 195)
 	self:AddRecipeFlags(3772, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TANK, F.LEATHER)
-	self:AddRecipeAcquire(3772, A.VENDOR, 2679, A.VENDOR, 2698)
+	self:AddRecipeVendor(3772, 2679, 2698)

 	-- Guardian Armor -- 3773
 	AddRecipe(3773, 175, 4256, Q.UNCOMMON, V.ORIG, 175, 195, 205, 215)
@@ -218,7 +218,7 @@ function addon:InitLeatherworking()
 	-- Green Leather Belt -- 3774
 	AddRecipe(3774, 160, 4257, Q.COMMON, V.ORIG, 160, 180, 190, 200)
 	self:AddRecipeFlags(3774, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.LEATHER)
-	self:AddRecipeAcquire(3774, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(3774, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Guardian Belt -- 3775
 	AddRecipe(3775, 170, 4258, Q.RARE, V.ORIG, 170, 190, 200, 210)
@@ -228,7 +228,7 @@ function addon:InitLeatherworking()
 	-- Green Leather Bracers -- 3776
 	AddRecipe(3776, 180, 4259, Q.COMMON, V.ORIG, 180, 200, 210, 220)
 	self:AddRecipeFlags(3776, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.LEATHER)
-	self:AddRecipeAcquire(3776, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(3776, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Guardian Leather Bracers -- 3777
 	AddRecipe(3777, 195, 4260, Q.UNCOMMON, V.ORIG, 195, 215, 225, 235)
@@ -238,7 +238,7 @@ function addon:InitLeatherworking()
 	-- Gem-studded Leather Belt -- 3778
 	AddRecipe(3778, 185, 4262, Q.COMMON, V.ORIG, 185, 205, 215, 225)
 	self:AddRecipeFlags(3778, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(3778, A.VENDOR, 2699)
+	self:AddRecipeVendor(3778, 2699)

 	-- Barbaric Belt -- 3779
 	AddRecipe(3779, 200, 4264, Q.RARE, V.ORIG, 200, 220, 230, 240)
@@ -248,32 +248,32 @@ function addon:InitLeatherworking()
 	-- Heavy Armor Kit -- 3780
 	AddRecipe(3780, 150, 4265, Q.COMMON, V.ORIG, 150, 170, 180, 190)
 	self:AddRecipeFlags(3780, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3780, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(3780, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 3549, 4212, 4588, 33681, 33635, 5127, 33612, 17442, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Cured Light Hide -- 3816
 	AddRecipe(3816, 35, 4231, Q.COMMON, V.ORIG, 35, 55, 65, 75)
 	self:AddRecipeFlags(3816, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3816, A.TRAINER, 1632, A.TRAINER, 3007, A.TRAINER, 3069, A.TRAINER, 3365, A.TRAINER, 3549, A.TRAINER, 3605, A.TRAINER, 3703, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 5784, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16278, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 17442, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1385, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153)
+	self:AddRecipeTrainer(3816, 1385, 3703, 16688, 8153, 5784, 33681, 3967, 19187, 11097, 18754, 33635, 3605, 11098, 16728, 3549, 4588, 3365, 18771, 5127, 33612, 17442, 5564, 3007, 3069, 16278, 21087, 1632, 4212)

 	-- Cured Medium Hide -- 3817
 	AddRecipe(3817, 100, 4233, Q.COMMON, V.ORIG, 100, 115, 122, 130)
 	self:AddRecipeFlags(3817, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3817, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(3817, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 16728, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 18771, 16278, 21087, 1632, 3365)

 	-- Cured Heavy Hide -- 3818
 	AddRecipe(3818, 150, 4236, Q.COMMON, V.ORIG, 150, 160, 165, 170)
 	self:AddRecipeFlags(3818, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3818, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(3818, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 3549, 4212, 4588, 33681, 33635, 5127, 33612, 17442, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Raptor Hide Harness -- 4096
 	AddRecipe(4096, 165, 4455, Q.UNCOMMON, V.WOTLK, 165, 185, 195, 205)
 	self:AddRecipeFlags(4096, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(4096, A.VENDOR, 2819)
+	self:AddRecipeVendor(4096, 2819)

 	-- Raptor Hide Belt -- 4097
 	AddRecipe(4097, 165, 4456, Q.UNCOMMON, V.ORIG, 165, 185, 195, 205)
 	self:AddRecipeFlags(4097, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(4097, A.VENDOR, 2816)
+	self:AddRecipeVendor(4097, 2816)

 	-- Kodo Hide Bag -- 5244
 	AddRecipe(5244, 40, 5081, Q.UNCOMMON, V.ORIG, 40, 70, 85, 100)
@@ -283,27 +283,31 @@ function addon:InitLeatherworking()
 	-- Barbaric Harness -- 6661
 	AddRecipe(6661, 190, 5739, Q.COMMON, V.ORIG, 190, 210, 220, 230)
 	self:AddRecipeFlags(6661, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(6661, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(6661, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Murloc Scale Belt -- 6702
 	AddRecipe(6702, 90, 5780, Q.COMMON, V.ORIG, 90, 120, 135, 150)
 	self:AddRecipeFlags(6702, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(6702, A.MOB, 1732, A.MOB, 3385, A.VENDOR, 843, A.VENDOR, 3556, A.VENDOR, 4186)
+	self:AddRecipeMobDrop(6702, 1732, 3385)
+	self:AddRecipeVendor(6702, 843, 3556, 4186)

 	-- Murloc Scale Breastplate -- 6703
 	AddRecipe(6703, 95, 5781, Q.COMMON, V.ORIG, 95, 125, 140, 155)
 	self:AddRecipeFlags(6703, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(6703, A.MOB, 657, A.MOB, 3386, A.VENDOR, 843, A.VENDOR, 3556, A.VENDOR, 4186)
+	self:AddRecipeMobDrop(6703, 657, 3386)
+	self:AddRecipeVendor(6703, 843, 3556, 4186)

 	-- Thick Murloc Armor -- 6704
 	AddRecipe(6704, 170, 5782, Q.UNCOMMON, V.ORIG, 170, 190, 200, 210)
 	self:AddRecipeFlags(6704, F.ALLIANCE, F.HORDE, F.VENDOR, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(6704, A.MOB, 938, A.MOB, 1160, A.VENDOR, 2381, A.VENDOR, 2393)
+	self:AddRecipeMobDrop(6704, 938, 1160)
+	self:AddRecipeVendor(6704, 2381, 2393)

 	-- Murloc Scale Bracers -- 6705
 	AddRecipe(6705, 190, 5783, Q.UNCOMMON, V.ORIG, 190, 210, 220, 230)
 	self:AddRecipeFlags(6705, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(6705, A.MOB, 2636, A.MOB, 1561, A.VENDOR, 4897)
+	self:AddRecipeMobDrop(6705, 2636, 1561)
+	self:AddRecipeVendor(6705, 4897)

 	-- Handstitched Leather Vest -- 7126
 	AddRecipe(7126, 1, 5957, Q.COMMON, V.ORIG, 1, 40, 55, 70)
@@ -318,22 +322,22 @@ function addon:InitLeatherworking()
 	-- Dark Leather Pants -- 7135
 	AddRecipe(7135, 115, 5961, Q.COMMON, V.ORIG, 115, 140, 152, 165)
 	self:AddRecipeFlags(7135, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(7135, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(7135, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Guardian Pants -- 7147
 	AddRecipe(7147, 160, 5962, Q.COMMON, V.ORIG, 160, 180, 190, 200)
 	self:AddRecipeFlags(7147, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(7147, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(7147, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Barbaric Leggings -- 7149
 	AddRecipe(7149, 170, 5963, Q.COMMON, V.ORIG, 170, 190, 200, 210)
 	self:AddRecipeFlags(7149, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(7149, A.VENDOR, 2810, A.VENDOR, 2821, A.VENDOR, 3958, A.VENDOR, 4877)
+	self:AddRecipeVendor(7149, 4877, 2810, 2821, 3958)

 	-- Barbaric Shoulders -- 7151
 	AddRecipe(7151, 175, 5964, Q.COMMON, V.ORIG, 175, 195, 205, 215)
 	self:AddRecipeFlags(7151, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(7151, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 3703, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(7151, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Guardian Cloak -- 7153
 	AddRecipe(7153, 185, 5965, Q.UNCOMMON, V.ORIG, 185, 205, 215, 225)
@@ -343,17 +347,17 @@ function addon:InitLeatherworking()
 	-- Guardian Gloves -- 7156
 	AddRecipe(7156, 190, 5966, Q.COMMON, V.ORIG, 190, 210, 220, 230)
 	self:AddRecipeFlags(7156, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(7156, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 3703, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(7156, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Deviate Scale Cloak -- 7953
 	AddRecipe(7953, 90, 6466, Q.COMMON, V.ORIG, 90, 120, 135, 150)
 	self:AddRecipeFlags(7953, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(7953, A.VENDOR, 5783)
+	self:AddRecipeVendor(7953, 5783)

 	-- Deviate Scale Gloves -- 7954
 	AddRecipe(7954, 105, 6467, Q.COMMON, V.ORIG, 105, 130, 142, 155)
 	self:AddRecipeFlags(7954, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(7954, A.VENDOR, 5783)
+	self:AddRecipeVendor(7954, 5783)

 	-- Deviate Scale Belt -- 7955
 	AddRecipe(7955, 115, 6468, Q.UNCOMMON, V.ORIG, 115, 140, 152, 165)
@@ -378,12 +382,12 @@ function addon:InitLeatherworking()
 	-- Light Leather Quiver -- 9060
 	AddRecipe(9060, 30, 7278, Q.COMMON, V.ORIG, 30, 60, 75, 90)
 	self:AddRecipeFlags(9060, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(9060, A.TRAINER, 1632, A.TRAINER, 3007, A.TRAINER, 3069, A.TRAINER, 3365, A.TRAINER, 3549, A.TRAINER, 3605, A.TRAINER, 3703, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 5784, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16278, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 17442, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1385, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153)
+	self:AddRecipeTrainer(9060, 1385, 3703, 16688, 8153, 5784, 33681, 3967, 19187, 11097, 18754, 33635, 3605, 11098, 16728, 3549, 4588, 3365, 18771, 5127, 33612, 17442, 5564, 3007, 3069, 16278, 21087, 1632, 4212)

 	-- Small Leather Ammo Pouch -- 9062
 	AddRecipe(9062, 30, 7279, Q.COMMON, V.ORIG, 30, 60, 75, 90)
 	self:AddRecipeFlags(9062, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.AMMO)
-	self:AddRecipeAcquire(9062, A.TRAINER, 1385, A.TRAINER, 1632, A.TRAINER, 3007, A.TRAINER, 3069, A.TRAINER, 3365, A.TRAINER, 3549, A.TRAINER, 3605, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 5784, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16278, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 17442, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681, A.TRAINER, 8153)
+	self:AddRecipeTrainer(9062, 1385, 3703, 16688, 8153, 5784, 33681, 3967, 19187, 11097, 18754, 16728, 3605, 11098, 33635, 3549, 4588, 5564, 18771, 5127, 33612, 17442, 3365, 3007, 3069, 16278, 21087, 1632, 4212)

 	-- Rugged Leather Pants -- 9064
 	AddRecipe(9064, 35, 7280, Q.UNCOMMON, V.ORIG, 35, 65, 80, 95)
@@ -393,42 +397,42 @@ function addon:InitLeatherworking()
 	-- Light Leather Bracers -- 9065
 	AddRecipe(9065, 70, 7281, Q.COMMON, V.ORIG, 70, 100, 115, 130)
 	self:AddRecipeFlags(9065, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(9065, A.TRAINER, 1385, A.TRAINER, 1632, A.TRAINER, 3007, A.TRAINER, 3069, A.TRAINER, 3365, A.TRAINER, 3549, A.TRAINER, 3605, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 5784, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16278, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 17442, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681, A.TRAINER, 8153)
+	self:AddRecipeTrainer(9065, 1385, 3703, 16688, 8153, 5784, 33681, 3967, 19187, 11097, 18754, 16728, 3605, 11098, 33635, 3549, 4588, 5564, 18771, 5127, 33612, 17442, 3365, 3007, 3069, 16278, 21087, 1632, 4212)

 	-- Light Leather Pants -- 9068
 	AddRecipe(9068, 95, 7282, Q.COMMON, V.ORIG, 95, 125, 140, 155)
 	self:AddRecipeFlags(9068, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(9068, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(9068, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Black Whelp Cloak -- 9070
 	AddRecipe(9070, 100, 7283, Q.COMMON, V.ORIG, 100, 125, 137, 150)
 	self:AddRecipeFlags(9070, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOE, F.CLOAK)
-	self:AddRecipeAcquire(9070, A.VENDOR, 2697)
+	self:AddRecipeVendor(9070, 2697)

 	-- Red Whelp Gloves -- 9072
 	AddRecipe(9072, 120, 7284, Q.COMMON, V.ORIG, 120, 145, 157, 170)
 	self:AddRecipeFlags(9072, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(9072, A.VENDOR, 2679)
+	self:AddRecipeVendor(9072, 2679)

 	-- Nimble Leather Gloves -- 9074
 	AddRecipe(9074, 120, 7285, Q.COMMON, V.ORIG, 120, 145, 157, 170)
 	self:AddRecipeFlags(9074, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(9074, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(9074, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 3549, 4212, 4588, 33681, 33635, 5127, 33612, 17442, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Fletcher's Gloves -- 9145
 	AddRecipe(9145, 125, 7348, Q.COMMON, V.ORIG, 125, 150, 162, 175)
 	self:AddRecipeFlags(9145, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(9145, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(9145, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 3549, 4212, 4588, 33681, 33635, 5127, 33612, 17442, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Herbalist's Gloves -- 9146
 	AddRecipe(9146, 135, 7349, Q.UNCOMMON, V.ORIG, 135, 160, 172, 185)
 	self:AddRecipeFlags(9146, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(9146, A.VENDOR, 6731)
+	self:AddRecipeVendor(9146, 6731)

 	-- Earthen Leather Shoulders -- 9147
 	AddRecipe(9147, 135, 7352, Q.COMMON, V.ORIG, 135, 160, 172, 185)
 	self:AddRecipeFlags(9147, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(9147, A.VENDOR, 3537)
+	self:AddRecipeVendor(9147, 3537)

 	-- Pilferer's Gloves -- 9148
 	AddRecipe(9148, 140, 7358, Q.UNCOMMON, V.ORIG, 140, 165, 177, 190)
@@ -443,12 +447,12 @@ function addon:InitLeatherworking()
 	-- Heavy Quiver -- 9193
 	AddRecipe(9193, 150, 7371, Q.COMMON, V.ORIG, 150, 170, 180, 190)
 	self:AddRecipeFlags(9193, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(9193, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(9193, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 3549, 4212, 4588, 33681, 33635, 5127, 33612, 17442, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Heavy Leather Ammo Pouch -- 9194
 	AddRecipe(9194, 150, 7372, Q.COMMON, V.ORIG, 150, 170, 180, 190)
 	self:AddRecipeFlags(9194, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.AMMO)
-	self:AddRecipeAcquire(9194, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(9194, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 3549, 4212, 4588, 33681, 33635, 5127, 33612, 17442, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Dusky Leather Leggings -- 9195
 	AddRecipe(9195, 165, 7373, Q.UNCOMMON, V.ORIG, 165, 185, 195, 205)
@@ -458,7 +462,7 @@ function addon:InitLeatherworking()
 	-- Dusky Leather Armor -- 9196
 	AddRecipe(9196, 175, 7374, Q.COMMON, V.ORIG, 175, 195, 205, 215)
 	self:AddRecipeFlags(9196, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(9196, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(9196, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Green Whelp Armor -- 9197
 	AddRecipe(9197, 175, 7375, Q.UNCOMMON, V.ORIG, 175, 195, 205, 215)
@@ -468,22 +472,22 @@ function addon:InitLeatherworking()
 	-- Frost Leather Cloak -- 9198
 	AddRecipe(9198, 180, 7377, Q.COMMON, V.ORIG, 180, 200, 210, 220)
 	self:AddRecipeFlags(9198, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(9198, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(9198, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Dusky Bracers -- 9201
 	AddRecipe(9201, 185, 7378, Q.COMMON, V.ORIG, 185, 205, 215, 225)
 	self:AddRecipeFlags(9201, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(9201, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(9201, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Green Whelp Bracers -- 9202
 	AddRecipe(9202, 190, 7386, Q.UNCOMMON, V.ORIG, 190, 210, 220, 230)
 	self:AddRecipeFlags(9202, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(9202, A.VENDOR, 7854, A.VENDOR, 4589, A.VENDOR, 7852, A.VENDOR, 4225)
+	self:AddRecipeVendor(9202, 7854, 7852, 4589, 4225)

 	-- Dusky Belt -- 9206
 	AddRecipe(9206, 195, 7387, Q.COMMON, V.ORIG, 195, 215, 225, 235)
 	self:AddRecipeFlags(9206, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(9206, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(9206, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Dusky Boots -- 9207
 	AddRecipe(9207, 200, 7390, Q.RARE, V.ORIG, 200, 220, 230, 240)
@@ -498,12 +502,12 @@ function addon:InitLeatherworking()
 	-- Cured Thick Hide -- 10482
 	AddRecipe(10482, 200, 8172, Q.COMMON, V.ORIG, 200, 200, 200, 200)
 	self:AddRecipeFlags(10482, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(10482, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(10482, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Thick Armor Kit -- 10487
 	AddRecipe(10487, 200, 8173, Q.COMMON, V.ORIG, 200, 220, 230, 240)
 	self:AddRecipeFlags(10487, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(10487, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(10487, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Comfortable Leather Hat -- 10490
 	AddRecipe(10490, 200, 8174, Q.RARE, V.ORIG, 200, 220, 230, 240)
@@ -513,32 +517,32 @@ function addon:InitLeatherworking()
 	-- Nightscape Tunic -- 10499
 	AddRecipe(10499, 205, 8175, Q.COMMON, V.ORIG, 205, 225, 235, 245)
 	self:AddRecipeFlags(10499, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(10499, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(10499, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Nightscape Headband -- 10507
 	AddRecipe(10507, 205, 8176, Q.COMMON, V.ORIG, 205, 225, 235, 245)
 	self:AddRecipeFlags(10507, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(10507, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(10507, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Turtle Scale Gloves -- 10509
 	AddRecipe(10509, 205, 8187, Q.COMMON, V.ORIG, 205, 225, 235, 245)
 	self:AddRecipeFlags(10509, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(10509, A.VENDOR, 7852, A.VENDOR, 7854)
+	self:AddRecipeVendor(10509, 7852, 7854)

 	-- Turtle Scale Breastplate -- 10511
 	AddRecipe(10511, 210, 8189, Q.COMMON, V.ORIG, 210, 230, 240, 250)
 	self:AddRecipeFlags(10511, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(10511, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(10511, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Nightscape Shoulders -- 10516
 	AddRecipe(10516, 210, 8192, Q.UNCOMMON, V.ORIG, 210, 230, 240, 250)
 	self:AddRecipeFlags(10516, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(10516, A.VENDOR, 7854, A.VENDOR, 8160)
+	self:AddRecipeVendor(10516, 7854, 8160)

 	-- Turtle Scale Bracers -- 10518
 	AddRecipe(10518, 210, 8198, Q.COMMON, V.ORIG, 210, 230, 240, 250)
 	self:AddRecipeFlags(10518, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(10518, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(10518, 1385, 3703, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Big Voodoo Robe -- 10520
 	AddRecipe(10520, 215, 8200, Q.UNCOMMON, V.ORIG, 215, 235, 245, 255)
@@ -548,7 +552,7 @@ function addon:InitLeatherworking()
 	-- Tough Scorpid Breastplate -- 10525
 	AddRecipe(10525, 220, 8203, Q.UNCOMMON, V.ORIG, 220, 240, 250, 260)
 	self:AddRecipeFlags(10525, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(10525, A.MOB, 5618)
+	self:AddRecipeMobDrop(10525, 5618)

 	-- Wild Leather Shoulders -- 10529
 	AddRecipe(10529, 220, 8210, Q.UNCOMMON, V.ORIG, 220, 240, 250, 260)
@@ -563,12 +567,12 @@ function addon:InitLeatherworking()
 	-- Tough Scorpid Bracers -- 10533
 	AddRecipe(10533, 220, 8205, Q.UNCOMMON, V.ORIG, 220, 240, 250, 260)
 	self:AddRecipeFlags(10533, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(10533, A.MOB, 5617)
+	self:AddRecipeMobDrop(10533, 5617)

 	-- Tough Scorpid Gloves -- 10542
 	AddRecipe(10542, 225, 8204, Q.UNCOMMON, V.ORIG, 225, 245, 255, 265)
 	self:AddRecipeFlags(10542, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(10542, A.MOB, 5616)
+	self:AddRecipeMobDrop(10542, 5616)

 	-- Wild Leather Vest -- 10544
 	AddRecipe(10544, 225, 8211, Q.UNCOMMON, V.ORIG, 225, 245, 255, 265)
@@ -583,27 +587,27 @@ function addon:InitLeatherworking()
 	-- Nightscape Pants -- 10548
 	AddRecipe(10548, 230, 8193, Q.COMMON, V.ORIG, 230, 250, 260, 270)
 	self:AddRecipeFlags(10548, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(10548, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 4212, A.TRAINER, 3007, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(10548, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Turtle Scale Helm -- 10552
 	AddRecipe(10552, 230, 8191, Q.COMMON, V.ORIG, 230, 250, 260, 270)
 	self:AddRecipeFlags(10552, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(10552, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 4212, A.TRAINER, 3007, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(10552, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Tough Scorpid Boots -- 10554
 	AddRecipe(10554, 235, 8209, Q.UNCOMMON, V.ORIG, 235, 255, 265, 275)
 	self:AddRecipeFlags(10554, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(10554, A.MOB, 5615)
+	self:AddRecipeMobDrop(10554, 5615)

 	-- Turtle Scale Leggings -- 10556
 	AddRecipe(10556, 235, 8185, Q.COMMON, V.ORIG, 235, 255, 265, 275)
 	self:AddRecipeFlags(10556, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(10556, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 4212, A.TRAINER, 3007, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(10556, 1385, 3703, 16688, 5784, 3967, 19187, 11097, 18754, 4588, 33635, 18771, 5127, 4212, 3365, 5564, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Nightscape Boots -- 10558
 	AddRecipe(10558, 235, 8197, Q.COMMON, V.ORIG, 235, 255, 265, 275)
 	self:AddRecipeFlags(10558, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(10558, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 4212, A.TRAINER, 3007, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(10558, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Big Voodoo Pants -- 10560
 	AddRecipe(10560, 240, 8202, Q.UNCOMMON, V.ORIG, 240, 260, 270, 280)
@@ -618,7 +622,7 @@ function addon:InitLeatherworking()
 	-- Tough Scorpid Shoulders -- 10564
 	AddRecipe(10564, 240, 8207, Q.UNCOMMON, V.ORIG, 240, 260, 270, 280)
 	self:AddRecipeFlags(10564, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(10564, A.MOB, 5623, A.MOB, 7805, A.MOB, 7883)
+	self:AddRecipeMobDrop(10564, 5623, 7805, 7883)

 	-- Wild Leather Boots -- 10566
 	AddRecipe(10566, 245, 8213, Q.UNCOMMON, V.ORIG, 245, 265, 275, 285)
@@ -628,12 +632,12 @@ function addon:InitLeatherworking()
 	-- Tough Scorpid Leggings -- 10568
 	AddRecipe(10568, 245, 8206, Q.UNCOMMON, V.ORIG, 245, 265, 275, 285)
 	self:AddRecipeFlags(10568, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(10568, A.MOB, 5615)
+	self:AddRecipeMobDrop(10568, 5615)

 	-- Tough Scorpid Helm -- 10570
 	AddRecipe(10570, 250, 8208, Q.UNCOMMON, V.ORIG, 250, 270, 280, 290)
 	self:AddRecipeFlags(10570, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(10570, A.MOB, 5623, A.MOB, 7805, A.MOB, 7883)
+	self:AddRecipeMobDrop(10570, 5623, 7805, 7883)

 	-- Wild Leather Leggings -- 10572
 	AddRecipe(10572, 250, 8212, Q.UNCOMMON, V.ORIG, 250, 270, 280, 290)
@@ -648,112 +652,113 @@ function addon:InitLeatherworking()
 	-- Dragonscale Gauntlets -- 10619
 	AddRecipe(10619, 225, 8347, Q.COMMON, V.ORIG, 225, 245, 255, 265)
 	self:AddRecipeFlags(10619, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(10619, A.TRAINER, 7866, A.TRAINER, 7867, A.TRAINER, 29508)
+	self:AddRecipeTrainer(10619, 7866, 7867, 29508)

 	-- Wolfshead Helm -- 10621
 	AddRecipe(10621, 225, 8345, Q.COMMON, V.ORIG, 225, 245, 255, 265)
 	self:AddRecipeFlags(10621, F.ALLIANCE, F.HORDE, F.TRAINER, F.DRUID, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(10621, A.TRAINER, 7870, A.TRAINER, 7871, A.TRAINER, 29509)
+	self:AddRecipeTrainer(10621, 29509, 7870, 7871)

 	-- Gauntlets of the Sea -- 10630
 	AddRecipe(10630, 230, 8346, Q.COMMON, V.ORIG, 230, 250, 260, 270)
 	self:AddRecipeFlags(10630, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(10630, A.TRAINER, 7868, A.TRAINER, 7869, A.TRAINER, 29507)
+	self:AddRecipeTrainer(10630, 7869, 29507, 7868)

 	-- Helm of Fire -- 10632
 	AddRecipe(10632, 250, 8348, Q.COMMON, V.ORIG, 250, 270, 280, 290)
 	self:AddRecipeFlags(10632, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(10632, A.TRAINER, 7868, A.TRAINER, 7869, A.TRAINER, 29507)
+	self:AddRecipeTrainer(10632, 7869, 29507, 7868)

 	-- Feathered Breastplate -- 10647
 	AddRecipe(10647, 250, 8349, Q.COMMON, V.ORIG, 250, 270, 280, 290)
 	self:AddRecipeFlags(10647, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(10647, A.TRAINER, 7870, A.TRAINER, 7871, A.TRAINER, 29509)
+	self:AddRecipeTrainer(10647, 29509, 7870, 7871)

 	-- Dragonscale Breastplate -- 10650
 	AddRecipe(10650, 255, 8367, Q.COMMON, V.ORIG, 255, 275, 285, 295)
 	self:AddRecipeFlags(10650, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(10650, A.TRAINER, 7866, A.TRAINER, 7867, A.TRAINER, 29508)
+	self:AddRecipeTrainer(10650, 7866, 7867, 29508)

 	-- Quickdraw Quiver -- 14930
 	AddRecipe(14930, 225, 8217, Q.COMMON, V.ORIG, 225, 245, 255, 265)
 	self:AddRecipeFlags(14930, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(14930, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(14930, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Thick Leather Ammo Pouch -- 14932
 	AddRecipe(14932, 225, 8218, Q.COMMON, V.ORIG, 225, 245, 255, 265)
 	self:AddRecipeFlags(14932, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.AMMO)
-	self:AddRecipeAcquire(14932, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(14932, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Cured Rugged Hide -- 19047
 	AddRecipe(19047, 250, 15407, Q.COMMON, V.ORIG, 250, 250, 255, 260)
 	self:AddRecipeFlags(19047, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(19047, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 4212, A.TRAINER, 3007, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(19047, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Heavy Scorpid Bracers -- 19048
 	AddRecipe(19048, 255, 15077, Q.COMMON, V.ORIG, 255, 275, 285, 295)
 	self:AddRecipeFlags(19048, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(19048, A.VENDOR, 12956)
+	self:AddRecipeVendor(19048, 12956)

 	-- Wicked Leather Gauntlets -- 19049
 	AddRecipe(19049, 260, 15083, Q.COMMON, V.ORIG, 260, 280, 290, 300)
 	self:AddRecipeFlags(19049, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(19049, A.VENDOR, 12942, A.VENDOR, 12943)
+	self:AddRecipeVendor(19049, 12942, 12943)

 	-- Green Dragonscale Breastplate -- 19050
 	AddRecipe(19050, 260, 15045, Q.COMMON, V.ORIG, 260, 280, 290, 300)
 	self:AddRecipeFlags(19050, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(19050, A.VENDOR, 11874)
+	self:AddRecipeVendor(19050, 11874)

 	-- Heavy Scorpid Vest -- 19051
 	AddRecipe(19051, 265, 15076, Q.UNCOMMON, V.ORIG, 265, 285, 295, 305)
 	self:AddRecipeFlags(19051, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(19051, A.MOB, 5981, A.MOB, 6005)
+	self:AddRecipeMobDrop(19051, 5981, 6005)

 	-- Wicked Leather Bracers -- 19052
 	AddRecipe(19052, 265, 15084, Q.UNCOMMON, V.ORIG, 265, 285, 295, 305)
 	self:AddRecipeFlags(19052, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(19052, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 4212, A.TRAINER, 3007, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(19052, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Chimeric Gloves -- 19053
 	AddRecipe(19053, 265, 15074, Q.COMMON, V.ORIG, 265, 285, 295, 305)
 	self:AddRecipeFlags(19053, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(19053, A.VENDOR, 12957)
+	self:AddRecipeVendor(19053, 12957)

 	-- Red Dragonscale Breastplate -- 19054
 	AddRecipe(19054, 300, 15047, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19054, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(19054, A.MOB, 10363)
+	self:AddRecipeMobDrop(19054, 10363)

 	-- Runic Leather Gauntlets -- 19055
 	AddRecipe(19055, 270, 15091, Q.UNCOMMON, V.ORIG, 270, 290, 300, 310)
 	self:AddRecipeFlags(19055, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(19055, A.WORLD_DROP, 2, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(19055, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 16278, 21087, 1632, 3365)
+	self:AddRecipeAcquire(19055, A.WORLD_DROP, 2)

 	-- Rugged Armor Kit -- 19058
 	AddRecipe(19058, 250, 15564, Q.COMMON, V.ORIG, 250, 255, 265, 275)
 	self:AddRecipeFlags(19058, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(19058, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 3605)
+	self:AddRecipeTrainer(19058, 1385, 3703, 16688, 5784, 3967, 19187, 11097, 18754, 3605, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 18771, 21087, 1632, 3365)

 	-- Volcanic Leggings -- 19059
 	AddRecipe(19059, 270, 15054, Q.UNCOMMON, V.ORIG, 270, 290, 300, 310)
 	self:AddRecipeFlags(19059, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(19059, A.MOB, 7035)
+	self:AddRecipeMobDrop(19059, 7035)

 	-- Green Dragonscale Leggings -- 19060
 	AddRecipe(19060, 270, 15046, Q.RARE, V.ORIG, 270, 290, 300, 310)
 	self:AddRecipeFlags(19060, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(19060, A.MOB, 5226)
+	self:AddRecipeMobDrop(19060, 5226)

 	-- Living Shoulders -- 19061
 	AddRecipe(19061, 270, 15061, Q.COMMON, V.ORIG, 270, 290, 300, 310)
 	self:AddRecipeFlags(19061, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(19061, A.VENDOR, 7852, A.VENDOR, 7854)
+	self:AddRecipeVendor(19061, 7852, 7854)

 	-- Ironfeather Shoulders -- 19062
 	AddRecipe(19062, 270, 15067, Q.COMMON, V.ORIG, 270, 290, 300, 310)
 	self:AddRecipeFlags(19062, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(19062, A.VENDOR, 12958)
+	self:AddRecipeVendor(19062, 12958)

 	-- Chimeric Boots -- 19063
 	AddRecipe(19063, 275, 15073, Q.UNCOMMON, V.ORIG, 275, 295, 305, 315)
@@ -763,27 +768,27 @@ function addon:InitLeatherworking()
 	-- Heavy Scorpid Gauntlets -- 19064
 	AddRecipe(19064, 275, 15078, Q.UNCOMMON, V.ORIG, 275, 295, 305, 315)
 	self:AddRecipeFlags(19064, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(19064, A.MOB, 7025)
+	self:AddRecipeMobDrop(19064, 7025)

 	-- Runic Leather Bracers -- 19065
 	AddRecipe(19065, 275, 15092, Q.UNCOMMON, V.ORIG, 275, 295, 305, 315)
 	self:AddRecipeFlags(19065, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(19065, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 4212, A.TRAINER, 3007, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(19065, 1385, 3703, 16688, 5784, 3967, 19187, 11097, 18754, 4588, 33635, 18771, 5127, 4212, 3365, 5564, 3605, 16728, 33612, 17442, 8153, 3007, 33681, 3549, 21087, 1632, 11098)

 	-- Frostsaber Boots -- 19066
 	AddRecipe(19066, 275, 15071, Q.COMMON, V.ORIG, 275, 295, 305, 315)
 	self:AddRecipeFlags(19066, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(19066, A.VENDOR, 11189)
+	self:AddRecipeVendor(19066, 11189)

 	-- Stormshroud Pants -- 19067
 	AddRecipe(19067, 275, 15057, Q.COMMON, V.ORIG, 275, 295, 305, 315)
 	self:AddRecipeFlags(19067, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.TANK, F.LEATHER)
-	self:AddRecipeAcquire(19067, A.VENDOR, 12942, A.VENDOR, 12943)
+	self:AddRecipeVendor(19067, 12942, 12943)

 	-- Warbear Harness -- 19068
 	AddRecipe(19068, 275, 15064, Q.COMMON, V.ORIG, 275, 295, 305, 315)
 	self:AddRecipeFlags(19068, F.ALLIANCE, F.HORDE, F.VENDOR, F.WORLD_DROP, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.TIMBERMAW_HOLD)
-	self:AddRecipeAcquire(19068, A.REPUTATION, FAC.TIMBERMAW_HOLD, REP.FRIENDLY, 11557)
+	self:AddRecipeRepVendor(19068, FAC.TIMBERMAW_HOLD, REP.FRIENDLY, 11557)

 	-- Heavy Scorpid Belt -- 19070
 	AddRecipe(19070, 280, 15082, Q.UNCOMMON, V.ORIG, 280, 300, 310, 320)
@@ -793,12 +798,12 @@ function addon:InitLeatherworking()
 	-- Wicked Leather Headband -- 19071
 	AddRecipe(19071, 280, 15086, Q.UNCOMMON, V.ORIG, 280, 300, 310, 320)
 	self:AddRecipeFlags(19071, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(19071, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 4212, A.TRAINER, 3007, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(19071, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Runic Leather Belt -- 19072
 	AddRecipe(19072, 280, 15093, Q.UNCOMMON, V.ORIG, 280, 300, 310, 320)
 	self:AddRecipeFlags(19072, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(19072, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 4212, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3007, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(19072, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Chimeric Leggings -- 19073
 	AddRecipe(19073, 280, 15072, Q.UNCOMMON, V.ORIG, 280, 300, 310, 320)
@@ -808,37 +813,37 @@ function addon:InitLeatherworking()
 	-- Frostsaber Leggings -- 19074
 	AddRecipe(19074, 285, 15069, Q.UNCOMMON, V.ORIG, 285, 305, 315, 325)
 	self:AddRecipeFlags(19074, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(19074, A.MOB, 7440)
+	self:AddRecipeMobDrop(19074, 7440)

 	-- Heavy Scorpid Leggings -- 19075
 	AddRecipe(19075, 285, 15079, Q.UNCOMMON, V.ORIG, 285, 305, 315, 325)
 	self:AddRecipeFlags(19075, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(19075, A.MOB, 7027)
+	self:AddRecipeMobDrop(19075, 7027)

 	-- Volcanic Breastplate -- 19076
 	AddRecipe(19076, 285, 15053, Q.UNCOMMON, V.ORIG, 285, 305, 315, 325)
 	self:AddRecipeFlags(19076, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(19076, A.MOB, 9259)
+	self:AddRecipeMobDrop(19076, 9259)

 	-- Blue Dragonscale Breastplate -- 19077
 	AddRecipe(19077, 285, 15048, Q.COMMON, V.ORIG, 285, 305, 315, 325)
 	self:AddRecipeFlags(19077, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(19077, A.VENDOR, 12957)
+	self:AddRecipeVendor(19077, 12957)

 	-- Living Leggings -- 19078
 	AddRecipe(19078, 285, 15060, Q.RARE, V.ORIG, 285, 305, 315, 325)
 	self:AddRecipeFlags(19078, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(19078, A.MOB, 7158)
+	self:AddRecipeMobDrop(19078, 7158)

 	-- Stormshroud Armor -- 19079
 	AddRecipe(19079, 285, 15056, Q.RARE, V.ORIG, 285, 305, 315, 325)
 	self:AddRecipeFlags(19079, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.TANK, F.LEATHER)
-	self:AddRecipeAcquire(19079, A.MOB, 6138)
+	self:AddRecipeMobDrop(19079, 6138)

 	-- Warbear Woolies -- 19080
 	AddRecipe(19080, 285, 15065, Q.COMMON, V.ORIG, 285, 305, 315, 325)
 	self:AddRecipeFlags(19080, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.TIMBERMAW_HOLD)
-	self:AddRecipeAcquire(19080, A.REPUTATION, FAC.TIMBERMAW_HOLD, REP.FRIENDLY, 11557)
+	self:AddRecipeRepVendor(19080, FAC.TIMBERMAW_HOLD, REP.FRIENDLY, 11557)

 	-- Chimeric Vest -- 19081
 	AddRecipe(19081, 290, 15075, Q.UNCOMMON, V.ORIG, 290, 310, 320, 330)
@@ -848,57 +853,57 @@ function addon:InitLeatherworking()
 	-- Runic Leather Headband -- 19082
 	AddRecipe(19082, 290, 15094, Q.COMMON, V.ORIG, 290, 310, 320, 330)
 	self:AddRecipeFlags(19082, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(19082, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(19082, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Wicked Leather Pants -- 19083
 	AddRecipe(19083, 290, 15087, Q.UNCOMMON, V.ORIG, 290, 315, 325, 335)
 	self:AddRecipeFlags(19083, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(19083, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(19083, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Devilsaur Gauntlets -- 19084
 	AddRecipe(19084, 290, 15063, Q.COMMON, V.ORIG, 290, 310, 320, 330)
 	self:AddRecipeFlags(19084, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(19084, A.VENDOR, 12959)
+	self:AddRecipeVendor(19084, 12959)

 	-- Black Dragonscale Breastplate -- 19085
 	AddRecipe(19085, 290, 15050, Q.COMMON, V.ORIG, 290, 310, 320, 330)
 	self:AddRecipeFlags(19085, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(19085, A.VENDOR, 9499)
+	self:AddRecipeVendor(19085, 9499)

 	-- Ironfeather Breastplate -- 19086
 	AddRecipe(19086, 290, 15066, Q.RARE, V.ORIG, 290, 310, 320, 330)
 	self:AddRecipeFlags(19086, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(19086, A.MOB, 2644)
+	self:AddRecipeMobDrop(19086, 2644)

 	-- Frostsaber Gloves -- 19087
 	AddRecipe(19087, 295, 15070, Q.UNCOMMON, V.ORIG, 295, 315, 325, 335)
 	self:AddRecipeFlags(19087, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(19087, A.MOB, 7441)
+	self:AddRecipeMobDrop(19087, 7441)

 	-- Heavy Scorpid Helm -- 19088
 	AddRecipe(19088, 295, 15080, Q.COMMON, V.ORIG, 295, 315, 325, 335)
 	self:AddRecipeFlags(19088, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(19088, A.VENDOR, 12956)
+	self:AddRecipeVendor(19088, 12956)

 	-- Blue Dragonscale Shoulders -- 19089
 	AddRecipe(19089, 295, 15049, Q.RARE, V.ORIG, 295, 315, 325, 335)
 	self:AddRecipeFlags(19089, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(19089, A.MOB, 6146)
+	self:AddRecipeMobDrop(19089, 6146)

 	-- Stormshroud Shoulders -- 19090
 	AddRecipe(19090, 295, 15058, Q.RARE, V.ORIG, 295, 315, 325, 335)
 	self:AddRecipeFlags(19090, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.TANK, F.LEATHER)
-	self:AddRecipeAcquire(19090, A.MOB, 6144)
+	self:AddRecipeMobDrop(19090, 6144)

 	-- Runic Leather Pants -- 19091
 	AddRecipe(19091, 300, 15095, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19091, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(19091, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 4212, A.TRAINER, 3007, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 4588)
+	self:AddRecipeTrainer(19091, 1385, 3703, 16688, 5784, 3967, 19187, 11097, 18754, 4588, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Wicked Leather Belt -- 19092
 	AddRecipe(19092, 300, 15088, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19092, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(19092, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(19092, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Onyxia Scale Cloak -- 19093
 	AddRecipe(19093, 300, 15138, Q.RARE, V.ORIG, 300, 320, 330, 340)
@@ -908,82 +913,82 @@ function addon:InitLeatherworking()
 	-- Black Dragonscale Shoulders -- 19094
 	AddRecipe(19094, 300, 15051, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19094, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(19094, A.MOB, 8898)
+	self:AddRecipeMobDrop(19094, 8898)

 	-- Living Breastplate -- 19095
 	AddRecipe(19095, 300, 15059, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19095, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(19095, A.MOB, 1813)
+	self:AddRecipeMobDrop(19095, 1813)

 	-- Devilsaur Leggings -- 19097
 	AddRecipe(19097, 300, 15062, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19097, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(19097, A.MOB, 6556, A.MOB, 6557, A.MOB, 6559, A.MOB, 9477)
+	self:AddRecipeMobDrop(19097, 9477, 6556, 6557, 6559)

 	-- Wicked Leather Armor -- 19098
 	AddRecipe(19098, 300, 15085, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19098, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(19098, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278)
+	self:AddRecipeTrainer(19098, 1385, 3703, 16688, 5784, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Heavy Scorpid Shoulders -- 19100
 	AddRecipe(19100, 300, 15081, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19100, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(19100, A.MOB, 7029)
+	self:AddRecipeMobDrop(19100, 7029)

 	-- Volcanic Shoulders -- 19101
 	AddRecipe(19101, 300, 15055, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19101, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(19101, A.MOB, 9260)
+	self:AddRecipeMobDrop(19101, 9260)

 	-- Runic Leather Armor -- 19102
 	AddRecipe(19102, 300, 15090, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19102, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(19102, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(19102, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Runic Leather Shoulders -- 19103
 	AddRecipe(19103, 300, 15096, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19103, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(19103, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(19103, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Frostsaber Tunic -- 19104
 	AddRecipe(19104, 300, 15068, Q.UNCOMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19104, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(19104, A.MOB, 7438)
+	self:AddRecipeMobDrop(19104, 7438)

 	-- Black Dragonscale Leggings -- 19107
 	AddRecipe(19107, 300, 15052, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(19107, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(19107, A.MOB, 8903)
+	self:AddRecipeMobDrop(19107, 8903)

 	-- Medium Leather -- 20648
 	AddRecipe(20648, 100, 2319, Q.COMMON, V.ORIG, 100, 100, 105, 110)
 	self:AddRecipeFlags(20648, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(20648, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(20648, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 16728, 5564, 11098, 33635, 4212, 4588, 8153, 33681, 5127, 33612, 17442, 3549, 3007, 18771, 16278, 21087, 1632, 3365)

 	-- Heavy Leather -- 20649
 	AddRecipe(20649, 150, 4234, Q.COMMON, V.ORIG, 150, 150, 155, 160)
 	self:AddRecipeFlags(20649, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(20649, A.TRAINER, 1385, A.TRAINER, 3007, A.TRAINER, 3365, A.TRAINER, 3703, A.TRAINER, 3967, A.TRAINER, 4212, A.TRAINER, 4588, A.TRAINER, 5127, A.TRAINER, 5564, A.TRAINER, 8153, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 16688, A.TRAINER, 16728, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 3549, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 33681, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605)
+	self:AddRecipeTrainer(20649, 1385, 3703, 16688, 5784, 3605, 3967, 19187, 11097, 18754, 18771, 5564, 11098, 3549, 4212, 4588, 33681, 33635, 5127, 33612, 17442, 8153, 3007, 16728, 16278, 21087, 1632, 3365)

 	-- Thick Leather -- 20650
 	AddRecipe(20650, 200, 4304, Q.COMMON, V.ORIG, 200, 200, 202, 205)
 	self:AddRecipeFlags(20650, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(20650, A.TRAINER, 3007, A.TRAINER, 4212, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(20650, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Corehound Boots -- 20853
 	AddRecipe(20853, 295, 16982, Q.COMMON, V.ORIG, 295, 315, 325, 335)
 	self:AddRecipeFlags(20853, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(20853, A.VENDOR, 12944)
+	self:AddRecipeVendor(20853, 12944)

 	-- Molten Helm -- 20854
 	AddRecipe(20854, 300, 16983, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(20854, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.LEATHER)
-	self:AddRecipeAcquire(20854, A.VENDOR, 12944)
+	self:AddRecipeVendor(20854, 12944)

 	-- Black Dragonscale Boots -- 20855
 	AddRecipe(20855, 300, 16984, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(20855, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(20855, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)
+	self:AddRecipeRepVendor(20855, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)

 	-- Gloves of the Greatfather -- 21943
 	AddRecipe(21943, 190, 17721, Q.UNCOMMON, V.ORIG, 190, 210, 220, 230)
@@ -993,12 +998,12 @@ function addon:InitLeatherworking()
 	-- Rugged Leather -- 22331
 	AddRecipe(22331, 250, 8170, Q.COMMON, V.ORIG, 250, 250, 250, 250)
 	self:AddRecipeFlags(22331, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(22331, A.TRAINER, 11097, A.TRAINER, 11098, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 4212, A.TRAINER, 3007, A.TRAINER, 1632, A.TRAINER, 5784, A.TRAINER, 16728, A.TRAINER, 3703, A.TRAINER, 1385, A.TRAINER, 3549, A.TRAINER, 3365, A.TRAINER, 3967, A.TRAINER, 33612, A.TRAINER, 33635, A.TRAINER, 16688, A.TRAINER, 33681, A.TRAINER, 8153, A.TRAINER, 17442, A.TRAINER, 16278, A.TRAINER, 3605, A.TRAINER, 5564, A.TRAINER, 5127, A.TRAINER, 4588)
+	self:AddRecipeTrainer(22331, 1385, 3703, 16688, 5784, 4588, 3967, 19187, 11097, 18754, 5127, 33635, 18771, 5564, 4212, 3365, 3605, 3549, 16728, 33612, 17442, 8153, 3007, 33681, 16278, 21087, 1632, 11098)

 	-- Shadowskin Gloves -- 22711
 	AddRecipe(22711, 200, 18238, Q.COMMON, V.ORIG, 200, 210, 220, 230)
 	self:AddRecipeFlags(22711, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(22711, A.VENDOR, 2699)
+	self:AddRecipeVendor(22711, 2699)

 	-- Core Armor Kit -- 22727
 	AddRecipe(22727, 300, 18251, Q.RARE, V.ORIG, 300, 320, 330, 340)
@@ -1043,507 +1048,519 @@ function addon:InitLeatherworking()
 	-- Heavy Leather Ball -- 23190
 	AddRecipe(23190, 150, 18662, Q.COMMON, V.ORIG, 150, 150, 155, 160)
 	self:AddRecipeFlags(23190, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(23190, A.VENDOR, 5128, A.VENDOR, 3366)
+	self:AddRecipeVendor(23190, 5128, 3366)

 	-- Barbaric Bracers -- 23399
 	AddRecipe(23399, 155, 18948, Q.COMMON, V.ORIG, 155, 175, 185, 195)
 	self:AddRecipeFlags(23399, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(23399, A.VENDOR, 4225, A.VENDOR, 4589)
+	self:AddRecipeVendor(23399, 4225, 4589)

 	-- Might of the Timbermaw -- 23703
 	AddRecipe(23703, 290, 19044, Q.COMMON, V.ORIG, 290, 310, 320, 330)
 	self:AddRecipeFlags(23703, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.TIMBERMAW_HOLD)
-	self:AddRecipeAcquire(23703, A.REPUTATION, FAC.TIMBERMAW_HOLD, REP.HONORED, 11557)
+	self:AddRecipeRepVendor(23703, FAC.TIMBERMAW_HOLD, REP.HONORED, 11557)

 	-- Timbermaw Brawlers -- 23704
 	AddRecipe(23704, 300, 19049, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23704, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.TIMBERMAW_HOLD)
-	self:AddRecipeAcquire(23704, A.REPUTATION, FAC.TIMBERMAW_HOLD, REP.REVERED, 11557)
+	self:AddRecipeRepVendor(23704, FAC.TIMBERMAW_HOLD, REP.REVERED, 11557)

 	-- Dawn Treaders -- 23705
 	AddRecipe(23705, 290, 19052, Q.COMMON, V.ORIG, 290, 310, 320, 330)
 	self:AddRecipeFlags(23705, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.ARGENTDAWN)
-	self:AddRecipeAcquire(23705, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 10856, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 10857, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 11536)
+	self:AddRecipeRepVendor(23705, FAC.ARGENTDAWN, REP.HONORED, 10856, 11536, 10857)

 	-- Golden Mantle of the Dawn -- 23706
 	AddRecipe(23706, 300, 19058, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23706, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.LEATHER, F.ARGENTDAWN)
-	self:AddRecipeAcquire(23706, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 10856, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 10857, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 11536)
+	self:AddRecipeRepVendor(23706, FAC.ARGENTDAWN, REP.REVERED, 10856, 11536, 10857)

 	-- Lava Belt -- 23707
 	AddRecipe(23707, 300, 19149, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23707, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23707, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)
+	self:AddRecipeRepVendor(23707, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)

 	-- Chromatic Gauntlets -- 23708
 	AddRecipe(23708, 300, 19157, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23708, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23708, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)
+	self:AddRecipeRepVendor(23708, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)

 	-- Corehound Belt -- 23709
 	AddRecipe(23709, 300, 19162, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23709, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23709, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)
+	self:AddRecipeRepVendor(23709, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)

 	-- Molten Belt -- 23710
 	AddRecipe(23710, 300, 19163, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(23710, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23710, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)
+	self:AddRecipeRepVendor(23710, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)

 	-- Primal Batskin Jerkin -- 24121
 	AddRecipe(24121, 300, 19685, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24121, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.ZANDALAR)
-	self:AddRecipeAcquire(24121, A.REPUTATION, FAC.ZANDALAR, REP.REVERED, 14921)
+	self:AddRecipeRepVendor(24121, FAC.ZANDALAR, REP.REVERED, 14921)

 	-- Primal Batskin Gloves -- 24122
 	AddRecipe(24122, 300, 19686, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24122, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.ZANDALAR)
-	self:AddRecipeAcquire(24122, A.REPUTATION, FAC.ZANDALAR, REP.HONORED, 14921)
+	self:AddRecipeRepVendor(24122, FAC.ZANDALAR, REP.HONORED, 14921)

 	-- Primal Batskin Bracers -- 24123
 	AddRecipe(24123, 300, 19687, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24123, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.ZANDALAR)
-	self:AddRecipeAcquire(24123, A.REPUTATION, FAC.ZANDALAR, REP.FRIENDLY, 14921)
+	self:AddRecipeRepVendor(24123, FAC.ZANDALAR, REP.FRIENDLY, 14921)

 	-- Blood Tiger Breastplate -- 24124
 	AddRecipe(24124, 300, 19688, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24124, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER, F.ZANDALAR)
-	self:AddRecipeAcquire(24124, A.REPUTATION, FAC.ZANDALAR, REP.REVERED, 14921)
+	self:AddRecipeRepVendor(24124, FAC.ZANDALAR, REP.REVERED, 14921)

 	-- Blood Tiger Shoulders -- 24125
 	AddRecipe(24125, 300, 19689, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24125, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER, F.ZANDALAR)
-	self:AddRecipeAcquire(24125, A.REPUTATION, FAC.ZANDALAR, REP.HONORED, 14921)
+	self:AddRecipeRepVendor(24125, FAC.ZANDALAR, REP.HONORED, 14921)

 	-- Blue Dragonscale Leggings -- 24654
 	AddRecipe(24654, 300, 20295, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24654, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(24654, A.TRAINER, 7866, A.TRAINER, 7867, A.TRAINER, 29508)
+	self:AddRecipeTrainer(24654, 7866, 7867, 29508)

 	-- Green Dragonscale Gauntlets -- 24655
 	AddRecipe(24655, 260, 20296, Q.COMMON, V.ORIG, 260, 280, 290, 300)
 	self:AddRecipeFlags(24655, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(24655, A.TRAINER, 7866, A.TRAINER, 7867, A.TRAINER, 29508)
+	self:AddRecipeTrainer(24655, 7866, 7867, 29508)

 	-- Dreamscale Breastplate -- 24703
 	AddRecipe(24703, 300, 20380, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24703, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(24703, A.REPUTATION, FAC.CENARION_CIRCLE, REP.EXALTED, 15293)
+	self:AddRecipeRepVendor(24703, FAC.CENARION_CIRCLE, REP.EXALTED, 15293)

 	-- Spitfire Bracers -- 24846
 	AddRecipe(24846, 300, 20481, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24846, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(24846, A.REPUTATION, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15293)
+	self:AddRecipeRepVendor(24846, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15293)

 	-- Spitfire Gauntlets -- 24847
 	AddRecipe(24847, 300, 20480, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24847, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(24847, A.REPUTATION, FAC.CENARION_CIRCLE, REP.HONORED, 15293)
+	self:AddRecipeRepVendor(24847, FAC.CENARION_CIRCLE, REP.HONORED, 15293)

 	-- Spitfire Breastplate -- 24848
 	AddRecipe(24848, 300, 20479, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24848, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(24848, A.REPUTATION, FAC.CENARION_CIRCLE, REP.REVERED, 15293)
+	self:AddRecipeRepVendor(24848, FAC.CENARION_CIRCLE, REP.REVERED, 15293)

 	-- Sandstalker Bracers -- 24849
 	AddRecipe(24849, 300, 20476, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24849, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.MAIL, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(24849, A.REPUTATION, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15293)
+	self:AddRecipeRepVendor(24849, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15293)

 	-- Sandstalker Gauntlets -- 24850
 	AddRecipe(24850, 300, 20477, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24850, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.MAIL, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(24850, A.REPUTATION, FAC.CENARION_CIRCLE, REP.HONORED, 15293)
+	self:AddRecipeRepVendor(24850, FAC.CENARION_CIRCLE, REP.HONORED, 15293)

 	-- Sandstalker Breastplate -- 24851
 	AddRecipe(24851, 300, 20478, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(24851, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.MAIL, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(24851, A.REPUTATION, FAC.CENARION_CIRCLE, REP.REVERED, 15293)
+	self:AddRecipeRepVendor(24851, FAC.CENARION_CIRCLE, REP.REVERED, 15293)

 	-- Black Whelp Tunic -- 24940
 	AddRecipe(24940, 100, 20575, Q.COMMON, V.ORIG, 100, 125, 137, 150)
 	self:AddRecipeFlags(24940, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(24940, A.VENDOR, 777)
+	self:AddRecipeVendor(24940, 777)

 	-- Stormshroud Gloves -- 26279
 	AddRecipe(26279, 300, 21278, Q.RARE, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(26279, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(26279, A.MOB, 14454, A.MOB, 14457)
+	self:AddRecipeMobDrop(26279, 14454, 14457)

 	-- Polar Tunic -- 28219
 	AddRecipe(28219, 300, 22661, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28219, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(28219, A.REPUTATION, FAC.ARGENTDAWN, REP.EXALTED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28219, FAC.ARGENTDAWN, REP.EXALTED, 16365)
+	self:AddRecipeAcquire(28219, A.CUSTOM, 41)

 	-- Polar Gloves -- 28220
 	AddRecipe(28220, 300, 22662, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28220, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(28220, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28220, FAC.ARGENTDAWN, REP.REVERED, 16365)
+	self:AddRecipeAcquire(28220, A.CUSTOM, 41)

 	-- Polar Bracers -- 28221
 	AddRecipe(28221, 300, 22663, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28221, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(28221, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28221, FAC.ARGENTDAWN, REP.REVERED, 16365)
+	self:AddRecipeAcquire(28221, A.CUSTOM, 41)

 	-- Icy Scale Breastplate -- 28222
 	AddRecipe(28222, 300, 22664, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28222, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(28222, A.REPUTATION, FAC.ARGENTDAWN, REP.EXALTED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28222, FAC.ARGENTDAWN, REP.EXALTED, 16365)
+	self:AddRecipeAcquire(28222, A.CUSTOM, 41)

 	-- Icy Scale Gauntlets -- 28223
 	AddRecipe(28223, 300, 22666, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28223, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(28223, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28223, FAC.ARGENTDAWN, REP.REVERED, 16365)
+	self:AddRecipeAcquire(28223, A.CUSTOM, 41)

 	-- Icy Scale Bracers -- 28224
 	AddRecipe(28224, 300, 22665, Q.EPIC, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28224, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(28224, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28224, FAC.ARGENTDAWN, REP.REVERED, 16365)
+	self:AddRecipeAcquire(28224, A.CUSTOM, 41)

 	-- Bramblewood Helm -- 28472
 	AddRecipe(28472, 300, 22759, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28472, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(28472, A.REPUTATION, FAC.CENARION_CIRCLE, REP.REVERED, 15293)
+	self:AddRecipeRepVendor(28472, FAC.CENARION_CIRCLE, REP.REVERED, 15293)

 	-- Bramblewood Boots -- 28473
 	AddRecipe(28473, 300, 22760, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28473, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(28473, A.REPUTATION, FAC.CENARION_CIRCLE, REP.HONORED, 15293)
+	self:AddRecipeRepVendor(28473, FAC.CENARION_CIRCLE, REP.HONORED, 15293)

 	-- Bramblewood Belt -- 28474
 	AddRecipe(28474, 300, 22761, Q.COMMON, V.ORIG, 300, 320, 330, 340)
 	self:AddRecipeFlags(28474, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(28474, A.REPUTATION, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15293)
+	self:AddRecipeRepVendor(28474, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15293)

 	-- Knothide Leather -- 32454
 	AddRecipe(32454, 300, 21887, Q.COMMON, V.TBC, 300, 300, 305, 310)
 	self:AddRecipeFlags(32454, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(32454, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32454, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Heavy Knothide Leather -- 32455
 	AddRecipe(32455, 325, 23793, Q.COMMON, V.TBC, 325, 325, 330, 335)
 	self:AddRecipeFlags(32455, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.LEATHER)
-	self:AddRecipeAcquire(32455, A.VENDOR, 16689, A.VENDOR, 16748, A.VENDOR, 19196)
+	self:AddRecipeVendor(32455, 16748, 16689, 19196)

 	-- Knothide Armor Kit -- 32456
 	AddRecipe(32456, 300, 25650, Q.COMMON, V.TBC, 300, 310, 325, 340)
 	self:AddRecipeFlags(32456, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(32456, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32456, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Vindicator's Armor Kit -- 32457
 	AddRecipe(32457, 325, 25651, Q.COMMON, V.TBC, 325, 335, 340, 345)
 	self:AddRecipeFlags(32457, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.ALDOR)
-	self:AddRecipeAcquire(32457, A.REPUTATION, FAC.ALDOR, REP.REVERED, 19321)
+	self:AddRecipeRepVendor(32457, FAC.ALDOR, REP.REVERED, 19321)

 	-- Magister's Armor Kit -- 32458
 	AddRecipe(32458, 325, 25652, Q.COMMON, V.TBC, 325, 335, 340, 345)
 	self:AddRecipeFlags(32458, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCRYER)
-	self:AddRecipeAcquire(32458, A.REPUTATION, FAC.SCRYER, REP.REVERED, 19331)
+	self:AddRecipeRepVendor(32458, FAC.SCRYER, REP.REVERED, 19331)

 	-- Riding Crop -- 32461
 	AddRecipe(32461, 350, 25653, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(32461, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.TRINKET)
-	self:AddRecipeAcquire(32461, A.VENDOR, 18672)
+	self:AddRecipeVendor(32461, 18672)

 	-- Felscale Gloves -- 32462
 	AddRecipe(32462, 300, 25654, Q.COMMON, V.TBC, 300, 310, 320, 330)
 	self:AddRecipeFlags(32462, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(32462, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32462, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Felscale Boots -- 32463
 	AddRecipe(32463, 310, 25655, Q.COMMON, V.TBC, 310, 320, 330, 340)
 	self:AddRecipeFlags(32463, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(32463, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32463, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Felscale Pants -- 32464
 	AddRecipe(32464, 320, 25656, Q.COMMON, V.TBC, 320, 330, 340, 350)
 	self:AddRecipeFlags(32464, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(32464, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32464, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Felscale Breastplate -- 32465
 	AddRecipe(32465, 335, 25657, Q.COMMON, V.TBC, 335, 345, 355, 365)
 	self:AddRecipeFlags(32465, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(32465, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32465, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Scaled Draenic Pants -- 32466
 	AddRecipe(32466, 300, 25662, Q.COMMON, V.TBC, 300, 310, 320, 330)
 	self:AddRecipeFlags(32466, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(32466, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32466, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Scaled Draenic Gloves -- 32467
 	AddRecipe(32467, 310, 25661, Q.COMMON, V.TBC, 310, 320, 330, 340)
 	self:AddRecipeFlags(32467, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(32467, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32467, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Scaled Draenic Vest -- 32468
 	AddRecipe(32468, 325, 25660, Q.COMMON, V.TBC, 325, 335, 345, 355)
 	self:AddRecipeFlags(32468, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(32468, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32468, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Scaled Draenic Boots -- 32469
 	AddRecipe(32469, 335, 25659, Q.COMMON, V.TBC, 335, 345, 355, 365)
 	self:AddRecipeFlags(32469, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(32469, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32469, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Thick Draenic Gloves -- 32470
 	AddRecipe(32470, 300, 25669, Q.COMMON, V.TBC, 300, 310, 320, 330)
 	self:AddRecipeFlags(32470, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(32470, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32470, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Thick Draenic Pants -- 32471
 	AddRecipe(32471, 315, 25670, Q.COMMON, V.TBC, 315, 325, 335, 345)
 	self:AddRecipeFlags(32471, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(32471, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32471, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Thick Draenic Boots -- 32472
 	AddRecipe(32472, 320, 25668, Q.COMMON, V.TBC, 320, 330, 340, 350)
 	self:AddRecipeFlags(32472, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(32472, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32472, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Thick Draenic Vest -- 32473
 	AddRecipe(32473, 330, 25671, Q.COMMON, V.TBC, 330, 340, 350, 360)
 	self:AddRecipeFlags(32473, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(32473, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32473, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Wild Draenish Boots -- 32478
 	AddRecipe(32478, 300, 25673, Q.COMMON, V.TBC, 300, 310, 320, 330)
 	self:AddRecipeFlags(32478, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(32478, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32478, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Wild Draenish Gloves -- 32479
 	AddRecipe(32479, 310, 25674, Q.COMMON, V.TBC, 310, 320, 330, 340)
 	self:AddRecipeFlags(32479, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(32479, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32479, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Wild Draenish Leggings -- 32480
 	AddRecipe(32480, 320, 25675, Q.COMMON, V.TBC, 320, 330, 340, 350)
 	self:AddRecipeFlags(32480, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(32480, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32480, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Wild Draenish Vest -- 32481
 	AddRecipe(32481, 330, 25676, Q.COMMON, V.TBC, 330, 340, 350, 360)
 	self:AddRecipeFlags(32481, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(32481, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33635, A.TRAINER, 33612, A.TRAINER, 33681)
+	self:AddRecipeTrainer(32481, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Comfortable Insoles -- 32482
 	AddRecipe(32482, 300, 25679, Q.COMMON, V.TBC, 300, 300, 305, 310)
 	self:AddRecipeFlags(32482, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(32482, A.VENDOR, 16689, A.VENDOR, 16748)
+	self:AddRecipeVendor(32482, 16689, 16748)

 	-- Stylin' Purple Hat -- 32485
 	AddRecipe(32485, 350, 25680, Q.RARE, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(32485, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(32485, A.MOB, 18667)
+	self:AddRecipeMobDrop(32485, 18667)

 	-- Stylin' Adventure Hat -- 32487
 	AddRecipe(32487, 350, 25681, Q.RARE, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(32487, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(32487, A.MOB, 17820, A.MOB, 28132)
+	self:AddRecipeMobDrop(32487, 17820, 28132)

 	-- Stylin' Crimson Hat -- 32488
 	AddRecipe(32488, 350, 25683, Q.RARE, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(32488, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(32488, A.MOB, 18322)
+	self:AddRecipeMobDrop(32488, 18322)

 	-- Stylin' Jungle Hat -- 32489
 	AddRecipe(32489, 350, 25682, Q.RARE, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(32489, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(32489, A.MOB, 17839, A.MOB, 21104)
+	self:AddRecipeMobDrop(32489, 17839, 21104)

 	-- Fel Leather Gloves -- 32490
 	AddRecipe(32490, 340, 25685, Q.RARE, V.TBC, 340, 350, 360, 370)
 	self:AddRecipeFlags(32490, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.CONSORTIUM)
-	self:AddRecipeAcquire(32490, A.REPUTATION, FAC.CONSORTIUM, REP.FRIENDLY, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.FRIENDLY, 23007)
+	self:AddRecipeRepVendor(32490, FAC.CONSORTIUM, REP.FRIENDLY, 20242, 23007)

 	-- Fel Leather Boots -- 32493
 	AddRecipe(32493, 350, 25686, Q.RARE, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(32493, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.CONSORTIUM)
-	self:AddRecipeAcquire(32493, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 23007)
+	self:AddRecipeRepVendor(32493, FAC.CONSORTIUM, REP.HONORED, 20242, 23007)

 	-- Fel Leather Leggings -- 32494
 	AddRecipe(32494, 350, 25687, Q.RARE, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(32494, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.CONSORTIUM)
-	self:AddRecipeAcquire(32494, A.REPUTATION, FAC.CONSORTIUM, REP.REVERED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.REVERED, 23007)
+	self:AddRecipeRepVendor(32494, FAC.CONSORTIUM, REP.REVERED, 20242, 23007)

 	-- Heavy Clefthoof Vest -- 32495
 	AddRecipe(32495, 360, 25689, Q.RARE, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(32495, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.LEATHER, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(32495, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)
+	self:AddRecipeRepVendor(32495, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)

 	-- Heavy Clefthoof Leggings -- 32496
 	AddRecipe(32496, 355, 25690, Q.RARE, V.TBC, 355, 365, 375, 385)
 	self:AddRecipeFlags(32496, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.LEATHER, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(32496, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)
+	self:AddRecipeRepVendor(32496, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)

 	-- Heavy Clefthoof Boots -- 32497
 	AddRecipe(32497, 355, 25691, Q.RARE, V.TBC, 355, 365, 375, 385)
 	self:AddRecipeFlags(32497, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.TANK, F.LEATHER, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(32497, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.FRIENDLY, 17904)
+	self:AddRecipeRepVendor(32497, FAC.CENARION_EXPEDITION, REP.FRIENDLY, 17904)

 	-- Felstalker Belt -- 32498
 	AddRecipe(32498, 350, 25695, Q.RARE, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(32498, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.HELLFIRE)
-	self:AddRecipeAcquire(32498, A.REPUTATION, FAC.HONOR_HOLD, REP.FRIENDLY, 17657, A.REPUTATION, FAC.THRALLMAR, REP.FRIENDLY, 17585)
+	self:AddRecipeRepVendor(32498, FAC.HONOR_HOLD, REP.FRIENDLY, 17657)
+	self:AddRecipeRepVendor(32498, FAC.THRALLMAR, REP.FRIENDLY, 17585)

 	-- Felstalker Bracer -- 32499
 	AddRecipe(32499, 360, 25697, Q.RARE, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(32499, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.HELLFIRE)
-	self:AddRecipeAcquire(32499, A.REPUTATION, FAC.HONOR_HOLD, REP.HONORED, 17657, A.REPUTATION, FAC.THRALLMAR, REP.HONORED, 17585)
+	self:AddRecipeRepVendor(32499, FAC.HONOR_HOLD, REP.HONORED, 17657)
+	self:AddRecipeRepVendor(32499, FAC.THRALLMAR, REP.HONORED, 17585)

 	-- Felstalker Breastplate -- 32500
 	AddRecipe(32500, 360, 25696, Q.RARE, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(32500, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.HELLFIRE)
-	self:AddRecipeAcquire(32500, A.REPUTATION, FAC.HONOR_HOLD, REP.HONORED, 17657, A.REPUTATION, FAC.THRALLMAR, REP.HONORED, 17585)
+	self:AddRecipeRepVendor(32500, FAC.HONOR_HOLD, REP.HONORED, 17657)
+	self:AddRecipeRepVendor(32500, FAC.THRALLMAR, REP.HONORED, 17585)

 	-- Netherfury Belt -- 32501
 	AddRecipe(32501, 340, 25694, Q.RARE, V.TBC, 340, 350, 360, 370)
 	self:AddRecipeFlags(32501, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL, F.NAGRAND)
-	self:AddRecipeAcquire(32501, A.REPUTATION, FAC.KURENAI, REP.FRIENDLY, 20240)
+	self:AddRecipeRepVendor(32501, FAC.KURENAI, REP.FRIENDLY, 20240)

 	-- Netherfury Leggings -- 32502
 	AddRecipe(32502, 340, 25692, Q.RARE, V.TBC, 340, 350, 360, 370)
 	self:AddRecipeFlags(32502, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL, F.NAGRAND)
-	self:AddRecipeAcquire(32502, A.REPUTATION, FAC.KURENAI, REP.HONORED, 20240)
+	self:AddRecipeRepVendor(32502, FAC.KURENAI, REP.HONORED, 20240)

 	-- Netherfury Boots -- 32503
 	AddRecipe(32503, 350, 25693, Q.RARE, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(32503, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL, F.NAGRAND)
-	self:AddRecipeAcquire(32503, A.REPUTATION, FAC.KURENAI, REP.REVERED, 20240)
+	self:AddRecipeRepVendor(32503, FAC.KURENAI, REP.REVERED, 20240)

 	-- Shadow Armor Kit -- 35520
 	AddRecipe(35520, 340, 29483, Q.UNCOMMON, V.TBC, 340, 350, 355, 360)
 	self:AddRecipeFlags(35520, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(35520, A.MOB, 18320)
+	self:AddRecipeMobDrop(35520, 18320)

 	-- Flame Armor Kit -- 35521
 	AddRecipe(35521, 340, 29485, Q.UNCOMMON, V.TBC, 340, 350, 355, 360)
 	self:AddRecipeFlags(35521, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(35521, A.MOB, 20898)
+	self:AddRecipeMobDrop(35521, 20898)

 	-- Frost Armor Kit -- 35522
 	AddRecipe(35522, 340, 29486, Q.UNCOMMON, V.TBC, 340, 350, 355, 360)
 	self:AddRecipeFlags(35522, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(35522, A.MOB, 17797)
+	self:AddRecipeMobDrop(35522, 17797)

 	-- Nature Armor Kit -- 35523
 	AddRecipe(35523, 340, 29487, Q.UNCOMMON, V.TBC, 340, 350, 355, 360)
 	self:AddRecipeFlags(35523, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(35523, A.MOB, 17941)
+	self:AddRecipeMobDrop(35523, 17941)

 	-- Arcane Armor Kit -- 35524
 	AddRecipe(35524, 340, 29488, Q.UNCOMMON, V.TBC, 340, 350, 355, 360)
 	self:AddRecipeFlags(35524, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(35524, A.MOB, 17879)
+	self:AddRecipeMobDrop(35524, 17879)

 	-- Enchanted Felscale Leggings -- 35525
 	AddRecipe(35525, 350, 29489, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(35525, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.SCRYER)
-	self:AddRecipeAcquire(35525, A.REPUTATION, FAC.SCRYER, REP.EXALTED, 19331)
+	self:AddRecipeRepVendor(35525, FAC.SCRYER, REP.EXALTED, 19331)

 	-- Enchanted Felscale Gloves -- 35526
 	AddRecipe(35526, 350, 29490, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(35526, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.SCRYER)
-	self:AddRecipeAcquire(35526, A.REPUTATION, FAC.SCRYER, REP.HONORED, 19331)
+	self:AddRecipeRepVendor(35526, FAC.SCRYER, REP.HONORED, 19331)

 	-- Enchanted Felscale Boots -- 35527
 	AddRecipe(35527, 350, 29491, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(35527, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.SCRYER)
-	self:AddRecipeAcquire(35527, A.REPUTATION, FAC.SCRYER, REP.REVERED, 19331)
+	self:AddRecipeRepVendor(35527, FAC.SCRYER, REP.REVERED, 19331)

 	-- Flamescale Boots -- 35528
 	AddRecipe(35528, 350, 29493, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(35528, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.ALDOR)
-	self:AddRecipeAcquire(35528, A.REPUTATION, FAC.ALDOR, REP.REVERED, 19321)
+	self:AddRecipeRepVendor(35528, FAC.ALDOR, REP.REVERED, 19321)

 	-- Flamescale Leggings -- 35529
 	AddRecipe(35529, 350, 29492, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(35529, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.ALDOR)
-	self:AddRecipeAcquire(35529, A.REPUTATION, FAC.ALDOR, REP.EXALTED, 19321)
+	self:AddRecipeRepVendor(35529, FAC.ALDOR, REP.EXALTED, 19321)

 	-- Reinforced Mining Bag -- 35530
 	AddRecipe(35530, 325, 29540, Q.COMMON, V.TBC, 325, 335, 340, 345)
 	self:AddRecipeFlags(35530, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.NAGRAND)
-	self:AddRecipeAcquire(35530, A.REPUTATION, FAC.KURENAI, REP.HONORED, 20240)
+	self:AddRecipeRepVendor(35530, FAC.KURENAI, REP.HONORED, 20240)

 	-- Flamescale Belt -- 35531
 	AddRecipe(35531, 350, 29494, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(35531, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.ALDOR)
-	self:AddRecipeAcquire(35531, A.REPUTATION, FAC.ALDOR, REP.HONORED, 19321)
+	self:AddRecipeRepVendor(35531, FAC.ALDOR, REP.HONORED, 19321)

 	-- Enchanted Clefthoof Leggings -- 35532
 	AddRecipe(35532, 350, 29495, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(35532, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.SCRYER)
-	self:AddRecipeAcquire(35532, A.REPUTATION, FAC.SCRYER, REP.EXALTED, 19331)
+	self:AddRecipeRepVendor(35532, FAC.SCRYER, REP.EXALTED, 19331)

 	-- Enchanted Clefthoof Gloves -- 35533
 	AddRecipe(35533, 350, 29496, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(35533, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.SCRYER)
-	self:AddRecipeAcquire(35533, A.REPUTATION, FAC.SCRYER, REP.REVERED, 19331)
+	self:AddRecipeRepVendor(35533, FAC.SCRYER, REP.REVERED, 19331)

 	-- Enchanted Clefthoof Boots -- 35534
 	AddRecipe(35534, 350, 29497, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(35534, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.SCRYER)
-	self:AddRecipeAcquire(35534, A.REPUTATION, FAC.SCRYER, REP.HONORED, 19331)
+	self:AddRecipeRepVendor(35534, FAC.SCRYER, REP.HONORED, 19331)

 	-- Blastguard Pants -- 35535
 	AddRecipe(35535, 350, 29498, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(35535, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.ALDOR)
-	self:AddRecipeAcquire(35535, A.REPUTATION, FAC.ALDOR, REP.EXALTED, 19321)
+	self:AddRecipeRepVendor(35535, FAC.ALDOR, REP.EXALTED, 19321)

 	-- Blastguard Boots -- 35536
 	AddRecipe(35536, 350, 29499, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(35536, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.ALDOR)
-	self:AddRecipeAcquire(35536, A.REPUTATION, FAC.ALDOR, REP.REVERED, 19321)
+	self:AddRecipeRepVendor(35536, FAC.ALDOR, REP.REVERED, 19321)

 	-- Blastguard Belt -- 35537
 	AddRecipe(35537, 350, 29500, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(35537, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.ALDOR)
-	self:AddRecipeAcquire(35537, A.REPUTATION, FAC.ALDOR, REP.HONORED, 19321)
+	self:AddRecipeRepVendor(35537, FAC.ALDOR, REP.HONORED, 19321)

 	-- Drums of Panic -- 35538
 	AddRecipe(35538, 370, 29532, Q.COMMON, V.TBC, 370, 370, 377, 385)
 	self:AddRecipeFlags(35538, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.KOT)
-	self:AddRecipeAcquire(35538, A.REPUTATION, FAC.KEEPERS_OF_TIME, REP.HONORED, 21643)
+	self:AddRecipeRepVendor(35538, FAC.KEEPERS_OF_TIME, REP.HONORED, 21643)

 	-- Drums of Restoration -- 35539
 	AddRecipe(35539, 350, 29531, Q.COMMON, V.TBC, 350, 350, 357, 365)
 	self:AddRecipeFlags(35539, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.NAGRAND)
-	self:AddRecipeAcquire(35539, A.REPUTATION, FAC.KURENAI, REP.HONORED, 20240)
+	self:AddRecipeRepVendor(35539, FAC.KURENAI, REP.HONORED, 20240)

 	-- Drums of War -- 35540
 	AddRecipe(35540, 340, 29528, Q.COMMON, V.TBC, 340, 340, 347, 355)
 	self:AddRecipeFlags(35540, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(35540, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33681, A.TRAINER, 33612, A.TRAINER, 33635)
+	self:AddRecipeTrainer(35540, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Drums of Battle -- 35543
 	AddRecipe(35543, 365, 29529, Q.COMMON, V.TBC, 365, 365, 372, 380)
 	self:AddRecipeFlags(35543, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.SHATAR)
-	self:AddRecipeAcquire(35543, A.REPUTATION, FAC.SHATAR, REP.HONORED, 21432)
+	self:AddRecipeRepVendor(35543, FAC.SHATAR, REP.HONORED, 21432)

 	-- Drums of Speed -- 35544
 	AddRecipe(35544, 345, 29530, Q.COMMON, V.TBC, 345, 345, 352, 360)
 	self:AddRecipeFlags(35544, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.IBOE, F.RBOP, F.NAGRAND)
-	self:AddRecipeAcquire(35544, A.REPUTATION, FAC.MAGHAR, REP.HONORED, 20241, A.REPUTATION, FAC.KURENAI, REP.HONORED, 20240)
+	self:AddRecipeRepVendor(35544, FAC.MAGHAR, REP.HONORED, 20241)
+	self:AddRecipeRepVendor(35544, FAC.KURENAI, REP.HONORED, 20240)

 	-- Cobrahide Leg Armor -- 35549
 	AddRecipe(35549, 335, 29533, Q.COMMON, V.TBC, 335, 335, 345, 355)
 	self:AddRecipeFlags(35549, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.HELLFIRE)
-	self:AddRecipeAcquire(35549, A.REPUTATION, FAC.HONOR_HOLD, REP.HONORED, 17657, A.REPUTATION, FAC.THRALLMAR, REP.HONORED, 17585)
+	self:AddRecipeRepVendor(35549, FAC.HONOR_HOLD, REP.HONORED, 17657)
+	self:AddRecipeRepVendor(35549, FAC.THRALLMAR, REP.HONORED, 17585)

 	-- Nethercobra Leg Armor -- 35554
 	AddRecipe(35554, 365, 29535, Q.COMMON, V.TBC, 365, 365, 375, 385)
 	self:AddRecipeFlags(35554, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.HELLFIRE)
-	self:AddRecipeAcquire(35554, A.REPUTATION, FAC.HONOR_HOLD, REP.EXALTED, 17657, A.REPUTATION, FAC.THRALLMAR, REP.EXALTED, 17585)
+	self:AddRecipeRepVendor(35554, FAC.HONOR_HOLD, REP.EXALTED, 17657)
+	self:AddRecipeRepVendor(35554, FAC.THRALLMAR, REP.EXALTED, 17585)

 	-- Clefthide Leg Armor -- 35555
 	AddRecipe(35555, 335, 29534, Q.COMMON, V.TBC, 335, 335, 345, 355)
 	self:AddRecipeFlags(35555, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TANK, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(35555, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)
+	self:AddRecipeRepVendor(35555, FAC.CENARION_EXPEDITION, REP.HONORED, 17904)

 	-- Nethercleft Leg Armor -- 35557
 	AddRecipe(35557, 365, 29536, Q.COMMON, V.TBC, 365, 365, 375, 385)
 	self:AddRecipeFlags(35557, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TANK, F.CENARION_EXPEDITION)
-	self:AddRecipeAcquire(35557, A.REPUTATION, FAC.CENARION_EXPEDITION, REP.EXALTED, 17904)
+	self:AddRecipeRepVendor(35557, FAC.CENARION_EXPEDITION, REP.EXALTED, 17904)

 	-- Cobrascale Hood -- 35558
 	AddRecipe(35558, 365, 29502, Q.EPIC, V.TBC, 365, 375, 385, 395)
@@ -1553,7 +1570,8 @@ function addon:InitLeatherworking()
 	-- Cobrascale Gloves -- 35559
 	AddRecipe(35559, 365, 29503, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(35559, F.ALLIANCE, F.HORDE, F.WORLD_DROP, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(35559, A.MOB, 24664, A.WORLD_DROP, 4)
+	self:AddRecipeMobDrop(35559, 24664)
+	self:AddRecipeAcquire(35559, A.WORLD_DROP, 4)

 	-- Windscale Hood -- 35560
 	AddRecipe(35560, 365, 29504, Q.EPIC, V.TBC, 365, 375, 385, 395)
@@ -1568,7 +1586,7 @@ function addon:InitLeatherworking()
 	-- Gloves of the Living Touch -- 35562
 	AddRecipe(35562, 365, 29506, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(35562, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(35562, A.MOB, 24664)
+	self:AddRecipeMobDrop(35562, 24664)

 	-- Windslayer Wraps -- 35563
 	AddRecipe(35563, 365, 29507, Q.EPIC, V.TBC, 365, 375, 385, 395)
@@ -1588,7 +1606,7 @@ function addon:InitLeatherworking()
 	-- Windstrike Gloves -- 35568
 	AddRecipe(35568, 365, 29509, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(35568, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(35568, A.MOB, 24664)
+	self:AddRecipeMobDrop(35568, 24664)

 	-- Netherdrake Helm -- 35572
 	AddRecipe(35572, 365, 29510, Q.EPIC, V.TBC, 365, 375, 385, 395)
@@ -1598,7 +1616,7 @@ function addon:InitLeatherworking()
 	-- Netherdrake Gloves -- 35573
 	AddRecipe(35573, 365, 29511, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(35573, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(35573, A.MOB, 24664)
+	self:AddRecipeMobDrop(35573, 24664)

 	-- Thick Netherscale Breastplate -- 35574
 	AddRecipe(35574, 365, 29514, Q.EPIC, V.TBC, 365, 375, 385, 395)
@@ -1608,92 +1626,92 @@ function addon:InitLeatherworking()
 	-- Ebon Netherscale Breastplate -- 35575
 	AddRecipe(35575, 375, 29515, Q.COMMON, V.TBC, 375, 385, 395, 405, 10657)
 	self:AddRecipeFlags(35575, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(35575, A.TRAINER, 7866, A.TRAINER, 7867, A.TRAINER, 29508)
+	self:AddRecipeTrainer(35575, 7866, 7867, 29508)

 	-- Ebon Netherscale Belt -- 35576
 	AddRecipe(35576, 375, 29516, Q.COMMON, V.TBC, 375, 385, 395, 405, 10657)
 	self:AddRecipeFlags(35576, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(35576, A.TRAINER, 7866, A.TRAINER, 7867, A.TRAINER, 29508)
+	self:AddRecipeTrainer(35576, 7866, 7867, 29508)

 	-- Ebon Netherscale Bracers -- 35577
 	AddRecipe(35577, 375, 29517, Q.COMMON, V.TBC, 375, 385, 395, 405, 10657)
 	self:AddRecipeFlags(35577, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(35577, A.TRAINER, 7866, A.TRAINER, 7867, A.TRAINER, 29508)
+	self:AddRecipeTrainer(35577, 7866, 7867, 29508)

 	-- Netherstrike Breastplate -- 35580
 	AddRecipe(35580, 375, 29519, Q.COMMON, V.TBC, 375, 385, 395, 405, 10657)
 	self:AddRecipeFlags(35580, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(35580, A.TRAINER, 7866, A.TRAINER, 7867, A.TRAINER, 29508)
+	self:AddRecipeTrainer(35580, 7866, 7867, 29508)

 	-- Netherstrike Belt -- 35582
 	AddRecipe(35582, 375, 29520, Q.COMMON, V.TBC, 375, 385, 395, 405, 10657)
 	self:AddRecipeFlags(35582, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(35582, A.TRAINER, 7866, A.TRAINER, 7867, A.TRAINER, 29508)
+	self:AddRecipeTrainer(35582, 7866, 7867, 29508)

 	-- Netherstrike Bracers -- 35584
 	AddRecipe(35584, 375, 29521, Q.COMMON, V.TBC, 375, 385, 395, 405, 10657)
 	self:AddRecipeFlags(35584, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(35584, A.TRAINER, 7866, A.TRAINER, 7867, A.TRAINER, 29508)
+	self:AddRecipeTrainer(35584, 7866, 7867, 29508)

 	-- Windhawk Hauberk -- 35585
 	AddRecipe(35585, 375, 29522, Q.COMMON, V.TBC, 375, 385, 395, 405, 10661)
 	self:AddRecipeFlags(35585, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(35585, A.TRAINER, 7870, A.TRAINER, 7871, A.TRAINER, 29509)
+	self:AddRecipeTrainer(35585, 29509, 7870, 7871)

 	-- Windhawk Belt -- 35587
 	AddRecipe(35587, 375, 29524, Q.COMMON, V.TBC, 375, 385, 395, 405, 10661)
 	self:AddRecipeFlags(35587, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(35587, A.TRAINER, 7870, A.TRAINER, 7871, A.TRAINER, 29509)
+	self:AddRecipeTrainer(35587, 29509, 7870, 7871)

 	-- Windhawk Bracers -- 35588
 	AddRecipe(35588, 375, 29523, Q.COMMON, V.TBC, 375, 385, 395, 405, 10661)
 	self:AddRecipeFlags(35588, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(35588, A.TRAINER, 7870, A.TRAINER, 7871, A.TRAINER, 29509)
+	self:AddRecipeTrainer(35588, 29509, 7870, 7871)

 	-- Primalstrike Vest -- 35589
 	AddRecipe(35589, 375, 29525, Q.COMMON, V.TBC, 375, 385, 395, 405, 10659)
 	self:AddRecipeFlags(35589, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(35589, A.TRAINER, 7868, A.TRAINER, 7869, A.TRAINER, 29507)
+	self:AddRecipeTrainer(35589, 7869, 29507, 7868)

 	-- Primalstrike Belt -- 35590
 	AddRecipe(35590, 375, 29526, Q.COMMON, V.TBC, 375, 385, 395, 405, 10659)
 	self:AddRecipeFlags(35590, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(35590, A.TRAINER, 7868, A.TRAINER, 7869, A.TRAINER, 29507)
+	self:AddRecipeTrainer(35590, 7869, 29507, 7868)

 	-- Primalstrike Bracers -- 35591
 	AddRecipe(35591, 375, 29527, Q.COMMON, V.TBC, 375, 385, 395, 405, 10659)
 	self:AddRecipeFlags(35591, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(35591, A.TRAINER, 7868, A.TRAINER, 7869, A.TRAINER, 29507)
+	self:AddRecipeTrainer(35591, 7869, 29507, 7868)

 	-- Blackstorm Leggings -- 36074
 	AddRecipe(36074, 260, 29964, Q.COMMON, V.TBC, 260, 280, 290, 300, 10659)
 	self:AddRecipeFlags(36074, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(36074, A.TRAINER, 7868, A.TRAINER, 7869, A.TRAINER, 29507)
+	self:AddRecipeTrainer(36074, 7869, 29507, 7868)

 	-- Wildfeather Leggings -- 36075
 	AddRecipe(36075, 260, 29970, Q.COMMON, V.TBC, 260, 280, 290, 300, 10661)
 	self:AddRecipeFlags(36075, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(36075, A.TRAINER, 7870, A.TRAINER, 7871, A.TRAINER, 29509)
+	self:AddRecipeTrainer(36075, 29509, 7870, 7871)

 	-- Dragonstrike Leggings -- 36076
 	AddRecipe(36076, 260, 29971, Q.COMMON, V.TBC, 260, 280, 290, 300, 10657)
 	self:AddRecipeFlags(36076, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(36076, A.TRAINER, 7866, A.TRAINER, 7867, A.TRAINER, 29508)
+	self:AddRecipeTrainer(36076, 7866, 7867, 29508)

 	-- Primalstorm Breastplate -- 36077
 	AddRecipe(36077, 330, 29973, Q.COMMON, V.TBC, 330, 350, 360, 370, 10659)
 	self:AddRecipeFlags(36077, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(36077, A.TRAINER, 7868, A.TRAINER, 7869, A.TRAINER, 29507)
+	self:AddRecipeTrainer(36077, 7869, 29507, 7868)

 	-- Living Crystal Breastplate -- 36078
 	AddRecipe(36078, 330, 29974, Q.COMMON, V.TBC, 330, 350, 360, 370, 10661)
 	self:AddRecipeFlags(36078, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(36078, A.TRAINER, 7870, A.TRAINER, 7871, A.TRAINER, 29509)
+	self:AddRecipeTrainer(36078, 29509, 7870, 7871)

 	-- Golden Dragonstrike Breastplate -- 36079
 	AddRecipe(36079, 330, 29975, Q.COMMON, V.TBC, 330, 350, 360, 370, 10657)
 	self:AddRecipeFlags(36079, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(36079, A.TRAINER, 7866, A.TRAINER, 7867, A.TRAINER, 29508)
+	self:AddRecipeTrainer(36079, 7866, 7867, 29508)

 	-- Belt of Natural Power -- 36349
 	AddRecipe(36349, 375, 30042, Q.EPIC, V.TBC, 375, 385, 395, 405)
@@ -1738,37 +1756,37 @@ function addon:InitLeatherworking()
 	-- Boots of Shackled Souls -- 39997
 	AddRecipe(39997, 375, 32398, Q.COMMON, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(39997, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.MAIL, F.ASHTONGUE)
-	self:AddRecipeAcquire(39997, A.REPUTATION, FAC.ASHTONGUE, REP.FRIENDLY, 23159)
+	self:AddRecipeRepVendor(39997, FAC.ASHTONGUE, REP.FRIENDLY, 23159)

 	-- Greaves of Shackled Souls -- 40001
 	AddRecipe(40001, 375, 32400, Q.COMMON, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(40001, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.MAIL, F.ASHTONGUE)
-	self:AddRecipeAcquire(40001, A.REPUTATION, FAC.ASHTONGUE, REP.HONORED, 23159)
+	self:AddRecipeRepVendor(40001, FAC.ASHTONGUE, REP.HONORED, 23159)

 	-- Waistguard of Shackled Souls -- 40002
 	AddRecipe(40002, 375, 32397, Q.COMMON, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(40002, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.MAIL, F.ASHTONGUE)
-	self:AddRecipeAcquire(40002, A.REPUTATION, FAC.ASHTONGUE, REP.HONORED, 23159)
+	self:AddRecipeRepVendor(40002, FAC.ASHTONGUE, REP.HONORED, 23159)

 	-- Redeemed Soul Moccasins -- 40003
 	AddRecipe(40003, 375, 32394, Q.COMMON, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(40003, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER, F.ASHTONGUE)
-	self:AddRecipeAcquire(40003, A.REPUTATION, FAC.ASHTONGUE, REP.HONORED, 23159)
+	self:AddRecipeRepVendor(40003, FAC.ASHTONGUE, REP.HONORED, 23159)

 	-- Redeemed Soul Wristguards -- 40004
 	AddRecipe(40004, 375, 32395, Q.COMMON, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(40004, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER, F.ASHTONGUE)
-	self:AddRecipeAcquire(40004, A.REPUTATION, FAC.ASHTONGUE, REP.HONORED, 23159)
+	self:AddRecipeRepVendor(40004, FAC.ASHTONGUE, REP.HONORED, 23159)

 	-- Redeemed Soul Legguards -- 40005
 	AddRecipe(40005, 375, 32396, Q.COMMON, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(40005, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER, F.ASHTONGUE)
-	self:AddRecipeAcquire(40005, A.REPUTATION, FAC.ASHTONGUE, REP.FRIENDLY, 23159)
+	self:AddRecipeRepVendor(40005, FAC.ASHTONGUE, REP.FRIENDLY, 23159)

 	-- Redeemed Soul Cinch -- 40006
 	AddRecipe(40006, 375, 32393, Q.COMMON, V.TBC, 375, 385, 395, 405)
 	self:AddRecipeFlags(40006, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER, F.ASHTONGUE)
-	self:AddRecipeAcquire(40006, A.REPUTATION, FAC.ASHTONGUE, REP.FRIENDLY, 23159)
+	self:AddRecipeRepVendor(40006, FAC.ASHTONGUE, REP.FRIENDLY, 23159)

 	-- Bracers of Renewed Life -- 41156
 	AddRecipe(41156, 375, 32582, Q.EPIC, V.TBC, 375, 385, 395, 405)
@@ -1813,57 +1831,59 @@ function addon:InitLeatherworking()
 	-- Cloak of Darkness -- 42546
 	AddRecipe(42546, 360, 33122, Q.RARE, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(42546, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.CLOAK, F.VIOLETEYE)
-	self:AddRecipeAcquire(42546, A.REPUTATION, FAC.VIOLETEYE, REP.EXALTED, 18255)
+	self:AddRecipeRepVendor(42546, FAC.VIOLETEYE, REP.EXALTED, 18255)

 	-- Shadowprowler's Chestguard -- 42731
 	AddRecipe(42731, 365, 33204, Q.EPIC, V.TBC, 365, 375, 385, 395)
 	self:AddRecipeFlags(42731, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.VIOLETEYE)
-	self:AddRecipeAcquire(42731, A.REPUTATION, FAC.VIOLETEYE, REP.REVERED, 18255)
+	self:AddRecipeRepVendor(42731, FAC.VIOLETEYE, REP.REVERED, 18255)

 	-- Knothide Ammo Pouch -- 44343
 	AddRecipe(44343, 315, 34099, Q.UNCOMMON, V.TBC, 315, 325, 335, 345)
 	self:AddRecipeFlags(44343, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.AMMO)
-	self:AddRecipeAcquire(44343, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33681, A.TRAINER, 33612, A.TRAINER, 33635)
+	self:AddRecipeTrainer(44343, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Knothide Quiver -- 44344
 	AddRecipe(44344, 315, 34100, Q.UNCOMMON, V.TBC, 315, 325, 335, 345)
 	self:AddRecipeFlags(44344, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44344, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33681, A.TRAINER, 33612, A.TRAINER, 33635)
+	self:AddRecipeTrainer(44344, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Quiver of a Thousand Feathers -- 44359
 	AddRecipe(44359, 350, 34105, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(44359, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LOWERCITY)
-	self:AddRecipeAcquire(44359, A.REPUTATION, FAC.LOWERCITY, REP.REVERED, 21655)
+	self:AddRecipeRepVendor(44359, FAC.LOWERCITY, REP.REVERED, 21655)

 	-- Netherscale Ammo Pouch -- 44768
 	AddRecipe(44768, 350, 34106, Q.COMMON, V.TBC, 350, 360, 370, 380)
 	self:AddRecipeFlags(44768, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.AMMO, F.HELLFIRE)
-	self:AddRecipeAcquire(44768, A.REPUTATION, FAC.THRALLMAR, REP.REVERED, 17585, A.REPUTATION, FAC.HONOR_HOLD, REP.REVERED, 17657)
+	self:AddRecipeRepVendor(44768, FAC.THRALLMAR, REP.REVERED, 17585)
+	self:AddRecipeRepVendor(44768, FAC.HONOR_HOLD, REP.REVERED, 17657)

 	-- Glove Reinforcements -- 44770
 	AddRecipe(44770, 350, 34207, Q.UNCOMMON, V.TBC, 350, 355, 360, 365)
 	self:AddRecipeFlags(44770, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44770, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33681, A.TRAINER, 33612, A.TRAINER, 33635)
+	self:AddRecipeTrainer(44770, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Winter Boots -- 44953
 	AddRecipe(44953, 285, 34086, Q.UNCOMMON, V.TBC, 285, 285, 285, 285)
 	self:AddRecipeFlags(44953, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(44953, A.SEASONAL, 1, A.VENDOR, 13420, A.VENDOR, 13433)
+	self:AddRecipeVendor(44953, 13420, 13433)
+	self:AddRecipeAcquire(44953, A.SEASONAL, 1)

 	-- Heavy Knothide Armor Kit -- 44970
 	AddRecipe(44970, 350, 34330, Q.COMMON, V.TBC, 350, 355, 360, 365)
 	self:AddRecipeFlags(44970, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(44970, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33681, A.TRAINER, 33612, A.TRAINER, 33635)
+	self:AddRecipeTrainer(44970, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Leatherworker's Satchel -- 45100
 	AddRecipe(45100, 300, 34482, Q.UNCOMMON, V.TBC, 300, 310, 320, 330)
 	self:AddRecipeFlags(45100, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45100, A.TRAINER, 18754, A.TRAINER, 18771, A.TRAINER, 19187, A.TRAINER, 21087, A.TRAINER, 33681, A.TRAINER, 33612, A.TRAINER, 33635)
+	self:AddRecipeTrainer(45100, 33612, 19187, 18754, 33681, 21087, 18771, 33635)

 	-- Bag of Many Hides -- 45117
 	AddRecipe(45117, 360, 34490, Q.UNCOMMON, V.TBC, 360, 370, 380, 390)
 	self:AddRecipeFlags(45117, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(45117, A.MOB, 22143, A.MOB, 22144, A.MOB, 22148, A.MOB, 23022)
+	self:AddRecipeMobDrop(45117, 22144, 22148, 22143, 23022)

 	-- Leather Gauntlets of the Sun -- 46132
 	AddRecipe(46132, 365, 34372, Q.EPIC, V.TBC, 365, 375, 392, 410)
@@ -1908,652 +1928,652 @@ function addon:InitLeatherworking()
 	-- Heavy Borean Leather -- 50936
 	AddRecipe(50936, 390, 38425, Q.COMMON, V.WOTLK, 390, 390, 395, 405)
 	self:AddRecipeFlags(50936, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(50936, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50936, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Iceborne Chestguard -- 50938
 	AddRecipe(50938, 375, 38408, Q.COMMON, V.WOTLK, 375, 390, 400, 410)
 	self:AddRecipeFlags(50938, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(50938, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50938, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Iceborne Leggings -- 50939
 	AddRecipe(50939, 370, 38410, Q.COMMON, V.WOTLK, 370, 385, 395, 405)
 	self:AddRecipeFlags(50939, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(50939, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50939, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Iceborne Shoulderpads -- 50940
 	AddRecipe(50940, 380, 38411, Q.COMMON, V.WOTLK, 380, 395, 405, 415)
 	self:AddRecipeFlags(50940, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(50940, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50940, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Iceborne Gloves -- 50941
 	AddRecipe(50941, 370, 38409, Q.COMMON, V.WOTLK, 370, 385, 395, 405)
 	self:AddRecipeFlags(50941, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(50941, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50941, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Iceborne Boots -- 50942
 	AddRecipe(50942, 375, 38407, Q.COMMON, V.WOTLK, 375, 390, 400, 410)
 	self:AddRecipeFlags(50942, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(50942, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50942, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Iceborne Belt -- 50943
 	AddRecipe(50943, 380, 38406, Q.COMMON, V.WOTLK, 380, 380, 387, 395)
 	self:AddRecipeFlags(50943, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(50943, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50943, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Arctic Chestpiece -- 50944
 	AddRecipe(50944, 370, 38400, Q.UNCOMMON, V.WOTLK, 370, 385, 395, 405)
 	self:AddRecipeFlags(50944, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(50944, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50944, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Arctic Leggings -- 50945
 	AddRecipe(50945, 375, 38401, Q.UNCOMMON, V.WOTLK, 375, 390, 400, 410)
 	self:AddRecipeFlags(50945, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(50945, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50945, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Arctic Shoulderpads -- 50946
 	AddRecipe(50946, 380, 38402, Q.UNCOMMON, V.WOTLK, 380, 395, 405, 415)
 	self:AddRecipeFlags(50946, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(50946, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50946, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Arctic Gloves -- 50947
 	AddRecipe(50947, 375, 38403, Q.UNCOMMON, V.WOTLK, 375, 390, 400, 410)
 	self:AddRecipeFlags(50947, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(50947, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50947, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Arctic Boots -- 50948
 	AddRecipe(50948, 370, 38404, Q.UNCOMMON, V.WOTLK, 370, 385, 395, 405)
 	self:AddRecipeFlags(50948, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(50948, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50948, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Arctic Belt -- 50949
 	AddRecipe(50949, 380, 38405, Q.UNCOMMON, V.WOTLK, 380, 395, 405, 415)
 	self:AddRecipeFlags(50949, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(50949, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50949, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Frostscale Chestguard -- 50950
 	AddRecipe(50950, 375, 38414, Q.COMMON, V.WOTLK, 375, 390, 400, 410)
 	self:AddRecipeFlags(50950, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(50950, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50950, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Frostscale Leggings -- 50951
 	AddRecipe(50951, 370, 38416, Q.COMMON, V.WOTLK, 370, 385, 395, 405)
 	self:AddRecipeFlags(50951, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(50951, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50951, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Frostscale Shoulders -- 50952
 	AddRecipe(50952, 375, 38424, Q.COMMON, V.WOTLK, 375, 390, 400, 410)
 	self:AddRecipeFlags(50952, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(50952, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50952, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Frostscale Gloves -- 50953
 	AddRecipe(50953, 380, 38415, Q.COMMON, V.WOTLK, 380, 395, 405, 415)
 	self:AddRecipeFlags(50953, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(50953, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50953, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Frostscale Boots -- 50954
 	AddRecipe(50954, 380, 38413, Q.COMMON, V.WOTLK, 380, 395, 405, 415)
 	self:AddRecipeFlags(50954, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(50954, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50954, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Frostscale Belt -- 50955
 	AddRecipe(50955, 370, 38412, Q.COMMON, V.WOTLK, 370, 385, 395, 405)
 	self:AddRecipeFlags(50955, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(50955, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50955, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Nerubian Chestguard -- 50956
 	AddRecipe(50956, 375, 38420, Q.COMMON, V.WOTLK, 375, 390, 400, 410)
 	self:AddRecipeFlags(50956, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(50956, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50956, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Nerubian Legguards -- 50957
 	AddRecipe(50957, 370, 38422, Q.UNCOMMON, V.WOTLK, 370, 385, 395, 405)
 	self:AddRecipeFlags(50957, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(50957, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50957, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Nerubian Shoulders -- 50958
 	AddRecipe(50958, 380, 38417, Q.COMMON, V.WOTLK, 380, 395, 405, 415)
 	self:AddRecipeFlags(50958, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(50958, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50958, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Nerubian Gloves -- 50959
 	AddRecipe(50959, 370, 38421, Q.COMMON, V.WOTLK, 370, 385, 395, 405)
 	self:AddRecipeFlags(50959, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(50959, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50959, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Nerubian Boots -- 50960
 	AddRecipe(50960, 380, 38419, Q.COMMON, V.WOTLK, 380, 395, 405, 415)
 	self:AddRecipeFlags(50960, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(50960, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50960, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Nerubian Belt -- 50961
 	AddRecipe(50961, 375, 38418, Q.COMMON, V.WOTLK, 375, 390, 400, 410)
 	self:AddRecipeFlags(50961, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(50961, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50961, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Borean Armor Kit -- 50962
 	AddRecipe(50962, 350, 38375, Q.COMMON, V.WOTLK, 350, 375, 380, 385)
 	self:AddRecipeFlags(50962, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50962, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50962, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Heavy Borean Armor Kit -- 50963
 	AddRecipe(50963, 395, 38376, Q.UNCOMMON, V.WOTLK, 395, 400, 402, 405)
 	self:AddRecipeFlags(50963, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(50963, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50963, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Jormungar Leg Armor -- 50964
 	AddRecipe(50964, 405, 38371, Q.COMMON, V.WOTLK, 405, 410, 415, 420)
 	self:AddRecipeFlags(50964, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(50964, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50964, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Frosthide Leg Armor -- 50965
 	AddRecipe(50965, 425, 38373, Q.EPIC, V.WOTLK, 425, 435, 440, 445)
 	self:AddRecipeFlags(50965, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(50965, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50965, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Nerubian Leg Armor -- 50966
 	AddRecipe(50966, 400, 38372, Q.COMMON, V.WOTLK, 400, 405, 410, 415)
 	self:AddRecipeFlags(50966, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(50966, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50966, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Icescale Leg Armor -- 50967
 	AddRecipe(50967, 425, 38374, Q.EPIC, V.WOTLK, 425, 435, 440, 445)
 	self:AddRecipeFlags(50967, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(50967, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(50967, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Trapper's Traveling Pack -- 50970
 	AddRecipe(50970, 415, 38399, Q.RARE, V.WOTLK, 415, 420, 422, 425)
 	self:AddRecipeFlags(50970, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.KALUAK)
-	self:AddRecipeAcquire(50970, A.REPUTATION, FAC.KALUAK, REP.REVERED, 31916, A.REPUTATION, FAC.KALUAK, REP.REVERED, 32763)
+	self:AddRecipeRepVendor(50970, FAC.KALUAK, REP.REVERED, 31916, 32763)

 	-- Mammoth Mining Bag -- 50971
 	AddRecipe(50971, 415, 38347, Q.RARE, V.WOTLK, 415, 420, 422, 425)
 	self:AddRecipeFlags(50971, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HODIR)
-	self:AddRecipeAcquire(50971, A.REPUTATION, FAC.HODIR, REP.HONORED, 32540)
+	self:AddRecipeRepVendor(50971, FAC.HODIR, REP.HONORED, 32540)

 	-- Black Chitinguard Boots -- 51568
 	AddRecipe(51568, 400, 38590, Q.COMMON, V.WOTLK, 400, 415, 425, 435)
 	self:AddRecipeFlags(51568, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(51568, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(51568, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Dark Arctic Leggings -- 51569
 	AddRecipe(51569, 395, 38591, Q.COMMON, V.WOTLK, 395, 410, 420, 430)
 	self:AddRecipeFlags(51569, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(51569, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(51569, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Dark Arctic Chestpiece -- 51570
 	AddRecipe(51570, 395, 38592, Q.COMMON, V.WOTLK, 395, 410, 420, 430)
 	self:AddRecipeFlags(51570, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(51570, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(51570, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Arctic Wristguards -- 51571
 	AddRecipe(51571, 385, 38433, Q.COMMON, V.WOTLK, 385, 400, 410, 420)
 	self:AddRecipeFlags(51571, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(51571, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(51571, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Arctic Helm -- 51572
 	AddRecipe(51572, 385, 38437, Q.COMMON, V.WOTLK, 385, 400, 410, 420)
 	self:AddRecipeFlags(51572, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(51572, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(51572, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Bracers of Shackled Souls -- 52733
 	AddRecipe(52733, 375, 32399, Q.COMMON, V.WOTLK, 375, 385, 395, 405)
 	self:AddRecipeFlags(52733, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.MAIL, F.ASHTONGUE)
-	self:AddRecipeAcquire(52733, A.REPUTATION, FAC.ASHTONGUE, REP.FRIENDLY, 23159)
+	self:AddRecipeRepVendor(52733, FAC.ASHTONGUE, REP.FRIENDLY, 23159)

 	-- Cloak of Tormented Skies -- 55199
 	AddRecipe(55199, 395, 41238, Q.COMMON, V.WOTLK, 395, 405, 415, 425)
 	self:AddRecipeFlags(55199, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.TANK, F.CLOAK)
-	self:AddRecipeAcquire(55199, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(55199, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Fur Lining - Attack Power -- 57683
 	AddRecipe(57683, 400, nil, Q.COMMON, V.WOTLK, 400, 425, 430, 435)
 	self:AddRecipeFlags(57683, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(57683, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(57683, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Fur Lining - Stamina -- 57690
 	AddRecipe(57690, 400, nil, Q.COMMON, V.WOTLK, 400, 425, 430, 435)
 	self:AddRecipeFlags(57690, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57690, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(57690, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Fur Lining - Spell Power -- 57691
 	AddRecipe(57691, 400, nil, Q.COMMON, V.WOTLK, 400, 425, 430, 435)
 	self:AddRecipeFlags(57691, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(57691, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(57691, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Fur Lining - Fire Resist -- 57692
 	AddRecipe(57692, 400, nil, Q.RARE, V.WOTLK, 400, 425, 430, 435)
 	self:AddRecipeFlags(57692, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57692, A.MOB, 30921)
+	self:AddRecipeMobDrop(57692, 30921)

 	-- Fur Lining - Frost Resist -- 57694
 	AddRecipe(57694, 400, nil, Q.RARE, V.WOTLK, 400, 425, 430, 435)
 	self:AddRecipeFlags(57694, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57694, A.MOB, 32289)
+	self:AddRecipeMobDrop(57694, 32289)

 	-- Fur Lining - Shadow Resist -- 57696
 	AddRecipe(57696, 400, nil, Q.RARE, V.WOTLK, 400, 425, 430, 435)
 	self:AddRecipeFlags(57696, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57696, A.MOB, 32349)
+	self:AddRecipeMobDrop(57696, 32349)

 	-- Fur Lining - Nature Resist -- 57699
 	AddRecipe(57699, 400, nil, Q.RARE, V.WOTLK, 400, 425, 430, 435)
 	self:AddRecipeFlags(57699, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57699, A.MOB, 32290)
+	self:AddRecipeMobDrop(57699, 32290)

 	-- Fur Lining - Arcane Resist -- 57701
 	AddRecipe(57701, 400, nil, Q.RARE, V.WOTLK, 400, 425, 430, 435)
 	self:AddRecipeFlags(57701, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(57701, A.MOB, 31702, A.MOB, 32297)
+	self:AddRecipeMobDrop(57701, 31702, 32297)

 	-- Jormungar Leg Reinforcements -- 60583
 	AddRecipe(60583, 405, nil, Q.COMMON, V.WOTLK, 405, 405, 405, 410)
 	self:AddRecipeFlags(60583, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(60583, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60583, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Nerubian Leg Reinforcements -- 60584
 	AddRecipe(60584, 400, nil, Q.COMMON, V.WOTLK, 400, 400, 400, 405)
 	self:AddRecipeFlags(60584, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS)
-	self:AddRecipeAcquire(60584, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60584, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Frostscale Bracers -- 60599
 	AddRecipe(60599, 385, 38436, Q.COMMON, V.WOTLK, 385, 400, 410, 420)
 	self:AddRecipeFlags(60599, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60599, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60599, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Frostscale Helm -- 60600
 	AddRecipe(60600, 385, 38440, Q.COMMON, V.WOTLK, 385, 400, 410, 420)
 	self:AddRecipeFlags(60600, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60600, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60600, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Dark Frostscale Leggings -- 60601
 	AddRecipe(60601, 395, 44436, Q.COMMON, V.WOTLK, 395, 410, 420, 430)
 	self:AddRecipeFlags(60601, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60601, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60601, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Dark Frostscale Breastplate -- 60604
 	AddRecipe(60604, 395, 44437, Q.COMMON, V.WOTLK, 395, 410, 420, 430)
 	self:AddRecipeFlags(60604, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60604, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60604, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Dragonstompers -- 60605
 	AddRecipe(60605, 400, 44438, Q.COMMON, V.WOTLK, 400, 415, 425, 435)
 	self:AddRecipeFlags(60605, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60605, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60605, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Iceborne Wristguards -- 60607
 	AddRecipe(60607, 385, 38434, Q.COMMON, V.WOTLK, 385, 400, 410, 420)
 	self:AddRecipeFlags(60607, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60607, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60607, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Iceborne Helm -- 60608
 	AddRecipe(60608, 385, 38438, Q.COMMON, V.WOTLK, 385, 400, 410, 420)
 	self:AddRecipeFlags(60608, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60608, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60608, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Dark Iceborne Leggings -- 60611
 	AddRecipe(60611, 395, 44440, Q.COMMON, V.WOTLK, 395, 410, 420, 430)
 	self:AddRecipeFlags(60611, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60611, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60611, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Dark Iceborne Chestguard -- 60613
 	AddRecipe(60613, 395, 44441, Q.COMMON, V.WOTLK, 395, 410, 420, 430)
 	self:AddRecipeFlags(60613, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60613, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60613, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Bugsquashers -- 60620
 	AddRecipe(60620, 400, 44442, Q.COMMON, V.WOTLK, 400, 415, 425, 435)
 	self:AddRecipeFlags(60620, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60620, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60620, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Nerubian Bracers -- 60622
 	AddRecipe(60622, 385, 38435, Q.COMMON, V.WOTLK, 385, 400, 410, 420)
 	self:AddRecipeFlags(60622, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60622, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60622, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Nerubian Helm -- 60624
 	AddRecipe(60624, 385, 38439, Q.COMMON, V.WOTLK, 385, 400, 410, 420)
 	self:AddRecipeFlags(60624, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60624, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60624, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Dark Nerubian Leggings -- 60627
 	AddRecipe(60627, 395, 44443, Q.COMMON, V.WOTLK, 395, 410, 420, 430)
 	self:AddRecipeFlags(60627, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60627, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60627, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Dark Nerubian Chestpiece -- 60629
 	AddRecipe(60629, 395, 44444, Q.COMMON, V.WOTLK, 395, 410, 420, 430)
 	self:AddRecipeFlags(60629, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60629, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60629, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Scaled Icewalkers -- 60630
 	AddRecipe(60630, 400, 44445, Q.COMMON, V.WOTLK, 400, 415, 425, 435)
 	self:AddRecipeFlags(60630, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60630, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60630, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Cloak of Harsh Winds -- 60631
 	AddRecipe(60631, 380, 38441, Q.COMMON, V.WOTLK, 380, 390, 400, 410)
 	self:AddRecipeFlags(60631, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(60631, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60631, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Ice Striker's Cloak -- 60637
 	AddRecipe(60637, 440, 43566, Q.COMMON, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(60637, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(60637, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60637, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Durable Nerubhide Cape -- 60640
 	AddRecipe(60640, 440, 43565, Q.COMMON, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(60640, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.TANK, F.CLOAK)
-	self:AddRecipeAcquire(60640, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60640, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Pack of Endless Pockets -- 60643
 	AddRecipe(60643, 415, 44446, Q.RARE, V.WOTLK, 415, 420, 422, 425)
 	self:AddRecipeFlags(60643, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(60643, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60643, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Dragonscale Ammo Pouch -- 60645
 	AddRecipe(60645, 415, 44447, Q.RARE, V.WOTLK, 415, 420, 422, 425)
 	self:AddRecipeFlags(60645, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.AMMO, F.KALUAK)
-	self:AddRecipeAcquire(60645, A.REPUTATION, FAC.KALUAK, REP.HONORED, 31916, A.REPUTATION, FAC.KALUAK, REP.HONORED, 32763)
+	self:AddRecipeRepVendor(60645, FAC.KALUAK, REP.HONORED, 31916, 32763)

 	-- Nerubian Reinforced Quiver -- 60647
 	AddRecipe(60647, 415, 44448, Q.RARE, V.WOTLK, 415, 420, 422, 425)
 	self:AddRecipeFlags(60647, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.EBONBLADE)
-	self:AddRecipeAcquire(60647, A.REPUTATION, FAC.EBONBLADE, REP.HONORED, 32538)
+	self:AddRecipeRepVendor(60647, FAC.EBONBLADE, REP.HONORED, 32538)

 	-- Razorstrike Breastplate -- 60649
 	AddRecipe(60649, 425, 43129, Q.COMMON, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60649, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60649, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60649, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Virulent Spaulders -- 60651
 	AddRecipe(60651, 420, 43130, Q.COMMON, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60651, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60651, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60651, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Eaglebane Bracers -- 60652
 	AddRecipe(60652, 420, 43131, Q.COMMON, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60652, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60652, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60652, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Nightshock Hood -- 60655
 	AddRecipe(60655, 425, 43132, Q.COMMON, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60655, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60655, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60655, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Nightshock Girdle -- 60658
 	AddRecipe(60658, 420, 43133, Q.COMMON, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60658, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60658, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60658, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Leggings of Visceral Strikes -- 60660
 	AddRecipe(60660, 425, 42731, Q.COMMON, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60660, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60660, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60660, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Seafoam Gauntlets -- 60665
 	AddRecipe(60665, 420, 43255, Q.COMMON, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60665, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60665, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60665, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Jormscale Footpads -- 60666
 	AddRecipe(60666, 420, 43256, Q.COMMON, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60666, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60666, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60666, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Wildscale Breastplate -- 60669
 	AddRecipe(60669, 425, 43257, Q.COMMON, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60669, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60669, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60669, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Purehorn Spaulders -- 60671
 	AddRecipe(60671, 420, 43258, Q.COMMON, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60671, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60671, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(60671, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Eviscerator's Facemask -- 60697
 	AddRecipe(60697, 420, 43260, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60697, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60697, A.VENDOR, 32515)
+	self:AddRecipeVendor(60697, 32515)

 	-- Eviscerator's Shoulderpads -- 60702
 	AddRecipe(60702, 420, 43433, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60702, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60702, A.VENDOR, 32515)
+	self:AddRecipeVendor(60702, 32515)

 	-- Eviscerator's Chestguard -- 60703
 	AddRecipe(60703, 420, 43434, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60703, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60703, A.VENDOR, 32515)
+	self:AddRecipeVendor(60703, 32515)

 	-- Eviscerator's Bindings -- 60704
 	AddRecipe(60704, 420, 43435, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60704, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60704, A.VENDOR, 32515)
+	self:AddRecipeVendor(60704, 32515)

 	-- Eviscerator's Gauntlets -- 60705
 	AddRecipe(60705, 425, 43436, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60705, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60705, A.VENDOR, 32515)
+	self:AddRecipeVendor(60705, 32515)

 	-- Eviscerator's Waistguard -- 60706
 	AddRecipe(60706, 425, 43437, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60706, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60706, A.VENDOR, 32515)
+	self:AddRecipeVendor(60706, 32515)

 	-- Eviscerator's Legguards -- 60711
 	AddRecipe(60711, 425, 43438, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60711, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60711, A.VENDOR, 32515)
+	self:AddRecipeVendor(60711, 32515)

 	-- Eviscerator's Treads -- 60712
 	AddRecipe(60712, 425, 43439, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60712, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60712, A.VENDOR, 32515)
+	self:AddRecipeVendor(60712, 32515)

 	-- Overcast Headguard -- 60715
 	AddRecipe(60715, 420, 43261, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60715, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60715, A.VENDOR, 32515)
+	self:AddRecipeVendor(60715, 32515)

 	-- Overcast Spaulders -- 60716
 	AddRecipe(60716, 420, 43262, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60716, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60716, A.VENDOR, 32515)
+	self:AddRecipeVendor(60716, 32515)

 	-- Overcast Chestguard -- 60718
 	AddRecipe(60718, 420, 43263, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60718, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60718, A.VENDOR, 32515)
+	self:AddRecipeVendor(60718, 32515)

 	-- Overcast Bracers -- 60720
 	AddRecipe(60720, 420, 43264, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60720, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60720, A.VENDOR, 32515)
+	self:AddRecipeVendor(60720, 32515)

 	-- Overcast Handwraps -- 60721
 	AddRecipe(60721, 425, 43265, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60721, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60721, A.VENDOR, 32515)
+	self:AddRecipeVendor(60721, 32515)

 	-- Overcast Belt -- 60723
 	AddRecipe(60723, 425, 43266, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60723, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60723, A.VENDOR, 32515)
+	self:AddRecipeVendor(60723, 32515)

 	-- Overcast Leggings -- 60725
 	AddRecipe(60725, 425, 43271, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60725, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60725, A.VENDOR, 32515)
+	self:AddRecipeVendor(60725, 32515)

 	-- Overcast Boots -- 60727
 	AddRecipe(60727, 425, 43273, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60727, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60727, A.VENDOR, 32515)
+	self:AddRecipeVendor(60727, 32515)

 	-- Swiftarrow Helm -- 60728
 	AddRecipe(60728, 420, 43447, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60728, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60728, A.VENDOR, 32515)
+	self:AddRecipeVendor(60728, 32515)

 	-- Swiftarrow Shoulderguards -- 60729
 	AddRecipe(60729, 420, 43449, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60729, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60729, A.VENDOR, 32515)
+	self:AddRecipeVendor(60729, 32515)

 	-- Swiftarrow Hauberk -- 60730
 	AddRecipe(60730, 420, 43445, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60730, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60730, A.VENDOR, 32515)
+	self:AddRecipeVendor(60730, 32515)

 	-- Swiftarrow Bracers -- 60731
 	AddRecipe(60731, 420, 43444, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60731, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60731, A.VENDOR, 32515)
+	self:AddRecipeVendor(60731, 32515)

 	-- Swiftarrow Gauntlets -- 60732
 	AddRecipe(60732, 425, 43446, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60732, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60732, A.VENDOR, 32515)
+	self:AddRecipeVendor(60732, 32515)

 	-- Swiftarrow Belt -- 60734
 	AddRecipe(60734, 425, 43442, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60734, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60734, A.VENDOR, 32515)
+	self:AddRecipeVendor(60734, 32515)

 	-- Swiftarrow Leggings -- 60735
 	AddRecipe(60735, 425, 43448, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60735, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60735, A.VENDOR, 32515)
+	self:AddRecipeVendor(60735, 32515)

 	-- Swiftarrow Boots -- 60737
 	AddRecipe(60737, 425, 43443, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60737, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60737, A.VENDOR, 32515)
+	self:AddRecipeVendor(60737, 32515)

 	-- Stormhide Crown -- 60743
 	AddRecipe(60743, 420, 43455, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60743, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60743, A.VENDOR, 32515)
+	self:AddRecipeVendor(60743, 32515)

 	-- Stormhide Shoulders -- 60746
 	AddRecipe(60746, 420, 43457, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60746, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60746, A.VENDOR, 32515)
+	self:AddRecipeVendor(60746, 32515)

 	-- Stormhide Hauberk -- 60747
 	AddRecipe(60747, 420, 43453, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60747, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60747, A.VENDOR, 32515)
+	self:AddRecipeVendor(60747, 32515)

 	-- Stormhide Wristguards -- 60748
 	AddRecipe(60748, 420, 43452, Q.RARE, V.WOTLK, 420, 425, 430, 435)
 	self:AddRecipeFlags(60748, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60748, A.VENDOR, 32515)
+	self:AddRecipeVendor(60748, 32515)

 	-- Stormhide Grips -- 60749
 	AddRecipe(60749, 425, 43454, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60749, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60749, A.VENDOR, 32515)
+	self:AddRecipeVendor(60749, 32515)

 	-- Stormhide Belt -- 60750
 	AddRecipe(60750, 425, 43450, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60750, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60750, A.VENDOR, 32515)
+	self:AddRecipeVendor(60750, 32515)

 	-- Stormhide Legguards -- 60751
 	AddRecipe(60751, 425, 43456, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60751, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60751, A.VENDOR, 32515)
+	self:AddRecipeVendor(60751, 32515)

 	-- Stormhide Stompers -- 60752
 	AddRecipe(60752, 425, 43451, Q.RARE, V.WOTLK, 425, 430, 435, 440)
 	self:AddRecipeFlags(60752, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60752, A.VENDOR, 32515)
+	self:AddRecipeVendor(60752, 32515)

 	-- Giantmaim Legguards -- 60754
 	AddRecipe(60754, 440, 43458, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(60754, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60754, A.VENDOR, 32515)
+	self:AddRecipeVendor(60754, 32515)

 	-- Giantmaim Bracers -- 60755
 	AddRecipe(60755, 440, 43459, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(60755, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL)
-	self:AddRecipeAcquire(60755, A.VENDOR, 32515)
+	self:AddRecipeVendor(60755, 32515)

 	-- Revenant's Breastplate -- 60756
 	AddRecipe(60756, 440, 43461, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(60756, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60756, A.VENDOR, 32515)
+	self:AddRecipeVendor(60756, 32515)

 	-- Revenant's Treads -- 60757
 	AddRecipe(60757, 440, 43469, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(60757, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL)
-	self:AddRecipeAcquire(60757, A.VENDOR, 32515)
+	self:AddRecipeVendor(60757, 32515)

 	-- Trollwoven Spaulders -- 60758
 	AddRecipe(60758, 440, 43481, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(60758, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60758, A.VENDOR, 32515)
+	self:AddRecipeVendor(60758, 32515)

 	-- Trollwoven Girdle -- 60759
 	AddRecipe(60759, 440, 43484, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(60759, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER)
-	self:AddRecipeAcquire(60759, A.VENDOR, 32515)
+	self:AddRecipeVendor(60759, 32515)

 	-- Earthgiving Legguards -- 60760
 	AddRecipe(60760, 440, 43495, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(60760, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60760, A.VENDOR, 32515)
+	self:AddRecipeVendor(60760, 32515)

 	-- Earthgiving Boots -- 60761
 	AddRecipe(60761, 440, 43502, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(60761, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(60761, A.VENDOR, 32515)
+	self:AddRecipeVendor(60761, 32515)

 	-- Polar Vest -- 60996
 	AddRecipe(60996, 425, 43590, Q.EPIC, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(60996, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(60996, A.VENDOR, 32515)
+	self:AddRecipeVendor(60996, 32515)

 	-- Polar Cord -- 60997
 	AddRecipe(60997, 420, 43591, Q.EPIC, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(60997, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(60997, A.VENDOR, 32515)
+	self:AddRecipeVendor(60997, 32515)

 	-- Polar Boots -- 60998
 	AddRecipe(60998, 420, 43592, Q.EPIC, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(60998, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(60998, A.VENDOR, 32515)
+	self:AddRecipeVendor(60998, 32515)

 	-- Icy Scale Chestguard -- 60999
 	AddRecipe(60999, 425, 43593, Q.EPIC, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(60999, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(60999, A.VENDOR, 32515)
+	self:AddRecipeVendor(60999, 32515)

 	-- Icy Scale Belt -- 61000
 	AddRecipe(61000, 420, 43594, Q.EPIC, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(61000, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(61000, A.VENDOR, 32515)
+	self:AddRecipeVendor(61000, 32515)

 	-- Icy Scale Boots -- 61002
 	AddRecipe(61002, 420, 43595, Q.EPIC, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(61002, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.MAIL)
-	self:AddRecipeAcquire(61002, A.VENDOR, 32515)
+	self:AddRecipeVendor(61002, 32515)

 	-- Windripper Boots -- 62176
 	AddRecipe(62176, 440, 44930, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(62176, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(62176, A.VENDOR, 32515)
+	self:AddRecipeVendor(62176, 32515)

 	-- Windripper Leggings -- 62177
 	AddRecipe(62177, 440, 44931, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(62177, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER)
-	self:AddRecipeAcquire(62177, A.VENDOR, 32515)
+	self:AddRecipeVendor(62177, 32515)

 	-- Earthen Leg Armor -- 62448
 	AddRecipe(62448, 425, 44963, Q.EPIC, V.WOTLK, 425, 435, 440, 445)
 	self:AddRecipeFlags(62448, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(62448, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(62448, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Belt of Dragons -- 63194
 	AddRecipe(63194, 450, 45553, Q.EPIC, V.WOTLK, 450, 455, 465, 475)
@@ -2598,57 +2618,57 @@ function addon:InitLeatherworking()
 	-- Borean Leather -- 64661
 	AddRecipe(64661, 350, 33568, Q.COMMON, V.WOTLK, 350, 350, 362, 375)
 	self:AddRecipeFlags(64661, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.LEATHER)
-	self:AddRecipeAcquire(64661, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 26996, A.TRAINER, 26998, A.TRAINER, 28700, A.TRAINER, 33581)
+	self:AddRecipeTrainer(64661, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Drums of Forgotten Kings -- 69386
 	AddRecipe(69386, 450, 49633, Q.COMMON, V.WOTLK, 450, 450, 455, 470)
 	self:AddRecipeFlags(69386, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(69386, A.TRAINER, 28700, A.TRAINER, 26996, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 33581, A.TRAINER, 26998)
+	self:AddRecipeTrainer(69386, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Drums of the Wild -- 69388
 	AddRecipe(69388, 450, 49634, Q.COMMON, V.WOTLK, 450, 450, 455, 470)
 	self:AddRecipeFlags(69388, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(69388, A.TRAINER, 28700, A.TRAINER, 26996, A.TRAINER, 26911, A.TRAINER, 26961, A.TRAINER, 33581, A.TRAINER, 26998)
+	self:AddRecipeTrainer(69388, 26998, 28700, 33581, 26911, 26961, 26996)

 	-- Legwraps of Unleashed Nature -- 70554
 	AddRecipe(70554, 450, 49898, Q.EPIC, V.WOTLK, 450, 460, 465, 470)
-	self:AddRecipeFlags(70554, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.HEALER, F.CASTER, F.LEATHER, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70554, A.REPUTATION, FAC.ASHEN_VERDICT, REP.REVERED, 37687)
+	self:AddRecipeFlags(70554, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70554, FAC.ASHEN_VERDICT, REP.REVERED, 37687)

 	-- Blessed Cenarion Boots -- 70555
 	AddRecipe(70555, 450, 49894, Q.EPIC, V.WOTLK, 450, 460, 465, 470)
-	self:AddRecipeFlags(70555, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.HEALER, F.CASTER, F.LEATHER, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70555, A.REPUTATION, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
+	self:AddRecipeFlags(70555, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.LEATHER, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70555, FAC.ASHEN_VERDICT, REP.HONORED, 37687)

 	-- Bladeborn Leggings -- 70556
 	AddRecipe(70556, 450, 49899, Q.EPIC, V.WOTLK, 450, 460, 465, 470)
-	self:AddRecipeFlags(70556, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.DPS, F.LEATHER, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70556, A.REPUTATION, FAC.ASHEN_VERDICT, REP.REVERED, 37687)
+	self:AddRecipeFlags(70556, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.LEATHER, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70556, FAC.ASHEN_VERDICT, REP.REVERED, 37687)

 	-- Footpads of Impending Death -- 70557
 	AddRecipe(70557, 450, 49895, Q.EPIC, V.WOTLK, 450, 460, 465, 470)
-	self:AddRecipeFlags(70557, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.DPS, F.TANK, F.LEATHER, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70557, A.REPUTATION, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
+	self:AddRecipeFlags(70557, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.TANK, F.LEATHER, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70557, FAC.ASHEN_VERDICT, REP.HONORED, 37687)

 	-- Lightning-Infused Leggings -- 70558
 	AddRecipe(70558, 450, 49900, Q.EPIC, V.WOTLK, 450, 460, 465, 470)
-	self:AddRecipeFlags(70558, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.HEALER, F.CASTER, F.MAIL, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70558, A.REPUTATION, FAC.ASHEN_VERDICT, REP.REVERED, 37687)
+	self:AddRecipeFlags(70558, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70558, FAC.ASHEN_VERDICT, REP.REVERED, 37687)

 	-- Earthsoul Boots -- 70559
 	AddRecipe(70559, 450, 49896, Q.EPIC, V.WOTLK, 450, 460, 465, 470)
-	self:AddRecipeFlags(70559, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.HEALER, F.CASTER, F.MAIL, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70559, A.REPUTATION, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
+	self:AddRecipeFlags(70559, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.MAIL, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70559, FAC.ASHEN_VERDICT, REP.HONORED, 37687)

 	-- Draconic Bonesplinter Legguards -- 70560
 	AddRecipe(70560, 450, 49901, Q.EPIC, V.WOTLK, 450, 460, 465, 470)
-	self:AddRecipeFlags(70560, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.DPS, F.MAIL, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70560, A.REPUTATION, FAC.ASHEN_VERDICT, REP.REVERED, 37687)
+	self:AddRecipeFlags(70560, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70560, FAC.ASHEN_VERDICT, REP.REVERED, 37687)

 	-- Rock-Steady Treads -- 70561
 	AddRecipe(70561, 450, 49897, Q.EPIC, V.WOTLK, 450, 460, 465, 470)
-	self:AddRecipeFlags(70561, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.DPS, F.MAIL, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70561, A.REPUTATION, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
+	self:AddRecipeFlags(70561, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.DPS, F.MAIL, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70561, FAC.ASHEN_VERDICT, REP.HONORED, 37687)

 	-- Some recipes are only availible to specific factions.
 	-- We only add the faction specific recipes if the user is part of that faction
diff --git a/Database/Runeforging.lua b/Database/Runeforging.lua
index 3dd42ac..4ef7260 100644
--- a/Database/Runeforging.lua
+++ b/Database/Runeforging.lua
@@ -48,55 +48,55 @@ function addon:InitRuneforging()
 	end
 	initialized = true

-	-- Rune of the Fallen Crusader - 53344
-	AddRecipe(53344)
-	self:AddRecipeFlags(53344, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.TWO_HAND, F.RBOP, F.IBOP)
-	self:AddRecipeAcquire(53344, A.TRAINER, 29194, A.TRAINER, 29196, A.TRAINER, 29195, A.TRAINER, 31084)
-
-	-- Rune of Swordshattering - 53323
-	AddRecipe(53323)
-	self:AddRecipeFlags(53323, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.TWO_HAND, F.RBOP, F.IBOP)
-	self:AddRecipeAcquire(53323, A.TRAINER, 29194, A.TRAINER, 29196, A.TRAINER, 29195, A.TRAINER, 31084)
-
-	-- Rune of Swordbreaking - 54446
-	AddRecipe(54446)
-	self:AddRecipeFlags(54446, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.TWO_HAND, F.RBOP, F.IBOP)
-	self:AddRecipeAcquire(54446, A.TRAINER, 29194, A.TRAINER, 29196, A.TRAINER, 29195, A.TRAINER, 31084)
-
-	-- Rune of Spellshattering - 53342
-	AddRecipe(53342)
-	self:AddRecipeFlags(53342, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.TWO_HAND, F.RBOP, F.IBOP)
-	self:AddRecipeAcquire(53342, A.TRAINER, 29194, A.TRAINER, 29196, A.TRAINER, 29195, A.TRAINER, 31084)
-
-	-- Rune of Spellbreaking - 54447
-	AddRecipe(54447)
-	self:AddRecipeFlags(54447, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.TWO_HAND, F.RBOP, F.IBOP)
-	self:AddRecipeAcquire(54447, A.TRAINER, 29194, A.TRAINER, 29196, A.TRAINER, 29195, A.TRAINER, 31084)
-
-	-- Rune of Razorice - 53343
-	AddRecipe(53343)
-	self:AddRecipeFlags(53343, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.TWO_HAND, F.RBOP, F.IBOP)
-	self:AddRecipeAcquire(53343, A.TRAINER, 29194, A.TRAINER, 29196, A.TRAINER, 29195, A.TRAINER, 31084)
-
-	-- Rune of Lichbane - 53331
-	AddRecipe(53331)
-	self:AddRecipeFlags(53331, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.TWO_HAND, F.RBOP, F.IBOP)
-	self:AddRecipeAcquire(53331, A.TRAINER, 29194, A.TRAINER, 29196, A.TRAINER, 29195, A.TRAINER, 31084)
-
-	-- Rune of Cinderglacier - 53341
-	AddRecipe(53341)
-	self:AddRecipeFlags(53341, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.TWO_HAND, F.RBOP, F.IBOP)
-	self:AddRecipeAcquire(53341, A.TRAINER, 29194, A.TRAINER, 29196, A.TRAINER, 29195, A.TRAINER, 31084)
-
-	-- Rune of the Stoneskin Gargoyle - 62158
-	AddRecipe(62158)
-	self:AddRecipeFlags(62158, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.TWO_HAND, F.RBOP, F.IBOP)
-	self:AddRecipeAcquire(62158, A.TRAINER, 29194, A.TRAINER, 29196, A.TRAINER, 29195, A.TRAINER, 31084)
-
-	-- Rune of the Nerubian Carapace - 70164
-	AddRecipe(70164)
-	self:AddRecipeFlags(70164, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.TWO_HAND, F.RBOP, F.IBOP)
-	self:AddRecipeAcquire(70164, A.TRAINER, 29194, A.TRAINER, 29196, A.TRAINER, 29195, A.TRAINER, 31084)
+	-- Rune of Swordshattering -- 53323
+	AddRecipe(53323, 1, nil, Q.COMMON, V.WOTLK, 1, 1, 1, 1)
+	self:AddRecipeFlags(53323, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOP, F.RBOP, F.TWO_HAND)
+	self:AddRecipeTrainer(53323, 29194, 29195, 29196, 31084)
+
+	-- Rune of Lichbane -- 53331
+	AddRecipe(53331, 1, nil, Q.COMMON, V.WOTLK, 1, 1, 1, 1)
+	self:AddRecipeFlags(53331, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOP, F.RBOP, F.TWO_HAND)
+	self:AddRecipeTrainer(53331, 29194, 29195, 29196, 31084)
+
+	-- Rune of Cinderglacier -- 53341
+	AddRecipe(53341, 1, nil, Q.COMMON, V.WOTLK, 1, 1, 1, 1)
+	self:AddRecipeFlags(53341, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOP, F.RBOP, F.TWO_HAND)
+	self:AddRecipeTrainer(53341, 29194, 29195, 29196, 31084)
+
+	-- Rune of Spellshattering -- 53342
+	AddRecipe(53342, 1, nil, Q.COMMON, V.WOTLK, 1, 1, 1, 1)
+	self:AddRecipeFlags(53342, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOP, F.RBOP, F.TWO_HAND)
+	self:AddRecipeTrainer(53342, 29194, 29195, 29196, 31084)
+
+	-- Rune of Razorice -- 53343
+	AddRecipe(53343, 1, nil, Q.COMMON, V.WOTLK, 1, 1, 1, 1)
+	self:AddRecipeFlags(53343, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOP, F.RBOP, F.TWO_HAND)
+	self:AddRecipeTrainer(53343, 29194, 29195, 29196, 31084)
+
+	-- Rune of the Fallen Crusader -- 53344
+	AddRecipe(53344, 1, nil, Q.COMMON, V.WOTLK, 1, 1, 1, 1)
+	self:AddRecipeFlags(53344, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOP, F.RBOP, F.TWO_HAND)
+	self:AddRecipeTrainer(53344, 29194, 29195, 29196, 31084)
+
+	-- Rune of Swordbreaking -- 54446
+	AddRecipe(54446, 1, nil, Q.COMMON, V.WOTLK, 1, 1, 1, 1)
+	self:AddRecipeFlags(54446, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOP, F.RBOP, F.TWO_HAND)
+	self:AddRecipeTrainer(54446, 29194, 29195, 29196, 31084)
+
+	-- Rune of Spellbreaking -- 54447
+	AddRecipe(54447, 1, nil, Q.COMMON, V.WOTLK, 1, 1, 1, 1)
+	self:AddRecipeFlags(54447, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOP, F.RBOP, F.TWO_HAND)
+	self:AddRecipeTrainer(54447, 29194, 29195, 29196, 31084)
+
+	-- Rune of the Stoneskin Gargoyle -- 62158
+	AddRecipe(62158, 1, nil, Q.COMMON, V.WOTLK, 1, 1, 1, 1)
+	self:AddRecipeFlags(62158, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOP, F.RBOP, F.TWO_HAND)
+	self:AddRecipeTrainer(62158, 29194, 29195, 29196, 31084)
+
+	-- Rune of the Nerubian Carapace -- 70164
+	AddRecipe(70164, 1, nil, Q.COMMON, V.WOTLK, 1, 1, 1, 1)
+	self:AddRecipeFlags(70164, F.ALLIANCE, F.HORDE, F.TRAINER, F.DK, F.IBOP, F.RBOP, F.TWO_HAND)
+	self:AddRecipeTrainer(70164, 29194, 29195, 29196, 31084)

 	return num_recipes
 end
diff --git a/Database/Tailoring.lua b/Database/Tailoring.lua
index 65aa329..2521513 100644
--- a/Database/Tailoring.lua
+++ b/Database/Tailoring.lua
@@ -53,12 +53,12 @@ function addon:InitTailoring()
 	-- Brown Linen Vest -- 2385
 	AddRecipe(2385, 10, 2568, Q.COMMON, V.ORIG, 10, 45, 57, 70)
 	self:AddRecipeFlags(2385, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(2385, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2385, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Linen Boots -- 2386
 	AddRecipe(2386, 65, 2569, Q.COMMON, V.ORIG, 65, 90, 107, 125)
 	self:AddRecipeFlags(2386, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(2386, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2386, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Linen Cloak -- 2387
 	AddRecipe(2387, 1, 2570, Q.COMMON, V.ORIG, 1, 35, 47, 60)
@@ -73,47 +73,47 @@ function addon:InitTailoring()
 	-- Red Linen Shirt -- 2392
 	AddRecipe(2392, 40, 2575, Q.COMMON, V.ORIG, 40, 65, 82, 100)
 	self:AddRecipeFlags(2392, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(2392, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2392, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- White Linen Shirt -- 2393
 	AddRecipe(2393, 1, 2576, Q.COMMON, V.ORIG, 1, 35, 47, 60)
 	self:AddRecipeFlags(2393, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(2393, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2393, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Blue Linen Shirt -- 2394
 	AddRecipe(2394, 40, 2577, Q.COMMON, V.ORIG, 40, 65, 82, 100)
 	self:AddRecipeFlags(2394, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(2394, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2394, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Barbaric Linen Vest -- 2395
 	AddRecipe(2395, 70, 2578, Q.COMMON, V.ORIG, 70, 95, 112, 130)
 	self:AddRecipeFlags(2395, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(2395, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2395, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Green Linen Shirt -- 2396
 	AddRecipe(2396, 70, 2579, Q.COMMON, V.ORIG, 70, 95, 112, 130)
 	self:AddRecipeFlags(2396, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(2396, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2396, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Reinforced Linen Cape -- 2397
 	AddRecipe(2397, 60, 2580, Q.COMMON, V.ORIG, 60, 85, 102, 120)
 	self:AddRecipeFlags(2397, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOAK)
-	self:AddRecipeAcquire(2397, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2397, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Green Woolen Vest -- 2399
 	AddRecipe(2399, 85, 2582, Q.COMMON, V.ORIG, 85, 110, 127, 145)
 	self:AddRecipeFlags(2399, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(2399, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2399, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Woolen Boots -- 2401
 	AddRecipe(2401, 95, 2583, Q.COMMON, V.ORIG, 95, 120, 137, 155)
 	self:AddRecipeFlags(2401, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(2401, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2401, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Woolen Cape -- 2402
 	AddRecipe(2402, 75, 2584, Q.COMMON, V.ORIG, 75, 100, 117, 135)
 	self:AddRecipeFlags(2402, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOAK)
-	self:AddRecipeAcquire(2402, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2402, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Gray Woolen Robe -- 2403
 	AddRecipe(2403, 105, 2585, Q.UNCOMMON, V.ORIG, 105, 130, 147, 165)
@@ -123,7 +123,7 @@ function addon:InitTailoring()
 	-- Gray Woolen Shirt -- 2406
 	AddRecipe(2406, 100, 2587, Q.COMMON, V.ORIG, 100, 110, 120, 130)
 	self:AddRecipeFlags(2406, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(2406, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2406, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Bolt of Linen Cloth -- 2963
 	AddRecipe(2963, 1, 2996, Q.COMMON, V.ORIG, 1, 25, 37, 50)
@@ -133,17 +133,17 @@ function addon:InitTailoring()
 	-- Bolt of Woolen Cloth -- 2964
 	AddRecipe(2964, 75, 2997, Q.COMMON, V.ORIG, 75, 90, 97, 105)
 	self:AddRecipeFlags(2964, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(2964, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(2964, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Linen Bag -- 3755
 	AddRecipe(3755, 45, 4238, Q.COMMON, V.ORIG, 45, 70, 87, 105)
 	self:AddRecipeFlags(3755, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3755, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3704, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3755, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 3704, 11052, 28699, 18772, 4193, 2627, 11557, 16729, 17487, 1346, 26914, 4159, 3363, 16640, 2399)

 	-- Woolen Bag -- 3757
 	AddRecipe(3757, 80, 4240, Q.COMMON, V.ORIG, 80, 105, 122, 140)
 	self:AddRecipeFlags(3757, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3757, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3757, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Green Woolen Bag -- 3758
 	AddRecipe(3758, 95, 4241, Q.UNCOMMON, V.ORIG, 95, 120, 137, 155)
@@ -153,32 +153,32 @@ function addon:InitTailoring()
 	-- Small Silk Pack -- 3813
 	AddRecipe(3813, 150, 4245, Q.COMMON, V.ORIG, 150, 170, 185, 200)
 	self:AddRecipeFlags(3813, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3813, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3813, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Bolt of Silk Cloth -- 3839
 	AddRecipe(3839, 125, 4305, Q.COMMON, V.ORIG, 125, 135, 140, 145)
 	self:AddRecipeFlags(3839, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(3839, A.TRAINER, 1346, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 11052, A.TRAINER, 2399, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3839, 28699, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 2399, 5153, 11052, 27001, 4576, 33636, 3704, 33613, 1103, 17487, 2627, 11557, 16729, 33580, 1346, 26914, 4159, 3363, 3484, 16640)

 	-- Heavy Linen Gloves -- 3840
 	AddRecipe(3840, 35, 4307, Q.COMMON, V.ORIG, 35, 60, 77, 95)
 	self:AddRecipeFlags(3840, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(3840, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3840, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Green Linen Bracers -- 3841
 	AddRecipe(3841, 60, 4308, Q.COMMON, V.ORIG, 60, 85, 102, 120)
 	self:AddRecipeFlags(3841, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(3841, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3841, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Handstitched Linen Britches -- 3842
 	AddRecipe(3842, 70, 4309, Q.COMMON, V.ORIG, 70, 95, 112, 130)
 	self:AddRecipeFlags(3842, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(3842, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3842, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Heavy Woolen Gloves -- 3843
 	AddRecipe(3843, 85, 4310, Q.COMMON, V.ORIG, 85, 110, 127, 145)
 	self:AddRecipeFlags(3843, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(3843, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3843, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Heavy Woolen Cloak -- 3844
 	AddRecipe(3844, 100, 4311, Q.UNCOMMON, V.ORIG, 100, 125, 142, 160)
@@ -188,7 +188,7 @@ function addon:InitTailoring()
 	-- Soft-soled Linen Boots -- 3845
 	AddRecipe(3845, 80, 4312, Q.COMMON, V.ORIG, 80, 105, 122, 140)
 	self:AddRecipeFlags(3845, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(3845, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3845, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Red Woolen Boots -- 3847
 	AddRecipe(3847, 95, 4313, Q.UNCOMMON, V.ORIG, 95, 120, 137, 155)
@@ -198,7 +198,7 @@ function addon:InitTailoring()
 	-- Double-stitched Woolen Shoulders -- 3848
 	AddRecipe(3848, 110, 4314, Q.COMMON, V.ORIG, 110, 135, 152, 170)
 	self:AddRecipeFlags(3848, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(3848, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3848, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Reinforced Woolen Shoulders -- 3849
 	AddRecipe(3849, 120, 4315, Q.UNCOMMON, V.ORIG, 120, 145, 162, 180)
@@ -208,7 +208,7 @@ function addon:InitTailoring()
 	-- Heavy Woolen Pants -- 3850
 	AddRecipe(3850, 110, 4316, Q.COMMON, V.ORIG, 110, 135, 152, 170)
 	self:AddRecipeFlags(3850, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(3850, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3850, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Phoenix Pants -- 3851
 	AddRecipe(3851, 125, 4317, Q.UNCOMMON, V.ORIG, 125, 150, 167, 185)
@@ -218,17 +218,17 @@ function addon:InitTailoring()
 	-- Gloves of Meditation -- 3852
 	AddRecipe(3852, 130, 4318, Q.COMMON, V.ORIG, 130, 150, 165, 180)
 	self:AddRecipeFlags(3852, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(3852, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3852, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Azure Silk Gloves -- 3854
 	AddRecipe(3854, 145, 4319, Q.COMMON, V.ORIG, 145, 165, 180, 195)
 	self:AddRecipeFlags(3854, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(3854, A.VENDOR, 2679, A.VENDOR, 9636)
+	self:AddRecipeVendor(3854, 2679, 9636)

 	-- Spidersilk Boots -- 3855
 	AddRecipe(3855, 125, 4320, Q.COMMON, V.ORIG, 125, 150, 167, 185)
 	self:AddRecipeFlags(3855, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(3855, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3855, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Spider Silk Slippers -- 3856
 	AddRecipe(3856, 140, 4321, Q.UNCOMMON, V.ORIG, 140, 160, 175, 190)
@@ -238,7 +238,7 @@ function addon:InitTailoring()
 	-- Enchanter's Cowl -- 3857
 	AddRecipe(3857, 165, 4322, Q.COMMON, V.ORIG, 165, 185, 200, 215)
 	self:AddRecipeFlags(3857, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(3857, A.VENDOR, 2670)
+	self:AddRecipeVendor(3857, 2670)

 	-- Shadow Hood -- 3858
 	AddRecipe(3858, 170, 4323, Q.UNCOMMON, V.ORIG, 170, 190, 205, 220)
@@ -248,7 +248,7 @@ function addon:InitTailoring()
 	-- Azure Silk Vest -- 3859
 	AddRecipe(3859, 150, 4324, Q.COMMON, V.ORIG, 150, 170, 185, 200)
 	self:AddRecipeFlags(3859, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(3859, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3859, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Boots of the Enchanter -- 3860
 	AddRecipe(3860, 175, 4325, Q.UNCOMMON, V.ORIG, 175, 195, 210, 225)
@@ -258,12 +258,12 @@ function addon:InitTailoring()
 	-- Long Silken Cloak -- 3861
 	AddRecipe(3861, 185, 4326, Q.COMMON, V.ORIG, 185, 205, 220, 235)
 	self:AddRecipeFlags(3861, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(3861, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3861, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Icy Cloak -- 3862
 	AddRecipe(3862, 200, 4327, Q.COMMON, V.ORIG, 200, 220, 235, 250)
 	self:AddRecipeFlags(3862, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(3862, A.VENDOR, 2381)
+	self:AddRecipeVendor(3862, 2381)

 	-- Spider Belt -- 3863
 	AddRecipe(3863, 180, 4328, Q.UNCOMMON, V.ORIG, 180, 200, 215, 230)
@@ -278,12 +278,12 @@ function addon:InitTailoring()
 	-- Bolt of Mageweave -- 3865
 	AddRecipe(3865, 175, 4339, Q.COMMON, V.ORIG, 175, 180, 182, 185)
 	self:AddRecipeFlags(3865, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3865, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3865, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Stylish Red Shirt -- 3866
 	AddRecipe(3866, 110, 4330, Q.COMMON, V.ORIG, 110, 135, 152, 170)
 	self:AddRecipeFlags(3866, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3866, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3866, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Phoenix Gloves -- 3868
 	AddRecipe(3868, 125, 4331, Q.UNCOMMON, V.ORIG, 125, 150, 167, 185)
@@ -293,17 +293,17 @@ function addon:InitTailoring()
 	-- Bright Yellow Shirt -- 3869
 	AddRecipe(3869, 135, 4332, Q.COMMON, V.ORIG, 135, 145, 150, 155)
 	self:AddRecipeFlags(3869, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(3869, A.VENDOR, 2668)
+	self:AddRecipeVendor(3869, 2668)

 	-- Dark Silk Shirt -- 3870
 	AddRecipe(3870, 155, 4333, Q.COMMON, V.ORIG, 155, 165, 170, 175)
 	self:AddRecipeFlags(3870, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(3870, A.VENDOR, 2394, A.VENDOR, 2669)
+	self:AddRecipeVendor(3870, 2394, 2669)

 	-- Formal White Shirt -- 3871
 	AddRecipe(3871, 170, 4334, Q.COMMON, V.ORIG, 170, 180, 185, 190)
 	self:AddRecipeFlags(3871, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3871, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3871, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Rich Purple Silk Shirt -- 3872
 	AddRecipe(3872, 185, 4335, Q.RARE, V.ORIG, 185, 195, 200, 205)
@@ -313,12 +313,12 @@ function addon:InitTailoring()
 	-- Black Swashbuckler's Shirt -- 3873
 	AddRecipe(3873, 200, 4336, Q.COMMON, V.ORIG, 200, 210, 215, 220)
 	self:AddRecipeFlags(3873, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(3873, A.VENDOR, 2663)
+	self:AddRecipeVendor(3873, 2663)

 	-- Brown Linen Pants -- 3914
 	AddRecipe(3914, 30, 4343, Q.COMMON, V.ORIG, 30, 55, 72, 90)
 	self:AddRecipeFlags(3914, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(3914, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(3914, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Brown Linen Shirt -- 3915
 	AddRecipe(3915, 1, 4344, Q.COMMON, V.ORIG, 1, 35, 47, 60)
@@ -328,27 +328,29 @@ function addon:InitTailoring()
 	-- Pearl-clasped Cloak -- 6521
 	AddRecipe(6521, 90, 5542, Q.COMMON, V.ORIG, 90, 115, 132, 150)
 	self:AddRecipeFlags(6521, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOAK)
-	self:AddRecipeAcquire(6521, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(6521, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Red Linen Bag -- 6686
 	AddRecipe(6686, 70, 5762, Q.COMMON, V.ORIG, 70, 95, 112, 130)
 	self:AddRecipeFlags(6686, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(6686, A.MOB, 590, A.MOB, 3530, A.MOB, 3531, A.VENDOR, 843, A.VENDOR, 3005, A.VENDOR, 4189, A.VENDOR, 16224, A.VENDOR, 3556)
+	self:AddRecipeMobDrop(6686, 3531, 3530, 590)
+	self:AddRecipeVendor(6686, 16224, 843, 3005, 3556, 4189)

 	-- Red Woolen Bag -- 6688
 	AddRecipe(6688, 115, 5763, Q.COMMON, V.ORIG, 115, 140, 157, 175)
 	self:AddRecipeFlags(6688, F.ALLIANCE, F.HORDE, F.VENDOR, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(6688, A.MOB, 450, A.MOB, 2264, A.VENDOR, 777, A.VENDOR, 1454, A.VENDOR, 1474, A.VENDOR, 3005, A.VENDOR, 3364, A.VENDOR, 3485, A.VENDOR, 3537, A.VENDOR, 3683, A.VENDOR, 4189, A.VENDOR, 4577, A.VENDOR, 5944)
+	self:AddRecipeMobDrop(6688, 450, 2264)
+	self:AddRecipeVendor(6688, 3683, 1474, 4189, 3364, 3537, 777, 5944, 1454, 4577, 3485, 3005)

 	-- Lesser Wizard's Robe -- 6690
 	AddRecipe(6690, 135, 5766, Q.COMMON, V.ORIG, 135, 155, 170, 185)
 	self:AddRecipeFlags(6690, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(6690, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(6690, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Robes of Arcana -- 6692
 	AddRecipe(6692, 150, 5770, Q.UNCOMMON, V.ORIG, 150, 170, 185, 200)
 	self:AddRecipeFlags(6692, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(6692, A.MOB, 910, A.MOB, 2337, A.MOB, 10760)
+	self:AddRecipeMobDrop(6692, 2337, 10760, 910)

 	-- Green Silk Pack -- 6693
 	AddRecipe(6693, 175, 5764, Q.UNCOMMON, V.ORIG, 175, 195, 210, 225)
@@ -358,17 +360,17 @@ function addon:InitTailoring()
 	-- Black Silk Pack -- 6695
 	AddRecipe(6695, 185, 5765, Q.UNCOMMON, V.ORIG, 185, 205, 220, 235)
 	self:AddRecipeFlags(6695, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(6695, A.MOB, 2242, A.MOB, 2434, A.MOB, 4834)
+	self:AddRecipeMobDrop(6695, 4834, 2434, 2242)

 	-- Brown Linen Robe -- 7623
 	AddRecipe(7623, 30, 6238, Q.COMMON, V.ORIG, 30, 55, 72, 90)
 	self:AddRecipeFlags(7623, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(7623, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(7623, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- White Linen Robe -- 7624
 	AddRecipe(7624, 30, 6241, Q.COMMON, V.ORIG, 30, 55, 72, 90)
 	self:AddRecipeFlags(7624, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(7624, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(7624, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Red Linen Vest -- 7629
 	AddRecipe(7629, 55, 6239, Q.UNCOMMON, V.ORIG, 55, 80, 97, 115)
@@ -378,22 +380,22 @@ function addon:InitTailoring()
 	-- Blue Linen Vest -- 7630
 	AddRecipe(7630, 55, 6240, Q.COMMON, V.ORIG, 55, 80, 97, 115)
 	self:AddRecipeFlags(7630, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(7630, A.VENDOR, 66, A.VENDOR, 3364, A.VENDOR, 3485, A.VENDOR, 3522, A.VENDOR, 4189)
+	self:AddRecipeVendor(7630, 3364, 4189, 3485, 3522, 66)

 	-- Blue Linen Robe -- 7633
 	AddRecipe(7633, 70, 6242, Q.COMMON, V.ORIG, 70, 95, 112, 130)
 	self:AddRecipeFlags(7633, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(7633, A.VENDOR, 1250, A.VENDOR, 3485, A.VENDOR, 4168, A.VENDOR, 3499, A.VENDOR, 3556)
+	self:AddRecipeVendor(7633, 4168, 3499, 3556, 1250, 3485)

 	-- Blue Overalls -- 7639
 	AddRecipe(7639, 100, 6263, Q.COMMON, V.ORIG, 100, 125, 142, 160)
 	self:AddRecipeFlags(7639, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(7639, A.VENDOR, 843, A.VENDOR, 1347, A.VENDOR, 2394, A.VENDOR, 3364, A.VENDOR, 5944)
+	self:AddRecipeVendor(7639, 3364, 843, 5944, 1347, 2394)

 	-- Greater Adept's Robe -- 7643
 	AddRecipe(7643, 115, 6264, Q.COMMON, V.ORIG, 115, 140, 157, 175)
 	self:AddRecipeFlags(7643, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(7643, A.VENDOR, 1454, A.VENDOR, 1474, A.VENDOR, 4168, A.VENDOR, 2669, A.VENDOR, 3499, A.VENDOR, 4577)
+	self:AddRecipeVendor(7643, 1474, 3499, 1454, 2669, 4577, 4168)

 	-- Stylish Blue Shirt -- 7892
 	AddRecipe(7892, 120, 6384, Q.UNCOMMON, V.ORIG, 120, 145, 162, 180)
@@ -408,67 +410,67 @@ function addon:InitTailoring()
 	-- Simple Dress -- 8465
 	AddRecipe(8465, 40, 6786, Q.COMMON, V.ORIG, 40, 65, 82, 100)
 	self:AddRecipeFlags(8465, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(8465, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8465, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- White Woolen Dress -- 8467
 	AddRecipe(8467, 110, 6787, Q.COMMON, V.ORIG, 110, 135, 152, 170)
 	self:AddRecipeFlags(8467, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(8467, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8467, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- White Swashbuckler's Shirt -- 8483
 	AddRecipe(8483, 160, 6795, Q.COMMON, V.ORIG, 160, 170, 175, 180)
 	self:AddRecipeFlags(8483, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(8483, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8483, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Red Swashbuckler's Shirt -- 8489
 	AddRecipe(8489, 175, 6796, Q.COMMON, V.ORIG, 175, 185, 190, 195)
 	self:AddRecipeFlags(8489, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(8489, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8489, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Azure Silk Pants -- 8758
 	AddRecipe(8758, 140, 7046, Q.COMMON, V.ORIG, 140, 160, 175, 190)
 	self:AddRecipeFlags(8758, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(8758, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8758, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Azure Silk Hood -- 8760
 	AddRecipe(8760, 145, 7048, Q.COMMON, V.ORIG, 145, 155, 160, 165)
 	self:AddRecipeFlags(8760, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(8760, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 3484, A.TRAINER, 33580, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8760, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 26969, 18772, 33636, 5153, 33613, 27001, 4576, 1103, 11052, 33580, 3484, 17487, 2627, 11557, 16729, 28699, 1346, 26914, 4159, 3363, 16640, 3704)

 	-- Silk Headband -- 8762
 	AddRecipe(8762, 160, 7050, Q.COMMON, V.ORIG, 160, 170, 175, 180)
 	self:AddRecipeFlags(8762, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(8762, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8762, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Earthen Vest -- 8764
 	AddRecipe(8764, 170, 7051, Q.COMMON, V.ORIG, 170, 190, 205, 220)
 	self:AddRecipeFlags(8764, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(8764, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8764, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Azure Silk Belt -- 8766
 	AddRecipe(8766, 175, 7052, Q.COMMON, V.ORIG, 175, 195, 210, 225)
 	self:AddRecipeFlags(8766, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(8766, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 4159, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8766, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3363, 27001, 4576, 4159, 11052, 33636, 33613, 17487, 33580, 11557, 16729, 28699, 18772, 26914, 1103, 2627, 3704, 3484)

 	-- Robe of Power -- 8770
 	AddRecipe(8770, 190, 7054, Q.COMMON, V.ORIG, 190, 210, 225, 240)
 	self:AddRecipeFlags(8770, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(8770, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 4159, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8770, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3363, 27001, 4576, 4159, 11052, 33636, 33613, 17487, 33580, 11557, 16729, 28699, 18772, 26914, 1103, 2627, 3704, 3484)

 	-- Crimson Silk Belt -- 8772
 	AddRecipe(8772, 175, 7055, Q.COMMON, V.ORIG, 175, 195, 210, 225)
 	self:AddRecipeFlags(8772, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(8772, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8772, 2399, 33684, 18749, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Green Silken Shoulders -- 8774
 	AddRecipe(8774, 180, 7057, Q.COMMON, V.ORIG, 180, 200, 215, 230)
 	self:AddRecipeFlags(8774, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(8774, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 4159, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8774, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3363, 27001, 4576, 4159, 11052, 33636, 33613, 17487, 33580, 11557, 16729, 28699, 18772, 26914, 1103, 2627, 3704, 3484)

 	-- Linen Belt -- 8776
 	AddRecipe(8776, 15, 7026, Q.COMMON, V.ORIG, 15, 50, 67, 85)
 	self:AddRecipeFlags(8776, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(8776, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8776, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Hands of Darkness -- 8780
 	AddRecipe(8780, 145, 7047, Q.UNCOMMON, V.ORIG, 145, 165, 180, 195)
@@ -488,17 +490,17 @@ function addon:InitTailoring()
 	-- Azure Silk Cloak -- 8786
 	AddRecipe(8786, 175, 7053, Q.COMMON, V.ORIG, 175, 195, 210, 225)
 	self:AddRecipeFlags(8786, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(8786, A.VENDOR, 6574, A.VENDOR, 6576)
+	self:AddRecipeVendor(8786, 6574, 6576)

 	-- Crimson Silk Cloak -- 8789
 	AddRecipe(8789, 180, 7056, Q.COMMON, V.ORIG, 180, 200, 215, 230)
 	self:AddRecipeFlags(8789, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOAK)
-	self:AddRecipeAcquire(8789, A.VENDOR, 2670)
+	self:AddRecipeVendor(8789, 2670)

 	-- Crimson Silk Vest -- 8791
 	AddRecipe(8791, 185, 7058, Q.COMMON, V.ORIG, 185, 205, 215, 225)
 	self:AddRecipeFlags(8791, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(8791, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 4159, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8791, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3363, 27001, 4576, 4159, 11052, 33636, 33613, 17487, 33580, 11557, 16729, 28699, 18772, 26914, 1103, 2627, 3704, 3484)

 	-- Crimson Silk Shoulders -- 8793
 	AddRecipe(8793, 190, 7059, Q.UNCOMMON, V.ORIG, 190, 210, 225, 240)
@@ -518,17 +520,17 @@ function addon:InitTailoring()
 	-- Crimson Silk Pantaloons -- 8799
 	AddRecipe(8799, 195, 7062, Q.COMMON, V.ORIG, 195, 215, 225, 235)
 	self:AddRecipeFlags(8799, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(8799, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8799, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Crimson Silk Robe -- 8802
 	AddRecipe(8802, 205, 7063, Q.COMMON, V.ORIG, 205, 220, 235, 250)
 	self:AddRecipeFlags(8802, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(8802, A.VENDOR, 6568)
+	self:AddRecipeVendor(8802, 6568)

 	-- Crimson Silk Gloves -- 8804
 	AddRecipe(8804, 210, 7064, Q.COMMON, V.ORIG, 210, 225, 240, 255)
 	self:AddRecipeFlags(8804, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(8804, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 27001, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(8804, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Simple Linen Pants -- 12044
 	AddRecipe(12044, 1, 10045, Q.COMMON, V.ORIG, 1, 35, 47, 60)
@@ -538,12 +540,12 @@ function addon:InitTailoring()
 	-- Simple Linen Boots -- 12045
 	AddRecipe(12045, 20, 10046, Q.COMMON, V.ORIG, 20, 50, 67, 85)
 	self:AddRecipeFlags(12045, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(12045, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12045, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Simple Kilt -- 12046
 	AddRecipe(12046, 75, 10047, Q.COMMON, V.ORIG, 75, 100, 117, 135)
 	self:AddRecipeFlags(12046, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12046, A.TRAINER, 1103, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 2627, A.TRAINER, 3004, A.TRAINER, 3363, A.TRAINER, 3484, A.TRAINER, 3523, A.TRAINER, 3704, A.TRAINER, 4159, A.TRAINER, 4193, A.TRAINER, 4576, A.TRAINER, 5153, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 16366, A.TRAINER, 16640, A.TRAINER, 16729, A.TRAINER, 17487, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12046, 3484, 33684, 18749, 3523, 26964, 26969, 16366, 3004, 1103, 33636, 33613, 5153, 33580, 27001, 4576, 28699, 11052, 18772, 17487, 4193, 2627, 11557, 16729, 16640, 1346, 26914, 4159, 3363, 3704, 2399)

 	-- Colorful Kilt -- 12047
 	AddRecipe(12047, 120, 10048, Q.UNCOMMON, V.ORIG, 120, 145, 162, 180)
@@ -553,32 +555,32 @@ function addon:InitTailoring()
 	-- Black Mageweave Vest -- 12048
 	AddRecipe(12048, 205, 9998, Q.COMMON, V.ORIG, 205, 220, 235, 250)
 	self:AddRecipeFlags(12048, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12048, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12048, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Black Mageweave Leggings -- 12049
 	AddRecipe(12049, 205, 9999, Q.COMMON, V.ORIG, 205, 220, 235, 250)
 	self:AddRecipeFlags(12049, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12049, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12049, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Black Mageweave Robe -- 12050
 	AddRecipe(12050, 210, 10001, Q.COMMON, V.ORIG, 210, 225, 240, 255)
 	self:AddRecipeFlags(12050, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12050, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12050, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Shadoweave Pants -- 12052
 	AddRecipe(12052, 210, 10002, Q.COMMON, V.ORIG, 210, 225, 240, 255)
 	self:AddRecipeFlags(12052, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12052, A.TRAINER, 4578, A.TRAINER, 9584)
+	self:AddRecipeTrainer(12052, 4578, 9584)

 	-- Black Mageweave Gloves -- 12053
 	AddRecipe(12053, 215, 10003, Q.COMMON, V.ORIG, 215, 230, 245, 260)
 	self:AddRecipeFlags(12053, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12053, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12053, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Shadoweave Robe -- 12055
 	AddRecipe(12055, 215, 10004, Q.COMMON, V.ORIG, 215, 230, 245, 260)
 	self:AddRecipeFlags(12055, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12055, A.TRAINER, 4578, A.TRAINER, 9584)
+	self:AddRecipeTrainer(12055, 4578, 9584)

 	-- Red Mageweave Vest -- 12056
 	AddRecipe(12056, 215, 10007, Q.UNCOMMON, V.ORIG, 215, 230, 245, 260)
@@ -598,17 +600,17 @@ function addon:InitTailoring()
 	-- Orange Mageweave Shirt -- 12061
 	AddRecipe(12061, 215, 10056, Q.COMMON, V.ORIG, 215, 220, 225, 230)
 	self:AddRecipeFlags(12061, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12061, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12061, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Orange Martial Shirt -- 12064
 	AddRecipe(12064, 220, 10052, Q.COMMON, V.ORIG, 220, 225, 230, 235)
 	self:AddRecipeFlags(12064, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(12064, A.VENDOR, 3005, A.VENDOR, 4168)
+	self:AddRecipeVendor(12064, 3005, 4168)

 	-- Mageweave Bag -- 12065
 	AddRecipe(12065, 225, 10050, Q.COMMON, V.ORIG, 225, 240, 255, 270)
 	self:AddRecipeFlags(12065, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12065, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12065, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Red Mageweave Gloves -- 12066
 	AddRecipe(12066, 225, 10018, Q.UNCOMMON, V.ORIG, 225, 240, 255, 270)
@@ -618,52 +620,52 @@ function addon:InitTailoring()
 	-- Dreamweave Gloves -- 12067
 	AddRecipe(12067, 225, 10019, Q.COMMON, V.ORIG, 225, 240, 255, 270)
 	self:AddRecipeFlags(12067, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12067, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12067, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Cindercloth Robe -- 12069
 	AddRecipe(12069, 225, 10042, Q.COMMON, V.ORIG, 225, 240, 255, 270)
 	self:AddRecipeFlags(12069, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12069, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12069, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Dreamweave Vest -- 12070
 	AddRecipe(12070, 225, 10021, Q.COMMON, V.ORIG, 225, 240, 255, 270)
 	self:AddRecipeFlags(12070, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12070, A.TRAINER, 1346, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12070, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1346, 16640, 26969, 3704, 27001, 4576, 33636, 11052, 33613, 1103, 17487, 33580, 11557, 16729, 3363, 18772, 26914, 4159, 28699, 2627, 3484)

 	-- Shadoweave Gloves -- 12071
 	AddRecipe(12071, 225, 10023, Q.COMMON, V.ORIG, 225, 240, 255, 270)
 	self:AddRecipeFlags(12071, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12071, A.TRAINER, 4578, A.TRAINER, 9584)
+	self:AddRecipeTrainer(12071, 4578, 9584)

 	-- Black Mageweave Headband -- 12072
 	AddRecipe(12072, 230, 10024, Q.COMMON, V.ORIG, 230, 245, 260, 275)
 	self:AddRecipeFlags(12072, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12072, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12072, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1103, 16640, 26969, 4576, 27001, 33636, 28699, 11052, 33613, 1346, 17487, 33580, 11557, 16729, 18772, 3363, 26914, 4159, 2627, 3704, 3484)

 	-- Black Mageweave Boots -- 12073
 	AddRecipe(12073, 230, 10026, Q.COMMON, V.ORIG, 230, 245, 260, 275)
 	self:AddRecipeFlags(12073, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12073, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12073, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1103, 16640, 26969, 4576, 27001, 33636, 28699, 11052, 33613, 1346, 17487, 33580, 11557, 16729, 18772, 3363, 26914, 4159, 2627, 3704, 3484)

 	-- Black Mageweave Shoulders -- 12074
 	AddRecipe(12074, 230, 10027, Q.COMMON, V.ORIG, 230, 245, 260, 275)
 	self:AddRecipeFlags(12074, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12074, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12074, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1103, 16640, 26969, 4576, 27001, 33636, 28699, 11052, 33613, 1346, 17487, 33580, 11557, 16729, 18772, 3363, 26914, 4159, 2627, 3704, 3484)

 	-- Lavender Mageweave Shirt -- 12075
 	AddRecipe(12075, 230, 10054, Q.COMMON, V.ORIG, 230, 235, 240, 245)
 	self:AddRecipeFlags(12075, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(12075, A.VENDOR, 3364, A.VENDOR, 8681)
+	self:AddRecipeVendor(12075, 3364, 8681)

 	-- Shadoweave Shoulders -- 12076
 	AddRecipe(12076, 235, 10028, Q.COMMON, V.ORIG, 235, 250, 265, 280)
 	self:AddRecipeFlags(12076, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12076, A.TRAINER, 4578, A.TRAINER, 9584)
+	self:AddRecipeTrainer(12076, 4578, 9584)

 	-- Simple Black Dress -- 12077
 	AddRecipe(12077, 235, 10053, Q.COMMON, V.ORIG, 235, 240, 245, 250)
 	self:AddRecipeFlags(12077, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12077, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12077, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1103, 16640, 26969, 4576, 27001, 33636, 28699, 11052, 33613, 1346, 17487, 33580, 11557, 16729, 18772, 3363, 26914, 4159, 2627, 3704, 3484)

 	-- Red Mageweave Shoulders -- 12078
 	AddRecipe(12078, 235, 10029, Q.UNCOMMON, V.ORIG, 235, 250, 265, 280)
@@ -673,22 +675,22 @@ function addon:InitTailoring()
 	-- Red Mageweave Bag -- 12079
 	AddRecipe(12079, 235, 10051, Q.COMMON, V.ORIG, 235, 250, 265, 280)
 	self:AddRecipeFlags(12079, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(12079, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523)
+	self:AddRecipeTrainer(12079, 2399, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1103, 16640, 26969, 4576, 27001, 33636, 28699, 11052, 33613, 1346, 17487, 33580, 11557, 16729, 18772, 3363, 26914, 4159, 2627, 3704, 3484)

 	-- Pink Mageweave Shirt -- 12080
 	AddRecipe(12080, 235, 10055, Q.COMMON, V.ORIG, 235, 240, 245, 250)
 	self:AddRecipeFlags(12080, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(12080, A.VENDOR, 3364, A.VENDOR, 8681)
+	self:AddRecipeVendor(12080, 3364, 8681)

 	-- Admiral's Hat -- 12081
 	AddRecipe(12081, 240, 10030, Q.COMMON, V.ORIG, 240, 255, 270, 285)
 	self:AddRecipeFlags(12081, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(12081, A.VENDOR, 2672)
+	self:AddRecipeVendor(12081, 2672)

 	-- Shadoweave Boots -- 12082
 	AddRecipe(12082, 240, 10031, Q.COMMON, V.ORIG, 240, 255, 270, 285)
 	self:AddRecipeFlags(12082, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12082, A.TRAINER, 4578, A.TRAINER, 9584)
+	self:AddRecipeTrainer(12082, 4578, 9584)

 	-- Red Mageweave Headband -- 12084
 	AddRecipe(12084, 240, 10033, Q.UNCOMMON, V.ORIG, 240, 255, 270, 285)
@@ -698,7 +700,7 @@ function addon:InitTailoring()
 	-- Tuxedo Shirt -- 12085
 	AddRecipe(12085, 240, 10034, Q.COMMON, V.ORIG, 240, 245, 250, 255)
 	self:AddRecipeFlags(12085, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(12085, A.VENDOR, 4577, A.VENDOR, 8681)
+	self:AddRecipeVendor(12085, 4577, 8681)

 	-- Shadoweave Mask -- 12086
 	AddRecipe(12086, 245, 10025, Q.UNCOMMON, V.ORIG, 245, 260, 275, 290)
@@ -708,42 +710,42 @@ function addon:InitTailoring()
 	-- Cindercloth Boots -- 12088
 	AddRecipe(12088, 245, 10044, Q.COMMON, V.ORIG, 245, 260, 275, 290)
 	self:AddRecipeFlags(12088, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12088, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12088, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1103, 16640, 26969, 4576, 27001, 33636, 28699, 11052, 33613, 1346, 17487, 33580, 11557, 16729, 18772, 3363, 26914, 4159, 2627, 3704, 3484)

 	-- Tuxedo Pants -- 12089
 	AddRecipe(12089, 245, 10035, Q.COMMON, V.ORIG, 245, 250, 255, 260)
 	self:AddRecipeFlags(12089, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(12089, A.VENDOR, 4577, A.VENDOR, 8681)
+	self:AddRecipeVendor(12089, 4577, 8681)

 	-- White Wedding Dress -- 12091
 	AddRecipe(12091, 250, 10040, Q.COMMON, V.ORIG, 250, 255, 260, 265)
 	self:AddRecipeFlags(12091, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(12091, A.VENDOR, 1347, A.VENDOR, 3005)
+	self:AddRecipeVendor(12091, 1347, 3005)

 	-- Dreamweave Circlet -- 12092
 	AddRecipe(12092, 250, 10041, Q.COMMON, V.ORIG, 250, 265, 280, 295)
 	self:AddRecipeFlags(12092, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(12092, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(12092, 2399, 33684, 18749, 3523, 26964, 16366, 3004, 1103, 5153, 16640, 26969, 4576, 27001, 33636, 28699, 11052, 33613, 1346, 4193, 33580, 11557, 16729, 18772, 3363, 26914, 4159, 2627, 3704, 3484)

 	-- Tuxedo Jacket -- 12093
 	AddRecipe(12093, 250, 10036, Q.COMMON, V.ORIG, 250, 265, 280, 295)
 	self:AddRecipeFlags(12093, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(12093, A.VENDOR, 4577, A.VENDOR, 8681)
+	self:AddRecipeVendor(12093, 4577, 8681)

 	-- Bolt of Runecloth -- 18401
 	AddRecipe(18401, 250, 14048, Q.COMMON, V.ORIG, 250, 255, 257, 260)
 	self:AddRecipeFlags(18401, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(18401, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(18401, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1103, 16640, 26969, 4576, 27001, 33636, 28699, 11052, 33613, 1346, 17487, 33580, 11557, 16729, 18772, 3363, 26914, 4159, 2627, 3704, 3484)

 	-- Runecloth Belt -- 18402
 	AddRecipe(18402, 255, 13856, Q.COMMON, V.ORIG, 255, 270, 285, 300)
 	self:AddRecipeFlags(18402, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18402, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 11557, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684)
+	self:AddRecipeTrainer(18402, 2399, 33684, 18749, 3523, 26964, 4193, 16366, 3004, 5153, 1103, 16640, 26969, 4576, 27001, 33636, 28699, 11052, 33613, 1346, 17487, 33580, 11557, 16729, 18772, 3363, 26914, 4159, 2627, 3704, 3484)

 	-- Frostweave Tunic -- 18403
 	AddRecipe(18403, 255, 13869, Q.UNCOMMON, V.ORIG, 255, 270, 285, 300)
 	self:AddRecipeFlags(18403, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18403, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18403, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Frostweave Robe -- 18404
 	AddRecipe(18404, 255, 13868, Q.UNCOMMON, V.ORIG, 255, 270, 285, 300)
@@ -753,122 +755,126 @@ function addon:InitTailoring()
 	-- Runecloth Bag -- 18405
 	AddRecipe(18405, 260, 14046, Q.COMMON, V.ORIG, 260, 275, 290, 305)
 	self:AddRecipeFlags(18405, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(18405, A.VENDOR, 11189)
+	self:AddRecipeVendor(18405, 11189)

 	-- Runecloth Robe -- 18406
 	AddRecipe(18406, 260, 13858, Q.COMMON, V.ORIG, 260, 275, 290, 305)
 	self:AddRecipeFlags(18406, F.ALLIANCE, F.HORDE, F.TRAINER, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18406, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.VENDOR, 7940, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18406, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)
+	self:AddRecipeVendor(18406, 7940)

 	-- Runecloth Tunic -- 18407
 	AddRecipe(18407, 260, 13857, Q.UNCOMMON, V.ORIG, 260, 275, 290, 305)
 	self:AddRecipeFlags(18407, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18407, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18407, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Cindercloth Vest -- 18408
 	AddRecipe(18408, 260, 14042, Q.UNCOMMON, V.ORIG, 260, 275, 290, 305)
 	self:AddRecipeFlags(18408, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18408, A.MOB, 5861)
+	self:AddRecipeMobDrop(18408, 5861)

 	-- Runecloth Cloak -- 18409
 	AddRecipe(18409, 265, 13860, Q.COMMON, V.ORIG, 265, 280, 295, 310)
 	self:AddRecipeFlags(18409, F.ALLIANCE, F.HORDE, F.TRAINER, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(18409, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.VENDOR, 7940, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18409, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)
+	self:AddRecipeVendor(18409, 7940)

 	-- Ghostweave Belt -- 18410
 	AddRecipe(18410, 265, 14143, Q.UNCOMMON, V.ORIG, 265, 280, 295, 310)
 	self:AddRecipeFlags(18410, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(18410, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18410, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Frostweave Gloves -- 18411
 	AddRecipe(18411, 265, 13870, Q.UNCOMMON, V.ORIG, 265, 280, 295, 310)
 	self:AddRecipeFlags(18411, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18411, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18411, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Cindercloth Gloves -- 18412
 	AddRecipe(18412, 270, 14043, Q.UNCOMMON, V.ORIG, 270, 285, 300, 315)
 	self:AddRecipeFlags(18412, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18412, A.MOB, 5861)
+	self:AddRecipeMobDrop(18412, 5861)

 	-- Ghostweave Gloves -- 18413
 	AddRecipe(18413, 270, 14142, Q.UNCOMMON, V.ORIG, 270, 285, 300, 315)
 	self:AddRecipeFlags(18413, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(18413, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18413, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Brightcloth Robe -- 18414
 	AddRecipe(18414, 270, 14100, Q.UNCOMMON, V.ORIG, 270, 285, 300, 315)
 	self:AddRecipeFlags(18414, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(18414, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18414, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Brightcloth Gloves -- 18415
 	AddRecipe(18415, 270, 14101, Q.UNCOMMON, V.ORIG, 270, 285, 300, 315)
 	self:AddRecipeFlags(18415, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(18415, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18415, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Ghostweave Vest -- 18416
 	AddRecipe(18416, 275, 14141, Q.UNCOMMON, V.ORIG, 275, 290, 305, 320)
 	self:AddRecipeFlags(18416, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(18416, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18416, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Runecloth Gloves -- 18417
 	AddRecipe(18417, 275, 13863, Q.COMMON, V.ORIG, 275, 290, 305, 320)
 	self:AddRecipeFlags(18417, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18417, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18417, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Cindercloth Cloak -- 18418
 	AddRecipe(18418, 275, 14044, Q.UNCOMMON, V.ORIG, 275, 290, 305, 320)
 	self:AddRecipeFlags(18418, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(18418, A.MOB, 7037)
+	self:AddRecipeMobDrop(18418, 7037)

 	-- Felcloth Pants -- 18419
 	AddRecipe(18419, 275, 14107, Q.COMMON, V.ORIG, 275, 290, 305, 320)
 	self:AddRecipeFlags(18419, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18419, A.VENDOR, 12022)
+	self:AddRecipeVendor(18419, 12022)

 	-- Brightcloth Cloak -- 18420
 	AddRecipe(18420, 275, 14103, Q.UNCOMMON, V.ORIG, 275, 290, 305, 320)
 	self:AddRecipeFlags(18420, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(18420, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18420, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Wizardweave Leggings -- 18421
 	AddRecipe(18421, 275, 14132, Q.UNCOMMON, V.ORIG, 275, 290, 305, 320)
 	self:AddRecipeFlags(18421, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(18421, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18421, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Cloak of Fire -- 18422
 	AddRecipe(18422, 275, 14134, Q.RARE, V.ORIG, 275, 290, 305, 320)
 	self:AddRecipeFlags(18422, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.CLOAK)
-	self:AddRecipeAcquire(18422, A.MOB, 9026)
+	self:AddRecipeMobDrop(18422, 9026)

 	-- Runecloth Boots -- 18423
 	AddRecipe(18423, 280, 13864, Q.COMMON, V.ORIG, 280, 295, 310, 325)
 	self:AddRecipeFlags(18423, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18423, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18423, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Frostweave Pants -- 18424
 	AddRecipe(18424, 280, 13871, Q.UNCOMMON, V.ORIG, 280, 295, 310, 325)
 	self:AddRecipeFlags(18424, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18424, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557, A.WORLD_DROP, 2)
+	self:AddRecipeTrainer(18424, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)
+	self:AddRecipeAcquire(18424, A.WORLD_DROP, 2)

 	-- Cindercloth Pants -- 18434
 	AddRecipe(18434, 280, 14045, Q.UNCOMMON, V.ORIG, 280, 295, 310, 325)
 	self:AddRecipeFlags(18434, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18434, A.MOB, 7037)
+	self:AddRecipeMobDrop(18434, 7037)

 	-- Robe of Winter Night -- 18436
 	AddRecipe(18436, 285, 14136, Q.RARE, V.ORIG, 285, 300, 315, 330)
 	self:AddRecipeFlags(18436, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18436, A.MOB, 7437)
+	self:AddRecipeMobDrop(18436, 7437)

 	-- Felcloth Boots -- 18437
 	AddRecipe(18437, 285, 14108, Q.UNCOMMON, V.ORIG, 285, 300, 315, 330)
 	self:AddRecipeFlags(18437, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18437, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18437, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Runecloth Pants -- 18438
 	AddRecipe(18438, 285, 13865, Q.UNCOMMON, V.ORIG, 285, 300, 315, 330)
 	self:AddRecipeFlags(18438, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18438, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557, A.WORLD_DROP, 2)
+	self:AddRecipeTrainer(18438, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)
+	self:AddRecipeAcquire(18438, A.WORLD_DROP, 2)

 	-- Brightcloth Pants -- 18439
 	AddRecipe(18439, 290, 14104, Q.UNCOMMON, V.ORIG, 290, 305, 320, 335)
@@ -883,17 +889,17 @@ function addon:InitTailoring()
 	-- Ghostweave Pants -- 18441
 	AddRecipe(18441, 290, 14144, Q.UNCOMMON, V.ORIG, 290, 305, 320, 335)
 	self:AddRecipeFlags(18441, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(18441, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18441, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Felcloth Hood -- 18442
 	AddRecipe(18442, 290, 14111, Q.UNCOMMON, V.ORIG, 290, 305, 320, 335)
 	self:AddRecipeFlags(18442, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18442, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18442, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Runecloth Headband -- 18444
 	AddRecipe(18444, 295, 13866, Q.UNCOMMON, V.ORIG, 295, 310, 325, 340)
 	self:AddRecipeFlags(18444, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18444, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18444, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Mooncloth Bag -- 18445
 	AddRecipe(18445, 300, 14155, Q.UNCOMMON, V.ORIG, 300, 315, 330, 345)
@@ -903,7 +909,7 @@ function addon:InitTailoring()
 	-- Wizardweave Robe -- 18446
 	AddRecipe(18446, 300, 14128, Q.UNCOMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(18446, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(18446, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18446, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Mooncloth Vest -- 18447
 	AddRecipe(18447, 300, 14138, Q.RARE, V.ORIG, 300, 315, 330, 345)
@@ -918,17 +924,19 @@ function addon:InitTailoring()
 	-- Runecloth Shoulders -- 18449
 	AddRecipe(18449, 300, 13867, Q.UNCOMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(18449, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18449, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557, A.WORLD_DROP, 2)
+	self:AddRecipeTrainer(18449, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)
+	self:AddRecipeAcquire(18449, A.WORLD_DROP, 2)

 	-- Wizardweave Turban -- 18450
 	AddRecipe(18450, 300, 14130, Q.UNCOMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(18450, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(18450, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(18450, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)

 	-- Felcloth Robe -- 18451
 	AddRecipe(18451, 300, 14106, Q.UNCOMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(18451, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18451, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557, A.WORLD_DROP, 2)
+	self:AddRecipeTrainer(18451, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)
+	self:AddRecipeAcquire(18451, A.WORLD_DROP, 2)

 	-- Mooncloth Circlet -- 18452
 	AddRecipe(18452, 300, 14140, Q.RARE, V.ORIG, 300, 315, 330, 345)
@@ -938,7 +946,8 @@ function addon:InitTailoring()
 	-- Felcloth Shoulders -- 18453
 	AddRecipe(18453, 300, 14112, Q.UNCOMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(18453, F.ALLIANCE, F.HORDE, F.TRAINER, F.WORLD_DROP, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18453, A.TRAINER, 2399, A.TRAINER, 11052, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 26969, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 26964, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557, A.WORLD_DROP, 2)
+	self:AddRecipeTrainer(18453, 28699, 33684, 18749, 3523, 11557, 26964, 16366, 3004, 4193, 5153, 16640, 26969, 18772, 27001, 33636, 4576, 11052, 3363, 33613, 17487, 2627, 1346, 16729, 4159, 33580, 26914, 1103, 3704, 3484, 2399)
+	self:AddRecipeAcquire(18453, A.WORLD_DROP, 2)

 	-- Gloves of Spell Mastery -- 18454
 	AddRecipe(18454, 300, 14146, Q.EPIC, V.ORIG, 300, 315, 330, 345)
@@ -953,22 +962,22 @@ function addon:InitTailoring()
 	-- Truefaith Vestments -- 18456
 	AddRecipe(18456, 300, 14154, Q.EPIC, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(18456, F.ALLIANCE, F.HORDE, F.INSTANCE, F.PRIEST, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18456, A.MOB, 10813)
+	self:AddRecipeMobDrop(18456, 10813)

 	-- Robe of the Archmage -- 18457
 	AddRecipe(18457, 300, 14152, Q.EPIC, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(18457, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOP, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18457, A.MOB, 9264)
+	self:AddRecipeMobDrop(18457, 9264)

 	-- Robe of the Void -- 18458
 	AddRecipe(18458, 300, 14153, Q.EPIC, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(18458, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOP, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(18458, A.MOB, 1853)
+	self:AddRecipeMobDrop(18458, 1853)

 	-- Mooncloth -- 18560
 	AddRecipe(18560, 250, 14342, Q.COMMON, V.ORIG, 250, 290, 305, 320)
 	self:AddRecipeFlags(18560, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(18560, A.VENDOR, 11189)
+	self:AddRecipeVendor(18560, 11189)

 	-- Mooncloth Boots -- 19435
 	AddRecipe(19435, 290, 15802, Q.RARE, V.ORIG, 290, 295, 310, 325)
@@ -978,12 +987,12 @@ function addon:InitTailoring()
 	-- Flarecore Mantle -- 20848
 	AddRecipe(20848, 300, 16980, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(20848, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(20848, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)
+	self:AddRecipeRepVendor(20848, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)

 	-- Flarecore Gloves -- 20849
 	AddRecipe(20849, 300, 16979, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(20849, F.ALLIANCE, F.HORDE, F.VENDOR, F.MAGE, F.PRIEST, F.WARLOCK, F.IBOE, F.RBOP, F.CLOTH, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(20849, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.FRIENDLY, 12944)
+	self:AddRecipeRepVendor(20849, FAC.THORIUM_BROTHERHOOD, REP.FRIENDLY, 12944)

 	-- Green Holiday Shirt -- 21945
 	AddRecipe(21945, 190, 17723, Q.COMMON, V.ORIG, 190, 200, 205, 210)
@@ -1028,52 +1037,52 @@ function addon:InitTailoring()
 	-- Mooncloth Robe -- 22902
 	AddRecipe(22902, 300, 18486, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(22902, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(22902, A.VENDOR, 14371)
+	self:AddRecipeVendor(22902, 14371)

 	-- Wisdom of the Timbermaw -- 23662
 	AddRecipe(23662, 290, 19047, Q.COMMON, V.ORIG, 290, 305, 320, 335)
 	self:AddRecipeFlags(23662, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOTH, F.TIMBERMAW_HOLD)
-	self:AddRecipeAcquire(23662, A.REPUTATION, FAC.TIMBERMAW_HOLD, REP.HONORED, 11557)
+	self:AddRecipeRepVendor(23662, FAC.TIMBERMAW_HOLD, REP.HONORED, 11557)

 	-- Mantle of the Timbermaw -- 23663
 	AddRecipe(23663, 300, 19050, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(23663, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOTH, F.TIMBERMAW_HOLD)
-	self:AddRecipeAcquire(23663, A.REPUTATION, FAC.TIMBERMAW_HOLD, REP.REVERED, 11557)
+	self:AddRecipeRepVendor(23663, FAC.TIMBERMAW_HOLD, REP.REVERED, 11557)

 	-- Argent Boots -- 23664
 	AddRecipe(23664, 290, 19056, Q.COMMON, V.ORIG, 290, 305, 320, 335)
 	self:AddRecipeFlags(23664, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.ARGENTDAWN)
-	self:AddRecipeAcquire(23664, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 10856, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 10857, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 11536)
+	self:AddRecipeRepVendor(23664, FAC.ARGENTDAWN, REP.HONORED, 10856, 11536, 10857)

 	-- Argent Shoulders -- 23665
 	AddRecipe(23665, 300, 19059, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(23665, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.ARGENTDAWN)
-	self:AddRecipeAcquire(23665, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 10856, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 10857, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 11536)
+	self:AddRecipeRepVendor(23665, FAC.ARGENTDAWN, REP.REVERED, 10856, 11536, 10857)

 	-- Flarecore Robe -- 23666
 	AddRecipe(23666, 300, 19156, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(23666, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23666, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)
+	self:AddRecipeRepVendor(23666, FAC.THORIUM_BROTHERHOOD, REP.HONORED, 12944)

 	-- Flarecore Leggings -- 23667
 	AddRecipe(23667, 300, 19165, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(23667, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.THORIUM_BROTHERHOOD)
-	self:AddRecipeAcquire(23667, A.REPUTATION, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)
+	self:AddRecipeRepVendor(23667, FAC.THORIUM_BROTHERHOOD, REP.REVERED, 12944)

 	-- Bloodvine Vest -- 24091
 	AddRecipe(24091, 300, 19682, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(24091, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.ZANDALAR)
-	self:AddRecipeAcquire(24091, A.REPUTATION, FAC.ZANDALAR, REP.REVERED, 14921)
+	self:AddRecipeRepVendor(24091, FAC.ZANDALAR, REP.REVERED, 14921)

 	-- Bloodvine Leggings -- 24092
 	AddRecipe(24092, 300, 19683, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(24092, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.ZANDALAR)
-	self:AddRecipeAcquire(24092, A.REPUTATION, FAC.ZANDALAR, REP.HONORED, 14921)
+	self:AddRecipeRepVendor(24092, FAC.ZANDALAR, REP.HONORED, 14921)

 	-- Bloodvine Boots -- 24093
 	AddRecipe(24093, 300, 19684, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(24093, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.ZANDALAR)
-	self:AddRecipeAcquire(24093, A.REPUTATION, FAC.ZANDALAR, REP.FRIENDLY, 14921)
+	self:AddRecipeRepVendor(24093, FAC.ZANDALAR, REP.FRIENDLY, 14921)

 	-- Runed Stygian Leggings -- 24901
 	AddRecipe(24901, 300, 20538, Q.RARE, V.ORIG, 300, 315, 330, 345)
@@ -1093,12 +1102,13 @@ function addon:InitTailoring()
 	-- Soul Pouch -- 26085
 	AddRecipe(26085, 260, 21340, Q.COMMON, V.ORIG, 260, 275, 290, 305)
 	self:AddRecipeFlags(26085, F.ALLIANCE, F.HORDE, F.VENDOR, F.WARLOCK, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(26085, A.VENDOR, 6568)
+	self:AddRecipeVendor(26085, 6568)

 	-- Felcloth Bag -- 26086
 	AddRecipe(26086, 280, 21341, Q.RARE, V.ORIG, 280, 300, 315, 330)
 	self:AddRecipeFlags(26086, F.ALLIANCE, F.HORDE, F.INSTANCE, F.WARLOCK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26086, A.MOB, 10503, A.CUSTOM, 30)
+	self:AddRecipeMobDrop(26086, 10503)
+	self:AddRecipeAcquire(26086, A.CUSTOM, 30)

 	-- Core Felcloth Bag -- 26087
 	AddRecipe(26087, 300, 21342, Q.RARE, V.ORIG, 300, 315, 330, 345)
@@ -1108,282 +1118,290 @@ function addon:InitTailoring()
 	-- Festival Dress -- 26403
 	AddRecipe(26403, 250, 21154, Q.UNCOMMON, V.ORIG, 250, 265, 280, 295)
 	self:AddRecipeFlags(26403, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(26403, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26403, 15909)
+	self:AddRecipeAcquire(26403, A.SEASONAL, 2)

 	-- Festive Red Pant Suit -- 26407
 	AddRecipe(26407, 250, 21542, Q.UNCOMMON, V.ORIG, 250, 265, 280, 295)
 	self:AddRecipeFlags(26407, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26407, A.SEASONAL, 2, A.VENDOR, 15909)
+	self:AddRecipeVendor(26407, 15909)
+	self:AddRecipeAcquire(26407, A.SEASONAL, 2)

 	-- Bolt of Netherweave -- 26745
 	AddRecipe(26745, 300, 21840, Q.COMMON, V.TBC, 300, 305, 315, 325)
 	self:AddRecipeFlags(26745, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26745, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(26745, 33613, 18749, 18772, 26914, 33684, 33580, 26964, 26969, 28699, 33636, 27001)

 	-- Netherweave Bag -- 26746
 	AddRecipe(26746, 315, 21841, Q.COMMON, V.TBC, 315, 320, 330, 340)
 	self:AddRecipeFlags(26746, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26746, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(26746, 33613, 18749, 18772, 26914, 33684, 33580, 26964, 26969, 28699, 33636, 27001)

 	-- Bolt of Imbued Netherweave -- 26747
 	AddRecipe(26747, 325, 21842, Q.COMMON, V.TBC, 325, 330, 335, 340)
 	self:AddRecipeFlags(26747, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(26747, A.VENDOR, 16638, A.VENDOR, 16767, A.VENDOR, 19213)
+	self:AddRecipeVendor(26747, 19213, 16767, 16638)

 	-- Imbued Netherweave Bag -- 26749
 	AddRecipe(26749, 340, 21843, Q.COMMON, V.TBC, 340, 340, 345, 350)
 	self:AddRecipeFlags(26749, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(26749, A.VENDOR, 19015, A.VENDOR, 19213)
+	self:AddRecipeVendor(26749, 19015, 19213)

 	-- Bolt of Soulcloth -- 26750
 	AddRecipe(26750, 345, 21844, Q.COMMON, V.TBC, 345, 345, 350, 355)
 	self:AddRecipeFlags(26750, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(26750, A.VENDOR, 16638, A.VENDOR, 16767, A.VENDOR, 19015, A.VENDOR, 19017)
+	self:AddRecipeVendor(26750, 19015, 19017, 16767, 16638)

 	-- Primal Mooncloth -- 26751
 	AddRecipe(26751, 350, 21845, Q.COMMON, V.TBC, 350, 350, 355, 360)
 	self:AddRecipeFlags(26751, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(26751, A.VENDOR, 22208, A.VENDOR, 29512)
+	self:AddRecipeVendor(26751, 22208, 29512)

 	-- Spellfire Belt -- 26752
 	AddRecipe(26752, 355, 21846, Q.COMMON, V.TBC, 355, 365, 370, 375, 26797)
 	self:AddRecipeFlags(26752, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26752, A.VENDOR, 22213, A.VENDOR, 29511)
+	self:AddRecipeVendor(26752, 22213, 29511)

 	-- Spellfire Gloves -- 26753
 	AddRecipe(26753, 365, 21847, Q.COMMON, V.TBC, 365, 375, 380, 385, 26797)
 	self:AddRecipeFlags(26753, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26753, A.VENDOR, 22213, A.VENDOR, 29511)
+	self:AddRecipeVendor(26753, 22213, 29511)

 	-- Spellfire Robe -- 26754
 	AddRecipe(26754, 375, 21848, Q.COMMON, V.TBC, 375, 385, 390, 395, 26797)
 	self:AddRecipeFlags(26754, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26754, A.VENDOR, 22213, A.VENDOR, 29511)
+	self:AddRecipeVendor(26754, 22213, 29511)

 	-- Spellfire Bag -- 26755
 	AddRecipe(26755, 375, 21858, Q.RARE, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(26755, F.ALLIANCE, F.HORDE, F.VENDOR, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26755, A.MOB, 20134, A.MOB, 20135, A.VENDOR, 22213, A.VENDOR, 29511)
+	self:AddRecipeMobDrop(26755, 20134, 20135)
+	self:AddRecipeVendor(26755, 22213, 29511)

 	-- Frozen Shadoweave Shoulders -- 26756
 	AddRecipe(26756, 355, 21869, Q.COMMON, V.TBC, 355, 365, 370, 375, 26801)
 	self:AddRecipeFlags(26756, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26756, A.VENDOR, 22212, A.VENDOR, 29510)
+	self:AddRecipeVendor(26756, 22212, 29510)

 	-- Frozen Shadoweave Boots -- 26757
 	AddRecipe(26757, 365, 21870, Q.COMMON, V.TBC, 365, 375, 380, 385, 26801)
 	self:AddRecipeFlags(26757, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26757, A.VENDOR, 22212, A.VENDOR, 29510)
+	self:AddRecipeVendor(26757, 22212, 29510)

 	-- Frozen Shadoweave Robe -- 26758
 	AddRecipe(26758, 375, 21871, Q.COMMON, V.TBC, 375, 385, 390, 395, 26801)
 	self:AddRecipeFlags(26758, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26758, A.VENDOR, 22212, A.VENDOR, 29510)
+	self:AddRecipeVendor(26758, 22212, 29510)

 	-- Ebon Shadowbag -- 26759
 	AddRecipe(26759, 375, 21872, Q.RARE, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(26759, F.ALLIANCE, F.HORDE, F.VENDOR, F.WARLOCK, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26759, A.VENDOR, 22212, A.VENDOR, 29510)
+	self:AddRecipeVendor(26759, 22212, 29510)

 	-- Primal Mooncloth Belt -- 26760
 	AddRecipe(26760, 355, 21873, Q.COMMON, V.TBC, 355, 365, 370, 375, 26798)
 	self:AddRecipeFlags(26760, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26760, A.VENDOR, 22208, A.VENDOR, 29512)
+	self:AddRecipeVendor(26760, 22208, 29512)

 	-- Primal Mooncloth Shoulders -- 26761
 	AddRecipe(26761, 365, 21874, Q.COMMON, V.TBC, 365, 375, 380, 385, 26798)
 	self:AddRecipeFlags(26761, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26761, A.VENDOR, 22208, A.VENDOR, 29512)
+	self:AddRecipeVendor(26761, 22208, 29512)

 	-- Primal Mooncloth Robe -- 26762
 	AddRecipe(26762, 375, 21875, Q.COMMON, V.TBC, 375, 385, 390, 395, 26798)
 	self:AddRecipeFlags(26762, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26762, A.VENDOR, 22208, A.VENDOR, 29512)
+	self:AddRecipeVendor(26762, 22208, 29512)

 	-- Primal Mooncloth Bag -- 26763
 	AddRecipe(26763, 375, 21876, Q.RARE, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(26763, F.ALLIANCE, F.HORDE, F.VENDOR, F.MOB_DROP, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(26763, A.MOB, 18872, A.VENDOR, 22208, A.VENDOR, 29512)
+	self:AddRecipeMobDrop(26763, 18872)
+	self:AddRecipeVendor(26763, 22208, 29512)

 	-- Netherweave Bracers -- 26764
 	AddRecipe(26764, 310, 21849, Q.COMMON, V.TBC, 310, 320, 325, 330)
 	self:AddRecipeFlags(26764, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26764, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(26764, 33613, 18749, 18772, 26914, 33684, 33580, 26964, 26969, 28699, 33636, 27001)

 	-- Netherweave Belt -- 26765
 	AddRecipe(26765, 310, 21850, Q.COMMON, V.TBC, 310, 320, 325, 330)
 	self:AddRecipeFlags(26765, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26765, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(26765, 33613, 18749, 18772, 26914, 33684, 33580, 26964, 26969, 28699, 33636, 27001)

 	-- Netherweave Gloves -- 26770
 	AddRecipe(26770, 320, 21851, Q.COMMON, V.TBC, 320, 330, 335, 340)
 	self:AddRecipeFlags(26770, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26770, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(26770, 33613, 18749, 18772, 26914, 33684, 33580, 26964, 26969, 28699, 33636, 27001)

 	-- Netherweave Pants -- 26771
 	AddRecipe(26771, 325, 21852, Q.COMMON, V.TBC, 325, 335, 340, 345)
 	self:AddRecipeFlags(26771, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26771, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(26771, 33613, 18749, 18772, 26914, 33684, 33580, 26964, 26969, 28699, 33636, 27001)

 	-- Netherweave Boots -- 26772
 	AddRecipe(26772, 335, 21853, Q.COMMON, V.TBC, 335, 345, 350, 355)
 	self:AddRecipeFlags(26772, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26772, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(26772, 33613, 18749, 18772, 26914, 33684, 33580, 26964, 26969, 28699, 33636, 27001)

 	-- Netherweave Robe -- 26773
 	AddRecipe(26773, 340, 21854, Q.COMMON, V.TBC, 340, 350, 355, 360)
 	self:AddRecipeFlags(26773, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26773, A.VENDOR, 16638, A.VENDOR, 16767, A.VENDOR, 19213)
+	self:AddRecipeVendor(26773, 19213, 16767, 16638)

 	-- Netherweave Tunic -- 26774
 	AddRecipe(26774, 345, 21855, Q.COMMON, V.TBC, 345, 355, 360, 365)
 	self:AddRecipeFlags(26774, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26774, A.VENDOR, 16638, A.VENDOR, 16767, A.VENDOR, 19213)
+	self:AddRecipeVendor(26774, 19213, 16767, 16638)

 	-- Imbued Netherweave Pants -- 26775
 	AddRecipe(26775, 340, 21859, Q.COMMON, V.TBC, 340, 350, 355, 360)
 	self:AddRecipeFlags(26775, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26775, A.VENDOR, 18011, A.VENDOR, 19722)
+	self:AddRecipeVendor(26775, 18011, 19722)

 	-- Imbued Netherweave Boots -- 26776
 	AddRecipe(26776, 350, 21860, Q.COMMON, V.TBC, 350, 360, 365, 370)
 	self:AddRecipeFlags(26776, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26776, A.VENDOR, 18011, A.VENDOR, 19722)
+	self:AddRecipeVendor(26776, 18011, 19722)

 	-- Imbued Netherweave Robe -- 26777
 	AddRecipe(26777, 360, 21861, Q.COMMON, V.TBC, 360, 370, 375, 380)
 	self:AddRecipeFlags(26777, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26777, A.VENDOR, 19521)
+	self:AddRecipeVendor(26777, 19521)

 	-- Imbued Netherweave Tunic -- 26778
 	AddRecipe(26778, 360, 21862, Q.COMMON, V.TBC, 360, 370, 375, 380)
 	self:AddRecipeFlags(26778, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26778, A.VENDOR, 19521)
+	self:AddRecipeVendor(26778, 19521)

 	-- Soulcloth Gloves -- 26779
 	AddRecipe(26779, 355, 21863, Q.COMMON, V.TBC, 355, 365, 370, 375)
 	self:AddRecipeFlags(26779, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26779, A.VENDOR, 19015, A.VENDOR, 19017)
+	self:AddRecipeVendor(26779, 19015, 19017)

 	-- Soulcloth Shoulders -- 26780
 	AddRecipe(26780, 365, 21864, Q.EPIC, V.TBC, 365, 375, 380, 385)
 	self:AddRecipeFlags(26780, F.ALLIANCE, F.HORDE, F.RAID, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26780, A.MOB, 16406)
+	self:AddRecipeMobDrop(26780, 16406)

 	-- Soulcloth Vest -- 26781
 	AddRecipe(26781, 375, 21865, Q.EPIC, V.TBC, 375, 380, 382, 385)
 	self:AddRecipeFlags(26781, F.ALLIANCE, F.HORDE, F.RAID, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(26781, A.MOB, 16408)
+	self:AddRecipeMobDrop(26781, 16408)

 	-- Arcanoweave Bracers -- 26782
 	AddRecipe(26782, 350, 21866, Q.UNCOMMON, V.TBC, 350, 360, 365, 370)
 	self:AddRecipeFlags(26782, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(26782, A.MOB, 20869)
+	self:AddRecipeMobDrop(26782, 20869)

 	-- Arcanoweave Boots -- 26783
 	AddRecipe(26783, 360, 21867, Q.UNCOMMON, V.TBC, 360, 370, 375, 380)
 	self:AddRecipeFlags(26783, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(26783, A.MOB, 19168)
+	self:AddRecipeMobDrop(26783, 19168)

 	-- Arcanoweave Robe -- 26784
 	AddRecipe(26784, 370, 21868, Q.UNCOMMON, V.TBC, 370, 380, 385, 390)
 	self:AddRecipeFlags(26784, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(26784, A.MOB, 19220)
+	self:AddRecipeMobDrop(26784, 19220)

 	-- Enchanted Mageweave Pouch -- 27658
 	AddRecipe(27658, 225, 22246, Q.COMMON, V.TBC, 225, 240, 255, 270)
 	self:AddRecipeFlags(27658, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(27658, A.VENDOR, 1318, A.VENDOR, 3012, A.VENDOR, 3346, A.VENDOR, 4228, A.VENDOR, 4617, A.VENDOR, 5158, A.VENDOR, 5757, A.VENDOR, 5758, A.VENDOR, 15419, A.VENDOR, 16635, A.VENDOR, 16722, A.VENDOR, 18753, A.VENDOR, 18773, A.VENDOR, 18951, A.VENDOR, 19234, A.VENDOR, 19537, A.VENDOR, 19540, A.VENDOR, 19663, A.VENDOR, 26569, A.VENDOR, 27030, A.VENDOR, 27054, A.VENDOR, 27147, A.VENDOR, 28714)
+	self:AddRecipeVendor(27658, 28714, 15419, 4617, 18951, 5757, 16722, 18753, 19234, 3012, 5758, 26569, 18773, 27147, 5158, 19540, 27030, 3346, 1318, 19663, 27054, 19537, 16635, 4228)

 	-- Enchanted Runecloth Bag -- 27659
 	AddRecipe(27659, 275, 22248, Q.COMMON, V.ORIG, 275, 290, 305, 320)
 	self:AddRecipeFlags(27659, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(27659, A.VENDOR, 15419)
+	self:AddRecipeVendor(27659, 15419)

 	-- Big Bag of Enchantment -- 27660
 	AddRecipe(27660, 300, 22249, Q.UNCOMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(27660, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOE)
-	self:AddRecipeAcquire(27660, A.MOB, 11487)
+	self:AddRecipeMobDrop(27660, 11487)

 	-- Cenarion Herb Bag -- 27724
 	AddRecipe(27724, 275, 22251, Q.COMMON, V.ORIG, 275, 290, 305, 320)
 	self:AddRecipeFlags(27724, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(27724, A.REPUTATION, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15179)
+	self:AddRecipeRepVendor(27724, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15179)

 	-- Satchel of Cenarius -- 27725
 	AddRecipe(27725, 300, 22252, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(27725, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(27725, A.REPUTATION, FAC.CENARION_CIRCLE, REP.REVERED, 15179)
+	self:AddRecipeRepVendor(27725, FAC.CENARION_CIRCLE, REP.REVERED, 15179)

 	-- Glacial Gloves -- 28205
 	AddRecipe(28205, 300, 22654, Q.EPIC, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(28205, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.ARGENTDAWN)
-	self:AddRecipeAcquire(28205, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28205, FAC.ARGENTDAWN, REP.REVERED, 16365)
+	self:AddRecipeAcquire(28205, A.CUSTOM, 41)

 	-- Glacial Vest -- 28207
 	AddRecipe(28207, 300, 22652, Q.EPIC, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(28207, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.ARGENTDAWN)
-	self:AddRecipeAcquire(28207, A.REPUTATION, FAC.ARGENTDAWN, REP.EXALTED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28207, FAC.ARGENTDAWN, REP.EXALTED, 16365)
+	self:AddRecipeAcquire(28207, A.CUSTOM, 41)

 	-- Glacial Cloak -- 28208
 	AddRecipe(28208, 300, 22658, Q.EPIC, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(28208, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.CLOAK, F.ARGENTDAWN)
-	self:AddRecipeAcquire(28208, A.REPUTATION, FAC.ARGENTDAWN, REP.HONORED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28208, FAC.ARGENTDAWN, REP.HONORED, 16365)
+	self:AddRecipeAcquire(28208, A.CUSTOM, 41)

 	-- Glacial Wrists -- 28209
 	AddRecipe(28209, 300, 22655, Q.EPIC, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(28209, F.ALLIANCE, F.HORDE, F.VENDOR, F.RAID, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.ARGENTDAWN)
-	self:AddRecipeAcquire(28209, A.REPUTATION, FAC.ARGENTDAWN, REP.REVERED, 16365, A.CUSTOM, 41)
+	self:AddRecipeRepVendor(28209, FAC.ARGENTDAWN, REP.REVERED, 16365)
+	self:AddRecipeAcquire(28209, A.CUSTOM, 41)

 	-- Gaea's Embrace -- 28210
 	AddRecipe(28210, 300, 22660, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(28210, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOAK, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(28210, A.REPUTATION, FAC.CENARION_CIRCLE, REP.REVERED, 15179)
+	self:AddRecipeRepVendor(28210, FAC.CENARION_CIRCLE, REP.REVERED, 15179)

 	-- Sylvan Vest -- 28480
 	AddRecipe(28480, 300, 22756, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(28480, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(28480, A.REPUTATION, FAC.CENARION_CIRCLE, REP.REVERED, 15179)
+	self:AddRecipeRepVendor(28480, FAC.CENARION_CIRCLE, REP.REVERED, 15179)

 	-- Sylvan Crown -- 28481
 	AddRecipe(28481, 300, 22757, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(28481, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(28481, A.REPUTATION, FAC.CENARION_CIRCLE, REP.HONORED, 15179)
+	self:AddRecipeRepVendor(28481, FAC.CENARION_CIRCLE, REP.HONORED, 15179)

 	-- Sylvan Shoulders -- 28482
 	AddRecipe(28482, 300, 22758, Q.COMMON, V.ORIG, 300, 315, 330, 345)
 	self:AddRecipeFlags(28482, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.CENARION_CIRCLE)
-	self:AddRecipeAcquire(28482, A.REPUTATION, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15179)
+	self:AddRecipeRepVendor(28482, FAC.CENARION_CIRCLE, REP.FRIENDLY, 15179)

 	-- Spellcloth -- 31373
 	AddRecipe(31373, 350, 24271, Q.COMMON, V.TBC, 350, 350, 355, 360)
 	self:AddRecipeFlags(31373, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(31373, A.VENDOR, 22213, A.VENDOR, 29511)
+	self:AddRecipeVendor(31373, 22213, 29511)

 	-- Mystic Spellthread -- 31430
 	AddRecipe(31430, 335, 24273, Q.COMMON, V.TBC, 335, 345, 350, 355)
 	self:AddRecipeFlags(31430, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCRYER)
-	self:AddRecipeAcquire(31430, A.REPUTATION, FAC.SCRYER, REP.HONORED, 19331)
+	self:AddRecipeRepVendor(31430, FAC.SCRYER, REP.HONORED, 19331)

 	-- Silver Spellthread -- 31431
 	AddRecipe(31431, 335, 24275, Q.COMMON, V.TBC, 335, 345, 350, 355)
 	self:AddRecipeFlags(31431, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ALDOR)
-	self:AddRecipeAcquire(31431, A.REPUTATION, FAC.ALDOR, REP.HONORED, 19321)
+	self:AddRecipeRepVendor(31431, FAC.ALDOR, REP.HONORED, 19321)

 	-- Runic Spellthread -- 31432
 	AddRecipe(31432, 375, 24274, Q.COMMON, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(31432, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.SCRYER)
-	self:AddRecipeAcquire(31432, A.REPUTATION, FAC.SCRYER, REP.EXALTED, 19331)
+	self:AddRecipeRepVendor(31432, FAC.SCRYER, REP.EXALTED, 19331)

 	-- Golden Spellthread -- 31433
 	AddRecipe(31433, 375, 24276, Q.COMMON, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(31433, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ALDOR)
-	self:AddRecipeAcquire(31433, A.REPUTATION, FAC.ALDOR, REP.EXALTED, 19321)
+	self:AddRecipeRepVendor(31433, FAC.ALDOR, REP.EXALTED, 19321)

 	-- Unyielding Bracers -- 31434
 	AddRecipe(31434, 350, 24249, Q.RARE, V.TBC, 350, 360, 365, 370)
 	self:AddRecipeFlags(31434, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(31434, A.MOB, 24664)
+	self:AddRecipeMobDrop(31434, 24664)

 	-- Bracers of Havok -- 31435
 	AddRecipe(31435, 350, 24250, Q.RARE, V.TBC, 350, 360, 365, 370)
@@ -1413,7 +1431,7 @@ function addon:InitTailoring()
 	-- Unyielding Girdle -- 31442
 	AddRecipe(31442, 365, 24255, Q.EPIC, V.TBC, 365, 375, 380, 385)
 	self:AddRecipeFlags(31442, F.ALLIANCE, F.HORDE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(31442, A.MOB, 24664)
+	self:AddRecipeMobDrop(31442, 24664)

 	-- Girdle of Ruination -- 31443
 	AddRecipe(31443, 365, 24256, Q.EPIC, V.TBC, 365, 375, 380, 385)
@@ -1443,42 +1461,42 @@ function addon:InitTailoring()
 	-- Whitemend Pants -- 31451
 	AddRecipe(31451, 375, 24261, Q.EPIC, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(31451, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(31451, A.MOB, 20885)
+	self:AddRecipeMobDrop(31451, 20885)

 	-- Spellstrike Pants -- 31452
 	AddRecipe(31452, 375, 24262, Q.EPIC, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(31452, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(31452, A.MOB, 18708)
+	self:AddRecipeMobDrop(31452, 18708)

 	-- Battlecast Pants -- 31453
 	AddRecipe(31453, 375, 24263, Q.EPIC, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(31453, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(31453, A.MOB, 17978)
+	self:AddRecipeMobDrop(31453, 17978)

 	-- Whitemend Hood -- 31454
 	AddRecipe(31454, 375, 24264, Q.EPIC, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(31454, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(31454, A.MOB, 17977)
+	self:AddRecipeMobDrop(31454, 17977)

 	-- Spellstrike Hood -- 31455
 	AddRecipe(31455, 375, 24266, Q.EPIC, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(31455, F.ALLIANCE, F.HORDE, F.INSTANCE, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(31455, A.MOB, 16807)
+	self:AddRecipeMobDrop(31455, 16807)

 	-- Battlecast Hood -- 31456
 	AddRecipe(31456, 375, 24267, Q.EPIC, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(31456, F.ALLIANCE, F.HORDE, F.INSTANCE, F.MOB_DROP, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(31456, A.MOB, 17798)
+	self:AddRecipeMobDrop(31456, 17798)

 	-- Bag of Jewels -- 31459
 	AddRecipe(31459, 340, 24270, Q.COMMON, V.TBC, 340, 350, 355, 360)
 	self:AddRecipeFlags(31459, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CONSORTIUM)
-	self:AddRecipeAcquire(31459, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 20242, A.REPUTATION, FAC.CONSORTIUM, REP.HONORED, 23007)
+	self:AddRecipeRepVendor(31459, FAC.CONSORTIUM, REP.HONORED, 20242, 23007)

 	-- Netherweave Net -- 31460
 	AddRecipe(31460, 300, 24268, Q.COMMON, V.TBC, 300, 300, 310, 320)
 	self:AddRecipeFlags(31460, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(31460, A.TRAINER, 18749, A.TRAINER, 18772, A.TRAINER, 28699, A.TRAINER, 33580, A.TRAINER, 27001, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 26914, A.TRAINER, 26969, A.TRAINER, 26964, A.TRAINER, 33684)
+	self:AddRecipeTrainer(31460, 33613, 18749, 18772, 26914, 33684, 33580, 26964, 26969, 28699, 33636, 27001)

 	-- Belt of Blasting -- 36315
 	AddRecipe(36315, 375, 30038, Q.EPIC, V.TBC, 375, 385, 390, 395)
@@ -1503,52 +1521,52 @@ function addon:InitTailoring()
 	-- Shadowcloth -- 36686
 	AddRecipe(36686, 350, 24272, Q.COMMON, V.TBC, 350, 350, 355, 360)
 	self:AddRecipeFlags(36686, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(36686, A.VENDOR, 22212, A.VENDOR, 29510)
+	self:AddRecipeVendor(36686, 22212, 29510)

 	-- Cloak of Arcane Evasion -- 37873
 	AddRecipe(37873, 350, 30831, Q.COMMON, V.TBC, 350, 360, 365, 370)
 	self:AddRecipeFlags(37873, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOAK, F.LOWERCITY)
-	self:AddRecipeAcquire(37873, A.REPUTATION, FAC.LOWERCITY, REP.HONORED, 21655)
+	self:AddRecipeRepVendor(37873, FAC.LOWERCITY, REP.HONORED, 21655)

 	-- Flameheart Bracers -- 37882
 	AddRecipe(37882, 350, 30837, Q.COMMON, V.TBC, 350, 360, 365, 370)
 	self:AddRecipeFlags(37882, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.CLOTH, F.ALDOR)
-	self:AddRecipeAcquire(37882, A.REPUTATION, FAC.ALDOR, REP.FRIENDLY, 19321)
+	self:AddRecipeRepVendor(37882, FAC.ALDOR, REP.FRIENDLY, 19321)

 	-- Flameheart Gloves -- 37883
 	AddRecipe(37883, 360, 30838, Q.COMMON, V.TBC, 360, 370, 375, 380)
 	self:AddRecipeFlags(37883, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.CLOTH, F.ALDOR)
-	self:AddRecipeAcquire(37883, A.REPUTATION, FAC.ALDOR, REP.HONORED, 19321)
+	self:AddRecipeRepVendor(37883, FAC.ALDOR, REP.HONORED, 19321)

 	-- Flameheart Vest -- 37884
 	AddRecipe(37884, 370, 30839, Q.COMMON, V.TBC, 370, 380, 385, 390)
 	self:AddRecipeFlags(37884, F.ALLIANCE, F.VENDOR, F.IBOE, F.RBOP, F.CLOTH, F.ALDOR)
-	self:AddRecipeAcquire(37884, A.REPUTATION, FAC.ALDOR, REP.EXALTED, 19321)
+	self:AddRecipeRepVendor(37884, FAC.ALDOR, REP.EXALTED, 19321)

 	-- Soulguard Slippers -- 40020
 	AddRecipe(40020, 375, 32391, Q.COMMON, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(40020, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOTH, F.ASHTONGUE)
-	self:AddRecipeAcquire(40020, A.REPUTATION, FAC.ASHTONGUE, REP.HONORED, 23159)
+	self:AddRecipeRepVendor(40020, FAC.ASHTONGUE, REP.HONORED, 23159)

 	-- Soulguard Bracers -- 40021
 	AddRecipe(40021, 375, 32392, Q.COMMON, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(40021, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOTH, F.ASHTONGUE)
-	self:AddRecipeAcquire(40021, A.REPUTATION, FAC.ASHTONGUE, REP.FRIENDLY, 23159)
+	self:AddRecipeRepVendor(40021, FAC.ASHTONGUE, REP.FRIENDLY, 23159)

 	-- Soulguard Leggings -- 40023
 	AddRecipe(40023, 375, 32389, Q.COMMON, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(40023, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOTH, F.ASHTONGUE)
-	self:AddRecipeAcquire(40023, A.REPUTATION, FAC.ASHTONGUE, REP.HONORED, 23159)
+	self:AddRecipeRepVendor(40023, FAC.ASHTONGUE, REP.HONORED, 23159)

 	-- Soulguard Girdle -- 40024
 	AddRecipe(40024, 375, 32390, Q.COMMON, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(40024, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOTH, F.ASHTONGUE)
-	self:AddRecipeAcquire(40024, A.REPUTATION, FAC.ASHTONGUE, REP.FRIENDLY, 23159)
+	self:AddRecipeRepVendor(40024, FAC.ASHTONGUE, REP.FRIENDLY, 23159)

 	-- Night's End -- 40060
 	AddRecipe(40060, 375, 32420, Q.COMMON, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(40060, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.CLOAK, F.ASHTONGUE)
-	self:AddRecipeAcquire(40060, A.REPUTATION, FAC.ASHTONGUE, REP.HONORED, 23159)
+	self:AddRecipeRepVendor(40060, FAC.ASHTONGUE, REP.HONORED, 23159)

 	-- Bracers of Nimble Thought -- 41205
 	AddRecipe(41205, 375, 32586, Q.EPIC, V.TBC, 375, 385, 390, 395)
@@ -1573,12 +1591,14 @@ function addon:InitTailoring()
 	-- Green Winter Clothes -- 44950
 	AddRecipe(44950, 250, 34087, Q.UNCOMMON, V.TBC, 250, 250, 250, 250)
 	self:AddRecipeFlags(44950, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(44950, A.VENDOR, 13420, A.SEASONAL, 1)
+	self:AddRecipeVendor(44950, 13420)
+	self:AddRecipeAcquire(44950, A.SEASONAL, 1)

 	-- Red Winter Clothes -- 44958
 	AddRecipe(44958, 250, 34085, Q.UNCOMMON, V.TBC, 250, 250, 250, 250)
 	self:AddRecipeFlags(44958, F.ALLIANCE, F.HORDE, F.VENDOR, F.SEASONAL, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(44958, A.VENDOR, 13433, A.SEASONAL, 1)
+	self:AddRecipeVendor(44958, 13433)
+	self:AddRecipeAcquire(44958, A.SEASONAL, 1)

 	-- Sunfire Handwraps -- 46128
 	AddRecipe(46128, 365, 34366, Q.EPIC, V.TBC, 365, 375, 392, 410)
@@ -1603,152 +1623,152 @@ function addon:InitTailoring()
 	-- Dress Shoes -- 49677
 	AddRecipe(49677, 250, 6836, Q.COMMON, V.TBC, 250, 255, 270, 285)
 	self:AddRecipeFlags(49677, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(49677, A.VENDOR, 15165)
+	self:AddRecipeVendor(49677, 15165)

 	-- Mycah's Botanical Bag -- 50194
 	AddRecipe(50194, 375, 38225, Q.COMMON, V.TBC, 375, 385, 390, 395)
 	self:AddRecipeFlags(50194, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.SPOREGGAR)
-	self:AddRecipeAcquire(50194, A.REPUTATION, FAC.SPOREGGAR, REP.REVERED, 18382)
+	self:AddRecipeRepVendor(50194, FAC.SPOREGGAR, REP.REVERED, 18382)

 	-- Haliscan Jacket -- 50644
 	AddRecipe(50644, 250, 38277, Q.COMMON, V.TBC, 250, 265, 280, 295)
 	self:AddRecipeFlags(50644, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(50644, A.VENDOR, 15165)
+	self:AddRecipeVendor(50644, 15165)

 	-- Haliscan Pantaloons -- 50647
 	AddRecipe(50647, 245, 38278, Q.COMMON, V.TBC, 245, 250, 255, 260)
 	self:AddRecipeFlags(50647, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOE, F.CLOTH)
-	self:AddRecipeAcquire(50647, A.VENDOR, 15165)
+	self:AddRecipeVendor(50647, 15165)

 	-- Lightweave Embroidery -- 55642
 	AddRecipe(55642, 420, nil, Q.COMMON, V.WOTLK, 420, 420, 420, 420)
 	self:AddRecipeFlags(55642, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(55642, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55642, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Darkglow Embroidery -- 55769
 	AddRecipe(55769, 420, nil, Q.COMMON, V.WOTLK, 420, 420, 420, 420)
 	self:AddRecipeFlags(55769, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOAK)
-	self:AddRecipeAcquire(55769, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55769, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Swordguard Embroidery -- 55777
 	AddRecipe(55777, 420, nil, Q.COMMON, V.WOTLK, 420, 420, 420, 420)
 	self:AddRecipeFlags(55777, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(55777, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55777, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostweave Net -- 55898
 	AddRecipe(55898, 360, 41509, Q.COMMON, V.WOTLK, 360, 370, 375, 380)
 	self:AddRecipeFlags(55898, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55898, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55898, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Bolt of Frostweave -- 55899
 	AddRecipe(55899, 350, 41510, Q.COMMON, V.WOTLK, 350, 370, 372, 375)
 	self:AddRecipeFlags(55899, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55899, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55899, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Bolt of Imbued Frostweave -- 55900
 	AddRecipe(55900, 400, 41511, Q.COMMON, V.WOTLK, 400, 400, 402, 405)
 	self:AddRecipeFlags(55900, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55900, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55900, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Duskweave Leggings -- 55901
 	AddRecipe(55901, 395, 41548, Q.UNCOMMON, V.WOTLK, 395, 405, 410, 415)
 	self:AddRecipeFlags(55901, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55901, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55901, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostwoven Shoulders -- 55902
 	AddRecipe(55902, 350, 41513, Q.UNCOMMON, V.WOTLK, 350, 360, 370, 380)
 	self:AddRecipeFlags(55902, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55902, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55902, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostwoven Robe -- 55903
 	AddRecipe(55903, 360, 41515, Q.UNCOMMON, V.WOTLK, 360, 370, 380, 390)
 	self:AddRecipeFlags(55903, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55903, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55903, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostwoven Gloves -- 55904
 	AddRecipe(55904, 360, 44211, Q.COMMON, V.WOTLK, 360, 370, 380, 390)
 	self:AddRecipeFlags(55904, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55904, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55904, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostwoven Boots -- 55906
 	AddRecipe(55906, 375, 41520, Q.UNCOMMON, V.WOTLK, 375, 385, 395, 405)
 	self:AddRecipeFlags(55906, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55906, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55906, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostwoven Cowl -- 55907
 	AddRecipe(55907, 380, 41521, Q.UNCOMMON, V.WOTLK, 380, 390, 395, 400)
 	self:AddRecipeFlags(55907, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55907, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55907, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostwoven Belt -- 55908
 	AddRecipe(55908, 370, 41522, Q.UNCOMMON, V.WOTLK, 370, 380, 390, 400)
 	self:AddRecipeFlags(55908, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55908, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55908, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Mystic Frostwoven Shoulders -- 55910
 	AddRecipe(55910, 385, 41523, Q.RARE, V.WOTLK, 385, 395, 405, 415)
 	self:AddRecipeFlags(55910, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55910, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55910, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Mystic Frostwoven Robe -- 55911
 	AddRecipe(55911, 390, 41525, Q.RARE, V.WOTLK, 390, 400, 410, 420)
 	self:AddRecipeFlags(55911, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55911, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55911, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Mystic Frostwoven Wristwraps -- 55913
 	AddRecipe(55913, 385, 41528, Q.RARE, V.WOTLK, 385, 395, 405, 415)
 	self:AddRecipeFlags(55913, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55913, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55913, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Duskweave Belt -- 55914
 	AddRecipe(55914, 395, 41543, Q.UNCOMMON, V.WOTLK, 395, 400, 405, 410)
 	self:AddRecipeFlags(55914, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55914, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55914, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Duskweave Cowl -- 55919
 	AddRecipe(55919, 395, 41546, Q.UNCOMMON, V.WOTLK, 395, 405, 410, 415)
 	self:AddRecipeFlags(55919, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55919, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55919, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Duskweave Wristwraps -- 55920
 	AddRecipe(55920, 400, 41551, Q.UNCOMMON, V.WOTLK, 400, 410, 415, 420)
 	self:AddRecipeFlags(55920, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55920, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55920, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Duskweave Robe -- 55921
 	AddRecipe(55921, 405, 41549, Q.UNCOMMON, V.WOTLK, 405, 415, 420, 425)
 	self:AddRecipeFlags(55921, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55921, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55921, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Duskweave Gloves -- 55922
 	AddRecipe(55922, 405, 41545, Q.UNCOMMON, V.WOTLK, 405, 415, 420, 425)
 	self:AddRecipeFlags(55922, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55922, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55922, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Duskweave Shoulders -- 55923
 	AddRecipe(55923, 410, 41550, Q.UNCOMMON, V.WOTLK, 410, 420, 425, 430)
 	self:AddRecipeFlags(55923, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55923, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55923, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Duskweave Boots -- 55924
 	AddRecipe(55924, 410, 41544, Q.COMMON, V.WOTLK, 410, 410, 410, 420)
 	self:AddRecipeFlags(55924, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55924, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55924, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Black Duskweave Leggings -- 55925
 	AddRecipe(55925, 415, 41553, Q.RARE, V.WOTLK, 415, 425, 430, 435)
 	self:AddRecipeFlags(55925, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55925, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55925, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Black Duskweave Robe -- 55941
 	AddRecipe(55941, 420, 41554, Q.RARE, V.WOTLK, 420, 430, 435, 440)
 	self:AddRecipeFlags(55941, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55941, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55941, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Black Duskweave Wristwraps -- 55943
 	AddRecipe(55943, 415, 41555, Q.RARE, V.WOTLK, 415, 425, 430, 435)
 	self:AddRecipeFlags(55943, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(55943, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55943, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Red Lumberjack Shirt -- 55993
 	AddRecipe(55993, 400, 41248, Q.UNCOMMON, V.WOTLK, 400, 400, 405, 410)
@@ -1763,7 +1783,7 @@ function addon:InitTailoring()
 	-- Yellow Lumberjack Shirt -- 55995
 	AddRecipe(55995, 400, 41251, Q.COMMON, V.WOTLK, 400, 400, 405, 410)
 	self:AddRecipeFlags(55995, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(55995, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(55995, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Green Lumberjack Shirt -- 55996
 	AddRecipe(55996, 400, 41250, Q.UNCOMMON, V.WOTLK, 400, 400, 405, 410)
@@ -1788,227 +1808,229 @@ function addon:InitTailoring()
 	-- Green Workman's Shirt -- 56000
 	AddRecipe(56000, 400, 41255, Q.COMMON, V.WOTLK, 400, 400, 405, 410)
 	self:AddRecipeFlags(56000, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56000, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56000, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Moonshroud -- 56001
 	AddRecipe(56001, 415, 41594, Q.RARE, V.WOTLK, 415, 425, 430, 435)
 	self:AddRecipeFlags(56001, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56001, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56001, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Ebonweave -- 56002
 	AddRecipe(56002, 415, 41593, Q.RARE, V.WOTLK, 415, 425, 430, 435)
 	self:AddRecipeFlags(56002, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56002, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56002, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Spellweave -- 56003
 	AddRecipe(56003, 415, 41595, Q.RARE, V.WOTLK, 415, 425, 430, 435)
 	self:AddRecipeFlags(56003, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56003, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56003, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Abyssal Bag -- 56004
 	AddRecipe(56004, 435, 41597, Q.COMMON, V.WOTLK, 435, 440, 445, 450)
 	self:AddRecipeFlags(56004, F.ALLIANCE, F.HORDE, F.VENDOR, F.WARLOCK, F.IBOE, F.RBOP, F.EBONBLADE)
-	self:AddRecipeAcquire(56004, A.REPUTATION, FAC.EBONBLADE, REP.REVERED, 32538)
+	self:AddRecipeRepVendor(56004, FAC.EBONBLADE, REP.REVERED, 32538)

 	-- Glacial Bag -- 56005
 	AddRecipe(56005, 445, 41600, Q.COMMON, V.WOTLK, 445, 450, 455, 460)
 	self:AddRecipeFlags(56005, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HODIR)
-	self:AddRecipeAcquire(56005, A.REPUTATION, FAC.HODIR, REP.EXALTED, 32540)
+	self:AddRecipeRepVendor(56005, FAC.HODIR, REP.EXALTED, 32540)

 	-- Mysterious Bag -- 56006
 	AddRecipe(56006, 440, 41598, Q.COMMON, V.WOTLK, 440, 445, 450, 455)
 	self:AddRecipeFlags(56006, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.WYRMREST)
-	self:AddRecipeAcquire(56006, A.REPUTATION, FAC.WYRMREST, REP.REVERED, 32533)
+	self:AddRecipeRepVendor(56006, FAC.WYRMREST, REP.REVERED, 32533)

 	-- Frostweave Bag -- 56007
 	AddRecipe(56007, 410, 41599, Q.UNCOMMON, V.WOTLK, 410, 430, 440, 450)
 	self:AddRecipeFlags(56007, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(56007, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56007, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Shining Spellthread -- 56008
 	AddRecipe(56008, 400, 41601, Q.RARE, V.WOTLK, 400, 400, 405, 410)
 	self:AddRecipeFlags(56008, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(56008, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56008, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Brilliant Spellthread -- 56009
 	AddRecipe(56009, 430, 41602, Q.COMMON, V.WOTLK, 430, 435, 440, 445)
 	self:AddRecipeFlags(56009, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.ARGENTCRUSADE)
-	self:AddRecipeAcquire(56009, A.REPUTATION, FAC.ARGENTCRUSADE, REP.EXALTED, 30431)
+	self:AddRecipeRepVendor(56009, FAC.ARGENTCRUSADE, REP.EXALTED, 30431)

 	-- Azure Spellthread -- 56010
 	AddRecipe(56010, 400, 41603, Q.RARE, V.WOTLK, 400, 400, 405, 410)
 	self:AddRecipeFlags(56010, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(56010, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56010, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Sapphire Spellthread -- 56011
 	AddRecipe(56011, 430, 41604, Q.COMMON, V.WOTLK, 430, 435, 440, 445)
 	self:AddRecipeFlags(56011, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.KIRINTOR)
-	self:AddRecipeAcquire(56011, A.REPUTATION, FAC.KIRINTOR, REP.EXALTED, 32287)
+	self:AddRecipeRepVendor(56011, FAC.KIRINTOR, REP.EXALTED, 32287)

 	-- Cloak of the Moon -- 56014
 	AddRecipe(56014, 390, 41607, Q.UNCOMMON, V.WOTLK, 390, 395, 400, 405)
 	self:AddRecipeFlags(56014, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(56014, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56014, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Cloak of Frozen Spirits -- 56015
 	AddRecipe(56015, 395, 41608, Q.COMMON, V.WOTLK, 395, 400, 405, 410)
 	self:AddRecipeFlags(56015, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(56015, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56015, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Wispcloak -- 56016
 	AddRecipe(56016, 420, 41609, Q.COMMON, V.WOTLK, 420, 435, 445, 455)
 	self:AddRecipeFlags(56016, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(56016, A.CUSTOM, 45, A.TRAINER, 28699, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969)
+	self:AddRecipeTrainer(56016, 26914, 26969, 26964, 28699)
+	self:AddRecipeAcquire(56016, A.CUSTOM, 45)

 	-- Deathchill Cloak -- 56017
 	AddRecipe(56017, 420, 41610, Q.COMMON, V.WOTLK, 420, 435, 445, 455)
 	self:AddRecipeFlags(56017, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(56017, A.CUSTOM, 44, A.TRAINER, 28699, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969)
+	self:AddRecipeTrainer(56017, 26914, 26969, 26964, 28699)
+	self:AddRecipeAcquire(56017, A.CUSTOM, 44)

 	-- Hat of Wintry Doom -- 56018
 	AddRecipe(56018, 425, 41984, Q.COMMON, V.WOTLK, 425, 435, 440, 445)
 	self:AddRecipeFlags(56018, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOE, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56018, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56018, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Silky Iceshard Boots -- 56019
 	AddRecipe(56019, 420, 41985, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(56019, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56019, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56019, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Deep Frozen Cord -- 56020
 	AddRecipe(56020, 420, 41986, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(56020, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56020, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56020, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostmoon Pants -- 56021
 	AddRecipe(56021, 425, 42093, Q.COMMON, V.WOTLK, 425, 435, 440, 445)
 	self:AddRecipeFlags(56021, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56021, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56021, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Light Blessed Mittens -- 56022
 	AddRecipe(56022, 420, 42095, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(56022, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56022, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56022, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Aurora Slippers -- 56023
 	AddRecipe(56023, 420, 42096, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(56023, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56023, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56023, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Moonshroud Robe -- 56024
 	AddRecipe(56024, 440, 42100, Q.EPIC, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56024, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56024, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56024, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Moonshroud Gloves -- 56025
 	AddRecipe(56025, 435, 42103, Q.COMMON, V.WOTLK, 435, 445, 450, 455)
 	self:AddRecipeFlags(56025, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56025, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56025, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Ebonweave Robe -- 56026
 	AddRecipe(56026, 440, 42101, Q.COMMON, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56026, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56026, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56026, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Ebonweave Gloves -- 56027
 	AddRecipe(56027, 435, 42111, Q.COMMON, V.WOTLK, 435, 445, 450, 455)
 	self:AddRecipeFlags(56027, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56027, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56027, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Spellweave Robe -- 56028
 	AddRecipe(56028, 440, 42102, Q.COMMON, V.WOTLK, 440, 450, 455, 460)
 	self:AddRecipeFlags(56028, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56028, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56028, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Spellweave Gloves -- 56029
 	AddRecipe(56029, 435, 42113, Q.COMMON, V.WOTLK, 435, 445, 450, 455)
 	self:AddRecipeFlags(56029, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56029, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56029, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostwoven Leggings -- 56030
 	AddRecipe(56030, 380, 41519, Q.UNCOMMON, V.WOTLK, 380, 390, 400, 410)
 	self:AddRecipeFlags(56030, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56030, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56030, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostwoven Wristwraps -- 56031
 	AddRecipe(56031, 350, 41512, Q.UNCOMMON, V.WOTLK, 350, 360, 370, 380)
 	self:AddRecipeFlags(56031, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(56031, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56031, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Master's Spellthread -- 56034
 	AddRecipe(56034, 405, nil, Q.COMMON, V.WOTLK, 405, 405, 405, 405)
 	self:AddRecipeFlags(56034, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(56034, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56034, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Sanctified Spellthread -- 56039
 	AddRecipe(56039, 405, nil, Q.COMMON, V.WOTLK, 405, 405, 405, 405)
 	self:AddRecipeFlags(56039, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER)
-	self:AddRecipeAcquire(56039, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(56039, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostsavage Belt -- 59582
 	AddRecipe(59582, 415, 43969, Q.COMMON, V.WOTLK, 415, 425, 435, 445)
 	self:AddRecipeFlags(59582, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(59582, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(59582, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostsavage Bracers -- 59583
 	AddRecipe(59583, 415, 43974, Q.COMMON, V.WOTLK, 415, 425, 435, 445)
 	self:AddRecipeFlags(59583, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(59583, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(59583, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostsavage Shoulders -- 59584
 	AddRecipe(59584, 420, 43973, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(59584, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(59584, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(59584, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostsavage Boots -- 59585
 	AddRecipe(59585, 420, 43970, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(59585, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(59585, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(59585, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostsavage Gloves -- 59586
 	AddRecipe(59586, 420, 41516, Q.UNCOMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(59586, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(59586, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(59586, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostsavage Robe -- 59587
 	AddRecipe(59587, 420, 43972, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(59587, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(59587, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(59587, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostsavage Leggings -- 59588
 	AddRecipe(59588, 420, 43975, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(59588, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(59588, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(59588, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Frostsavage Cowl -- 59589
 	AddRecipe(59589, 420, 43971, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(59589, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH)
-	self:AddRecipeAcquire(59589, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(59589, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Flying Carpet -- 60969
 	AddRecipe(60969, 300, 44554, Q.RARE, V.WOTLK, 300, 340, 345, 350)
 	self:AddRecipeFlags(60969, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP)
-	self:AddRecipeAcquire(60969, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(60969, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Magnificent Flying Carpet -- 60971
 	AddRecipe(60971, 425, 44558, Q.EPIC, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(60971, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOP, F.RBOP)
-	self:AddRecipeAcquire(60971, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(60971, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Glacial Waistband -- 60990
 	AddRecipe(60990, 420, 43584, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(60990, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(60990, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(60990, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Glacial Robe -- 60993
 	AddRecipe(60993, 425, 43583, Q.EPIC, V.WOTLK, 425, 435, 445, 455)
 	self:AddRecipeFlags(60993, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(60993, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(60993, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Glacial Slippers -- 60994
 	AddRecipe(60994, 420, 43585, Q.COMMON, V.WOTLK, 420, 430, 440, 450)
 	self:AddRecipeFlags(60994, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.CLOTH)
-	self:AddRecipeAcquire(60994, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(60994, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Sash of Ancient Power -- 63203
 	AddRecipe(63203, 450, 45102, Q.EPIC, V.WOTLK, 450, 455, 460, 465)
@@ -2033,47 +2055,47 @@ function addon:InitTailoring()
 	-- Spidersilk Drape -- 63742
 	AddRecipe(63742, 125, 45626, Q.COMMON, V.WOTLK, 125, 150, 167, 185)
 	self:AddRecipeFlags(63742, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(63742, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 1346, A.TRAINER, 4159, A.TRAINER, 16729, A.TRAINER, 3004, A.TRAINER, 3484, A.TRAINER, 3704, A.TRAINER, 2627, A.TRAINER, 33580, A.TRAINER, 3363, A.TRAINER, 1103, A.TRAINER, 33613, A.TRAINER, 33636, A.TRAINER, 11052, A.TRAINER, 18772, A.TRAINER, 2399, A.TRAINER, 4576, A.TRAINER, 17487, A.TRAINER, 16640, A.TRAINER, 16366, A.TRAINER, 5153, A.TRAINER, 4193, A.TRAINER, 3523, A.TRAINER, 33684, A.TRAINER, 11557)
+	self:AddRecipeTrainer(63742, 3484, 33684, 26964, 3523, 11557, 16366, 3004, 4193, 5153, 16640, 26969, 11052, 27001, 33636, 4576, 3704, 2399, 18772, 17487, 2627, 1346, 16729, 33613, 1103, 26914, 4159, 3363, 28699, 33580)

 	-- Emerald Bag -- 63924
 	AddRecipe(63924, 435, 45773, Q.COMMON, V.WOTLK, 435, 440, 445, 450)
 	self:AddRecipeFlags(63924, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.KALUAK)
-	self:AddRecipeAcquire(63924, A.REPUTATION, FAC.KALUAK, REP.REVERED, 31916, A.REPUTATION, FAC.KALUAK, REP.REVERED, 32763)
+	self:AddRecipeRepVendor(63924, FAC.KALUAK, REP.REVERED, 31916, 32763)

 	-- Frostguard Drape -- 64729
 	AddRecipe(64729, 400, 45811, Q.COMMON, V.WOTLK, 400, 405, 410, 415)
 	self:AddRecipeFlags(64729, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.DPS, F.CLOAK)
-	self:AddRecipeAcquire(64729, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(64729, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Cloak of Crimson Snow -- 64730
 	AddRecipe(64730, 405, 45810, Q.COMMON, V.WOTLK, 405, 410, 415, 420)
 	self:AddRecipeFlags(64730, F.ALLIANCE, F.HORDE, F.TRAINER, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOAK)
-	self:AddRecipeAcquire(64730, A.TRAINER, 26914, A.TRAINER, 26964, A.TRAINER, 26969, A.TRAINER, 27001, A.TRAINER, 28699, A.TRAINER, 33580)
+	self:AddRecipeTrainer(64730, 26914, 26964, 27001, 33580, 26969, 28699)

 	-- Leggings of Woven Death -- 70550
 	AddRecipe(70550, 450, 49891, Q.EPIC, V.WOTLK, 450, 475, 487, 500)
-	self:AddRecipeFlags(70550, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.HEALER, F.CASTER, F.CLOTH, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70550, A.REPUTATION, FAC.ASHEN_VERDICT, REP.REVERED, 37687)
+	self:AddRecipeFlags(70550, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70550, FAC.ASHEN_VERDICT, REP.REVERED, 37687)

 	-- Deathfrost Boots -- 70551
 	AddRecipe(70551, 450, 49890, Q.EPIC, V.WOTLK, 450, 475, 487, 500)
-	self:AddRecipeFlags(70551, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.HEALER, F.CASTER, F.CLOTH, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70551, A.REPUTATION, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
+	self:AddRecipeFlags(70551, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70551, FAC.ASHEN_VERDICT, REP.HONORED, 37687)

 	-- Lightweave Leggings -- 70552
 	AddRecipe(70552, 450, 49892, Q.EPIC, V.WOTLK, 450, 475, 487, 500)
-	self:AddRecipeFlags(70552, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.HEALER, F.CASTER, F.CLOTH, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70552, A.REPUTATION, FAC.ASHEN_VERDICT, REP.REVERED, 37687)
+	self:AddRecipeFlags(70552, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70552, FAC.ASHEN_VERDICT, REP.REVERED, 37687)

 	-- Sandals of Consecration -- 70553
 	AddRecipe(70553, 450, 49893, Q.EPIC, V.WOTLK, 450, 475, 487, 500)
-	self:AddRecipeFlags(70553, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE, F.HEALER, F.CASTER, F.CLOTH, F.ASHEN_VERDICT)
-	self:AddRecipeAcquire(70553, A.REPUTATION, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
-
-	-- Frosty Flying Carpet 75597
+	self:AddRecipeFlags(70553, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP, F.HEALER, F.CASTER, F.CLOTH, F.ASHEN_VERDICT)
+	self:AddRecipeRepVendor(70553, FAC.ASHEN_VERDICT, REP.HONORED, 37687)
+
+	-- Frosty Flying Carpet -- 75597
 	AddRecipe(75597, 450, 54797, Q.EPIC, V.WOTLK, 450, 475, 487, 500)
-	self:AddRecipeFlags(75597, F.ALLIANCE, F.HORDE, F.VENDOR, F.RBOP, F.IBOE)
-	self:AddRecipeAcquire(75597, A.VENDOR, 40160)
+	self:AddRecipeFlags(75597, F.ALLIANCE, F.HORDE, F.VENDOR, F.IBOE, F.RBOP)
+	self:AddRecipeVendor(75597, 40160)

 	-- Some recipes are only availible to specific factions.
 	-- We only add the faction specific recipes if the user is part of that faction