diff --git a/classes/container_actors.lua b/classes/container_actors.lua index 241dbcb9..c42f9534 100644 --- a/classes/container_actors.lua +++ b/classes/container_actors.lua @@ -52,17 +52,17 @@ local container_pets = {} --flags - local REACTION_HOSTILE = 0x00000040 - local IS_GROUP_OBJECT = 0x00000007 - local REACTION_FRIENDLY = 0x00000010 - local OBJECT_TYPE_MASK = 0x0000FC00 - local OBJECT_TYPE_OBJECT = 0x00004000 - local OBJECT_TYPE_PETGUARDIAN = 0x00003000 - local OBJECT_TYPE_GUARDIAN = 0x00002000 - local OBJECT_TYPE_PET = 0x00001000 - local OBJECT_TYPE_NPC = 0x00000800 - local OBJECT_TYPE_PLAYER = 0x00000400 - local OBJECT_TYPE_PETS = OBJECT_TYPE_PET + OBJECT_TYPE_GUARDIAN + local REACTION_HOSTILE = 0x00000040 + local IS_GROUP_OBJECT = 0x00000007 + local REACTION_FRIENDLY = 0x00000010 + local OBJECT_TYPE_MASK = 0x0000FC00 + local OBJECT_TYPE_OBJECT = 0x00004000 + local OBJECT_TYPE_PET = 0x00001000 + local OBJECT_TYPE_GUARDIAN = 0x00002000 + local OBJECT_TYPE_CONTROL_NPC = 0x00000200 + local OBJECT_TYPE_PETGUARDIAN = OBJECT_TYPE_PET + OBJECT_TYPE_GUARDIAN + local OBJECT_TYPE_NPC = 0x00000800 + local OBJECT_TYPE_PLAYER = 0x00000400 local debugPetname = false @@ -210,8 +210,7 @@ end end end else - - for playerName in actorName:gmatch("([^%s]+)") do + for playerName in actorName:gmatch("([^%s']+)") do playerName = playerName:gsub(",", "") local playerIsOnRaidCache = Details.tabela_vigente.raid_roster[playerName] if (playerIsOnRaidCache) then diff --git a/core/parser.lua b/core/parser.lua index ac44001c..87d1748e 100755 --- a/core/parser.lua +++ b/core/parser.lua @@ -184,11 +184,12 @@ --constants local container_misc = Details.container_type.CONTAINER_MISC_CLASS - local OBJECT_TYPE_ENEMY = 0x00000040 - local OBJECT_TYPE_PLAYER = 0x00000400 - local OBJECT_TYPE_PETS = 0x00003000 - local AFFILIATION_GROUP = 0x00000007 - local REACTION_FRIENDLY = 0x00000010 + local OBJECT_TYPE_ENEMY = 0x00000040 + local OBJECT_TYPE_PLAYER = 0x00000400 + local OBJECT_TYPE_PETS = 0x00003000 + local OBJECT_TYPE_GUARDIAN = 0x00002000 + local AFFILIATION_GROUP = 0x00000007 + local REACTION_FRIENDLY = 0x00000010 local ENVIRONMENTAL_FALLING_NAME = Loc ["STRING_ENVIRONMENTAL_FALLING"] local ENVIRONMENTAL_DROWNING_NAME = Loc ["STRING_ENVIRONMENTAL_DROWNING"] @@ -445,7 +446,7 @@ function parser:spell_dmg(token, time, sourceSerial, sourceName, sourceFlags, targetSerial, targetName, targetFlags, targetRaidFlags, spellId, spellName, spellType, amount, overkill, school, resisted, blocked, absorbed, critical, glacing, crushing, isoffhand, isreflected) --early checks and fixes if (sourceSerial == "") then - if (sourceFlags and bitBand(sourceFlags, OBJECT_TYPE_PETS) ~= 0) then + if (sourceFlags and (bitBand(sourceFlags, OBJECT_TYPE_PETS) ~= 0 or bitBand(sourceFlags, OBJECT_TYPE_GUARDIAN) ~= 0)) then --pets must have a serial return end @@ -1650,7 +1651,7 @@ end local npcId = GetCreatureIDFromGUID(petSerial) - if bitBand(sourceFlags, OBJECT_TYPE_PETS) ~= 0 then + if bitBand(sourceFlags, OBJECT_TYPE_PETS) ~= 0 or bitBand(sourceFlags, OBJECT_TYPE_GUARDIAN) ~= 0 then if sub_pet_ids[npcId] then C_Timer.After(0.1, function() parser:summon(token, time, sourceSerial, sourceName, sourceFlags, petSerial, petName, petFlags, petRaidFlags, spellId, spellName) @@ -1803,7 +1804,7 @@ --check invalid serial against pets if (sourceSerial == "") then - if (sourceFlags and bitBand(sourceFlags, OBJECT_TYPE_PETS) ~= 0) then --is pet + if (sourceFlags and (bitBand(sourceFlags, OBJECT_TYPE_PETS) ~= 0) or bitBand(sourceFlags, OBJECT_TYPE_GUARDIAN) ~= 0) then --is pet return end end @@ -1918,7 +1919,7 @@ --check invalid serial against pets if (sourceSerial == "") then - if (sourceFlags and bitBand(sourceFlags, OBJECT_TYPE_PETS) ~= 0) then + if (sourceFlags and (bitBand(sourceFlags, OBJECT_TYPE_PETS) ~= 0 or bitBand(sourceFlags, OBJECT_TYPE_GUARDIAN) ~= 0)) then --it's a pet without a serial number, ignore return end