-- ------------------------------------------------------------------------------ -- -- TradeSkillMaster -- -- https://tradeskillmaster.com -- -- All Rights Reserved - Detailed license information included with addon. -- -- ------------------------------------------------------------------------------ -- local TSM = select(2, ...) ---@type TSM local ProfessionInfo = TSM.Init("Data.ProfessionInfo") ---@class Data.ProfessionInfo local Environment = TSM.Include("Environment") -- ============================================================================ -- Profession Info Data -- ============================================================================ local PROFESSION_NAMES = { Mining = GetSpellInfo(2575), Smelting = GetSpellInfo(2656), Poisons = GetSpellInfo(2842), } local CLASSIC_SUB_NAMES = { [APPRENTICE] = true, [JOURNEYMAN] = true, [EXPERT] = true, [ARTISAN] = true, [MASTER] = true, [GRAND_MASTER] = true, ["大师级"] = true, -- zhCN ARTISAN ["Мастеровой"] = true, -- ruRU ARTISAN } local PROFESSION_NAME_MAP = { ["Costura"] = "Sastrería", ["Marroquinería"] = "Peletería", ["Ingénierie"] = "Ingénieur", ["Secourisme"] = "Premiers soins", } local VELLUM_ITEM_STRING = "i:38682" local WRATH_VELLUMS = { [7418] = "i:38682", -- Scroll of Enchant Bracer - Minor Health [7420] = "i:38682", -- Scroll of Enchant Chest - Minor Health [7426] = "i:38682", -- Scroll of Enchant Chest - Minor Absorption [7428] = "i:38682", -- Scroll of Enchant Bracer - Minor Deflection [7443] = "i:38682", -- Scroll of Enchant Chest - Minor Mana [7454] = "i:38682", -- Scroll of Enchant Cloak - Minor Resistance [7457] = "i:38682", -- Scroll of Enchant Bracer - Minor Stamina [7745] = "i:39349", -- Scroll of Enchant 2H Weapon - Minor Impact [7748] = "i:38682", -- Scroll of Enchant Chest - Lesser Health [7766] = "i:38682", -- Scroll of Enchant Bracer - Minor Spirit [7771] = "i:38682", -- Scroll of Enchant Cloak - Minor Protection [7776] = "i:38682", -- Scroll of Enchant Chest - Lesser Mana [7779] = "i:38682", -- Scroll of Enchant Bracer - Minor Agility [7782] = "i:38682", -- Scroll of Enchant Bracer - Minor Strength [7786] = "i:39349", -- Scroll of Enchant Weapon - Minor Beastslayer [7788] = "i:39349", -- Scroll of Enchant Weapon - Minor Striking [7793] = "i:39349", -- Scroll of Enchant 2H Weapon - Lesser Intellect [7857] = "i:38682", -- Scroll of Enchant Chest - Health [7859] = "i:38682", -- Scroll of Enchant Bracer - Lesser Spirit [7861] = "i:38682", -- Scroll of Enchant Cloak - Lesser Fire Resistance [7863] = "i:38682", -- Scroll of Enchant Boots - Minor Stamina [7867] = "i:38682", -- Scroll of Enchant Boots - Minor Agility [13378] = "i:38682", -- Scroll of Enchant Shield - Minor Stamina [13380] = "i:39349", -- Scroll of Enchant 2H Weapon - Lesser Spirit [13419] = "i:38682", -- Scroll of Enchant Cloak - Minor Agility [13421] = "i:38682", -- Scroll of Enchant Cloak - Lesser Protection [13464] = "i:38682", -- Scroll of Enchant Shield - Lesser Protection [13485] = "i:38682", -- Scroll of Enchant Shield - Lesser Spirit [13501] = "i:38682", -- Scroll of Enchant Bracer - Lesser Stamina [13503] = "i:39349", -- Scroll of Enchant Weapon - Lesser Striking [13522] = "i:38682", -- Scroll of Enchant Cloak - Lesser Shadow Resistance [13529] = "i:39349", -- Scroll of Enchant 2H Weapon - Lesser Impact [13536] = "i:38682", -- Scroll of Enchant Bracer - Lesser Strength [13538] = "i:38682", -- Scroll of Enchant Chest - Lesser Absorption [13607] = "i:38682", -- Scroll of Enchant Chest - Mana [13612] = "i:38682", -- Scroll of Enchant Gloves - Mining [13617] = "i:38682", -- Scroll of Enchant Gloves - Herbalism [13620] = "i:38682", -- Scroll of Enchant Gloves - Fishing [13622] = "i:38682", -- Scroll of Enchant Bracer - Lesser Intellect [13626] = "i:38682", -- Scroll of Enchant Chest - Minor Stats [13631] = "i:38682", -- Scroll of Enchant Shield - Lesser Stamina [13635] = "i:38682", -- Scroll of Enchant Cloak - Defense [13637] = "i:38682", -- Scroll of Enchant Boots - Lesser Agility [13640] = "i:38682", -- Scroll of Enchant Chest - Greater Health [13642] = "i:38682", -- Scroll of Enchant Bracer - Spirit [13644] = "i:38682", -- Scroll of Enchant Boots - Lesser Stamina [13646] = "i:38682", -- Scroll of Enchant Bracer - Lesser Deflection [13648] = "i:38682", -- Scroll of Enchant Bracer - Stamina [13653] = "i:39349", -- Scroll of Enchant Weapon - Lesser Beastslayer [13655] = "i:39349", -- Scroll of Enchant Weapon - Lesser Elemental Slayer [13657] = "i:38682", -- Scroll of Enchant Cloak - Fire Resistance [13659] = "i:38682", -- Scroll of Enchant Shield - Spirit [13661] = "i:38682", -- Scroll of Enchant Bracer - Strength [13663] = "i:38682", -- Scroll of Enchant Chest - Greater Mana [13687] = "i:38682", -- Scroll of Enchant Boots - Lesser Spirit [13689] = "i:38682", -- Scroll of Enchant Shield - Lesser Block [13693] = "i:39349", -- Scroll of Enchant Weapon - Striking [13695] = "i:39349", -- Scroll of Enchant 2H Weapon - Impact [13698] = "i:38682", -- Scroll of Enchant Gloves - Skinning [13700] = "i:38682", -- Scroll of Enchant Chest - Lesser Stats [13746] = "i:38682", -- Scroll of Enchant Cloak - Greater Defense [13794] = "i:38682", -- Scroll of Enchant Cloak - Resistance [13815] = "i:38682", -- Scroll of Enchant Gloves - Agility [13817] = "i:38682", -- Scroll of Enchant Shield - Stamina [13822] = "i:38682", -- Scroll of Enchant Bracer - Intellect [13836] = "i:38682", -- Scroll of Enchant Boots - Stamina [13841] = "i:38682", -- Scroll of Enchant Gloves - Advanced Mining [13846] = "i:38682", -- Scroll of Enchant Bracer - Greater Spirit [13858] = "i:38682", -- Scroll of Enchant Chest - Superior Health [13868] = "i:38682", -- Scroll of Enchant Gloves - Advanced Herbalism [13882] = "i:38682", -- Scroll of Enchant Cloak - Lesser Agility [13887] = "i:38682", -- Scroll of Enchant Gloves - Strength [13890] = "i:38682", -- Scroll of Enchant Boots - Minor Speed [13898] = "i:39349", -- Scroll of Enchant Weapon - Fiery Weapon [13905] = "i:38682", -- Scroll of Enchant Shield - Greater Spirit [13915] = "i:39349", -- Scroll of Enchant Weapon - Demonslaying [13917] = "i:38682", -- Scroll of Enchant Chest - Superior Mana [13931] = "i:38682", -- Scroll of Enchant Bracer - Deflection [13933] = "i:38682", -- Scroll of Enchant Shield - Frost Resistance [13935] = "i:38682", -- Scroll of Enchant Boots - Agility [13937] = "i:39349", -- Scroll of Enchant 2H Weapon - Greater Impact [13939] = "i:38682", -- Scroll of Enchant Bracer - Greater Strength [13941] = "i:38682", -- Scroll of Enchant Chest - Stats [13943] = "i:39349", -- Scroll of Enchant Weapon - Greater Striking [13945] = "i:38682", -- Scroll of Enchant Bracer - Greater Stamina [13947] = "i:38682", -- Scroll of Enchant Gloves - Riding Skill [13948] = "i:38682", -- Scroll of Enchant Gloves - Minor Haste [20008] = "i:38682", -- Scroll of Enchant Bracer - Greater Intellect [20009] = "i:38682", -- Scroll of Enchant Bracer - Superior Spirit [20010] = "i:38682", -- Scroll of Enchant Bracer - Superior Strength [20011] = "i:38682", -- Scroll of Enchant Bracer - Superior Stamina [20012] = "i:38682", -- Scroll of Enchant Gloves - Greater Agility [20013] = "i:38682", -- Scroll of Enchant Gloves - Greater Strength [20014] = "i:38682", -- Scroll of Enchant Cloak - Greater Resistance [20015] = "i:38682", -- Scroll of Enchant Cloak - Superior Defense [20016] = "i:38682", -- Scroll of Enchant Shield - Vitality [20017] = "i:38682", -- Scroll of Enchant Shield - Greater Stamina [20020] = "i:38682", -- Scroll of Enchant Boots - Greater Stamina [20023] = "i:38682", -- Scroll of Enchant Boots - Greater Agility [20024] = "i:38682", -- Scroll of Enchant Boots - Spirit [20025] = "i:38682", -- Scroll of Enchant Chest - Greater Stats [20026] = "i:38682", -- Scroll of Enchant Chest - Major Health [20028] = "i:38682", -- Scroll of Enchant Chest - Major Mana [20029] = "i:39349", -- Scroll of Enchant Weapon - Icy Chill [20030] = "i:39349", -- Scroll of Enchant 2H Weapon - Superior Impact [20031] = "i:39349", -- Scroll of Enchant Weapon - Superior Striking [20032] = "i:39349", -- Scroll of Enchant Weapon - Lifestealing [20033] = "i:39349", -- Scroll of Enchant Weapon - Unholy Weapon [20034] = "i:39349", -- Scroll of Enchant Weapon - Crusader [20035] = "i:39349", -- Scroll of Enchant 2H Weapon - Major Spirit [20036] = "i:39349", -- Scroll of Enchant 2H Weapon - Major Intellect [21931] = "i:39349", -- Scroll of Enchant Weapon - Winter's Might [22749] = "i:39349", -- Scroll of Enchant Weapon - Spellpower [22750] = "i:39349", -- Scroll of Enchant Weapon - Healing Power [23799] = "i:39349", -- Scroll of Enchant Weapon - Strength [23800] = "i:39349", -- Scroll of Enchant Weapon - Agility [23801] = "i:38682", -- Scroll of Enchant Bracer - Mana Regeneration [23802] = "i:38682", -- Scroll of Enchant Bracer - Healing Power [23803] = "i:39349", -- Scroll of Enchant Weapon - Mighty Spirit [23804] = "i:39349", -- Scroll of Enchant Weapon - Mighty Intellect [25072] = "i:38682", -- Scroll of Enchant Gloves - Threat [25073] = "i:38682", -- Scroll of Enchant Gloves - Shadow Power [25074] = "i:38682", -- Scroll of Enchant Gloves - Frost Power [25078] = "i:38682", -- Scroll of Enchant Gloves - Fire Power [25079] = "i:38682", -- Scroll of Enchant Gloves - Healing Power [25080] = "i:38682", -- Scroll of Enchant Gloves - Superior Agility [25081] = "i:38682", -- Scroll of Enchant Cloak - Greater Fire Resistance [25082] = "i:38682", -- Scroll of Enchant Cloak - Greater Nature Resistance [25083] = "i:38682", -- Scroll of Enchant Cloak - Stealth [25084] = "i:38682", -- Scroll of Enchant Cloak - Subtlety [25086] = "i:37602", -- Scroll of Enchant Cloak - Dodge [27837] = "i:39349", -- Scroll of Enchant 2H Weapon - Agility [27899] = "i:37602", -- Scroll of Enchant Bracer - Brawn [27905] = "i:37602", -- Scroll of Enchant Bracer - Stats [27906] = "i:37602", -- Scroll of Enchant Bracer - Major Defense [27911] = "i:37602", -- Scroll of Enchant Bracer - Superior Healing [27913] = "i:37602", -- Scroll of Enchant Bracer - Restore Mana Prime [27914] = "i:37602", -- Scroll of Enchant Bracer - Fortitude [27917] = "i:37602", -- Scroll of Enchant Bracer - Spellpower [27944] = "i:37602", -- Scroll of Enchant Shield - Tough Shield [27945] = "i:37602", -- Scroll of Enchant Shield - Intellect [27946] = "i:37602", -- Scroll of Enchant Shield - Shield Block [27947] = "i:37602", -- Scroll of Enchant Shield - Resistance [27948] = "i:37602", -- Scroll of Enchant Boots - Vitality [27950] = "i:37602", -- Scroll of Enchant Boots - Fortitude [27951] = "i:37602", -- Scroll of Enchant Boots - Dexterity [27954] = "i:37602", -- Scroll of Enchant Boots - Surefooted [27957] = "i:37602", -- Scroll of Enchant Chest - Exceptional Health [27958] = "i:43145", -- Scroll of Enchant Chest - Exceptional Mana [27960] = "i:37602", -- Scroll of Enchant Chest - Exceptional Stats [27961] = "i:37602", -- Scroll of Enchant Cloak - Major Armor [27962] = "i:37602", -- Scroll of Enchant Cloak - Major Resistance [27967] = "i:39350", -- Scroll of Enchant Weapon - Major Striking [27968] = "i:39350", -- Scroll of Enchant Weapon - Major Intellect [27971] = "i:39350", -- Scroll of Enchant 2H Weapon - Savagery [27972] = "i:39350", -- Scroll of Enchant Weapon - Potency [27975] = "i:39350", -- Scroll of Enchant Weapon - Major Spellpower [27977] = "i:39350", -- Scroll of Enchant 2H Weapon - Major Agility [27981] = "i:39350", -- Scroll of Enchant Weapon - Sunfire [27982] = "i:39350", -- Scroll of Enchant Weapon - Soulfrost [27984] = "i:39350", -- Scroll of Enchant Weapon - Mongoose [28003] = "i:39350", -- Scroll of Enchant Weapon - Spellsurge [28004] = "i:39350", -- Scroll of Enchant Weapon - Battlemaster [33990] = "i:37602", -- Scroll of Enchant Chest - Major Spirit [33991] = "i:37602", -- Scroll of Enchant Chest - Restore Mana Prime [33992] = "i:37602", -- Scroll of Enchant Chest - Major Resilience [33993] = "i:37602", -- Scroll of Enchant Gloves - Blasting [33994] = "i:37602", -- Scroll of Enchant Gloves - Precise Strikes [33995] = "i:37602", -- Scroll of Enchant Gloves - Major Strength [33996] = "i:37602", -- Scroll of Enchant Gloves - Assault [33997] = "i:37602", -- Scroll of Enchant Gloves - Major Spellpower [33999] = "i:37602", -- Scroll of Enchant Gloves - Major Healing [34001] = "i:37602", -- Scroll of Enchant Bracer - Major Intellect [34002] = "i:37602", -- Scroll of Enchant Bracer - Assault [34003] = "i:37602", -- Scroll of Enchant Cloak - Spell Penetration [34004] = "i:37602", -- Scroll of Enchant Cloak - Greater Agility [34005] = "i:37602", -- Scroll of Enchant Cloak - Greater Arcane Resistance [34006] = "i:37602", -- Scroll of Enchant Cloak - Greater Shadow Resistance [34007] = "i:37602", -- Scroll of Enchant Boots - Cat's Swiftness [34008] = "i:37602", -- Scroll of Enchant Boots - Boar's Speed [34009] = "i:37602", -- Scroll of Enchant Shield - Major Stamina [34010] = "i:39350", -- Scroll of Enchant Weapon - Major Healing [42620] = "i:39350", -- Scroll of Enchant Weapon - Greater Agility [42974] = "i:43146", -- Scroll of Enchant Weapon - Executioner [44383] = "i:37602", -- Scroll of Enchant Shield - Resilience [44483] = "i:43145", -- Scroll of Enchant Cloak - Superior Frost Resistance [44484] = "i:43145", -- Scroll of Enchant Gloves - Expertise [44488] = "i:43145", -- Scroll of Enchant Gloves - Precision [44489] = "i:43145", -- Scroll of Enchant Shield - Defense [44492] = "i:43145", -- Scroll of Enchant Chest - Mighty Health [44494] = "i:43145", -- Scroll of Enchant Cloak - Superior Nature Resistance [44500] = "i:43145", -- Scroll of Enchant Cloak - Superior Agility [44506] = "i:43145", -- Scroll of Enchant Gloves - Gatherer [44508] = "i:43145", -- Scroll of Enchant Boots - Greater Spirit [44509] = "i:43145", -- Scroll of Enchant Chest - Greater Mana Restoration [44510] = "i:43146", -- Scroll of Enchant Weapon - Exceptional Spirit [44513] = "i:43145", -- Scroll of Enchant Gloves - Greater Assault [44524] = "i:43146", -- Scroll of Enchant Weapon - Icebreaker [44528] = "i:43145", -- Scroll of Enchant Boots - Greater Fortitude [44529] = "i:43145", -- Scroll of Enchant Gloves - Major Agility [44555] = "i:43145", -- Scroll of Enchant Bracers - Exceptional Intellect [44556] = "i:43145", -- Scroll of Enchant Cloak - Superior Fire Resistance [44575] = "i:43145", -- Scroll of Enchant Bracers - Greater Assault [44576] = "i:43146", -- Scroll of Enchant Weapon - Lifeward [44582] = "i:43145", -- Scroll of Enchant Cloak - Spell Piercing [44584] = "i:43145", -- Scroll of Enchant Boots - Greater Vitality [44588] = "i:43145", -- Scroll of Enchant Chest - Exceptional Resilience [44589] = "i:43145", -- Scroll of Enchant Boots - Superior Agility [44590] = "i:43145", -- Scroll of Enchant Cloak - Superior Shadow Resistance [44591] = "i:43145", -- Scroll of Enchant Cloak - Titanweave [44592] = "i:43145", -- Scroll of Enchant Gloves - Exceptional Spellpower [44593] = "i:43145", -- Scroll of Enchant Bracers - Major Spirit [44595] = "i:43146", -- Scroll of Enchant 2H Weapon - Scourgebane [44596] = "i:43145", -- Scroll of Enchant Cloak - Superior Arcane Resistance [44598] = "i:43145", -- Scroll of Enchant Bracer - Expertise [44616] = "i:43145", -- Scroll of Enchant Bracers - Greater Stats [44621] = "i:43146", -- Scroll of Enchant Weapon - Giant Slayer [44623] = "i:43145", -- Scroll of Enchant Chest - Super Stats [44625] = "i:43145", -- Scroll of Enchant Gloves - Armsman [44629] = "i:43146", -- Scroll of Enchant Weapon - Exceptional Spellpower [44630] = "i:43146", -- Scroll of Enchant 2H Weapon - Greater Savagery [44631] = "i:43145", -- Scroll of Enchant Cloak - Shadow Armor [44633] = "i:43146", -- Scroll of Enchant Weapon - Exceptional Agility [44635] = "i:43145", -- Scroll of Enchant Bracers - Greater Spellpower [46578] = "i:43146", -- Scroll of Enchant Weapon - Deathfrost [46594] = "i:37602", -- Scroll of Enchant Chest - Defense [47051] = "i:37602", -- Scroll of Enchant Cloak - Steelweave [47672] = "i:43145", -- Scroll of Enchant Cloak - Mighty Armor [47766] = "i:43145", -- Scroll of Enchant Chest - Greater Defense [47898] = "i:43145", -- Scroll of Enchant Cloak - Greater Speed [47899] = "i:43145", -- Scroll of Enchant Cloak - Wisdom [47900] = "i:43145", -- Scroll of Enchant Chest - Super Health [47901] = "i:43145", -- Scroll of Enchant Boots - Tuskarr's Vitality [59619] = "i:43146", -- Scroll of Enchant Weapon - Accuracy [59621] = "i:43146", -- Scroll of Enchant Weapon - Berserking [59625] = "i:43146", -- Scroll of Enchant Weapon - Black Magic [60606] = "i:43145", -- Scroll of Enchant Boots - Assault [60609] = "i:43145", -- Scroll of Enchant Cloak - Speed [60616] = "i:43145", -- Scroll of Enchant Bracers - Striking [60621] = "i:43146", -- Scroll of Enchant Weapon - Greater Potency [60623] = "i:43145", -- Scroll of Enchant Boots - Icewalker [60653] = "i:43145", -- Scroll of Enchant Shield - Greater Intellect [60663] = "i:43145", -- Scroll of Enchant Cloak - Major Agility [60668] = "i:43145", -- Scroll of Enchant Gloves - Crusher [60691] = "i:43146", -- Scroll of Enchant 2H Weapon - Massacre [60692] = "i:43145", -- Scroll of Enchant Chest - Powerful Stats [60707] = "i:43146", -- Scroll of Enchant Weapon - Superior Potency [60714] = "i:43146", -- Scroll of Enchant Weapon - Mighty Spellpower [60763] = "i:43145", -- Scroll of Enchant Boots - Greater Assault [60767] = "i:43145", -- Scroll of Enchant Bracer - Superior Spellpower [62256] = "i:43145", -- Scroll of Enchant Bracer - Major Stamina [62948] = "i:43146", -- Scroll of Enchant Staff - Greater Spellpower [62959] = "i:43146", -- Scroll of Enchant Staff - Spellpower [63746] = "i:38682", -- Scroll of Enchant Boots - Lesser Accuracy [64441] = "i:43146", -- Scroll of Enchant Weapon - Blade Ward [64579] = "i:43146", -- Scroll of Enchant Weapon - Blood Draining [71692] = "i:38682", -- Scroll of Enchant Gloves - Angler } local ENGINEERING_TINKERS = { [54736] = true, -- Engineering: EMP Generator [54793] = true, -- Engineering: Frag Belt [55002] = true, -- Engineering: Flexweave Underlay [55016] = true, -- Engineering: Nitro Boosts [67839] = true, -- Engineering: Mind Amplification Dish [82200] = true, -- Engineering: Spinal healing Injector [84424] = true, -- Engineering: Invisibility Field [84425] = true, -- Engineering: Cardboard Assasin [84427] = true, -- Engineering: Grounded Plasma Shield [109099] = true, -- Engineering: Watergliding Jets [126392] = true, -- Engineering: Goblin Glider [310495] = true, -- Engineering: Dimensional Shifter [310496] = true, -- Engineering: Electro-Jump [310497] = true, -- Engineering: Damage Retaliator } local MASS_MILLING_RECIPES = { [190381] = "i:114931", -- Frostweed [190382] = "i:114931", -- Fireweed [190383] = "i:114931", -- Gorgrond Flytrap [190384] = "i:114931", -- Starflower [190385] = "i:114931", -- Nargrand Arrowbloom [190386] = "i:114931", -- Talador Orchid [209658] = "i:129032", -- Aethril [209659] = "i:129032", -- Dreamleaf [209660] = "i:129032", -- Foxflower [209661] = "i:129032", -- Fjarnskaggl [209662] = "i:129032", -- Starlight Rose [209664] = "i:129034", -- Felwort [210116] = "i:129032", -- Yseralline Seeds [247861] = "i:129034", -- Astral Glory } local SALVAGE_SPELLIDS = { [382994] = true, -- Classic Milling [382991] = true, -- Outland Milling [382990] = true, -- Northend Milling [382988] = true, -- Pandaria Milling [382989] = true, -- Cataclysm Milling [382987] = true, -- Draenor Milling [382986] = true, -- Legion Milling [382984] = true, -- Kul Tiras and Zandalar Milling [382982] = true, -- Shadowlands Milling [382981] = true, -- Dragon Isles Milling [382995] = true, -- Classic Prospecting [382980] = true, -- Outland Prospecting [382979] = true, -- Northend Prospecting [382977] = true, -- Pandaria Prospecting [382978] = true, -- Cataclysm Prospecting [382975] = true, -- Legion Prospecting [382973] = true, -- Kul Tiras and Zandalar Prospecting [325248] = true, -- Shadowlands Prospecting [374627] = true, -- Dragon Isles Prospecting [395696] = true, -- Dragon Isles Crushing } local ENCHANTING_RECIPIES = { -- Some scraped from Wowhead (http://www.wowhead.com/items/consumables/item-enhancements-permanent?filter=86;4;0) using the following javascript: -- x = listviewitems.sort((a,b) => a.id - b.id); for (i=0; i