diff --git a/boot.lua b/boot.lua index fcd34ca1..6db42688 100644 --- a/boot.lua +++ b/boot.lua @@ -219,7 +219,6 @@ do _detalhes.InstancesToStoreData = { --mapId [2296] = true, --castle narnia [2450] = true, --sanctum of domination - [2450] = true, } --> armazena os escudos - Shields information for absorbs diff --git a/classes/class_damage.lua b/classes/class_damage.lua index c9ec6bea..4b3473b4 100644 --- a/classes/class_damage.lua +++ b/classes/class_damage.lua @@ -326,12 +326,15 @@ end return table1 [4] < table2 [4] end - + --[[exported]] function Details:GetBarColor (actor) actor = actor or self if (actor.monster) then return _unpack (Details.class_colors.ENEMY) + elseif (actor.customColor) then + return unpack(actor.customColor) + elseif (actor.spellicon) then return 0.729, 0.917, 1 diff --git a/classes/container_actors.lua b/classes/container_actors.lua index 3402d958..62b32adb 100644 --- a/classes/container_actors.lua +++ b/classes/container_actors.lua @@ -248,10 +248,19 @@ end --special spells to add into the group view - local spellId = Details.NoOverallSpellNames[novo_objeto.nome] + local spellId = Details.SpecialSpellActorsName[novo_objeto.nome] if (spellId) then novo_objeto.grupo = true - novo_objeto.spellicon = GetSpellTexture(spellId) + + if (Details.KyrianWeaponSpellIds[spellId]) then + novo_objeto.spellicon = GetSpellTexture(Details.KyrianWeaponActorSpellId) + novo_objeto.nome = Details.KyrianWeaponActorName + novo_objeto.displayName = Details.KyrianWeaponActorName + novo_objeto.customColor = Details.KyrianWeaponColor + nome = Details.KyrianWeaponActorName + else + novo_objeto.spellicon = GetSpellTexture(spellId) + end end if ((_bit_band (flag, IS_GROUP_OBJECT) ~= 0 and novo_objeto.classe ~= "UNKNOW" and novo_objeto.classe ~= "UNGROUPPLAYER") or _detalhes:IsInCache (serial)) then diff --git a/core/parser.lua b/core/parser.lua index ad5abd01..b8fe8b93 100755 --- a/core/parser.lua +++ b/core/parser.lua @@ -258,7 +258,12 @@ _detalhes.OverridedSpellIds = override_spellId --> list of ignored npcs by the user - local ignored_npcids = {} + local ignored_npcids = { + --necrotic wake --remove on 10.0 + [163126] = true, --brittlebone mage + [163122] = true, --brittlebone warrior + [166079] = true, --brittlebone crossbowman + } --> ignore soul link (damage from the warlock on his pet - current to demonology only) local SPELLID_WARLOCK_SOULLINK = 108446 @@ -397,32 +402,33 @@ local _auto_regen_thread local AUTO_REGEN_PRECISION = 2 - - --> store the spells which cannot be added to overall data - local no_overall_spells = { - [344421] = true, - [328351] = true, - [328406] = true, - [328128] = true, - [333641] = true, - [333227] = true, - [333250] = true, - --[] = true, + --kyrian weapons on necrotic wake --remove on 10.0 + --these detect the kyrial weapon actor by the damage spellId + Details.KyrianWeaponSpellIds = { + [328128] = true, --Forgotten Forgehammer + [328351] = true, --Bloody Javelin + [328406] = true, --Discharged Anima + [344421] = true, --Anima Exhaust (goliaths) } + Details.KyrianWeaponActorName = "Kyrian Weapons" + Details.KyrianWeaponActorSpellId = 328351 --for the icon + Details.KyrianWeaponColor = {0.729, 0.917, 1} --color - --expose the table for scripts modify it - Details.NoOverallSpells = no_overall_spells + --sanguine affix for m+ + Details.SanguineHealActorName = GetSpellInfo(SPELLID_SANGUINE_HEAL) - --create a table with spell names which need to be converted into actors - local sanguineHealSpellName = GetSpellInfo(SPELLID_SANGUINE_HEAL) - Details.NoOverallSpellNames = { - [sanguineHealSpellName] = true - } + --create a table with spell names pointing to spellIds + Details.SpecialSpellActorsName = {} - for spellId in pairs(no_overall_spells) do + --add sanguine affix + Details.SpecialSpellActorsName[Details.SanguineHealActorName] = SPELLID_SANGUINE_HEAL + + --add kyrian weapons + Details.SpecialSpellActorsName[Details.KyrianWeaponActorName] = Details.KyrianWeaponActorSpellId + for spellId in pairs(Details.KyrianWeaponSpellIds) do local spellName = GetSpellInfo(spellId) if (spellName) then - Details.NoOverallSpellNames[spellName] = spellId + Details.SpecialSpellActorsName[spellName] = spellId end end @@ -577,10 +583,10 @@ -- return --end - --sanguine ichor mythic dungeon affix (heal enemies) - if (no_overall_spells[spellid]) then - who_name = GetSpellInfo(spellid) - who_flags = 0x518 + --kyrian weapons + if (Details.KyrianWeaponSpellIds[spellid]) then + who_name = Details.KyrianWeaponActorName + who_flags = 0x514 who_serial = "Creature-0-3134-2289-28065-" .. spellid .. "-000164C698" end @@ -868,6 +874,7 @@ if (who_flags) then --> ter certeza que n�o � um pet if (who_serial ~= "") then damage_cache [who_serial] = este_jogador + print("adicionando ao cache:", who_name) else if (who_name:find ("%[")) then damage_cache [who_name] = este_jogador @@ -889,7 +896,7 @@ return end - if (no_overall_spells[spellid]) then + if (Details.KyrianWeaponSpellIds[spellid]) then este_jogador.grupo = true end @@ -2025,7 +2032,7 @@ --sanguine ichor mythic dungeon affix (heal enemies) if (spellid == SPELLID_SANGUINE_HEAL) then - who_name = GetSpellInfo(SPELLID_SANGUINE_HEAL) + who_name = Details.SanguineHealActorName who_flags = 0x518 who_serial = "Creature-0-3134-2289-28065-" .. SPELLID_SANGUINE_HEAL .. "-000164C698" end @@ -5885,8 +5892,11 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1 _recording_ability_with_buffs = _detalhes.RecordPlayerAbilityWithBuffs _in_combat = _detalhes.in_combat - --> grab the ignored npcid directly from the user profile - ignored_npcids = _detalhes.npcid_ignored + --> fill the ignored npcid directly from the user profile + --ignored_npcids = _detalhes.npcid_ignored + for npcId in pairs(_detalhes.npcid_ignored) do + ignored_npcids[npcId] = true + end if (_in_combat) then if (not _auto_regen_thread or _auto_regen_thread._cancelled) then diff --git a/frames/window_cdtracker.lua b/frames/window_cdtracker.lua index 9eca760d..6566f480 100644 --- a/frames/window_cdtracker.lua +++ b/frames/window_cdtracker.lua @@ -42,11 +42,15 @@ function Details.CooldownTracking.EnableTracker() Details.ocd_tracker.enabled = true --register callbacks - openRaidLib.RegisterCallback(Details.CooldownTracking, "CooldownListUpdate", "CooldownListUpdateFunc") - openRaidLib.RegisterCallback(Details.CooldownTracking, "CooldownListWiped", "CooldownListWipedFunc") + --openRaidLib.RegisterCallback(Details.CooldownTracking, "CooldownListUpdate", "CooldownListUpdateFunc") --nao tem + --openRaidLib.RegisterCallback(Details.CooldownTracking, "CooldownListWiped", "CooldownListWipedFunc") --nao tem + + --openRaidLib.RegisterCallback(Details.CooldownTracking, "CooldownListUpdate", "CooldownUpdateFunc") + --openRaidLib.RegisterCallback(Details.CooldownTracking, "CooldownListWiped", "CooldownUpdateFunc") + openRaidLib.RegisterCallback(Details.CooldownTracking, "CooldownUpdate", "CooldownUpdateFunc") - --Details.CooldownTracking.RefreshCooldownFrames() + Details.CooldownTracking.RefreshCooldownFrames() end function Details.CooldownTracking.DisableTracker() @@ -314,45 +318,7 @@ function Details.CooldownTracking.RefreshCooldowns() end end - --[=[]] - - local cooldownIndex = 1 - - for classId = 1, 12 do --12 classes - local t = cooldownsOrganized[classId] - for i = 1, #t do - local bar = screenPanel.bars[cooldownIndex] - cooldownIndex = cooldownIndex + 1 - bar:Show() - local cooldownTable = t[i] - - local classColor = C_ClassColor.GetClassColor(cooldownTable[6]) - bar:SetStatusBarColor(classColor.r, classColor.g, classColor.b) - - local spellNameDebug, _, spellIcon = GetSpellInfo(cooldownTable[5]) - bar:SetIcon(spellIcon, .1, .9, .1, .9) - bar:SetLeftText(DF:RemoveRealmName(cooldownTable[1])) - - local timeLeft = cooldownTable[2] - if (timeLeft > 0) then - bar.spellId = cooldownTable[5] - bar:SetTimer(timeLeft) - --print("timeLeft:", timeLeft, spellNameDebug) - else - bar:SetMinMaxValues(0, 100) - bar:SetTimer(0) - --print(spellNameDebug) - C_Timer.After(1, function() - -- bar:SetMinMaxValues(0, 100) - -- bar:SetTimer(0) - end) - end - end - end - --]=] - cooldownIndex = cooldownIndex - 1 - print("total frames:", cooldownIndex) local xAnchor = 1 local defaultY = 0