Mercurial > wow > inventory
comparison Scanner.lua @ 82:f885805da5d6
Added options to toggle the automatic refilling. This defaults to true.
Normalized property amount names; a move has a ?num? that must be moved and a location has a ?count? indicating the amount of items at that slot.
Target/source item verification should now be working properly for guilds.
When ?bank? is included in the local item count, we will skip trying to auto refill from this.
author | Zerotorescue |
---|---|
date | Thu, 06 Jan 2011 10:48:56 +0100 |
parents | 58617c7827fa |
children |
comparison
equal
deleted
inserted
replaced
81:58617c7827fa | 82:f885805da5d6 |
---|---|
76 -- A not equal-comparison should be quicker than a larger than-comparison | 76 -- A not equal-comparison should be quicker than a larger than-comparison |
77 | 77 |
78 -- If there is actually an item in this slot | 78 -- If there is actually an item in this slot |
79 | 79 |
80 local itemLink = GetGuildBankItemLink(tabId, slotId); | 80 local itemLink = GetGuildBankItemLink(tabId, slotId); |
81 local itemId = itemLink and GetItemId(itemLink); | 81 local itemId = itemLink and GetItemID(itemLink); |
82 local itemCount = itemLink and select(2, GetGuildBankItemInfo(tabId, slotId)); | 82 local itemCount = itemLink and select(2, GetGuildBankItemInfo(tabId, slotId)); |
83 | 83 |
84 if itemLink and itemId and itemCount and itemCount > 0 then | 84 if itemLink and itemId and itemCount and itemCount > 0 then |
85 local itemMove; | 85 local itemMove; |
86 if not itemCache[itemId] then | 86 if not itemCache[itemId] then |
97 | 97 |
98 -- Continue scanning a different slot | 98 -- Continue scanning a different slot |
99 slotId = (slotId - 1); | 99 slotId = (slotId - 1); |
100 end | 100 end |
101 else | 101 else |
102 error("Invalid location provided for the local _GetItemCount. Must be Bank or Guild."); | 102 error("Invalid location provided for CacheLocation. Must be Bank or Guild."); |
103 end | 103 end |
104 | 104 |
105 if not remember then | 105 if not remember then |
106 -- Copy the table as clearing the cache wipes it empty (and tables are passed by reference) | 106 -- Copy the table as clearing the cache wipes it empty (and tables are passed by reference) |
107 local cacheCopy = CopyTable(itemCache); | 107 local cacheCopy = CopyTable(itemCache); |
123 self:CacheLocation(location, true); | 123 self:CacheLocation(location, true); |
124 | 124 |
125 -- Go through all groups | 125 -- Go through all groups |
126 for groupName, values in pairs(addon.db.profile.groups) do | 126 for groupName, values in pairs(addon.db.profile.groups) do |
127 local trackAt = addon:GetOptionByKey(groupName, "trackAtCharacters"); | 127 local trackAt = addon:GetOptionByKey(groupName, "trackAtCharacters"); |
128 | 128 local localItemData = self:GetOptionByKey(groupName, "localItemData"); |
129 if values.items and trackAt[playerName] then | 129 |
130 if values.items and trackAt[playerName] and addon:GetOptionByKey(groupName, "autoRefill") and (location ~= addon.Locations.Bank or not localItemData or not localItemData["Bank"]) then | |
130 -- Is this character interested in this data? | 131 -- Is this character interested in this data? |
131 | 132 |
132 local minLocalStock = addon:GetOptionByKey(groupName, "minLocalStock"); | 133 local minLocalStock = addon:GetOptionByKey(groupName, "minLocalStock"); |
133 | 134 |
134 -- Go through all items | 135 -- Go through all items |
165 Mover:BeginMove(location, self.Unpause); | 166 Mover:BeginMove(location, self.Unpause); |
166 end, | 167 end, |
167 timeout = 0, | 168 timeout = 0, |
168 whileDead = 1, | 169 whileDead = 1, |
169 hideOnEscape = 1, | 170 hideOnEscape = 1, |
171 exclusive = 1, | |
172 enterClicksFirstButton = 1, | |
170 }; | 173 }; |
171 StaticPopup_Show("InventoriumRefill"); | 174 StaticPopup_Show("InventoriumRefill"); |
172 end | 175 end |
173 end | 176 end |
174 | 177 |