Quantcast

Ackis Recipe List:

Ackis [10-29-08 - 20:04]
Ackis Recipe List:
- Fixed the last few engineering problems with the database
- Dry-coded (Compiles with luac -p)
Filename
ARLDataminer.rb
AckisRecipeList.lua
Locals/LocalStrings-enUS.lua
RecipeDB/ARL-Engineer.lua
diff --git a/ARLDataminer.rb b/ARLDataminer.rb
index b65b220..94a0841 100644
--- a/ARLDataminer.rb
+++ b/ARLDataminer.rb
@@ -1150,7 +1150,7 @@ $bosslist = ["Anetheron","Archimonde","Azuregos","Baron Geddon","Baron Rivendare

 #TODO: for these functions, how can I do it so I can set a debug parameter which would only cause First Aid to run?

-$debug = false
+$debug = true

 if $debug

@@ -1243,16 +1243,28 @@ else
 		41319 => {:id => "class", :type => [22]},
 		41320 => {:id => "class", :type => [24, 26, 29]},
 		41321 => {:id => "class", :type => [26]},
-		12899 => {:id => "specialty", :type => 20219},
+		8895 => {:id => "specialty", :type => 20222},
+		12717 => {:id => "specialty", :type => 20222},
+		12718 => {:id => "specialty", :type => 20222},
+		12754 => {:id => "specialty", :type => 20222},
+		12755 => {:id => "specialty", :type => 20222},
+		12758 => {:id => "specialty", :type => 20222},
+		12759 => {:id => "specialty", :type => 20219},
+		12760 => {:id => "specialty", :type => 20222},
 		12895 => {:id => "specialty", :type => 20219},
-		15633 => {:id => "specialty", :type => 20219},
-		12902 => {:id => "specialty", :type => 20219},
 		12897 => {:id => "specialty", :type => 20219},
+		12899 => {:id => "specialty", :type => 20219},
+		12902 => {:id => "specialty", :type => 20219},
 		12903 => {:id => "specialty", :type => 20219},
 		12905 => {:id => "specialty", :type => 20219},
 		12906 => {:id => "specialty", :type => 20219},
 		12907 => {:id => "specialty", :type => 20219},
-		12759 => {:id => "specialty", :type => 20219},
+		12908 => {:id => "specialty", :type => 20222},
+		13240 => {:id => "specialty", :type => 20222},
+		15633 => {:id => "specialty", :type => 20219},
+		15628 => {:id => "specialty", :type => 20222},
+		30558 => {:id => "specialty", :type => 20222},
+		30560 => {:id => "specialty", :type => 20222},
 		30568 => {:id => "specialty", :type => 20219},
 		30570 => {:id => "specialty", :type => 20219},
 		}
diff --git a/AckisRecipeList.lua b/AckisRecipeList.lua
index aa81186..0327e30 100644
--- a/AckisRecipeList.lua
+++ b/AckisRecipeList.lua
@@ -1767,7 +1767,7 @@ do

 	-- Sorting functions

-	local sortFuncs = {}
+	local sortFuncs = nil

 	-- Description: Sorts the recipe Database depending on the settings defined in the database.
 	-- Expected result: A sorted array indexing values in the RecipeDB is returned.
@@ -1776,36 +1776,41 @@ do

 	function addon:SortMissingRecipes(RecipeDB)

-		sortFuncs[L['Skill']] = function(a, b)
+		if (not sortFuncs) then

-			return RecipeDB[a]["Level"] < RecipeDB[b]["Level"]
+			sortFuncs[L['Skill']] = function(a, b)

-		end
+				return RecipeDB[a]["Level"] < RecipeDB[b]["Level"]

-		sortFuncs[L['Name']] = function(a, b)
+			end

-			return RecipeDB[a]["Name"] < RecipeDB[b]["Name"]
+			sortFuncs[L['Name']] = function(a, b)

-		end
+				return RecipeDB[a]["Name"] < RecipeDB[b]["Name"]

-		sortFuncs[L['Acquisition']] = function (a, b)
+			end

-			local reca = RecipeDB[a]["Acquire"][1]
-			local recb = RecipeDB[b]["Acquire"][1]
+			-- Will only sort based off of the first acquire type
+			sortFuncs[L['Acquisition']] = function (a, b)

-			if (reca) and (recb) then
+				local reca = RecipeDB[a]["Acquire"][1]
+				local recb = RecipeDB[b]["Acquire"][1]

-				return reca["Type"] < recb["Type"]
+				if (reca) and (recb) then

-			else
+					return reca["Type"] < recb["Type"]

-				return not not reca
+				else
+
+					return not not reca
+
+				end

 			end

-		end
+			sortFuncs[L["Location"]] = function (a, b)

-		sortFuncs[L["Location"]] = function (a, b)
+			end

 		end

