Skip to content

Commit

Permalink
Change logs, libraries update, version bump
Browse files Browse the repository at this point in the history
  • Loading branch information
Tercioo committed Feb 8, 2023
1 parent 1b9a10a commit eac488a
Show file tree
Hide file tree
Showing 4 changed files with 119 additions and 40 deletions.
2 changes: 1 addition & 1 deletion Libs/DF/fw.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@


local dversion = 413
local dversion = 415
local major, minor = "DetailsFramework-1.0", dversion
local DF, oldminor = LibStub:NewLibrary(major, minor)

Expand Down
2 changes: 1 addition & 1 deletion Libs/LibOpenRaid/LibOpenRaid.lua
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ if (WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE and not isExpansion_Dragonflight()) t
end

local major = "LibOpenRaid-1.0"
local CONST_LIB_VERSION = 95
local CONST_LIB_VERSION = 96

if (not LIB_OPEN_RAID_MAX_VERSION) then
LIB_OPEN_RAID_MAX_VERSION = CONST_LIB_VERSION
Expand Down
26 changes: 20 additions & 6 deletions boot.lua
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
local addonName, Details222 = ...
local version, build, date, tocversion = GetBuildInfo()

_detalhes.build_counter = 10410
_detalhes.alpha_build_counter = 10410 --if this is higher than the regular counter, use it instead
_detalhes.build_counter = 10561
_detalhes.alpha_build_counter = 10561 --if this is higher than the regular counter, use it instead
_detalhes.dont_open_news = true
_detalhes.game_version = version
_detalhes.userversion = version .. " " .. _detalhes.build_counter
Expand Down Expand Up @@ -91,20 +91,34 @@ do

local Loc = _G.LibStub("AceLocale-3.0"):GetLocale( "Details" )

--Framework Updates including GameCooltip now supports and secondary frame for tooltips.
--When a player dies, the death callback hooks will now send the regular death log table instead of a copy of it.

--Fixed load errors on Wrath.
--Fixed enemy cast time in the death tooltip sometimes showing off time.
--Allow negative offsets on Aligned Text Columns (Flamanis).
--Remove multi-spec entries for shaman guessing (Flamanis).
--Fixed Shaman and Warrior spec detection (Flamanis).
--More Demon hunter abilities added to be merged (Flamanis).
--Added duck polymorph to Mage CCs (Flamanis).
--Fixed offline player showing as party members in the /keys panel (Flamanis).
--Fixed offline player showing as party members in the /keys panel and players from other realms not caching (Flamanis).
--Fixed an issue with some options not updating when the window is selected at the bottom right corner of the options panel (Flamanis).

--Fixed some issues with the breakdown window for 'Damage Taken' (Flamanis).
--Fixed an issue where sometimes the 'Always Show Me' wouldn't show if the total bar is enabled (Ricodyn).

