Mercurial > wow > inventory
view ItemData.class.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 | 958aba5f3297 |
children |
line wrap: on
line source
local addon = select(2, ...); -- Define the class addon.ItemData = {}; addon.ItemData.__index = addon.ItemData; -- Construct function addon.ItemData:New(itemId) local self = {}; setmetatable(self, addon.ItemData); local itemName, itemLink, itemRarity, _, _, _, _, _, _, itemTexture = GetItemInfo(itemId); -- Standard info everything needs self.id = itemId; self.name = itemName; self.link = itemLink; self.rarity = itemRarity; self.icon = itemTexture; -- Detailed stuff self.value = -3; self.globalCount = -3; self.localCount = -3; self.set = {}; return self; end function addon.ItemData:AddToGroup(groupName) if self:InGroup() then return false; end if not addon.db.profile.groups[groupName].items then addon.db.profile.groups[groupName].items = {}; end -- Set this item addon.db.profile.groups[groupName].items[self.id] = true; return true; end -- To remove an item without groupname just do RemoveFromGroup(InGroup()), although providing the group name is a nice sanity check function addon.ItemData:RemoveFromGroup(groupName) if self:InGroup() ~= groupName then return false; end -- Unset this item addon.db.profile.groups[groupName].items[self.id] = nil; return true; end function addon.ItemData:InGroup() -- Go through all groups to see if this item is already somewhere for groupName, values in pairs(addon.db.profile.groups) do if values.items and values.items[self.id] then return groupName; end end return; end