Necrotic wake weapons
This commit is contained in:
@@ -242,11 +242,18 @@
|
||||
novo_objeto.displayName = nome
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
if (_detalhes.all_players_are_group or _detalhes.immersion_enabled) then
|
||||
novo_objeto.grupo = true
|
||||
end
|
||||
|
||||
--special spells to add into the group view
|
||||
local spellId = Details.NoOverallSpellNames[novo_objeto.nome]
|
||||
if (spellId) then
|
||||
novo_objeto.grupo = true
|
||||
novo_objeto.spellicon = GetSpellTexture(spellId)
|
||||
end
|
||||
|
||||
if ((_bit_band (flag, IS_GROUP_OBJECT) ~= 0 and novo_objeto.classe ~= "UNKNOW" and novo_objeto.classe ~= "UNGROUPPLAYER") or _detalhes:IsInCache (serial)) then
|
||||
novo_objeto.grupo = true
|
||||
|
||||
|
||||
+50
-11
@@ -13,7 +13,6 @@
|
||||
local _UnitAffectingCombat = UnitAffectingCombat --wow api local
|
||||
local _UnitHealth = UnitHealth --wow api local
|
||||
local _UnitHealthMax = UnitHealthMax --wow api local
|
||||
local _UnitIsFeignDeath = UnitIsFeignDeath --wow api local
|
||||
local _UnitGUID = UnitGUID --wow api local
|
||||
local _IsInRaid = IsInRaid --wow api local
|
||||
local _IsInGroup = IsInGroup --wow api local
|
||||
@@ -150,7 +149,7 @@
|
||||
army = {},
|
||||
apoc = {},
|
||||
}
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> constants
|
||||
local container_misc = _detalhes.container_type.CONTAINER_MISC_CLASS
|
||||
@@ -237,11 +236,11 @@
|
||||
[228361] = 228360, --shadow priest void erruption
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
local bitfield_debuffs_ids = _detalhes.BitfieldSwapDebuffsIDs
|
||||
local bitfield_debuffs = {}
|
||||
for _, spellid in ipairs (bitfield_debuffs_ids) do
|
||||
local spellname = GetSpellInfo (spellid)
|
||||
local spellname = GetSpellInfo(spellid)
|
||||
if (spellname) then
|
||||
bitfield_debuffs [spellname] = true
|
||||
else
|
||||
@@ -325,8 +324,7 @@
|
||||
ignore_spikeballs = 0,
|
||||
}
|
||||
|
||||
local NPCID_KELTHUZAD_FROSTBOUNDDEVOTED = 176703
|
||||
local NPCID_KELTHUZAD_ADDMIMICPLAYERS = 176605
|
||||
local NPCID_KELTHUZAD_ADDMIMICPLAYERS = 176605
|
||||
|
||||
--> damage spells to ignore
|
||||
local damage_spells_to_ignore = {
|
||||
@@ -399,6 +397,36 @@
|
||||
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,
|
||||
}
|
||||
|
||||
--expose the table for scripts modify it
|
||||
Details.NoOverallSpells = no_overall_spells
|
||||
|
||||
--create a table with spell names which need to be converted into actors
|
||||
local sanguineHealSpellName = GetSpellInfo(SPELLID_SANGUINE_HEAL)
|
||||
Details.NoOverallSpellNames = {
|
||||
[sanguineHealSpellName] = true
|
||||
}
|
||||
|
||||
for spellId in pairs(no_overall_spells) do
|
||||
local spellName = GetSpellInfo(spellId)
|
||||
if (spellName) then
|
||||
Details.NoOverallSpellNames[spellName] = spellId
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> internal functions
|
||||
|
||||
@@ -549,6 +577,13 @@
|
||||
-- return
|
||||
--end
|
||||
|
||||
--sanguine ichor mythic dungeon affix (heal enemies)
|
||||
if (no_overall_spells[spellid]) then
|
||||
who_name = GetSpellInfo(spellid)
|
||||
who_flags = 0x518
|
||||
who_serial = "Creature-0-3134-2289-28065-" .. spellid .. "-000164C698"
|
||||
end
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
--> spell reflection
|
||||
if (who_serial == alvo_serial and not reflection_ignore[spellid]) then --~reflect
|
||||
@@ -634,7 +669,7 @@
|
||||
return
|
||||
end
|
||||
|
||||
if (npcId == NPCID_KELTHUZAD_FROSTBOUNDDEVOTED) then --remove on 10.0
|
||||
if (npcId == 176703) then --remove on 10.0 --kelthuzad
|
||||
alvo_flags = 0xa48
|
||||
end
|
||||
|
||||
@@ -728,7 +763,7 @@
|
||||
return
|
||||
end
|
||||
|
||||
if (npcId == NPCID_KELTHUZAD_FROSTBOUNDDEVOTED) then --remove on 10.0
|
||||
if (npcId == 176703) then --remove on 10.0 --kelthuzad
|
||||
who_flags = 0xa48
|
||||
end
|
||||
if (npcId == NPCID_KELTHUZAD_ADDMIMICPLAYERS) then --remove on 10.0
|
||||
@@ -853,7 +888,11 @@
|
||||
if (not este_jogador) then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
if (no_overall_spells[spellid]) then
|
||||
este_jogador.grupo = true
|
||||
end
|
||||
|
||||
--> his target
|
||||
local jogador_alvo, alvo_dono = damage_cache [alvo_serial] or damage_cache_pets [alvo_serial] or damage_cache [alvo_name], damage_cache_petsOwners [alvo_serial]
|
||||
|
||||
@@ -1742,7 +1781,7 @@
|
||||
local npcId = _tonumber(_select (6, _strsplit ("-", alvo_serial)) or 0)
|
||||
|
||||
--kel'thuzad encounter --remove on 10.0
|
||||
if (npcId == NPCID_KELTHUZAD_FROSTBOUNDDEVOTED) then
|
||||
if (npcId == 176703) then --kelthuzad
|
||||
return
|
||||
elseif (spellid == 358108) then --Restore Health
|
||||
return
|
||||
@@ -4101,7 +4140,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
_current_combat.frags_need_refresh = true
|
||||
|
||||
--> player death
|
||||
elseif (not _UnitIsFeignDeath (alvo_name)) then
|
||||
elseif (not UnitIsFeignDeath (alvo_name)) then
|
||||
if (
|
||||
--> player in your group
|
||||
(_bit_band (alvo_flags, AFFILIATION_GROUP) ~= 0 or (damageActor and damageActor.grupo)) and
|
||||
|
||||
@@ -246,18 +246,18 @@ function _detalhes:AbreJanelaInfo (jogador, from_att_change, refresh, ShiftKeyDo
|
||||
Details:UpdateBreakdownPlayerList()
|
||||
|
||||
--check which tab was selected and reopen that tab
|
||||
if (info.selectedTab == "Summary") then
|
||||
return jogador:MontaInfo()
|
||||
else
|
||||
--open tab
|
||||
for index = 1, #_detalhes.player_details_tabs do
|
||||
local tab = _detalhes.player_details_tabs [index]
|
||||
if (tab:condition (info.jogador, info.atributo, info.sub_atributo)) then
|
||||
if (tab.tabname == info.selectedTab) then
|
||||
--_detalhes.player_details_tabs [index]:Click()
|
||||
--_detalhes.player_details_tabs [index].onclick()
|
||||
_detalhes.player_details_tabs [index]:OnShowFunc()
|
||||
end
|
||||
-- if (info.selectedTab == "Summary") then
|
||||
-- return jogador:MontaInfo()
|
||||
-- else
|
||||
|
||||
--open tab
|
||||
for index = 1, #_detalhes.player_details_tabs do
|
||||
local tab = _detalhes.player_details_tabs [index]
|
||||
if (tab:condition (info.jogador, info.atributo, info.sub_atributo)) then
|
||||
if (tab.tabname == info.selectedTab) then
|
||||
--_detalhes.player_details_tabs [index]:Click()
|
||||
--_detalhes.player_details_tabs [index].onclick()
|
||||
_detalhes.player_details_tabs [index]:OnShowFunc()
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1493,8 +1493,11 @@ local elvui_skin = function()
|
||||
|
||||
--class icon
|
||||
window.SetClassIcon = function (player, class)
|
||||
if (player.spellicon) then
|
||||
window.classe_icone:SetTexture(player.spellicon)
|
||||
window.classe_icone:SetTexCoord(.1, .9, .1, .9)
|
||||
|
||||
if (player.spec) then
|
||||
elseif (player.spec) then
|
||||
window.classe_icone:SetTexture ([[Interface\AddOns\Details\images\spec_icons_normal_alpha]])
|
||||
window.classe_icone:SetTexCoord (_unpack (_detalhes.class_specs_coords [player.spec]))
|
||||
--esta_barra.icone_classe:SetVertexColor (1, 1, 1)
|
||||
|
||||
@@ -58,9 +58,8 @@
|
||||
self.specIcon:SetBlendMode("BLEND")
|
||||
self.roleIcon:SetBlendMode("BLEND")
|
||||
end
|
||||
|
||||
local updatePlayerLine = function(self, topResult)
|
||||
|
||||
local updatePlayerLine = function(self, topResult)
|
||||
local playerSelected = Details:GetPlayerObjectFromBreakdownWindow()
|
||||
if (playerSelected and playerSelected == self.playerObject) then
|
||||
self:SetBackdropColor(unpack(scrollbox_line_backdrop_color_selected))
|
||||
@@ -69,22 +68,29 @@
|
||||
self:SetBackdropColor(unpack(scrollbox_line_backdrop_color))
|
||||
self.isSelected = nil
|
||||
end
|
||||
|
||||
--adjust the player icon
|
||||
local specIcon, L, R, T, B = Details:GetSpecIcon(self.playerObject.spec, false)
|
||||
local specId, specName, specDescription, specIconId, specRole, specClass
|
||||
|
||||
if (specIcon) then
|
||||
self.specIcon:SetTexture(specIcon)
|
||||
self.specIcon:SetTexCoord(L, R, T, B)
|
||||
|
||||
if (DetailsFramework.IsTimewalkWoW()) then
|
||||
specRole = "NONE"
|
||||
else
|
||||
specId, specName, specDescription, specIconId, specRole, specClass = _G.GetSpecializationInfoByID(self.playerObject.spec)
|
||||
end
|
||||
local specRole
|
||||
|
||||
--adjust the player icon
|
||||
if (self.playerObject.spellicon) then
|
||||
self.specIcon:SetTexture(self.playerObject.spellicon)
|
||||
self.specIcon:SetTexCoord(.1, .9, .1, .9)
|
||||
else
|
||||
self.specIcon:SetTexture(nil)
|
||||
local specIcon, L, R, T, B = Details:GetSpecIcon(self.playerObject.spec, false)
|
||||
local specId, specName, specDescription, specIconId, specClass
|
||||
|
||||
if (specIcon) then
|
||||
self.specIcon:SetTexture(specIcon)
|
||||
self.specIcon:SetTexCoord(L, R, T, B)
|
||||
|
||||
if (DetailsFramework.IsTimewalkWoW()) then
|
||||
specRole = "NONE"
|
||||
else
|
||||
specId, specName, specDescription, specIconId, specRole, specClass = _G.GetSpecializationInfoByID(self.playerObject.spec)
|
||||
end
|
||||
else
|
||||
self.specIcon:SetTexture(nil)
|
||||
end
|
||||
end
|
||||
|
||||
--adjust the role icon
|
||||
|
||||
Reference in New Issue
Block a user