local news = {
{"v10.0.2.10333.147", "Jan 04th, 2023"},
{"v10.0.2.10333.147", "Feb 08th, 2023"},
"Fixed load errors on Wrath.",
"Fixed enemy cast time in the death tooltip sometimes showing off time.",
"Allow negative offsets on Aligned Text Columns (Flamanis).",
"Fixed Shaman and Warrior spec detection (Flamanis).",
"More Demon hunter abilities added to be merged (Flamanis).",
"Added duck polymorph to Mage CCs (Flamanis).",
"Fixed offline player showing as party members in the /keys panel and players from other realms not caching (Flamanis).",
"Fixed an issue with some options not updating when the window is selected at the bottom right corner of the options panel (Flamanis).",
"Fixed some issues with the breakdown window for 'Damage Taken' (Flamanis).",
"Fixed an issue where sometimes the 'Always Show Me' wouldn't show if the total bar is enabled (Ricodyn).",

{"v10.0.2.10333.147", "Jan 04th, 2023"},
"Enemy Cast (non-interrupted) now is shown in the death log.",
"Damage Done by Blessing of Winter and Summer now counts torward the paladin.",
"Tooltips for Mythic Dungeon segments in the segments menu, now brings more information about the combat.",
Expand Down
129 changes: 97 additions & 32 deletions functions/boss.lua
Original file line number Diff line number Diff line change
Expand Up @@ -390,24 +390,36 @@ do
return _detalhes.EncounterInformation [mapid] and true
end

--this cache is local and isn't shared with other components of the addon
local expansionBossList_Cache = {build = false}

function Details:GetExpansionBossList() --~bosslist - load on demand from gears-gsync and statistics-valid boss for exp
if (expansionBossList_Cache.build) then
return expansionBossList_Cache.bossIndexedTable, expansionBossList_Cache.bossInfoTable, expansionBossList_Cache.raidInfoTable
end

function Details:GetExpansionBossList() --~bosslist
local bossIndexedTable = {}
local bossInfoTable = {} --[bossId] = bossInfo
local raidInfoTable = {}

--check if can load the adventure guide on demand
if (not EncounterJournal_LoadUI) then
return bossIndexedTable, bossInfoTable, raidInfoTable
end

if (not EncounterJournal) then
EncounterJournal_LoadUI()
--don't load if details! isn't full loaded
elseif (not Details.AddOnStartTime) then
return bossIndexedTable, bossInfoTable, raidInfoTable

--don't load at login where other addons are still getting their stuff processing
elseif (Details.AddOnStartTime + 10 > GetTime()) then
return bossIndexedTable, bossInfoTable, raidInfoTable
end

for instanceIndex = 10, 2, -1 do
local raidInstanceID, instanceName, description, bgImage, buttonImage1, loreImage, buttonImage2, dungeonAreaMapID = EJ_GetInstanceByIndex(instanceIndex, true)
if (raidInstanceID) then
EncounterJournal_DisplayInstance(raidInstanceID)
--EncounterJournal_DisplayInstance(raidInstanceID)
EJ_SelectInstance(raidInstanceID)

raidInfoTable[raidInstanceID] = {
raidName = instanceName,
Expand All @@ -425,7 +437,7 @@ do
}

for i = 20, 1, -1 do
local name, description, journalEncounterID, rootSectionID, link, journalInstanceID, dungeonEncounterID, UiMapID = _G.EJ_GetEncounterInfoByIndex(i, raidInstanceID)
local name, description, journalEncounterID, rootSectionID, link, journalInstanceID, dungeonEncounterID, UiMapID = EJ_GetEncounterInfoByIndex(i, raidInstanceID)
if (name) then
local id, creatureName, creatureDescription, displayInfo, iconImage = EJ_GetCreatureInfo(1, journalEncounterID)
local thisbossIndexedTable = {
Expand All @@ -448,6 +460,17 @@ do
end
end

expansionBossList_Cache.bossIndexedTable = bossIndexedTable
expansionBossList_Cache.bossInfoTable = bossInfoTable
expansionBossList_Cache.raidInfoTable = raidInfoTable
expansionBossList_Cache.build = true

C_Timer.After(0.5, function()
if (EncounterJournal_ResetDisplay) then
EncounterJournal_ResetDisplay(nil, "none")
end
end)

return bossIndexedTable, bossInfoTable, raidInfoTable
end

Expand Down Expand Up @@ -556,26 +579,62 @@ do
--check if the encounter journal added is loaded
if (not EncounterJournal) then
--local startTime = debugprofilestop()
EncounterJournal_LoadUI()
--[[EncounterJournal_LoadUI()]]
--local endTime = debugprofilestop()
--print("DE loading EJ:", endTime - startTime)
end

hooksecurefunc("EncounterJournal_OpenJournalLink", Details222.EJCache.OnClickEncounterJournalLink)
--[[hooksecurefunc("EncounterJournal_OpenJournalLink", Details222.EJCache.OnClickEncounterJournalLink)]]

---iterate among all raid instances, by passing true in the second argument of EJ_GetInstanceByIndex, indicates to the API we want to get raid instances
---@type boolean
local bGetRaidInstances = true

---returns the number of valid encounter journal tier indices
---@type number
local tierAmount = EJ_GetNumTiers()

---returns the currently active encounter journal tier index
---@type number
local currentTier = EJ_GetCurrentTier()

---increment this each expansion
---@type number
local currentTierId = 10 --maintenance

---is the id of where it shows the mythic+ dungeons available for the season
---can be found in the adventure guide in the dungeons tab > dropdown
---@type number
local currentMythicPlusTierId = 11 --maintenance

---maximum amount of raid tiers in the expansion
---@type number
local maxAmountOfRaidTiers = 10

do
--iterate among all raid instances, by passing true in the second argument of EJ_GetInstanceByIndex, indicates to the API we want to get raid instances
local bGetRaidInstances = true
---maximum amount of dungeons in the expansion
---@type number
local maxAmountOfDungeons = 20

EncounterJournalRaidTab:Click()
EncounterJournal_TierDropDown_Select(_, 10) --select Dragonflight
---the index of the first raid tier in the expansion, ignoring the first tier as it is open world bosses
---@type number
local raidTierStartIndex = 2

for instanceIndex = 10, 2, -1 do
---max amount of bosses which a raid tier can have
---@type number
local maxRaidBosses = 20

do --get raid instances data
--EncounterJournalRaidTab:Click()
--EncounterJournal_TierDropDown_Select(_, 10) --select Dragonflight
EJ_SelectTier(currentTierId)

for instanceIndex = maxAmountOfRaidTiers, raidTierStartIndex, -1 do
local journalInstanceID, instanceName, description, bgImage, buttonImage1, loreImage, buttonImage2, dungeonAreaMapID = EJ_GetInstanceByIndex(instanceIndex, bGetRaidInstances)

if (journalInstanceID) then
--tell the encounter journal to display the raid instance by the instanceId
EncounterJournal_DisplayInstance(journalInstanceID)
--EncounterJournal_DisplayInstance(journalInstanceID)
EJ_SelectInstance(journalInstanceID)

--build a table with data of the raid instance
local instanceData = {
Expand Down Expand Up @@ -607,10 +666,10 @@ do
Details222.EJCache.CacheRaidData_ByInstanceName[instanceName] = instanceData
Details222.EJCache.CacheRaidData_ByMapId[dungeonAreaMapID] = instanceData

for encounterIndex = 1, 20 do
local name, description, journalEncounterID, rootSectionID, link, journalInstanceID, dungeonEncounterID, UiMapID = _G.EJ_GetEncounterInfoByIndex(encounterIndex, journalInstanceID)
if (name) then
for encounterIndex = 1, maxRaidBosses do
local name, description, journalEncounterID, rootSectionID, link, journalInstanceID, dungeonEncounterID, UiMapID = EJ_GetEncounterInfoByIndex(encounterIndex, journalInstanceID)

if (name) then
local encounterData = {
name = name,
mapId = dungeonAreaMapID,
Expand Down Expand Up @@ -639,17 +698,20 @@ do
end
end

do
local bGetRaidInstances = false
EncounterJournalDungeonTab:Click()
EncounterJournal_TierDropDown_Select(_, 11) --select mythic+
do --get current expansion dungeon instances data and mythic+ data
bGetRaidInstances = false
--EncounterJournalDungeonTab:Click()
--EncounterJournal_TierDropDown_Select(_, 11) --select mythic+

for instanceIndex = 20, 1, -1 do
local journalInstanceID, instanceName, description, bgImage, buttonImage1, loreImage, buttonImage2, dungeonAreaMapID = EJ_GetInstanceByIndex(instanceIndex, bGetRaidInstances)
--get mythic+ dungeon data
EJ_SelectTier(currentMythicPlusTierId)

for instanceIndex = maxAmountOfDungeons, 1, -1 do
local journalInstanceID, instanceName, description, bgImage, buttonImage1, loreImage, buttonImage2, dungeonAreaMapID = EJ_GetInstanceByIndex(instanceIndex, bGetRaidInstances)
if (journalInstanceID) then
--tell the encounter journal to display the dungeon instance by the instanceId
EncounterJournal_DisplayInstance(journalInstanceID)
--EncounterJournal_DisplayInstance(journalInstanceID)
EJ_SelectInstance(journalInstanceID)

--build a table with data of the raid instance
local instanceData = {
Expand Down Expand Up @@ -684,8 +746,8 @@ do
--iterate among all encounters of the dungeon instance
for encounterIndex = 1, 20 do
local name, description, journalEncounterID, rootSectionID, link, journalInstanceID, dungeonEncounterID, UiMapID = _G.EJ_GetEncounterInfoByIndex(encounterIndex, journalInstanceID)
if (name) then

if (name) then
local encounterData = {
name = name,
mapId = dungeonAreaMapID,
Expand Down Expand Up @@ -713,14 +775,17 @@ do
end
end

EncounterJournal_TierDropDown_Select(_, 10) --select Dragonflight
--EncounterJournal_TierDropDown_Select(_, 10) --select Dragonflight
--get current expansion dungeons data
EJ_SelectTier(currentTierId)

for instanceIndex = 20, 1, -1 do
local journalInstanceID, instanceName, description, bgImage, buttonImage1, loreImage, buttonImage2, dungeonAreaMapID = EJ_GetInstanceByIndex(instanceIndex, bGetRaidInstances)

if (journalInstanceID and not Details222.EJCache.CacheDungeonData_ByInstanceId[journalInstanceID]) then
--tell the encounter journal to display the dungeon instance by the instanceId
EncounterJournal_DisplayInstance(journalInstanceID)
--EncounterJournal_DisplayInstance(journalInstanceID)
EJ_SelectInstance(journalInstanceID)

--build a table with data of the raid instance
local instanceData = {
Expand Down Expand Up @@ -787,7 +852,9 @@ do

--reset the dungeon journal to the default state
C_Timer.After(0.5, function()
EncounterJournal_ResetDisplay(nil, "none")
if (EncounterJournal_ResetDisplay) then
EncounterJournal_ResetDisplay(nil, "none")
end
end)

--EncounterJournal_OpenJournalLink(tag, jtype, id, difficultyID)
Expand All @@ -799,11 +866,9 @@ do
if (not EncounterJournal_LoadUI) then
return
end

createEJCache()
end)

--local tooltipInfo = CreateBaseTooltipInfo("GetHyperlink", link, classID, specID);

end

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Expand Down

0 comments on commit eac488a

Please sign in to comment.