Mercurial > wow > ouroloot
comparison core.lua @ 34:f1d0a5d7b006
Manual loot insertion should not go through recent cache.
author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
---|---|
date | Wed, 07 Dec 2011 08:27:58 +0000 |
parents | 47949f8eb783 |
children | f75329fe5758 |
comparison
equal
deleted
inserted
replaced
33:076a44f30a8b | 34:f1d0a5d7b006 |
---|---|
669 local candidates = {} | 669 local candidates = {} |
670 local function prefer_local_loots (cache) | 670 local function prefer_local_loots (cache) |
671 -- The function name is a bit of a misnomer, as local entries overwrite | 671 -- The function name is a bit of a misnomer, as local entries overwrite |
672 -- remote entries as the candidate table is populated. This routine is | 672 -- remote entries as the candidate table is populated. This routine is |
673 -- to extract the results once the cache timers have expired. | 673 -- to extract the results once the cache timers have expired. |
674 -- Keep this sync'd with the local_override branch below. | |
674 for i,sig in ipairs(candidates) do | 675 for i,sig in ipairs(candidates) do |
675 addon.dprint('loot', "processing candidate entry", i, sig) | 676 addon.dprint('loot', "processing candidate entry", i, sig) |
676 local loot = candidates[sig] | 677 local loot = candidates[sig] |
677 if loot then | 678 if loot then |
678 addon.dprint('loot', i, "was found") | 679 addon.dprint('loot', i, "was found") |
717 if (not self.enabled) and (not local_override) then break end | 718 if (not self.enabled) and (not local_override) then break end |
718 local signature = recipient .. iname .. (count or "") | 719 local signature = recipient .. iname .. (count or "") |
719 if from and self.recent_loot:test(signature) then | 720 if from and self.recent_loot:test(signature) then |
720 self.dprint('cache', "loot <",signature,"> already in cache, skipping") | 721 self.dprint('cache', "loot <",signature,"> already in cache, skipping") |
721 else | 722 else |
722 self.recent_loot:add(signature) | |
723 -- There is some redundancy in all this, in the interests of ease-of-coding | 723 -- There is some redundancy in all this, in the interests of ease-of-coding |
724 i = { | 724 i = { |
725 kind = 'loot', | 725 kind = 'loot', |
726 person = recipient, | 726 person = recipient, |
727 person_class= select(2,UnitClass(recipient)), | 727 person_class= select(2,UnitClass(recipient)), |
735 count = count, | 735 count = count, |
736 bcast_from = from, | 736 bcast_from = from, |
737 extratext = extratext, | 737 extratext = extratext, |
738 is_heroic = self:is_heroic_item(ilink), | 738 is_heroic = self:is_heroic_item(ilink), |
739 } | 739 } |
740 candidates[signature] = i | 740 if local_override then |
741 tinsert (candidates, signature) | 741 -- adding things by hand, don't wait for network cache timeouts |
742 self.dprint('cache', "loot <",signature,"> added to cache, candidate", #candidates) | 742 if i.extratext == 'shard' |
743 or i.extratext == 'gvault' | |
744 or i.extratext == 'offspec' | |
745 then | |
746 i.disposition = i.extratext | |
747 end | |
748 local looti = self._addLootEntry(i) | |
749 if (i.disposition ~= 'shard') | |
750 and (i.disposition ~= 'gvault') | |
751 and (not self.history_suppress) | |
752 then | |
753 self:_addHistoryEntry(looti) | |
754 end | |
755 i = looti -- mostly for gui's manual entry | |
756 else | |
757 self.recent_loot:add(signature) | |
758 candidates[signature] = i | |
759 tinsert (candidates, signature) | |
760 self.dprint('cache', "loot <",signature,"> added to cache, candidate", #candidates) | |
761 end | |
743 end | 762 end |
744 break | 763 break |
745 end | 764 end |
746 self.dprint('loot',"<<_do_loot out") | 765 self.dprint('loot',"<<_do_loot out") |
747 return i | 766 return i |