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/icons.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 DF, oldminor = LibStub:NewLibrary (major, minor)
@@ -25,6 +25,94 @@ DF.AuthorInfo = {
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
local init_counter = math.random (1, 1000000)
@@ -2496,9 +2584,9 @@ function DF:ReskinSlider (slider, heightOffset)
end
function DF:GetCurrentSpec()
local specIndex = GetSpecialization()
local specIndex = DF.GetSpecialization()
if (specIndex) then
local specID = GetSpecializationInfo (specIndex)
local specID = DF.GetSpecializationInfo (specIndex)
if (specID and specID ~= 0) then
return specID
end
@@ -2786,8 +2874,8 @@ DF.CLEncounterID = {
function DF:GetPlayerRole()
local assignedRole = UnitGroupRolesAssigned ("player")
if (assignedRole == "NONE") then
local spec = GetSpecialization()
return spec and GetSpecializationRole (spec) or "NONE"
local spec = DF.GetSpecialization()
return spec and DF.GetSpecializationRole (spec) or "NONE"
end
return assignedRole
end
+14 -12
View File
@@ -14,6 +14,8 @@ local _type = type --> lua local
local _math_floor = math.floor --> lua local
local loadstring = loadstring --> lua local
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
local cleanfunction = function() end
local APIFrameFunctions
@@ -4459,7 +4461,7 @@ function DF:CreateKeybindBox (parent, name, data, callback, width, height, line_
for index, specId in ipairs (specIds) do
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:SetClickFunction (switch_spec, specId)
button:SetIcon (spec_icon)
@@ -4584,9 +4586,9 @@ function DF:CreateKeybindBox (parent, name, data, callback, width, height, line_
if (type (dispel) == "table") then
local dispelString = "\n"
for specID, spellid in pairs (dispel) do
local specid, specName = GetSpecializationInfoByID (specID)
local specid, specName = DetailsFramework.GetSpecializationInfoByID (specID)
local spellName = GetSpellInfo (spellid)
dispelString = dispelString .. "|cFFE5E5E5" .. specName .. "|r: |cFFFFFFFF" .. spellName .. "\n"
dispelString = dispelString .. "|cFFE5E5E5" .. (specName or "") .. "|r: |cFFFFFFFF" .. spellName .. "\n"
end
dispel = dispelString
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
if (specID ~= new_keybind_frame.EditingSpec) then
local key = CopyTable (keybind)
local specid, specName = GetSpecializationInfoByID (specID)
local specid, specName = DetailsFramework.GetSpecializationInfoByID (specID)
tinsert (new_keybind_frame.Data [specID], key)
DF:Msg ("Keybind copied to " .. specName)
DF:Msg ("Keybind copied to " .. (specName or ""))
end
end
DF:QuickDispatch (callback)
@@ -5653,9 +5655,9 @@ function DF:CreateLoadFilterParser (callback)
elseif (event == "PLAYER_ROLES_ASSIGNED") then
local assignedRole = UnitGroupRolesAssigned ("player")
if (assignedRole == "NONE") then
local spec = GetSpecialization()
local spec = DetailsFramework.GetSpecialization()
if (spec) then
assignedRole = GetSpecializationRole (spec)
assignedRole = DetailsFramework.GetSpecializationRole (spec)
end
end
@@ -5705,9 +5707,9 @@ function DF:PassLoadFilters (loadTable, encounterID)
end
if (canCheckTalents) then
local specIndex = GetSpecialization()
local specIndex = DetailsFramework.GetSpecialization()
if (specIndex) then
local specID = GetSpecializationInfo (specIndex)
local specID = DetailsFramework.GetSpecializationInfo (specIndex)
if (not loadTable.spec [specID]) then
return false
end
@@ -5767,9 +5769,9 @@ function DF:PassLoadFilters (loadTable, encounterID)
if (loadTable.role.Enabled) then
local assignedRole = UnitGroupRolesAssigned ("player")
if (assignedRole == "NONE") then
local spec = GetSpecialization()
local spec = DetailsFramework.GetSpecialization()
if (spec) then
assignedRole = GetSpecializationRole (spec)
assignedRole = DetailsFramework.GetSpecializationRole (spec)
end
end
if (not loadTable.role [assignedRole]) then
@@ -5927,7 +5929,7 @@ function DF:OpenLoadConditionsPanel (optionsTable, callback, frameOptions)
--create the radio group for character spec
local specs = {}
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, {
name = specName,
set = f.OnRadioCheckboxClick,
+2 -2
View File
@@ -834,8 +834,8 @@ DF.RuneIDs = {
function DF:GetSpellsForEncounterFromJournal (instanceEJID, encounterEJID)
EJ_SelectInstance (instanceEJID)
local name, description, encounterID, rootSectionID, link = EJ_GetEncounterInfo (encounterEJID) --taloc (primeiro boss de Uldir)
DetailsFramework.EncounterJournal.EJ_SelectInstance (instanceEJID)
local name, description, encounterID, rootSectionID, link = DetailsFramework.EncounterJournal.EJ_GetEncounterInfo (encounterEJID) --taloc (primeiro boss de Uldir)
if (not name) then
print ("DetailsFramework: Encounter Info Not Found!", instanceEJID, encounterEJID)
+1 -1
View File
@@ -16,6 +16,6 @@
<Include file="LibCompress\lib.xml"/>
<Include file="LibDeflate\lib.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"/>
</Ui>
+4 -4
View File
@@ -1920,9 +1920,9 @@
local player
local pet_attribute
local role = UnitGroupRolesAssigned ("player")
local spec = GetSpecialization()
role = spec and GetSpecializationRole (spec) or role
local role = DetailsFramework.UnitGroupRolesAssigned ("player")
local spec = DetailsFramework.GetSpecialization()
role = spec and DetailsFramework.GetSpecializationRole (spec) or role
if (role == "DAMAGER") then
player = combat (DETAILS_ATTRIBUTE_DAMAGE, _detalhes.playername)
@@ -1980,7 +1980,7 @@
local GC = GameCooltip
GC:SetOption ("YSpacingMod", 0)
local role = UnitGroupRolesAssigned ("player")
local role = DetailsFramework.UnitGroupRolesAssigned ("player")
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 _UnitName = UnitName --> 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 gump = _detalhes.gump
@@ -1284,19 +1284,6 @@ end
--> setup default wallpaper
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
return new_instance
@@ -1315,19 +1302,7 @@ end
new_instance:ResetInstanceConfig()
--> setup default wallpaper
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
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
+2 -1
View File
@@ -19,6 +19,7 @@
local _pairs = pairs --lua local
local AddUnique = DetailsFramework.table.addunique --framework
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned --framework
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> constants
@@ -290,7 +291,7 @@
if (name == nome) then
local spec = GetArenaOpponentSpec (i)
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.classe = class
novo_objeto.enemy = true
+7 -8
View File
@@ -33,6 +33,8 @@
local atributo_custom = _detalhes.atributo_custom --details local
local info = _detalhes.janela_info --details local
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> constants
@@ -115,7 +117,7 @@
local mapID = C_Map.GetBestMapForUnit ("player")
local ejid
if (mapID) then
ejid = EJ_GetInstanceForMap (mapID)
ejid = DetailsFramework.EncounterJournal.EJ_GetInstanceForMap (mapID)
end
if (not mapID) then
@@ -123,7 +125,6 @@
return
end
--local ejid = EJ_GetCurrentInstance()
if (ejid == 0) then
ejid = _detalhes:GetInstanceEJID()
end
@@ -551,9 +552,7 @@
mapID = 0
end
local ejid = EJ_GetInstanceForMap (mapID)
--local ejid = EJ_GetCurrentInstance()
local ejid = DetailsFramework.EncounterJournal.EJ_GetInstanceForMap (mapID)
if (ejid == 0) then
ejid = _detalhes:GetInstanceEJID()
@@ -575,7 +574,7 @@
end
--> 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
_detalhes.tabela_vigente.is_mythic_dungeon_segment = true
_detalhes.tabela_vigente.is_mythic_dungeon_run_id = _detalhes.mythic_dungeon_id
@@ -1070,10 +1069,10 @@
return
end
local _, playerClass = UnitClass ("player")
local specIndex = GetSpecialization()
local specIndex = DetailsFramework.GetSpecialization()
local playerSpecID
if (specIndex) then
playerSpecID = GetSpecializationInfo (specIndex)
playerSpecID = DetailsFramework.GetSpecializationInfo (specIndex)
end
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 UnitGUID = UnitGUID
local UnitGroupRolesAssigned = UnitGroupRolesAssigned
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
local select = select
local floor = floor
local GetNumGroupMembers = GetNumGroupMembers
local ItemUpgradeInfo = LibStub ("LibItemUpgradeInfo-1.0")
local LibGroupInSpecT = LibStub ("LibGroupInSpecT-1.1")
--local LibGroupInSpecT = false
--local LibGroupInSpecT = LibStub ("LibGroupInSpecT-1.1") --disabled due to classic wow
local ItemUpgradeInfo
local LibGroupInSpecT
if (DetailsFramework.IsClassicWow()) then
ItemUpgradeInfo = false
LibGroupInSpecT = false
end
local storageDebug = false
local store_instances = _detalhes.InstancesToStoreData
@@ -423,9 +430,9 @@ function _detalhes:ResetSpecCache (forced)
table.wipe (_detalhes.cached_specs)
if (_detalhes.track_specs) then
local my_spec = GetSpecialization()
local my_spec = DetailsFramework.GetSpecialization()
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
local pguid = UnitGUID (_detalhes.playername)
if (pguid) then
@@ -1793,29 +1800,33 @@ function ilvl_core:CalcItemLevel (unitid, guid, shout)
end
end
local spec = GetInspectSpecialization (unitid)
if (spec and spec ~= 0) then
_detalhes.cached_specs [guid] = spec
end
local spec
local talents = {}
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 o = 1, 3 do
local talentID, name, texture, selected, available = GetTalentInfo (i, o, 1, true, unitid)
if (selected) then
tinsert (talents, talentID)
break
for i = 1, 7 do
for o = 1, 3 do
--need to review this in classic
local talentID, name, texture, selected, available = GetTalentInfo (i, o, 1, true, unitid)
if (selected) then
tinsert (talents, talentID)
break
end
end
end
end
if (talents [1]) then
_detalhes.cached_talents [guid] = talents
--print (UnitName (unitid), "talents:", unpack (talents))
if (talents [1]) then
_detalhes.cached_talents [guid] = talents
--print (UnitName (unitid), "talents:", unpack (talents))
end
end
--------------------------------------------------------------------------------------------------------
if (ilvl_core.forced_inspects [guid]) then
+8 -2
View File
@@ -86,6 +86,12 @@
return
end
if (DetailsFramework.IsClassicWow()) then
--average item level doesn't exists
--talent information is very different
return
end
--> check the player level
local playerLevel = UnitLevel ("player")
if (not playerLevel) then
@@ -116,10 +122,10 @@
end
--> get the spec ID
local spec = GetSpecialization()
local spec = DetailsFramework.GetSpecialization()
local currentSpec
if (spec) then
local specID = GetSpecializationInfo (spec)
local specID = DetailsFramework.GetSpecializationInfo (spec)
if (specID and specID ~= 0) then
currentSpec = specID
end
+12 -6
View File
@@ -18,7 +18,7 @@
local _IsInRaid = IsInRaid --wow api local
local _IsInGroup = IsInGroup --wow api local
local _GetNumGroupMembers = GetNumGroupMembers --wow api local
local _UnitGroupRolesAssigned = UnitGroupRolesAssigned --wow api local
local _UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
local _GetTime = GetTime
local _select = select
local _UnitBuff = UnitBuff
@@ -361,7 +361,7 @@
else
local db = _detalhes.GetStorage()
local role = UnitGroupRolesAssigned ("player")
local role = _UnitGroupRolesAssigned ("player")
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)
@@ -4641,9 +4641,15 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
end
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
local specID = GetSpecializationInfo (specIndex)
local specID = DetailsFramework.GetSpecializationInfo (specIndex)
if (specID and specID ~= 0) then
local guid = UnitGUID ("player")
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
tanks_members_cache [_UnitGUID ("player")] = true
else
local spec = GetSpecialization()
local spec = DetailsFramework.GetSpecialization()
if (spec and spec ~= 0) then
if (GetSpecializationRole (spec) == "TANK") then
if (DetailsFramework.GetSpecializationRole (spec) == "TANK") then
tanks_members_cache [_UnitGUID ("player")] = true
end
end
+2 -1
View File
@@ -18,7 +18,8 @@
local _math_floor = math.floor --> api local
local _ipairs = ipairs --> api local
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> status bar core functions
+17 -13
View File
@@ -212,14 +212,14 @@ do
end
function _detalhes:GetEncounterInfoFromEncounterName (EJID, encountername)
EJ_SelectInstance (EJID)
DetailsFramework.EncounterJournal.EJ_SelectInstance (EJID)
for i = 1, 20 do
local name = EJ_GetEncounterInfoByIndex (i, EJID)
local name = DetailsFramework.EncounterJournal.EJ_GetEncounterInfoByIndex (i, EJID)
if (not name) then
return
end
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
@@ -242,7 +242,7 @@ do
end
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 (instanceType == "party") then
return loreImage --bgImage
@@ -292,7 +292,7 @@ do
if (encounterName and ejID and ejID ~= 0) then
local index, name, description, encounterID, rootSectionID, link = _detalhes:GetEncounterInfoFromEncounterName (ejID, encounterName)
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
return iconImage
end
@@ -306,9 +306,14 @@ do
function _detalhes:GetEncounterActorsName (EJ_EncounterID)
--code snippet from wowpedia
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
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
actors [title] = {model = displayInfo, info = description}
end
@@ -332,7 +337,6 @@ do
end
function _detalhes:GetCurrentDungeonBossListFromEJ()
--local EJ_CInstance = EJ_GetCurrentInstance()
local mapID = C_Map.GetBestMapForUnit ("player")
@@ -341,26 +345,26 @@ do
return
end
local EJ_CInstance = EJ_GetInstanceForMap(mapID)
local EJ_CInstance = DetailsFramework.EncounterJournal.EJ_GetInstanceForMap(mapID)
if (EJ_CInstance and EJ_CInstance ~= 0) then
if (_detalhes.encounter_dungeons [EJ_CInstance]) then
return _detalhes.encounter_dungeons [EJ_CInstance]
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 = {
[EJ_CInstance] = {name, description, bgImage, buttonImage, loreImage, dungeonAreaMapID, link}
}
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
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
boss_list [creatureName] = {encounterName, encounterID, creatureName, iconImage, EJ_CInstance}
else
+4 -2
View File
@@ -28,6 +28,8 @@
--templates
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
_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,
backdropcolor = {0, 0, 0, .1},
@@ -3690,7 +3692,7 @@
if (data [7]) then
local spellid = data[7]:gsub ("ej", "")
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
else
return
@@ -3818,7 +3820,7 @@
if (type (spellid) == "number") 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
else
spellname, _, spellicon = GetSpellInfo (spellid)
+7 -3
View File
@@ -1476,12 +1476,16 @@ function _detalhes:UpdateState_CurrentMythicDungeonRun (stillOngoing, segmentID,
end
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 mythicLevel = C_ChallengeMode.GetActiveKeystoneInfo()
local zoneName, _, _, _, _, _, _, currentZoneID = GetInstanceInfo()
--local ejID = EJ_GetCurrentInstance() --removed on 8.0
local mapID = C_Map.GetBestMapForUnit ("player")
if (not mapID) then
@@ -1491,7 +1495,7 @@ function _detalhes:RestoreState_CurrentMythicDungeonRun()
local ejID = 0
if (mapID) then
ejID = EJ_GetInstanceForMap (mapID) or 0
ejID = DetailsFramework.EncounterJournal.EJ_GetInstanceForMap (mapID) or 0
end
--> is there a saved state for the dungeon?
+12 -12
View File
@@ -33,16 +33,16 @@ do
C_Timer.After (10, function()
--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
local BOSSNAMES = {}
local ENCOUNTERS = {}
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
tinsert (BOSSNAMES, bossName)
local encounterTable = {
@@ -134,16 +134,16 @@ do
C_Timer.After (10, function()
--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
local BOSSNAMES = {}
local ENCOUNTERS = {}
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
tinsert (BOSSNAMES, bossName)
local encounterTable = {
@@ -242,16 +242,16 @@ do
C_Timer.After (10, function()
--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
local BOSSNAMES = {}
local ENCOUNTERS = {}
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
tinsert (BOSSNAMES, bossName)
local encounterTable = {
@@ -350,16 +350,16 @@ do
function Details:ScheduleInstallRaidDataForAntorus()
--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
local BOSSNAMES = {}
local ENCOUNTERS = {}
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
tinsert (BOSSNAMES, bossName)
local encounterTable = {
+13 -13
View File
@@ -423,7 +423,7 @@ function SlashCmdList.DETAILS (msg, editbox)
--[[ get the EJ_ raid id
local wantRaids = true -- set false to get 5-man list
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
DEFAULT_CHAT_FRAME:AddMessage( instanceID.." "..name ,1,0.7,0.5)
end
@@ -432,7 +432,7 @@ function SlashCmdList.DETAILS (msg, editbox)
local iid=362
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
local msg = encounterID .. " , " .. name .. ", ".. rootSectionID.. ", "..link
@@ -1156,20 +1156,20 @@ Damage Update Status: @INSTANCEDAMAGESTATUS
)
elseif (msg == "ejloot") then
EJ_SelectInstance (669) -- hellfire citadel
EJ_SetDifficulty (16)
DetailsFramework.EncounterJournal.EJ_SelectInstance (669) -- hellfire citadel
DetailsFramework.EncounterJournal.EJ_SetDifficulty (16)
local r = {}
local total = 0
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
EJ_SelectEncounter (encounterID)
print (name, encounterID, EJ_GetNumLoot())
DetailsFramework.EncounterJournal.EJ_SelectEncounter (encounterID)
print (name, encounterID, DetailsFramework.EncounterJournal.EJ_GetNumLoot())
for o = 1, EJ_GetNumLoot() do
local name, icon, slot, armorType, itemID, link, encounterID = EJ_GetLootInfoByIndex (o)
for o = 1, DetailsFramework.EncounterJournal.EJ_GetNumLoot() do
local name, icon, slot, armorType, itemID, link, encounterID = DetailsFramework.EncounterJournal.EJ_GetLootInfoByIndex (o)
r[slot] = r[slot] or {}
tinsert (r[slot], {itemID, encounterID})
total = total + 1
@@ -1359,9 +1359,9 @@ Damage Update Status: @INSTANCEDAMAGESTATUS
elseif (msg == "spec") then
local spec = GetSpecialization()
local spec = DetailsFramework.GetSpecialization()
if (spec) then
local specID = GetSpecializationInfo (spec)
local specID = DetailsFramework.GetSpecializationInfo (spec)
if (specID and specID ~= 0) then
print ("Current SpecID: ", specID)
end
@@ -1478,10 +1478,10 @@ Damage Update Status: @INSTANCEDAMAGESTATUS
local spellIDs = {}
--uldir
EJ_SelectInstance (1031)
DetailsFramework.EncounterJournal.EJ_SelectInstance (1031)
-- 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
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_Icon = lightOfTheMartyr_Icon or ""
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)
local default_user_spells
[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)
if (DetailsFramework.IsClassicWow()) then
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)
[33778] = {name = GetSpellInfo (33778) .. " (Bloom)"}, --lifebloom (bloom)
[121414] = {name = GetSpellInfo (121414) .. " (Glaive #1)"}, --> glaive toss (hunter)
[120761] = {name = GetSpellInfo (120761) .. " (Glaive #2)"}, --> glaive toss (hunter)
[212739] = {name = GetSpellInfo (212739) .. " (Main Target)"}, --DK Epidemic
[215969] = {name = GetSpellInfo (215969) .. " (AoE)"}, --DK Epidemic
[70890] = {name = GetSpellInfo (70890) .. " (Shadow)"}, --DK Scourge Strike
[55090] = {name = GetSpellInfo (55090) .. " (Physical)"}, --DK Scourge Strike
[49184] = {name = GetSpellInfo (49184) .. " (Main Target)"}, --DK Howling Blast
[237680] = {name = GetSpellInfo (237680) .. " (AoE)"}, --DK Howling Blast
[228649] = {name = GetSpellInfo (228649) .. " (Passive)"}, --Monk Mistweaver Blackout kick - Passive Teachings of the Monastery
--> bfa trinkets
[278155] = {name = GetSpellInfo (278155) .. " (Trinket)"}, --[Twitching Tentacle of Xalzaix]
[279664] = {name = GetSpellInfo (279664) .. " (Trinket)"}, --[Vanquished Tendril of G'huun]
[278227] = {name = GetSpellInfo (278227) .. " (Trinket)"}, --[T'zane's Barkspines]
[278383] = {name = GetSpellInfo (278383) .. " (Trinket)"}, --[Azurethos' Singed Plumage]
[278862] = {name = GetSpellInfo (278862) .. " (Trinket)"}, --[Drust-Runed Icicle]
[278359] = {name = GetSpellInfo (278359) .. " (Trinket)"}, --[Doom's Hatred]
[278812] = {name = GetSpellInfo (278812) .. " (Trinket)"}, --[Lion's Grace]
[270827] = {name = GetSpellInfo (270827) .. " (Trinket)"}, --[Vessel of Skittering Shadows]
[271071] = {name = GetSpellInfo (271071) .. " (Trinket)"}, --[Conch of Dark Whispers]
[270925] = {name = GetSpellInfo (270925) .. " (Trinket)"}, --[Hadal's Nautilus]
[271115] = {name = GetSpellInfo (271115) .. " (Trinket)"}, --[Ignition Mage's Fuse]
[271462] = {name = GetSpellInfo (271462) .. " (Trinket)"}, --[Rotcrusted Voodoo Doll]
[271465] = {name = GetSpellInfo (271465) .. " (Trinket)"}, --[Rotcrusted Voodoo Doll]
[268998] = {name = GetSpellInfo (268998) .. " (Trinket)"}, --[Balefire Branch]
[271671] = {name = GetSpellInfo (271671) .. " (Trinket)"}, --[Lady Waycrest's Music Box]
[277179] = {name = GetSpellInfo (277179) .. " (Trinket)"}, --[Dread Gladiator's Medallion]
[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]
}
[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)
[94472] = {name = GetSpellInfo (94472) .. " (" .. Loc ["STRING_CRITICAL_ONLY"] .. ")"}, --> Atonement critical hit (priest)
[33778] = {name = GetSpellInfo (33778) .. " (Bloom)"}, --lifebloom (bloom)
[121414] = {name = GetSpellInfo (121414) .. " (Glaive #1)"}, --> glaive toss (hunter)
[120761] = {name = GetSpellInfo (120761) .. " (Glaive #2)"}, --> glaive toss (hunter)
[212739] = {name = GetSpellInfo (212739) .. " (Main Target)"}, --DK Epidemic
[215969] = {name = GetSpellInfo (215969) .. " (AoE)"}, --DK Epidemic
[70890] = {name = GetSpellInfo (70890) .. " (Shadow)"}, --DK Scourge Strike
[55090] = {name = GetSpellInfo (55090) .. " (Physical)"}, --DK Scourge Strike
[49184] = {name = GetSpellInfo (49184) .. " (Main Target)"}, --DK Howling Blast
[237680] = {name = GetSpellInfo (237680) .. " (AoE)"}, --DK Howling Blast
[228649] = {name = GetSpellInfo (228649) .. " (Passive)"}, --Monk Mistweaver Blackout kick - Passive Teachings of the Monastery
--> bfa trinkets
[278155] = {name = GetSpellInfo (278155) .. " (Trinket)"}, --[Twitching Tentacle of Xalzaix]
[279664] = {name = GetSpellInfo (279664) .. " (Trinket)"}, --[Vanquished Tendril of G'huun]
[278227] = {name = GetSpellInfo (278227) .. " (Trinket)"}, --[T'zane's Barkspines]
[278383] = {name = GetSpellInfo (278383) .. " (Trinket)"}, --[Azurethos' Singed Plumage]
[278862] = {name = GetSpellInfo (278862) .. " (Trinket)"}, --[Drust-Runed Icicle]
[278359] = {name = GetSpellInfo (278359) .. " (Trinket)"}, --[Doom's Hatred]
[278812] = {name = GetSpellInfo (278812) .. " (Trinket)"}, --[Lion's Grace]
[270827] = {name = GetSpellInfo (270827) .. " (Trinket)"}, --[Vessel of Skittering Shadows]
[271071] = {name = GetSpellInfo (271071) .. " (Trinket)"}, --[Conch of Dark Whispers]
[270925] = {name = GetSpellInfo (270925) .. " (Trinket)"}, --[Hadal's Nautilus]
[271115] = {name = GetSpellInfo (271115) .. " (Trinket)"}, --[Ignition Mage's Fuse]
[271462] = {name = GetSpellInfo (271462) .. " (Trinket)"}, --[Rotcrusted Voodoo Doll]
[271465] = {name = GetSpellInfo (271465) .. " (Trinket)"}, --[Rotcrusted Voodoo Doll]
[268998] = {name = GetSpellInfo (268998) .. " (Trinket)"}, --[Balefire Branch]
[271671] = {name = GetSpellInfo (271671) .. " (Trinket)"}, --[Lady Waycrest's Music Box]
[277179] = {name = GetSpellInfo (277179) .. " (Trinket)"}, --[Dread Gladiator's Medallion]
[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)
local t = _detalhes.savedCustomSpells [index]
+2 -2
View File
@@ -1180,7 +1180,7 @@
GameTooltip:AddLine (button.MyObject.actor)
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:SetTexCoord (3/512, 370/512, 5/512, 429/512)
@@ -1388,7 +1388,7 @@
GameTooltip:AddLine (button.MyObject.actor)
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: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_TARGET_HEIGHT = 18
local PLAYER_DETAILS_WINDOW_WIDTH = 790
local PLAYER_DETAILS_WINDOW_HEIGHT = 474
local PLAYER_DETAILS_WINDOW_WIDTH = 890
local PLAYER_DETAILS_WINDOW_HEIGHT = 574
local PLAYER_DETAILS_STATUSBAR_HEIGHT = 20
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
--jogador = classe_damage ou classe_heal
@@ -239,7 +258,7 @@ function gump:TrocaBackgroundInfo()
info.report_direita:Hide()
for i = 1, 5 do
for i = 1, spellInfoSettings.amount do
info ["right_background" .. i]:Show()
end
@@ -264,7 +283,7 @@ function gump:TrocaBackgroundInfo()
info.bg2_sec_texture:Show()
info.tipo = 2
for i = 1, 5 do
for i = 1, spellInfoSettings.amount do
info ["right_background" .. i]:Hide()
end
@@ -283,7 +302,7 @@ function gump:TrocaBackgroundInfo()
info.bg2_sec_texture:Show()
info.tipo = 3
for i = 1, 5 do
for i = 1, spellInfoSettings.amount do
info ["right_background" .. i]:Hide()
end
@@ -300,7 +319,7 @@ function gump:TrocaBackgroundInfo()
info.bg2_sec_texture:Show()
info.tipo = 3
for i = 1, 5 do
for i = 1, spellInfoSettings.amount do
info ["right_background" .. i]:Hide()
end
@@ -329,7 +348,7 @@ function gump:TrocaBackgroundInfo()
info.bg2_sec_texture:Show()
info.tipo = 2
for i = 1, 5 do
for i = 1, spellInfoSettings.amount do
info ["right_background" .. i]:Hide()
end
@@ -404,7 +423,7 @@ end
--> esconde as 5 barras a direita na janela de info
------------------------------------------------------------------------------------------------------------------------------
function gump:HidaAllDetalheInfo()
for i = 1, 5 do
for i = 1, spellInfoSettings.amount do
gump:HidaDetalheInfo (i)
end
for _, barra in _ipairs (info.barras3) do
@@ -532,7 +551,7 @@ function gump:CriaDetalheInfo (index)
end
function info:SetDetailInfoConfigs (texture, color, x, y)
for i = 1, 5 do
for i = 1, spellInfoSettings.amount do
if (texture) then
info.grupos_detalhes [i].bg:SetStatusBarTexture (texture)
end
@@ -553,7 +572,9 @@ end
function gump:SetaDetalheInfoAltura (index, xmod, ymod)
local info = _detalhes.janela_info.grupos_detalhes [index]
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 x2 = 00 + (ymod or 0)
@@ -561,26 +582,35 @@ function gump:SetaDetalheInfoAltura (index, xmod, ymod)
local background
local y = -74 - ((index-1) * 76)
local y = -74 - ((index-1) * 79.5)
if (index == 1) then
_detalhes.janela_info.right_background1:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y)
background = _detalhes.janela_info.right_background1
elseif (index == 2) then
_detalhes.janela_info.right_background2:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y)
background = _detalhes.janela_info.right_background2
elseif (index == 3) then
_detalhes.janela_info.right_background3:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y)
background = _detalhes.janela_info.right_background3
elseif (index == 4) then
_detalhes.janela_info.right_background4:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y)
background = _detalhes.janela_info.right_background4
elseif (index == 5) then
_detalhes.janela_info.right_background5:SetPoint ("topleft", _detalhes.janela_info, "topleft", 357 + (xmod or 0), y)
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
background:SetHeight (65)
background:SetHeight (75)
--3 textos da esquerda e direita
local y = -3
@@ -597,7 +627,7 @@ function gump:SetaDetalheInfoAltura (index, xmod, ymod)
info.bg:SetPoint ("TOPLEFT", background, "TOPLEFT", 1, -1)
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: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:SetStatusBarColor (1, 1, 1, .5)
end
--if (index == 1) then
-- info.bg_end:Hide()
--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_end:Show()
info.bg_end:SetPoint ("LEFT", info.bg, "LEFT", (info.bg:GetValue() * (info.bg:GetWidth( ) / 100)) - 3, 0) -- 2.19
info.bg:Show()
end
@@ -679,17 +704,10 @@ end
------------------------------------------------------------------------------------------------------------------------------
local function cria_barras_detalhes()
_detalhes.janela_info.grupos_detalhes = {}
gump:CriaDetalheInfo (1)
gump:SetaDetalheInfoAltura (1)
gump:CriaDetalheInfo (2)
gump:SetaDetalheInfoAltura (2)
gump:CriaDetalheInfo (3)
gump:SetaDetalheInfoAltura (3)
gump:CriaDetalheInfo (4)
gump:SetaDetalheInfoAltura (4)
gump:CriaDetalheInfo (5)
gump:SetaDetalheInfoAltura (5)
for i = 1, spellInfoSettings.amount do
gump:CriaDetalheInfo (i)
gump:SetaDetalheInfoAltura (i)
end
end
@@ -1044,9 +1062,10 @@ local default_skin = function()
for i, infoblock in ipairs (_detalhes.janela_info.grupos_detalhes) do
infoblock.bg:SetSize (219, 47) --219 original
end
local xLocation = {-85, -136, -191, -246, -301}
local heightTable = {43, 48, 48, 48, 48}
for i = 1, 5 do
local xLocation = {-85, -136, -191, -246, -301, -356}
local heightTable = {43, 48, 48, 48, 48, 48}
for i = 1, spellInfoSettings.amount do
window ["right_background" .. i]:SetPoint ("topleft", window, "topleft", 357, xLocation [i]) --357 original
window ["right_background" .. i]:SetSize (220, heightTable [i]) --220
end
@@ -1160,7 +1179,7 @@ local elvui_skin = function()
window.bg1:SetVertexColor (0.27, 0.27, 0.27)
window.bg1:SetVertTile (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:SetBackdropColor (1, 1, 1, 1)
@@ -1234,14 +1253,15 @@ local elvui_skin = function()
window.avatar:SetParent (titlebar)
--bar container
window.container_barras:SetSize (419, 195)
window.container_barras:SetPoint ("TOPLEFT", window, "TOPLEFT", 2, -76)
window.container_barras:SetPoint (unpack (containerSettings.spells.point))
window.container_barras:SetSize (containerSettings.spells.width, containerSettings.spells.height)
--target container
window.container_alvos:SetPoint ("BOTTOMLEFT", window, "BOTTOMLEFT", 2, 6 + PLAYER_DETAILS_STATUSBAR_HEIGHT)
window.container_alvos:SetSize (418, 150)
window.container_alvos:SetPoint (unpack (containerSettings.targets.point))
window.container_alvos:SetSize (containerSettings.targets.width, containerSettings.targets.height)
--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)
--report button
@@ -1263,23 +1283,22 @@ local elvui_skin = function()
window.bg2_sec_texture:SetDesaturated (true)
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 ("bottomright", window.bg2_sec_texture, "bottomright", 0, 0)
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
infoblock.bg:SetSize (330, 47) --227 original
infoblock.bg:SetSize (330, 47)
end
local xLocation = {-85, -136, -191, -246, -301}
local heightTable = {43, 48, 48, 48, 47}
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
local heightTable = {50, 50, 50, 50, 50, 48}
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
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:SetWidth (337)
window.bg1_sec_texture:SetHeight (362)
--container 3 bars
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: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:baixoPoint (0, -13)
@@ -1650,7 +1668,7 @@ function gump:CriaJanelaInfo()
local right_background_X = 457
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)
right_background1:EnableMouse (false)
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
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
este_gump.bg1_sec_texture = SWW:CreateTexture ("DetailsPlayerDetailsWindow_BG1_SEC_Texture", "BORDER")
este_gump.bg1_sec_texture:SetDrawLayer ("BORDER", 4)
@@ -2594,11 +2576,24 @@ function gump:CriaJanelaInfo()
local auras_tab_create = function (tab, frame)
local DF = _detalhes.gump
local scroll_line_amount = 17
local scroll_line_amount = 22
local scroll_line_height = 19
local scroll_width = 350
local scroll_width = 410
local scrollHeight = 445
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)
GameTooltip:SetOwner (self, "ANCHOR_TOPRIGHT")
@@ -2654,9 +2649,9 @@ function gump:CriaJanelaInfo()
icon:SetPoint ("left", line, "left", 2, 0)
name:SetPoint ("left", icon, "right", 2, 0)
uptime:SetPoint ("left", line, "left", 186, 0)
apply:SetPoint ("left", line, "left", 260, 0)
refresh:SetPoint ("left", line, "left", 290, 0)
waButton:SetPoint ("left", line, "left", 322, 0)
apply:SetPoint ("left", line, "left", 276, 0)
refresh:SetPoint ("left", line, "left", 322, 0)
waButton:SetPoint ("left", line, "left", 372, 0)
line.Icon = icon
line.Name = name
@@ -2670,8 +2665,8 @@ function gump:CriaJanelaInfo()
apply:SetJustifyH ("center")
refresh:SetJustifyH ("center")
apply:SetWidth (20)
refresh:SetWidth (20)
apply:SetWidth (26)
refresh:SetWidth (26)
return line
end
@@ -2730,24 +2725,26 @@ function gump:CriaJanelaInfo()
return f
end
local buffLabel = DF:CreateLabel (frame, "Buff Name")
buffLabel:SetPoint (6, -10)
buffLabel:SetPoint (headerOffsetsBuffs[1], -10)
local uptimeLabel = DF:CreateLabel (frame, "Uptime")
uptimeLabel:SetPoint (200, -10)
uptimeLabel:SetPoint (headerOffsetsBuffs[2], -10)
local appliedLabel = DF:CreateLabel (frame, "A")
appliedLabel:SetPoint (270, -10)
appliedLabel:SetPoint (headerOffsetsBuffs[3], -10)
create_titledesc_frame (appliedLabel.widget, "applications")
local refreshedLabel = DF:CreateLabel (frame, "R")
refreshedLabel:SetPoint (301, -10)
refreshedLabel:SetPoint (headerOffsetsBuffs[4], -10)
create_titledesc_frame (refreshedLabel.widget, "refreshes")
local waLabel = DF:CreateLabel (frame, "WA")
waLabel:SetPoint (330, -10)
waLabel:SetPoint (headerOffsetsBuffs[5], -10)
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)
for i = 1, scroll_line_amount do
local line = buffScroll:CreateLine (scroll_createline)
@@ -2759,25 +2756,28 @@ function gump:CriaJanelaInfo()
--debuff scroll
--icon - name - applications - refreshes - uptime
--
local debuffLabel = DF:CreateLabel (frame, "Debuff Name")
debuffLabel:SetPoint (406, -10)
debuffLabel:SetPoint (headerOffsetsDebuffs[1], -10)
local uptimeLabel2 = DF:CreateLabel (frame, "Uptime")
uptimeLabel2:SetPoint (600, -10)
uptimeLabel2:SetPoint (headerOffsetsDebuffs[2], -10)
local appliedLabel2 = DF:CreateLabel (frame, "A")
appliedLabel2:SetPoint (668, -10)
appliedLabel2:SetPoint (headerOffsetsDebuffs[3], -10)
create_titledesc_frame (appliedLabel2.widget, "applications")
local refreshedLabel2 = DF:CreateLabel (frame, "R")
refreshedLabel2:SetPoint (699, -10)
refreshedLabel2:SetPoint (headerOffsetsDebuffs[4], -10)
create_titledesc_frame (refreshedLabel2.widget, "refreshes")
local waLabel2 = DF:CreateLabel (frame, "WA")
waLabel2:SetPoint (728, -10)
waLabel2:SetPoint (headerOffsetsDebuffs[5], -10)
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
local line = debuffScroll:CreateLine (scroll_createline)
line.AuraType = "DEBUFF"
@@ -4445,7 +4445,7 @@ function gump:CriaJanelaInfo()
for i = 1, 5 do
local bg_line1 = tooltip:CreateTexture (nil, "artwork")
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:SetHeight (bg_height + 4)
bg_line1:SetAlpha (bg_alpha)
@@ -4755,6 +4755,7 @@ function gump:CriaJanelaInfo()
width = 16,
height = 14,
}
_detalhes:CreatePlayerDetailsTab ("Compare", Loc ["STRING_INFO_TAB_COMPARISON"], --[1] tab name [2] localized name
function (tabOBject, playerObject) --[2] condition
@@ -4832,21 +4833,29 @@ function gump:CriaJanelaInfo()
compare_create, --[5] oncreate
iconTableCompare --icon table
)
-- ~compare ~newcompare
-- ~compare
-- ~tab ~tabs
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]
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
--_detalhes:SetTutorialCVar ("DETAILS_INFO_TUTORIAL1", false)
if (not _detalhes:GetTutorialCVar ("DETAILS_INFO_TUTORIAL1")) then
_detalhes:SetTutorialCVar ("DETAILS_INFO_TUTORIAL1", true)
@@ -4857,28 +4866,44 @@ function gump:CriaJanelaInfo()
alert:SetPoint ("bottom", tab.widget or tab, "top", 5, 28)
alert:Show()
end
end
tab:Show()
amt_positive = amt_positive + 1
tabsShown = tabsShown + 1
tab:ClearAllPoints()
--get the button width
local buttonTemplate = gump:GetTemplate ("button", "DETAILS_TAB_BUTTON_TEMPLATE")
local buttonWidth = buttonTemplate.width + 1
PixelUtil.SetSize (tab, buttonTemplate.width, buttonTemplate.height)
PixelUtil.SetPoint (tab, "bottomright", info, "topright", -9 - (buttonWidth * (amt_positive-1)), -72)
tab:SetAlpha (0.8)
--pixelutil might not be compatible with classic wow
if (PixelUtil) then
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
tab.frame:Hide()
tab:Hide()
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)
end
@@ -4942,6 +4967,9 @@ function _detalhes:CreatePlayerDetailsTab (tabname, localized_name, condition, f
local overlay, textdistance, leftpadding, textheight, short_method --nil
newTabButton:SetIcon (texture, width, height, "overlay", coords, overlay, textdistance, leftpadding, textheight, short_method)
if (iconSettings.desaturated) then
newTabButton.icon:SetDesaturated (true)
end
end
if (newTabButton.fillfunction) then
-10
View File
@@ -9356,16 +9356,6 @@ function window:CreateFrame9()
if (value) then
--> primeira vez que roda:
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"
end
+17 -21
View File
@@ -612,7 +612,7 @@ local movement_onupdate = function (self, elapsed)
show_instance_ids()
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:SetPoint ("bottom", need_show_group_guide.baseframe, "top", 0, 30)
_detalhes.MicroButtonAlert:SetHeight (320)
@@ -748,10 +748,12 @@ local movement_onupdate = function (self, elapsed)
instancia_alvo:SnapAlert()
_detalhes.snap_alert.playing = true
_detalhes.MicroButtonAlert.Text:SetText (string.format (Loc ["STRING_ATACH_DESC"], self.instance.meu_id, instancia_alvo.meu_id))
_detalhes.MicroButtonAlert:SetPoint ("bottom", instancia_alvo.baseframe.cabecalho.modo_selecao.widget, "top", 0, 18)
_detalhes.MicroButtonAlert:SetHeight (200)
_detalhes.MicroButtonAlert:Show()
if (not DetailsFramework.IsClassicWow()) then
_detalhes.MicroButtonAlert.Text:SetText (string.format (Loc ["STRING_ATACH_DESC"], self.instance.meu_id, instancia_alvo.meu_id))
_detalhes.MicroButtonAlert:SetPoint ("bottom", instancia_alvo.baseframe.cabecalho.modo_selecao.widget, "top", 0, 18)
_detalhes.MicroButtonAlert:SetHeight (200)
_detalhes.MicroButtonAlert:Show()
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.animIn:Stop()
_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
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 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
if (spec_id) then
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
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"
texcoord = {0, 1, 0, 0.7}
@@ -6088,7 +6084,7 @@ function _detalhes:GetSegmentInfo (index)
elseif (combat.instance_type == "party") then
local ej_id = combat.is_boss.ej_instance_id
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
background = bgImage
background_coords = party_wallpaper_tex
@@ -6359,7 +6355,7 @@ local build_segment_list = function (self, elapsed)
if (index and name and encounterID) then
--EJ_SelectInstance (instanceID)
--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
CoolTip:AddIcon (iconImage, 2, "top", 128, 64)
end
@@ -6376,7 +6372,7 @@ local build_segment_list = function (self, elapsed)
else
local ej_id = thisCombat.is_boss.ej_instance_id
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 (thisCombat.instance_type == "party") then
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
local index, name, description, encounterID, rootSectionID, link = _detalhes:GetEncounterInfoFromEncounterName (instanceID, encounter_name)
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
CoolTip:AddIcon (iconImage, 2, "top", 128, 64)
end
@@ -6644,7 +6640,7 @@ local build_segment_list = function (self, elapsed)
else
local ej_id = _detalhes.tabela_vigente.is_boss.ej_instance_id
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 (_detalhes.tabela_vigente.instance_type == "party") then
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 (DetailsFramework.IsClassicWow()) then
return
end
--> create widgets
CreatePluginFrames (data)
@@ -2094,7 +2094,6 @@ _detalhes.EncounterDetailsTempWindow = function (EncounterDetails)
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})
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)
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
@@ -2122,7 +2121,6 @@ _detalhes.EncounterDetailsTempWindow = function (EncounterDetails)
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})
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))
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
@@ -4,11 +4,12 @@ local UnitBuff = UnitBuff
local GetSpellInfo = GetSpellInfo
local UnitClass = UnitClass
local UnitName = UnitName
local UnitGroupRolesAssigned = UnitGroupRolesAssigned
local CLASS_ICON_TCOORDS = CLASS_ICON_TCOORDS
local DF = DetailsFramework
local UnitGroupRolesAssigned = DF.UnitGroupRolesAssigned
--> build the list of buffs to track
local flask_list = DetailsFramework.FlaskIDs
@@ -869,6 +870,10 @@ end
if (_G._detalhes) then
if (DetailsFramework.IsClassicWow()) then
return
end
--> create widgets
CreatePluginFrames()
@@ -1895,6 +1895,10 @@ function StreamOverlay:OnEvent (_, event, ...)
player_name = UnitName ("player")
if (_G._detalhes) then
if (DetailsFramework.IsClassicWow()) then
return
end
--> create widgets
CreatePluginFrames()
@@ -8,7 +8,7 @@ local _UnitName = UnitName --> wow api
local _UnitDetailedThreatSituation = UnitDetailedThreatSituation
local _IsInRaid = IsInRaid --> wow api
local _IsInGroup = IsInGroup --> wow api
local _UnitGroupRolesAssigned = UnitGroupRolesAssigned --> wow api
local _UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned --> wow api
local GetUnitName = GetUnitName
local _ipairs = ipairs --> lua api
@@ -639,6 +639,10 @@ function ThreatMeter:OnEvent (_, event, ...)
if (AddonName == "Details_TinyThreat") then
if (_G._detalhes) then
if (DetailsFramework.IsClassicWow()) then
return
end
--> create widgets
CreatePluginFrames (data)
@@ -13,7 +13,7 @@ local _UFC = UnitAffectingCombat --> wow api local
local _IsInRaid = IsInRaid --> wow api local
local _IsInGroup = IsInGroup --> 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 _UnitHealthMax = UnitHealthMax --> 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 (_G._detalhes) then
if (DetailsFramework.IsClassicWow()) then
return
end
local MINIMAL_DETAILS_VERSION_REQUIRED = 1
local default_saved_table = {
+18 -13
View File
@@ -1,5 +1,5 @@
local UnitGroupRolesAssigned = DetailsFramework.UnitGroupRolesAssigned
--> check unloaded files:
if (
@@ -273,18 +273,19 @@ function _G._detalhes:Start()
self.listener:RegisterEvent ("START_TIMER")
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 ("ROLE_CHANGED_INFORM")
self.listener:RegisterEvent ("UNIT_FACTION")
self.listener:RegisterEvent ("PLAYER_SPECIALIZATION_CHANGED")
self.listener:RegisterEvent ("PLAYER_TALENT_UPDATE")
self.listener:RegisterEvent ("CHALLENGE_MODE_START")
self.listener:RegisterEvent ("CHALLENGE_MODE_COMPLETED")
if (not DetailsFramework.IsClassicWow()) then
self.listener:RegisterEvent ("PET_BATTLE_OPENING_START")
self.listener:RegisterEvent ("PET_BATTLE_CLOSE")
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
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -338,13 +339,14 @@ function _G._detalhes:Start()
local newFrame = CreateFrame ("frame", "DetailsMythicPlusFrame", UIParent)
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_COMPLETED")
newFrame:RegisterEvent ("ZONE_CHANGED_NEW_AREA")
newFrame:RegisterEvent ("ENCOUNTER_END")
newFrame:RegisterEvent ("START_TIMER")
--]]
end
--[[
all mythic segments have:
@@ -958,7 +960,7 @@ function _G._detalhes:Start()
return
end
local ejID = EJ_GetInstanceForMap (mapID)
local ejID = DetailsFramework.EncounterJournal.EJ_GetInstanceForMap (mapID)
--> setup the mythic run info
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
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)
--> ignore events triggered more than once in a small time window