diff --git a/Locals/LocalStrings-enUS.lua b/Locals/LocalStrings-enUS.lua
index fffb381..0ce9490 100644
--- a/Locals/LocalStrings-enUS.lua
+++ b/Locals/LocalStrings-enUS.lua
@@ -1,1064 +1,2 @@
--- Do not translate anything below this line without talking to Ackis first please.
-L["40 Tickets - Schematic: Steam Tonk Controller"] = true
-L["A Binding Contract"] = true
-L["Aaron Hollman"] = true
-L["Aayndia Floralwind"] = true
-L["Abigail Shiel"] = true
-L["Abyssal Flamebringer"] = true
-L["Accursed Apparition"] = true
-L["Adele Fielder"] = true
-L["Aendel Windspear"] = true
-L["Aged Dalaran Wizard"] = true
-L["Ainethil"] = true
-L["Akham"] = true
-L["Akil'zon"] = true
-L["Alanna Raveneye"] = true
-L["Alchemist Gribble"] = true
-L["Alchemist Mallory"] = true
-L["Alchemist Pestlezugg"] = true
-L["Aldraan"] = true
-L["Alegorn"] = true
-L["Aleinia"] = true
-L["Alestus"] = true
-L["Alexandra Bolero"] = true
-L["Algernon"] = true
-L["Almaador"] = true
-L["Alorra"] = true
-L["Altaa"] = true
-L["Alurmi"] = true
-L["Amin"] = true
-L["Amy Davenport"] = true
-L["Anchorite Ensham"] = true
-L["Anchorite Fateema"] = true
-L["Anchorite Paetheus"] = true
-L["Andre Firebeard"] = true
-L["Andrew Hilbert"] = true
-L["Andrion Darkspinner"] = true
-L["Androd Fadran"] = true
-L["Anger Guard"] = true
-L["Anguished Highborne"] = true
-L["Annora"] = true
-L["Anvilrage Captain"] = true
-L["Anvilrage Guardsman"] = true
-L["Anvilrage Marshal"] = true
-L["Anvilrage Medic"] = true
-L["Anvilrage Reservist"] = true
-L["Apexis Guardian"] = true
-L["Apothecary Antonivich"] = true
-L["Apprentice Darius"] = true
-L["Apprentice's Duties"] = true
-L["Arathel Sunforge"] = true
-L["Arcane Aberration"] = true
-L["Arcane Protector"] = true
-L["Arcanist Sheynathren"] = true
-L["Arcatraz Sentinel"] = true
-L["Aresella"] = true
-L["Argent Quartermaster Hasana"] = true
-L["Argent Quartermaster Lightspark"] = true
-L["Arkkoran Oracle"] = true
-L["Arnok"] = true
-L["Arodis Sunblade"] = true
-L["Arras"] = true
-L["Arred"] = true
-L["Arrond"] = true
-L["Arthur Moore"] = true
-L["Artificer Daelo"] = true
-L["Asarnan"] = true
-L["Ashtongue Warrior"] = true
-L["Aska Mistrunner"] = true
-L["Atal'ai Witch Doctor"] = true
-L["Auchenai Monk"] = true
-L["Auctioneer Wabang"] = true
-L["Avian Darkhawk"] = true
-L["Azgalor"] = true
-L["Balai Lok'Wein"] = true
-L["Bale"] = true
-L["Balgaras the Foul"] = true
-L["Banalash"] = true
-L["Bannok Grimaxe"] = true
-L["Bar Talet"] = true
-L["Barbaric Battlements"] = true
-L["Barbecued Buzzard Wings"] = true
-L["Barbed Lasher"] = true
-L["Barim Spilthoof"] = true
-L["Bash'ir Arcanist"] = true
-L["Bash'ir Raider"] = true
-L["Bash'ir Spell-Thief"] = true
-L["Basil Frye"] = true
-L["Baxter"] = true
-L["Beer Basted Boar Ribs"] = true
-L["Belil"] = true
-L["Bemarrin"] = true
-L["Bena Winterhoof"] = true
-L["Bengus Deepforge"] = true
-L["Berudan Keysworn"] = true
-L["Betty Quin"] = true
-L["Blackened Ancient"] = true
-L["Blackhand Assassin"] = true
-L["Blackhand Elite"] = true
-L["Blackheart the Inciter"] = true
-L["Blackrock Battlemaster"] = true
-L["Blackrock Slayer"] = true
-L["Blackrock Soldier"] = true
-L["Blacksmith Calypso"] = true
-L["Blackwater Deckhand"] = true
-L["Blackwing"] = true
-L["Blimo Gadgetspring"] = true
-L["Blixrez Goodstitch"] = true
-L["Blizrik Buckshot"] = true
-L["Bliztik"] = true
-L["Bloodfen Lashtail"] = true
-L["Bloodmaul Geomancer"] = true
-L["Bloodmaul Soothsayer"] = true
-L["Bloodsail Raider"] = true
-L["Bloodwarder Squire"] = true
-L["Bog Giant"] = true
-L["Bombus Finespindle"] = true
-L["Bonechewer Backbreaker"] = true
-L["Bonechewer Blade Fury"] = true
-L["Borgosh Corebender"] = true
-L["Borgus Steelhand"] = true
-L["Borto"] = true
-L["Borya"] = true
-L["Boulderfist Brute"] = true
-L["Boulderfist Invader"] = true
-L["Boulderfist Mauler"] = true
-L["Boulderfist Warrior"] = true
-L["Bowen Brisboise"] = true
-L["Brawn"] = true
-L["Braxxus"] = true
-L["Brek Stonehoof"] = true
-L["Brienna Starglow"] = true
-L["Brikk Keencraft"] = true
-L["Bro'kin"] = true
-L["Brock Stoneseeker"] = true
-L["Brom Killian"] = true
-L["Bronk"] = true
-L["Bronk Guzzlegear"] = true
-L["Brumman"] = true
-L["Brumn Winterhoof"] = true
-L["Brutus"] = true
-L["Burbik Gearspanner"] = true
-L["Burko"] = true
-L["Burning Exile"] = true
-L["Buzzek Bracketswing"] = true
-L["Byancie"] = true
-L["Cabal Fanatic"] = true
-L["Camberon"] = true
-L["Captain Halyndor"] = true
-L["Captain Skarloc"] = true
-L["Captured Gnome"] = true
-L["Carolai Anise"] = true
-L["Caryssia Moonhunter"] = true
-L["Catherine Leland"] = true
-L["Cave Yeti"] = true
-L["Celie Steelwing"] = true
-L["Cenarion Hold Infantry"] = true
-L["Charred Ancient"] = true
-L["Chaw Stronghide"] = true
-L["Christoph Jeffcoat"] = true
-L["Clarise Gnarltree"] = true
-L["Cleft Scorpid"] = true
-L["Cliff Breaker"] = true
-L["Cloned Ooze"] = true
-L["Cluster Launcher"] = true
-L["Clyde Ranthal"] = true
-L["Cobalt Mageweaver"] = true
-L["Coilfang Champion"] = true
-L["Coilfang Oracle"] = true
-L["Coilfang Serpentguard"] = true
-L["Coilfang Sorceress"] = true
-L["Coilskar Siren"] = true
-L["Coldmist Widow"] = true
-L["Constance Brisboise"] = true
-L["Cook Ghilm"] = true
-L["Cookie One-Eye"] = true
-L["Coreiel"] = true
-L["Corporal Bluth"] = true
-L["Corruption"] = true
-L["Costly Menace"] = true
-L["Cowardly Crosby"] = true
-L["Crazed Ancient"] = true
-L["Crazed Murkblood Foreman"] = true
-L["Crazed Murkblood Miner"] = true
-L["Crazk Sparks"] = true
-L["Crimson Battle Mage"] = true
-L["Crimson Inquisitor"] = true
-L["Crimson Sorcerer"] = true
-L["Cro Threadstrong"] = true
-L["Crocolisk Hunting"] = true
-L["Cruelfin"] = true
-L["Crypt Crawler"] = true
-L["Crystal Boughman"] = true
-L["Culinary Crunch"] = true
-L["Cyndra Kindwhisper"] = true
-L["Daedal"] = true
-L["Daga Ramba"] = true
-L["Daggermaw Blackhide"] = true
-L["Daggle Ironshaper"] = true
-L["Dalinna"] = true
-L["Dalliah the Doomsayer"] = true
-L["Dalria"] = true
-L["Dan Golthas"] = true
-L["Dane Lindgren"] = true
-L["Daniel Bartlett"] = true
-L["Danielle Zipstitch"] = true
-L["Dank Drizzlecut"] = true
-L["Dannelor"] = true
-L["Danwe"] = true
-L["Darian Singh"] = true
-L["Darianna"] = true
-L["Dark Adept"] = true
-L["Dark Caster"] = true
-L["Dark Conclave Shadowmancer"] = true
-L["Dark Iron Demolitionist"] = true
-L["Dark Iron Dwarf"] = true
-L["Dark Iron Saboteur"] = true
-L["Dark Iron Slaver"] = true
-L["Dark Iron Taskmaster"] = true
-L["Dark Iron Tunneler"] = true
-L["Dark Iron Watchman"] = true
-L["Dark Strand Voidcaller"] = true
-L["Dark Summoner"] = true
-L["Darkfang Lurker"] = true
-L["Darkweaver Syth"] = true
-L["Darmari"] = true
-L["Darnall"] = true
-L["Daryl Riknussun"] = true
-L["Daryl Stack"] = true
-L["Deadwind Warlock"] = true
-L["Deadwood Den Watcher"] = true
-L["Deadwood Shaman"] = true
-L["Dealer Malij"] = true
-L["Deathforge Guardian"] = true
-L["Deathforge Imp"] = true
-L["Deathforge Smith"] = true
-L["Deathforge Summoner"] = true
-L["Deathforge Tinkerer"] = true
-L["Deathshadow Hound"] = true
-L["Decaying Horror"] = true
-L["Deek Fizzlebizz"] = true
-L["Defias Enchanter"] = true
-L["Defias Looter"] = true
-L["Defias Pirate"] = true
-L["Defias Profiteer"] = true
-L["Defias Renegade Mage"] = true
-L["Defias Squallshaper"] = true
-L["Delfrum Flintbeard"] = true
-L["Deneb Walker"] = true
-L["Derak Nightfall"] = true
-L["Deriz"] = true
-L["Deviate Eradication"] = true
-L["Deynna"] = true
-L["Dig Rat Stew"] = true
-L["Dirge Quikcleave"] = true
-L["Dirge's Kickin' Chimaerok Chops"] = true
-L["Disembodied Protector"] = true
-L["Disembodied Vindicator"] = true
-L["Doba"] = true
-L["Doctor Herbert Halsey"] = true
-L["Doctor Marsh"] = true
-L["Doctor Martin Felben"] = true
-L["Dolothos"] = true
-L["Doomforge Arcanasmith"] = true
-L["Doomforge Craftsman"] = true
-L["Doomforge Dragoon"] = true
-L["Doomforge Engineer"] = true
-L["Drac Roughcut"] = true
-L["Drake Lindgren"] = true
-L["Drakk Stonehand"] = true
-L["Drovnar Strongbrew"] = true
-L["Drywhisker Digger"] = true
-L["Duhng"] = true
-L["Dulvi"] = true
-L["Durnholde Rifleman"] = true
-L["Durnholde Sentry"] = true
-L["Dusky Crab Cakes"] = true
-L["Dwukk"] = true
-L["Easy Strider Living"] = true
-L["Eclipsion Archmage"] = true
-L["Eclipsion Blood Knight"] = true
-L["Eclipsion Bloodwarder"] = true
-L["Eclipsion Cavalier"] = true
-L["Eclipsion Centurion"] = true
-L["Eclipsion Soldier"] = true
-L["Eclipsion Spellbinder"] = true
-L["Edna Mullby"] = true
-L["Edrem"] = true
-L["Egomis"] = true
-L["Eiin"] = true
-L["Eldara Dawnrunner"] = true
-L["Eldrin"] = true
-L["Elixir of Pain"] = true
-L["Elynna"] = true
-L["Emrul Riknussun"] = true
-L["Enchanted Thorium Platemail: Volume I"] = true
-L["Enchanted Thorium Platemail: Volume II"] = true
-L["Enchanted Thorium Platemail: Volume III"] = true
-L["Enchanter Aeldron"] = true
-L["Enchanter Salias"] = true
-L["Enchantress Metura"] = true
-L["Enchantress Volali"] = true
-L["Enraged Air Spirit"] = true
-L["Enraged Earth Spirit"] = true
-L["Enraged Fire Spirit"] = true
-L["Enraged Water Spirit"] = true
-L["Epoch Hunter"] = true
-L["Eredar Deathbringer"] = true
-L["Eriden"] = true
-L["Erika Tate"] = true
-L["Erilia"] = true
-L["Erin Kelly"] = true
-L["Ethereal Priest"] = true
-L["Ethereum Nullifier"] = true
-L["Ethereum Researcher"] = true
-L["Eunice Burch"] = true
-L["Faldron"] = true
-L["Fantei"] = true
-L["Fariel Starsong"] = true
-L["Farii"] = true
-L["Fazu"] = true
-L["Fedryen Swiftspear"] = true
-L["Feera"] = true
-L["Felannia"] = true
-L["Felicia Doan"] = true
-L["Felika"] = true
-L["Fera Palerunner"] = true
-L["Feruul"] = true
-L["Fiery Plate Gauntlets"] = true
-L["Fimble Finespindle"] = true
-L["Finbus Geargrind"] = true
-L["Firebrand Grunt"] = true
-L["Firebrand Invoker"] = true
-L["Firebrand Legionnaire"] = true
-L["Firebrand Pyromancer"] = true
-L["Fireguard Destroyer"] = true
-L["Firegut Brute"] = true
-L["Flash Bomb Recipe"] = true
-L["Fleshbeast"] = true
-L["Foreman Marcrid"] = true
-L["Fradd Swiftgear"] = true
-L["Franklin Lloyd"] = true
-L["Fremal Doohickey"] = true
-L["Frenzied Plaguehound"] = true
-L["Frostmaul Giant"] = true
-L["Furywing"] = true
-L["Fyldan"] = true
-L["Gagsprocket"] = true
-L["Galana"] = true
-L["Galvanoth"] = true
-L["Gambarinka"] = true
-L["Gan'arg Analyzer"] = true
-L["Gargantuan Abyssal"] = true
-L["Gargantuan Ooze"] = true
-L["Gaston"] = true
-L["Gearcutter Cogspinner"] = true
-L["Gearing Redridge"] = true
-L["Gelanthis"] = true
-L["Gelman Stonehand"] = true
-L["Geofram Bouldertoe"] = true
-L["George Candarte"] = true
-L["Georgio Bolero"] = true
-L["Ghak Healtouch"] = true
-L["Gharash"] = true
-L["Ghermas"] = true
-L["Ghok'kah"] = true
-L["Ghoul Ravener"] = true
-L["Gidge Spellweaver"] = true
-L["Gigget Zipcoil"] = true
-L["Gikkix"] = true
-L["Gimble Thistlefuzz"] = true
-L["Gina MacGregor"] = true
-L["Glasshide Basilisk"] = true
-L["Gloresse"] = true
-L["Gloria Femmel"] = true
-L["Glutinous Ooze"] = true
-L["Glyx Brewright"] = true
-L["Gnaz Blunderflame"] = true
-L["Godan"] = true
-L["Gordunni Back-Breaker"] = true
-L["Gordunni Elementalist"] = true
-L["Gordunni Head-Splitter"] = true
-L["Gordunni Ogre Mage"] = true
-L["Gordunni Soulreaper"] = true
-L["Goretusk"] = true
-L["Goretusk Liver Pie"] = true
-L["Graham Van Talen"] = true
-L["Grand Warlock Nethekurse"] = true
-L["Grarnik Goodstitch"] = true
-L["Gremlock Pilsnor"] = true
-L["Gretta Finespindle"] = true
-L["Gretta Ganter"] = true
-L["Greyheart Tidecaller"] = true
-L["Grikka"] = true
-L["Grimtak"] = true
-L["Grimtotem Geomancer"] = true
-L["Grisy Spicecrackle"] = true
-L["Gromden"] = true
-L["Grondal Moonbreeze"] = true
-L["Groum Stonebeard"] = true
-L["Grumnus Steelshaper"] = true
-L["Grutah"] = true
-L["Guillaume Sorouy"] = true
-L["Gurubashi Champion"] = true
-L["Haalrun"] = true
-L["Haferet"] = true
-L["Hagrus"] = true
-L["Hahrana Ironhide"] = true
-L["Halazzi"] = true
-L["Hama"] = true
-L["Hamanar"] = true
-L["Hammered Patron"] = true
-L["Hammon Karwn"] = true
-L["Harggan"] = true
-L["Harklan Moongrove"] = true
-L["Harlown Darkweave"] = true
-L["Harn Longcast"] = true
-L["Heavy War Golem"] = true
-L["Heldan Galesong"] = true
-L["Helenia Olden"] = true
-L["Hgarth"] = true
-L["High Enchanter Bardolan"] = true
-L["Highland Fleshstalker"] = true
-L["Hillsbrad Tailor"] = true
-L["Himmik"] = true
-L["Hive'Zara Sandstalker"] = true
-L["Hive'Zara Wasp"] = true
-L["Horns of Frenzy"] = true
-L["Hula'mahi"] = true
-L["Humphry"] = true
-L["Hurnak Grimmord"] = true
-L["Illidari Watcher"] = true
-L["Imperial Plate Belt"] = true
-L["Imperial Plate Boots"] = true
-L["Imperial Plate Bracer"] = true
-L["Imperial Plate Chest"] = true
-L["Imperial Plate Helm"] = true
-L["Imperial Plate Leggings"] = true
-L["Imperial Plate Shoulders"] = true
-L["Incandescent Fel Spark"] = true
-L["Indormi"] = true
-L["Innkeeper Biribi"] = true
-L["Innkeeper Fizzgrimble"] = true
-L["Innkeeper Grilka"] = true
-L["Inscriber Saalyn"] = true
-L["Insidion"] = true
-L["Ironus Coldsteel"] = true
-L["Jabbey"] = true
-L["Jack Trapper"] = true
-L["Jadefire Rogue"] = true
-L["Jadefire Trickster"] = true
-L["Jaedenar Cultist"] = true
-L["Jalane Ayrole"] = true
-L["James Van Brunt"] = true
-L["Jan'alai"] = true
-L["Jandia"] = true
-L["Janet Hommers"] = true
-L["Jangdor Swiftstrider"] = true
-L["Jannos Ironwill"] = true
-L["Jaquilina Dramet"] = true
-L["Jase Farlane"] = true
-L["Jaxin Chong"] = true
-L["Jazdalaad"] = true
-L["Jazzrik"] = true
-L["Jeeda"] = true
-L["Jemma Quikswitch"] = true
-L["Jenna Lemkenilli"] = true
-L["Jennabink Powerseam"] = true
-L["Jessara Cordell"] = true
-L["Jhag"] = true
-L["Jim Saltit"] = true
-L["Jinky Twizzlefixxit"] = true
-L["Johan Barnes"] = true
-L["Johan Focht"] = true
-L["John Burnside"] = true
-L["Jormund Stonebrow"] = true
-L["Josef Gregorian"] = true
-L["Joseph Moore"] = true
-L["Josephine Lister"] = true
-L["Joys of Omosh"] = true
-L["Jubie Gadgetspring"] = true
-L["Jun'ha"] = true
-L["Juno Dufrain"] = true
-L["Jutak"] = true
-L["K. Lee Smallfry"] = true
-L["Kaita Deepforge"] = true
-L["Kalaen"] = true
-L["Kalinda"] = true
-L["Kalldan Felmoon"] = true
-L["Kamari"] = true
-L["Kanaria"] = true
-L["Kania"] = true
-L["Karaaz"] = true
-L["Karn Stonehoof"] = true
-L["Karolek"] = true
-L["Kayaart"] = true
-L["Kaz'rogal"] = true
-L["Keelen Sheets"] = true
-L["Keena"] = true
-L["Kelgruk Bloodaxe"] = true
-L["Kelsey Yance"] = true
-L["Kendor Kabonka"] = true
-L["Khara Deepwater"] = true
-L["Kiknikle"] = true
-L["Kil'hala"] = true
-L["Killian Sanatha"] = true
-L["Kilxx"] = true
-L["Kireena"] = true
-L["Kirin'Var Spectre"] = true
-L["Kithas"] = true
-L["Kitta Firewind"] = true
-L["Klaven's Tower"] = true
-L["Knaz Blunderflame"] = true
-L["Knot Thimblejack"] = true
-L["Kodo Hide Bag"] = true
-L["Kor'geld"] = true
-L["Koren"] = true
-L["Kradu Grimblade"] = true
-L["Kray"] = true
-L["Krek Cragcrush"] = true
-L["Kriggon Talsone"] = true
-L["Krinkle Goodsteel"] = true
-L["Krugosh"] = true
-L["Krulmoo Fullmoon"] = true
-L["Krunn"] = true
-L["Kudrii"] = true
-L["Kulwia"] = true
-L["Kurdram Stonehammer"] = true
-L["Kurzen Commando"] = true
-L["Kylanna"] = true
-L["Kylanna Windwhisper"] = true
-L["Kylene"] = true
-L["Kzixx"] = true
-L["L'lura Goldspun"] = true
-L["Laird"] = true
-L["Lalina Summermoon"] = true
-L["Landraelanis"] = true
-L["Lardan"] = true
-L["Lava Surger"] = true
-L["Lavinia Crowe"] = true
-L["Lawrence Schneider"] = true
-L["Lebowski"] = true
-L["Leeli Longhaggle"] = true
-L["Legashi Rogue"] = true
-L["Leo Sarn"] = true
-L["Leonard Porter"] = true
-L["Lethon"] = true
-L["Lieutenant General Andorov"] = true
-L["Lilliam Sparkspindle"] = true
-L["Lilly"] = true
-L["Lilyssia Nightbreeze"] = true
-L["Lindea Rabonne"] = true
-L["Lingering Highborne"] = true
-L["Liquid Stone"] = true
-L["Lissaf"] = true
-L["Lizbeth Cromwell"] = true
-L["Logannas"] = true
-L["Logistics Officer Ulrike"] = true
-L["Lokhtos Darkbargainer"] = true
-L["Loolruna"] = true
-L["Lorelae Wintersong"] = true
-L["Lorokeem"] = true
-L["Lucan Cordell"] = true
-L["Lucc"] = true
-L["Lucifron"] = true
-L["Lyna"] = true
-L["Lynalis"] = true
-L["Mack Diver"] = true
-L["Madame Ruby"] = true
-L["Magar"] = true
-L["Mageslayer"] = true
-L["Magister Kalendris"] = true
-L["Magistrix Eredania"] = true
-L["Magnus Frostwake"] = true
-L["Mahani"] = true
-L["Mahir Redstroke"] = true
-L["Mahu"] = true
-L["Mak"] = true
-L["Makaru"] = true
-L["Malcomb Wynn"] = true
-L["Maleki the Pallid"] = true
-L["Mallen Swain"] = true
-L["Malygen"] = true
-L["Mangorn Flinthammer"] = true
-L["Mari Stonehand"] = true
-L["Maria Lumere"] = true
-L["Martine Tramblay"] = true
-L["Mary Edras"] = true
-L["Masat T'andr"] = true
-L["Master Chef Mouldier"] = true
-L["Master of the Wild Leather"] = true
-L["Mathar G'ochar"] = true
-L["Matt Johnson"] = true
-L["Mavralyn"] = true
-L["Mazk Snipeshot"] = true
-L["Me'lynn"] = true
-L["Mechano-Lord Capacitus"] = true
-L["Meilosh"] = true
-L["Mekgineer Steamrigger"] = true
-L["Mekgineer Thermaplugg"] = true
-L["Melaris"] = true
-L["Mendorn"] = true
-L["Mennu the Betrayer"] = true
-L["Miall"] = true
-L["Miao'zan"] = true
-L["Micha Yance"] = true
-L["Michelle Belle"] = true
-L["Mildred Fletcher"] = true
-L["Milla Fairancora"] = true
-L["Millie Gregorian"] = true
-L["Mire Lord"] = true
-L["Mirvedon"] = true
-L["Mishta"] = true
-L["Mission: Possible But Not Probable"] = true
-L["Mixie Farshot"] = true
-L["Mo'arg Incinerator"] = true
-L["Mo'arg Weaponsmith"] = true
-L["Moam"] = true
-L["Mok'Nathal Treats"] = true
-L["Molt Thorn"] = true
-L["Molten Giant"] = true
-L["Monstrous Kaliri"] = true
-L["Montarr"] = true
-L["Moonglow Vest"] = true
-L["Moonrage Tailor"] = true
-L["Moordo"] = true
-L["Moroes"] = true
-L["Mosh'Ogg Brute"] = true
-L["Mossflayer Shadowhunter"] = true
-L["Mot Dawnstrider"] = true
-L["Mountaineer Boombellow"] = true
-L["Muaat"] = true
-L["Muculent Ooze"] = true
-L["Mudduk"] = true
-L["Mudrock Tortoise"] = true
-L["Muheru the Weaver"] = true
-L["Mukdrak"] = true
-L["Mumman"] = true
-L["Murk Worm"] = true
-L["Murkblood Raider"] = true
-L["Murmur"] = true
-L["Mutate Fear-Shrieker"] = true
-L["Muuran"] = true
-L["Mycah"] = true
-L["Mythrin'dir"] = true
-L["Naal Mistrunner"] = true
-L["Nadyia Maneweaver"] = true
-L["Nahogg"] = true
-L["Naka"] = true
-L["Nakodu"] = true
-L["Nalorakk"] = true
-L["Namdo Bizzfizzle"] = true
-L["Nandar Branson"] = true
-L["Nardstrum Kupferzwick"] = true
-L["Narj Deepslice"] = true
-L["Narkk"] = true
-L["Narv Hidecrafter"] = true
-L["Nasmara Moonsong"] = true
-L["Nata Dawnstrider"] = true
-L["Neal Allen"] = true
-L["Neii"] = true
-L["Nergal"] = true
-L["Nerrist"] = true
-L["Nessa Shadowsong"] = true
-L["Nether Sorceress"] = true
-L["Nethermancer Sepethrea"] = true
-L["Nethermine Flayer"] = true
-L["Nexus Stalker"] = true
-L["Nexus-Prince Shaffar"] = true
-L["Night Mistress"] = true
-L["Nimar the Slayer"] = true
-L["Nina Lightbrew"] = true
-L["Nioma"] = true
-L["Nissa Firestone"] = true
-L["Nixx Sprocketspring"] = true
-L["Nogg"] = true
-L["Nula the Butcher"] = true
-L["Nurse Neela"] = true
-L["Nus"] = true
-L["Nutral"] = true
-L["Nyoma"] = true
-L["Obsidia"] = true
-L["Ockil"] = true
-L["Ogg'marr"] = true
-L["Oglethorpe Obnoticus"] = true
-L["Okothos Ironrager"] = true
-L["Okuno"] = true
-L["Oloraak"] = true
-L["On Iron Pauldrons"] = true
-L["Ontuvo"] = true
-L["Ormer's Revenge"] = true
-L["Otho Moji'ko"] = true
-L["Outfitter Eric"] = true
-L["Padaar"] = true
-L["Pand Stonebinder"] = true
-L["Pathaleon the Calculator"] = true
-L["Paulsta'ats"] = true
-L["Penney Copperpinch"] = true
-L["Peter Galen"] = true
-L["Phantom Attendant"] = true
-L["Phantom Guest"] = true
-L["Phantom Stagehand"] = true
-L["Phantom Valet"] = true
-L["Phea"] = true
-L["Pikkle"] = true
-L["Plugger Spazzring"] = true
-L["Portal Seeker"] = true
-L["Pratt McGrubben"] = true
-L["Priestess Delrissa"] = true
-L["Primal Ooze"] = true
-L["Princess Tempestria"] = true
-L["Prospector Nachlan"] = true
-L["Provisioner Nasela"] = true
-L["Putridus Trickster"] = true
-L["Pyall Silentstride"] = true
-L["Pyrewood Tailor"] = true
-L["Qia"] = true
-L["Quarelestra"] = true
-L["Quartermaster Davian Vaclav"] = true
-L["Quartermaster Endarin"] = true
-L["Quartermaster Enuril"] = true
-L["Quartermaster Jaffrey Noreliqe"] = true
-L["Quartermaster Miranda Breechlock"] = true
-L["Quartermaster Urgronn"] = true
-L["Quartermaster Zigris"] = true
-L["Quelis"] = true
-L["Rage Talon Fire Tongue"] = true
-L["Rage Winterchill"] = true
-L["Raging Skeleton"] = true
-L["Randal Worth"] = true
-L["Ranik"] = true
-L["Rann Flamespinner"] = true
-L["Rartar"] = true
-L["Rathis Tomber"] = true
-L["Rawrk"] = true
-L["Razaani Spell-Thief"] = true
-L["Razia"] = true
-L["Razzashi Broodwidow"] = true
-L["Recipe of the Kaldorei"] = true
-L["Redridge Goulash"] = true
-L["Refik"] = true
-L["Rhiannon Davis"] = true
-L["Ribbly's Crony"] = true
-L["Ridge Huntress"] = true
-L["Ridgespine Stalker"] = true
-L["Rift Keeper"] = true
-L["Rift Lord"] = true
-L["Rikqiz"] = true
-L["Rin'wosho the Trader"] = true
-L["Rivendark"] = true
-L["Rizz Loosebolt"] = true
-L["Rogvar"] = true
-L["Rohok"] = true
-L["Ronald Burch"] = true
-L["Rotgath Stonebeard"] = true
-L["Rotting Behemoth"] = true
-L["Roxxik"] = true
-L["Rungor"] = true
-L["Ruppo Zipcoil"] = true
-L["Saenorion"] = true
-L["Saltstone Crystalhide"] = true
-L["Sarah Tanner"] = true
-L["Saru Steelfury"] = true
-L["Sassa Weldwell"] = true
-L["Sathein"] = true
-L["Scarab"] = true
-L["Scargil"] = true
-L["Scarlet Archmage"] = true
-L["Scarlet Chaplain"] = true
-L["Scarlet Cleric"] = true
-L["Scarlet Curate"] = true
-L["Scarlet Defender"] = true
-L["Scarlet Enchanter"] = true
-L["Scarlet Inquisitor"] = true
-L["Scarlet Myrmidon"] = true
-L["Scarlet Smith"] = true
-L["Scarlet Sorcerer"] = true
-L["Scarlet Spellbinder"] = true
-L["Scarlet Warder"] = true
-L["Scarlet Wizard"] = true
-L["Scholomance Adept"] = true
-L["Scholomance Dark Summoner"] = true
-L["Se'Jib"] = true
-L["Searing Elemental"] = true
-L["Seasoned Wolf Kabobs"] = true
-L["Sedana"] = true
-L["Seer Janidi"] = true
-L["Seersa Copperpinch"] = true
-L["Sellandus"] = true
-L["Selling Fish"] = true
-L["Sempstress Ambershine"] = true
-L["Serge Hinott"] = true
-L["Sethekk Ravenguard"] = true
-L["Sewa Mistrunner"] = true
-L["Shaani"] = true
-L["Shade of Aran"] = true
-L["Shadi Mistrunner"] = true
-L["Shadow Council Warlock"] = true
-L["Shadowmage"] = true
-L["Shadowmoon Darkcaster"] = true
-L["Shadowsword Lifeshaper"] = true
-L["Shadowsword Vanquisher"] = true
-L["Shadowsworn Thug"] = true
-L["Shadowy Assassin"] = true
-L["Shaina Fuller"] = true
-L["Shankys"] = true
-L["Sharth Voldoun"] = true
-L["Shartuul"] = true
-L["Shattered Hand Berserker"] = true
-L["Shattered Hand Centurion"] = true
-L["Shattered Hand Champion"] = true
-L["Shayis Steelfury"] = true
-L["Sheendra Tallgrass"] = true
-L["Shelene Rhobart"] = true
-L["Shen'dralar Provisioner"] = true
-L["Sheri Zipstitch"] = true
-L["Shoveltusk Soup Again?"] = true
-L["Shrike Bat"] = true
-L["Sid Limbardi"] = true
-L["Simon Tanner"] = true
-L["Simon Unit"] = true
-L["Skeletal Flayer"] = true
-L["Skreah"] = true
-L["Skullsplitter Mystic"] = true
-L["Skyguard Stable Master"] = true
-L["Slagg"] = true
-L["Slavering Ghoul"] = true
-L["Smelt On, Smelt Off"] = true
-L["Smith Argus"] = true
-L["Smooth as Butter"] = true
-L["Smudge Thunderwood"] = true
-L["Snakestone of the Shadow Huntress"] = true
-L["Snang"] = true
-L["Snarl"] = true
-L["Solakar Flamewreath"] = true
-L["Son of Arkkoroc"] = true
-L["Soolie Berryfizz"] = true
-L["Soothing Turtle Bisque"] = true
-L["Sovik"] = true
-L["Spectral Charger"] = true
-L["Spectral Citizen"] = true
-L["Spectral Researcher"] = true
-L["Spectral Teacher"] = true
-L["Spell Shade"] = true
-L["Spirestone Battle Mage"] = true
-L["Spirestone Mystic"] = true
-L["Spirestone Warlord"] = true
-L["Spitelash Siren"] = true
-L["Springspindle Fizzlegear"] = true
-L["Sprite Jumpsprocket"] = true
-L["Stephen Ryback"] = true
-L["Stone Guardian"] = true
-L["Stonevault Seer"] = true
-L["Stranglethorn Tiger"] = true
-L["Strashaz Warrior"] = true
-L["Stromgarde Defender"] = true
-L["Stuart Fleming"] = true
-L["Suffering Highborne"] = true
-L["Sul'lithuz Broodling"] = true
-L["Sumi"] = true
-L["Sunblade Arch Mage"] = true
-L["Sunblade Cabalist"] = true
-L["Sunblade Dawn Priest"] = true
-L["Sunblade Dusk Priest"] = true
-L["Sunblade Protector"] = true
-L["Sunblade Scout"] = true
-L["Sunblade Slayer"] = true
-L["Sunblade Vindicator"] = true
-L["Sunfury Arcanist"] = true
-L["Sunfury Arch Mage"] = true
-L["Sunfury Archer"] = true
-L["Sunfury Bloodwarder"] = true
-L["Sunfury Bowman"] = true
-L["Sunfury Geologist"] = true
-L["Sunfury Researcher"] = true
-L["Sunseeker Astromage"] = true
-L["Sunseeker Botanist"] = true
-L["Super-Seller 680"] = true
-L["Supply Officer Mills"] = true
-L["Supplying the Front"] = true
-L["Swampwalker"] = true
-L["Swampwalker Elder"] = true
-L["Sweet Serenity"] = true
-L["Sylann"] = true
-L["Sylvanna Forestmoon"] = true
-L["Syndicate Assassin"] = true
-L["Syndicate Spy"] = true
-L["Syphoner"] = true
-L["Taerar"] = true
-L["Tal"] = true
-L["Taladan"] = true
-L["Tally Berryfizz"] = true
-L["Talmar"] = true
-L["Tamar"] = true
-L["Tangled Horror"] = true
-L["Tansy Puddlefizz"] = true
-L["Tarban Hearthgrain"] = true
-L["Tari'qa"] = true
-L["Tarn"] = true
-L["Tatiana"] = true
-L["Teg Dawnstrider"] = true
-L["Tel'Athir"] = true
-L["Telonis"] = true
-L["Tepa"] = true
-L["Terestian Illhoof"] = true
-L["Terrormaster"] = true
-L["Thaddeus Webb"] = true
-L["Thamner Pol"] = true
-L["Tharynn Bouden"] = true
-L["Thaurissan Firewalker"] = true
-L["The Art of the Imbue"] = true
-L["The Demon Forge"] = true
-L["The Great Moongraze Hunt"] = true
-L["The Great Silver Deceiver"] = true
-L["The Origins of Smithing"] = true
-L["The Prophet Skeram"] = true
-L["The Rescue"] = true
-L["The Rokk"] = true
-L["The Taste Test"] = true
-L["The Undermarket"] = true
-L["The Windreaver"] = true
-L["The Zapthrottle Mote Extractor!"] = true
-L["Theka the Martyr"] = true
-L["Thelsamar Blood Sausages"] = true
-L["Theramore Infiltrator"] = true
-L["Theramore Marine"] = true
-L["Theramore Preserver"] = true
-L["Therum Deepforge"] = true
-L["Thomas Yance"] = true
-L["Thonys Pillarstone"] = true
-L["Thorkaf Dragoneye"] = true
-L["Thornfang Ravager"] = true
-L["Thorngrin the Tender"] = true
-L["Thrag Stonehoof"] = true
-L["Thund"] = true
-L["Thuzadin Shadowcaster"] = true
-L["Tilli Thistlefuzz"] = true
-L["Time-Lost Shadowmage"] = true
-L["Timothy Worthington"] = true
-L["Tinkerwiz"] = true
-L["Tinkmaster Overspark"] = true
-L["Tognus Flintfire"] = true
-L["Tomas"] = true
-L["Tomb Fiend"] = true
-L["Torloth the Magnificent"] = true
-L["Torn Fin Coastrunner"] = true
-L["Torn Fin Muckdweller"] = true
-L["Torn Fin Oracle"] = true
-L["Torn Fin Tidehunter"] = true
-L["Trampled Under Foot"] = true
-L["Traugh"] = true
-L["Treant"] = true
-L["Trianna"] = true
-L["Trixie Quikswitch"] = true
-L["Truk Wildbeard"] = true
-L["Tunkk"] = true
-L["Twilight Avenger"] = true
-L["Twilight Drakonaar"] = true
-L["Twilight Fire Guard"] = true
-L["Twilight Geolord"] = true
-L["Ug'thok"] = true
-L["Ulthaan"] = true
-L["Ulthir"] = true
-L["Una"] = true
-L["Unchained Doombringer"] = true
-L["Unseen Servant"] = true
-L["Uriku"] = true
-L["Uthok"] = true
-L["Uthrar Threx"] = true
-L["Vaean"] = true
-L["Valdaron"] = true
-L["Vance Undergloom"] = true
-L["Vargus"] = true
-L["Vazario Linkgrease"] = true
-L["Veenix"] = true
-L["Vekh'nir Dreadhawk"] = true
-L["Vekniss Guardian"] = true
-L["Vendor-Tron 1000"] = true
-L["Vengeful Ancient"] = true
-L["Venture Co. Geologist"] = true
-L["Venture Co. Strip Miner"] = true
-L["Vhan"] = true
-L["Vharr"] = true
-L["Victor Ward"] = true
-L["Viggz Shinesparked"] = true
-L["Vilebranch Hideskinner"] = true
-L["Vilebranch Shadowcaster"] = true
-L["Vir'aani Arcanist"] = true
-L["Vira Younghoof"] = true
-L["Vivianna"] = true
-L["Vizzklick"] = true
-L["Vodesiin"] = true
-L["Voidshrieker"] = true
-L["Volchan"] = true
-L["Vosur Brakthel"] = true
-L["Waldor"] = true
-L["Warlord Kalithresh"] = true
-L["Warp Splinter"] = true
-L["Wastewander Assassin"] = true
-L["Wastewander Bandit"] = true
-L["Wastewander Rogue"] = true
-L["Wastewander Scofflaw"] = true
-L["Wastewander Shadow Mage"] = true
-L["Wastewander Thief"] = true
-L["Weapon Technician"] = true
-L["Wenna Silkbeard"] = true
-L["Werg Thickblade"] = true
-L["Westfall Stew"] = true
-L["Whuut"] = true
-L["Wik'Tar"] = true
-L["Wild Hearts"] = true
-L["Wild Leather Boots"] = true
-L["Wild Leather Helmet"] = true
-L["Wild Leather Leggings"] = true
-L["Wild Leather Shoulders"] = true
-L["Wild Leather Vest"] = true
-L["Wind Trader Lathrai"] = true
-L["Winterfall Den Watcher"] = true
-L["Winterfall Totemic"] = true
-L["Winterfall Ursa"] = true
-L["Witherbark Berserker"] = true
-L["Witherbark Headhunter"] = true
-L["Witherbark Shadow Hunter"] = true
-L["Withered Ancient"] = true
-L["Woodpaw Mongrel"] = true
-L["Wrahk"] = true
-L["Wrath Corruptor"] = true
-L["Wrath Hammer Construct"] = true
-L["Wrathwalker"] = true
-L["Wulan"] = true
-L["Wulmort Jinglepocket"] = true
-L["Wunna Darkmane"] = true
-L["Xandar Goodbeard"] = true
-L["Xen'to"] = true
-L["Xizk Goodstitch"] = true
-L["Xizzer Fizzbolt"] = true
-L["Xylinnia Starshine"] = true
-L["Xyrol"] = true
-L["Yarr Hammerstone"] = true
-L["Yatheon"] = true
-L["Yelmak"] = true
-L["Yonada"] = true
-L["Ysondre"] = true
-L["Ythyar"] = true
-L["Yuka Screwspigot"] = true
-L["Yurial Soulwater"] = true
-L["Zalas Witherbark"] = true
-L["Zamja"] = true
-L["Zan Shivsproket"] = true
-L["Zannok Hidepiercer"] = true
-L["Zansoa"] = true
-L["Zaralda"] = true
-L["Zarcsin"] = true
-L["Zarena Cromwind"] = true
-L["Zargh"] = true
-L["Zarise"] = true
-L["Zarrin"] = true
-L["Zebig"] = true
-L["Zixil"] = true
-L["Zorbin Fandazzle"] = true
-L["Zul'jin"] = true
-L["Zula Slagfury"] = true
-L["Zurai"] = true
-L["\"Cookie\" McWeaksauce"] = true
+	-- Do not translate anything below this line without talking to Ackis first please.

