Skip to content

Commit

Permalink
Merge branch 'main' into ptr
Browse files Browse the repository at this point in the history
  • Loading branch information
Merathilis committed Apr 12, 2024
2 parents daeb8b0 + 19d5eea commit 70c2c4b
Show file tree
Hide file tree
Showing 36 changed files with 331 additions and 225 deletions.
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
### Version 13.61 [ April 2nd 2024 ]
* Microbar Support Ticket button in middle of screen.
* Minimap Icons not hiding when using the keybind for Toggle Minimap.
* No Label, Decimal Length, Custom Label options for the Leech Datatext.
* Minimap Difficulty icon not respecting offsets on Wrath.
* Party and RaidPets not spawning until after combat.
* SoD Mage at low level having incorrect range on friendly NPCs.
* Wrath Nightelf Shadowmeld causing a taint during combat.
* LibDispel Bleed list updated again.
* Chat AFK and DND not displaying on Retail.

### Version 13.60 [ March 19th 2024 ]
* Difficulty Icon on Minimap improved, resolving an issue with the mouseover tooltip.
* Pet Battle XP bar overlapped Pass button.
Expand Down
2 changes: 2 additions & 0 deletions ElvUI/Classic/Filters/Filters.lua
Original file line number Diff line number Diff line change
Expand Up @@ -448,6 +448,7 @@ if E.ClassicSOD then
-- Whitelist World Event Auras
Whitelist[433804] = List(6) -- Blood for the Blood Loa
Whitelist[441785] = List(6) -- Drained of Blood
Whitelist[437751] = List(6) -- Bruised
Whitelist[436351] = List(6) -- Zandalari Ward
Whitelist[429959] = List(2) -- Well-Rested
-- Priest Rune Meditations
Expand Down Expand Up @@ -902,6 +903,7 @@ G.unitframe.ChannelTicks = {
if E.ClassicSOD then
G.unitframe.ChannelTicks[402261] = 3 -- Penance (DPS)
G.unitframe.ChannelTicks[402277] = 3 -- Penance (Healing)
G.unitframe.ChannelTicks[413259] = 5 -- Mind Sear (Rune)
end

-- Spells that chain, second step
Expand Down
1 change: 1 addition & 0 deletions ElvUI/Classic/Modules/DataTexts/Load_DataTexts.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@
<Script file='..\..\..\Core\Modules\DataTexts\SpellHit.lua'/>
<Script file='..\..\..\Core\Modules\DataTexts\SpellPower.lua'/>
<Script file='..\..\..\Core\Modules\DataTexts\Spirit.lua'/>
<Script file='..\..\..\Core\Modules\DataTexts\DualSpec.lua'/>
</Ui>
14 changes: 13 additions & 1 deletion ElvUI/Core/Defaults/Profile.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1344,6 +1344,7 @@ local UF_AuraBars = {

local UF_AuraWatch = {
enable = false,
petSpecific = E.Retail,
profileSpecific = false,
countFont = 'PT Sans Narrow',
countFontOutline = 'OUTLINE',
Expand Down Expand Up @@ -1650,6 +1651,7 @@ local UF_SubGroup = {
width = 120,
height = 28,
threatStyle = 'GLOW',
threatPrimary = true,
colorOverride = 'USE_DEFAULT',
name = CopyTable(UF_Name),
raidicon = CopyTable(UF_RaidIcon),
Expand Down Expand Up @@ -1856,6 +1858,7 @@ P.unitframe = {
height = 54,
lowmana = 30,
threatStyle = 'GLOW',
threatPrimary = true,
smartAuraPosition = 'DISABLED',
colorOverride = 'USE_DEFAULT',
disableMouseoverGlow = false,
Expand Down Expand Up @@ -1912,6 +1915,8 @@ P.unitframe = {
height = 54,
orientation = 'RIGHT',
threatStyle = 'GLOW',
threatPrimary = true,
threatPlayer = false,
smartAuraPosition = 'DISABLED',
colorOverride = 'USE_DEFAULT',
middleClickFocus = true,
Expand Down Expand Up @@ -1944,6 +1949,7 @@ P.unitframe = {
targettarget = {
enable = true,
threatStyle = 'NONE',
threatPrimary = true,
orientation = 'MIDDLE',
smartAuraPosition = 'DISABLED',
colorOverride = 'USE_DEFAULT',
Expand All @@ -1969,6 +1975,8 @@ P.unitframe = {
focus = {
enable = true,
threatStyle = 'GLOW',
threatPrimary = true,
threatPlayer = false,
orientation = 'MIDDLE',
smartAuraPosition = 'DISABLED',
colorOverride = 'USE_DEFAULT',
Expand Down Expand Up @@ -2000,6 +2008,7 @@ P.unitframe = {
enable = true,
orientation = 'MIDDLE',
threatStyle = 'GLOW',
threatPrimary = true,
smartAuraPosition = 'DISABLED',
colorOverride = 'USE_DEFAULT',
width = 130,
Expand Down Expand Up @@ -2028,6 +2037,7 @@ P.unitframe = {
boss = {
enable = true,
threatStyle = 'NONE',
threatPrimary = true,
growthDirection = 'DOWN',
orientation = 'RIGHT',
smartAuraPosition = 'DISABLED',
Expand Down Expand Up @@ -2094,6 +2104,7 @@ P.unitframe = {
party = {
enable = true,
threatStyle = 'GLOW',
threatPrimary = true,
orientation = 'LEFT',
visibility = '[@raid6,exists][@party1,noexists] hide;show',
growthDirection = 'UP_RIGHT',
Expand Down Expand Up @@ -2145,6 +2156,7 @@ P.unitframe = {
enable = true,
orientation = 'LEFT',
threatStyle = 'GLOW',
threatPrimary = true,
colorOverride = 'USE_DEFAULT',
middleClickFocus = false,
width = 120,
Expand Down Expand Up @@ -2813,7 +2825,7 @@ P.actionbar.bar1.paging.ROGUE = '[bonusbar:1] 7;'..(E.Wrath and ' [bonusbar:2] 8
P.actionbar.bar1.paging.WARLOCK = E.Wrath and '[form:1] 7;' or nil
P.actionbar.bar1.paging.DRUID = '[bonusbar:1,nostealth] 7; [bonusbar:1,stealth] 8; [bonusbar:2] 10; [bonusbar:3] 9; [bonusbar:4] 10;'
P.actionbar.bar1.paging.EVOKER = '[bonusbar:1] 7;'
P.actionbar.bar1.paging.PRIEST = '[bonusbar:1] 7;'..(E.Classic and ' [possessbar] 16;' or '')
P.actionbar.bar1.paging.PRIEST = E.Classic and '[form:1] 7;' or '[bonusbar:1] 7;'
P.actionbar.bar1.paging.WARRIOR = '[bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9;'

P.actionbar.bar3.enabled = true
Expand Down
2 changes: 1 addition & 1 deletion ElvUI/Core/General/Core.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1993,7 +1993,7 @@ function E:Initialize()
E:Tutorials()
end

if E.Retail or E.Wrath then
if E.Retail or E.Wrath or E.ClassicSOD then
E.Libs.DualSpec:EnhanceDatabase(E.data, 'ElvUI')
end

Expand Down
2 changes: 1 addition & 1 deletion ElvUI/Core/General/Install.lua
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ function E:SetupChat(noDisplayMsg)
end

-- keys taken from `ChatTypeGroup` but doesnt add: 'OPENING', 'TRADESKILLS', 'PET_INFO', 'COMBAT_MISC_INFO', 'COMMUNITIES_CHANNEL', 'PET_BATTLE_COMBAT_LOG', 'PET_BATTLE_INFO', 'TARGETICONS'
local chatGroup = { 'SYSTEM', 'CHANNEL', 'SAY', 'EMOTE', 'YELL', 'WHISPER', 'PARTY', 'PARTY_LEADER', 'RAID', 'RAID_LEADER', 'RAID_WARNING', 'INSTANCE_CHAT', 'INSTANCE_CHAT_LEADER', 'GUILD', E.ClassicHC and 'GUILD_DEATHS' or nil, 'OFFICER', 'MONSTER_SAY', 'MONSTER_YELL', 'MONSTER_EMOTE', 'MONSTER_WHISPER', 'MONSTER_BOSS_EMOTE', 'MONSTER_BOSS_WHISPER', 'ERRORS', 'AFK', 'DND', 'IGNORED', 'BG_HORDE', 'BG_ALLIANCE', 'BG_NEUTRAL', 'ACHIEVEMENT', 'GUILD_ACHIEVEMENT', 'BN_WHISPER', 'BN_INLINE_TOAST_ALERT' }
local chatGroup = { 'SYSTEM', 'CHANNEL', 'SAY', 'EMOTE', 'YELL', 'WHISPER', 'PARTY', 'PARTY_LEADER', 'RAID', 'RAID_LEADER', 'RAID_WARNING', 'INSTANCE_CHAT', 'INSTANCE_CHAT_LEADER', 'GUILD', 'OFFICER', 'MONSTER_SAY', 'MONSTER_YELL', 'MONSTER_EMOTE', 'MONSTER_WHISPER', 'MONSTER_BOSS_EMOTE', 'MONSTER_BOSS_WHISPER', 'ERRORS', 'AFK', 'DND', 'IGNORED', 'BG_HORDE', 'BG_ALLIANCE', 'BG_NEUTRAL', 'ACHIEVEMENT', 'GUILD_ACHIEVEMENT', 'BN_WHISPER', 'BN_INLINE_TOAST_ALERT' }
ChatFrame_RemoveAllMessageGroups(_G.ChatFrame1)
for _, v in next, chatGroup do
ChatFrame_AddMessageGroup(_G.ChatFrame1, v)
Expand Down
9 changes: 9 additions & 0 deletions ElvUI/Core/General/Tags.lua
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ local QuestDifficultyColors = QuestDifficultyColors
local UnitBattlePetLevel = UnitBattlePetLevel
local UnitClassification = UnitClassification
local UnitDetailedThreatSituation = UnitDetailedThreatSituation
local UnitThreatPercentageOfLead = UnitThreatPercentageOfLead
local UnitExists = UnitExists
local UnitFactionGroup = UnitFactionGroup
local UnitGetIncomingHeals = UnitGetIncomingHeals
Expand Down Expand Up @@ -627,6 +628,13 @@ E:AddTag('realm:dash:translit', 'UNIT_NAME_UPDATE', function(unit)
end
end)

E:AddTag('threat:lead', 'UNIT_THREAT_LIST_UPDATE UNIT_THREAT_SITUATION_UPDATE GROUP_ROSTER_UPDATE', function(unit)
local percent = UnitThreatPercentageOfLead('player', unit)
if percent and percent > 0 and (IsInGroup() or UnitExists('pet')) then
return format('%.0f%%', percent)
end
end)

E:AddTag('threat:percent', 'UNIT_THREAT_LIST_UPDATE UNIT_THREAT_SITUATION_UPDATE GROUP_ROSTER_UPDATE', function(unit)
local _, _, percent = UnitDetailedThreatSituation('player', unit)
if percent and percent > 0 and (IsInGroup() or UnitExists('pet')) then
Expand Down Expand Up @@ -1649,6 +1657,7 @@ E.TagInfo = {
-- Threat
['threat:current'] = { category = 'Threat', description = "Displays the current threat as a value" },
['threat:percent'] = { category = 'Threat', description = "Displays the current threat as a percent" },
['threat:lead'] = { category = 'Threat', description = "Displays the current threat of lead as a percent" },
['threat'] = { category = 'Threat', description = "Displays the current threat situation (Aggro is secure tanking, -- is losing threat and ++ is gaining threat)" },
}

Expand Down
1 change: 0 additions & 1 deletion ElvUI/Core/Modules/ActionBars/MicroBar.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ local gsub = gsub
local assert = assert
local unpack = unpack
local tinsert = tinsert
local strfind = strfind
local CreateFrame = CreateFrame
local UpdateMicroButtonsParent = UpdateMicroButtonsParent
local RegisterStateDriver = RegisterStateDriver
Expand Down
34 changes: 13 additions & 21 deletions ElvUI/Core/Modules/Chat/Chat.lua
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,6 @@ local historyTypes = { -- most of these events are set in FindURL_Events, this i
CHAT_MSG_BN_WHISPER_INFORM = 'WHISPER',
CHAT_MSG_GUILD = 'GUILD',
CHAT_MSG_GUILD_ACHIEVEMENT = 'GUILD',
CHAT_MSG_GUILD_DEATHS = E.ClassicHC and 'GUILD' or nil,
CHAT_MSG_PARTY = 'PARTY',
CHAT_MSG_PARTY_LEADER = 'PARTY',
CHAT_MSG_RAID = 'RAID',
Expand Down Expand Up @@ -327,7 +326,7 @@ do --this can save some main file locals
if E.Classic then
-- Simpy (5099: Myzrael)
z['Player-5099-01947A77'] = itsSimpy -- Warlock: Simpy
-- Luckyone Seasonal (5826: Lone Wolf EU)
-- Luckyone Seasonal (5826: Lone Wolf EU, 5827: Living Flame EU)
z['Player-5826-0202765F'] = ElvBlue -- [Alliance] Hunter
z['Player-5826-020F7F10'] = ElvBlue -- [Alliance] Paladin
z['Player-5826-02172E79'] = ElvBlue -- [Alliance] Warlock
Expand All @@ -336,6 +335,7 @@ do --this can save some main file locals
z['Player-5826-023424EF'] = ElvBlue -- [Alliance] Druid
z['Player-5826-02342520'] = ElvBlue -- [Alliance] Rogue
z['Player-5826-02342556'] = ElvBlue -- [Alliance] Warrior
z['Player-5827-02331C4B'] = ElvBlue -- [Horde] Shaman
-- Luckyone Hardcore
z["Lucky-Nek'Rosh"] = ElvBlue -- [Horde] Rogue
z["Luckyone-Nek'Rosh"] = ElvBlue -- [Horde] Hunter
Expand Down Expand Up @@ -383,7 +383,7 @@ do --this can save some main file locals
z['Player-1401-0421EB9F'] = ElvBlue -- [Alliance] Warrior: Brìtt
z['Player-1401-0421F909'] = ElvRed -- [Alliance] Paladin: Damará
z['Player-1401-0421EC36'] = ElvBlue -- [Alliance] Priest: Jazira
z['Player-1401-041CD0A6'] = ElvYellow -- [Alliance] Rogue: Jústice
z['Player-1401-0A9B0131'] = ElvYellow -- [Alliance] Rogue: Anonia
z['Player-1401-041E4D64'] = ElvGreen -- [Alliance] Monk: Maithilis
z['Player-1401-0648F4AD'] = ElvPurple -- [Alliance] DH: Mattdemôn
z['Player-1401-0421F27B'] = ElvBlue -- [Alliance] Mage: Melisendra
Expand Down Expand Up @@ -1763,25 +1763,18 @@ function CH:ChatFrame_ReplaceIconAndGroupExpressions(message, noIconReplacement,
end

-- copied from ChatFrame.lua
local function GetPFlag(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17)
-- Renaming for clarity:
local specialFlag = arg6
local zoneChannelID = arg7
--local localChannelID = arg8

local function GetPFlag(specialFlag, zoneChannelID, localChannelID)
if specialFlag ~= '' then
if specialFlag == 'GM' or specialFlag == 'DEV' then
-- Add Blizzard Icon if this was sent by a GM/DEV
return [[|TInterface\ChatFrame\UI-ChatIcon-Blizz:12:20:0:0:32:16:4:28:0:16|t ]]
elseif E.Retail then
if specialFlag == 'GUIDE' then
if _G.ChatFrame_GetMentorChannelStatus(CHATCHANNELRULESET_MENTOR, GetChannelRulesetForChannelID(zoneChannelID)) == CHATCHANNELRULESET_MENTOR then
return NPEV2_CHAT_USER_TAG_GUIDE
end
elseif specialFlag == 'NEWCOMER' then
if _G.ChatFrame_GetMentorChannelStatus(PLAYERMENTORSHIPSTATUS_NEWCOMER, GetChannelRulesetForChannelID(zoneChannelID)) == PLAYERMENTORSHIPSTATUS_NEWCOMER then
return _G.NPEV2_CHAT_USER_TAG_NEWCOMER
end
elseif specialFlag == 'GUIDE' and E.Retail then
if _G.ChatFrame_GetMentorChannelStatus(CHATCHANNELRULESET_MENTOR, GetChannelRulesetForChannelID(zoneChannelID)) == CHATCHANNELRULESET_MENTOR then
return NPEV2_CHAT_USER_TAG_GUIDE
end
elseif specialFlag == 'NEWCOMER' and E.Retail then
if _G.ChatFrame_GetMentorChannelStatus(PLAYERMENTORSHIPSTATUS_NEWCOMER, GetChannelRulesetForChannelID(zoneChannelID)) == PLAYERMENTORSHIPSTATUS_NEWCOMER then
return _G.NPEV2_CHAT_USER_TAG_NEWCOMER
end
else
return _G['CHAT_FLAG_'..specialFlag]
Expand Down Expand Up @@ -1920,7 +1913,7 @@ function CH:MessageFormatter(frame, info, chatType, chatGroup, chatTarget, chann
end

-- Player Flags
local pflag = GetPFlag(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17)
local pflag = GetPFlag(arg6, arg7, arg8)
if not bossMonster then
local chatIcon, pluginChatIcon = specialChatIcons[arg12] or specialChatIcons[playerName], CH:GetPluginIcon(arg12, playerName)
if type(chatIcon) == 'function' then
Expand Down Expand Up @@ -1967,7 +1960,7 @@ function CH:MessageFormatter(frame, info, chatType, chatGroup, chatTarget, chann
end
else
if not showLink or arg2 == '' then
if chatType == 'TEXT_EMOTE' or chatType == 'GUILD_DEATHS' then
if chatType == 'TEXT_EMOTE' then
body = message
else
body = format(_G['CHAT_'..chatType..'_GET']..message, pflag..arg2, arg2)
Expand Down Expand Up @@ -2959,7 +2952,6 @@ local FindURL_Events = {
'CHAT_MSG_BN_WHISPER_INFORM',
'CHAT_MSG_BN_INLINE_TOAST_BROADCAST',
'CHAT_MSG_GUILD_ACHIEVEMENT',
E.ClassicHC and 'CHAT_MSG_GUILD_DEATHS' or nil,
'CHAT_MSG_GUILD',
'CHAT_MSG_PARTY',
'CHAT_MSG_PARTY_LEADER',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
local E, L, V, P, G = unpack(ElvUI)
if not (E.Wrath or E.ClassicSOD) then return end
local DT = E:GetModule('DataTexts')

local _G = _G
Expand All @@ -20,27 +21,19 @@ local GetTalentTabInfo = GetTalentTabInfo
local LoadAddOn = (C_AddOns and C_AddOns.LoadAddOn) or LoadAddOn

local displayString, db = ''
local primaryStr, secondaryStr, activeGroup, hasDualSpec
local primaryStr, secondaryStr, activeGroup, hasDualSpec = '', ''

local function BuildTalentString(talentGroup)
local str = ''

for i = 1, MAX_TALENT_TABS do
local _, _, pointsSpent = GetTalentTabInfo(i, false, false, talentGroup)
if (str == '') then
str = pointsSpent
else
str = strjoin('/', str, pointsSpent)
end
str = (str == '' and pointsSpent) or strjoin('/', str, pointsSpent)
end

return str
end

local function ColorText(str, hex)
return format('|cff%s%s|r',hex,str)
end

local function OnEvent(self)
primaryStr, secondaryStr = BuildTalentString(1), BuildTalentString(2)

Expand All @@ -56,11 +49,10 @@ end

local function OnEnter()
DT.tooltip:ClearLines()

DT.tooltip:AddDoubleLine(format('%s: %s', ColorText(PRIMARY, activeGroup == 1 and '0CD809' or 'FFFFFF'), primaryStr))
DT.tooltip:AddLine(format('|cff%s%s:|r %s', activeGroup == 1 and '0CD809' or 'FFFFFF', PRIMARY, primaryStr), 1, 1, 1)

if hasDualSpec then
DT.tooltip:AddDoubleLine(format('%s: %s', ColorText(SECONDARY, activeGroup == 2 and '0CD809' or 'FFFFFF'), secondaryStr))
DT.tooltip:AddLine(format('|cff%s%s:|r %s', activeGroup == 2 and '0CD809' or 'FFFFFF', SECONDARY, secondaryStr), 1, 1, 1)
end

DT.tooltip:AddLine(' ')
Expand All @@ -85,10 +77,8 @@ local function OnClick(_, button)
else
HideUIPanel(_G.PlayerTalentFrame)
end
else
if hasDualSpec then
SetActiveTalentGroup(activeGroup == 1 and 2 or 1)
end
elseif hasDualSpec then
SetActiveTalentGroup(activeGroup == 1 and 2 or 1)
end
end
end
Expand Down
4 changes: 2 additions & 2 deletions ElvUI/Core/Modules/DataTexts/Gold.lua
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ local CURRENCY = CURRENCY

local menuList, myGold = {}, {}
local totalGold, totalHorde, totalAlliance = 0, 0, 0
local iconString = '|T%s:16:16:0:0:64:64:4:60:4:60|t'
local iconStringName = '|T%s:16:16:0:0:64:64:4:60:4:60|t %s'
local db

local function sortFunction(a, b)
Expand Down Expand Up @@ -218,7 +218,7 @@ local function OnEnter()
end

if info.quantity then
DT.tooltip:AddDoubleLine(format('%s %s', format(iconString, info.iconFileID), name), BreakUpLargeNumbers(info.quantity), 1, 1, 1, 1, 1, 1)
DT.tooltip:AddDoubleLine(format(iconStringName, info.iconFileID, name), BreakUpLargeNumbers(info.quantity), 1, 1, 1, 1, 1, 1)
end

index = index + 1
Expand Down
19 changes: 9 additions & 10 deletions ElvUI/Core/Modules/UnitFrames/Elements/BuffIndicator.lua
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,17 @@ function UF:Configure_AuraWatch(frame, isPet)
frame.AuraWatch.countFontSize = db.countFontSize
frame.AuraWatch.countFontOutline = db.countFontOutline

if frame.unit == 'pet' or isPet then
frame.AuraWatch:SetNewTable(E.global.unitframe.aurawatch.PET)
local auraTable
if (frame.unit == 'pet' or isPet) and db.petSpecific then
auraTable = E.global.unitframe.aurawatch.PET
elseif db.profileSpecific then
auraTable = E.db.unitframe.filters.aurawatch
else
local auraTable
if db.profileSpecific then
auraTable = E.db.unitframe.filters.aurawatch
else
auraTable = E.Filters.Expand({}, E.global.unitframe.aurawatch[E.myclass] or {})
E:CopyTable(auraTable, E.global.unitframe.aurawatch.GLOBAL)
end
frame.AuraWatch:SetNewTable(auraTable)
auraTable = E.Filters.Expand({}, E.global.unitframe.aurawatch[E.myclass] or {})
E:CopyTable(auraTable, E.global.unitframe.aurawatch.GLOBAL)
end

frame.AuraWatch:SetNewTable(auraTable)
elseif frame:IsElementEnabled('AuraWatch') then
frame:DisableElement('AuraWatch')
end
Expand Down
Loading

0 comments on commit 70c2c4b

Please sign in to comment.