Initial WoW Classic Support

First pass of changes to make Details! compatible with WoW Classic.
This commit is contained in:
Tercioo
2019-05-23 15:13:42 -03:00
parent 24dde5130c
commit 643d25bb91
30 changed files with 517 additions and 364 deletions
+1
View File
@@ -14,3 +14,4 @@ Libs/DF/cooltip_background.blp
Libs/DF/feedback_sites.blp Libs/DF/feedback_sites.blp
Libs/DF/icons.blp Libs/DF/icons.blp
Libs/DF/mail.blp Libs/DF/mail.blp
plugins/Details_EncounterDetails/images/boss_icons.png
+93 -5
View File
@@ -1,5 +1,5 @@
local dversion = 149 local dversion = 151
local major, minor = "DetailsFramework-1.0", dversion local major, minor = "DetailsFramework-1.0", dversion
local DF, oldminor = LibStub:NewLibrary (major, minor) local DF, oldminor = LibStub:NewLibrary (major, minor)
@@ -25,6 +25,94 @@ DF.AuthorInfo = {
Discord = "https://discord.gg/AGSzAZX", Discord = "https://discord.gg/AGSzAZX",
} }
if (not PixelUtil) then
--check if is in classic wow, if it is, build a replacement for PixelUtil
local gameVersion = GetBuildInfo()
if (gameVersion:match("%d") == "1") then
PixelUtil = {
SetWidth = function (self, width) self:SetWidth (width) end,
SetHeight = function (self, height) self:SetHeight (height) end,
SetSize = function (self, width, height) self:SetSize (width, height) end,
SetPoint = function (self, ...) self:SetPoint (...) end,
}
end
end
function DF.IsClassicWow()
local gameVersion = GetBuildInfo()
if (gameVersion:match ("%d") == "1") then
return true
end
return false
end
function DF.UnitGroupRolesAssigned (unitId)
if (UnitGroupRolesAssigned) then
return UnitGroupRolesAssigned (unitId)
else
--attempt to guess the role by the player spec
--at the moment just return none
return "NONE"
end
end
--return the specialization of the player it self
function DF.GetSpecialization()
if (GetSpecialization) then
return GetSpecialization()
end
return nil
end
function DF.GetSpecializationInfoByID (...)
if (GetSpecializationInfoByID) then
return GetSpecializationInfoByID (...)
end
return nil
end
function DF.GetSpecializationInfo (...)
if (GetSpecializationInfo) then
return GetSpecializationInfo (...)
end
return nil
end
function DF.GetSpecializationRole (...)
if (GetSpecializationRole) then
return GetSpecializationRole (...)
end
return nil
end
--build dummy encounter journal functions if they doesn't exists
--this is done for compatibility with classic and if in the future EJ_ functions are moved to C_
DF.EncounterJournal = {
EJ_GetCurrentInstance = EJ_GetCurrentInstance or function() return nil end,
EJ_GetInstanceForMap = EJ_GetInstanceForMap or function() return nil end,
EJ_GetInstanceInfo = EJ_GetInstanceInfo or function() return nil end,
EJ_SelectInstance = EJ_SelectInstance or function() return nil end,
EJ_GetEncounterInfoByIndex = EJ_GetEncounterInfoByIndex or function() return nil end,
EJ_GetEncounterInfo = EJ_GetEncounterInfo or function() return nil end,
EJ_SelectEncounter = EJ_SelectEncounter or function() return nil end,
EJ_GetSectionInfo = EJ_GetSectionInfo or function() return nil end,
EJ_GetCreatureInfo = EJ_GetCreatureInfo or function() return nil end,
EJ_SetDifficulty = EJ_SetDifficulty or function() return nil end,
EJ_GetNumLoot = EJ_GetNumLoot or function() return 0 end,
EJ_GetLootInfoByIndex = EJ_GetLootInfoByIndex or function() return nil end,
}
if (not EJ_GetCurrentInstance) then
end
--> will always give a very random name for our widgets --> will always give a very random name for our widgets
local init_counter = math.random (1, 1000000) local init_counter = math.random (1, 1000000)
@@ -2496,9 +2584,9 @@ function DF:ReskinSlider (slider, heightOffset)
end end
function DF:GetCurrentSpec() function DF:GetCurrentSpec()
local specIndex = GetSpecialization() local specIndex = DF.GetSpecialization()
if (specIndex) then if (specIndex) then
local specID = GetSpecializationInfo (specIndex) local specID = DF.GetSpecializationInfo (specIndex)
if (specID and specID ~= 0) then if (specID and specID ~= 0) then
return specID return specID
end end
@@ -2786,8 +2874,8 @@ DF.CLEncounterID = {
function DF:GetPlayerRole() function DF:GetPlayerRole()
local assignedRole = UnitGroupRolesAssigned ("player") local assignedRole = UnitGroupRolesAssigned ("player")
if (assignedRole == "NONE") then if (assignedRole == "NONE") then
local spec = GetSpecialization() local spec = DF.GetSpecialization()
return spec and GetSpecializationRole (spec) or "NONE" return spec and DF.GetSpecializationRole (spec) or "NONE"
end end
return assignedRole return assignedRole
end end
+14 -12
View File
@@ -14,6 +14,8 @@ local _type = type --> lua local
local _math_floor = math.floor --> lua local local _math_floor = math.floor --> lua local
local loadstring = loadstring --> lua local local loadstring = loadstring --> lua local
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
local cleanfunction = function() end local cleanfunction = function() end
local APIFrameFunctions local APIFrameFunctions
@@ -4459,7 +4461,7 @@ function DF:CreateKeybindBox (parent, name, data, callback, width, height, line_
for index, specId in ipairs (specIds) do for index, specId in ipairs (specIds) do
local button = new_keybind_frame ["SpecButton" .. index] local button = new_keybind_frame ["SpecButton" .. index]
local spec_id, spec_name, spec_description, spec_icon, spec_background, spec_role, spec_class = GetSpecializationInfoByID (specId) local spec_id, spec_name, spec_description, spec_icon, spec_background, spec_role, spec_class = DetailsFramework.GetSpecializationInfoByID (specId)
button.text = spec_name button.text = spec_name
button:SetClickFunction (switch_spec, specId) button:SetClickFunction (switch_spec, specId)
button:SetIcon (spec_icon) button:SetIcon (spec_icon)
@@ -4584,9 +4586,9 @@ function DF:CreateKeybindBox (parent, name, data, callback, width, height, line_
if (type (dispel) == "table") then if (type (dispel) == "table") then
local dispelString = "\n" local dispelString = "\n"
for specID, spellid in pairs (dispel) do for specID, spellid in pairs (dispel) do
local specid, specName = GetSpecializationInfoByID (specID) local specid, specName = DetailsFramework.GetSpecializationInfoByID (specID)
local spellName = GetSpellInfo (spellid) local spellName = GetSpellInfo (spellid)
dispelString = dispelString .. "|cFFE5E5E5" .. specName .. "|r: |cFFFFFFFF" .. spellName .. "\n" dispelString = dispelString .. "|cFFE5E5E5" .. (specName or "") .. "|r: |cFFFFFFFF" .. spellName .. "\n"
end end
dispel = dispelString dispel = dispelString
else else
@@ -4608,9 +4610,9 @@ function DF:CreateKeybindBox (parent, name, data, callback, width, height, line_
for specID, t in pairs (new_keybind_frame.Data) do for specID, t in pairs (new_keybind_frame.Data) do
if (specID ~= new_keybind_frame.EditingSpec) then if (specID ~= new_keybind_frame.EditingSpec) then
local key = CopyTable (keybind) local key = CopyTable (keybind)
local specid, specName = GetSpecializationInfoByID (specID) local specid, specName = DetailsFramework.GetSpecializationInfoByID (specID)
tinsert (new_keybind_frame.Data [specID], key) tinsert (new_keybind_frame.Data [specID], key)
DF:Msg ("Keybind copied to " .. specName) DF:Msg ("Keybind copied to " .. (specName or ""))
end end
end end
DF:QuickDispatch (callback) DF:QuickDispatch (callback)
@@ -5653,9 +5655,9 @@ function DF:CreateLoadFilterParser (callback)
elseif (event == "PLAYER_ROLES_ASSIGNED") then elseif (event == "PLAYER_ROLES_ASSIGNED") then
local assignedRole = UnitGroupRolesAssigned ("player") local assignedRole = UnitGroupRolesAssigned ("player")
if (assignedRole == "NONE") then if (assignedRole == "NONE") then
local spec = GetSpecialization() local spec = DetailsFramework.GetSpecialization()
if (spec) then if (spec) then
assignedRole = GetSpecializationRole (spec) assignedRole = DetailsFramework.GetSpecializationRole (spec)
end end
end end
@@ -5705,9 +5707,9 @@ function DF:PassLoadFilters (loadTable, encounterID)
end end
if (canCheckTalents) then if (canCheckTalents) then
local specIndex = GetSpecialization() local specIndex = DetailsFramework.GetSpecialization()
if (specIndex) then if (specIndex) then
local specID = GetSpecializationInfo (specIndex) local specID = DetailsFramework.GetSpecializationInfo (specIndex)
if (not loadTable.spec [specID]) then if (not loadTable.spec [specID]) then
return false return false
end end
@@ -5767,9 +5769,9 @@ function DF:PassLoadFilters (loadTable, encounterID)
if (loadTable.role.Enabled) then if (loadTable.role.Enabled) then
local assignedRole = UnitGroupRolesAssigned ("player") local assignedRole = UnitGroupRolesAssigned ("player")
if (assignedRole == "NONE") then if (assignedRole == "NONE") then
local spec = GetSpecialization() local spec = DetailsFramework.GetSpecialization()
if (spec) then if (spec) then
assignedRole = GetSpecializationRole (spec) assignedRole = DetailsFramework.GetSpecializationRole (spec)
end end
end end
if (not loadTable.role [assignedRole]) then if (not loadTable.role [assignedRole]) then
@@ -5927,7 +5929,7 @@ function DF:OpenLoadConditionsPanel (optionsTable, callback, frameOptions)
--create the radio group for character spec --create the radio group for character spec
local specs = {} local specs = {}
for _, specID in ipairs (DF:GetClassSpecIDs (select (2, UnitClass ("player")))) do for _, specID in ipairs (DF:GetClassSpecIDs (select (2, UnitClass ("player")))) do
local specID, specName, specDescription, specIcon, specBackground, specRole, specClass = GetSpecializationInfoByID (specID) local specID, specName, specDescription, specIcon, specBackground, specRole, specClass = DetailsFramework.GetSpecializationInfoByID (specID)
tinsert (specs, { tinsert (specs, {
name = specName, name = specName,
set = f.OnRadioCheckboxClick, set = f.OnRadioCheckboxClick,
+2 -2
View File
@@ -834,8 +834,8 @@ DF.RuneIDs = {
function DF:GetSpellsForEncounterFromJournal (instanceEJID, encounterEJID) function DF:GetSpellsForEncounterFromJournal (instanceEJID, encounterEJID)
EJ_SelectInstance (instanceEJID) DetailsFramework.EncounterJournal.EJ_SelectInstance (instanceEJID)
local name, description, encounterID, rootSectionID, link = EJ_GetEncounterInfo (encounterEJID) --taloc (primeiro boss de Uldir) local name, description, encounterID, rootSectionID, link = DetailsFramework.EncounterJournal.EJ_GetEncounterInfo (encounterEJID) --taloc (primeiro boss de Uldir)
if (not name) then if (not name) then
print ("DetailsFramework: Encounter Info Not Found!", instanceEJID, encounterEJID) print ("DetailsFramework: Encounter Info Not Found!", instanceEJID, encounterEJID)
+1 -1
View File
@@ -16,6 +16,6 @@
<Include file="LibCompress\lib.xml"/> <Include file="LibCompress\lib.xml"/>
<Include file="LibDeflate\lib.xml"/> <Include file="LibDeflate\lib.xml"/>
<Include file="LibItemUpgradeInfo-1.0\LibItemUpgradeInfo-1.0.xml"/> <Include file="LibItemUpgradeInfo-1.0\LibItemUpgradeInfo-1.0.xml"/>
<Include file="LibGroupInSpecT-1.1\lib.xml"/> <!-- <Include file="LibGroupInSpecT-1.1\lib.xml"/> temp disabled due to classic-->
<Include file="DF\load.xml"/> <Include file="DF\load.xml"/>
</Ui> </Ui>
+4 -4
View File
@@ -1920,9 +1920,9 @@
local player local player
local pet_attribute local pet_attribute
local role = UnitGroupRolesAssigned ("player") local role = DetailsFramework.UnitGroupRolesAssigned ("player")
local spec = GetSpecialization() local spec = DetailsFramework.GetSpecialization()
role = spec and GetSpecializationRole (spec) or role role = spec and DetailsFramework.GetSpecializationRole (spec) or role
if (role == "DAMAGER") then if (role == "DAMAGER") then
player = combat (DETAILS_ATTRIBUTE_DAMAGE, _detalhes.playername) player = combat (DETAILS_ATTRIBUTE_DAMAGE, _detalhes.playername)
@@ -1980,7 +1980,7 @@
local GC = GameCooltip local GC = GameCooltip
GC:SetOption ("YSpacingMod", 0) GC:SetOption ("YSpacingMod", 0)
local role = UnitGroupRolesAssigned ("player") local role = DetailsFramework.UnitGroupRolesAssigned ("player")
if (spell.n_dmg) then if (spell.n_dmg) then
+2 -27
View File
@@ -18,7 +18,7 @@ local _GetChannelName = GetChannelName --> wow api locals
local _UnitExists = UnitExists --> wow api locals local _UnitExists = UnitExists --> wow api locals
local _UnitName = UnitName --> wow api locals local _UnitName = UnitName --> wow api locals
local _UnitIsPlayer = UnitIsPlayer --> wow api locals local _UnitIsPlayer = UnitIsPlayer --> wow api locals
local _UnitGroupRolesAssigned = UnitGroupRolesAssigned --> wow api locals local _UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned --> wow api locals
local _detalhes = _G._detalhes local _detalhes = _G._detalhes
local gump = _detalhes.gump local gump = _detalhes.gump
@@ -1284,19 +1284,6 @@ end
--> setup default wallpaper --> setup default wallpaper
new_instance.wallpaper.texture = "Interface\\AddOns\\Details\\images\\background" new_instance.wallpaper.texture = "Interface\\AddOns\\Details\\images\\background"
--[[ 7.1.5 isn't sending the background on the 5� return value ~cleanup
local spec = GetSpecialization()
if (spec) then
local id, name, description, icon, _background, role = GetSpecializationInfo (spec)
if (_background) then
local bg = "Interface\\TALENTFRAME\\" .. _background
if (new_instance.wallpaper) then
new_instance.wallpaper.texture = bg
new_instance.wallpaper.texcoord = {0, 1, 0, 0.703125}
end
end
end
--]]
--> finish --> finish
return new_instance return new_instance
@@ -1315,19 +1302,7 @@ end
new_instance:ResetInstanceConfig() new_instance:ResetInstanceConfig()
--> setup default wallpaper --> setup default wallpaper
new_instance.wallpaper.texture = "Interface\\AddOns\\Details\\images\\background" new_instance.wallpaper.texture = "Interface\\AddOns\\Details\\images\\background"
--[[ 7.1.5 isn't sending the background on the 5� return value ~cleanup
local spec = GetSpecialization()
if (spec) then
local id, name, description, icon, _background, role = GetSpecializationInfo (spec)
if (_background) then
local bg = "Interface\\TALENTFRAME\\" .. _background
if (new_instance.wallpaper) then
new_instance.wallpaper.texture = bg
new_instance.wallpaper.texcoord = {0, 1, 0, 0.703125}
end
end
end
--]]
--> internal stuff --> internal stuff
new_instance.barras = {} --container que ir� armazenar todas as barras new_instance.barras = {} --container que ir� armazenar todas as barras
new_instance.barraS = {nil, nil} --de x at� x s�o as barras que est�o sendo mostradas na tela new_instance.barraS = {nil, nil} --de x at� x s�o as barras que est�o sendo mostradas na tela
+2 -1
View File
@@ -19,6 +19,7 @@
local _pairs = pairs --lua local local _pairs = pairs --lua local
local AddUnique = DetailsFramework.table.addunique --framework local AddUnique = DetailsFramework.table.addunique --framework
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned --framework
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> constants --> constants
@@ -290,7 +291,7 @@
if (name == nome) then if (name == nome) then
local spec = GetArenaOpponentSpec (i) local spec = GetArenaOpponentSpec (i)
if (spec) then if (spec) then
local id, name, description, icon, role, class = GetSpecializationInfoByID (spec) --thanks pas06 local id, name, description, icon, role, class = DetailsFramework.GetSpecializationInfoByID (spec) --thanks pas06
novo_objeto.role = role novo_objeto.role = role
novo_objeto.classe = class novo_objeto.classe = class
novo_objeto.enemy = true novo_objeto.enemy = true
+7 -8
View File
@@ -33,6 +33,8 @@
local atributo_custom = _detalhes.atributo_custom --details local local atributo_custom = _detalhes.atributo_custom --details local
local info = _detalhes.janela_info --details local local info = _detalhes.janela_info --details local
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> constants --> constants
@@ -115,7 +117,7 @@
local mapID = C_Map.GetBestMapForUnit ("player") local mapID = C_Map.GetBestMapForUnit ("player")
local ejid local ejid
if (mapID) then if (mapID) then
ejid = EJ_GetInstanceForMap (mapID) ejid = DetailsFramework.EncounterJournal.EJ_GetInstanceForMap (mapID)
end end
if (not mapID) then if (not mapID) then
@@ -123,7 +125,6 @@
return return
end end
--local ejid = EJ_GetCurrentInstance()
if (ejid == 0) then if (ejid == 0) then
ejid = _detalhes:GetInstanceEJID() ejid = _detalhes:GetInstanceEJID()
end end
@@ -551,9 +552,7 @@
mapID = 0 mapID = 0
end end
local ejid = EJ_GetInstanceForMap (mapID) local ejid = DetailsFramework.EncounterJournal.EJ_GetInstanceForMap (mapID)
--local ejid = EJ_GetCurrentInstance()
if (ejid == 0) then if (ejid == 0) then
ejid = _detalhes:GetInstanceEJID() ejid = _detalhes:GetInstanceEJID()
@@ -575,7 +574,7 @@
end end
--> tag as a mythic dungeon segment, can be any type of segment, this tag also avoid the segment to be tagged as trash --> tag as a mythic dungeon segment, can be any type of segment, this tag also avoid the segment to be tagged as trash
local mythicLevel = C_ChallengeMode.GetActiveKeystoneInfo() local mythicLevel = C_ChallengeMode and C_ChallengeMode.GetActiveKeystoneInfo()
if (mythicLevel and mythicLevel >= 2) then if (mythicLevel and mythicLevel >= 2) then
_detalhes.tabela_vigente.is_mythic_dungeon_segment = true _detalhes.tabela_vigente.is_mythic_dungeon_segment = true
_detalhes.tabela_vigente.is_mythic_dungeon_run_id = _detalhes.mythic_dungeon_id _detalhes.tabela_vigente.is_mythic_dungeon_run_id = _detalhes.mythic_dungeon_id
@@ -1070,10 +1069,10 @@
return return
end end
local _, playerClass = UnitClass ("player") local _, playerClass = UnitClass ("player")
local specIndex = GetSpecialization() local specIndex = DetailsFramework.GetSpecialization()
local playerSpecID local playerSpecID
if (specIndex) then if (specIndex) then
playerSpecID = GetSpecializationInfo (specIndex) playerSpecID = DetailsFramework.GetSpecializationInfo (specIndex)
end end
if (playerSpecID and playerClass) then if (playerSpecID and playerClass) then
+33 -22
View File
@@ -3,14 +3,21 @@ local Loc = LibStub ("AceLocale-3.0"):GetLocale ( "Details" )
local UnitName = UnitName local UnitName = UnitName
local UnitGUID = UnitGUID local UnitGUID = UnitGUID
local UnitGroupRolesAssigned = UnitGroupRolesAssigned local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
local select = select local select = select
local floor = floor local floor = floor
local GetNumGroupMembers = GetNumGroupMembers local GetNumGroupMembers = GetNumGroupMembers
local ItemUpgradeInfo = LibStub ("LibItemUpgradeInfo-1.0") local ItemUpgradeInfo = LibStub ("LibItemUpgradeInfo-1.0")
local LibGroupInSpecT = LibStub ("LibGroupInSpecT-1.1") --local LibGroupInSpecT = LibStub ("LibGroupInSpecT-1.1") --disabled due to classic wow
--local LibGroupInSpecT = false local ItemUpgradeInfo
local LibGroupInSpecT
if (DetailsFramework.IsClassicWow()) then
ItemUpgradeInfo = false
LibGroupInSpecT = false
end
local storageDebug = false local storageDebug = false
local store_instances = _detalhes.InstancesToStoreData local store_instances = _detalhes.InstancesToStoreData
@@ -423,9 +430,9 @@ function _detalhes:ResetSpecCache (forced)
table.wipe (_detalhes.cached_specs) table.wipe (_detalhes.cached_specs)
if (_detalhes.track_specs) then if (_detalhes.track_specs) then
local my_spec = GetSpecialization() local my_spec = DetailsFramework.GetSpecialization()
if (type (my_spec) == "number") then if (type (my_spec) == "number") then
local spec_number = GetSpecializationInfo (my_spec) local spec_number = DetailsFramework.GetSpecializationInfo (my_spec)
if (type (spec_number) == "number") then if (type (spec_number) == "number") then
local pguid = UnitGUID (_detalhes.playername) local pguid = UnitGUID (_detalhes.playername)
if (pguid) then if (pguid) then
@@ -1793,29 +1800,33 @@ function ilvl_core:CalcItemLevel (unitid, guid, shout)
end end
end end
local spec = GetInspectSpecialization (unitid) local spec
if (spec and spec ~= 0) then local talents = {}
_detalhes.cached_specs [guid] = spec
end if (not DetailsFramework.IsClassicWow()) then
spec = GetInspectSpecialization (unitid)
if (spec and spec ~= 0) then
_detalhes.cached_specs [guid] = spec
end
-------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------
local talents = {} for i = 1, 7 do
for i = 1, 7 do for o = 1, 3 do
for o = 1, 3 do --need to review this in classic
local talentID, name, texture, selected, available = GetTalentInfo (i, o, 1, true, unitid) local talentID, name, texture, selected, available = GetTalentInfo (i, o, 1, true, unitid)
if (selected) then if (selected) then
tinsert (talents, talentID) tinsert (talents, talentID)
break break
end
end end
end end
end
if (talents [1]) then if (talents [1]) then
_detalhes.cached_talents [guid] = talents _detalhes.cached_talents [guid] = talents
--print (UnitName (unitid), "talents:", unpack (talents)) --print (UnitName (unitid), "talents:", unpack (talents))
end
end end
-------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------
if (ilvl_core.forced_inspects [guid]) then if (ilvl_core.forced_inspects [guid]) then
+8 -2
View File
@@ -86,6 +86,12 @@
return return
end end
if (DetailsFramework.IsClassicWow()) then
--average item level doesn't exists
--talent information is very different
return
end
--> check the player level --> check the player level
local playerLevel = UnitLevel ("player") local playerLevel = UnitLevel ("player")
if (not playerLevel) then if (not playerLevel) then
@@ -116,10 +122,10 @@
end end
--> get the spec ID --> get the spec ID
local spec = GetSpecialization() local spec = DetailsFramework.GetSpecialization()
local currentSpec local currentSpec
if (spec) then if (spec) then
local specID = GetSpecializationInfo (spec) local specID = DetailsFramework.GetSpecializationInfo (spec)
if (specID and specID ~= 0) then if (specID and specID ~= 0) then
currentSpec = specID currentSpec = specID
end end
+12 -6
View File
@@ -18,7 +18,7 @@
local _IsInRaid = IsInRaid --wow api local local _IsInRaid = IsInRaid --wow api local
local _IsInGroup = IsInGroup --wow api local local _IsInGroup = IsInGroup --wow api local
local _GetNumGroupMembers = GetNumGroupMembers --wow api local local _GetNumGroupMembers = GetNumGroupMembers --wow api local
local _UnitGroupRolesAssigned = UnitGroupRolesAssigned --wow api local local _UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
local _GetTime = GetTime local _GetTime = GetTime
local _select = select local _select = select
local _UnitBuff = UnitBuff local _UnitBuff = UnitBuff
@@ -361,7 +361,7 @@
else else
local db = _detalhes.GetStorage() local db = _detalhes.GetStorage()
local role = UnitGroupRolesAssigned ("player") local role = _UnitGroupRolesAssigned ("player")
local isDamage = (role == "DAMAGER") or (role == "TANK") --or true local isDamage = (role == "DAMAGER") or (role == "TANK") --or true
local bestRank, encounterTable = _detalhes.storage:GetBestFromPlayer (diff, encounterID, isDamage and "damage" or "healing", _detalhes.playername, true) local bestRank, encounterTable = _detalhes.storage:GetBestFromPlayer (diff, encounterID, isDamage and "damage" or "healing", _detalhes.playername, true)
@@ -4641,9 +4641,15 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
end end
function _detalhes.parser_functions:PLAYER_SPECIALIZATION_CHANGED() function _detalhes.parser_functions:PLAYER_SPECIALIZATION_CHANGED()
local specIndex = GetSpecialization()
--some parts of details! does call this function, check first for past expansions
if (DetailsFramework.IsClassicWow()) then
return
end
local specIndex = DetailsFramework.GetSpecialization()
if (specIndex) then if (specIndex) then
local specID = GetSpecializationInfo (specIndex) local specID = DetailsFramework.GetSpecializationInfo (specIndex)
if (specID and specID ~= 0) then if (specID and specID ~= 0) then
local guid = UnitGUID ("player") local guid = UnitGUID ("player")
if (guid) then if (guid) then
@@ -5191,9 +5197,9 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
if (role == "TANK") then if (role == "TANK") then
tanks_members_cache [_UnitGUID ("player")] = true tanks_members_cache [_UnitGUID ("player")] = true
else else
local spec = GetSpecialization() local spec = DetailsFramework.GetSpecialization()
if (spec and spec ~= 0) then if (spec and spec ~= 0) then
if (GetSpecializationRole (spec) == "TANK") then if (DetailsFramework.GetSpecializationRole (spec) == "TANK") then
tanks_members_cache [_UnitGUID ("player")] = true tanks_members_cache [_UnitGUID ("player")] = true
end end
end end
+2 -1
View File
@@ -18,7 +18,8 @@
local _math_floor = math.floor --> api local local _math_floor = math.floor --> api local
local _ipairs = ipairs --> api local local _ipairs = ipairs --> api local
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> status bar core functions --> status bar core functions
+17 -13
View File
@@ -212,14 +212,14 @@ do
end end
function _detalhes:GetEncounterInfoFromEncounterName (EJID, encountername) function _detalhes:GetEncounterInfoFromEncounterName (EJID, encountername)
EJ_SelectInstance (EJID) DetailsFramework.EncounterJournal.EJ_SelectInstance (EJID)
for i = 1, 20 do for i = 1, 20 do
local name = EJ_GetEncounterInfoByIndex (i, EJID) local name = DetailsFramework.EncounterJournal.EJ_GetEncounterInfoByIndex (i, EJID)
if (not name) then if (not name) then
return return
end end
if (name == encountername or name:find (encountername)) then if (name == encountername or name:find (encountername)) then
return i, EJ_GetEncounterInfoByIndex (i, EJID) return i, DetailsFramework.EncounterJournal.EJ_GetEncounterInfoByIndex (i, EJID)
end end
end end
end end
@@ -242,7 +242,7 @@ do
end end
if (ejID and ejID ~= 0) then if (ejID and ejID ~= 0) then
local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = EJ_GetInstanceInfo (ejID) local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = DetailsFramework.EncounterJournal.EJ_GetInstanceInfo (ejID)
if (name) then if (name) then
if (instanceType == "party") then if (instanceType == "party") then
return loreImage --bgImage return loreImage --bgImage
@@ -292,7 +292,7 @@ do
if (encounterName and ejID and ejID ~= 0) then if (encounterName and ejID and ejID ~= 0) then
local index, name, description, encounterID, rootSectionID, link = _detalhes:GetEncounterInfoFromEncounterName (ejID, encounterName) local index, name, description, encounterID, rootSectionID, link = _detalhes:GetEncounterInfoFromEncounterName (ejID, encounterName)
if (index and name and encounterID) then if (index and name and encounterID) then
local id, name, description, displayInfo, iconImage = EJ_GetCreatureInfo (1, encounterID) local id, name, description, displayInfo, iconImage = DetailsFramework.EncounterJournal.EJ_GetCreatureInfo (1, encounterID)
if (iconImage) then if (iconImage) then
return iconImage return iconImage
end end
@@ -306,9 +306,14 @@ do
function _detalhes:GetEncounterActorsName (EJ_EncounterID) function _detalhes:GetEncounterActorsName (EJ_EncounterID)
--code snippet from wowpedia --code snippet from wowpedia
local actors = {} local actors = {}
local stack, encounter, _, _, curSectionID = {}, EJ_GetEncounterInfo (EJ_EncounterID) local stack, encounter, _, _, curSectionID = {}, DetailsFramework.EncounterJournal.EJ_GetEncounterInfo (EJ_EncounterID)
if (not curSectionID) then
return actors
end
repeat repeat
local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = EJ_GetSectionInfo (curSectionID) local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = DetailsFramework.EncounterJournal.EJ_GetSectionInfo (curSectionID)
if (displayInfo ~= 0 and abilityIcon == "") then if (displayInfo ~= 0 and abilityIcon == "") then
actors [title] = {model = displayInfo, info = description} actors [title] = {model = displayInfo, info = description}
end end
@@ -332,7 +337,6 @@ do
end end
function _detalhes:GetCurrentDungeonBossListFromEJ() function _detalhes:GetCurrentDungeonBossListFromEJ()
--local EJ_CInstance = EJ_GetCurrentInstance()
local mapID = C_Map.GetBestMapForUnit ("player") local mapID = C_Map.GetBestMapForUnit ("player")
@@ -341,26 +345,26 @@ do
return return
end end
local EJ_CInstance = EJ_GetInstanceForMap(mapID) local EJ_CInstance = DetailsFramework.EncounterJournal.EJ_GetInstanceForMap(mapID)
if (EJ_CInstance and EJ_CInstance ~= 0) then if (EJ_CInstance and EJ_CInstance ~= 0) then
if (_detalhes.encounter_dungeons [EJ_CInstance]) then if (_detalhes.encounter_dungeons [EJ_CInstance]) then
return _detalhes.encounter_dungeons [EJ_CInstance] return _detalhes.encounter_dungeons [EJ_CInstance]
end end
EJ_SelectInstance (EJ_CInstance) DetailsFramework.EncounterJournal.EJ_SelectInstance (EJ_CInstance)
local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = EJ_GetInstanceInfo (EJ_CInstance) local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = DetailsFramework.EncounterJournal.EJ_GetInstanceInfo (EJ_CInstance)
local boss_list = { local boss_list = {
[EJ_CInstance] = {name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link} [EJ_CInstance] = {name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link}
} }
for i = 1, 20 do for i = 1, 20 do
local encounterName, description, encounterID, rootSectionID, link = EJ_GetEncounterInfoByIndex (i, EJ_CInstance) local encounterName, description, encounterID, rootSectionID, link = DetailsFramework.EncounterJournal.EJ_GetEncounterInfoByIndex (i, EJ_CInstance)
if (encounterName) then if (encounterName) then
for o = 1, 6 do for o = 1, 6 do
local id, creatureName, creatureDescription, displayInfo, iconImage = EJ_GetCreatureInfo (o, encounterID) local id, creatureName, creatureDescription, displayInfo, iconImage = DetailsFramework.EncounterJournal.EJ_GetCreatureInfo (o, encounterID)
if (id) then if (id) then
boss_list [creatureName] = {encounterName, encounterID, creatureName, iconImage, EJ_CInstance} boss_list [creatureName] = {encounterName, encounterID, creatureName, iconImage, EJ_CInstance}
else else
+4 -2
View File
@@ -28,6 +28,8 @@
--templates --templates
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
_detalhes:GetFramework():InstallTemplate ("button", "DETAILS_FORGE_TEXTENTRY_TEMPLATE", { _detalhes:GetFramework():InstallTemplate ("button", "DETAILS_FORGE_TEXTENTRY_TEMPLATE", {
backdrop = {bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true}, --edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, backdrop = {bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true}, --edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1,
backdropcolor = {0, 0, 0, .1}, backdropcolor = {0, 0, 0, .1},
@@ -3690,7 +3692,7 @@
if (data [7]) then if (data [7]) then
local spellid = data[7]:gsub ("ej", "") local spellid = data[7]:gsub ("ej", "")
spellid = tonumber (spellid) spellid = tonumber (spellid)
local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = EJ_GetSectionInfo (spellid) local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = DetailsFramework.EncounterJournal.EJ_GetSectionInfo (spellid)
spellname, spellicon = title, abilityIcon spellname, spellicon = title, abilityIcon
else else
return return
@@ -3818,7 +3820,7 @@
if (type (spellid) == "number") then if (type (spellid) == "number") then
if (spellid < 0) then if (spellid < 0) then
local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = EJ_GetSectionInfo (abs (spellid)) local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = DetailsFramework.EncounterJournal.EJ_GetSectionInfo (abs (spellid))
spellname, spellicon = title, abilityIcon spellname, spellicon = title, abilityIcon
else else
spellname, _, spellicon = GetSpellInfo (spellid) spellname, _, spellicon = GetSpellInfo (spellid)
+7 -3
View File
@@ -1476,12 +1476,16 @@ function _detalhes:UpdateState_CurrentMythicDungeonRun (stillOngoing, segmentID,
end end
function _detalhes:RestoreState_CurrentMythicDungeonRun() function _detalhes:RestoreState_CurrentMythicDungeonRun()
--no need to check for mythic+ if the user is playing on classic wow
if (DetailsFramework.IsClassicWow()) then
return
end
local savedTable = _detalhes.mythic_dungeon_currentsaved local savedTable = _detalhes.mythic_dungeon_currentsaved
local mythicLevel = C_ChallengeMode.GetActiveKeystoneInfo() local mythicLevel = C_ChallengeMode.GetActiveKeystoneInfo()
local zoneName, _, _, _, _, _, _, currentZoneID = GetInstanceInfo() local zoneName, _, _, _, _, _, _, currentZoneID = GetInstanceInfo()
--local ejID = EJ_GetCurrentInstance() --removed on 8.0
local mapID = C_Map.GetBestMapForUnit ("player") local mapID = C_Map.GetBestMapForUnit ("player")
if (not mapID) then if (not mapID) then
@@ -1491,7 +1495,7 @@ function _detalhes:RestoreState_CurrentMythicDungeonRun()
local ejID = 0 local ejID = 0
if (mapID) then if (mapID) then
ejID = EJ_GetInstanceForMap (mapID) or 0 ejID = DetailsFramework.EncounterJournal.EJ_GetInstanceForMap (mapID) or 0
end end
--> is there a saved state for the dungeon? --> is there a saved state for the dungeon?
+12 -12
View File
@@ -33,16 +33,16 @@ do
C_Timer.After (10, function() C_Timer.After (10, function()
--load encounter journal --load encounter journal
EJ_SelectInstance (INSTANCE_EJID) DetailsFramework.EncounterJournal.EJ_SelectInstance (INSTANCE_EJID)
local InstanceName = EJ_GetInstanceInfo (INSTANCE_EJID) local InstanceName = DetailsFramework.EncounterJournal.EJ_GetInstanceInfo (INSTANCE_EJID)
--build the boss name list --build the boss name list
local BOSSNAMES = {} local BOSSNAMES = {}
local ENCOUNTERS = {} local ENCOUNTERS = {}
for i = 1, #PORTRAIT_LIST do for i = 1, #PORTRAIT_LIST do
local bossName = EJ_GetEncounterInfoByIndex (i, INSTANCE_EJID) local bossName = DetailsFramework.EncounterJournal.EJ_GetEncounterInfoByIndex (i, INSTANCE_EJID)
if (bossName) then if (bossName) then
tinsert (BOSSNAMES, bossName) tinsert (BOSSNAMES, bossName)
local encounterTable = { local encounterTable = {
@@ -134,16 +134,16 @@ do
C_Timer.After (10, function() C_Timer.After (10, function()
--load encounter journal --load encounter journal
EJ_SelectInstance (INSTANCE_EJID) DetailsFramework.EncounterJournal.EJ_SelectInstance (INSTANCE_EJID)
local InstanceName = EJ_GetInstanceInfo (INSTANCE_EJID) local InstanceName = DetailsFramework.EncounterJournal.EJ_GetInstanceInfo (INSTANCE_EJID)
--build the boss name list --build the boss name list
local BOSSNAMES = {} local BOSSNAMES = {}
local ENCOUNTERS = {} local ENCOUNTERS = {}
for i = 1, #PORTRAIT_LIST do for i = 1, #PORTRAIT_LIST do
local bossName = EJ_GetEncounterInfoByIndex (i, INSTANCE_EJID) local bossName = DetailsFramework.EncounterJournal.EJ_GetEncounterInfoByIndex (i, INSTANCE_EJID)
if (bossName) then if (bossName) then
tinsert (BOSSNAMES, bossName) tinsert (BOSSNAMES, bossName)
local encounterTable = { local encounterTable = {
@@ -242,16 +242,16 @@ do
C_Timer.After (10, function() C_Timer.After (10, function()
--load encounter journal --load encounter journal
EJ_SelectInstance (INSTANCE_EJID) DetailsFramework.EncounterJournal.EJ_SelectInstance (INSTANCE_EJID)
local InstanceName = EJ_GetInstanceInfo (INSTANCE_EJID) local InstanceName = DetailsFramework.EncounterJournal.EJ_GetInstanceInfo (INSTANCE_EJID)
--build the boss name list --build the boss name list
local BOSSNAMES = {} local BOSSNAMES = {}
local ENCOUNTERS = {} local ENCOUNTERS = {}
for i = 1, #PORTRAIT_LIST do for i = 1, #PORTRAIT_LIST do
local bossName = EJ_GetEncounterInfoByIndex (i, INSTANCE_EJID) local bossName = DetailsFramework.EncounterJournal.EJ_GetEncounterInfoByIndex (i, INSTANCE_EJID)
if (bossName) then if (bossName) then
tinsert (BOSSNAMES, bossName) tinsert (BOSSNAMES, bossName)
local encounterTable = { local encounterTable = {
@@ -350,16 +350,16 @@ do
function Details:ScheduleInstallRaidDataForAntorus() function Details:ScheduleInstallRaidDataForAntorus()
--load encounter journal --load encounter journal
EJ_SelectInstance (INSTANCE_EJID) DetailsFramework.EncounterJournal.EJ_SelectInstance (INSTANCE_EJID)
local InstanceName = EJ_GetInstanceInfo (INSTANCE_EJID) local InstanceName = DetailsFramework.EncounterJournal.EJ_GetInstanceInfo (INSTANCE_EJID)
--build the boss name list --build the boss name list
local BOSSNAMES = {} local BOSSNAMES = {}
local ENCOUNTERS = {} local ENCOUNTERS = {}
for i = 1, #PORTRAIT_LIST do for i = 1, #PORTRAIT_LIST do
local bossName = EJ_GetEncounterInfoByIndex (i, INSTANCE_EJID) local bossName = DetailsFramework.EncounterJournal.EJ_GetEncounterInfoByIndex (i, INSTANCE_EJID)
if (bossName) then if (bossName) then
tinsert (BOSSNAMES, bossName) tinsert (BOSSNAMES, bossName)
local encounterTable = { local encounterTable = {
+13 -13
View File
@@ -423,7 +423,7 @@ function SlashCmdList.DETAILS (msg, editbox)
--[[ get the EJ_ raid id --[[ get the EJ_ raid id
local wantRaids = true -- set false to get 5-man list local wantRaids = true -- set false to get 5-man list
for i=1,1000 do for i=1,1000 do
instanceID,name,description,bgImage,buttonImage,loreImage, dungeonAreaMapID, link = EJ_GetInstanceByIndex(i,wantRaids) instanceID,name,description,bgImage,buttonImage,loreImage, dungeonAreaMapID, link = DetailsFramework.EncounterJournal.EJ_GetInstanceByIndex(i,wantRaids)
if not instanceID then break end if not instanceID then break end
DEFAULT_CHAT_FRAME:AddMessage( instanceID.." "..name ,1,0.7,0.5) DEFAULT_CHAT_FRAME:AddMessage( instanceID.." "..name ,1,0.7,0.5)
end end
@@ -432,7 +432,7 @@ function SlashCmdList.DETAILS (msg, editbox)
local iid=362 local iid=362
for i=1, 100 do for i=1, 100 do
local name, description, encounterID, rootSectionID, link = EJ_GetEncounterInfoByIndex (i, iid) local name, description, encounterID, rootSectionID, link = DetailsFramework.EncounterJournal.EJ_GetEncounterInfoByIndex (i, iid)
if not encounterID then break end if not encounterID then break end
local msg = encounterID .. " , " .. name .. ", ".. rootSectionID.. ", "..link local msg = encounterID .. " , " .. name .. ", ".. rootSectionID.. ", "..link
@@ -1156,20 +1156,20 @@ Damage Update Status: @INSTANCEDAMAGESTATUS
) )
elseif (msg == "ejloot") then elseif (msg == "ejloot") then
EJ_SelectInstance (669) -- hellfire citadel DetailsFramework.EncounterJournal.EJ_SelectInstance (669) -- hellfire citadel
EJ_SetDifficulty (16) DetailsFramework.EncounterJournal.EJ_SetDifficulty (16)
local r = {} local r = {}
local total = 0 local total = 0
for i = 1, 100 do for i = 1, 100 do
local name, description, encounterID, rootSectionID, link = EJ_GetEncounterInfoByIndex (i, 669) local name, description, encounterID, rootSectionID, link = DetailsFramework.EncounterJournal.EJ_GetEncounterInfoByIndex (i, 669)
if (name) then if (name) then
EJ_SelectEncounter (encounterID) DetailsFramework.EncounterJournal.EJ_SelectEncounter (encounterID)
print (name, encounterID, EJ_GetNumLoot()) print (name, encounterID, DetailsFramework.EncounterJournal.EJ_GetNumLoot())
for o = 1, EJ_GetNumLoot() do for o = 1, DetailsFramework.EncounterJournal.EJ_GetNumLoot() do
local name, icon, slot, armorType, itemID, link, encounterID = EJ_GetLootInfoByIndex (o) local name, icon, slot, armorType, itemID, link, encounterID = DetailsFramework.EncounterJournal.EJ_GetLootInfoByIndex (o)
r[slot] = r[slot] or {} r[slot] = r[slot] or {}
tinsert (r[slot], {itemID, encounterID}) tinsert (r[slot], {itemID, encounterID})
total = total + 1 total = total + 1
@@ -1359,9 +1359,9 @@ Damage Update Status: @INSTANCEDAMAGESTATUS
elseif (msg == "spec") then elseif (msg == "spec") then
local spec = GetSpecialization() local spec = DetailsFramework.GetSpecialization()
if (spec) then if (spec) then
local specID = GetSpecializationInfo (spec) local specID = DetailsFramework.GetSpecializationInfo (spec)
if (specID and specID ~= 0) then if (specID and specID ~= 0) then
print ("Current SpecID: ", specID) print ("Current SpecID: ", specID)
end end
@@ -1478,10 +1478,10 @@ Damage Update Status: @INSTANCEDAMAGESTATUS
local spellIDs = {} local spellIDs = {}
--uldir --uldir
EJ_SelectInstance (1031) DetailsFramework.EncounterJournal.EJ_SelectInstance (1031)
-- pega o root section id do boss -- pega o root section id do boss
local name, description, encounterID, rootSectionID, link = EJ_GetEncounterInfo (2168) --taloc (primeiro boss de Uldir) local name, description, encounterID, rootSectionID, link = DetailsFramework.EncounterJournal.EJ_GetEncounterInfo (2168) --taloc (primeiro boss de Uldir)
--overview --overview
local sectionInfo = C_EncounterJournal.GetSectionInfo (rootSectionID) local sectionInfo = C_EncounterJournal.GetSectionInfo (rootSectionID)
+73 -58
View File
@@ -59,66 +59,81 @@ do
lightOfTheMartyr_Name = lightOfTheMartyr_Name or "Deprecated Spell - Light of the Martyr" lightOfTheMartyr_Name = lightOfTheMartyr_Name or "Deprecated Spell - Light of the Martyr"
lightOfTheMartyr_Icon = lightOfTheMartyr_Icon or "" lightOfTheMartyr_Icon = lightOfTheMartyr_Icon or ""
local default_user_spells = { local default_user_spells
[1] = {name = Loc ["STRING_MELEE"], icon = [[Interface\ICONS\INV_Sword_04]]},
[2] = {name = Loc ["STRING_AUTOSHOT"], icon = [[Interface\ICONS\INV_Weapon_Bow_07]]},
[3] = {name = Loc ["STRING_ENVIRONMENTAL_FALLING"], icon = [[Interface\ICONS\Spell_Magic_FeatherFall]]},
[4] = {name = Loc ["STRING_ENVIRONMENTAL_DROWNING"], icon = [[Interface\ICONS\Ability_Suffocate]]},
[5] = {name = Loc ["STRING_ENVIRONMENTAL_FATIGUE"], icon = [[Interface\ICONS\Spell_Arcane_MindMastery]]},
[6] = {name = Loc ["STRING_ENVIRONMENTAL_FIRE"], icon = [[Interface\ICONS\INV_SummerFest_FireSpirit]]},
[7] = {name = Loc ["STRING_ENVIRONMENTAL_LAVA"], icon = [[Interface\ICONS\Ability_Rhyolith_Volcano]]},
[8] = {name = Loc ["STRING_ENVIRONMENTAL_SLIME"], icon = [[Interface\ICONS\Ability_Creature_Poison_02]]},
[196917] = {name = lightOfTheMartyr_Name .. " (" .. Loc ["STRING_DAMAGE"] .. ")", icon = lightOfTheMartyr_Icon},
[98021] = {name = Loc ["STRING_SPIRIT_LINK_TOTEM"]},
[44461] = {name = GetSpellInfo (44461) .. " (" .. Loc ["STRING_EXPLOSION"] .. ")"}, --> Living Bomb (explosion)
[59638] = {name = GetSpellInfo (59638) .. " (" .. Loc ["STRING_MIRROR_IMAGE"] .. ")"}, --> Mirror Image's Frost Bolt (mage) if (DetailsFramework.IsClassicWow()) then
[88082] = {name = GetSpellInfo (88082) .. " (" .. Loc ["STRING_MIRROR_IMAGE"] .. ")"}, --> Mirror Image's Fireball (mage) default_user_spells = {
[1] = {name = Loc ["STRING_MELEE"], icon = [[Interface\ICONS\INV_Sword_04]]},
[2] = {name = Loc ["STRING_AUTOSHOT"], icon = [[Interface\ICONS\INV_Weapon_Bow_07]]},
[3] = {name = Loc ["STRING_ENVIRONMENTAL_FALLING"], icon = [[Interface\ICONS\Spell_Magic_FeatherFall]]},
[4] = {name = Loc ["STRING_ENVIRONMENTAL_DROWNING"], icon = [[Interface\ICONS\Ability_Suffocate]]},
[5] = {name = Loc ["STRING_ENVIRONMENTAL_FATIGUE"], icon = [[Interface\ICONS\Spell_Arcane_MindMastery]]},
[6] = {name = Loc ["STRING_ENVIRONMENTAL_FIRE"], icon = [[Interface\ICONS\INV_SummerFest_FireSpirit]]},
[7] = {name = Loc ["STRING_ENVIRONMENTAL_LAVA"], icon = [[Interface\ICONS\Ability_Rhyolith_Volcano]]},
[8] = {name = Loc ["STRING_ENVIRONMENTAL_SLIME"], icon = [[Interface\ICONS\Ability_Creature_Poison_02]]},
}
else
default_user_spells = {
[1] = {name = Loc ["STRING_MELEE"], icon = [[Interface\ICONS\INV_Sword_04]]},
[2] = {name = Loc ["STRING_AUTOSHOT"], icon = [[Interface\ICONS\INV_Weapon_Bow_07]]},
[3] = {name = Loc ["STRING_ENVIRONMENTAL_FALLING"], icon = [[Interface\ICONS\Spell_Magic_FeatherFall]]},
[4] = {name = Loc ["STRING_ENVIRONMENTAL_DROWNING"], icon = [[Interface\ICONS\Ability_Suffocate]]},
[5] = {name = Loc ["STRING_ENVIRONMENTAL_FATIGUE"], icon = [[Interface\ICONS\Spell_Arcane_MindMastery]]},
[6] = {name = Loc ["STRING_ENVIRONMENTAL_FIRE"], icon = [[Interface\ICONS\INV_SummerFest_FireSpirit]]},
[7] = {name = Loc ["STRING_ENVIRONMENTAL_LAVA"], icon = [[Interface\ICONS\Ability_Rhyolith_Volcano]]},
[8] = {name = Loc ["STRING_ENVIRONMENTAL_SLIME"], icon = [[Interface\ICONS\Ability_Creature_Poison_02]]},
[196917] = {name = lightOfTheMartyr_Name .. " (" .. Loc ["STRING_DAMAGE"] .. ")", icon = lightOfTheMartyr_Icon},
[98021] = {name = Loc ["STRING_SPIRIT_LINK_TOTEM"]},
[44461] = {name = GetSpellInfo (44461) .. " (" .. Loc ["STRING_EXPLOSION"] .. ")"}, --> Living Bomb (explosion)
[94472] = {name = GetSpellInfo (94472) .. " (" .. Loc ["STRING_CRITICAL_ONLY"] .. ")"}, --> Atonement critical hit (priest) [59638] = {name = GetSpellInfo (59638) .. " (" .. Loc ["STRING_MIRROR_IMAGE"] .. ")"}, --> Mirror Image's Frost Bolt (mage)
[88082] = {name = GetSpellInfo (88082) .. " (" .. Loc ["STRING_MIRROR_IMAGE"] .. ")"}, --> Mirror Image's Fireball (mage)
[33778] = {name = GetSpellInfo (33778) .. " (Bloom)"}, --lifebloom (bloom)
[94472] = {name = GetSpellInfo (94472) .. " (" .. Loc ["STRING_CRITICAL_ONLY"] .. ")"}, --> Atonement critical hit (priest)
[121414] = {name = GetSpellInfo (121414) .. " (Glaive #1)"}, --> glaive toss (hunter)
[120761] = {name = GetSpellInfo (120761) .. " (Glaive #2)"}, --> glaive toss (hunter) [33778] = {name = GetSpellInfo (33778) .. " (Bloom)"}, --lifebloom (bloom)
[212739] = {name = GetSpellInfo (212739) .. " (Main Target)"}, --DK Epidemic [121414] = {name = GetSpellInfo (121414) .. " (Glaive #1)"}, --> glaive toss (hunter)
[215969] = {name = GetSpellInfo (215969) .. " (AoE)"}, --DK Epidemic [120761] = {name = GetSpellInfo (120761) .. " (Glaive #2)"}, --> glaive toss (hunter)
[70890] = {name = GetSpellInfo (70890) .. " (Shadow)"}, --DK Scourge Strike [212739] = {name = GetSpellInfo (212739) .. " (Main Target)"}, --DK Epidemic
[55090] = {name = GetSpellInfo (55090) .. " (Physical)"}, --DK Scourge Strike [215969] = {name = GetSpellInfo (215969) .. " (AoE)"}, --DK Epidemic
[49184] = {name = GetSpellInfo (49184) .. " (Main Target)"}, --DK Howling Blast [70890] = {name = GetSpellInfo (70890) .. " (Shadow)"}, --DK Scourge Strike
[237680] = {name = GetSpellInfo (237680) .. " (AoE)"}, --DK Howling Blast [55090] = {name = GetSpellInfo (55090) .. " (Physical)"}, --DK Scourge Strike
[228649] = {name = GetSpellInfo (228649) .. " (Passive)"}, --Monk Mistweaver Blackout kick - Passive Teachings of the Monastery [49184] = {name = GetSpellInfo (49184) .. " (Main Target)"}, --DK Howling Blast
[237680] = {name = GetSpellInfo (237680) .. " (AoE)"}, --DK Howling Blast
--> bfa trinkets
[278155] = {name = GetSpellInfo (278155) .. " (Trinket)"}, --[Twitching Tentacle of Xalzaix] [228649] = {name = GetSpellInfo (228649) .. " (Passive)"}, --Monk Mistweaver Blackout kick - Passive Teachings of the Monastery
[279664] = {name = GetSpellInfo (279664) .. " (Trinket)"}, --[Vanquished Tendril of G'huun]
[278227] = {name = GetSpellInfo (278227) .. " (Trinket)"}, --[T'zane's Barkspines] --> bfa trinkets
[278383] = {name = GetSpellInfo (278383) .. " (Trinket)"}, --[Azurethos' Singed Plumage] [278155] = {name = GetSpellInfo (278155) .. " (Trinket)"}, --[Twitching Tentacle of Xalzaix]
[278862] = {name = GetSpellInfo (278862) .. " (Trinket)"}, --[Drust-Runed Icicle] [279664] = {name = GetSpellInfo (279664) .. " (Trinket)"}, --[Vanquished Tendril of G'huun]
[278359] = {name = GetSpellInfo (278359) .. " (Trinket)"}, --[Doom's Hatred] [278227] = {name = GetSpellInfo (278227) .. " (Trinket)"}, --[T'zane's Barkspines]
[278812] = {name = GetSpellInfo (278812) .. " (Trinket)"}, --[Lion's Grace] [278383] = {name = GetSpellInfo (278383) .. " (Trinket)"}, --[Azurethos' Singed Plumage]
[270827] = {name = GetSpellInfo (270827) .. " (Trinket)"}, --[Vessel of Skittering Shadows] [278862] = {name = GetSpellInfo (278862) .. " (Trinket)"}, --[Drust-Runed Icicle]
[271071] = {name = GetSpellInfo (271071) .. " (Trinket)"}, --[Conch of Dark Whispers] [278359] = {name = GetSpellInfo (278359) .. " (Trinket)"}, --[Doom's Hatred]
[270925] = {name = GetSpellInfo (270925) .. " (Trinket)"}, --[Hadal's Nautilus] [278812] = {name = GetSpellInfo (278812) .. " (Trinket)"}, --[Lion's Grace]
[271115] = {name = GetSpellInfo (271115) .. " (Trinket)"}, --[Ignition Mage's Fuse] [270827] = {name = GetSpellInfo (270827) .. " (Trinket)"}, --[Vessel of Skittering Shadows]
[271462] = {name = GetSpellInfo (271462) .. " (Trinket)"}, --[Rotcrusted Voodoo Doll] [271071] = {name = GetSpellInfo (271071) .. " (Trinket)"}, --[Conch of Dark Whispers]
[271465] = {name = GetSpellInfo (271465) .. " (Trinket)"}, --[Rotcrusted Voodoo Doll] [270925] = {name = GetSpellInfo (270925) .. " (Trinket)"}, --[Hadal's Nautilus]
[268998] = {name = GetSpellInfo (268998) .. " (Trinket)"}, --[Balefire Branch] [271115] = {name = GetSpellInfo (271115) .. " (Trinket)"}, --[Ignition Mage's Fuse]
[271671] = {name = GetSpellInfo (271671) .. " (Trinket)"}, --[Lady Waycrest's Music Box] [271462] = {name = GetSpellInfo (271462) .. " (Trinket)"}, --[Rotcrusted Voodoo Doll]
[277179] = {name = GetSpellInfo (277179) .. " (Trinket)"}, --[Dread Gladiator's Medallion] [271465] = {name = GetSpellInfo (271465) .. " (Trinket)"}, --[Rotcrusted Voodoo Doll]
[277187] = {name = GetSpellInfo (277187) .. " (Trinket)"}, --[Dread Gladiator's Emblem] [268998] = {name = GetSpellInfo (268998) .. " (Trinket)"}, --[Balefire Branch]
[277181] = {name = GetSpellInfo (277181) .. " (Trinket)"}, --[Dread Gladiator's Insignia] [271671] = {name = GetSpellInfo (271671) .. " (Trinket)"}, --[Lady Waycrest's Music Box]
[277185] = {name = GetSpellInfo (277185) .. " (Trinket)"}, --[Dread Gladiator's Badge] [277179] = {name = GetSpellInfo (277179) .. " (Trinket)"}, --[Dread Gladiator's Medallion]
[278057] = {name = GetSpellInfo (278057) .. " (Trinket)"}, --[Vigilant's Bloodshaper] [277187] = {name = GetSpellInfo (277187) .. " (Trinket)"}, --[Dread Gladiator's Emblem]
[277181] = {name = GetSpellInfo (277181) .. " (Trinket)"}, --[Dread Gladiator's Insignia]
} [277185] = {name = GetSpellInfo (277185) .. " (Trinket)"}, --[Dread Gladiator's Badge]
[278057] = {name = GetSpellInfo (278057) .. " (Trinket)"}, --[Vigilant's Bloodshaper]
}
end
function _detalhes:UserCustomSpellUpdate (index, name, icon) function _detalhes:UserCustomSpellUpdate (index, name, icon)
local t = _detalhes.savedCustomSpells [index] local t = _detalhes.savedCustomSpells [index]
+2 -2
View File
@@ -1180,7 +1180,7 @@
GameTooltip:AddLine (button.MyObject.actor) GameTooltip:AddLine (button.MyObject.actor)
GameTooltip:Show() GameTooltip:Show()
local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = EJ_GetInstanceInfo (button.MyObject.ej_id) local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = DetailsFramework.EncounterJournal.EJ_GetInstanceInfo (button.MyObject.ej_id)
modelFrameTexture:SetTexture (bgImage) modelFrameTexture:SetTexture (bgImage)
modelFrameTexture:SetTexCoord (3/512, 370/512, 5/512, 429/512) modelFrameTexture:SetTexCoord (3/512, 370/512, 5/512, 429/512)
@@ -1388,7 +1388,7 @@
GameTooltip:AddLine (button.MyObject.actor) GameTooltip:AddLine (button.MyObject.actor)
GameTooltip:Show() GameTooltip:Show()
local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = EJ_GetInstanceInfo (button.MyObject.ej_id) local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = DetailsFramework.EncounterJournal.EJ_GetInstanceInfo (button.MyObject.ej_id)
modelFrameTexture:SetTexture (bgImage) modelFrameTexture:SetTexture (bgImage)
modelFrameTexture:SetTexCoord (3/512, 370/512, 5/512, 429/512) modelFrameTexture:SetTexCoord (3/512, 370/512, 5/512, 429/512)
+149 -121
View File
@@ -33,12 +33,31 @@ local IconTexCoord = {5/64, 59/64, 5/64, 59/64}
local CONST_BAR_HEIGHT = 20 local CONST_BAR_HEIGHT = 20
local CONST_TARGET_HEIGHT = 18 local CONST_TARGET_HEIGHT = 18
local PLAYER_DETAILS_WINDOW_WIDTH = 790 local PLAYER_DETAILS_WINDOW_WIDTH = 890
local PLAYER_DETAILS_WINDOW_HEIGHT = 474 local PLAYER_DETAILS_WINDOW_HEIGHT = 574
local PLAYER_DETAILS_STATUSBAR_HEIGHT = 20 local PLAYER_DETAILS_STATUSBAR_HEIGHT = 20
local PLAYER_DETAILS_STATUSBAR_ALPHA = 1 local PLAYER_DETAILS_STATUSBAR_ALPHA = 1
local containerSettings = {
spells = {
width = 419,
height = 290,
point = {"TOPLEFT", DetailsPlayerDetailsWindow, "TOPLEFT", 2, -76},
scrollHeight = 264,
},
targets = {
width = 418,
height = 150,
point = {"BOTTOMLEFT", DetailsPlayerDetailsWindow, "BOTTOMLEFT", 2, 6 + PLAYER_DETAILS_STATUSBAR_HEIGHT},
},
}
local spellInfoSettings = {
width = 430,
amount = 6,
}
------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------
--self = instancia --self = instancia
--jogador = classe_damage ou classe_heal --jogador = classe_damage ou classe_heal
@@ -239,7 +258,7 @@ function gump:TrocaBackgroundInfo()
info.report_direita:Hide() info.report_direita:Hide()
for i = 1, 5 do for i = 1, spellInfoSettings.amount do
info ["right_background" .. i]:Show() info ["right_background" .. i]:Show()
end end
@@ -264,7 +283,7 @@ function gump:TrocaBackgroundInfo()
info.bg2_sec_texture:Show() info.bg2_sec_texture:Show()
info.tipo = 2 info.tipo = 2
for i = 1, 5 do for i = 1, spellInfoSettings.amount do
info ["right_background" .. i]:Hide() info ["right_background" .. i]:Hide()
end end
@@ -283,7 +302,7 @@ function gump:TrocaBackgroundInfo()
info.bg2_sec_texture:Show() info.bg2_sec_texture:Show()
info.tipo = 3 info.tipo = 3
for i = 1, 5 do for i = 1, spellInfoSettings.amount do
info ["right_background" .. i]:Hide() info ["right_background" .. i]:Hide()
end end
@@ -300,7 +319,7 @@ function gump:TrocaBackgroundInfo()
info.bg2_sec_texture:Show() info.bg2_sec_texture:Show()
info.tipo = 3 info.tipo = 3
for i = 1, 5 do for i = 1, spellInfoSettings.amount do
info ["right_background" .. i]:Hide() info ["right_background" .. i]:Hide()
end end
@@ -329,7 +348,7 @@ function gump:TrocaBackgroundInfo()
info.bg2_sec_texture:Show() info.bg2_sec_texture:Show()
info.tipo = 2 info.tipo = 2
for i = 1, 5 do for i = 1, spellInfoSettings.amount do
info ["right_background" .. i]:Hide() info ["right_background" .. i]:Hide()
end end
@@ -404,7 +423,7 @@ end
--> esconde as 5 barras a direita na janela de info --> esconde as 5 barras a direita na janela de info
------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------
function gump:HidaAllDetalheInfo() function gump:HidaAllDetalheInfo()
for i = 1, 5 do for i = 1, spellInfoSettings.amount do
gump:HidaDetalheInfo (i) gump:HidaDetalheInfo (i)
end end
for _, barra in _ipairs (info.barras3) do for _, barra in _ipairs (info.barras3) do
@@ -532,7 +551,7 @@ function gump:CriaDetalheInfo (index)
end end
function info:SetDetailInfoConfigs (texture, color, x, y) function info:SetDetailInfoConfigs (texture, color, x, y)
for i = 1, 5 do for i = 1, spellInfoSettings.amount do
if (texture) then if (texture) then
info.grupos_detalhes [i].bg:SetStatusBarTexture (texture) info.grupos_detalhes [i].bg:SetStatusBarTexture (texture)
end end
@@ -553,7 +572,9 @@ end
function gump:SetaDetalheInfoAltura (index, xmod, ymod) function gump:SetaDetalheInfoAltura (index, xmod, ymod)
local info = _detalhes.janela_info.grupos_detalhes [index] local info = _detalhes.janela_info.grupos_detalhes [index]
local janela = _detalhes.janela_info.container_detalhes local janela = _detalhes.janela_info.container_detalhes
local altura = {-10, -63, -118, -173, -228}
local altura = {-10, -63, -118, -173, -228, -279}
local x1 = 64 + (xmod or 0) local x1 = 64 + (xmod or 0)
local x2 = 00 + (ymod or 0) local x2 = 00 + (ymod or 0)
@@ -561,26 +582,35 @@ function gump:SetaDetalheInfoAltura (index, xmod, ymod)
local background local background
local y = -74 - ((index-1) * 76) local y = -74 - ((index-1) * 79.5)
if (index == 1) then if (index == 1) then
_detalhes.janela_info.right_background1:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y) _detalhes.janela_info.right_background1:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y)
background = _detalhes.janela_info.right_background1 background = _detalhes.janela_info.right_background1
elseif (index == 2) then elseif (index == 2) then
_detalhes.janela_info.right_background2:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y) _detalhes.janela_info.right_background2:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y)
background = _detalhes.janela_info.right_background2 background = _detalhes.janela_info.right_background2
elseif (index == 3) then elseif (index == 3) then
_detalhes.janela_info.right_background3:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y) _detalhes.janela_info.right_background3:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y)
background = _detalhes.janela_info.right_background3 background = _detalhes.janela_info.right_background3
elseif (index == 4) then elseif (index == 4) then
_detalhes.janela_info.right_background4:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y) _detalhes.janela_info.right_background4:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y)
background = _detalhes.janela_info.right_background4 background = _detalhes.janela_info.right_background4
elseif (index == 5) then elseif (index == 5) then
_detalhes.janela_info.right_background5:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y) _detalhes.janela_info.right_background5:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y)
background = _detalhes.janela_info.right_background5 background = _detalhes.janela_info.right_background5
elseif (index == 6) then
_detalhes.janela_info.right_background6:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y)
background = _detalhes.janela_info.right_background6
end end
background:SetHeight (65) background:SetHeight (75)
--3 textos da esquerda e direita --3 textos da esquerda e direita
local y = -3 local y = -3
@@ -597,7 +627,7 @@ function gump:SetaDetalheInfoAltura (index, xmod, ymod)
info.bg:SetPoint ("TOPLEFT", background, "TOPLEFT", 1, -1) info.bg:SetPoint ("TOPLEFT", background, "TOPLEFT", 1, -1)
info.bg:SetHeight (background:GetHeight() - 2) info.bg:SetHeight (background:GetHeight() - 2)
info.bg:SetWidth (info.bg:GetWidth() - 2) --ofcourse why not info.bg:SetWidth (background:GetWidth())
info.bg_end:SetPoint ("LEFT", info.bg, "LEFT", info.bg:GetValue()*2.19, 0) info.bg_end:SetPoint ("LEFT", info.bg, "LEFT", info.bg:GetValue()*2.19, 0)
info.bg_end:SetHeight (background:GetHeight()+2) info.bg_end:SetHeight (background:GetHeight()+2)
@@ -623,14 +653,9 @@ function gump:SetaDetalheInfoTexto (index, p, arg1, arg2, arg3, arg4, arg5, arg6
info.bg:SetValue (p) info.bg:SetValue (p)
info.bg:SetStatusBarColor (1, 1, 1, .5) info.bg:SetStatusBarColor (1, 1, 1, .5)
end end
--if (index == 1) then info.bg_end:Show()
-- info.bg_end:Hide() info.bg_end:SetPoint ("LEFT", info.bg, "LEFT", (info.bg:GetValue() * (info.bg:GetWidth( ) / 100)) - 3, 0) -- 2.19
--else
info.bg_end:Show()
info.bg_end:SetPoint ("LEFT", info.bg, "LEFT", (info.bg:GetValue() * (info.bg:GetWidth()/100)) - 3, 0) -- 2.19
--end
info.bg:Show() info.bg:Show()
end end
@@ -679,17 +704,10 @@ end
------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------
local function cria_barras_detalhes() local function cria_barras_detalhes()
_detalhes.janela_info.grupos_detalhes = {} _detalhes.janela_info.grupos_detalhes = {}
for i = 1, spellInfoSettings.amount do
gump:CriaDetalheInfo (1) gump:CriaDetalheInfo (i)
gump:SetaDetalheInfoAltura (1) gump:SetaDetalheInfoAltura (i)
gump:CriaDetalheInfo (2) end
gump:SetaDetalheInfoAltura (2)
gump:CriaDetalheInfo (3)
gump:SetaDetalheInfoAltura (3)
gump:CriaDetalheInfo (4)
gump:SetaDetalheInfoAltura (4)
gump:CriaDetalheInfo (5)
gump:SetaDetalheInfoAltura (5)
end end
@@ -1044,9 +1062,10 @@ local default_skin = function()
for i, infoblock in ipairs (_detalhes.janela_info.grupos_detalhes) do for i, infoblock in ipairs (_detalhes.janela_info.grupos_detalhes) do
infoblock.bg:SetSize (219, 47) --219 original infoblock.bg:SetSize (219, 47) --219 original
end end
local xLocation = {-85, -136, -191, -246, -301} local xLocation = {-85, -136, -191, -246, -301, -356}
local heightTable = {43, 48, 48, 48, 48} local heightTable = {43, 48, 48, 48, 48, 48}
for i = 1, 5 do
for i = 1, spellInfoSettings.amount do
window ["right_background" .. i]:SetPoint ("topleft", window, "topleft", 357, xLocation [i]) --357 original window ["right_background" .. i]:SetPoint ("topleft", window, "topleft", 357, xLocation [i]) --357 original
window ["right_background" .. i]:SetSize (220, heightTable [i]) --220 window ["right_background" .. i]:SetSize (220, heightTable [i]) --220
end end
@@ -1160,7 +1179,7 @@ local elvui_skin = function()
window.bg1:SetVertexColor (0.27, 0.27, 0.27) window.bg1:SetVertexColor (0.27, 0.27, 0.27)
window.bg1:SetVertTile (true) window.bg1:SetVertTile (true)
window.bg1:SetHorizTile (true) window.bg1:SetHorizTile (true)
window.bg1:SetSize (790, 454) window.bg1:SetSize (PLAYER_DETAILS_WINDOW_WIDTH, PLAYER_DETAILS_WINDOW_HEIGHT)
window:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1}) window:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1})
window:SetBackdropColor (1, 1, 1, 1) window:SetBackdropColor (1, 1, 1, 1)
@@ -1234,14 +1253,15 @@ local elvui_skin = function()
window.avatar:SetParent (titlebar) window.avatar:SetParent (titlebar)
--bar container --bar container
window.container_barras:SetSize (419, 195) window.container_barras:SetPoint (unpack (containerSettings.spells.point))
window.container_barras:SetPoint ("TOPLEFT", window, "TOPLEFT", 2, -76) window.container_barras:SetSize (containerSettings.spells.width, containerSettings.spells.height)
--target container --target container
window.container_alvos:SetPoint ("BOTTOMLEFT", window, "BOTTOMLEFT", 2, 6 + PLAYER_DETAILS_STATUSBAR_HEIGHT) window.container_alvos:SetPoint (unpack (containerSettings.targets.point))
window.container_alvos:SetSize (418, 150) window.container_alvos:SetSize (containerSettings.targets.width, containerSettings.targets.height)
--texts --texts
window.targets:SetPoint ("TOPLEFT", window, "TOPLEFT", 3, -281) window.targets:SetPoint ("topleft", window.container_alvos, "topleft", 3, 18)
window.nome:SetPoint ("TOPLEFT", window, "TOPLEFT", 105, -48) window.nome:SetPoint ("TOPLEFT", window, "TOPLEFT", 105, -48)
--report button --report button
@@ -1263,23 +1283,22 @@ local elvui_skin = function()
window.bg2_sec_texture:SetDesaturated (true) window.bg2_sec_texture:SetDesaturated (true)
window.bg2_sec_texture:SetAlpha (0) window.bg2_sec_texture:SetAlpha (0)
--window.bg2_sec_texture:SetAlpha (0.3)
window.bg3_sec_texture:SetPoint ("topleft", window.bg2_sec_texture, "topleft", 0, 0) window.bg3_sec_texture:SetPoint ("topleft", window.bg2_sec_texture, "topleft", 0, 0)
window.bg3_sec_texture:SetPoint ("bottomright", window.bg2_sec_texture, "bottomright", 0, 0) window.bg3_sec_texture:SetPoint ("bottomright", window.bg2_sec_texture, "bottomright", 0, 0)
window.bg3_sec_texture:SetTexture (0, 0, 0, 0.3) window.bg3_sec_texture:SetTexture (0, 0, 0, 0.3)
--the 5 spell details blocks --the 5 spell details blocks - not working
for i, infoblock in ipairs (_detalhes.janela_info.grupos_detalhes) do for i, infoblock in ipairs (_detalhes.janela_info.grupos_detalhes) do
infoblock.bg:SetSize (330, 47) --227 original infoblock.bg:SetSize (330, 47)
end end
local xLocation = {-85, -136, -191, -246, -301} local xLocation = {-85, -136, -191, -246, -301}
local heightTable = {43, 48, 48, 48, 47} local heightTable = {50, 50, 50, 50, 50, 48}
for i = 1, 5 do
window ["right_background" .. i]:SetPoint ("topleft", window, "topleft", 351, xLocation [i]) --451 original
window ["right_background" .. i]:SetSize (330, heightTable [i]) --230
end
for i = 1, spellInfoSettings.amount do
window ["right_background" .. i]:SetPoint ("topleft", window, "topleft", 351, xLocation [i])
window ["right_background" .. i]:SetSize (spellInfoSettings.width, heightTable [i])
end
--seta configs dos 5 blocos da direita --seta configs dos 5 blocos da direita
info:SetDetailInfoConfigs ("Interface\\AddOns\\Details\\images\\bar_serenity", {1, 1, 1, 0.35}, -6 + 100, 0) info:SetDetailInfoConfigs ("Interface\\AddOns\\Details\\images\\bar_serenity", {1, 1, 1, 0.35}, -6 + 100, 0)
@@ -1287,7 +1306,6 @@ local elvui_skin = function()
window.bg1_sec_texture:SetPoint ("topleft", window.bg1, "topleft", 446, -86) window.bg1_sec_texture:SetPoint ("topleft", window.bg1, "topleft", 446, -86)
window.bg1_sec_texture:SetWidth (337) window.bg1_sec_texture:SetWidth (337)
window.bg1_sec_texture:SetHeight (362) window.bg1_sec_texture:SetHeight (362)
--container 3 bars --container 3 bars
local x_start = 56 local x_start = 56
@@ -1374,7 +1392,7 @@ local elvui_skin = function()
window.container_barras.slider:SetBackdropColor (0, 0, 0, 0.35) window.container_barras.slider:SetBackdropColor (0, 0, 0, 0.35)
window.container_barras.slider:SetBackdropBorderColor (0, 0, 0, 1) window.container_barras.slider:SetBackdropBorderColor (0, 0, 0, 1)
window.container_barras.slider:Altura (164) window.container_barras.slider:Altura (containerSettings.spells.scrollHeight)
window.container_barras.slider:cimaPoint (0, 13) window.container_barras.slider:cimaPoint (0, 13)
window.container_barras.slider:baixoPoint (0, -13) window.container_barras.slider:baixoPoint (0, -13)
@@ -1650,7 +1668,7 @@ function gump:CriaJanelaInfo()
local right_background_X = 457 local right_background_X = 457
local right_background_Y = {-85, -136, -191, -246, -301} local right_background_Y = {-85, -136, -191, -246, -301}
for i = 1, 5 do for i = 1, spellInfoSettings.amount do
local right_background1 = CreateFrame ("frame", "DetailsPlayerDetailsWindow_right_background" .. i, SWW) local right_background1 = CreateFrame ("frame", "DetailsPlayerDetailsWindow_right_background" .. i, SWW)
right_background1:EnableMouse (false) right_background1:EnableMouse (false)
right_background1:SetPoint ("topleft", este_gump, "topleft", right_background_X, right_background_Y [i]) right_background1:SetPoint ("topleft", este_gump, "topleft", right_background_X, right_background_Y [i])
@@ -1659,42 +1677,6 @@ function gump:CriaJanelaInfo()
este_gump ["right_background" .. i] = right_background1 este_gump ["right_background" .. i] = right_background1
end end
--[=[
local right_background1 = SWW:CreateTexture ("DetailsPlayerDetailsWindow_right_background1", "background")
right_background1:SetTexture ([[Interface\DialogFrame\UI-DialogBox-Background-Dark]])
right_background1:SetPoint ("topleft", este_gump, "topleft", right_background_X, -85)
right_background1:SetSize (220, 43)
right_background1:SetAlpha (alpha_bgs)
local right_background2 = SWW:CreateTexture ("DetailsPlayerDetailsWindow_right_background2", "background")
right_background2:SetTexture ([[Interface\DialogFrame\UI-DialogBox-Background-Dark]])
right_background2:SetPoint ("topleft", este_gump, "topleft", right_background_X, -136)
right_background2:SetSize (220, 48)
right_background2:SetAlpha (alpha_bgs)
este_gump.right_background2 = right_background2
local right_background3 = SWW:CreateTexture ("DetailsPlayerDetailsWindow_right_background3", "background")
right_background3:SetTexture ([[Interface\DialogFrame\UI-DialogBox-Background-Dark]])
right_background3:SetPoint ("topleft", este_gump, "topleft", right_background_X, -191)
right_background3:SetSize (220, 48)
right_background3:SetAlpha (alpha_bgs)
este_gump.right_background3 = right_background3
local right_background4 = SWW:CreateTexture ("DetailsPlayerDetailsWindow_right_background4", "background")
right_background4:SetTexture ([[Interface\DialogFrame\UI-DialogBox-Background-Dark]])
right_background4:SetPoint ("topleft", este_gump, "topleft", right_background_X, -246)
right_background4:SetSize (220, 48)
right_background4:SetAlpha (alpha_bgs)
este_gump.right_background4 = right_background4
local right_background5 = SWW:CreateTexture ("DetailsPlayerDetailsWindow_right_background5", "background")
right_background5:SetTexture ([[Interface\DialogFrame\UI-DialogBox-Background-Dark]])
right_background5:SetPoint ("topleft", este_gump, "topleft", right_background_X, -301)
right_background5:SetSize (220, 48)
right_background5:SetAlpha (alpha_bgs)
este_gump.right_background5 = right_background5
--]=]
-- fundos especiais de friendly fire e outros -- fundos especiais de friendly fire e outros
este_gump.bg1_sec_texture = SWW:CreateTexture ("DetailsPlayerDetailsWindow_BG1_SEC_Texture", "BORDER") este_gump.bg1_sec_texture = SWW:CreateTexture ("DetailsPlayerDetailsWindow_BG1_SEC_Texture", "BORDER")
este_gump.bg1_sec_texture:SetDrawLayer ("BORDER", 4) este_gump.bg1_sec_texture:SetDrawLayer ("BORDER", 4)
@@ -2594,11 +2576,24 @@ function gump:CriaJanelaInfo()
local auras_tab_create = function (tab, frame) local auras_tab_create = function (tab, frame)
local DF = _detalhes.gump local DF = _detalhes.gump
local scroll_line_amount = 17 local scroll_line_amount = 22
local scroll_line_height = 19 local scroll_line_height = 19
local scroll_width = 350 local scroll_width = 410
local scrollHeight = 445
local scroll_line_height = 19 local scroll_line_height = 19
local text_size = 9 local text_size = 10
local debuffScrollStartX = 445
local headerOffsetsBuffs = {
--buff label, uptime, applications, refreshes, wa
6, 190, 290, 336, 380
}
local headerOffsetsDebuffs = {
--debuff label, uptime, applications, refreshes, wa
426, 630, 729, 775, 820
}
local line_onenter = function (self) local line_onenter = function (self)
GameTooltip:SetOwner (self, "ANCHOR_TOPRIGHT") GameTooltip:SetOwner (self, "ANCHOR_TOPRIGHT")
@@ -2654,9 +2649,9 @@ function gump:CriaJanelaInfo()
icon:SetPoint ("left", line, "left", 2, 0) icon:SetPoint ("left", line, "left", 2, 0)
name:SetPoint ("left", icon, "right", 2, 0) name:SetPoint ("left", icon, "right", 2, 0)
uptime:SetPoint ("left", line, "left", 186, 0) uptime:SetPoint ("left", line, "left", 186, 0)
apply:SetPoint ("left", line, "left", 260, 0) apply:SetPoint ("left", line, "left", 276, 0)
refresh:SetPoint ("left", line, "left", 290, 0) refresh:SetPoint ("left", line, "left", 322, 0)
waButton:SetPoint ("left", line, "left", 322, 0) waButton:SetPoint ("left", line, "left", 372, 0)
line.Icon = icon line.Icon = icon
line.Name = name line.Name = name
@@ -2670,8 +2665,8 @@ function gump:CriaJanelaInfo()
apply:SetJustifyH ("center") apply:SetJustifyH ("center")
refresh:SetJustifyH ("center") refresh:SetJustifyH ("center")
apply:SetWidth (20) apply:SetWidth (26)
refresh:SetWidth (20) refresh:SetWidth (26)
return line return line
end end
@@ -2730,24 +2725,26 @@ function gump:CriaJanelaInfo()
return f return f
end end
local buffLabel = DF:CreateLabel (frame, "Buff Name") local buffLabel = DF:CreateLabel (frame, "Buff Name")
buffLabel:SetPoint (6, -10) buffLabel:SetPoint (headerOffsetsBuffs[1], -10)
local uptimeLabel = DF:CreateLabel (frame, "Uptime") local uptimeLabel = DF:CreateLabel (frame, "Uptime")
uptimeLabel:SetPoint (200, -10) uptimeLabel:SetPoint (headerOffsetsBuffs[2], -10)
local appliedLabel = DF:CreateLabel (frame, "A") local appliedLabel = DF:CreateLabel (frame, "A")
appliedLabel:SetPoint (270, -10) appliedLabel:SetPoint (headerOffsetsBuffs[3], -10)
create_titledesc_frame (appliedLabel.widget, "applications") create_titledesc_frame (appliedLabel.widget, "applications")
local refreshedLabel = DF:CreateLabel (frame, "R") local refreshedLabel = DF:CreateLabel (frame, "R")
refreshedLabel:SetPoint (301, -10) refreshedLabel:SetPoint (headerOffsetsBuffs[4], -10)
create_titledesc_frame (refreshedLabel.widget, "refreshes") create_titledesc_frame (refreshedLabel.widget, "refreshes")
local waLabel = DF:CreateLabel (frame, "WA") local waLabel = DF:CreateLabel (frame, "WA")
waLabel:SetPoint (330, -10) waLabel:SetPoint (headerOffsetsBuffs[5], -10)
create_titledesc_frame (waLabel.widget, "create weak aura") create_titledesc_frame (waLabel.widget, "create weak aura")
local buffScroll = DF:CreateScrollBox (frame, "$parentBuffUptimeScroll", scroll_buff_refresh, {}, scroll_width, 340, scroll_line_amount, scroll_line_height) local buffScroll = DF:CreateScrollBox (frame, "$parentBuffUptimeScroll", scroll_buff_refresh, {}, scroll_width, scrollHeight, scroll_line_amount, scroll_line_height)
buffScroll:SetPoint ("topleft", frame, "topleft", 5, -30) buffScroll:SetPoint ("topleft", frame, "topleft", 5, -30)
for i = 1, scroll_line_amount do for i = 1, scroll_line_amount do
local line = buffScroll:CreateLine (scroll_createline) local line = buffScroll:CreateLine (scroll_createline)
@@ -2759,25 +2756,28 @@ function gump:CriaJanelaInfo()
--debuff scroll --debuff scroll
--icon - name - applications - refreshes - uptime --icon - name - applications - refreshes - uptime
-- --
local debuffLabel = DF:CreateLabel (frame, "Debuff Name") local debuffLabel = DF:CreateLabel (frame, "Debuff Name")
debuffLabel:SetPoint (406, -10) debuffLabel:SetPoint (headerOffsetsDebuffs[1], -10)
local uptimeLabel2 = DF:CreateLabel (frame, "Uptime") local uptimeLabel2 = DF:CreateLabel (frame, "Uptime")
uptimeLabel2:SetPoint (600, -10) uptimeLabel2:SetPoint (headerOffsetsDebuffs[2], -10)
local appliedLabel2 = DF:CreateLabel (frame, "A") local appliedLabel2 = DF:CreateLabel (frame, "A")
appliedLabel2:SetPoint (668, -10) appliedLabel2:SetPoint (headerOffsetsDebuffs[3], -10)
create_titledesc_frame (appliedLabel2.widget, "applications") create_titledesc_frame (appliedLabel2.widget, "applications")
local refreshedLabel2 = DF:CreateLabel (frame, "R") local refreshedLabel2 = DF:CreateLabel (frame, "R")
refreshedLabel2:SetPoint (699, -10) refreshedLabel2:SetPoint (headerOffsetsDebuffs[4], -10)
create_titledesc_frame (refreshedLabel2.widget, "refreshes") create_titledesc_frame (refreshedLabel2.widget, "refreshes")
local waLabel2 = DF:CreateLabel (frame, "WA") local waLabel2 = DF:CreateLabel (frame, "WA")
waLabel2:SetPoint (728, -10) waLabel2:SetPoint (headerOffsetsDebuffs[5], -10)
create_titledesc_frame (waLabel2.widget, "create weak aura") create_titledesc_frame (waLabel2.widget, "create weak aura")
local debuffScroll = DF:CreateScrollBox (frame, "$parentDebuffUptimeScroll", scroll_buff_refresh, {}, scroll_width, 340, scroll_line_amount, scroll_line_height)
debuffScroll:SetPoint ("topleft", frame, "topleft", 405, -30)
local debuffScroll = DF:CreateScrollBox (frame, "$parentDebuffUptimeScroll", scroll_buff_refresh, {}, scroll_width, scrollHeight, scroll_line_amount, scroll_line_height)
debuffScroll:SetPoint ("topleft", frame, "topleft", debuffScrollStartX, -30)
for i = 1, scroll_line_amount do for i = 1, scroll_line_amount do
local line = debuffScroll:CreateLine (scroll_createline) local line = debuffScroll:CreateLine (scroll_createline)
line.AuraType = "DEBUFF" line.AuraType = "DEBUFF"
@@ -4445,7 +4445,7 @@ function gump:CriaJanelaInfo()
for i = 1, 5 do for i = 1, 5 do
local bg_line1 = tooltip:CreateTexture (nil, "artwork") local bg_line1 = tooltip:CreateTexture (nil, "artwork")
bg_line1:SetTexture (bg_texture) bg_line1:SetTexture (bg_texture)
bg_line1:SetPoint ("topleft", tooltip, "topleft", 0, -2 + (((i-1) * 12) * -1) + (y * (i-1)) + 2) --it's physics, okay? physics... bg_line1:SetPoint ("topleft", tooltip, "topleft", 0, -2 + (((i-1) * 12) * -1) + (y * (i-1)) + 2)
bg_line1:SetPoint ("topright", tooltip, "topright", -0, -2 + (((i-1) * 12) * -1) + (y * (i-1)) + 2) bg_line1:SetPoint ("topright", tooltip, "topright", -0, -2 + (((i-1) * 12) * -1) + (y * (i-1)) + 2)
bg_line1:SetHeight (bg_height + 4) bg_line1:SetHeight (bg_height + 4)
bg_line1:SetAlpha (bg_alpha) bg_line1:SetAlpha (bg_alpha)
@@ -4755,6 +4755,7 @@ function gump:CriaJanelaInfo()
width = 16, width = 16,
height = 14, height = 14,
} }
_detalhes:CreatePlayerDetailsTab ("Compare", Loc ["STRING_INFO_TAB_COMPARISON"], --[1] tab name [2] localized name _detalhes:CreatePlayerDetailsTab ("Compare", Loc ["STRING_INFO_TAB_COMPARISON"], --[1] tab name [2] localized name
function (tabOBject, playerObject) --[2] condition function (tabOBject, playerObject) --[2] condition
@@ -4832,21 +4833,29 @@ function gump:CriaJanelaInfo()
compare_create, --[5] oncreate compare_create, --[5] oncreate
iconTableCompare --icon table iconTableCompare --icon table
) )
-- ~compare ~newcompare
-- ~compare
-- ~tab ~tabs -- ~tab ~tabs
function este_gump:ShowTabs() function este_gump:ShowTabs()
local amt_positive = 0 local tabsShown = 0
local secondRowIndex = 1
local breakLine = 6 --th tab it'll start the second line
for index = #_detalhes.player_details_tabs, 1, -1 do for index = 1, #_detalhes.player_details_tabs do
local tab = _detalhes.player_details_tabs [index] local tab = _detalhes.player_details_tabs [index]
if (tab:condition (info.jogador, info.atributo, info.sub_atributo)) then if (tab:condition (info.jogador, info.atributo, info.sub_atributo)) then
--test if can show the tutorial for the comparison tab
if (tab.tabname == "Compare") then if (tab.tabname == "Compare") then
--_detalhes:SetTutorialCVar ("DETAILS_INFO_TUTORIAL1", false) --_detalhes:SetTutorialCVar ("DETAILS_INFO_TUTORIAL1", false)
if (not _detalhes:GetTutorialCVar ("DETAILS_INFO_TUTORIAL1")) then if (not _detalhes:GetTutorialCVar ("DETAILS_INFO_TUTORIAL1")) then
_detalhes:SetTutorialCVar ("DETAILS_INFO_TUTORIAL1", true) _detalhes:SetTutorialCVar ("DETAILS_INFO_TUTORIAL1", true)
@@ -4857,28 +4866,44 @@ function gump:CriaJanelaInfo()
alert:SetPoint ("bottom", tab.widget or tab, "top", 5, 28) alert:SetPoint ("bottom", tab.widget or tab, "top", 5, 28)
alert:Show() alert:Show()
end end
end end
tab:Show() tab:Show()
amt_positive = amt_positive + 1 tabsShown = tabsShown + 1
tab:ClearAllPoints() tab:ClearAllPoints()
--get the button width --get the button width
local buttonTemplate = gump:GetTemplate ("button", "DETAILS_TAB_BUTTON_TEMPLATE") local buttonTemplate = gump:GetTemplate ("button", "DETAILS_TAB_BUTTON_TEMPLATE")
local buttonWidth = buttonTemplate.width + 1 local buttonWidth = buttonTemplate.width + 1
PixelUtil.SetSize (tab, buttonTemplate.width, buttonTemplate.height) --pixelutil might not be compatible with classic wow
PixelUtil.SetPoint (tab, "bottomright", info, "topright", -9 - (buttonWidth * (amt_positive-1)), -72) if (PixelUtil) then
tab:SetAlpha (0.8) PixelUtil.SetSize (tab, buttonTemplate.width, buttonTemplate.height)
if (tabsShown >= breakLine) then --next row of icons
PixelUtil.SetPoint (tab, "bottomright", info, "topright", -514 + (buttonWidth * (secondRowIndex)), -50)
secondRowIndex = secondRowIndex + 1
else
PixelUtil.SetPoint (tab, "bottomright", info, "topright", -514 + (buttonWidth * tabsShown), -72)
end
else
tab:SetSize (buttonTemplate.width, buttonTemplate.height)
if (tabsShown >= breakLine) then --next row of icons
tab:SetPoint ("bottomright", info, "topright", -514 + (buttonWidth * (secondRowIndex)), -50)
secondRowIndex = secondRowIndex + 1
else
tab:SetPoint ("bottomright", info, "topright", -514 + (buttonWidth * tabsShown), -72)
end
end
tab:SetAlpha (0.8)
else else
tab.frame:Hide() tab.frame:Hide()
tab:Hide() tab:Hide()
end end
end end
if (amt_positive < 2) then if (tabsShown < 2) then
_detalhes.player_details_tabs[1]:SetPoint ("BOTTOMLEFT", info.container_barras, "TOPLEFT", 490 - (94 * (1-0)), 1) _detalhes.player_details_tabs[1]:SetPoint ("BOTTOMLEFT", info.container_barras, "TOPLEFT", 490 - (94 * (1-0)), 1)
end end
@@ -4942,6 +4967,9 @@ function _detalhes:CreatePlayerDetailsTab (tabname, localized_name, condition, f
local overlay, textdistance, leftpadding, textheight, short_method --nil local overlay, textdistance, leftpadding, textheight, short_method --nil
newTabButton:SetIcon (texture, width, height, "overlay", coords, overlay, textdistance, leftpadding, textheight, short_method) newTabButton:SetIcon (texture, width, height, "overlay", coords, overlay, textdistance, leftpadding, textheight, short_method)
if (iconSettings.desaturated) then
newTabButton.icon:SetDesaturated (true)
end
end end
if (newTabButton.fillfunction) then if (newTabButton.fillfunction) then
-10
View File
@@ -9356,16 +9356,6 @@ function window:CreateFrame9()
if (value) then if (value) then
--> primeira vez que roda: --> primeira vez que roda:
if (not instance.wallpaper.texture) then if (not instance.wallpaper.texture) then
--[[ 7.1.5 isn't sending the background on the 5 return value ~cleanup
local spec = GetSpecialization()
if (spec) then
local id, name, description, icon, _background, role = GetSpecializationInfo (spec)
if (_background) then
instance.wallpaper.texture = "Interface\\TALENTFRAME\\".._background
end
end
instance.wallpaper.texcoord = {0, 1, 0, 0.703125}
--]]
instance.wallpaper.texture = "Interface\\AddOns\\Details\\images\\background" instance.wallpaper.texture = "Interface\\AddOns\\Details\\images\\background"
end end
+17 -21
View File
@@ -612,7 +612,7 @@ local movement_onupdate = function (self, elapsed)
show_instance_ids() show_instance_ids()
instance_ids_shown = nil instance_ids_shown = nil
if (need_show_group_guide) then if (need_show_group_guide and not DetailsFramework.IsClassicWow()) then
_detalhes.MicroButtonAlert.Text:SetText (Loc ["STRING_WINDOW1ATACH_DESC"]) _detalhes.MicroButtonAlert.Text:SetText (Loc ["STRING_WINDOW1ATACH_DESC"])
_detalhes.MicroButtonAlert:SetPoint ("bottom", need_show_group_guide.baseframe, "top", 0, 30) _detalhes.MicroButtonAlert:SetPoint ("bottom", need_show_group_guide.baseframe, "top", 0, 30)
_detalhes.MicroButtonAlert:SetHeight (320) _detalhes.MicroButtonAlert:SetHeight (320)
@@ -748,10 +748,12 @@ local movement_onupdate = function (self, elapsed)
instancia_alvo:SnapAlert() instancia_alvo:SnapAlert()
_detalhes.snap_alert.playing = true _detalhes.snap_alert.playing = true
_detalhes.MicroButtonAlert.Text:SetText (string.format (Loc ["STRING_ATACH_DESC"], self.instance.meu_id, instancia_alvo.meu_id)) if (not DetailsFramework.IsClassicWow()) then
_detalhes.MicroButtonAlert:SetPoint ("bottom", instancia_alvo.baseframe.cabecalho.modo_selecao.widget, "top", 0, 18) _detalhes.MicroButtonAlert.Text:SetText (string.format (Loc ["STRING_ATACH_DESC"], self.instance.meu_id, instancia_alvo.meu_id))
_detalhes.MicroButtonAlert:SetHeight (200) _detalhes.MicroButtonAlert:SetPoint ("bottom", instancia_alvo.baseframe.cabecalho.modo_selecao.widget, "top", 0, 18)
_detalhes.MicroButtonAlert:Show() _detalhes.MicroButtonAlert:SetHeight (200)
_detalhes.MicroButtonAlert:Show()
end
end end
end end
end end
@@ -1018,7 +1020,10 @@ local function move_janela (baseframe, iniciando, instancia, just_updating)
_detalhes.snap_alert.playing = false _detalhes.snap_alert.playing = false
_detalhes.snap_alert.animIn:Stop() _detalhes.snap_alert.animIn:Stop()
_detalhes.snap_alert.animOut:Play() _detalhes.snap_alert.animOut:Play()
_detalhes.MicroButtonAlert:Hide()
if (not DetailsFramework.IsClassicWow()) then
_detalhes.MicroButtonAlert:Hide()
end
if (instancia_alvo and instancia_alvo.ativa and instancia_alvo.baseframe) then if (instancia_alvo and instancia_alvo.ativa and instancia_alvo.baseframe) then
instancia_alvo.h_esquerda:Stop() instancia_alvo.h_esquerda:Stop()
@@ -2179,7 +2184,7 @@ local icon_frame_on_enter = function (self)
local class_icon, class_L, class_R, class_T, class_B = _detalhes:GetClassIcon (class) local class_icon, class_L, class_R, class_T, class_B = _detalhes:GetClassIcon (class)
local spec_id, spec_name, spec_description, spec_icon, spec_role, spec_class = GetSpecializationInfoByID (spec or 0) --thanks pas06 local spec_id, spec_name, spec_description, spec_icon, spec_role, spec_class = DetailsFramework.GetSpecializationInfoByID (spec or 0) --thanks pas06
local spec_L, spec_R, spec_T, spec_B local spec_L, spec_R, spec_T, spec_B
if (spec_id) then if (spec_id) then
spec_L, spec_R, spec_T, spec_B = unpack (_detalhes.class_specs_coords [spec]) spec_L, spec_R, spec_T, spec_B = unpack (_detalhes.class_specs_coords [spec])
@@ -4882,15 +4887,6 @@ function _detalhes:InstanceWallpaper (texture, anchor, alpha, texcoord, width, h
end end
if (not wallpaper.texture and not texture) then if (not wallpaper.texture and not texture) then
--[[ 7.1.5 isn't sending the background on the 5 return value ~cleanup
local spec = GetSpecialization()
if (spec) then
local _, _, _, _, _background = GetSpecializationInfo (spec)
if (_background) then
texture = "Interface\\TALENTFRAME\\".._background
end
end
--]]
texture = "Interface\\AddOns\\Details\\images\\background" texture = "Interface\\AddOns\\Details\\images\\background"
texcoord = {0, 1, 0, 0.7} texcoord = {0, 1, 0, 0.7}
@@ -6088,7 +6084,7 @@ function _detalhes:GetSegmentInfo (index)
elseif (combat.instance_type == "party") then elseif (combat.instance_type == "party") then
local ej_id = combat.is_boss.ej_instance_id local ej_id = combat.is_boss.ej_instance_id
if (ej_id) then if (ej_id) then
local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = EJ_GetInstanceInfo (ej_id) local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = DetailsFramework.EncounterJournal.EJ_GetInstanceInfo (ej_id)
if (bgImage) then if (bgImage) then
background = bgImage background = bgImage
background_coords = party_wallpaper_tex background_coords = party_wallpaper_tex
@@ -6359,7 +6355,7 @@ local build_segment_list = function (self, elapsed)
if (index and name and encounterID) then if (index and name and encounterID) then
--EJ_SelectInstance (instanceID) --EJ_SelectInstance (instanceID)
--creature info pode ser sempre 1, no usar o index do boss --creature info pode ser sempre 1, no usar o index do boss
local id, name, description, displayInfo, iconImage = EJ_GetCreatureInfo (1, encounterID) local id, name, description, displayInfo, iconImage = DetailsFramework.EncounterJournal.EJ_GetCreatureInfo (1, encounterID)
if (iconImage) then if (iconImage) then
CoolTip:AddIcon (iconImage, 2, "top", 128, 64) CoolTip:AddIcon (iconImage, 2, "top", 128, 64)
end end
@@ -6376,7 +6372,7 @@ local build_segment_list = function (self, elapsed)
else else
local ej_id = thisCombat.is_boss.ej_instance_id local ej_id = thisCombat.is_boss.ej_instance_id
if (ej_id and ej_id ~= 0) then if (ej_id and ej_id ~= 0) then
local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = EJ_GetInstanceInfo (ej_id) local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = DetailsFramework.EncounterJournal.EJ_GetInstanceInfo (ej_id)
if (name) then if (name) then
if (thisCombat.instance_type == "party") then if (thisCombat.instance_type == "party") then
CoolTip:SetWallpaper (2, bgImage, party_wallpaper_tex, party_wallpaper_color, true) CoolTip:SetWallpaper (2, bgImage, party_wallpaper_tex, party_wallpaper_color, true)
@@ -6629,7 +6625,7 @@ local build_segment_list = function (self, elapsed)
if (encounter_name and instanceID and instanceID ~= 0) then if (encounter_name and instanceID and instanceID ~= 0) then
local index, name, description, encounterID, rootSectionID, link = _detalhes:GetEncounterInfoFromEncounterName (instanceID, encounter_name) local index, name, description, encounterID, rootSectionID, link = _detalhes:GetEncounterInfoFromEncounterName (instanceID, encounter_name)
if (index and name and encounterID) then if (index and name and encounterID) then
local id, name, description, displayInfo, iconImage = EJ_GetCreatureInfo (index, encounterID) local id, name, description, displayInfo, iconImage = DetailsFramework.EncounterJournal.EJ_GetCreatureInfo (index, encounterID)
if (iconImage) then if (iconImage) then
CoolTip:AddIcon (iconImage, 2, "top", 128, 64) CoolTip:AddIcon (iconImage, 2, "top", 128, 64)
end end
@@ -6644,7 +6640,7 @@ local build_segment_list = function (self, elapsed)
else else
local ej_id = _detalhes.tabela_vigente.is_boss.ej_instance_id local ej_id = _detalhes.tabela_vigente.is_boss.ej_instance_id
if (ej_id and ej_id ~= 0) then if (ej_id and ej_id ~= 0) then
local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = EJ_GetInstanceInfo (ej_id) local name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link = DetailsFramework.EncounterJournal.EJ_GetInstanceInfo (ej_id)
if (name) then if (name) then
if (_detalhes.tabela_vigente.instance_type == "party") then if (_detalhes.tabela_vigente.instance_type == "party") then
CoolTip:SetWallpaper (2, bgImage, party_wallpaper_tex, party_wallpaper_color, true) CoolTip:SetWallpaper (2, bgImage, party_wallpaper_tex, party_wallpaper_color, true)
@@ -2216,6 +2216,10 @@ function EncounterDetails:OnEvent (_, event, ...)
if (_G._detalhes and _G._detalhes:InstallOkey()) then if (_G._detalhes and _G._detalhes:InstallOkey()) then
if (DetailsFramework.IsClassicWow()) then
return
end
--> create widgets --> create widgets
CreatePluginFrames (data) CreatePluginFrames (data)
@@ -2094,7 +2094,6 @@ _detalhes.EncounterDetailsTempWindow = function (EncounterDetails)
local spellname, _, spellicon = _GetSpellInfo (spell) local spellname, _, spellicon = _GetSpellInfo (spell)
tinsert (t, {label = spellname, value = {timer_table [2], spellname, spellIcon or spellicon, timer_table.id, timer_table [7]}, icon = spellIcon or spellicon, onclick = on_select_dbm_bar}) tinsert (t, {label = spellname, value = {timer_table [2], spellname, spellIcon or spellicon, timer_table.id, timer_table [7]}, icon = spellIcon or spellicon, onclick = on_select_dbm_bar})
else else
--local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = EJ_GetSectionInfo (spell)
local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = C_EncounterJournal.GetSectionInfo (spell) local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = C_EncounterJournal.GetSectionInfo (spell)
tinsert (t, {label = title, value = {timer_table [2], title, spellIcon or abilityIcon, timer_table.id, timer_table [7]}, icon = spellIcon or abilityIcon, onclick = on_select_dbm_bar}) tinsert (t, {label = title, value = {timer_table [2], title, spellIcon or abilityIcon, timer_table.id, timer_table [7]}, icon = spellIcon or abilityIcon, onclick = on_select_dbm_bar})
end end
@@ -2122,7 +2121,6 @@ _detalhes.EncounterDetailsTempWindow = function (EncounterDetails)
local spellname = timer_table [2]:gsub (" %(.%)", "") local spellname = timer_table [2]:gsub (" %(.%)", "")
tinsert (t, {label = spellname, value = {timer_table [2], spellname, timer_table [5], timer_table.id}, icon = timer_table [5], onclick = on_select_bw_bar}) tinsert (t, {label = spellname, value = {timer_table [2], spellname, timer_table [5], timer_table.id}, icon = timer_table [5], onclick = on_select_bw_bar})
elseif (int_spell < 0) then elseif (int_spell < 0) then
--local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = EJ_GetSectionInfo (abs (int_spell))
local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = C_EncounterJournal.GetSectionInfo (abs (int_spell)) local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = C_EncounterJournal.GetSectionInfo (abs (int_spell))
tinsert (t, {label = title, value = {timer_table [2], title, timer_table [5] or abilityIcon, timer_table.id}, icon = timer_table [5] or abilityIcon, onclick = on_select_bw_bar}) tinsert (t, {label = title, value = {timer_table [2], title, timer_table [5] or abilityIcon, timer_table.id}, icon = timer_table [5] or abilityIcon, onclick = on_select_bw_bar})
else else
@@ -4,11 +4,12 @@ local UnitBuff = UnitBuff
local GetSpellInfo = GetSpellInfo local GetSpellInfo = GetSpellInfo
local UnitClass = UnitClass local UnitClass = UnitClass
local UnitName = UnitName local UnitName = UnitName
local UnitGroupRolesAssigned = UnitGroupRolesAssigned
local CLASS_ICON_TCOORDS = CLASS_ICON_TCOORDS local CLASS_ICON_TCOORDS = CLASS_ICON_TCOORDS
local DF = DetailsFramework local DF = DetailsFramework
local UnitGroupRolesAssigned = DF.UnitGroupRolesAssigned
--> build the list of buffs to track --> build the list of buffs to track
local flask_list = DetailsFramework.FlaskIDs local flask_list = DetailsFramework.FlaskIDs
@@ -869,6 +870,10 @@ end
if (_G._detalhes) then if (_G._detalhes) then
if (DetailsFramework.IsClassicWow()) then
return
end
--> create widgets --> create widgets
CreatePluginFrames() CreatePluginFrames()
@@ -1895,6 +1895,10 @@ function StreamOverlay:OnEvent (_, event, ...)
player_name = UnitName ("player") player_name = UnitName ("player")
if (_G._detalhes) then if (_G._detalhes) then
if (DetailsFramework.IsClassicWow()) then
return
end
--> create widgets --> create widgets
CreatePluginFrames() CreatePluginFrames()
@@ -8,7 +8,7 @@ local _UnitName = UnitName --> wow api
local _UnitDetailedThreatSituation = UnitDetailedThreatSituation local _UnitDetailedThreatSituation = UnitDetailedThreatSituation
local _IsInRaid = IsInRaid --> wow api local _IsInRaid = IsInRaid --> wow api
local _IsInGroup = IsInGroup --> wow api local _IsInGroup = IsInGroup --> wow api
local _UnitGroupRolesAssigned = UnitGroupRolesAssigned --> wow api local _UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned --> wow api
local GetUnitName = GetUnitName local GetUnitName = GetUnitName
local _ipairs = ipairs --> lua api local _ipairs = ipairs --> lua api
@@ -639,6 +639,10 @@ function ThreatMeter:OnEvent (_, event, ...)
if (AddonName == "Details_TinyThreat") then if (AddonName == "Details_TinyThreat") then
if (_G._detalhes) then if (_G._detalhes) then
if (DetailsFramework.IsClassicWow()) then
return
end
--> create widgets --> create widgets
CreatePluginFrames (data) CreatePluginFrames (data)
@@ -13,7 +13,7 @@ local _UFC = UnitAffectingCombat --> wow api local
local _IsInRaid = IsInRaid --> wow api local local _IsInRaid = IsInRaid --> wow api local
local _IsInGroup = IsInGroup --> wow api local local _IsInGroup = IsInGroup --> wow api local
local _UnitName = UnitName --> wow api local local _UnitName = UnitName --> wow api local
local _UnitGroupRolesAssigned = UnitGroupRolesAssigned --> wow api local local _UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
local _UnitHealth = UnitHealth --> wow api local local _UnitHealth = UnitHealth --> wow api local
local _UnitHealthMax = UnitHealthMax --> wow api local local _UnitHealthMax = UnitHealthMax --> wow api local
local _UnitIsPlayer = UnitIsPlayer --> wow api local local _UnitIsPlayer = UnitIsPlayer --> wow api local
@@ -826,6 +826,10 @@ function Vanguard:OnEvent (_, event, arg1, token, time, who_serial, who_name, wh
if (AddonName == "Details_Vanguard") then if (AddonName == "Details_Vanguard") then
if (_G._detalhes) then if (_G._detalhes) then
if (DetailsFramework.IsClassicWow()) then
return
end
local MINIMAL_DETAILS_VERSION_REQUIRED = 1 local MINIMAL_DETAILS_VERSION_REQUIRED = 1
local default_saved_table = { local default_saved_table = {
+18 -13
View File
@@ -1,5 +1,5 @@
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
--> check unloaded files: --> check unloaded files:
if ( if (
@@ -273,18 +273,19 @@ function _G._detalhes:Start()
self.listener:RegisterEvent ("START_TIMER") self.listener:RegisterEvent ("START_TIMER")
self.listener:RegisterEvent ("UNIT_NAME_UPDATE") self.listener:RegisterEvent ("UNIT_NAME_UPDATE")
self.listener:RegisterEvent ("PET_BATTLE_OPENING_START")
self.listener:RegisterEvent ("PET_BATTLE_CLOSE")
self.listener:RegisterEvent ("PLAYER_ROLES_ASSIGNED") self.listener:RegisterEvent ("PLAYER_ROLES_ASSIGNED")
self.listener:RegisterEvent ("ROLE_CHANGED_INFORM") self.listener:RegisterEvent ("ROLE_CHANGED_INFORM")
self.listener:RegisterEvent ("UNIT_FACTION") self.listener:RegisterEvent ("UNIT_FACTION")
self.listener:RegisterEvent ("PLAYER_SPECIALIZATION_CHANGED")
self.listener:RegisterEvent ("PLAYER_TALENT_UPDATE") if (not DetailsFramework.IsClassicWow()) then
self.listener:RegisterEvent ("PET_BATTLE_OPENING_START")
self.listener:RegisterEvent ("CHALLENGE_MODE_START") self.listener:RegisterEvent ("PET_BATTLE_CLOSE")
self.listener:RegisterEvent ("CHALLENGE_MODE_COMPLETED") self.listener:RegisterEvent ("PLAYER_SPECIALIZATION_CHANGED")
self.listener:RegisterEvent ("PLAYER_TALENT_UPDATE")
self.listener:RegisterEvent ("CHALLENGE_MODE_START")
self.listener:RegisterEvent ("CHALLENGE_MODE_COMPLETED")
end
--test immersion stuff --test immersion stuff
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -338,13 +339,14 @@ function _G._detalhes:Start()
local newFrame = CreateFrame ("frame", "DetailsMythicPlusFrame", UIParent) local newFrame = CreateFrame ("frame", "DetailsMythicPlusFrame", UIParent)
newFrame.DevelopmentDebug = false newFrame.DevelopmentDebug = false
--[ --disabnling the mythic+ feature if the user is playing in wow classic
if (not DetailsFramework.IsClassicWow()) then
newFrame:RegisterEvent ("CHALLENGE_MODE_START") newFrame:RegisterEvent ("CHALLENGE_MODE_START")
newFrame:RegisterEvent ("CHALLENGE_MODE_COMPLETED") newFrame:RegisterEvent ("CHALLENGE_MODE_COMPLETED")
newFrame:RegisterEvent ("ZONE_CHANGED_NEW_AREA") newFrame:RegisterEvent ("ZONE_CHANGED_NEW_AREA")
newFrame:RegisterEvent ("ENCOUNTER_END") newFrame:RegisterEvent ("ENCOUNTER_END")
newFrame:RegisterEvent ("START_TIMER") newFrame:RegisterEvent ("START_TIMER")
--]] end
--[[ --[[
all mythic segments have: all mythic segments have:
@@ -958,7 +960,7 @@ function _G._detalhes:Start()
return return
end end
local ejID = EJ_GetInstanceForMap (mapID) local ejID = DetailsFramework.EncounterJournal.EJ_GetInstanceForMap (mapID)
--> setup the mythic run info --> setup the mythic run info
self.MythicPlus.Started = true self.MythicPlus.Started = true
@@ -1822,7 +1824,10 @@ function _G._detalhes:Start()
--> auto run frame to dispatch scrtips for some events that details! doesn't handle --> auto run frame to dispatch scrtips for some events that details! doesn't handle
local auto_run_code_dispatch = CreateFrame ("frame") local auto_run_code_dispatch = CreateFrame ("frame")
auto_run_code_dispatch:RegisterEvent ("PLAYER_SPECIALIZATION_CHANGED")
if (not DetailsFramework.IsClassicWow()) then
auto_run_code_dispatch:RegisterEvent ("PLAYER_SPECIALIZATION_CHANGED")
end
auto_run_code_dispatch.OnEventFunc = function (self, event) auto_run_code_dispatch.OnEventFunc = function (self, event)
--> ignore events triggered more than once in a small time window --> ignore events triggered more than once in a small time window