diff --git a/RecipeDB/ARL-Engineer.lua b/RecipeDB/ARL-Engineer.lua
index abe848e..949384a 100644
--- a/RecipeDB/ARL-Engineer.lua
+++ b/RecipeDB/ARL-Engineer.lua
@@ -571,7 +571,8 @@ function addon:InitEngineering(RecipeDB)
 	-- Item Stats:
 	-- Item Stats: val41id6
 	recipecount = recipecount + 1
-	self:addTradeSkill(RecipeDB, 8895, 225, 7189, 1, 4036)
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 8895, 225, 7189, 1, 4036, 20222)
 	self:addTradeFlags(RecipeDB, 8895, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
 	self:addTradeAcquire(RecipeDB, 8895, 1, 8126)

@@ -865,7 +866,8 @@ function addon:InitEngineering(RecipeDB)
 	-- Item Stats:
 	-- Item Stats: val15id3val190id6
 	recipecount = recipecount + 1
-	self:addTradeSkill(RecipeDB, 12717, 205, 10542, 1, 4036)
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 12717, 205, 10542, 1, 4036, 20222)
 	self:addTradeFlags(RecipeDB, 12717, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,58)
 	self:addTradeAcquire(RecipeDB, 12717, 1, 8126)

@@ -875,7 +877,8 @@ function addon:InitEngineering(RecipeDB)
 	-- Item Stats:
 	-- Item Stats: val44id6val15id33
 	recipecount = recipecount + 1
-	self:addTradeSkill(RecipeDB, 12718, 205, 10543, 1, 4036)
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 12718, 205, 10543, 1, 4036, 20222)
 	self:addTradeFlags(RecipeDB, 12718, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,56)
 	self:addTradeAcquire(RecipeDB, 12718, 1, 8126)

@@ -912,7 +915,8 @@ function addon:InitEngineering(RecipeDB)
 	-- Flags: All classes, Item BoE, Recipe BoP,
 	-- Item Stats:
 	recipecount = recipecount + 1
-	self:addTradeSkill(RecipeDB, 12754, 195, 10586, 1, 4036)
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 12754, 195, 10586, 1, 4036, 20222)
 	self:addTradeFlags(RecipeDB, 12754, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
 	self:addTradeAcquire(RecipeDB, 12754, 1, 8126, 1, 8738)

@@ -921,7 +925,8 @@ function addon:InitEngineering(RecipeDB)
 	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
 	-- Item Stats:
 	recipecount = recipecount + 1
-	self:addTradeSkill(RecipeDB, 12755, 190, 10587, 1, 4036)
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 12755, 190, 10587, 1, 4036, 20222)
 	self:addTradeFlags(RecipeDB, 12755, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
 	self:addTradeAcquire(RecipeDB, 12755, 1, 8126, 1, 8738)

@@ -931,7 +936,8 @@ function addon:InitEngineering(RecipeDB)
 	-- Item Stats:
 	-- Item Stats: val15id3val50id6
 	recipecount = recipecount + 1
-	self:addTradeSkill(RecipeDB, 12758, 245, 10588, 1, 4036)
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 12758, 245, 10588, 1, 4036, 20222)
 	self:addTradeFlags(RecipeDB, 12758, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,56)
 	self:addTradeAcquire(RecipeDB, 12758, 1, 8126, 1, 8738)

@@ -950,7 +956,8 @@ function addon:InitEngineering(RecipeDB)
 	-- Flags: All classes, Item BoE, Recipe BoP,
 	-- Item Stats:
 	recipecount = recipecount + 1
-	self:addTradeSkill(RecipeDB, 12760, 165, 10646, 1, 4036)
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 12760, 165, 10646, 1, 4036, 20222)
 	self:addTradeFlags(RecipeDB, 12760, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
 	self:addTradeAcquire(RecipeDB, 12760, 1, 8126)

@@ -1061,7 +1068,8 @@ function addon:InitEngineering(RecipeDB)
 	-- Flags: All classes, Item BoP, Recipe BoP, Armor, Trinket,
 	-- Item Stats:
 	recipecount = recipecount + 1
-	self:addTradeSkill(RecipeDB, 12908, 240, 10727, 1, 4036)
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 12908, 240, 10727, 1, 4036, 20222)
 	self:addTradeFlags(RecipeDB, 12908, 1,2,3,21,22,23,24,25,26,27,28,29,30,37,41,47,63)
 	self:addTradeAcquire(RecipeDB, 12908, 1, 8126, 1, 8738)

@@ -1071,7 +1079,8 @@ function addon:InitEngineering(RecipeDB)
 	-- Flags: All classes, Item BoE, Recipe BoP, Armor, Trinket,
 	-- Item Stats:
 	recipecount = recipecount + 1
