local GetTime = QuestHelper_GetTime
QuestHelper_File["collect_item.lua"] = "4.0.1.$svnversion$"
QuestHelper_Loadtime["collect_item.lua"] = GetTime()
local debug_output = false
if QuestHelper_File["collect_item.lua"] == "Development Version" then debug_output = true end
local GetItemType
local QHCI
-- We could probably snag data from other locations as well, but at the moment, we're not.
local function Tooltipy(self)
if not self.GetItem then return end -- ughhhh, inventoryonpar
local _, ilink = self:GetItem()
if not ilink then return end
local id = GetItemType(ilink)
if not QHCI[id] then QHCI[id] = {} end
local item = QHCI[id]
local name, _, quality, ilvl, min, itype, isubtype, _, equiploc, _ = GetItemInfo(id)
if name then
item.name = name
item.quality = quality
item.ilevel = ilvl
item.minlevel = min
item.type = itype -- Was originally type/subtype, but we can do that during processing. Might want to eventually have it separated, so we separate here.
item.subtype = isubtype
local loc = string.match(equiploc, "INVTYPE_(.*)")
if loc then
item.equiplocation = loc
else
item.equiplocation = nil
end
local lines = GameTooltip:NumLines()
local openable = false
for i = 2, lines do
if _G["GameTooltipTextLeft" .. tostring(i)]:GetText() == ITEM_OPENABLE then
openable = true
openable = "open_" .. (openable and "yes" or "no")
item[openable] = (item[openable] or 0) + 1 -- so we're going to add a lot to this if the user keeps whipping their mouse over it. I'll live.
function QH_Collect_Item_Init(QHCData, API)
if not QHCData.item then QHCData.item = {} end
QHCI = QHCData.item
API.Registrar_TooltipHook(Tooltipy)
GetItemType = API.Utility_GetItemType
QuestHelper: Assert(GetItemType)