Mercurial > wow > wowdb-profiler
comparison Main.lua @ 400:eb64f3b68a27
Combine CHAT_MSG_SYSTEM event handlers (oops). Amended conditional statement in HandleItemUse.
| author | MMOSimca <MMOSimca@gmail.com> |
|---|---|
| date | Sun, 21 Dec 2014 22:40:43 -0500 |
| parents | f1da74457a98 |
| children | 2fa787786d9a |
comparison
equal
deleted
inserted
replaced
| 399:b2c7eb63ff92 | 400:eb64f3b68a27 |
|---|---|
| 581 if not bag_index or not slot_index then | 581 if not bag_index or not slot_index then |
| 582 return | 582 return |
| 583 end | 583 end |
| 584 local _, _, _, _, _, is_lootable = _G.GetContainerItemInfo(bag_index, slot_index) | 584 local _, _, _, _, _, is_lootable = _G.GetContainerItemInfo(bag_index, slot_index) |
| 585 | 585 |
| 586 if not is_lootable then | 586 if not is_lootable and not private.CONTAINER_ITEM_ID_LIST[item_id] then |
| 587 return | 587 return |
| 588 end | 588 end |
| 589 | 589 |
| 590 table.wipe(current_action) | 590 table.wipe(current_action) |
| 591 current_loot = nil | 591 current_loot = nil |
| 1611 update_func(item_id, quantity) | 1611 update_func(item_id, quantity) |
| 1612 end | 1612 end |
| 1613 end | 1613 end |
| 1614 | 1614 |
| 1615 | 1615 |
| 1616 function WDP:CHAT_MSG_SYSTEM(event_name, message) | |
| 1617 local item_link, quantity = deformat(message, _G.ERR_QUEST_REWARD_ITEM_MULT_IS) | |
| 1618 if not item_link then | |
| 1619 quantity, item_link = 1, deformat(message, _G.ERR_QUEST_REWARD_ITEM_S) | |
| 1620 end | |
| 1621 local item_id = ItemLinkToID(item_link) | |
| 1622 | |
| 1623 if not item_id then | |
| 1624 return | |
| 1625 end | |
| 1626 | |
| 1627 -- We only want to record the item's incoming data; no other need for system messages atm. | |
| 1628 RecordItemData(item_id, item_link, true) | |
| 1629 end | |
| 1630 | |
| 1631 | |
| 1632 function WDP:RecordQuote(event_name, message, source_name, language_name) | 1616 function WDP:RecordQuote(event_name, message, source_name, language_name) |
| 1633 if not ALLOWED_LOCALES[CLIENT_LOCALE] or not source_name or not name_to_id_map[source_name] or (language_name ~= "" and not languages_known[language_name]) then | 1617 if not ALLOWED_LOCALES[CLIENT_LOCALE] or not source_name or not name_to_id_map[source_name] or (language_name ~= "" and not languages_known[language_name]) then |
| 1634 return | 1618 return |
| 1635 end | 1619 end |
| 1636 local npc = NPCEntry(name_to_id_map[source_name]) | 1620 local npc = NPCEntry(name_to_id_map[source_name]) |
| 1675 TradeSkillExecutePer(RecordDiscovery) | 1659 TradeSkillExecutePer(RecordDiscovery) |
| 1676 end | 1660 end |
| 1677 | 1661 |
| 1678 | 1662 |
| 1679 function WDP:CHAT_MSG_SYSTEM(event_name, message) | 1663 function WDP:CHAT_MSG_SYSTEM(event_name, message) |
| 1680 if not private.trainer_shown then | 1664 local item_link, quantity = deformat(message, _G.ERR_QUEST_REWARD_ITEM_MULT_IS) |
| 1681 local recipe_name = message:match(RECIPE_MATCH) | 1665 if not item_link then |
| 1682 | 1666 quantity, item_link = 1, deformat(message, _G.ERR_QUEST_REWARD_ITEM_S) |
| 1683 if recipe_name and private.previous_spell_id then | 1667 end |
| 1684 local profession_name, prof_level = _G.GetTradeSkillLine() | 1668 local item_id = ItemLinkToID(item_link) |
| 1685 | 1669 |
| 1686 if profession_name == _G.UNKNOWN then | 1670 -- If it isn't a quest message, check the other uses of system messages |
| 1687 return | 1671 if not item_id then |
| 1688 end | 1672 if not private.trainer_shown then |
| 1689 private.discovered_recipe_name = recipe_name | 1673 local recipe_name = message:match(RECIPE_MATCH) |
| 1690 private.profession_level = prof_level | 1674 |
| 1691 | 1675 if recipe_name and private.previous_spell_id then |
| 1692 C_Timer.After(0.2, IterativeRecordDiscovery) | 1676 local profession_name, prof_level = _G.GetTradeSkillLine() |
| 1693 end | 1677 |
| 1694 end | 1678 if profession_name == _G.UNKNOWN then |
| 1695 | 1679 return |
| 1696 if currently_drunk then | 1680 end |
| 1697 if message == _G.DRUNK_MESSAGE_SELF1 or message:match(SOBER_MATCH) then | 1681 private.discovered_recipe_name = recipe_name |
| 1698 currently_drunk = nil | 1682 private.profession_level = prof_level |
| 1699 end | 1683 |
| 1700 return | 1684 C_Timer.After(0.2, IterativeRecordDiscovery) |
| 1701 end | 1685 end |
| 1702 | 1686 end |
| 1703 for index = 1, #DRUNK_MATCHES do | 1687 |
| 1704 if message == DRUNK_COMPARES[index] or message:match(DRUNK_MATCHES[index]) then | 1688 if currently_drunk then |
| 1705 currently_drunk = true | 1689 if message == _G.DRUNK_MESSAGE_SELF1 or message:match(SOBER_MATCH) then |
| 1706 break | 1690 currently_drunk = nil |
| 1707 end | 1691 end |
| 1708 end | 1692 return |
| 1693 end | |
| 1694 | |
| 1695 for index = 1, #DRUNK_MATCHES do | |
| 1696 if message == DRUNK_COMPARES[index] or message:match(DRUNK_MATCHES[index]) then | |
| 1697 currently_drunk = true | |
| 1698 break | |
| 1699 end | |
| 1700 end | |
| 1701 return | |
| 1702 end | |
| 1703 | |
| 1704 -- We only want to record the item's incoming data; no other need for system messages atm. | |
| 1705 RecordItemData(item_id, item_link, true) | |
| 1709 end | 1706 end |
| 1710 end | 1707 end |
| 1711 | 1708 |
| 1712 | 1709 |
| 1713 do | 1710 do |
