Skip to content

Commit

Permalink
Merge branch 'main' into ptr
Browse files Browse the repository at this point in the history
  • Loading branch information
kodewdle committed Jan 27, 2025
2 parents 592551b + b511d4a commit e5107ad
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 5 deletions.
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
### Version 13.82 [ January 25th 2025 ]
* Working on something to profile the performance of ElvUI and oUF functions.
* Optimized part of the framework and aura filtering for Unitframes and Nameplates.
* Range of Unitframes uses a new system; you can now select which spells determine range in options.
* Range Tags removed because we no longer use the library that provided the range distancing.
* System Datatext uses a new method to track FPS and holding Shift will show Average FPS, along with Lowest and Highest FPS.
* Smooth Bar toggles for Top Aura status bars as well as Health, Power, Castbar, Classbar, Aurabars for Unitframe and Nameplates.
* Multishot and Aimed Shot cast time added to Castbars (for Classic).
* Stone Bulwark added to Whitelist and Turtle Buff filters.
* Combat Indicator allowed on raid frames.
* Equipment Datatext was broken.
* Chat having a silly little pixel at the bottom center should be gone.
* Support for CUSTOM_CLASS_COLORS directly, under Blizzard Improvements.
* Unitframe option Max Allowed Groups is now Retail only.
* Role icon support for Classic Anniversary realms.
* Datatext added to track Mythic+ score. (Thanks Rubgrsch)
* Nameplates can be toggled by conditions (Instance Type or if Resting) for Friendly, Enemy; this also can override the nameplate stacking setting.
* Dual Spec profiles can be enabled for Classic Anniversary realms.

### Version 13.81 [ November 19th 2024 ]
* Blacklisted Auras: Well-Honed Instincts
* Unitframe color options added to set Health Breakpoint, only for Friendly units, and Color Backdrop. (Thanks BeeVa)
Expand Down
6 changes: 4 additions & 2 deletions ElvUI/Core/Modules/UnitFrames/UnitFrames.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1030,10 +1030,12 @@ do

local chestSlotItem, legSlotItem -- local cache of the items
function UF:UNIT_INVENTORY_CHANGED(_, unit) -- limited to Mages only currently
if unit ~= 'player' then return end

local ChestItem = GetInventoryItemLink('player', ChestSlotID) -- Mage: Regeneration
local LegItem = GetInventoryItemLink('player', LegSlotID) -- Mage: Mass Regeneration

if unit == 'player' and (chestSlotItem ~= ChestItem or legSlotItem ~= LegItem) then
if chestSlotItem ~= ChestItem or legSlotItem ~= LegItem then
chestSlotItem = ChestItem
legSlotItem = LegItem

Expand Down Expand Up @@ -2145,7 +2147,7 @@ function UF:Initialize()
if E.Retail or E.Cata then
UF:RegisterEvent('PLAYER_TALENT_UPDATE', 'UpdateRangeSpells')
elseif E.ClassicSOD and E.myclass == 'MAGE' then
UF:RegisterUnitEvent('UNIT_INVENTORY_CHANGED', 'player')
UF:RegisterEvent('UNIT_INVENTORY_CHANGED')
end

UF:DisableBlizzard()
Expand Down
2 changes: 1 addition & 1 deletion ElvUI/Core/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ end
function E:ParseVersionString(addon)
local version = GetAddOnMetadata(addon, 'Version')
if strfind(version, 'project%-version') then
return 13.81, '13.81-git', nil, true
return 13.82, '13.82-git', nil, true
else
local release, extra = strmatch(version, '^v?([%d.]+)(.*)')
return tonumber(release), release..extra, extra ~= ''
Expand Down
2 changes: 1 addition & 1 deletion ElvUI/Mainline/Filters/Filters.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1124,7 +1124,7 @@ G.unitframe.ChannelTicks = {
[120360] = 15, -- Barrage
[257044] = 7, -- Rapid Fire
-- Monk
[113656] = 5, -- Fists of Fury
[113656] = 4, -- Fists of Fury
}

-- Spells that chain, second step
Expand Down
28 changes: 28 additions & 0 deletions ElvUI_Libraries/Core/oUF/elements/castbar.lua
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ local GetUnitEmpowerHoldAtMaxTime = GetUnitEmpowerHoldAtMaxTime
-- GLOBALS: CastingBarFrame, CastingBarFrame_OnLoad, CastingBarFrame_SetUnit

local tradeskillCurrent, tradeskillTotal, mergeTradeskill = 0, 0, false
local specialAuras = {} -- ms modifier
local specialCast = {} -- ms duration
if oUF.isClassic then
specialCast[2643] = 500 -- Multishot R1
Expand All @@ -128,6 +129,24 @@ if oUF.isClassic then
specialCast[20902] = 3000 -- Aimed Shot R4
specialCast[20903] = 3000 -- Aimed Shot R5
specialCast[20904] = 3000 -- Aimed Shot R6

specialAuras[3045] = 0.6 -- Rapid Fire (1 - 0.4, 40%)
end

local function SpecialActive(unit, filter)
if not next(specialAuras) then return end

local index = 1
local name, _, _, _, _, _, _, _, _, spellID = oUF:GetAuraData(unit, index, filter)
while name do
local speedMod = specialAuras[spellID]
if speedMod then
return speedMod
end

index = index + 1
name, _, _, _, _, _, _, _, _, spellID = oUF:GetAuraData(unit, index, filter)
end
end
-- end block

Expand Down Expand Up @@ -253,6 +272,11 @@ local function CastStart(self, real, unit, castGUID, spellID, castTime)
castTime = castDuration -- prefer a real duration time, otherwise use the static duration
end

local speedMod = SpecialActive(unit, 'HELPFUL')
if speedMod then
castTime = castTime * speedMod
end

castID = castGUID
startTime = GetTime() * 1000
endTime = startTime + castTime
Expand Down Expand Up @@ -714,6 +738,10 @@ local function Disable(self)
self:UnregisterEvent('UNIT_SPELLCAST_NOT_INTERRUPTIBLE', CastInterruptible)
end

-- ElvUI block
self:UnregisterEvent('UNIT_SPELLCAST_SENT', UNIT_SPELLCAST_SENT)
-- end block

element:SetScript('OnUpdate', nil)
end
end
Expand Down
2 changes: 1 addition & 1 deletion ElvUI_Options/Core/Tooltip.lua
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ General.targetInfo = ACH:Toggle(L["Target Info"], L["When in a raid group displa
General.playerTitles = ACH:Toggle(L["Player Titles"], L["Display player titles."], 2)
General.guildRanks = ACH:Toggle(L["Guild Ranks"], L["Display guild ranks if a unit is guilded."], 3)
General.alwaysShowRealm = ACH:Toggle(L["Always Show Realm"], nil, 4)
General.role = ACH:Toggle(L["ROLE"], L["Display the unit role in the tooltip."], 5, nil, nil, nil, nil, nil, nil, not E.Retail)
General.role = ACH:Toggle(L["ROLE"], L["Display the unit role in the tooltip."], 5, nil, nil, nil, nil, nil, nil, not E.allowRoles)
General.showMount = ACH:Toggle(L["Current Mount"], L["Display current mount the unit is riding."], 6, nil, nil, nil, nil, nil, nil, not E.Retail)
General.gender = ACH:Toggle(L["Gender"], L["Displays the gender of players."], 7)
General.showElvUIUsers = ACH:Toggle(L["Show ElvUI Users"], L["Show ElvUI users and their version of ElvUI."], 8)
Expand Down

0 comments on commit e5107ad

Please sign in to comment.