From 6cfb1a71c457ce8d5099d4619de6878c1e08189b Mon Sep 17 00:00:00 2001 From: Tercio Date: Wed, 10 Oct 2018 23:01:37 -0300 Subject: [PATCH] - Fixing the pvp issue introduced in the previous build. --- Libs/DF/cooltip.lua | 9 +++++---- Libs/DF/fw.lua | 2 +- boot.lua | 2 +- core/parser.lua | 47 ++++++++++++++++++++++++++++++++++++--------- 4 files changed, 45 insertions(+), 15 deletions(-) diff --git a/Libs/DF/cooltip.lua b/Libs/DF/cooltip.lua index a940d959..48891089 100644 --- a/Libs/DF/cooltip.lua +++ b/Libs/DF/cooltip.lua @@ -876,7 +876,7 @@ function DF:CreateCoolTip() local func = CoolTip.FunctionsTableMain [self.index] --> passing nil as the first parameter was a design mistake --CoolTip.FunctionsTableMain [self.index] (_, CoolTip.FixedValue, parameterTable [1], parameterTable [2], parameterTable [3], button) - local okay, errortext = pcall (func, nil, CoolTip.FixedValue, parameterTable [1], parameterTable [2], parameterTable [3], button) + local okay, errortext = pcall (func, CoolTip.Host, CoolTip.FixedValue, parameterTable [1], parameterTable [2], parameterTable [3], button) if (not okay) then print ("Cooltip OnClick Error:", errortext) end @@ -892,7 +892,7 @@ function DF:CreateCoolTip() local parameterTable = CoolTip.ParametersTableSub [self.mainIndex] [self.index] local func = CoolTip.FunctionsTableSub [self.mainIndex] [self.index] --CoolTip.FunctionsTableSub [self.mainIndex] [self.index] (_, CoolTip.FixedValue, parameterTable [1], parameterTable [2], parameterTable [3], button) - local okay, errortext = pcall (func, nil, CoolTip.FixedValue, parameterTable [1], parameterTable [2], parameterTable [3], button) + local okay, errortext = pcall (func, CoolTip.Host, CoolTip.FixedValue, parameterTable [1], parameterTable [2], parameterTable [3], button) if (not okay) then print ("Cooltip OnClick Error:", errortext) end @@ -2436,7 +2436,7 @@ function DF:CreateCoolTip() if (CoolTip.SubIndexes == 0) then if (not indexUp or not leftText) then - print ("not indexUp or not leftText") + print ("GameCooltip Error: Attempt to add a submenu with a parent") return --> error end end @@ -2444,8 +2444,9 @@ function DF:CreateCoolTip() if (indexUp and leftText) then CoolTip.SubIndexes = CoolTip.SubIndexes + 1 CoolTip.IndexesSub [CoolTip.Indexes] = CoolTip.IndexesSub [CoolTip.Indexes] + 1 + elseif (indexUp and not leftText) then - print ("indexUp and not leftText") + print ("GameCooltip Error: Attempt to add a submenu with a parent") return --> error [leftText can't be nil if indexUp are true] end diff --git a/Libs/DF/fw.lua b/Libs/DF/fw.lua index af5de8da..68ae5741 100644 --- a/Libs/DF/fw.lua +++ b/Libs/DF/fw.lua @@ -1,5 +1,5 @@ -local dversion = 113 +local dversion = 114 local major, minor = "DetailsFramework-1.0", dversion local DF, oldminor = LibStub:NewLibrary (major, minor) diff --git a/boot.lua b/boot.lua index 18c17645..fc6f537d 100644 --- a/boot.lua +++ b/boot.lua @@ -3,7 +3,7 @@ _ = nil _detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0") - _detalhes.build_counter = 6558 + _detalhes.build_counter = 6561 _detalhes.userversion = "v8.0.1." .. _detalhes.build_counter _detalhes.realversion = 135 --core version _detalhes.APIVersion = _detalhes.realversion --core version diff --git a/core/parser.lua b/core/parser.lua index 64d02fbd..a8e9f78c 100644 --- a/core/parser.lua +++ b/core/parser.lua @@ -228,7 +228,10 @@ --> deathlog local _death_event_amt = 16 - + + --> map type + local _is_in_instance = false + --> hooks local _hook_cooldowns = false local _hook_deaths = false @@ -743,16 +746,26 @@ ------------------------------------------------------------------------------------------------ --> firendly fire ~friendlyfire local is_friendly_fire = false - if (bitfield_swap_cache [who_serial] or meu_dono and bitfield_swap_cache [meu_dono.serial]) then - if (jogador_alvo.grupo or alvo_dono and alvo_dono.grupo) then - is_friendly_fire = true - end - else - if (bitfield_swap_cache [alvo_serial] or alvo_dono and bitfield_swap_cache [alvo_dono.serial]) then - else - if ((jogador_alvo.grupo or alvo_dono and alvo_dono.grupo) and (este_jogador.grupo or meu_dono and meu_dono.grupo)) then + + if (_is_in_instance) then + if (bitfield_swap_cache [who_serial] or meu_dono and bitfield_swap_cache [meu_dono.serial]) then + if (jogador_alvo.grupo or alvo_dono and alvo_dono.grupo) then is_friendly_fire = true end + else + if (bitfield_swap_cache [alvo_serial] or alvo_dono and bitfield_swap_cache [alvo_dono.serial]) then + else + if ((jogador_alvo.grupo or alvo_dono and alvo_dono.grupo) and (este_jogador.grupo or meu_dono and meu_dono.grupo)) then + is_friendly_fire = true + end + end + end + else + if ( + (_bit_band (alvo_flags, REACTION_FRIENDLY) ~= 0 and _bit_band (who_flags, REACTION_FRIENDLY) ~= 0) or --ajdt d' brx + (raid_members_cache [alvo_serial] and raid_members_cache [who_serial] and alvo_serial:find ("Player") and who_serial:find ("Player")) --amrl + ) then + is_friendly_fire = true end end @@ -3922,6 +3935,12 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1 parser:WipeSourceCache() + _is_in_instance = false + + if (zoneType == "party" or zoneType == "raid") then + _is_in_instance = true + end + if (_detalhes.last_zone_type ~= zoneType) then _detalhes:SendEvent ("ZONE_TYPE_CHANGED", nil, zoneType) _detalhes.last_zone_type = zoneType @@ -5131,6 +5150,11 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1 actor = _current_damage_container:PegarCombatente (guid, name, flag, true) actor.total = _detalhes:GetOrderNumber() actor.classe = classToken or "UNKNOW" + + if (flag == 0x548) then + --oponent + actor.enemy = true + end end end @@ -5155,6 +5179,11 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1 actor = _current_heal_container:PegarCombatente (guid, name, flag, true) actor.total = _detalhes:GetOrderNumber() actor.classe = classToken or "UNKNOW" + + if (flag == 0x548) then + --oponent + actor.enemy = true + end end end