comparison gui.lua @ 71:fb330a1fb6e9

Add a unique field to loot (extracted from uniqueID field when possible, randomly generated when not) and include it in broadcasts. Use this as a history identifier for future loot. Will need to tweak using this in signatures (and finally avoid problems looting multiples of an item to a single person).
author Farmbuyer of US-Kilrogg <farmbuyer@gmail.com>
date Sat, 12 May 2012 07:17:55 +0000
parents cdee65c1bd8c
children bb19899c65a7
comparison
equal deleted inserted replaced
70:cdee65c1bd8c 71:fb330a1fb6e9
462 end 462 end
463 463
464 464
465 -- Done at startup, and whenever we've changed the population of tabs. 465 -- Done at startup, and whenever we've changed the population of tabs.
466 function addon:gui_init (loot_pointer) 466 function addon:gui_init (loot_pointer)
467 g_loot = loot_pointer 467 g_loot = assert(loot_pointer, "something went wrong at startup")
468 g_generated = nil 468 g_generated = nil
469 tabgroup_tabs = {} 469 tabgroup_tabs = {}
470 window_title = "Ouro Loot " .. self.revision 470 window_title = "Ouro Loot " .. self.revision
471 -- TabGroup stretches out the tabs to fill the row but only if >75% of the 471 -- TabGroup stretches out the tabs to fill the row but only if >75% of the
472 -- row is already full. It turns out that not doing this looks like ass. 472 -- row is already full. It turns out that not doing this looks like ass.
577 end, 577 end,
578 578
579 ["Rebroadcast this loot entry"] = function(rowi) 579 ["Rebroadcast this loot entry"] = function(rowi)
580 local e = g_loot[rowi] 580 local e = g_loot[rowi]
581 -- This only works because GetItemInfo accepts multiple argument formats 581 -- This only works because GetItemInfo accepts multiple argument formats
582 addon:vbroadcast('loot', e.person, e.itemlink, e.count, e.cols[3].value) 582 addon:vbroadcast('loot', e.person, e.unique, e.itemlink, e.count, e.cols[3].value)
583 addon:Print("Rebroadcast entry", rowi, e.itemlink) 583 addon:Print("Rebroadcast entry", rowi, e.itemlink)
584 end, 584 end,
585 585
586 ["Rebroadcast this boss"] = function(rowi,kind) 586 ["Rebroadcast this boss"] = function(rowi,kind)
587 -- if kind is boss, also need to stop at new timestamp 587 -- if kind is boss, also need to stop at new timestamp
592 local e = g_loot[rowi] 592 local e = g_loot[rowi]
593 if e.kind == 'boss' then 593 if e.kind == 'boss' then
594 addon:vbroadcast('boss', e.reason, e.bossname, e.instance) 594 addon:vbroadcast('boss', e.reason, e.bossname, e.instance)
595 elseif e.kind == 'loot' then 595 elseif e.kind == 'loot' then
596 -- This only works because GetItemInfo accepts multiple argument formats 596 -- This only works because GetItemInfo accepts multiple argument formats
597 addon:vbroadcast('loot', e.person, e.itemlink, e.count, e.cols[3].value) 597 addon:vbroadcast('loot', e.person, e.unique, e.itemlink, e.count, e.cols[3].value)
598 end 598 end
599 addon:Print("Rebroadcast entry", rowi, e.itemlink or e.bossname or UNKNOWN) 599 addon:Print("Rebroadcast entry", rowi, e.itemlink or e.bossname or UNKNOWN)
600 rowi = rowi + 1 600 rowi = rowi + 1
601 until rowi >= fencepost 601 until rowi >= fencepost
602 end, 602 end,