-	self:addTradeSkill(RecipeDB, 13240, 1, 10577, 1, 4036)
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 13240, 1, 10577, 1, 4036, 20222)
 	self:addTradeFlags(RecipeDB, 13240, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,47,63)
 	-- No acquire information

@@ -1089,7 +1098,8 @@ function addon:InitEngineering(RecipeDB)
 	-- Flags: All classes, Item BoP, Recipe BoP,
 	-- Item Stats:
 	recipecount = recipecount + 1
-	self:addTradeSkill(RecipeDB, 15628, 205, 11825, 1, 4036)
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 15628, 205, 11825, 1, 4036, 20222)
 	self:addTradeFlags(RecipeDB, 15628, 3,21,22,23,24,25,26,27,28,29,30,37,41)
 	-- No acquire information

@@ -2013,7 +2023,8 @@ function addon:InitEngineering(RecipeDB)
 	-- Flags: All classes, Item BoE, Recipe BoP,
 	-- Item Stats:
 	recipecount = recipecount + 1
-	self:addTradeSkill(RecipeDB, 30558, 305, 23826, 1, 4036)
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 30558, 305, 23826, 1, 4036, 20222)
 	self:addTradeFlags(RecipeDB, 30558, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
 	self:addTradeAcquire(RecipeDB, 30558, 1, 8126, 1, 8738)

@@ -2022,7 +2033,8 @@ function addon:InitEngineering(RecipeDB)
 	-- Flags: All classes, Item BoE, Recipe BoP,
 	-- Item Stats:
 	recipecount = recipecount + 1
-	self:addTradeSkill(RecipeDB, 30560, 320, 23827, 1, 4036)
+	-- Recipe Specialty of 20222
+	self:addTradeSkill(RecipeDB, 30560, 320, 23827, 1, 4036, 20222)
 	self:addTradeFlags(RecipeDB, 30560, 1,2,3,21,22,23,24,25,26,27,28,29,30,36,41)
 	self:addTradeAcquire(RecipeDB, 30560, 1, 8126, 1, 8738)