Highlight unknown recipes in blue and unusable items in red
This commit is contained in:
parent
3dd54818be
commit
82f4233385
|
@ -1,5 +1,7 @@
|
||||||
|
|
||||||
local NUMROWS, ICONSIZE, GAP, SCROLLSTEP = 14, 17, 4, 5
|
local NUMROWS, ICONSIZE, GAP, SCROLLSTEP = 14, 17, 4, 5
|
||||||
|
local knowns = GVS_SCANNER
|
||||||
|
GVS_SCANNER = nil
|
||||||
|
|
||||||
|
|
||||||
for _,f in pairs{MerchantNextPageButton, MerchantPrevPageButton, MerchantPageText} do
|
for _,f in pairs{MerchantNextPageButton, MerchantPrevPageButton, MerchantPageText} do
|
||||||
|
@ -154,6 +156,11 @@ for i=1,NUMROWS do
|
||||||
if self.extendedCost then MerchantFrame.extendedCost = self end
|
if self.extendedCost then MerchantFrame.extendedCost = self end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
local backdrop = row:CreateTexture(nil, "BACKGROUND")
|
||||||
|
backdrop:SetAllPoints()
|
||||||
|
backdrop:SetTexture("Interface\\Tooltips\\UI-Tooltip-Background")
|
||||||
|
row.backdrop = backdrop
|
||||||
|
|
||||||
local icon = CreateFrame('Frame', nil, row)
|
local icon = CreateFrame('Frame', nil, row)
|
||||||
icon:SetHeight(ICONSIZE)
|
icon:SetHeight(ICONSIZE)
|
||||||
icon:SetWidth(ICONSIZE)
|
icon:SetWidth(ICONSIZE)
|
||||||
|
@ -191,6 +198,9 @@ for i=1,NUMROWS do
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local _, _, _, _, _, _, _, _, RECIPE = GetAuctionItemClasses()
|
||||||
|
local quality_colors = {}
|
||||||
|
for i=1,7 do quality_colors[i] = select(4, GetItemQualityColor(i)) end
|
||||||
local offset = 0
|
local offset = 0
|
||||||
local function Refresh()
|
local function Refresh()
|
||||||
local n = GetMerchantNumItems()
|
local n = GetMerchantNumItems()
|
||||||
|
@ -199,9 +209,25 @@ local function Refresh()
|
||||||
if j > n then
|
if j > n then
|
||||||
row:Hide()
|
row:Hide()
|
||||||
else
|
else
|
||||||
|
row.backdrop:Hide()
|
||||||
|
|
||||||
local name, itemTexture, itemPrice, itemStackCount, numAvailable, isUsable, extendedCost = GetMerchantItemInfo(j)
|
local name, itemTexture, itemPrice, itemStackCount, numAvailable, isUsable, extendedCost = GetMerchantItemInfo(j)
|
||||||
local link = GetMerchantItemLink(j)
|
local link = GetMerchantItemLink(j)
|
||||||
local color = link and select(4, GetItemQualityColor(select(3, GetItemInfo(link)))) or "|cffffffff"
|
local color = "|cffffffff"
|
||||||
|
if link then
|
||||||
|
local name, link2, quality, iLevel, reqLevel, class, subclass, maxStack, equipSlot, texture, vendorPrice = GetItemInfo(link)
|
||||||
|
color = quality_colors[quality]
|
||||||
|
|
||||||
|
if class == RECIPE and not knowns[link] then
|
||||||
|
row.backdrop:SetGradientAlpha("HORIZONTAL", 0,0,1,0.75, 0,0,1,0)
|
||||||
|
row.backdrop:Show()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if not isUsable then
|
||||||
|
row.backdrop:SetGradientAlpha("HORIZONTAL", 1,0,0,0.75, 1,0,0,0)
|
||||||
|
row.backdrop:Show()
|
||||||
|
end
|
||||||
|
|
||||||
row.icon:SetTexture(itemTexture)
|
row.icon:SetTexture(itemTexture)
|
||||||
row.ItemName:SetText((numAvailable > -1 and ("["..numAvailable.."] ") or "").. color.. (name or "<Loading item data>").. (itemStackCount > 1 and ("|r x"..itemStackCount) or ""))
|
row.ItemName:SetText((numAvailable > -1 and ("["..numAvailable.."] ") or "").. color.. (name or "<Loading item data>").. (itemStackCount > 1 and ("|r x"..itemStackCount) or ""))
|
||||||
|
|
|
@ -13,4 +13,5 @@
|
||||||
|
|
||||||
tekKonfig\tekKonfig.xml
|
tekKonfig\tekKonfig.xml
|
||||||
|
|
||||||
|
KnownScanner.lua
|
||||||
GnomishVendorShrinker.lua
|
GnomishVendorShrinker.lua
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
|
||||||
|
local tip = CreateFrame("GameTooltip")
|
||||||
|
tip:SetOwner(WorldFrame, "ANCHOR_NONE")
|
||||||
|
|
||||||
|
local lcache = {}
|
||||||
|
for i=1,30 do
|
||||||
|
lcache[i] = tip:CreateFontString()
|
||||||
|
-- lcache[i]:SetFontObject(GameFontNormal)
|
||||||
|
tip:AddFontStrings(lcache[i], tip:CreateFontString())
|
||||||
|
end
|
||||||
|
|
||||||
|
local knowns = setmetatable({}, {__index = function(t, i)
|
||||||
|
tip:ClearLines()
|
||||||
|
if not tip:IsOwned(WorldFrame) then tip:SetOwner(WorldFrame, "ANCHOR_NONE") end
|
||||||
|
tip:SetHyperlink(i)
|
||||||
|
for i=1,tip:NumLines() do
|
||||||
|
if lcache[i]:GetText() == ITEM_SPELL_KNOWN then
|
||||||
|
t[i] = true
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end})
|
||||||
|
|
||||||
|
GVS_SCANNER = knowns
|
|
@ -7,12 +7,13 @@ h2. Features
|
||||||
* Clicking an item simply buys it, instead of picking up the item
|
* Clicking an item simply buys it, instead of picking up the item
|
||||||
* Alt-click buys a full stack (or as close to a full stack as is possible for limited-stock items)
|
* Alt-click buys a full stack (or as close to a full stack as is possible for limited-stock items)
|
||||||
* Ctrl- and shift-click behave as default (dress-up and paste link, respectively)
|
* Ctrl- and shift-click behave as default (dress-up and paste link, respectively)
|
||||||
|
* Recipes you do not yet know are highlighted in blue
|
||||||
|
* Items you cannot use are highlighted in red
|
||||||
|
|
||||||
h2. Un-features
|
h2. Un-features
|
||||||
|
|
||||||
* No support for split-stack purchases, I'm not convinced it's needed.
|
* No support for split-stack purchases, I'm not convinced it's needed.
|
||||||
* No search... yet
|
* No search... yet
|
||||||
* No way to red-out known recipes... yet.
|
|
||||||
|
|
||||||
h2. Links
|
h2. Links
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue