initial commit

This commit is contained in:
Gitea
2020-11-13 14:13:12 -05:00
commit 05df49ff60
368 changed files with 128754 additions and 0 deletions

3284
LibTSM/Data/BonusIds.lua Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,115 @@
-- ------------------------------------------------------------------------------ --
-- TradeSkillMaster --
-- https://tradeskillmaster.com --
-- All Rights Reserved - Detailed license information included with addon. --
-- ------------------------------------------------------------------------------ --
local _, TSM = ...
local ClassicRealms = TSM.Init("Data.ClassicRealms")
-- ============================================================================
-- Classic Realm Data
-- ============================================================================
-- Generated with the following query:
-- SELECT TRIM(TRAILING '-Alliance' FROM r.localizedName) as localizedName, g.value
-- FROM RealmsClassic r INNER JOIN RegionsClassic g ON g.id = r.regionId
-- WHERE r.localizedName LIKE '%-Alliance';
local CLASSIC_REALM_INFO = {
["Amnennar"] = { region = "EU" },
["Ashbringer"] = { region = "EU" },
["Auberdine"] = { region = "EU" },
["Bloodfang"] = { region = "EU" },
["Хроми"] = { region = "EU" },
["Dragon's Call"] = { region = "EU" },
["Dreadmist"] = { region = "EU" },
["Everlook"] = { region = "EU" },
["Finkle"] = { region = "EU" },
["Firemaw"] = { region = "EU" },
["Пламегор"] = { region = "EU" },
["Flamelash"] = { region = "EU" },
["Gandling"] = { region = "EU" },
["Gehennas"] = { region = "EU" },
["Golemagg"] = { region = "EU" },
["Hydraxian Waterlords"] = { region = "EU" },
["Judgement"] = { region = "EU" },
["Lakeshire"] = { region = "EU" },
["Lucifron"] = { region = "EU" },
["Mirage Raceway"] = { region = "EU" },
["Mograine"] = { region = "EU" },
["Nethergarde Keep"] = { region = "EU" },
["Noggenfogger"] = { region = "EU" },
["Patchwerk"] = { region = "EU" },
["Pyrewood Village"] = { region = "EU" },
["Razorfen"] = { region = "EU" },
["Razorgore"] = { region = "EU" },
["Рок-Делар"] = { region = "EU" },
["Shazzrah"] = { region = "EU" },
["Skullflame"] = { region = "EU" },
["Stonespine"] = { region = "EU" },
["Sulfuron"] = { region = "EU" },
["Ten Storms"] = { region = "EU" },
["Transcendence"] = { region = "EU" },
["Venoxis"] = { region = "EU" },
["Змейталак"] = { region = "EU" },
["Zandalar Tribe"] = { region = "EU" },
["Dragonfang"] = { region = "EU" },
["Earthshaker"] = { region = "EU" },
["Heartstriker"] = { region = "EU" },
["Вестник Рока"] = { region = "EU" },
["Mandokir"] = { region = "EU" },
["Anathema"] = { region = "US" },
["Arugal"] = { region = "US" },
["Ashkandi"] = { region = "US" },
["Atiesh"] = { region = "US" },
["Azuresong"] = { region = "US" },
["Benediction"] = { region = "US" },
["Bigglesworth"] = { region = "US" },
["Blaumeux"] = { region = "US" },
["Bloodsail Buccaneers"] = { region = "US" },
["Deviate Delight"] = { region = "US" },
["Faerlina"] = { region = "US" },
["Fairbanks"] = { region = "US" },
["Felstriker"] = { region = "US" },
["Grobbulus"] = { region = "US" },
["Herod"] = { region = "US" },
["Incendius"] = { region = "US" },
["Kirtonos"] = { region = "US" },
["Kromcrush"] = { region = "US" },
["Kurinnaxx"] = { region = "US" },
["Mankrik"] = { region = "US" },
["Myzrael"] = { region = "US" },
["Netherwind"] = { region = "US" },
["Old Blanchy"] = { region = "US" },
["Pagle"] = { region = "US" },
["Rattlegore"] = { region = "US" },
["Remulos"] = { region = "US" },
["Skeram"] = { region = "US" },
["Smolderweb"] = { region = "US" },
["Stalagg"] = { region = "US" },
["Sulfuras"] = { region = "US" },
["Thalnos"] = { region = "US" },
["Thunderfury"] = { region = "US" },
["Westfall"] = { region = "US" },
["Whitemane"] = { region = "US" },
["Windseeker"] = { region = "US" },
["Yojamba"] = { region = "US" },
["Arcanite Reaper"] = { region = "US" },
["Earthfury"] = { region = "US" },
["Heartseeker"] = { region = "US" },
["Loatheb"] = { region = "US" },
["Sul'thraze"] = { region = "US" },
}
-- ============================================================================
-- Module Functions
-- ============================================================================
function ClassicRealms.GetRegion(realmName)
local info = CLASSIC_REALM_INFO[realmName]
return info and info.region or nil
end

File diff suppressed because it is too large Load Diff

88
LibTSM/Data/FontPaths.lua Normal file
View File

@@ -0,0 +1,88 @@
-- ------------------------------------------------------------------------------ --
-- TradeSkillMaster --
-- https://tradeskillmaster.com --
-- All Rights Reserved - Detailed license information included with addon. --
-- ------------------------------------------------------------------------------ --
local _, TSM = ...
local FontPaths = TSM.Init("Data.FontPaths")
local ALPHABET_LOOKUP = {
enUS = "roman",
esES = "roman",
esMX = "roman",
deDE = "roman",
frFR = "roman",
itIT = "roman",
ptBR = "roman",
koKR = "korean",
zhCN = "chinese",
zhTW = "chinese",
ruRU = "russian",
}
local ALPHABET = ALPHABET_LOOKUP[GetLocale()]
assert(ALPHABET)
-- ============================================================================
-- Font Path Data
-- ============================================================================
local FONT_PATHS = {
BodyRegular = {
roman = "Interface\\Addons\\TradeSkillMaster\\Media\\Montserrat-Regular.ttf",
korean = "Fonts\\2002.ttf",
chinese = "Fonts\\ARKai_C.ttf",
russian = "Interface\\Addons\\TradeSkillMaster\\Media\\Montserrat-Regular.ttf",
},
BodyMedium = {
roman = "Interface\\Addons\\TradeSkillMaster\\Media\\Montserrat-Medium.ttf",
korean = "Fonts\\2002.ttf",
chinese = "Fonts\\ARKai_C.ttf",
russian = "Interface\\Addons\\TradeSkillMaster\\Media\\Montserrat-Medium.ttf",
},
BodyBold = {
roman = "Interface\\Addons\\TradeSkillMaster\\Media\\Montserrat-Bold.ttf",
korean = "Fonts\\2002.ttf",
chinese = "Fonts\\ARKai_C.ttf",
russian = "Interface\\Addons\\TradeSkillMaster\\Media\\Montserrat-Bold.ttf",
},
Item = {
roman = "Fonts\\FRIZQT__.ttf",
korean = "Fonts\\2002.ttf",
chinese = "Fonts\\ARKai_C.ttf",
russian = "Fonts\\FRIZQT___CYR.ttf",
},
Table = {
roman = "Interface\\Addons\\TradeSkillMaster\\Media\\Roboto-Medium.ttf",
korean = "Fonts\\2002.ttf",
chinese = "Fonts\\ARKai_C.ttf",
russian = "Interface\\Addons\\TradeSkillMaster\\Media\\Roboto-Medium.ttf",
},
}
-- ============================================================================
-- Module Functions
-- ============================================================================
function FontPaths.GetBodyRegular()
return FONT_PATHS.BodyRegular[ALPHABET]
end
function FontPaths.GetBodyMedium()
return FONT_PATHS.BodyMedium[ALPHABET]
end
function FontPaths.GetBodyBold()
return FONT_PATHS.BodyBold[ALPHABET]
end
function FontPaths.GetItem()
return FONT_PATHS.Item[ALPHABET]
end
function FontPaths.GetTable()
return FONT_PATHS.Table[ALPHABET]
end

137
LibTSM/Data/ItemClass.lua Normal file
View File

@@ -0,0 +1,137 @@
-- ------------------------------------------------------------------------------ --
-- TradeSkillMaster --
-- https://tradeskillmaster.com --
-- All Rights Reserved - Detailed license information included with addon. --
-- ------------------------------------------------------------------------------ --
local _, TSM = ...
local ItemClass = TSM.Init("Data.ItemClass")
local STATIC_DATA = {
classes = {},
subClasses = {},
classLookup = {},
classIdLookup = {},
inventorySlotIdLookup = {},
}
-- ============================================================================
-- Population of the Static Data
-- ============================================================================
do
-- Needed because NUM_LE_ITEM_CLASSS contains an erroneous value
local ITEM_CLASS_IDS = nil
if not TSM.IsWowClassic() then
ITEM_CLASS_IDS = {
LE_ITEM_CLASS_WEAPON,
LE_ITEM_CLASS_ARMOR,
LE_ITEM_CLASS_CONTAINER,
LE_ITEM_CLASS_GEM,
LE_ITEM_CLASS_ITEM_ENHANCEMENT,
LE_ITEM_CLASS_CONSUMABLE,
LE_ITEM_CLASS_GLYPH,
LE_ITEM_CLASS_TRADEGOODS,
LE_ITEM_CLASS_RECIPE,
LE_ITEM_CLASS_BATTLEPET,
LE_ITEM_CLASS_QUESTITEM,
LE_ITEM_CLASS_MISCELLANEOUS,
}
else
ITEM_CLASS_IDS = {
LE_ITEM_CLASS_WEAPON,
LE_ITEM_CLASS_ARMOR,
LE_ITEM_CLASS_CONTAINER,
LE_ITEM_CLASS_CONSUMABLE,
LE_ITEM_CLASS_TRADEGOODS,
LE_ITEM_CLASS_PROJECTILE,
LE_ITEM_CLASS_QUIVER,
LE_ITEM_CLASS_RECIPE,
LE_ITEM_CLASS_REAGENT,
LE_ITEM_CLASS_MISCELLANEOUS,
}
end
for _, classId in ipairs(ITEM_CLASS_IDS) do
local class = GetItemClassInfo(classId)
if class then
STATIC_DATA.classIdLookup[strlower(class)] = classId
STATIC_DATA.classLookup[class] = {}
STATIC_DATA.classLookup[class]._index = classId
local subClasses = nil
if TSM.IsWowClassic() then
subClasses = {GetAuctionItemSubClasses(classId)}
else
subClasses = C_AuctionHouse.GetAuctionItemSubClasses(classId)
end
for _, subClassId in pairs(subClasses) do
local subClassName = GetItemSubClassInfo(classId, subClassId)
if not strfind(subClassName, "(OBSOLETE)") then
STATIC_DATA.classLookup[class][subClassName] = subClassId
end
end
end
end
for class, subClasses in pairs(STATIC_DATA.classLookup) do
tinsert(STATIC_DATA.classes, class)
STATIC_DATA.subClasses[class] = {}
for subClass in pairs(subClasses) do
if subClass ~= "_index" then
tinsert(STATIC_DATA.subClasses[class], subClass)
end
end
sort(STATIC_DATA.subClasses[class], function(a, b) return STATIC_DATA.classLookup[class][a] < STATIC_DATA.classLookup[class][b] end)
end
sort(STATIC_DATA.classes, function(a, b) return STATIC_DATA.classIdLookup[strlower(a)] < STATIC_DATA.classIdLookup[strlower(b)] end)
if TSM.IsShadowlands() then
for _, id in pairs(Enum.InventoryType) do
local invType = GetItemInventorySlotInfo(id)
if invType then
STATIC_DATA.inventorySlotIdLookup[strlower(invType)] = id
end
end
else
for i = 0, NUM_LE_INVENTORY_TYPES do
local invType = GetItemInventorySlotInfo(i)
if invType then
STATIC_DATA.inventorySlotIdLookup[strlower(invType)] = i
end
end
end
end
-- ============================================================================
-- Module Functions
-- ============================================================================
function ItemClass.GetClasses()
return STATIC_DATA.classes
end
function ItemClass.GetSubClasses(class)
return STATIC_DATA.subClasses[class]
end
function ItemClass.GetClassIdFromClassString(classStr)
return STATIC_DATA.classIdLookup[strlower(classStr)]
end
function ItemClass.GetSubClassIdFromSubClassString(subClass, classId)
if not classId then return end
local class = GetItemClassInfo(classId)
if not STATIC_DATA.classLookup[class] then return end
for str, index in pairs(STATIC_DATA.classLookup[class]) do
if strlower(str) == strlower(subClass) then
return index
end
end
end
function ItemClass.GetInventorySlotIdFromInventorySlotString(slot)
return STATIC_DATA.inventorySlotIdLookup[strlower(slot)]
end

255
LibTSM/Data/Mill.lua Normal file
View File

@@ -0,0 +1,255 @@
-- ------------------------------------------------------------------------------ --
-- TradeSkillMaster --
-- https://tradeskillmaster.com --
-- All Rights Reserved - Detailed license information included with addon. --
-- ------------------------------------------------------------------------------ --
local _, TSM = ...
local Mill = TSM.Init("Data.Mill")
local private = {}
-- ============================================================================
-- Mill Data
-- ============================================================================
local DATA = TSM.IsWowClassic() and {} or {
-- ======================================= Common Pigments =======================================
["i:39151"] = { -- Alabaster Pigment (Ivory / Moonglow Ink)
["i:765"] = 0.5,
["i:2447"] = 0.5,
["i:2449"] = 0.6,
},
["i:39343"] = { -- Azure Pigment (Ink of the Sea)
["i:39969"] = 0.5,
["i:36904"] = 0.5,
["i:36907"] = 0.5,
["i:36901"] = 0.5,
["i:39970"] = 0.5,
["i:37921"] = 0.5,
["i:36905"] = 0.6,
["i:36906"] = 0.6,
["i:36903"] = 0.6,
},
["i:61979"] = { -- Ashen Pigment (Blackfallow Ink)
["i:52983"] = 0.5,
["i:52984"] = 0.5,
["i:52985"] = 0.5,
["i:52986"] = 0.5,
["i:52987"] = 0.6,
["i:52988"] = 0.6,
},
["i:39334"] = { -- Dusky Pigment (Midnight Ink)
["i:785"] = 0.5,
["i:2450"] = 0.5,
["i:2452"] = 0.5,
["i:2453"] = 0.6,
["i:3820"] = 0.6,
},
["i:39339"] = { -- Emerald Pigment (Jadefire Ink)
["i:3818"] = 0.5,
["i:3821"] = 0.5,
["i:3358"] = 0.6,
["i:3819"] = 0.6,
},
["i:39338"] = { -- Golden Pigment (Lion's Ink)
["i:3355"] = 0.5,
["i:3369"] = 0.5,
["i:3356"] = 0.6,
["i:3357"] = 0.6,
},
["i:39342"] = { -- Nether Pigment (Ethereal Ink)
["i:22785"] = 0.5,
["i:22786"] = 0.5,
["i:22787"] = 0.5,
["i:22789"] = 0.5,
["i:22790"] = 0.6,
["i:22791"] = 0.6,
["i:22792"] = 0.6,
["i:22793"] = 0.6,
},
["i:79251"] = { -- Shadow Pigment (Ink of Dreams)
["i:72237"] = 0.5,
["i:72234"] = 0.5,
["i:79010"] = 0.5,
["i:72235"] = 0.5,
["i:89639"] = 0.5,
["i:79011"] = 0.6,
},
["i:39341"] = { -- Silvery Pigment (Shimmering Ink)
["i:13463"] = 0.5,
["i:13464"] = 0.5,
["i:13465"] = 0.6,
["i:13466"] = 0.6,
["i:13467"] = 0.6,
},
["i:39340"] = { -- Violet Pigment (Celestial Ink)
["i:4625"] = 0.5,
["i:8831"] = 0.5,
["i:8838"] = 0.5,
["i:8839"] = 0.6,
["i:8845"] = 0.6,
["i:8846"] = 0.6,
},
["i:114931"] = { -- Cerulean Pigment (Warbinder's Ink)
["i:109124"] = 0.42,
["i:109125"] = 0.42,
["i:109126"] = 0.42,
["i:109127"] = 0.42,
["i:109128"] = 0.42,
["i:109129"] = 0.42,
},
["i:129032"] = { -- Roseate Pigment (No Legion Ink)
["i:124101"] = 0.42,
["i:124102"] = 0.42,
["i:124103"] = 0.42,
["i:124104"] = 0.47,
["i:124105"] = 1.22,
["i:124106"] = 0.42,
["i:128304"] = 0.2,
["i:151565"] = 0.43,
},
-- ======================================= Rare Pigments =======================================
["i:43109"] = { -- Icy Pigment (Snowfall Ink)
["i:39969"] = 0.05,
["i:36904"] = 0.05,
["i:36907"] = 0.05,
["i:36901"] = 0.05,
["i:39970"] = 0.05,
["i:37921"] = 0.05,
["i:36905"] = 0.1,
["i:36906"] = 0.1,
["i:36903"] = 0.1,
},
["i:61980"] = { -- Burning Embers (Inferno Ink)
["i:52983"] = 0.05,
["i:52984"] = 0.05,
["i:52985"] = 0.05,
["i:52986"] = 0.05,
["i:52987"] = 0.1,
["i:52988"] = 0.1,
},
["i:43104"] = { -- Burnt Pigment (Dawnstar Ink)
["i:3356"] = 0.1,
["i:3357"] = 0.1,
["i:3369"] = 0.05,
["i:3355"] = 0.05,
},
["i:43108"] = { -- Ebon Pigment (Darkflame Ink)
["i:22792"] = 0.1,
["i:22790"] = 0.1,
["i:22791"] = 0.1,
["i:22793"] = 0.1,
["i:22786"] = 0.05,
["i:22785"] = 0.05,
["i:22787"] = 0.05,
["i:22789"] = 0.05,
},
["i:43105"] = { -- Indigo Pigment (Royal Ink)
["i:3358"] = 0.1,
["i:3819"] = 0.1,
["i:3821"] = 0.05,
["i:3818"] = 0.05,
},
["i:79253"] = { -- Misty Pigment (Starlight Ink)
["i:72237"] = 0.05,
["i:72234"] = 0.05,
["i:79010"] = 0.05,
["i:72235"] = 0.05,
["i:79011"] = 0.1,
["i:89639"] = 0.05,
},
["i:43106"] = { -- Ruby Pigment (Fiery Ink)
["i:4625"] = 0.05,
["i:8838"] = 0.05,
["i:8831"] = 0.05,
["i:8845"] = 0.1,
["i:8846"] = 0.1,
["i:8839"] = 0.1,
},
["i:43107"] = { -- Sapphire Pigment (Ink of the Sky)
["i:13463"] = 0.05,
["i:13464"] = 0.05,
["i:13465"] = 0.1,
["i:13466"] = 0.1,
["i:13467"] = 0.1,
},
["i:43103"] = { -- Verdant Pigment (Hunter's Ink)
["i:2453"] = 0.1,
["i:3820"] = 0.1,
["i:2450"] = 0.05,
["i:785"] = 0.05,
["i:2452"] = 0.05,
},
["i:129034"] = { -- Sallow Pigment (No Legion Ink)
["i:124101"] = 0.04,
["i:124102"] = 0.04,
["i:124103"] = 0.05,
["i:124104"] = 0.05,
["i:124105"] = 0.04,
["i:124106"] = 2.14,
["i:128304"] = 0.0018,
["i:151565"] = 0.048,
},
-- ======================================= BFA Pigments ========================================
["i:153669"] = { -- Viridescent Pigment
["i:152505"] = 0.1325,
["i:152506"] = 0.1325,
["i:152507"] = 0.1325,
["i:152508"] = 0.1325,
["i:152509"] = 0.1325,
["i:152511"] = 0.1325,
["i:152510"] = 0.325,
},
["i:153636"] = { -- Crimson Pigment
["i:152505"] = 0.315,
["i:152506"] = 0.315,
["i:152507"] = 0.315,
["i:152508"] = 0.315,
["i:152509"] = 0.315,
["i:152511"] = 0.315,
["i:152510"] = 0.315,
},
["i:153635"] = { -- Ultramarine Pigment
["i:152505"] = 0.825,
["i:152506"] = 0.825,
["i:152507"] = 0.825,
["i:152508"] = 0.825,
["i:152509"] = 0.825,
["i:152511"] = 0.825,
["i:152510"] = 0.825,
},
["i:168662"] = { -- Maroon Pigment
["i:168487"] = 0.6,
},
}
-- ============================================================================
-- Module Functions
-- ============================================================================
function Mill.TargetItemIterator()
return private.TableKeyIterator, DATA, nil
end
function Mill.SourceItemIterator(targetItemString)
return private.TableKeyIterator, DATA[targetItemString], nil
end
function Mill.GetRate(targetItemString, sourceItemString)
return DATA[targetItemString][sourceItemString]
end
-- ============================================================================
-- Private Helper Functions
-- ============================================================================
function private.TableKeyIterator(tbl, index)
index = next(tbl, index)
return index
end

View File

@@ -0,0 +1,605 @@
-- ------------------------------------------------------------------------------ --
-- TradeSkillMaster --
-- https://tradeskillmaster.com --
-- All Rights Reserved - Detailed license information included with addon. --
-- ------------------------------------------------------------------------------ --
local _, TSM = ...
local ProfessionInfo = TSM.Init("Data.ProfessionInfo")
-- ============================================================================
-- 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,
["大师级"] = true, -- zhCN ARTISAN
["Мастеровой"] = true, -- ruRU ARTISAN
}
local VELLUM_ITEM_STRING = "i:38682"
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
}
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 ENCHANTING_RECIPIES = {
-- Scraped from Wowhead (http://www.wowhead.com/items/consumables/item-enhancements-permanent?filter=86;4;0) using the following javascript:
-- for (i=0; i<listviewitems.length; i++) console.log("["+listviewitems[i].sourcemore[0].ti+"] = \"i:"+listviewitems[i].id+"\", -- "+listviewitems[i].name.substr(1));
[298009] = "i:168446", -- Enchant Ring - Accord of Critical Strike Rank 1
[298010] = "i:168446", -- Enchant Ring - Accord of Critical Strike Rank 2
[298011] = "i:168446", -- Enchant Ring - Accord of Critical Strike Rank 3
[297989] = "i:168447", -- Enchant Ring - Accord of Haste Rank 1
[297994] = "i:168447", -- Enchant Ring - Accord of Haste Rank 2
[298016] = "i:168447", -- Enchant Ring - Accord of Haste Rank 3
[297995] = "i:168448", -- Enchant Ring - Accord of Mastery Rank 1
[298001] = "i:168448", -- Enchant Ring - Accord of Mastery Rank 2
[298002] = "i:168448", -- Enchant Ring - Accord of Mastery Rank 3
[297993] = "i:168449", -- Enchant Ring - Accord of Versatility Rank 1
[297991] = "i:168449", -- Enchant Ring - Accord of Versatility Rank 2
[297999] = "i:168449", -- Enchant Ring - Accord of Versatility Rank 3
[298440] = "i:168596", -- Enchant Weapon - Force Multiplier Rank 1
[298439] = "i:168596", -- Enchant Weapon - Force Multiplier Rank 2
[300788] = "i:168596", -- Enchant Weapon - Force Multiplier Rank 3
[298433] = "i:168593", -- Enchant Weapon - Machinist's Brilliance Rank 1
[300769] = "i:168593", -- Enchant Weapon - Machinist's Brilliance Rank 2
[300770] = "i:168593", -- Enchant Weapon - Machinist's Brilliance Rank 3
[298442] = "i:168598", -- Enchant Weapon - Naga Hide Rank 1
[298441] = "i:168598", -- Enchant Weapon - Naga Hide Rank 2
[300789] = "i:168598", -- Enchant Weapon - Naga Hide Rank 3
[298438] = "i:168592", -- Enchant Weapon - Oceanic Restoration Rank 1
[298437] = "i:168592", -- Enchant Weapon - Oceanic Restoration Rank 2
[298515] = "i:168592", -- Enchant Weapon - Oceanic Restoration Rank 3
[255075] = "i:153442", -- Enchant Ring - Pact of Critical Strike Rank 1
[255090] = "i:153442", -- Enchant Ring - Pact of Critical Strike Rank 2
[255098] = "i:153442", -- Enchant Ring - Pact of Critical Strike Rank 3
[255076] = "i:153443", -- Enchant Ring - Pact of Haste Rank 1
[255091] = "i:153443", -- Enchant Ring - Pact of Haste Rank 2
[255099] = "i:153443", -- Enchant Ring - Pact of Haste Rank 3
[255077] = "i:153444", -- Enchant Ring - Pact of Mastery Rank 1
[255092] = "i:153444", -- Enchant Ring - Pact of Mastery Rank 2
[255100] = "i:153444", -- Enchant Ring - Pact of Mastery Rank 3
[255078] = "i:153445", -- Enchant Ring - Pact of Versatility Rank 1
[255093] = "i:153445", -- Enchant Ring - Pact of Versatility Rank 2
[255101] = "i:153445", -- Enchant Ring - Pact of Versatility Rank 3
[255071] = "i:153438", -- Enchant Ring - Seal of Critical Strike Rank 1
[255086] = "i:153438", -- Enchant Ring - Seal of Critical Strike Rank 2
[255094] = "i:153438", -- Enchant Ring - Seal of Critical Strike Rank 3
[255072] = "i:153439", -- Enchant Ring - Seal of Haste Rank 1
[255087] = "i:153439", -- Enchant Ring - Seal of Haste Rank 2
[255095] = "i:153439", -- Enchant Ring - Seal of Haste Rank 3
[255073] = "i:153440", -- Enchant Ring - Seal of Mastery Rank 1
[255088] = "i:153440", -- Enchant Ring - Seal of Mastery Rank 2
[255096] = "i:153440", -- Enchant Ring - Seal of Mastery Rank 3
[255074] = "i:153441", -- Enchant Ring - Seal of Versatility Rank 1
[255089] = "i:153441", -- Enchant Ring - Seal of Versatility Rank 2
[255097] = "i:153441", -- Enchant Ring - Seal of Versatility Rank 3
[255103] = "i:153476", -- Enchant Weapon - Coastal Surge Rank 1
[255104] = "i:153476", -- Enchant Weapon - Coastal Surge Rank 2
[255105] = "i:153476", -- Enchant Weapon - Coastal Surge Rank 3
[255110] = "i:153478", -- Enchant Weapon - Siphoning Rank 1
[255111] = "i:153478", -- Enchant Weapon - Siphoning Rank 2
[255112] = "i:153478", -- Enchant Weapon - Siphoning Rank 3
[255141] = "i:153480", -- Enchant Weapon - Gale-Force Striking Rank 1
[255142] = "i:153480", -- Enchant Weapon - Gale-Force Striking Rank 2
[255143] = "i:153480", -- Enchant Weapon - Gale-Force Striking Rank 3
[268907] = "i:159785", -- Enchant Weapon - Deadly Navigation Rank 1
[268908] = "i:159785", -- Enchant Weapon - Deadly Navigation Rank 2
[268909] = "i:159785", -- Enchant Weapon - Deadly Navigation Rank 3
[268894] = "i:159786", -- Enchant Weapon - Quick Navigation Rank 1
[268895] = "i:159786", -- Enchant Weapon - Quick Navigation Rank 2
[268897] = "i:159786", -- Enchant Weapon - Quick Navigation Rank 3
[268901] = "i:159787", -- Enchant Weapon - Masterful Navigation Rank 1
[268902] = "i:159787", -- Enchant Weapon - Masterful Navigation Rank 2
[268903] = "i:159787", -- Enchant Weapon - Masterful Navigation Rank 3
[268852] = "i:159788", -- Enchant Weapon - Versatile Navigation Rank 1
[268878] = "i:159788", -- Enchant Weapon - Versatile Navigation Rank 2
[268879] = "i:159788", -- Enchant Weapon - Versatile Navigation Rank 3
[268913] = "i:159789", -- Enchant Weapon - Stalwart Navigation Rank 1
[268914] = "i:159789", -- Enchant Weapon - Stalwart Navigation Rank 2
[268915] = "i:159789", -- Enchant Weapon - Stalwart Navigation Rank 3
[255129] = "i:153479", -- Enchant Weapon - Torrent of Elements Rank 1
[255130] = "i:153479", -- Enchant Weapon - Torrent of Elements Rank 2
[255131] = "i:153479", -- Enchant Weapon - Torrent of Elements Rank 3
[255035] = "i:153430", -- Enchant Gloves - Kul Tiran Herbalism
[255040] = "i:153431", -- Enchant Gloves - Kul Tiran Mining
[255065] = "i:153434", -- Enchant Gloves - Kul Tiran Skinning
[255070] = "i:153437", -- Enchant Gloves - Kul Tiran Crafting
[267458] = "i:159464", -- Enchant Gloves - Zandalari Herbalism
[267482] = "i:159466", -- Enchant Gloves - Zandalari Mining
[267486] = "i:159467", -- Enchant Gloves - Zandalari Skinning
[267498] = "i:159471", -- Enchant Gloves - Zandalari Crafting
[123125] = "i:141910", -- Enchant Neck - Mark of the Ancient Priestess
[255066] = "i:153435", -- Enchant Gloves - Kul Tiran Surveying
[267490] = "i:159468", -- Enchant Gloves - Zandalari Surveying
[158914] = "i:110638", -- Enchant Ring - Gift of Critical Strike
[158915] = "i:110639", -- Enchant Ring - Gift of Haste
[158916] = "i:110640", -- Enchant Ring - Gift of Mastery
[158918] = "i:110642", -- Enchant Ring - Gift of Versatility
[158899] = "i:110645", -- Enchant Neck - Gift of Critical Strike
[158900] = "i:110646", -- Enchant Neck - Gift of Haste
[158901] = "i:110647", -- Enchant Neck - Gift of Mastery
[158903] = "i:110649", -- Enchant Neck - Gift of Versatility
[158884] = "i:110652", -- Enchant Cloak - Gift of Critical Strike
[158885] = "i:110653", -- Enchant Cloak - Gift of Haste
[158886] = "i:110654", -- Enchant Cloak - Gift of Mastery
[158889] = "i:110656", -- Enchant Cloak - Gift of Versatility
[159235] = "i:110682", -- Enchant Weapon - Mark of the Thunderlord
[159236] = "i:112093", -- Enchant Weapon - Mark of the Shattered Hand
[159673] = "i:112115", -- Enchant Weapon - Mark of Shadowmoon
[159674] = "i:112160", -- Enchant Weapon - Mark of Blackrock
[159671] = "i:112164", -- Enchant Weapon - Mark of Warsong
[159672] = "i:112165", -- Enchant Weapon - Mark of the Frostwolf
[173323] = "i:118015", -- Enchant Weapon - Mark of Bleeding Hollow
[158907] = "i:110617", -- Enchant Ring - Breath of Critical Strike
[158908] = "i:110618", -- Enchant Ring - Breath of Haste
[158909] = "i:110619", -- Enchant Ring - Breath of Mastery
[158911] = "i:110621", -- Enchant Ring - Breath of Versatility
[158892] = "i:110624", -- Enchant Neck - Breath of Critical Strike
[158893] = "i:110625", -- Enchant Neck - Breath of Haste
[158894] = "i:110626", -- Enchant Neck - Breath of Mastery
[158896] = "i:110628", -- Enchant Neck - Breath of Versatility
[158877] = "i:110631", -- Enchant Cloak - Breath of Critical Strike
[158878] = "i:110632", -- Enchant Cloak - Breath of Haste
[158879] = "i:110633", -- Enchant Cloak - Breath of Mastery
[158881] = "i:110635", -- Enchant Cloak - Breath of Versatility
[104425] = "i:74723", -- Enchant Weapon - Windsong
[104427] = "i:74724", -- Enchant Weapon - Jade Spirit
[104430] = "i:74725", -- Enchant Weapon - Elemental Force
[104434] = "i:74726", -- Enchant Weapon - Dancing Steel
[104440] = "i:74727", -- Enchant Weapon - Colossus
[104442] = "i:74728", -- Enchant Weapon - River's Song
[104338] = "i:74700", -- Enchant Bracer - Mastery
[104385] = "i:74701", -- Enchant Bracer - Major Dodge
[104389] = "i:74703", -- Enchant Bracer - Super Intellect
[104390] = "i:74704", -- Enchant Bracer - Exceptional Strength
[104391] = "i:74705", -- Enchant Bracer - Greater Agility
[104392] = "i:74706", -- Enchant Chest - Super Resilience
[104393] = "i:74707", -- Enchant Chest - Mighty Versatility
[104395] = "i:74708", -- Enchant Chest - Glorious Stats
[104397] = "i:74709", -- Enchant Chest - Superior Stamina
[104398] = "i:74710", -- Enchant Cloak - Accuracy
[104401] = "i:74711", -- Enchant Cloak - Greater Protection
[104403] = "i:74712", -- Enchant Cloak - Superior Intellect
[104404] = "i:74713", -- Enchant Cloak - Superior Critical Strike
[104407] = "i:74715", -- Enchant Boots - Greater Haste
[104408] = "i:74716", -- Enchant Boots - Greater Precision
[104409] = "i:74717", -- Enchant Boots - Blurred Speed
[104414] = "i:74718", -- Enchant Boots - Pandaren's Step
[104416] = "i:74719", -- Enchant Gloves - Greater Haste
[104417] = "i:74720", -- Enchant Gloves - Superior Haste
[104419] = "i:74721", -- Enchant Gloves - Super Strength
[104420] = "i:74722", -- Enchant Gloves - Superior Mastery
[104445] = "i:74729", -- Enchant Off-Hand - Major Intellect
[130758] = "i:89737", -- Enchant Shield - Greater Parry
[74195] = "i:52747", -- Enchant Weapon - Mending
[96264] = "i:68784", -- Enchant Bracer - Agility
[96261] = "i:68785", -- Enchant Bracer - Major Strength
[96262] = "i:68786", -- Enchant Bracer - Mighty Intellect
[74132] = "i:52687", -- Enchant Gloves - Mastery
[74189] = "i:52743", -- Enchant Boots - Earthen Vitality
[74191] = "i:52744", -- Enchant Chest - Mighty Stats
[74192] = "i:52745", -- Enchant Cloak - Lesser Power
[74193] = "i:52746", -- Enchant Bracer - Speed
[74197] = "i:52748", -- Enchant Weapon - Avalanche
[74198] = "i:52749", -- Enchant Gloves - Haste
[74199] = "i:52750", -- Enchant Boots - Haste
[74200] = "i:52751", -- Enchant Chest - Stamina
[74201] = "i:52752", -- Enchant Bracer - Critical Strike
[74202] = "i:52753", -- Enchant Cloak - Intellect
[74207] = "i:52754", -- Enchant Shield - Protection
[74211] = "i:52755", -- Enchant Weapon - Elemental Slayer
[74212] = "i:52756", -- Enchant Gloves - Exceptional Strength
[74213] = "i:52757", -- Enchant Boots - Major Agility
[74214] = "i:52758", -- Enchant Chest - Mighty Resilience
[74220] = "i:52759", -- Enchant Gloves - Greater Haste
[74223] = "i:52760", -- Enchant Weapon - Hurricane
[74225] = "i:52761", -- Enchant Weapon - Heartsong
[74226] = "i:52762", -- Enchant Shield - Mastery
[74229] = "i:52763", -- Enchant Bracer - Superior Dodge
[74230] = "i:52764", -- Enchant Cloak - Critical Strike
[74231] = "i:52765", -- Enchant Chest - Exceptional Versatility
[74232] = "i:52766", -- Enchant Bracer - Precision
[74234] = "i:52767", -- Enchant Cloak - Protection
[74235] = "i:52768", -- Enchant Off-Hand - Superior Intellect
[74236] = "i:52769", -- Enchant Boots - Precision
[74237] = "i:52770", -- Enchant Bracer - Exceptional Versatility
[74238] = "i:52771", -- Enchant Boots - Mastery
[74239] = "i:52772", -- Enchant Bracer - Greater Haste
[74240] = "i:52773", -- Enchant Cloak - Greater Intellect
[74242] = "i:52774", -- Enchant Weapon - Power Torrent
[74244] = "i:52775", -- Enchant Weapon - Windwalk
[74246] = "i:52776", -- Enchant Weapon - Landslide
[74247] = "i:52777", -- Enchant Cloak - Greater Critical Strike
[74248] = "i:52778", -- Enchant Bracer - Greater Critical Strike
[74250] = "i:52779", -- Enchant Chest - Peerless Stats
[74251] = "i:52780", -- Enchant Chest - Greater Stamina
[74252] = "i:52781", -- Enchant Boots - Assassin's Step
[74253] = "i:52782", -- Enchant Boots - Lavawalker
[74254] = "i:52783", -- Enchant Gloves - Mighty Strength
[74255] = "i:52784", -- Enchant Gloves - Greater Mastery
[74256] = "i:52785", -- Enchant Bracer - Greater Speed
[95471] = "i:68134", -- Enchant 2H Weapon - Mighty Agility
[42974] = "i:38948", -- Enchant Weapon - Executioner
[44510] = "i:38963", -- Enchant Weapon - Exceptional Versatility
[44524] = "i:38965", -- Enchant Weapon - Icebreaker
[44576] = "i:38972", -- Enchant Weapon - Lifeward
[44595] = "i:38981", -- Enchant 2H Weapon - Scourgebane
[44621] = "i:38988", -- Enchant Weapon - Giant Slayer
[44629] = "i:38991", -- Enchant Weapon - Exceptional Spellpower
[44630] = "i:38992", -- Enchant 2H Weapon - Greater Savagery
[44633] = "i:38995", -- Enchant Weapon - Exceptional Agility
[46578] = "i:38998", -- Enchant Weapon - Deathfrost
[59625] = "i:43987", -- Enchant Weapon - Black Magic
[60621] = "i:44453", -- Enchant Weapon - Greater Potency
[60691] = "i:44463", -- Enchant 2H Weapon - Massacre
[60707] = "i:44466", -- Enchant Weapon - Superior Potency
[60714] = "i:44467", -- Enchant Weapon - Mighty Spellpower
[59621] = "i:44493", -- Enchant Weapon - Berserking
[59619] = "i:44497", -- Enchant Weapon - Accuracy
[62948] = "i:45056", -- Enchant Staff - Greater Spellpower
[62959] = "i:45060", -- Enchant Staff - Spellpower
[27958] = "i:38912", -- Enchant Chest - Exceptional Mana
[44484] = "i:38951", -- Enchant Gloves - Haste
[44488] = "i:38953", -- Enchant Gloves - Precision
[44489] = "i:38954", -- Enchant Shield - Dodge
[44492] = "i:38955", -- Enchant Chest - Mighty Health
[44500] = "i:38959", -- Enchant Cloak - Superior Agility
[44508] = "i:38961", -- Enchant Boots - Greater Versatility
[44509] = "i:38962", -- Enchant Chest - Greater Versatility
[44513] = "i:38964", -- Enchant Gloves - Greater Assault
[44528] = "i:38966", -- Enchant Boots - Greater Fortitude
[44529] = "i:38967", -- Enchant Gloves - Major Agility
[44555] = "i:38968", -- Enchant Bracer - Exceptional Intellect
[60616] = "i:38971", -- Enchant Bracer - Assault
[44582] = "i:38973", -- Enchant Cloak - Minor Power
[44584] = "i:38974", -- Enchant Boots - Greater Vitality
[44588] = "i:38975", -- Enchant Chest - Exceptional Resilience
[44589] = "i:38976", -- Enchant Boots - Superior Agility
[44591] = "i:38978", -- Enchant Cloak - Superior Dodge
[44592] = "i:38979", -- Enchant Gloves - Exceptional Spellpower
[44593] = "i:38980", -- Enchant Bracer - Major Versatility
[44598] = "i:38984", -- Enchant Bracer - Haste
[60623] = "i:38986", -- Enchant Boots - Icewalker
[44616] = "i:38987", -- Enchant Bracer - Greater Stats
[44623] = "i:38989", -- Enchant Chest - Super Stats
[44625] = "i:38990", -- Enchant Gloves - Armsman
[44631] = "i:38993", -- Enchant Cloak - Shadow Armor
[44635] = "i:38997", -- Enchant Bracer - Greater Spellpower
[47672] = "i:39001", -- Enchant Cloak - Mighty Stamina
[47766] = "i:39002", -- Enchant Chest - Greater Dodge
[47898] = "i:39003", -- Enchant Cloak - Greater Speed
[47899] = "i:39004", -- Enchant Cloak - Wisdom
[47900] = "i:39005", -- Enchant Chest - Super Health
[47901] = "i:39006", -- Enchant Boots - Tuskarr's Vitality
[60606] = "i:44449", -- Enchant Boots - Assault
[60653] = "i:44455", -- Shield Enchant - Greater Intellect
[60609] = "i:44456", -- Enchant Cloak - Speed
[60663] = "i:44457", -- Enchant Cloak - Major Agility
[60668] = "i:44458", -- Enchant Gloves - Crusher
[60692] = "i:44465", -- Enchant Chest - Powerful Stats
[60763] = "i:44469", -- Enchant Boots - Greater Assault
[60767] = "i:44470", -- Enchant Bracer - Superior Spellpower
[44575] = "i:44815", -- Enchant Bracer - Greater Assault
[62256] = "i:44947", -- Enchant Bracer - Major Stamina
[27967] = "i:38917", -- Enchant Weapon - Major Striking
[27968] = "i:38918", -- Enchant Weapon - Major Intellect
[27971] = "i:38919", -- Enchant 2H Weapon - Savagery
[27972] = "i:38920", -- Enchant Weapon - Potency
[27975] = "i:38921", -- Enchant Weapon - Major Spellpower
[27977] = "i:38922", -- Enchant 2H Weapon - Major Agility
[27981] = "i:38923", -- Enchant Weapon - Sunfire
[27982] = "i:38924", -- Enchant Weapon - Soulfrost
[27984] = "i:38925", -- Enchant Weapon - Mongoose
[28003] = "i:38926", -- Enchant Weapon - Spellsurge
[28004] = "i:38927", -- Enchant Weapon - Battlemaster
[34010] = "i:38946", -- Enchant Weapon - Major Healing
[42620] = "i:38947", -- Enchant Weapon - Greater Agility
[27951] = "i:37603", -- Enchant Boots - Dexterity
[25086] = "i:38895", -- Enchant Cloak - Dodge
[27899] = "i:38897", -- Enchant Bracer - Brawn
[27905] = "i:38898", -- Enchant Bracer - Stats
[27906] = "i:38899", -- Enchant Bracer - Greater Dodge
[27911] = "i:38900", -- Enchant Bracer - Superior Healing
[27913] = "i:38901", -- Enchant Bracer - Versatility Prime
[27914] = "i:38902", -- Enchant Bracer - Fortitude
[27917] = "i:38903", -- Enchant Bracer - Spellpower
[27944] = "i:38904", -- Enchant Shield - Lesser Dodge
[27945] = "i:38905", -- Enchant Shield - Intellect
[27946] = "i:38906", -- Enchant Shield - Parry
[27948] = "i:38908", -- Enchant Boots - Vitality
[27950] = "i:38909", -- Enchant Boots - Fortitude
[27954] = "i:38910", -- Enchant Boots - Surefooted
[27957] = "i:38911", -- Enchant Chest - Exceptional Health
[27960] = "i:38913", -- Enchant Chest - Exceptional Stats
[27961] = "i:38914", -- Enchant Cloak - Major Armor
[33990] = "i:38928", -- Enchant Chest - Major Versatility
[33991] = "i:38929", -- Enchant Chest - Versatility Prime
[33992] = "i:38930", -- Enchant Chest - Major Resilience
[33993] = "i:38931", -- Enchant Gloves - Blasting
[33994] = "i:38932", -- Enchant Gloves - Precise Strikes
[33995] = "i:38933", -- Enchant Gloves - Major Strength
[33996] = "i:38934", -- Enchant Gloves - Assault
[33997] = "i:38935", -- Enchant Gloves - Major Spellpower
[33999] = "i:38936", -- Enchant Gloves - Major Healing
[34001] = "i:38937", -- Enchant Bracer - Major Intellect
[34002] = "i:38938", -- Enchant Bracer - Lesser Assault
[34003] = "i:38939", -- Enchant Cloak - PvP Power
[34004] = "i:38940", -- Enchant Cloak - Greater Agility
[34007] = "i:38943", -- Enchant Boots - Cat's Swiftness
[34008] = "i:38944", -- Enchant Boots - Boar's Speed
[34009] = "i:38945", -- Enchant Shield - Major Stamina
[44383] = "i:38949", -- Enchant Shield - Resilience
[46594] = "i:38999", -- Enchant Chest - Dodge
[47051] = "i:39000", -- Enchant Cloak - Greater Dodge
[7745] = "i:38772", -- Enchant 2H Weapon - Minor Impact
[7786] = "i:38779", -- Enchant Weapon - Minor Beastslayer
[7788] = "i:38780", -- Enchant Weapon - Minor Striking
[7793] = "i:38781", -- Enchant 2H Weapon - Lesser Intellect
[13380] = "i:38788", -- Enchant 2H Weapon - Lesser Versatility
[13503] = "i:38794", -- Enchant Weapon - Lesser Striking
[13529] = "i:38796", -- Enchant 2H Weapon - Lesser Impact
[13653] = "i:38813", -- Enchant Weapon - Lesser Beastslayer
[13655] = "i:38814", -- Enchant Weapon - Lesser Elemental Slayer
[13693] = "i:38821", -- Enchant Weapon - Striking
[13695] = "i:38822", -- Enchant 2H Weapon - Impact
[13898] = "i:38838", -- Enchant Weapon - Fiery Weapon
[13915] = "i:38840", -- Enchant Weapon - Demonslaying
[13937] = "i:38845", -- Enchant 2H Weapon - Greater Impact
[13943] = "i:38848", -- Enchant Weapon - Greater Striking
[20029] = "i:38868", -- Enchant Weapon - Icy Chill
[20030] = "i:38869", -- Enchant 2H Weapon - Superior Impact
[20031] = "i:38870", -- Enchant Weapon - Superior Striking
[20032] = "i:38871", -- Enchant Weapon - Lifestealing
[20033] = "i:38872", -- Enchant Weapon - Unholy Weapon
[20034] = "i:38873", -- Enchant Weapon - Crusader
[20035] = "i:38874", -- Enchant 2H Weapon - Major Versatility
[20036] = "i:38875", -- Enchant 2H Weapon - Major Intellect
[21931] = "i:38876", -- Enchant Weapon - Winter's Might
[22749] = "i:38877", -- Enchant Weapon - Spellpower
[22750] = "i:38878", -- Enchant Weapon - Healing Power
[23799] = "i:38879", -- Enchant Weapon - Strength
[23800] = "i:38880", -- Enchant Weapon - Agility
[23803] = "i:38883", -- Enchant Weapon - Mighty Versatility
[23804] = "i:38884", -- Enchant Weapon - Mighty Intellect
[27837] = "i:38896", -- Enchant 2H Weapon - Agility
[64441] = "i:46026", -- Enchant Weapon - Blade Ward
[64579] = "i:46098", -- Enchant Weapon - Blood Draining
[7418] = "i:38679", -- Enchant Bracer - Minor Health
[7420] = "i:38766", -- Enchant Chest - Minor Health
[7426] = "i:38767", -- Enchant Chest - Minor Absorption
[7428] = "i:38768", -- Enchant Bracer - Minor Dodge
[7443] = "i:38769", -- Enchant Chest - Minor Mana
[7457] = "i:38771", -- Enchant Bracer - Minor Stamina
[7748] = "i:38773", -- Enchant Chest - Lesser Health
[7766] = "i:38774", -- Enchant Bracer - Minor Versatility
[7771] = "i:38775", -- Enchant Cloak - Minor Protection
[7776] = "i:38776", -- Enchant Chest - Lesser Mana
[7779] = "i:38777", -- Enchant Bracer - Minor Agility
[7782] = "i:38778", -- Enchant Bracer - Minor Strength
[7857] = "i:38782", -- Enchant Chest - Health
[7859] = "i:38783", -- Enchant Bracer - Lesser Versatility
[7863] = "i:38785", -- Enchant Boots - Minor Stamina
[7867] = "i:38786", -- Enchant Boots - Minor Agility
[13378] = "i:38787", -- Enchant Shield - Minor Stamina
[13419] = "i:38789", -- Enchant Cloak - Minor Agility
[13421] = "i:38790", -- Enchant Cloak - Lesser Protection
[13464] = "i:38791", -- Enchant Shield - Lesser Protection
[13485] = "i:38792", -- Enchant Shield - Lesser Versatility
[13501] = "i:38793", -- Enchant Bracer - Lesser Stamina
[13536] = "i:38797", -- Enchant Bracer - Lesser Strength
[13538] = "i:38798", -- Enchant Chest - Lesser Absorption
[13607] = "i:38799", -- Enchant Chest - Mana
[13612] = "i:38800", -- Enchant Gloves - Mining
[13617] = "i:38801", -- Enchant Gloves - Herbalism
[13620] = "i:38802", -- Enchant Gloves - Fishing
[13622] = "i:38803", -- Enchant Bracer - Lesser Intellect
[13626] = "i:38804", -- Enchant Chest - Minor Stats
[13631] = "i:38805", -- Enchant Shield - Lesser Stamina
[13635] = "i:38806", -- Enchant Cloak - Defense
[13637] = "i:38807", -- Enchant Boots - Lesser Agility
[13640] = "i:38808", -- Enchant Chest - Greater Health
[13642] = "i:38809", -- Enchant Bracer - Versatility
[13644] = "i:38810", -- Enchant Boots - Lesser Stamina
[13646] = "i:38811", -- Enchant Bracer - Lesser Dodge
[13648] = "i:38812", -- Enchant Bracer - Stamina
[13659] = "i:38816", -- Enchant Shield - Versatility
[13661] = "i:38817", -- Enchant Bracer - Strength
[13663] = "i:38818", -- Enchant Chest - Greater Mana
[13687] = "i:38819", -- Enchant Boots - Lesser Versatility
[13689] = "i:38820", -- Enchant Shield - Lesser Parry
[13698] = "i:38823", -- Enchant Gloves - Skinning
[13700] = "i:38824", -- Enchant Chest - Lesser Stats
[13746] = "i:38825", -- Enchant Cloak - Greater Defense
[13815] = "i:38827", -- Enchant Gloves - Agility
[13817] = "i:38828", -- Enchant Shield - Stamina
[13822] = "i:38829", -- Enchant Bracer - Intellect
[13836] = "i:38830", -- Enchant Boots - Stamina
[13841] = "i:38831", -- Enchant Gloves - Advanced Mining
[13846] = "i:38832", -- Enchant Bracer - Greater Versatility
[13858] = "i:38833", -- Enchant Chest - Superior Health
[13868] = "i:38834", -- Enchant Gloves - Advanced Herbalism
[13882] = "i:38835", -- Enchant Cloak - Lesser Agility
[13887] = "i:38836", -- Enchant Gloves - Strength
[13890] = "i:38837", -- Enchant Boots - Minor Speed
[13905] = "i:38839", -- Enchant Shield - Greater Versatility
[13917] = "i:38841", -- Enchant Chest - Superior Mana
[13931] = "i:38842", -- Enchant Bracer - Dodge
[13935] = "i:38844", -- Enchant Boots - Agility
[13939] = "i:38846", -- Enchant Bracer - Greater Strength
[13941] = "i:38847", -- Enchant Chest - Stats
[13945] = "i:38849", -- Enchant Bracer - Greater Stamina
[13947] = "i:38850", -- Enchant Gloves - Riding Skill
[13948] = "i:38851", -- Enchant Gloves - Minor Haste
[20008] = "i:38852", -- Enchant Bracer - Greater Intellect
[20009] = "i:38853", -- Enchant Bracer - Superior Versatility
[20010] = "i:38854", -- Enchant Bracer - Superior Strength
[20011] = "i:38855", -- Enchant Bracer - Superior Stamina
[20012] = "i:38856", -- Enchant Gloves - Greater Agility
[20013] = "i:38857", -- Enchant Gloves - Greater Strength
[20015] = "i:38859", -- Enchant Cloak - Superior Defense
[20016] = "i:38860", -- Enchant Shield - Vitality
[20017] = "i:38861", -- Enchant Shield - Greater Stamina
[20020] = "i:38862", -- Enchant Boots - Greater Stamina
[20023] = "i:38863", -- Enchant Boots - Greater Agility
[20024] = "i:38864", -- Enchant Boots - Versatility
[20025] = "i:38865", -- Enchant Chest - Greater Stats
[20026] = "i:38866", -- Enchant Chest - Major Health
[20028] = "i:38867", -- Enchant Chest - Major Mana
[23801] = "i:38881", -- Enchant Bracer - Argent Versatility
[23802] = "i:38882", -- Enchant Bracer - Healing Power
[25072] = "i:38885", -- Enchant Gloves - Threat
[25073] = "i:38886", -- Enchant Gloves - Shadow Power
[25074] = "i:38887", -- Enchant Gloves - Frost Power
[25078] = "i:38888", -- Enchant Gloves - Fire Power
[25079] = "i:38889", -- Enchant Gloves - Healing Power
[25080] = "i:38890", -- Enchant Gloves - Superior Agility
[25083] = "i:38893", -- Enchant Cloak - Stealth
[25084] = "i:38894", -- Enchant Cloak - Subtlety
[44506] = "i:38960", -- Enchant Gloves - Gatherer
[63746] = "i:45628", -- Enchant Boots - Lesser Accuracy
[71692] = "i:50816", -- Enchant Gloves - Angler
[190954] = "i:128554", -- Enchant Shoulder - Boon of the Scavenger
[190988] = "i:128558", -- Enchant Gloves - Legion Herbalism
[190989] = "i:128559", -- Enchant Gloves - Legion Mining
[190990] = "i:128560", -- Enchant Gloves - Legion Skinning
[190991] = "i:128561", -- Enchant Gloves - Legion Surveying
[190869] = "i:128540", -- Enchant Ring - Word of Versatility Rank 1
[190995] = "i:128540", -- Enchant Ring - Word of Versatility Rank 2
[191012] = "i:128540", -- Enchant Ring - Word of Versatility Rank 3
[190866] = "i:128537", -- Enchant Ring - Word of Critical Strike Rank 1
[190992] = "i:128537", -- Enchant Ring - Word of Critical Strike Rank 2
[191009] = "i:128537", -- Enchant Ring - Word of Critical Strike Rank 3
[190875] = "i:128546", -- Enchant Cloak - Word of Agility Rank 1
[191001] = "i:128546", -- Enchant Cloak - Word of Agility Rank 2
[191018] = "i:128546", -- Enchant Cloak - Word of Agility Rank 3
[190867] = "i:128538", -- Enchant Ring - Word of Haste Rank 1
[190993] = "i:128538", -- Enchant Ring - Word of Haste Rank 2
[191010] = "i:128538", -- Enchant Ring - Word of Haste Rank 3
[190876] = "i:128547", -- Enchant Cloak - Word of Intellect Rank 1
[191002] = "i:128547", -- Enchant Cloak - Word of Intellect Rank 2
[191019] = "i:128547", -- Enchant Cloak - Word of Intellect Rank 3
[190868] = "i:128539", -- Enchant Ring - Word of Mastery Rank 1
[190994] = "i:128539", -- Enchant Ring - Word of Mastery Rank 2
[191011] = "i:128539", -- Enchant Ring - Word of Mastery Rank 3
[190874] = "i:128545", -- Enchant Cloak - Word of Strength Rank 1
[191000] = "i:128545", -- Enchant Cloak - Word of Strength Rank 2
[191017] = "i:128545", -- Enchant Cloak - Word of Strength Rank 3
[228408] = "i:141910", -- Enchant Neck - Mark Of The Ancient Priestess Rank 1
[228409] = "i:141910", -- Enchant Neck - Mark Of The Ancient Priestess Rank 2
[228410] = "i:141910", -- Enchant Neck - Mark Of The Ancient Priestess Rank 3
[190892] = "i:128551", -- Enchant Neck - Mark Of The Claw Rank 1
[191006] = "i:128551", -- Enchant Neck - Mark Of The Claw Rank 2
[191023] = "i:128551", -- Enchant Neck - Mark Of The Claw Rank 3
[190893] = "i:128552", -- Enchant Neck - Mark Of The Distant Army Rank 1
[191007] = "i:128552", -- Enchant Neck - Mark Of The Distant Army Rank 2
[191024] = "i:128552", -- Enchant Neck - Mark Of The Distant Army Rank 3
[228402] = "i:141908", -- Enchant Neck - Mark Of The Heavy Hide Rank 1
[228403] = "i:141908", -- Enchant Neck - Mark Of The Heavy Hide Rank 2
[228404] = "i:141908", -- Enchant Neck - Mark Of The Heavy Hide Rank 3
[190894] = "i:128553", -- Enchant Neck - Mark of the Hidden Satyr Rank 1
[191008] = "i:128553", -- Enchant Neck - Mark of the Hidden Satyr Rank 2
[191025] = "i:128553", -- Enchant Neck - Mark of the Hidden Satyr Rank 3
[228405] = "i:141909", -- Enchant Neck - Mark of the Trained Soldier Rank 1
[228406] = "i:141909", -- Enchant Neck - Mark of the Trained Soldier Rank 2
[228407] = "i:141909", -- Enchant Neck - Mark of the Trained Soldier Rank 3
[190870] = "i:128541", -- Enchant Ring - Binding Of Critical Strike Rank 1
[190996] = "i:128541", -- Enchant Ring - Binding Of Critical Strike Rank 2
[191013] = "i:128541", -- Enchant Ring - Binding Of Critical Strike Rank 3
[190871] = "i:128542", -- Enchant Ring - Binding Of Haste Rank 1
[190997] = "i:128542", -- Enchant Ring - Binding Of Haste Rank 2
[191014] = "i:128542", -- Enchant Ring - Binding Of Haste Rank 3
[190872] = "i:128543", -- Enchant Ring - Binding Of Mastery Rank 1
[190998] = "i:128543", -- Enchant Ring - Binding Of Mastery Rank 2
[191015] = "i:128543", -- Enchant Ring - Binding Of Mastery Rank 3
[190873] = "i:128544", -- Enchant Ring - Binding Of Versatility Rank 1
[190999] = "i:128544", -- Enchant Ring - Binding Of Versatility Rank 2
[191016] = "i:128544", -- Enchant Ring - Binding Of Versatility Rank 3
[190877] = "i:128548", -- Enchant Cloak - Binding Of Strength Rank 1
[191003] = "i:128548", -- Enchant Cloak - Binding Of Strength Rank 2
[191020] = "i:128548", -- Enchant Cloak - Binding Of Strength Rank 3
[190878] = "i:128549", -- Enchant Cloak - Binding Of Agility Rank 1
[191004] = "i:128549", -- Enchant Cloak - Binding Of Agility Rank 2
[191021] = "i:128549", -- Enchant Cloak - Binding Of Agility Rank 3
[190879] = "i:128550", -- Enchant Cloak - Binding Of Intellect Rank 1
[191005] = "i:128550", -- Enchant Cloak - Binding Of Intellect Rank 2
[191022] = "i:128550", -- Enchant Cloak - Binding Of Intellect Rank 3
[235698] = "i:144307", -- Enchant Neck - Mark of the Deadly Rank 1
[235702] = "i:144307", -- Enchant Neck - Mark of the Deadly Rank 2
[235706] = "i:144307", -- Enchant Neck - Mark of the Deadly Rank 3
[235695] = "i:144304", -- Enchant Neck - Mark of the Master Rank 1
[235699] = "i:144304", -- Enchant Neck - Mark of the Master Rank 2
[235703] = "i:144304", -- Enchant Neck - Mark of the Master Rank 3
[235697] = "i:144306", -- Enchant Neck - Mark of the Quick Rank 1
[235701] = "i:144306", -- Enchant Neck - Mark of the Quick Rank 2
[235705] = "i:144306", -- Enchant Neck - Mark of the Quick Rank 3
[235696] = "i:144305", -- Enchant Neck - Mark of the Versatile Rank 1
[235704] = "i:144305", -- Enchant Neck - Mark of the Versatile Rank 2
[235700] = "i:144305", -- Enchant Neck - Mark of the Versatile Rank 3
}
-- ============================================================================
-- Module Functions
-- ============================================================================
function ProfessionInfo.GetName(key)
local name = PROFESSION_NAMES[key]
assert(name)
return name
end
function ProfessionInfo.IsSubNameClassic(str)
assert(TSM.IsWowClassic())
return CLASSIC_SUB_NAMES[str] or false
end
function ProfessionInfo.GetVellumItemString()
return VELLUM_ITEM_STRING
end
function ProfessionInfo.IsEngineeringTinker(spellId)
return ENGINEERING_TINKERS[spellId] or false
end
function ProfessionInfo.IsMassMill(spellId)
return MASS_MILLING_RECIPES[spellId] and true or false
end
function ProfessionInfo.GetIndirectCraftResult(spellId)
return ENCHANTING_RECIPIES[spellId] or MASS_MILLING_RECIPES[spellId] or nil
end

512
LibTSM/Data/Prospect.lua Normal file
View File

@@ -0,0 +1,512 @@
-- ------------------------------------------------------------------------------ --
-- TradeSkillMaster --
-- https://tradeskillmaster.com --
-- All Rights Reserved - Detailed license information included with addon. --
-- ------------------------------------------------------------------------------ --
local _, TSM = ...
local Prospect = TSM.Init("Data.Prospect")
local private = {}
-- ============================================================================
-- Prospect Data
-- ============================================================================
local DATA = TSM.IsWowClassic() and {} or {
-- ======================================== Uncommon Gems ======================================
["i:774"] = { -- Malachite
["i:2770"] = {matRate = 0.5000, minAmount = 1, maxAmount = 1, amountOfMats = 0.1000}, -- Copper Ore
},
["i:818"] = { -- Tigerseye
["i:2770"] = {matRate = 0.5000, minAmount = 1, maxAmount = 1, amountOfMats = 0.1000}, -- Copper Ore
},
["i:1210"] = { -- Shadowgem
["i:2771"] = {matRate = 0.3800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0800}, -- Tin Ore
["i:2770"] = {matRate = 0.1000, minAmount = 1, maxAmount = 1, amountOfMats = 0.0200}, -- Copper Ore
},
["i:1206"] = { -- Moss Agate
["i:2771"] = {matRate = 0.3800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0800}, -- Tin Ore
},
["i:1705"] = { -- Lesser Moonstone
["i:2771"] = {matRate = 0.3800, minAmount = 1, maxAmount = 2, amountOfMats = 0.080}, -- Tin Ore
["i:2772"] = {matRate = 0.3500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0725}, -- Iron Ore
},
["i:1529"] = { -- Jade
["i:2772"] = {matRate = 0.3500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0725}, -- Iron Ore
["i:2771"] = {matRate = 0.0375, minAmount = 1, maxAmount = 1, amountOfMats = 0.0075}, -- Tin Ore
},
["i:3864"] = { -- Citrine
["i:2772"] = {matRate = 0.3500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0725}, -- Iron Ore
["i:3858"] = {matRate = 0.3500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0725}, -- Mithril Ore
["i:2771"] = {matRate = 0.0375, minAmount = 1, maxAmount = 1, amountOfMats = 0.0075}, -- Tin Ore
},
["i:7909"] = { -- Aquamarine
["i:3858"] = {matRate = 0.3500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0725}, -- Mithril Ore
["i:2772"] = {matRate = 0.0500, minAmount = 1, maxAmount = 1, amountOfMats = 0.0100}, -- Iron Ore
["i:2771"] = {matRate = 0.0375, minAmount = 1, maxAmount = 1, amountOfMats = 0.0075}, -- Tin Ore
},
["i:7910"] = { -- Star Ruby
[ "i:3858"] = {matRate = 0.3500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0725}, -- Mithril Ore
["i:10620"] = {matRate = 0.1550, minAmount = 1, maxAmount = 2, amountOfMats = 0.0320}, -- Thorium Ore
[ "i:2772"] = {matRate = 0.0500, minAmount = 1, maxAmount = 1, amountOfMats = 0.0100}, -- Iron Ore
},
["i:12361"] = { -- Blue Sapphire
["i:10620"] = {matRate = 0.3100, minAmount = 1, maxAmount = 2, amountOfMats = 0.0660}, -- Thorium Ore
[ "i:3858"] = {matRate = 0.0250, minAmount = 1, maxAmount = 1, amountOfMats = 0.0050}, -- Mithril Ore
},
["i:12799"] = { -- Large Opal
["i:10620"] = {matRate = 0.3100, minAmount = 1, maxAmount = 2, amountOfMats = 0.0660}, -- Thorium Ore
[ "i:3858"] = {matRate = 0.0250, minAmount = 1, maxAmount = 1, amountOfMats = 0.0050}, -- Mithril Ore
},
["i:12800"] = { -- Azerothian Diamond
["i:10620"] = {matRate = 0.3100, minAmount = 1, maxAmount = 2, amountOfMats = 0.0660}, -- Thorium Ore
[ "i:3858"] = {matRate = 0.0250, minAmount = 1, maxAmount = 1, amountOfMats = 0.0050}, -- Mithril Ore
},
["i:12364"] = { -- Huge Emerald
["i:10620"] = {matRate = 0.3100, minAmount = 1, maxAmount = 2, amountOfMats = 0.0660}, -- Thorium Ore
[ "i:3858"] = {matRate = 0.0250, minAmount = 1, maxAmount = 1, amountOfMats = 0.0050}, -- Mithril Ore
},
["i:23117"] = { -- Azure Moonstone
["i:23424"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Fel Iron Ore
["i:23425"] = {matRate = 0.5000, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Adamantite Ore
},
["i:23077"] = { -- Blood Garnet
["i:23424"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Fel Iron Ore
["i:23425"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Adamantite Ore
},
["i:23079"] = { -- Deep Peridot
["i:23424"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Fel Iron Ore
["i:23425"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Adamantite Ore
},
["i:21929"] = { -- Flame Spessarite
["i:23424"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Fel Iron Ore
["i:23425"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Adamantite Ore
},
["i:23112"] = { -- Golden Draenite
["i:23424"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Fel Iron Ore
["i:23425"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Adamantite Ore
},
["i:23107"] = { -- Shadow Draenite
["i:23424"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Fel Iron Ore
["i:23425"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Adamantite Ore
},
["i:36917"] = { -- Bloodstone
["i:36909"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0528}, -- Cobalt Ore
["i:36912"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Saronite Ore
["i:36910"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0525}, -- Titanium Ore
},
["i:36923"] = { -- Chalcedony
["i:36909"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0528}, -- Cobalt Ore
["i:36912"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Saronite Ore
["i:36910"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0525}, -- Titanium Ore
},
["i:36932"] = { -- Dark Jade
["i:36909"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0528}, -- Cobalt Ore
["i:36912"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Saronite Ore
["i:36910"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0525}, -- Titanium Ore
},
["i:36929"] = { -- Huge Citrine
["i:36909"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0528}, -- Cobalt Ore
["i:36912"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Saronite Ore
["i:36910"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0525}, -- Titanium Ore
},
["i:36926"] = { -- Shadow Crystal
["i:36909"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0528}, -- Cobalt Ore
["i:36912"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Saronite Ore
["i:36910"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0525}, -- Titanium Ore
},
["i:36920"] = { -- Sun Crystal
["i:36909"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0528}, -- Cobalt Ore
["i:36912"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Saronite Ore
["i:36910"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0525}, -- Titanium Ore
},
["i:52182"] = { -- Jasper
["i:53038"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0528}, -- Obsidium Ore
["i:52185"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Elementium Ore
["i:52183"] = {matRate = 0.1650, minAmount = 1, maxAmount = 1, amountOfMats = 0.0330}, -- Pyrite Ore
},
["i:52180"] = { -- Nightstone
["i:53038"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0528}, -- Obsidium Ore
["i:52185"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Elementium Ore
["i:52183"] = {matRate = 0.1650, minAmount = 1, maxAmount = 1, amountOfMats = 0.0330}, -- Pyrite Ore
},
["i:52178"] = { -- Zephyrite
["i:53038"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0528}, -- Obsidium Ore
["i:52185"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Elementium Ore
["i:52183"] = {matRate = 0.1650, minAmount = 1, maxAmount = 1, amountOfMats = 0.0330}, -- Pyrite Ore
},
["i:52179"] = { -- Alicite
["i:53038"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0528}, -- Obsidium Ore
["i:52185"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Elementium Ore
["i:52183"] = {matRate = 0.1650, minAmount = 1, maxAmount = 1, amountOfMats = 0.0330}, -- Pyrite Ore
},
["i:52177"] = { -- Carnelian
["i:53038"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0528}, -- Obsidium Ore
["i:52185"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Elementium Ore
["i:52183"] = {matRate = 0.1650, minAmount = 1, maxAmount = 1, amountOfMats = 0.0330}, -- Pyrite Ore
},
["i:52181"] = { -- Hessonite
["i:53038"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0528}, -- Obsidium Ore
["i:52185"] = {matRate = 0.1800, minAmount = 1, maxAmount = 2, amountOfMats = 0.0365}, -- Elementium Ore
["i:52183"] = {matRate = 0.1650, minAmount = 1, maxAmount = 1, amountOfMats = 0.0330}, -- Pyrite Ore
},
["i:76130"] = { -- Tiger Opal
["i:72092"] = {matRate = 0.2350, minAmount = 1, maxAmount = 2, amountOfMats = 0.0485}, -- Ghost Iron Ore
["i:72093"] = {matRate = 0.2350, minAmount = 1, maxAmount = 2, amountOfMats = 0.0505}, -- Kyparite
["i:72103"] = {matRate = 0.1700, minAmount = 1, maxAmount = 1, amountOfMats = 0.0340}, -- White Trillium Ore
["i:72094"] = {matRate = 0.1700, minAmount = 1, maxAmount = 1, amountOfMats = 0.0340}, -- Black Trillium Ore
},
["i:76133"] = { -- Lapis Lazuli
["i:72092"] = {matRate = 0.2350, minAmount = 1, maxAmount = 2, amountOfMats = 0.0485}, -- Ghost Iron Ore
["i:72093"] = {matRate = 0.2350, minAmount = 1, maxAmount = 2, amountOfMats = 0.0505}, -- Kyparite
["i:72103"] = {matRate = 0.1700, minAmount = 1, maxAmount = 1, amountOfMats = 0.0340}, -- White Trillium Ore
["i:72094"] = {matRate = 0.1700, minAmount = 1, maxAmount = 1, amountOfMats = 0.0340}, -- Black Trillium Ore
},
["i:76134"] = { -- Sunstone
["i:72092"] = {matRate = 0.2350, minAmount = 1, maxAmount = 2, amountOfMats = 0.0485}, -- Ghost Iron Ore
["i:72093"] = {matRate = 0.2350, minAmount = 1, maxAmount = 2, amountOfMats = 0.0505}, -- Kyparite
["i:72103"] = {matRate = 0.1700, minAmount = 1, maxAmount = 1, amountOfMats = 0.0340}, -- White Trillium Ore
["i:72094"] = {matRate = 0.1700, minAmount = 1, maxAmount = 1, amountOfMats = 0.0340}, -- Black Trillium Ore
},
["i:76135"] = { -- Roguestone
["i:72092"] = {matRate = 0.2350, minAmount = 1, maxAmount = 2, amountOfMats = 0.0485}, -- Ghost Iron Ore
["i:72093"] = {matRate = 0.2350, minAmount = 1, maxAmount = 2, amountOfMats = 0.0505}, -- Kyparite
["i:72103"] = {matRate = 0.1700, minAmount = 1, maxAmount = 1, amountOfMats = 0.0340}, -- White Trillium Ore
["i:72094"] = {matRate = 0.1700, minAmount = 1, maxAmount = 1, amountOfMats = 0.0340}, -- Black Trillium Ore
},
["i:76136"] = { -- Pandarian Garnet
["i:72092"] = {matRate = 0.2350, minAmount = 1, maxAmount = 2, amountOfMats = 0.0485}, -- Ghost Iron Ore
["i:72093"] = {matRate = 0.2350, minAmount = 1, maxAmount = 2, amountOfMats = 0.0505}, -- Kyparite
["i:72103"] = {matRate = 0.1700, minAmount = 1, maxAmount = 1, amountOfMats = 0.0340}, -- White Trillium Ore
["i:72094"] = {matRate = 0.1700, minAmount = 1, maxAmount = 1, amountOfMats = 0.0340}, -- Black Trillium Ore
},
["i:76137"] = { -- Alexandrite
["i:72092"] = {matRate = 0.2350, minAmount = 1, maxAmount = 2, amountOfMats = 0.0485}, -- Ghost Iron Ore
["i:72093"] = {matRate = 0.2350, minAmount = 1, maxAmount = 2, amountOfMats = 0.0505}, -- Kyparite
["i:72103"] = {matRate = 0.1700, minAmount = 1, maxAmount = 1, amountOfMats = 0.0340}, -- White Trillium Ore
["i:72094"] = {matRate = 0.1700, minAmount = 1, maxAmount = 1, amountOfMats = 0.0340}, -- Black Trillium Ore
},
["i:130173"] = { -- Deep Amber
["i:123918"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0110}, -- Leystone Ore
["i:123919"] = {matRate = 0.0600, minAmount = 2, maxAmount = 5, amountOfMats = 0.0420}, -- Felslate
},
["i:130174"] = { -- Azsunite
["i:123918"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0110}, -- Leystone Ore
["i:123919"] = {matRate = 0.0600, minAmount = 2, maxAmount = 5, amountOfMats = 0.0420}, -- Felslate
},
["i:130176"] = { -- Skystone
["i:123918"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0110}, -- Leystone Ore
["i:123919"] = {matRate = 0.0600, minAmount = 2, maxAmount = 5, amountOfMats = 0.0420}, -- Felslate
},
["i:130177"] = { -- Queen's Opal
["i:123918"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0110}, -- Leystone Ore
["i:123919"] = {matRate = 0.0600, minAmount = 2, maxAmount = 5, amountOfMats = 0.0420}, -- Felslate
},
["i:130175"] = { -- Chaotic Spinel
["i:123918"] = {matRate = 0.3500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0080}, -- Leystone Ore
["i:123919"] = {matRate = 0.2500, minAmount = 2, maxAmount = 5, amountOfMats = 0.0175}, -- Felslate
},
["i:130172"] = { -- Sangrite
["i:123918"] = {matRate = 0.2500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0060}, -- Leystone Ore
["i:123919"] = {matRate = 0.3500, minAmount = 2, maxAmount = 5, amountOfMats = 0.0245}, -- Felslate
},
["i:153700"] = { -- Golden Beryl
["i:152512"] = {matRate = 0.1800, minAmount = 1, maxAmount = 4, amountOfMats = 0.0552}, -- Monelite Ore
["i:152579"] = {matRate = 0.1950, minAmount = 1, maxAmount = 4, amountOfMats = 0.0603}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.2100, minAmount = 1, maxAmount = 4, amountOfMats = 0.0660}, -- Platinum Ore
},
["i:153701"] = { -- Rubellite
["i:152512"] = {matRate = 0.1800, minAmount = 1, maxAmount = 4, amountOfMats = 0.0552}, -- Monelite Ore
["i:152579"] = {matRate = 0.1950, minAmount = 1, maxAmount = 4, amountOfMats = 0.0603}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.2100, minAmount = 1, maxAmount = 4, amountOfMats = 0.0660}, -- Platinum Ore
},
["i:153702"] = { -- Kubiline
["i:152512"] = {matRate = 0.1800, minAmount = 1, maxAmount = 4, amountOfMats = 0.0552}, -- Monelite Ore
["i:152579"] = {matRate = 0.1950, minAmount = 1, maxAmount = 4, amountOfMats = 0.0603}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.2100, minAmount = 1, maxAmount = 4, amountOfMats = 0.0660}, -- Platinum Ore
},
["i:153703"] = { -- Solstone
["i:152512"] = {matRate = 0.1800, minAmount = 1, maxAmount = 4, amountOfMats = 0.0552}, -- Monelite Ore
["i:152579"] = {matRate = 0.1950, minAmount = 1, maxAmount = 4, amountOfMats = 0.0603}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.2100, minAmount = 1, maxAmount = 4, amountOfMats = 0.0660}, -- Platinum Ore
},
["i:153704"] = { -- Viridium
["i:152512"] = {matRate = 0.1800, minAmount = 1, maxAmount = 4, amountOfMats = 0.0552}, -- Monelite Ore
["i:152579"] = {matRate = 0.1950, minAmount = 1, maxAmount = 4, amountOfMats = 0.0603}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.2100, minAmount = 1, maxAmount = 4, amountOfMats = 0.0660}, -- Platinum Ore
},
["i:153705"] = { -- Kyanite
["i:152512"] = {matRate = 0.1800, minAmount = 1, maxAmount = 4, amountOfMats = 0.0552}, -- Monelite Ore
["i:152579"] = {matRate = 0.1950, minAmount = 1, maxAmount = 4, amountOfMats = 0.0603}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.2100, minAmount = 1, maxAmount = 4, amountOfMats = 0.0660}, -- Platinum Ore
},
-- ========================================== Rare Gems ========================================
["i:23440"] = { -- Dawnstone
["i:23424"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Fel Iron Ore
["i:23425"] = {matRate = 0.0400, minAmount = 1, maxAmount = 1, amountOfMats = 0.0080}, -- Adamantite Ore
},
["i:23436"] = { -- Living Ruby
["i:23424"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Fel Iron Ore
["i:23425"] = {matRate = 0.0400, minAmount = 1, maxAmount = 1, amountOfMats = 0.0080}, -- Adamantite Ore
},
["i:23441"] = { -- Nightseye
["i:23424"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Fel Iron Ore
["i:23425"] = {matRate = 0.0400, minAmount = 1, maxAmount = 1, amountOfMats = 0.0080}, -- Adamantite Ore
},
["i:23439"] = { -- Noble Topaz
["i:23424"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Fel Iron Ore
["i:23425"] = {matRate = 0.0400, minAmount = 1, maxAmount = 1, amountOfMats = 0.0080}, -- Adamantite Ore
},
["i:23438"] = { -- Star of Elune
["i:23424"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Fel Iron Ore
["i:23425"] = {matRate = 0.0400, minAmount = 1, maxAmount = 1, amountOfMats = 0.0080}, -- Adamantite Ore
},
["i:23437"] = { -- Talasite
["i:23424"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Fel Iron Ore
["i:23425"] = {matRate = 0.0400, minAmount = 1, maxAmount = 1, amountOfMats = 0.0080}, -- Adamantite Ore
},
["i:36921"] = { -- Autumn's Glow
["i:36909"] = {matRate = 0.0125, minAmount = 1, maxAmount = 2, amountOfMats = 0.0025}, -- Cobalt Ore
["i:36912"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Saronite Ore
["i:36910"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Titanium Ore
},
["i:36933"] = { -- Forest Emerald
["i:36909"] = {matRate = 0.0125, minAmount = 1, maxAmount = 2, amountOfMats = 0.0025}, -- Cobalt Ore
["i:36912"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Saronite Ore
["i:36910"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Titanium Ore
},
["i:36930"] = { -- Monarch Topaz
["i:36909"] = {matRate = 0.0125, minAmount = 1, maxAmount = 2, amountOfMats = 0.0025}, -- Cobalt Ore
["i:36912"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Saronite Ore
["i:36910"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Titanium Ore
},
["i:36918"] = { -- Scarlet Ruby
["i:36909"] = {matRate = 0.0125, minAmount = 1, maxAmount = 2, amountOfMats = 0.0025}, -- Cobalt Ore
["i:36912"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Saronite Ore
["i:36910"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Titanium Ore
},
["i:36924"] = { -- Sky Sapphire
["i:36909"] = {matRate = 0.0125, minAmount = 1, maxAmount = 2, amountOfMats = 0.0025}, -- Cobalt Ore
["i:36912"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Saronite Ore
["i:36910"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Titanium Ore
},
["i:36927"] = { -- Twilight Opal
["i:36909"] = {matRate = 0.0125, minAmount = 1, maxAmount = 2, amountOfMats = 0.0025}, -- Cobalt Ore
["i:36912"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Saronite Ore
["i:36910"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Titanium Ore
},
["i:52192"] = { -- Dream Emerald
["i:53038"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Obsidium Ore
["i:52185"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0091}, -- Elementium Ore
["i:52183"] = {matRate = 0.0750, minAmount = 1, maxAmount = 2, amountOfMats = 0.0152}, -- Pyrite Ore
},
["i:52193"] = { -- Ember Topaz
["i:53038"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Obsidium Ore
["i:52185"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0091}, -- Elementium Ore
["i:52183"] = {matRate = 0.0750, minAmount = 1, maxAmount = 2, amountOfMats = 0.0152}, -- Pyrite Ore
},
["i:52190"] = { -- Inferno Ruby
["i:53038"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Obsidium Ore
["i:52185"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0091}, -- Elementium Ore
["i:52183"] = {matRate = 0.0750, minAmount = 1, maxAmount = 2, amountOfMats = 0.0152}, -- Pyrite Ore
},
["i:52195"] = { -- Amberjewel
["i:53038"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Obsidium Ore
["i:52185"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0091}, -- Elementium Ore
["i:52183"] = {matRate = 0.0750, minAmount = 1, maxAmount = 2, amountOfMats = 0.0152}, -- Pyrite Ore
},
["i:52194"] = { -- Demonseye
["i:53038"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Obsidium Ore
["i:52185"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0091}, -- Elementium Ore
["i:52183"] = {matRate = 0.0750, minAmount = 1, maxAmount = 2, amountOfMats = 0.0152}, -- Pyrite Ore
},
["i:52191"] = { -- Ocean Sapphire
["i:53038"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Obsidium Ore
["i:52185"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0091}, -- Elementium Ore
["i:52183"] = {matRate = 0.0750, minAmount = 1, maxAmount = 2, amountOfMats = 0.0152}, -- Pyrite Ore
},
["i:76131"] = { -- Primordial Ruby
["i:72092"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0090}, -- Ghost Iron Ore
["i:72093"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0090}, -- Kyparite
["i:72103"] = {matRate = 0.1650, minAmount = 1, maxAmount = 2, amountOfMats = 0.0340}, -- White Trillium Ore
["i:72094"] = {matRate = 0.1650, minAmount = 1, maxAmount = 2, amountOfMats = 0.0340}, -- Black Trillium Ore
},
["i:76138"] = { -- River's Heart
["i:72092"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0090}, -- Ghost Iron Ore
["i:72093"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0090}, -- Kyparite
["i:72103"] = {matRate = 0.1650, minAmount = 1, maxAmount = 2, amountOfMats = 0.0340}, -- White Trillium Ore
["i:72094"] = {matRate = 0.1650, minAmount = 1, maxAmount = 2, amountOfMats = 0.0340}, -- Black Trillium Ore
},
["i:76139"] = { -- Wild Jade
["i:72092"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0090}, -- Ghost Iron Ore
["i:72093"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0090}, -- Kyparite
["i:72103"] = {matRate = 0.1650, minAmount = 1, maxAmount = 2, amountOfMats = 0.0340}, -- White Trillium Ore
["i:72094"] = {matRate = 0.1650, minAmount = 1, maxAmount = 2, amountOfMats = 0.0340}, -- Black Trillium Ore
},
["i:76140"] = { -- Vermillion Onyx
["i:72092"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0090}, -- Ghost Iron Ore
["i:72093"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0090}, -- Kyparite
["i:72103"] = {matRate = 0.1650, minAmount = 1, maxAmount = 2, amountOfMats = 0.0340}, -- White Trillium Ore
["i:72094"] = {matRate = 0.1650, minAmount = 1, maxAmount = 2, amountOfMats = 0.0340}, -- Black Trillium Ore
},
["i:76141"] = { -- Imperial Amethyst
["i:72092"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0090}, -- Ghost Iron Ore
["i:72093"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0090}, -- Kyparite
["i:72103"] = {matRate = 0.1650, minAmount = 1, maxAmount = 2, amountOfMats = 0.0340}, -- White Trillium Ore
["i:72094"] = {matRate = 0.1650, minAmount = 1, maxAmount = 2, amountOfMats = 0.0340}, -- Black Trillium Ore
},
["i:76142"] = { -- Sun's Radiance
["i:72092"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0090}, -- Ghost Iron Ore
["i:72093"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0090}, -- Kyparite
["i:72103"] = {matRate = 0.1650, minAmount = 1, maxAmount = 2, amountOfMats = 0.0340}, -- White Trillium Ore
["i:72094"] = {matRate = 0.1650, minAmount = 1, maxAmount = 2, amountOfMats = 0.0340}, -- Black Trillium Ore
},
["i:130179"] = { -- Eye of Prophecy
["i:123918"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Leystone Ore
["i:123919"] = {matRate = 0.0125, minAmount = 2, maxAmount = 5, amountOfMats = 0.0083}, -- Felslate
},
["i:130180"] = { -- Dawnlight
["i:123918"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Leystone Ore
["i:123919"] = {matRate = 0.0125, minAmount = 2, maxAmount = 5, amountOfMats = 0.0083}, -- Felslate
},
["i:130182"] = { -- Maelstrom Sapphire
["i:123918"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Leystone Ore
["i:123919"] = {matRate = 0.0125, minAmount = 2, maxAmount = 5, amountOfMats = 0.0083}, -- Felslate
},
["i:130183"] = { -- Shadowruby
["i:123918"] = {matRate = 0.0125, minAmount = 1, maxAmount = 1, amountOfMats = 0.0025}, -- Leystone Ore
["i:123919"] = {matRate = 0.0125, minAmount = 2, maxAmount = 5, amountOfMats = 0.0083}, -- Felslate
},
["i:130178"] = { -- FuryStone
["i:123918"] = {matRate = 0.0050, minAmount = 1, maxAmount = 1, amountOfMats = 0.0010}, -- Leystone Ore
["i:123919"] = {matRate = 0.0075, minAmount = 2, maxAmount = 5, amountOfMats = 0.0048}, -- Felslate
},
["i:130181"] = { -- Pandemonite
["i:123918"] = {matRate = 0.0075, minAmount = 1, maxAmount = 1, amountOfMats = 0.0015}, -- Leystone Ore
["i:123919"] = {matRate = 0.0050, minAmount = 2, maxAmount = 5, amountOfMats = 0.0033}, -- Felslate
},
["i:154120"] = { -- Owlseye
["i:152512"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0092}, -- Monelite Ore
["i:152579"] = {matRate = 0.0750, minAmount = 1, maxAmount = 2, amountOfMats = 0.0152}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.1150, minAmount = 1, maxAmount = 2, amountOfMats = 0.0237}, -- Platinum Ore
},
["i:154121"] = { -- Scarlet Diamond
["i:152512"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0092}, -- Monelite Ore
["i:152579"] = {matRate = 0.0750, minAmount = 1, maxAmount = 2, amountOfMats = 0.0152}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.1150, minAmount = 1, maxAmount = 2, amountOfMats = 0.0237}, -- Platinum Ore
},
["i:154122"] = { -- Tidal Amethyst
["i:152512"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0092}, -- Monelite Ore
["i:152579"] = {matRate = 0.0750, minAmount = 1, maxAmount = 2, amountOfMats = 0.0152}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.1150, minAmount = 1, maxAmount = 2, amountOfMats = 0.0237}, -- Platinum Ore
},
["i:154123"] = { -- Amberblaze
["i:152512"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0092}, -- Monelite Ore
["i:152579"] = {matRate = 0.0750, minAmount = 1, maxAmount = 2, amountOfMats = 0.0152}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.1150, minAmount = 1, maxAmount = 2, amountOfMats = 0.0237}, -- Platinum Ore
},
["i:154124"] = { -- Laribole
["i:152512"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0092}, -- Monelite Ore
["i:152579"] = {matRate = 0.0750, minAmount = 1, maxAmount = 2, amountOfMats = 0.0152}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.1150, minAmount = 1, maxAmount = 2, amountOfMats = 0.0237}, -- Platinum Ore
},
["i:154125"] = { -- Royal Quartz
["i:152512"] = {matRate = 0.0450, minAmount = 1, maxAmount = 2, amountOfMats = 0.0092}, -- Monelite Ore
["i:152579"] = {matRate = 0.0750, minAmount = 1, maxAmount = 2, amountOfMats = 0.0152}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.1150, minAmount = 1, maxAmount = 2, amountOfMats = 0.0237}, -- Platinum Ore
},
-- ========================================== Epic Gems ========================================
["i:36931"] = { -- Ametrine
["i:36910"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Titanium Ore
},
["i:36919"] = { -- Cardinal Ruby
["i:36910"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Titanium Ore
},
["i:36928"] = { -- Dreadstone
["i:36910"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Titanium Ore
},
["i:36934"] = { -- Eye of Zul
["i:36910"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Titanium Ore
},
["i:36922"] = { -- King's Amber
["i:36910"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Titanium Ore
},
["i:36925"] = { -- Majestic Zircon
["i:36910"] = {matRate = 0.0500, minAmount = 1, maxAmount = 2, amountOfMats = 0.0100}, -- Titanium Ore
},
["i:151719"] = { -- Lightsphene
["i:151564"] = {matRate = 0.0300, minAmount = 1, maxAmount = 1, amountOfMats = 0.0060}, -- Empyrium
},
["i:151720"] = { -- Chemirine
["i:151564"] = {matRate = 0.0300, minAmount = 1, maxAmount = 1, amountOfMats = 0.0060}, -- Empyrium
},
["i:151722"] = { -- Florid Malachite
["i:151564"] = {matRate = 0.0300, minAmount = 1, maxAmount = 1, amountOfMats = 0.0060}, -- Empyrium
},
["i:151721"] = { -- Hesselian
["i:151564"] = {matRate = 0.0300, minAmount = 1, maxAmount = 1, amountOfMats = 0.0060}, -- Empyrium
},
["i:151718"] = { -- Argulite
["i:151564"] = {matRate = 0.0250, minAmount = 1, maxAmount = 1, amountOfMats = 0.0050}, -- Empyrium
},
["i:151579"] = { -- Labradorite
["i:151564"] = {matRate = 0.0225, minAmount = 1, maxAmount = 1, amountOfMats = 0.0045}, -- Empyrium
},
["i:153706"] = { -- Kraken's Eye
["i:152512"] = {matRate = 0.0400, minAmount = 1, maxAmount = 1, amountOfMats = 0.0080}, -- Monelite Ore
["i:152579"] = {matRate = 0.0375, minAmount = 1, maxAmount = 1, amountOfMats = 0.0075}, -- Storm Silver Ore
["i:152513"] = {matRate = 0.0450, minAmount = 1, maxAmount = 1, amountOfMats = 0.0090}, -- Platinum Ore
},
["i:168188"] = { -- Sage Agate
["i:168185"] = {matRate = 0.1500, minAmount = 1, maxAmount = 1, amountOfMats = 0.0300}, -- Osmenite Ore
},
["i:168193"] = { -- Azsharine
["i:168185"] = {matRate = 0.1500, minAmount = 1, maxAmount = 1, amountOfMats = 0.0300}, -- Osmenite Ore
},
["i:168189"] = { -- Dark Opal
["i:168185"] = {matRate = 0.1500, minAmount = 1, maxAmount = 1, amountOfMats = 0.0300}, -- Osmenite Ore
},
["i:168190"] = { -- Lava Lazuli
["i:168185"] = {matRate = 0.1500, minAmount = 1, maxAmount = 1, amountOfMats = 0.0300}, -- Osmenite Ore
},
["i:168191"] = { -- Sea Currant
["i:168185"] = {matRate = 0.1500, minAmount = 1, maxAmount = 1, amountOfMats = 0.0300}, -- Osmenite Ore
},
["i:168192"] = { -- Sand Spinel
["i:168185"] = {matRate = 0.1500, minAmount = 1, maxAmount = 1, amountOfMats = 0.0300}, -- Osmenite Ore
},
["i:168635"] = { -- Leviathan's Eye
["i:168185"] = {matRate = 0.1000, minAmount = 1, maxAmount = 1, amountOfMats = 0.0200}, -- Osmenite Ore
},
}
-- ============================================================================
-- Module Functions
-- ============================================================================
function Prospect.TargetItemIterator()
return private.TableKeyIterator, DATA, nil
end
function Prospect.SourceItemIterator(targetItemString)
return private.TableKeyIterator, DATA[targetItemString], nil
end
function Prospect.GetRate(targetItemString, sourceItemString)
return DATA[targetItemString][sourceItemString].amountOfMats, DATA[targetItemString][sourceItemString].matRate, DATA[targetItemString][sourceItemString].minAmount, DATA[targetItemString][sourceItemString].maxAmount
end
-- ============================================================================
-- Private Helper Functions
-- ============================================================================
function private.TableKeyIterator(tbl, index)
index = next(tbl, index)
return index
end

331
LibTSM/Data/Transform.lua Normal file
View File

@@ -0,0 +1,331 @@
-- ------------------------------------------------------------------------------ --
-- TradeSkillMaster --
-- https://tradeskillmaster.com --
-- All Rights Reserved - Detailed license information included with addon. --
-- ------------------------------------------------------------------------------ --
local _, TSM = ...
local Transform = TSM.Init("Data.Transform")
local private = {}
-- ============================================================================
-- Transform Data
-- ============================================================================
local DATA = {
-- ================================== Essences / Illusion Dust =================================
["i:52719"] = {
["i:52718"] = 1/3, -- Greater Celestial Essence
},
["i:52718"] = {
["i:52719"] = 3, -- Lesser Celestial Essence
},
["i:34055"] = {
["i:34056"] = 1/3, -- Greater Cosmic Essence
},
["i:34056"] = {
["i:34055"] = 3, -- Lesser Cosmic Essence
},
["i:22446"] = {
["i:22447"] = 1/3, -- Greater Planar Essence
},
["i:22447"] = {
["i:22446"] = 3, -- Lesser Planar Essence
},
["i:16203"] = {
["i:16202"] = 1/3, -- Greater Eternal Essence
},
["i:16202"] = {
["i:16203"] = 3, -- Lesser Eternal Essence
},
["i:11175"] = TSM.IsWowClassic() and {
["i:11174"] = 1/3, -- Greater Nether Essence
} or nil,
["i:11174"] = TSM.IsWowClassic() and {
["i:11175"] = 3, -- Lesser Nether Essence
} or nil,
["i:11135"] = TSM.IsWowClassic() and {
["i:11134"] = 1/3, -- Greater Mystic Essence
} or nil,
["i:11134"] = TSM.IsWowClassic() and {
["i:11135"] = 3, -- Lesser Mystic Essence
} or nil,
["i:11082"] = TSM.IsWowClassic() and {
["i:10998"] = 1/3, -- Greater Astral Essence
} or nil,
["i:10998"] = TSM.IsWowClassic() and {
["i:11082"] = 3, -- Lesser Astral Essence
} or nil,
["i:10939"] = {
["i:10938"] = 1/3, -- Greater Magic Essence
},
["i:10938"] = {
["i:10939"] = 3, -- Lesser Magic Essence
},
["i:16204"] = {
["i:156930"] = 1/3, -- Rich Illusion Dust
},
["i:156930"] = {
["i:16204"] = 3, -- Light Illusion Dust
},
-- ============================================ Shards =========================================
["i:52721"] = {
["i:52720"] = 1/3, -- Heavenly Shard
},
["i:34052"] = {
["i:34053"] = 1/3, -- Dream Shard
},
["i:74247"] = {
["i:74252"] = 1/3, -- Ethereal Shard
},
["i:111245"] = {
["i:115502"] = 0.1, -- Luminous Shard
},
-- =========================================== Crystals ========================================
["i:113588"] = {
["i:115504"] = 0.1, -- Temporal Crystal
},
-- ======================================== Primals / Motes ====================================
["i:21885"] = {
["i:22578"] = 0.1, -- Water
},
["i:22456"] = {
["i:22577"] = 0.1, -- Shadow
},
["i:22457"] = {
["i:22576"] = 0.1, -- Mana
},
["i:21886"] = {
["i:22575"] = 0.1, -- Life
},
["i:21884"] = {
["i:22574"] = 0.1, -- Fire
},
["i:22452"] = {
["i:22573"] = 0.1, -- Earth
},
["i:22451"] = {
["i:22572"] = 0.1, -- Air
},
-- ===================================== Crystalized / Eternal =================================
["i:37700"] = {
["i:35623"] = 10, -- Air
},
["i:35623"] = {
["i:37700"] = 0.1, -- Air
},
["i:37701"] = {
["i:35624"] = 10, -- Earth
},
["i:35624"] = {
["i:37701"] = 0.1, -- Earth
},
["i:37702"] = {
["i:36860"] = 10, -- Fire
},
["i:36860"] = {
["i:37702"] = 0.1, -- Fire
},
["i:37703"] = {
["i:35627"] = 10, -- Shadow
},
["i:35627"] = {
["i:37703"] = 0.1, -- Shadow
},
["i:37704"] = {
["i:35625"] = 10, -- Life
},
["i:35625"] = {
["i:37704"] = 0.1, -- Life
},
["i:37705"] = {
["i:35622"] = 10, -- Water
},
["i:35622"] = {
["i:37705"] = 0.1, -- Water
},
-- ========================================= Wod Fish ==========================================
["i:109137"] = {
["i:111601"] = 4, -- Enormous Crescent Saberfish
["i:111595"] = 2, -- Crescent Saberfish
["i:111589"] = 1, -- Small Crescent Saberfish
},
["i:109138"] = {
["i:111676"] = 4, -- Enormous Jawless Skulker
["i:111669"] = 2, -- Jawless Skulker
["i:111650"] = 1, -- Small Jawless Skulker
},
["i:109139"] = {
["i:111675"] = 4, -- Enormous Fat Sleeper
["i:111668"] = 2, -- Fat Sleeper
["i:111651"] = 1, -- Small Fat Sleeper
},
["i:109140"] = {
["i:111674"] = 4, -- Enormous Blind Lake Sturgeon
["i:111667"] = 2, -- Blind Lake Sturgeon
["i:111652"] = 1, -- Small Blind Lake Sturgeon
},
["i:109141"] = {
["i:111673"] = 4, -- Enormous Fire Ammonite
["i:111666"] = 2, -- Fire Ammonite
["i:111656"] = 1, -- Small Fire Ammonite
},
["i:109142"] = {
["i:111672"] = 4, -- Enormous Sea Scorpion
["i:111665"] = 2, -- Sea Scorpion
["i:111658"] = 1, -- Small Sea Scorpion
},
["i:109143"] = {
["i:111671"] = 4, -- Enormous Abyssal Gulper Eel
["i:111664"] = 2, -- Abyssal Gulper Eel
["i:111659"] = 1, -- Small Abyssal Gulper Eel
},
["i:109144"] = {
["i:111670"] = 4, -- Enormous Blackwater Whiptail
["i:111663"] = 2, -- Blackwater Whiptail
["i:111662"] = 1, -- Small Blackwater Whiptail
},
-- ========================================== Aromatic Fish Oil (BFA) ===========================
["i:160711"] = {
["i:152543"] = 1, -- Sand Shifter
["i:152544"] = 1, -- Slimy Mackerel
["i:152545"] = 1, -- Frenzied Fangtooth
["i:152546"] = 1, -- Lane Snapper
["i:152547"] = 1, -- Great Sea Catfish
["i:152548"] = 1, -- Tiragarde Perch
["i:152549"] = 1, -- Redtail Loach
["i:168302"] = 1, -- Viper Fish
["i:168646"] = 1, -- Mauve Stinger
["i:174327"] = 1, -- Malformed Gnasher
["i:174328"] = 1, -- Aberrant Voidfin
},
-- ========================================== Ore Nuggets =======================================
["i:2771"] = {
["i:108295"] = 0.1, -- Tin Ore
},
["i:2772"] = {
["i:108297"] = 0.1, -- Iron Ore
},
["i:2775"] = {
["i:108294"] = 0.1, -- Silver Ore
},
["i:2776"] = {
["i:108296"] = 0.1, -- Gold Ore
},
["i:3858"] = {
["i:108300"] = 0.1, -- Mithril Ore
},
["i:7911"] = {
["i:108299"] = 0.1, -- Truesilver Ore
},
["i:10620"] = {
["i:108298"] = 0.1, -- Thorium Ore
},
["i:23424"] = {
["i:108301"] = 0.1, -- Fel Iron Ore
},
["i:23425"] = {
["i:108302"] = 0.1, -- Adamantite Ore
},
["i:23426"] = {
["i:108304"] = 0.1, -- Khorium Ore
},
["i:23427"] = {
["i:108303"] = 0.1, -- Eternium Ore
},
["i:36909"] = {
["i:108305"] = 0.1, -- Cobalt Ore
},
["i:36910"] = {
["i:108391"] = 0.1, -- Titanium Ore
},
["i:36912"] = {
["i:108306"] = 0.1, -- Saronite Ore
},
["i:52183"] = {
["i:108309"] = 0.1, -- Pyrite Ore
},
["i:52185"] = {
["i:108308"] = 0.1, -- Elementium Ore
},
["i:53038"] = {
["i:108307"] = 0.1, -- Obsidium Ore
},
["i:72092"] = {
["i:97512"] = 0.1, -- Ghost Iron Ore
},
["i:109119"] = {
["i:109991"] = 0.1, -- True Iron Ore
},
-- =========================================== Herb Parts ======================================
["i:2449"] = {
["i:108319"] = 0.1, -- Earthroot Stem
},
["i:2453"] = {
["i:108322"] = 0.1, -- Bruiseweed Stem
},
["i:3357"] = {
["i:108325"] = 0.1, -- Liferoot Stem
},
["i:3358"] = {
["i:108326"] = 0.1, -- Khadgar's Whisker Stem
},
["i:3819"] = {
["i:108329"] = 0.1, -- Dragon's Teeth Stem
},
["i:8839"] = {
["i:108336"] = 0.1, -- Blindweed Stem
},
["i:22792"] = {
["i:108350"] = 0.1, -- Nightmare Vine Stem
},
["i:36903"] = {
["i:108353"] = 0.1, -- Adder's Tongue Stem
},
["i:52985"] = {
["i:108362"] = 0.1, -- Azshara's Veil Stem
},
["i:52988"] = {
["i:108365"] = 0.1, -- Whiptail Stem
},
["i:72235"] = {
["i:97621"] = 0.1, -- Silkweed Stem
},
["i:109124"] = {
["i:109624"] = 0.1, -- Broken Frostweed Stem
},
["i:109125"] = {
["i:109625"] = 0.1, -- Broken Fireweed Stem
},
}
-- ============================================================================
-- Module Functions
-- ============================================================================
function Transform.TargetItemIterator()
return private.TableKeyIterator, DATA, nil
end
function Transform.SourceItemIterator(targetItemString)
return private.TableKeyIterator, DATA[targetItemString], nil
end
function Transform.GetRate(targetItemString, sourceItemString)
return DATA[targetItemString][sourceItemString]
end
-- ============================================================================
-- Private Helper Functions
-- ============================================================================
function private.TableKeyIterator(tbl, index)
index = next(tbl, index)
return index
end

215
LibTSM/Data/VendorSell.lua Normal file
View File

@@ -0,0 +1,215 @@
-- ------------------------------------------------------------------------------ --
-- TradeSkillMaster --
-- https://tradeskillmaster.com --
-- All Rights Reserved - Detailed license information included with addon. --
-- ------------------------------------------------------------------------------ --
local _, TSM = ...
local VendorSell = TSM.Init("Data.VendorSell")
-- ============================================================================
-- Vendor Sell Data
-- ============================================================================
-- Scraped from Wowhead using the following javascript and then manually pruned to remove limited quantity items and fill in missing prices:
-- x = listviewitems.sort((a,b) => a.id - b.id); for (i=0; i<x.length; i++) console.log("[\"i:"+x[i].id+"\"] = "+x[i].cost[0]+", -- "+x[i].name);
local VENDOR_SELL_PRICES = TSM.IsWowClassic() and {
-- https://classic.wowhead.com/items/side:3?filter=92:87:186:86;1:11:1:12;0:0:0:0
["i:159"] = 25, -- Refreshing Spring Water
["i:1179"] = 125, -- Ice Cold Milk
["i:2320"] = 10, -- Coarse Thread
["i:2321"] = 100, -- Fine Thread
["i:2324"] = 25, -- Bleach
["i:2325"] = 1000, -- Black Dye
["i:2596"] = 120, -- Skin of Dwarven Stout
["i:2604"] = 50, -- Red Dye
["i:2605"] = 100, -- Green Dye
["i:2665"] = 20, -- Stormwind Seasoning Herbs
["i:2678"] = 10, -- Mild Spices
["i:2692"] = 40, -- Hot Spices
["i:2880"] = 100, -- Weak Flux
["i:2894"] = 50, -- Rhapsody Malt
["i:3371"] = 20, -- Empty Vial
["i:3372"] = 200, -- Leaded Vial
["i:3466"] = 2000, -- Strong Flux
["i:3713"] = 160, -- Soothing Spices
["i:3857"] = 500, -- Coal
["i:4289"] = 50, -- Salt
["i:4291"] = 500, -- Silken Thread
["i:4340"] = 350, -- Gray Dye
["i:4341"] = 500, -- Yellow Dye
["i:4342"] = 2500, -- Purple Dye
["i:4399"] = 200, -- Wooden Stock
["i:4400"] = 2000, -- Heavy Stock
["i:4470"] = 38, -- Simple Wood
["i:4536"] = 25, -- Shiny Red Apple
["i:5140"] = 25, -- Flash Powder
["i:6217"] = 124, -- Copper Rod
["i:6260"] = 50, -- Blue Dye
["i:6261"] = 1000, -- Orange Dye
["i:6530"] = 100, -- Nightcrawlers
["i:8343"] = 2000, -- Heavy Silken Thread
["i:8925"] = 2500, -- Crystal Vial
["i:10290"] = 2500, -- Pink Dye
["i:10647"] = 2000, -- Engineer's Ink
["i:10648"] = 500, -- Blank Parchment
["i:11291"] = 4500, -- Star Wood
["i:14341"] = 5000, -- Rune Thread
["i:16583"] = 10000, -- Demonic Figurine
["i:17020"] = 1000, -- Arcane Powder
["i:17021"] = 700, -- Wild Berries
["i:17026"] = 1000, -- Wild Thornroot
["i:17028"] = 700, -- Holy Candle
["i:17029"] = 1000, -- Sacred Candle
["i:17030"] = 2000, -- Ankh
["i:17031"] = 1000, -- Rune of Teleportation
["i:17032"] = 2000, -- Rune of Portals
["i:17033"] = 2000, -- Symbol of Divinity
["i:17034"] = 200, -- Maple Seed
["i:17035"] = 400, -- Stranglethorn Seed
["i:17036"] = 800, -- Ashwood Seed
["i:17037"] = 1400, -- Hornbeam Seed
["i:17038"] = 2000, -- Ironwood Seed
["i:17194"] = 10, -- Holiday Spices
["i:17196"] = 50, -- Holiday Spirits
["i:17202"] = 10, -- Snowball
["i:18256"] = 30000, -- Imbued Vial
["i:18567"] = 150000, -- Elemental Flux
["i:21177"] = 3000, -- Symbol of Kings
} or {
-- https://www.wowhead.com/items/side:3/live-only:on?filter=92:87:186:86;1:11:1:12;0:0:0:0
["i:159"] = 25, -- Refreshing Spring Water
["i:1179"] = 125, -- Ice Cold Milk
["i:2320"] = 10, -- Coarse Thread
["i:2321"] = 100, -- Fine Thread
["i:2324"] = 25, -- Bleach
["i:2325"] = 1000, -- Black Dye
["i:2593"] = 150, -- Flask of Stormwind Tawny
["i:2594"] = 1500, -- Flagon of Dwarven Mead
["i:2595"] = 2000, -- Jug of Badlands Bourbon
["i:2596"] = 120, -- Skin of Dwarven Stout
["i:2604"] = 50, -- Red Dye
["i:2605"] = 100, -- Green Dye
["i:2678"] = 10, -- Mild Spices
["i:2880"] = 100, -- Weak Flux
["i:2901"] = 81, -- Mining Pick
["i:3371"] = 150, -- Crystal Vial
["i:3466"] = 2000, -- Strong Flux
["i:3857"] = 500, -- Coal
["i:4289"] = 50, -- Salt
["i:4291"] = 500, -- Silken Thread
["i:4340"] = 350, -- Gray Dye
["i:4341"] = 500, -- Yellow Dye
["i:4342"] = 2500, -- Purple Dye
["i:4399"] = 200, -- Wooden Stock
["i:4400"] = 2000, -- Heavy Stock
["i:4470"] = 38, -- Simple Wood
["i:4537"] = 125, -- Tel'Abim Banana
["i:5956"] = 18, -- Blacksmith Hammer
["i:6217"] = 124, -- Copper Rod
["i:6260"] = 50, -- Blue Dye
["i:6261"] = 1000, -- Orange Dye
["i:6530"] = 100, -- Nightcrawlers
["i:7005"] = 82, -- Skinning Knife
["i:8343"] = 2000, -- Heavy Silken Thread
["i:10290"] = 2500, -- Pink Dye
["i:10647"] = 2000, -- Engineer's Ink
["i:11291"] = 4500, -- Star Wood
["i:14341"] = 5000, -- Rune Thread
["i:17194"] = 10, -- Holiday Spices
["i:17196"] = 50, -- Holiday Spirits
["i:17202"] = 10, -- Snowball
["i:18567"] = 30000, -- Elemental Flux
["i:23572"] = 500000, -- Primal Nether
["i:27860"] = 6400, -- Purified Draenic Water
["i:30183"] = 700000, -- Nether Vortex
["i:30817"] = 25, -- Simple Flour
["i:34249"] = 1000000, -- Hula Girl Doll
["i:34412"] = 1000, -- Sparkling Apple Cider
["i:35948"] = 16000, -- Savory Snowplum
["i:35949"] = 8500, -- Tundra Berries
["i:38426"] = 30000, -- Eternium Thread
["i:39354"] = 15, -- Light Parchment
["i:39684"] = 9000, -- Hair Trigger
["i:40533"] = 50000, -- Walnut Stock
["i:43102"] = 750000, -- Frozen Orb
["i:44499"] = 30000000, -- Salvaged Iron Golem Parts
["i:44500"] = 15000000, -- Elementium-Plated Exhaust Pipe
["i:44501"] = 10000000, -- Goblin-Machined Piston
["i:44835"] = 10, -- Autumnal Herbs
["i:44853"] = 25, -- Honey
["i:44854"] = 25, -- Tangy Wetland Cranberries
["i:44855"] = 25, -- Teldrassil Sweet Potato
["i:46784"] = 25, -- Ripe Elwynn Pumpkin
["i:46793"] = 25, -- Tangy Southfury Cranberries
["i:46796"] = 25, -- Ripe Tirisfal Pumpkin
["i:46797"] = 25, -- Mulgore Sweet Potato
["i:49908"] = 1500000, -- Primordial Saronite
["i:52188"] = 15000, -- Jeweler's Setting
["i:58265"] = 20000, -- Highland Pomegranate
["i:58278"] = 16000, -- Tropical Sunfruit
["i:62323"] = 60000, -- Deathwing Scale Fragment
["i:65892"] = 50000000, -- Pyrium-Laced Crystalline Vial
["i:65893"] = 30000000, -- Sands of Time
["i:67319"] = 328990, -- Preserved Ogre Eye
["i:67335"] = 445561, -- Silver Charm Bracelet
["i:74659"] = 30000, -- Farm Chicken
["i:74660"] = 15000, -- Pandaren Peach
["i:74832"] = 12000, -- Barley
["i:74845"] = 35000, -- Ginseng
["i:74851"] = 14000, -- Rice
["i:74852"] = 16000, -- Yak Milk
["i:74854"] = 7000, -- Instant Noodles
["i:79740"] = 23, -- Plain Wooden Staff
["i:80433"] = 2000000, -- Blood Spirit
["i:83092"] = 200000000, -- Orb of Mystery
["i:85583"] = 12000, -- Needle Mushrooms
["i:85584"] = 17000, -- Silkworm Pupa
["i:85585"] = 27000, -- Red Beans
["i:102539"] = 5000, -- Fresh Strawberries
["i:102540"] = 5000, -- Fresh Mangos
["i:124436"] = 40000, -- Foxflower Flux
["i:127037"] = 5000, -- Runic Catgut
["i:127681"] = 5000, -- Sharp Spritethorn
["i:133588"] = 25000, -- Flaked Sea Salt
["i:133589"] = 25000, -- Dalapeño Pepper
["i:133590"] = 25000, -- Muskenbutter
["i:133591"] = 25000, -- River Onion
["i:133592"] = 25000, -- Stonedark Snail
["i:133593"] = 25000, -- Royal Olive
["i:136629"] = 173300, -- Felgibber Shotgun
["i:136630"] = 118500, -- "Twirling Bottom" Repeater
["i:136631"] = 450000, -- Surface-to-Infernal Rocket Launcher
["i:136632"] = 210800, -- Chaos Blaster
["i:136633"] = 25000, -- Loose Trigger
["i:136636"] = 57500, -- Sniping Scope
["i:136637"] = 11500, -- Oversized Blasting Cap
["i:136638"] = 89500, -- True Iron Barrel
["i:158186"] = 250, -- Distilled Water
["i:158205"] = 1000, -- Acacia Powder
["i:159959"] = 6000, -- Nylon Thread
["i:160059"] = 250, -- Amber Tanning Oil
["i:160298"] = 3000, -- Durable Flux
["i:160398"] = 25000, -- Choral Honey
["i:160399"] = 25000, -- Wild Flour
["i:160400"] = 25000, -- Foosaka
["i:160502"] = 11500, -- Chemical Blasting Cap
["i:160705"] = 50, -- Major's Frothy Coffee
["i:160709"] = 25000, -- Fresh Potato
["i:160710"] = 25000, -- Wild Berries
["i:160712"] = 25000, -- Powdered Sugar
["i:161131"] = 300000000, -- Barely Stable Azerite Reactor
["i:163569"] = 100, -- Insulated Wiring
}
-- ============================================================================
-- Module Functions
-- ============================================================================
function VendorSell.Iterator()
return pairs(VENDOR_SELL_PRICES)
end

View File

@@ -0,0 +1,92 @@
-- ------------------------------------------------------------------------------ --
-- TradeSkillMaster --
-- https://tradeskillmaster.com --
-- All Rights Reserved - Detailed license information included with addon. --
-- ------------------------------------------------------------------------------ --
local _, TSM = ...
local VendorTrade = TSM.Init("Data.VendorTrade")
local private = {}
-- ============================================================================
-- Vendor Trade Data
-- ============================================================================
local DATA = TSM.IsWowClassic() and {} or {
["i:37101"] = {
["i:173058"] = 1, -- Ivory Ink
},
["i:39469"] = {
["i:173058"] = 1, -- Moonglow Ink
},
["i:39774"] = {
["i:173058"] = 1, -- Midnight Ink
},
["i:43116"] = {
["i:173058"] = 1, -- Lion's Ink
},
["i:43118"] = {
["i:173058"] = 1, -- Jadefire Ink
},
["i:43120"] = {
["i:173058"] = 1, -- Celestial Ink
},
["i:43122"] = {
["i:173058"] = 1, -- Shimmering Ink
},
["i:43124"] = {
["i:173058"] = 1, -- Ethereal Ink
},
["i:43126"] = {
["i:173058"] = 1, -- Ink of the Sea
},
["i:43127"] = {
["i:173058"] = 0.1, -- Snowfall Ink
},
["i:61978"] = {
["i:173058"] = 1, -- Blackfallow Ink
},
["i:61981"] = {
["i:173058"] = 0.1, -- Inferno Ink
},
["i:79254"] = {
["i:173058"] = 1, -- Ink of Dreams
},
["i:79255"] = {
["i:173058"] = 0.1, -- Starlight Ink
},
["i:113111"] = {
["i:173058"] = 1, -- Warbinder's Ink
},
}
-- ============================================================================
-- Module Functions
-- ============================================================================
function VendorTrade.TargetItemIterator()
return private.TableKeyIterator, DATA, nil
end
function VendorTrade.SourceItemIterator(targetItemString)
return private.TableKeyIterator, DATA[targetItemString], nil
end
function VendorTrade.GetRate(targetItemString, sourceItemString)
return DATA[targetItemString][sourceItemString]
end
-- ============================================================================
-- Private Helper Functions
-- ============================================================================
function private.TableKeyIterator(tbl, index)
index = next(tbl, index)
return index
end