WoWInterface SVN NeedyGreedy

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /trunk
    from Rev 30 to Rev 31
    Reverse comparison

Rev 30 → Rev 31

NeedyGreedy.lua
240,8 → 240,19
return s, e, unpack(captures)
end
 
-- Strips the item ID out of the item link
-- Needed for items that change their unique identifier
local function itemIdFromLink(itemLink)
local found, _, itemString = string.find(itemLink, "|H(.+)|h")
if found then
local _, itemId = strsplit(":", itemString)
return tonumber(itemId)
end
return nil
end
 
 
 
-- Event handling functions
function NeedyGreedy:OnInitialize()
self.db = LibStub("AceDB-3.0"):New("NeedyGreedyDB", defaults, true)
315,6 → 326,7
items[rollid] = {
texture = texture,
link = link,
itemID = itemIdFromLink(link),
assigned = "",
received = 0,
choices = {},
475,6 → 487,9
end
 
function NeedyGreedy:RecordChoice(link, player, choice)
local _, _, quality = GetItemInfo(link)
if quality < self.db.profile.quality then return end
 
for rollid, record in pairs(items) do
if record.assigned == "" and record.link == link then
record.choices[player] = choice
485,6 → 500,9
end
 
function NeedyGreedy:RecordRoll(link, player, number)
local _, _, quality = GetItemInfo(link)
if quality < self.db.profile.quality then return end
 
for rollid, record in pairs(items) do
if record.assigned == "" and record.link == link then
record.rolls[player] = number
495,6 → 513,9
end
 
function NeedyGreedy:RecordAwarded(link, player)
local _, _, quality = GetItemInfo(link)
if quality < self.db.profile.quality then return end
 
for rollid, record in pairs(items) do
if record.assigned == "" and record.link == link then
record.assigned = player
505,9 → 526,14
end
 
function NeedyGreedy:RecordReceived(link, player)
local _, _, quality = GetItemInfo(link)
if quality < self.db.profile.quality then return end
 
local match = false
for rollid, record in pairs(items) do
if record.received == 0 and record.link == link then
record.received = GetTime()
match = true
break
end
-- Since players receive disenchanted items not link
515,6 → 541,18
record.received = GetTime()
end
end
 
if not match then
-- For items with weird unique identifiers
for rollid, record in pairs(items) do
if record.received == 0 and record.itemID == itemIdFromLink(link) then
record.received = GetTime()
match = true
break
end
end
end
 
self:UpdateReport()
end