Files
Xan-Asc 42dbe9d526 Enchanting fixes, reverted Crafting module to previous version that s… (#1)
* Enchanting fixes, reverted Crafting module to previous version that supports Ascension specific crafts and Vellums.

* Updated enchanting names from DB

* Added the remaining Ascension specific recipes

* Replace SpellNames2IDs.lua with UnitCastingSpellID

* Bugfix: Ascension uses exact quality QueryAuctionItems, TSM was designed for quality or higher

* Bugfix: Properly get list of Professions via index

* Replaced factionrealm with realm
Ascension does not have strict faction seperation

* GetTradeSkillCooldown -> SpellHasBaseCooldown
GetTradeSkillCooldown only tells you if a spell is on CD, not if it has a CD
Data is from DB, which isn't populated fully yet.

* Implement backported API GetSpellBaseCooldown

* bugfix: hasCD is nil if no cd, not 0
2023-04-07 03:55:47 -07:00

106 lines
3.9 KiB
Lua

-- ------------------------------------------------------------------------------ --
-- TradeSkillMaster --
-- http://www.curse.com/addons/wow/tradeskill-master --
-- --
-- A TradeSkillMaster Addon (http://tradeskillmaster.com) --
-- All Rights Reserved* - Detailed license information included with addon. --
-- ------------------------------------------------------------------------------ --
local TSM = select(2, ...)
local Vendor = TSM:NewModule("Vendor", "AceEvent-3.0")
local L = LibStub("AceLocale-3.0"):GetLocale("TradeSkillMaster") -- loads the localization table
function Vendor:OnEnable()
Vendor:RegisterEvent("MERCHANT_SHOW", "ScanMerchant")
end
local vendorItems = {
["item:2320:0:0:0:0:0:0"] = 10,
["item:2321:0:0:0:0:0:0"] = 10,
["item:2324:0:0:0:0:0:0"] = 25,
["item:2325:0:0:0:0:0:0"] = 1000,
["item:2604:0:0:0:0:0:0"] = 50,
["item:2605:0:0:0:0:0:0"] = 10,
["item:2678:0:0:0:0:0:0"] = 10,
["item:2880:0:0:0:0:0:0"] = 100,
["item:3371:0:0:0:0:0:0"] = 100,
["item:3466:0:0:0:0:0:0"] = 2000,
["item:4289:0:0:0:0:0:0"] = 50,
["item:4291:0:0:0:0:0:0"] = 500,
["item:4340:0:0:0:0:0:0"] = 350,
["item:4341:0:0:0:0:0:0"] = 500,
["item:4342:0:0:0:0:0:0"] = 2500,
["item:4399:0:0:0:0:0:0"] = 200,
["item:4400:0:0:0:0:0:0"] = 2000,
["item:4470:0:0:0:0:0:0"] = 38,
["item:6260:0:0:0:0:0:0"] = 50,
["item:6261:0:0:0:0:0:0"] = 100,
["item:8343:0:0:0:0:0:0"] = 2000,
["item:10290:0:0:0:0:0:0"] = 2500,
["item:10647:0:0:0:0:0:0"] = 2000,
["item:10648:0:0:0:0:0:0"] = 100,
["item:11291:0:0:0:0:0:0"] = 4500,
["item:14341:0:0:0:0:0:0"] = 5000,
["item:17020:0:0:0:0:0:0"] = 1000,
["item:17194:0:0:0:0:0:0"] = 10,
["item:17196:0:0:0:0:0:0"] = 50,
["item:30817:0:0:0:0:0:0"] = 25,
["item:34412:0:0:0:0:0:0"] = 1000,
["item:35949:0:0:0:0:0:0"] = 8500,
["item:38426:0:0:0:0:0:0"] = 30000,
["item:38682:0:0:0:0:0:0"] = 1000,
["item:39354:0:0:0:0:0:0"] = 15,
["item:39501:0:0:0:0:0:0"] = 1200,
["item:39502:0:0:0:0:0:0"] = 5000,
["item:39684:0:0:0:0:0:0"] = 9000,
["item:40533:0:0:0:0:0:0"] = 50000,
["item:44835:0:0:0:0:0:0"] = 10,
["item:52510:0:0:0:0:0:0"] = 30000,
["item:52511:0:0:0:0:0:0"] = 30000,
["item:8925:0:0:0:0:0:0"] = 500,
-- ["item:52188:0:0:0:0:0:0"] = 15000,
-- ["item:58274:0:0:0:0:0:0"] = 11000,
-- ["item:58278:0:0:0:0:0:0"] = 16000,
-- ["item:62323:0:0:0:0:0:0"] = 60000,
-- ["item:62786:0:0:0:0:0:0"] = 1000,
-- ["item:62787:0:0:0:0:0:0"] = 1000,
-- ["item:62788:0:0:0:0:0:0"] = 1000,
-- ["item:67319:0:0:0:0:0:0"] = 328990,
-- ["item:67335:0:0:0:0:0:0"] = 445561,
-- ["item:67348:0:0:0:0:0:0"] = 394755,
-- ["item:68047:0:0:0:0:0:0"] = 170437,
-- ["item:74659:0:0:0:0:0:0"] = 30000,
-- ["item:74660:0:0:0:0:0:0"] = 15000,
-- ["item:74832:0:0:0:0:0:0"] = 12000,
-- ["item:74845:0:0:0:0:0:0"] = 35000,
-- ["item:74851:0:0:0:0:0:0"] = 14000,
-- ["item:74852:0:0:0:0:0:0"] = 16000,
-- ["item:74854:0:0:0:0:0:0"] = 7000,
-- ["item:79740:0:0:0:0:0:0"] = 23,
-- ["item:83092:0:0:0:0:0:0"] = 20000.0000,
-- ["item:85583:0:0:0:0:0:0"] = 12000,
-- ["item:85584:0:0:0:0:0:0"] = 17000,
-- ["item:85585:0:0:0:0:0:0"] = 27000,
}
-- returns the vendor cost for a given target item
function TSMAPI:GetVendorCost(itemString)
return itemString and TSM.db.global.vendorItems[itemString] or vendorItems[itemString]
end
function Vendor:ScanMerchant(first)
for i=1, GetMerchantNumItems() do
local itemString = TSMAPI:GetItemString(GetMerchantItemLink(i))
if itemString then
local _, _, price, _, numAvailable, _, extendedCost = GetMerchantItemInfo(i)
if price > 0 and not extendedCost and numAvailable == -1 then
TSM.db.global.vendorItems[itemString] = price
else
TSM.db.global.vendorItems[itemString] = nil
end
end
end
if first then
TSMAPI:CreateTimeDelay("scanMerchantDelay", 1, function() Vendor:ScanMerchant() end)
end
end