Mercurial > wow > wowdb-profiler
comparison Main.lua @ 412:e2f7f33cf5f7 6.0.3-6
Blacklisted six problematic items for chat-based loot recording. Also, added two more events to cancel recording.
| author | MMOSimca <MMOSimca@gmail.com> |
|---|---|
| date | Sat, 03 Jan 2015 02:35:00 -0500 |
| parents | 4adc1fa4ddba |
| children | d97e37b1e239 |
comparison
equal
deleted
inserted
replaced
| 411:4adc1fa4ddba | 412:e2f7f33cf5f7 |
|---|---|
| 99 CHAT_MSG_SYSTEM = true, | 99 CHAT_MSG_SYSTEM = true, |
| 100 COMBAT_LOG_EVENT_UNFILTERED = true, | 100 COMBAT_LOG_EVENT_UNFILTERED = true, |
| 101 COMBAT_TEXT_UPDATE = true, | 101 COMBAT_TEXT_UPDATE = true, |
| 102 CURSOR_UPDATE = true, | 102 CURSOR_UPDATE = true, |
| 103 FORGE_MASTER_OPENED = true, | 103 FORGE_MASTER_OPENED = true, |
| 104 GARRISON_MISSION_BONUS_ROLL_COMPLETE = "HandleBadChatLootData", | |
| 105 GARRISON_MISSION_COMPLETE_RESPONSE = "HandleBadChatLootData", | |
| 104 GOSSIP_SHOW = true, | 106 GOSSIP_SHOW = true, |
| 105 GROUP_ROSTER_UPDATE = true, | 107 GROUP_ROSTER_UPDATE = true, |
| 106 GUILDBANKFRAME_OPENED = true, | 108 GUILDBANKFRAME_OPENED = true, |
| 107 ITEM_TEXT_BEGIN = true, | 109 ITEM_TEXT_BEGIN = true, |
| 108 ITEM_UPGRADE_MASTER_OPENED = true, | 110 ITEM_UPGRADE_MASTER_OPENED = true, |
| 109 LOOT_CLOSED = true, | 111 LOOT_CLOSED = true, |
| 110 LOOT_OPENED = true, | 112 LOOT_OPENED = true, |
| 111 LOOT_SLOT_CLEARED = true, | 113 LOOT_SLOT_CLEARED = "HandleBadChatLootData", |
| 112 MAIL_SHOW = true, | 114 MAIL_SHOW = true, |
| 113 MERCHANT_CLOSED = true, | 115 MERCHANT_CLOSED = true, |
| 114 MERCHANT_SHOW = "UpdateMerchantItems", | 116 MERCHANT_SHOW = "UpdateMerchantItems", |
| 115 MERCHANT_UPDATE = "UpdateMerchantItems", | 117 MERCHANT_UPDATE = "UpdateMerchantItems", |
| 116 PET_BAR_UPDATE = true, | 118 PET_BAR_UPDATE = true, |
| 1254 end -- do-block | 1256 end -- do-block |
| 1255 | 1257 |
| 1256 | 1258 |
| 1257 -- EVENT HANDLERS ----------------------------------------------------- | 1259 -- EVENT HANDLERS ----------------------------------------------------- |
| 1258 | 1260 |
| 1259 function WDP:LOOT_SLOT_CLEARED(...) | 1261 function WDP:HandleBadChatLootData(...) |
| 1260 ClearChatLootData() | 1262 ClearChatLootData() |
| 1261 end | 1263 end |
| 1262 | 1264 |
| 1263 | 1265 |
| 1264 -- For now, bonus roll data only pollutes the true drop percentages. We still want to capture the data from SPELL_CONFIRMATION_PROMPT because of legendary quest items though. | 1266 -- For now, bonus roll data only pollutes the true drop percentages. We still want to capture the data from SPELL_CONFIRMATION_PROMPT because of legendary quest items though. |
| 1332 | 1334 |
| 1333 -- Need information on the most recent args, so using this complete debug statement for now | 1335 -- Need information on the most recent args, so using this complete debug statement for now |
| 1334 Debug("%s: loot_type: %s, item_link: %s, quantity: %s, spec_ID: %s, sex_ID: %s, is_personal: %s, loot_source: %s", event_name, loot_type, item_link, quantity, spec_ID, sex_ID, is_personal, loot_source) | 1336 Debug("%s: loot_type: %s, item_link: %s, quantity: %s, spec_ID: %s, sex_ID: %s, is_personal: %s, loot_source: %s", event_name, loot_type, item_link, quantity, spec_ID, sex_ID, is_personal, loot_source) |
| 1335 | 1337 |
| 1336 -- Handle Garrison cache specially | 1338 -- Handle Garrison cache specially |
| 1337 if lootSource and last_garrison_cache_object_id and (lootSource == private.GARRISON_CACHE_LOOT_SOURCE_ID) then | 1339 if lootSource and (lootSource == private.GARRISON_CACHE_LOOT_SOURCE_ID) and last_garrison_cache_object_id then |
| 1338 -- Record location data for cache | 1340 -- Record location data for cache |
| 1339 UpdateDBEntryLocation("objects", ("OPENING:%d"):format(last_garrison_cache_object_id)) | 1341 UpdateDBEntryLocation("objects", ("OPENING:%d"):format(last_garrison_cache_object_id)) |
| 1340 | 1342 |
| 1341 -- Add drop data | 1343 -- Add drop data |
| 1342 local currency_texture = CurrencyLinkToTexture(item_link) | 1344 local currency_texture = CurrencyLinkToTexture(item_link) |
| 1521 end | 1523 end |
| 1522 update_func(currency_texture, quantity) | 1524 update_func(currency_texture, quantity) |
| 1523 end | 1525 end |
| 1524 | 1526 |
| 1525 | 1527 |
| 1528 local BLACKLISTED_ITEMS = { | |
| 1529 [114116] = true, | |
| 1530 [114119] = true, | |
| 1531 [114120] = true, | |
| 1532 [116980] = true, | |
| 1533 [120319] = true, | |
| 1534 [120320] = true, | |
| 1535 } | |
| 1536 | |
| 1537 | |
| 1526 local CHAT_MSG_LOOT_UPDATE_FUNCS = { | 1538 local CHAT_MSG_LOOT_UPDATE_FUNCS = { |
| 1527 [AF.ITEM] = function(item_id, quantity) | 1539 [AF.ITEM] = function(item_id, quantity) |
| 1528 local container_id = current_loot.identifier -- For faster access, since this is going to be called 9 times in the next 3 lines | 1540 local container_id = current_loot.identifier -- For faster access, since this is going to be called 9 times in the next 3 lines |
| 1529 -- Verify that we're still assigning data to the right items | 1541 -- Verify that we're still assigning data to the right items |
| 1530 if container_id and (private.CONTAINER_ITEM_ID_LIST[container_id] ~= nil) then | 1542 if container_id and (private.CONTAINER_ITEM_ID_LIST[container_id] ~= nil) then |
| 1593 -- We still want to record the item's data, even if it doesn't need its drop location recorded | 1605 -- We still want to record the item's data, even if it doesn't need its drop location recorded |
| 1594 RecordItemData(item_id, item_link, true) | 1606 RecordItemData(item_id, item_link, true) |
| 1595 | 1607 |
| 1596 -- Take action based on update category | 1608 -- Take action based on update category |
| 1597 local update_func = CHAT_MSG_LOOT_UPDATE_FUNCS[category] | 1609 local update_func = CHAT_MSG_LOOT_UPDATE_FUNCS[category] |
| 1598 if not category or not update_func then | 1610 if not category or not update_func or BLACKLISTED_ITEMS[item_id] then |
| 1599 return | 1611 return |
| 1600 end | 1612 end |
| 1601 update_func(item_id, quantity) | 1613 update_func(item_id, quantity) |
| 1602 end | 1614 end |
| 1603 end | 1615 end |
