| Zerotorescue@17 | 1 do | 
| Zerotorescue@17 | 2 | 
| Zerotorescue@17 | 3 	local function GetTotalCount(itemId) | 
| Zerotorescue@17 | 4 		local realm = GetRealmName(); | 
| Zerotorescue@17 | 5 | 
| Zerotorescue@17 | 6 		local totalCount = 0; | 
| Zerotorescue@17 | 7 | 
| Zerotorescue@17 | 8 		-- Process all accounts | 
| Zerotorescue@17 | 9 		for accountName in pairs(DataStore:GetAccounts()) do | 
| Zerotorescue@17 | 10 | 
| Zerotorescue@17 | 11 			-- Process all charracters | 
| Zerotorescue@17 | 12 			for characterName, character in pairs(DataStore:GetCharacters(realm, accountName)) do | 
| Zerotorescue@17 | 13 				-- Get only useful info (currency / gear shouldn't contain the stuff we are interested in) | 
| Zerotorescue@118 | 14 				local bag, bank = DataStore:GetContainerItemCount(character, itemId); | 
| Zerotorescue@118 | 15 				bag = (bag or 0); bank = (bank or 0); | 
| Zerotorescue@54 | 16 				local auctionHouse = DataStore:GetAuctionHouseItemCount(character, itemId) or 0; | 
| Zerotorescue@54 | 17 				local mail = DataStore:GetMailItemCount(character, itemId) or 0; | 
| Zerotorescue@17 | 18 | 
| Zerotorescue@17 | 19 				totalCount = totalCount + bag + bank + auctionHouse + mail; | 
| Zerotorescue@17 | 20 			end | 
| Zerotorescue@17 | 21 		end | 
| Zerotorescue@17 | 22 | 
| Zerotorescue@17 | 23 		return totalCount or -1; | 
| Zerotorescue@17 | 24 	end | 
| Zerotorescue@17 | 25 | 
| Zerotorescue@17 | 26 	local function GetCharacterCount(itemId) | 
| Zerotorescue@17 | 27 		local character = DataStore:GetCharacter(); | 
| Zerotorescue@17 | 28 | 
| Zerotorescue@118 | 29 		local bag, bank = DataStore:GetContainerItemCount(character, itemId); | 
| Zerotorescue@118 | 30 		bag = (bag or 0); bank = (bank or 0); | 
| Zerotorescue@54 | 31 		local auctionHouse = DataStore:GetAuctionHouseItemCount(character, itemId) or 0; | 
| Zerotorescue@54 | 32 		local mail = DataStore:GetMailItemCount(character, itemId) or 0; | 
| Zerotorescue@17 | 33 | 
| Zerotorescue@17 | 34 		return bag, bank, auctionHouse, mail; | 
| Zerotorescue@17 | 35 	end | 
| Zerotorescue@17 | 36 | 
| Zerotorescue@17 | 37 	local function IsEnabled() | 
| Zerotorescue@17 | 38 		return (DataStore and DataStore.GetContainerItemCount and DataStore.GetAuctionHouseItemCount and DataStore.GetMailItemCount); | 
| Zerotorescue@17 | 39 	end | 
| Zerotorescue@17 | 40 | 
| Zerotorescue@17 | 41 	IMRegisterItemCountAddon("DataStore (without guilds)", GetTotalCount, GetCharacterCount, IsEnabled); | 
| Zerotorescue@17 | 42 | 
| Zerotorescue@17 | 43 end |