Mercurial > wow > wowdb-profiler
comparison Main.lua @ 165:311e2144c9ed
Added more debug prints. Break out of loop when finding a locked item during the AF.ITEM loot verification.
| author | James D. Callahan III <jcallahan@curse.com> |
|---|---|
| date | Mon, 08 Oct 2012 15:02:24 -0500 |
| parents | b5ced741f9e6 |
| children | 135ef8805021 |
comparison
equal
deleted
inserted
replaced
| 164:b5ced741f9e6 | 165:311e2144c9ed |
|---|---|
| 435 if current_line:GetText() == _G.ITEM_OPENABLE then | 435 if current_line:GetText() == _G.ITEM_OPENABLE then |
| 436 table.wipe(current_action) | 436 table.wipe(current_action) |
| 437 current_action.target_type = AF.ITEM | 437 current_action.target_type = AF.ITEM |
| 438 current_action.identifier = item_id | 438 current_action.identifier = item_id |
| 439 current_action.loot_label = "contains" | 439 current_action.loot_label = "contains" |
| 440 | |
| 441 Debug(("HandleItemUse: current_action.identifier: '%s'"):format(item_id)) | |
| 440 break | 442 break |
| 441 end | 443 end |
| 442 end | 444 end |
| 443 end | 445 end |
| 444 | 446 |
| 510 if current_loot.sources then | 512 if current_loot.sources then |
| 511 for source_guid, loot_data in pairs(current_loot.sources) do | 513 for source_guid, loot_data in pairs(current_loot.sources) do |
| 512 local entry, source_id | 514 local entry, source_id |
| 513 | 515 |
| 514 if current_loot.target_type == AF.ITEM then | 516 if current_loot.target_type == AF.ITEM then |
| 517 Debug(("GenericLootUpdate: current_loot.identifier: '%s'"):format(tostring(current_loot.identifier))) | |
| 515 -- Items return the player as the source, so we need to use the item's ID (disenchant, milling, etc) | 518 -- Items return the player as the source, so we need to use the item's ID (disenchant, milling, etc) |
| 516 source_id = current_loot.identifier | 519 source_id = current_loot.identifier |
| 517 entry = DBEntry(data_type, source_id) | 520 entry = DBEntry(data_type, source_id) |
| 518 elseif current_loot.target_type == AF.OBJECT then | 521 elseif current_loot.target_type == AF.OBJECT then |
| 519 source_id = ("%s:%s"):format(current_loot.spell_label, select(2, ParseGUID(source_guid))) | 522 source_id = ("%s:%s"):format(current_loot.spell_label, select(2, ParseGUID(source_guid))) |
| 1200 for slot_index = 1, _G.GetContainerNumSlots(bag_index) do | 1203 for slot_index = 1, _G.GetContainerNumSlots(bag_index) do |
| 1201 local _, _, is_locked = _G.GetContainerItemInfo(bag_index, slot_index) | 1204 local _, _, is_locked = _G.GetContainerItemInfo(bag_index, slot_index) |
| 1202 | 1205 |
| 1203 if is_locked then | 1206 if is_locked then |
| 1204 locked_item_id = ItemLinkToID(_G.GetContainerItemLink(bag_index, slot_index)) | 1207 locked_item_id = ItemLinkToID(_G.GetContainerItemLink(bag_index, slot_index)) |
| 1208 break | |
| 1205 end | 1209 end |
| 1206 end | 1210 end |
| 1211 | |
| 1212 if locked_item_id then | |
| 1213 break | |
| 1214 end | |
| 1207 end | 1215 end |
| 1208 | 1216 |
| 1209 if not locked_item_id or (current_action.identifier and current_action.identifier ~= locked_item_id) then | 1217 if not locked_item_id or (current_action.identifier and current_action.identifier ~= locked_item_id) then |
| 1210 return false | 1218 return false |
| 1211 end | 1219 end |
| 1220 Debug(("LOOT_VERIFY_FUNCS[AF.ITEM]: current_action.identifier: '%s'"):format(locked_item_id)) | |
| 1212 current_action.identifier = locked_item_id | 1221 current_action.identifier = locked_item_id |
| 1213 return true | 1222 return true |
| 1214 end, | 1223 end, |
| 1215 [AF.NPC] = function() | 1224 [AF.NPC] = function() |
| 1216 if not _G.UnitExists("target") or _G.UnitIsFriend("player", "target") or _G.UnitIsPlayer("target") or _G.UnitPlayerControlled("target") then | 1225 if not _G.UnitExists("target") or _G.UnitIsFriend("player", "target") or _G.UnitIsPlayer("target") or _G.UnitPlayerControlled("target") then |
| 1833 | 1842 |
| 1834 if not profession_skills then | 1843 if not profession_skills then |
| 1835 class_professions[profession] = {} | 1844 class_professions[profession] = {} |
| 1836 profession_skills = class_professions[profession] | 1845 profession_skills = class_professions[profession] |
| 1837 end | 1846 end |
| 1838 -- profession_skills[spell_id] = ("%d:%d:%d"):format(required_level, min_skill, ActualCopperCost(_G.GetTrainerServiceCost(index), trainer_standing)) | 1847 -- profession_skills[spell_id] = ("%d:%d:%d"):format(required_level, min_skill, ActualCopperCost(_G.GetTrainerServiceCost(index), trainer_standing)) |
| 1839 profession_skills[spell_id] = ("%d:%d"):format(required_level, min_skill) | 1848 profession_skills[spell_id] = ("%d:%d"):format(required_level, min_skill) |
| 1840 end | 1849 end |
| 1841 end | 1850 end |
| 1842 end | 1851 end |
| 1843 -- Reset the filters to what they were before | 1852 -- Reset the filters to what they were before |
| 1858 end | 1867 end |
| 1859 table.wipe(current_action) | 1868 table.wipe(current_action) |
| 1860 | 1869 |
| 1861 local item_name, item_link = _G.GameTooltip:GetItem() | 1870 local item_name, item_link = _G.GameTooltip:GetItem() |
| 1862 local unit_name, unit_id = _G.GameTooltip:GetUnit() | 1871 local unit_name, unit_id = _G.GameTooltip:GetUnit() |
| 1863 | |
| 1864 Debug(("Item name: '%s', Unit name: '%s'"):format(tostring(item_name), tostring(unit_name))) | |
| 1865 | 1872 |
| 1866 if not unit_name and _G.UnitName("target") == target_name then | 1873 if not unit_name and _G.UnitName("target") == target_name then |
| 1867 unit_name = target_name | 1874 unit_name = target_name |
| 1868 unit_id = "target" | 1875 unit_id = "target" |
| 1869 end | 1876 end |
| 1880 if not private.NON_LOOT_SPELL_LABELS[spell_label] then | 1887 if not private.NON_LOOT_SPELL_LABELS[spell_label] then |
| 1881 current_action.loot_label = spell_label:lower() | 1888 current_action.loot_label = spell_label:lower() |
| 1882 end | 1889 end |
| 1883 | 1890 |
| 1884 if unit_name and unit_name == target_name and not item_name then | 1891 if unit_name and unit_name == target_name and not item_name then |
| 1885 Debug("Unit name is same as target_name") | |
| 1886 if bit.band(spell_flags, AF.NPC) == AF.NPC then | 1892 if bit.band(spell_flags, AF.NPC) == AF.NPC then |
| 1887 if not unit_id or unit_name ~= target_name then | 1893 if not unit_id or unit_name ~= target_name then |
| 1888 return | 1894 return |
| 1889 end | 1895 end |
| 1890 current_action.target_type = AF.NPC | 1896 current_action.target_type = AF.NPC |
| 1891 end | 1897 end |
| 1892 elseif bit.band(spell_flags, AF.ITEM) == AF.ITEM then | 1898 elseif bit.band(spell_flags, AF.ITEM) == AF.ITEM then |
| 1893 current_action.target_type = AF.ITEM | 1899 current_action.target_type = AF.ITEM |
| 1900 | |
| 1901 Debug(("%s: Item name: '%s'"):format(event_name, tostring(item_name))) | |
| 1894 | 1902 |
| 1895 if item_name and item_name == target_name then | 1903 if item_name and item_name == target_name then |
| 1896 current_action.identifier = ItemLinkToID(item_link) | 1904 current_action.identifier = ItemLinkToID(item_link) |
| 1897 elseif target_name and target_name ~= "" then | 1905 elseif target_name and target_name ~= "" then |
| 1898 current_action.identifier = ItemLinkToID(select(2, _G.GetItemInfo(target_name))) | 1906 current_action.identifier = ItemLinkToID(select(2, _G.GetItemInfo(target_name))) |
| 1899 end | 1907 end |
| 1908 Debug(("%s: current_action.identifier: '%s'"):format(event_name, tostring(current_action.identifier))) | |
| 1900 elseif not item_name and not unit_name then | 1909 elseif not item_name and not unit_name then |
| 1901 if bit.band(spell_flags, AF.OBJECT) == AF.OBJECT then | 1910 if bit.band(spell_flags, AF.OBJECT) == AF.OBJECT then |
| 1902 if target_name == "" then | 1911 if target_name == "" then |
| 1903 Debug("Didn't set current_action.target_type") | 1912 Debug("Didn't set current_action.target_type") |
| 1904 return | 1913 return |
