diff Main.lua @ 326:66b136635f6b 5.4.7-1

Fixes for "Disguise" and tradeskill spells.
author James D. Callahan III <jcallahan@curse.com>
date Thu, 27 Mar 2014 14:55:46 -0500
parents 9cc4ffab84d1
children 3487529df8e5
line wrap: on
line diff
--- a/Main.lua	Wed Jan 22 08:25:50 2014 -0600
+++ b/Main.lua	Thu Mar 27 14:55:46 2014 -0500
@@ -47,6 +47,8 @@
 local PLAYER_NAME = _G.UnitName("player")
 local PLAYER_RACE = _G.select(2, _G.UnitRace("player"))
 
+local SPELL_ID_DISGUISE = 121308
+
 local ALLOWED_LOCALES = {
     enUS = true,
     enGB = true,
@@ -1432,7 +1434,7 @@
     local FLAGS_NPC_CONTROL = bit.bor(_G.COMBATLOG_OBJECT_AFFILIATION_OUTSIDER, _G.COMBATLOG_OBJECT_CONTROL_NPC)
 
     local function RecordNPCSpell(sub_event, source_guid, source_name, source_flags, dest_guid, dest_name, dest_flags, spell_id, spell_name)
-        if not spell_id then
+        if not spell_id or spell_id == SPELL_ID_DISGUISE then
             return
         end
         local source_type, source_id = ParseGUID(source_guid)
@@ -1819,6 +1821,12 @@
             Debug("%s: No GUIDs found in loot. Blank loot window?", log_source)
             return false
         end
+
+        if private.previous_spell_id and private.EXTRAPOLATION_BANNED_SPELL_IDS[private.previous_spell_id] then
+            Debug("%s: Problematic spell id %s found. Loot extrapolation for this set of loot would have run an increased risk of introducing bad data into the system.", log_source, private.previous_spell_id)
+            return false
+        end
+
         local num_npcs = 0
         local num_objects = 0
         local num_itemcontainers = 0