From 5bbbde3ca73201cadaa1d53d932758cb25e486fb Mon Sep 17 00:00:00 2001 From: omicron Date: Sun, 24 Aug 2025 03:15:14 +0200 Subject: [PATCH] Update default configuration This comprises many different configuration changes over a longer time for multiple classes. --- src/frames.lua | 405 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 312 insertions(+), 93 deletions(-) diff --git a/src/frames.lua b/src/frames.lua index b7b63cd..45b1713 100644 --- a/src/frames.lua +++ b/src/frames.lua @@ -26,27 +26,27 @@ local colors = { poison = { 0.0, 0.7, 0.7 }, curse = { 0.7, 0.0, 0.7 }, red = { 1, 0, 0 }, - blue = { .4, 0.4, 1 }, - light_blue = { .7, .7, 1 }, + blue = { 0.4, 0.4, 1 }, + light_blue = { 0.7, 0.7, 1 }, } local function RangeConfig() local _, class = UnitClass("player") if class == "SHAMAN" then return { - friendly = "Healing Surge", + friendly = "Healing Wave", enemy = "Lightning Bolt", - fade = 0.2 + fade = 0.2, } elseif class == "PRIEST" then return { friendly = "Flash Heal", enemy = "Smite", - fade = 0.2 + fade = 0.2, } else return { - fade = 0.2 + fade = 0.2, } end end @@ -56,128 +56,198 @@ local function MouseConfig() if class == "SHAMAN" then return { -- No modifier - { button = "mouse1", mods = {}, kind = "target" }, + { button = "mouse1", mods = {}, kind = "target" }, { button = "mouse2", mods = {}, kind = "macro", - data = - "/use [@UNIT,dead,help]Ancestral Vision; [@UNIT,help]Chain Heal" + data = "/use [@UNIT,dead,help]Ancestral Vision; [@UNIT,help]Chain Heal", }, { button = "mouse3", mods = {}, kind = "macro", - data = - "/use [@UNIT,dead,help]Ancestral Spirit; [@UNIT,help]Purify Spirit" + data = "/use [@UNIT,dead,help]Ancestral Spirit; [@UNIT,help]Purify Spirit", }, - { button = "wheel-up", mods = {}, kind = "macro", data = "/use [@UNIT,help]Healing Surge" }, - { button = "wheel-down", mods = {}, kind = "macro", data = "/use [@UNIT,help]Riptide" }, + { + button = "wheel-up", + mods = {}, + kind = "macro", + data = "/use [@UNIT,help]Healing Surge", + }, + { button = "wheel-down", mods = {}, kind = "macro", data = "/use [@UNIT,help]Riptide" }, -- alt - { button = "wheel-up", mods = { alt = true }, kind = "spell", data = "Healing Wave" }, - { button = "wheel-down", mods = { alt = true }, kind = "spell", data = "Earth Shield" }, + { button = "wheel-up", mods = { alt = true }, kind = "spell", data = "Healing Wave" }, + { button = "wheel-down", mods = { alt = true }, kind = "spell", data = "Earth Shield" }, -- Shift - { button = "mouse2", mods = { shift = true }, kind = "togglemenu" }, + { button = "mouse2", mods = { shift = true }, kind = "togglemenu" }, { button = "wheel-up", mods = { shift = true }, kind = "macro", - data = - "/cast [@UNIT,help]Water Walking;\n/stopspelltarget" + data = "/cast [@UNIT,help]Water Walking;\n/stopspelltarget", }, } elseif class == "PRIEST" then return { -- No modifier - { button = "mouse1", mods = {}, kind = "target" }, + { button = "mouse1", mods = {}, kind = "target" }, { button = "mouse2", mods = {}, kind = "macro", - data = "/use [@UNIT,dead,help]Mass Resurrection; [@UNIT,help]Power Word: Radiance" + data = "/use [@UNIT,dead,help]Mass Resurrection; [@UNIT,help]Power Word: Radiance", }, { button = "mouse3", mods = {}, kind = "macro", - data = "/use [@UNIT,dead,help]Resurrection; [@UNIT,help]Purify" + data = "/use [@UNIT,dead,help]Resurrection; [@UNIT,help]Purify", }, - { button = "mouse4", mods = {}, kind = "spell", data = "Shadow Covenant" }, - { button = "wheel-up", mods = {}, kind = "macro", data = "/use [@UNIT,help]Flash Heal" }, - { button = "wheel-down", mods = {}, kind = "macro", data = "/use [@UNIT,help]Renew" }, + { button = "mouse4", mods = {}, kind = "spell", data = "Shadow Covenant" }, + { + button = "wheel-up", + mods = {}, + kind = "macro", + data = "/use [@UNIT,help]Flash Heal", + }, + { button = "wheel-down", mods = {}, kind = "macro", data = "/use [@UNIT,help]Renew" }, -- alt - { button = "mouse1", mods = { alt = true }, kind = "spell", data = "Power Word: Life" }, - { button = "mouse2", mods = { alt = true }, kind = "spell", data = "Pain Suppression" }, - { button = "mouse3", mods = { alt = true }, kind = "spell", data = "Power Infusion" }, - { button = "wheel-up", mods = { alt = true }, kind = "spell", data = "Rapture" }, - { button = "wheel-down", mods = { alt = true }, kind = "spell", data = "Power Word: Shield" }, + { button = "mouse1", mods = { alt = true }, kind = "spell", data = "Power Word: Life" }, + { button = "mouse2", mods = { alt = true }, kind = "spell", data = "Pain Suppression" }, + { button = "mouse3", mods = { alt = true }, kind = "spell", data = "Power Infusion" }, + { button = "wheel-up", mods = { alt = true }, kind = "spell", data = "Rapture" }, + { button = "wheel-down", mods = { alt = true }, kind = "spell", data = "Power Word: Shield" }, -- Shift - { button = "mouse2", mods = { shift = true }, kind = "togglemenu" }, + { button = "mouse2", mods = { shift = true }, kind = "togglemenu" }, { button = "wheel-up", mods = { shift = true }, kind = "macro", - data = "/cast [@UNIT,help]Levitate;\n/stopspelltarget" + data = "/cast [@UNIT,help]Levitate;\n/stopspelltarget", }, { button = "wheel-down", mods = { shift = true }, kind = "macro", - data = "/cast [@UNIT,help]Leap of Faith;\n/stopspelltarget" + data = "/cast [@UNIT,help]Leap of Faith;\n/stopspelltarget", }, } elseif class == "MONK" then return { -- No modifier - { button = "mouse1", mods = {}, kind = "target" }, + { button = "mouse1", mods = {}, kind = "target" }, { button = "mouse2", mods = {}, kind = "macro", - data = ("/use [@UNIT,known:Reawaken,dead,help]Reawaken; " + data = ( + "/use [@UNIT,known:Reawaken,dead,help]Reawaken; " .. "[@UNIT,dead,help]Resuscitate; " - .. "[@UNIT,help]Tiger's Lust"), + .. "[@UNIT,help]Tiger's Lust" + ), }, { button = "mouse3", mods = {}, kind = "macro", - data = "/use [@UNIT,dead,help]Resuscitate; [@UNIT,help]Detox" + data = "/use [@UNIT,dead,help]Resuscitate; [@UNIT,help]Detox", + }, + { button = "mouse4", mods = {}, kind = "spell", data = "Shadow Covenant" }, + { button = "wheel-up", mods = {}, kind = "macro", data = "/use [@UNIT,help]Vivify" }, + { + button = "wheel-down", + mods = {}, + kind = "macro", + data = "/use [@UNIT,help]Soothing Mist", }, - { button = "mouse4", mods = {}, kind = "spell", data = "Shadow Covenant" }, - { button = "wheel-up", mods = {}, kind = "macro", data = "/use [@UNIT,help]Vivify" }, - { button = "wheel-down", mods = {}, kind = "macro", data = "/use [@UNIT,help]Soothing Mist" }, -- alt - { button = "mouse1", mods = { alt = true }, kind = "spell", data = "Power Word: Life" }, - { button = "mouse2", mods = { alt = true }, kind = "spell", data = "Pain Suppression" }, - { button = "mouse3", mods = { alt = true }, kind = "spell", data = "Power Infusion" }, - { button = "wheel-up", mods = { alt = true }, kind = "spell", data = "Rapture" }, - { button = "wheel-down", mods = { alt = true }, kind = "spell", data = "Power Word: Shield" }, + { button = "mouse1", mods = { alt = true }, kind = "spell", data = "Power Word: Life" }, + { button = "mouse2", mods = { alt = true }, kind = "spell", data = "Pain Suppression" }, + { button = "mouse3", mods = { alt = true }, kind = "spell", data = "Power Infusion" }, + { button = "wheel-up", mods = { alt = true }, kind = "spell", data = "Rapture" }, + { button = "wheel-down", mods = { alt = true }, kind = "spell", data = "Power Word: Shield" }, -- Shift - { button = "mouse2", mods = { shift = true }, kind = "togglemenu" }, + { button = "mouse2", mods = { shift = true }, kind = "togglemenu" }, { button = "wheel-up", mods = { shift = true }, kind = "macro", - data = "/cast [@UNIT,help]Levitate;\n/stopspelltarget" + data = "/cast [@UNIT,help]Levitate;\n/stopspelltarget", }, { button = "wheel-down", mods = { shift = true }, kind = "macro", - data = "/cast [@UNIT,help]Leap of Faith;\n/stopspelltarget" + data = "/cast [@UNIT,help]Leap of Faith;\n/stopspelltarget", }, } + elseif class == "PALADIN" then + return { + -- No modifier + { button = "mouse1", mods = {}, kind = "target" }, + { + button = "mouse2", + mods = {}, + kind = "macro", + data = ( + "/use [@UNIT,combat,dead,help]Intercession; " + .. "[@UNIT,known:Absolution,dead,help]Absolution; " + .. "[@UNIT,dead,help]Redemption; " + .. "[@UNIT,help]Blessing of Freedom" + ), + }, + { + button = "mouse3", + mods = {}, + kind = "macro", + data = "/use [@UNIT,dead,help]Redemption; [@UNIT,help]Cleanse Toxins", + }, + { + button = "mouse4", + mods = {}, + kind = "spell", + data = "Word of Glory", + }, + { + button = "mouse5", + mods = {}, + kind = "spell", + data = "Blessing of Summer", + }, + { + button = "wheel-up", + mods = {}, + kind = "macro", + data = "/use [@UNIT,help]Flash of Light", + }, + { + button = "wheel-down", + mods = {}, + kind = "macro", + data = "/use [@UNIT,help,known:Holy Shock]Holy Shock; [@UNIT,help]Word of Glory", + }, + + -- Shift + { button = "mouse2", mods = { shift = true }, kind = "togglemenu" }, + + -- alt + { button = "mouse1", mods = { alt = true }, kind = "spell", data = "Blessing of Sacrifice" }, + { button = "mouse2", mods = { alt = true }, kind = "spell", data = "Blessing of Protection" }, + { button = "mouse3", mods = { alt = true }, kind = "spell", data = "Blessing of Spellwarding" }, + { button = "wheel-up", mods = { alt = true }, kind = "spell", data = "Holy Light" }, + { button = "wheel-down", mods = { alt = true }, kind = "spell", data = "Lay on Hands" }, + } else return { -- Super basic defaults - { button = "mouse1", mods = {}, kind = "target" }, + { button = "mouse1", mods = {}, kind = "target" }, { button = "mouse2", mods = { shift = true }, kind = "togglemenu" }, } end @@ -199,7 +269,7 @@ local function TriggerClassConfig() y = -3, color = colors.white, showStacks = true, - } + }, }, { kind = "AuraTrigger", @@ -213,21 +283,20 @@ local function TriggerClassConfig() y = -3, color = colors.white, showStacks = true, - } + }, }, { kind = "AuraTrigger", spellId = 61295, own = true, -- Riptide indicator = { - kind = "SquareIndicator", + kind = "IconIndicator", size = 17, point = "BOTTOMLEFT", x = 3, y = 3, - color = colors.cyan, fadeTime = 10.0, - } + }, }, { kind = "StatusTrigger", @@ -238,7 +307,7 @@ local function TriggerClassConfig() thickness = 3.0, color = colors.red, level = 0, - } + }, }, } elseif class == "PRIEST" then @@ -255,7 +324,7 @@ local function TriggerClassConfig() y = -3, color = colors.white, fadeTime = 10.0, - } + }, }, { kind = "AuraTrigger", @@ -270,7 +339,7 @@ local function TriggerClassConfig() color = colors.orange, fadeTime = 10.0, flashTime = 1.3, - } + }, }, { kind = "AuraTrigger", @@ -284,7 +353,7 @@ local function TriggerClassConfig() y = -3, color = { 0.7, 0.9, 1 }, showStacks = true, - } + }, }, { kind = "AuraTrigger", @@ -298,7 +367,7 @@ local function TriggerClassConfig() y = 3, color = colors.cyan, fadeTime = 10.0, - } + }, }, { kind = "AuraTrigger", @@ -313,7 +382,7 @@ local function TriggerClassConfig() color = colors.white, fadeTime = 10.0, flashTime = 1.3, - } + }, }, { kind = "AuraTrigger", @@ -327,7 +396,7 @@ local function TriggerClassConfig() y = 3, color = colors.violet, fadeTime = 10.0, - } + }, }, { kind = "StatusTrigger", @@ -338,26 +407,161 @@ local function TriggerClassConfig() thickness = 3.0, color = colors.red, level = 0, - } - }, - --[[{ - kind="MultiTrigger", invert=false, - children = { - {kind="StatusTrigger", status="Immune", defaultData={color=colors.violet}}, -- Renew - {kind="AuraTrigger", spellId=139, own=true, defaultData={color=colors.cyan}}, -- Renew - {kind="AuraTrigger", spellId=21562, own=true, defaultData={color=colors.white}}, -- pw:f }, + }, + } + elseif class == "PALADIN" then + return { + { + kind = "AuraTrigger", + spellId = 287280, -- Glimmer of Light + own = true, indicator = { - kind="SquareIndicator", - size=17, - point="TOPRIGHT", - x=-3, y=-3, - color=colors.white, - } - }--]] + kind = "SquareIndicator", + size = 17, + point = "TOPLEFT", + x = 3, + y = -3, + color = colors.white, + fadeTime = 10.0, + flashTime = 1.3, + }, + }, + { + kind = "AuraTrigger", + spellId = 25771, -- Forbearance + indicator = { + kind = "SquareIndicator", + size = 17, + point = "TOPLEFT", + x = 22, + y = -3, + color = colors.red, + fadeTime = 10.0, + flashTime = 1.3, + }, + }, + { + kind = "AuraTrigger", + spellId = 53563, -- Beacon of Light + own = true, + indicator = { + kind = "SquareIndicator", + size = 17, + point = "TOPLEFT", + x = 41, + y = -3, + color = colors.white, + }, + }, + { + kind = "AuraTrigger", + spellId = 156910, -- Beacon of Faith + own = true, + indicator = { + kind = "SquareIndicator", + size = 17, + point = "TOPLEFT", + x = 41, + y = -3, + color = colors.light_blue, + }, + }, + { + kind = "AuraTrigger", + spellId = 200025, -- Beacon of Virtue + own = true, + indicator = { + kind = "SquareIndicator", + size = 17, + point = "TOPLEFT", + x = 41, + y = -3, + color = colors.white, + }, + }, + { + kind = "AuraTrigger", + spellId = 1044, -- Blessing of Freedom + own = true, + indicator = { + kind = "SquareIndicator", + size = 17, + point = "BOTTOMLEFT", + x = 3, + y = 3, + color = colors.orange, + flashTime = 1.3, + }, + }, + { + kind = "AuraTrigger", + spellId = 1111, -- Blessing of Spellwarding + own = true, + indicator = { + kind = "SquareIndicator", + size = 17, + point = "BOTTOMLEFT", + x = 41, + y = 3, + color = colors.cyan, + flashTime = 1.3, + }, + }, + { + kind = "AuraTrigger", + spellId = 1022, -- Blessing of Protection + own = true, + indicator = { + kind = "SquareIndicator", + size = 17, + point = "BOTTOMLEFT", + x = 41, + y = 3, + color = colors.cyan, + flashTime = 1.3, + }, + }, + { + kind = "AuraTrigger", + spellId = 6940, -- Blessing of Saccrifice + own = true, + indicator = { + kind = "SquareIndicator", + size = 17, + point = "BOTTOMLEFT", + x = 61, + y = 3, + color = colors.red, + flashTime = 1.3, + }, + }, + { + kind = "StatusTrigger", + status = "Burn", + invert = false, + indicator = { + kind = "BorderIndicator", + thickness = 3.0, + color = colors.red, + level = 0, + }, + }, } else - return {} + return { + { + kind = "StatusTrigger", + status = "Burn", + invert = false, + indicator = { + kind = "BorderIndicator", + thickness = 3.0, + color = colors.red, + level = 0, + }, + }, + } end end @@ -377,58 +581,73 @@ local function MakeDebuffTrigger(slot, spellid, color, stacks) y = -3, color = color, showStacks = stacks, - } + }, } end local function TriggerConfig() local triggers = TriggerClassConfig() + print("Class triggers:", #triggers) -- slot, spellid, color, stacks local debuffs = { -- Kezzara, Aberrus - { 1, 406525, colors.orange }, -- Dread Rift - { 2, 402253, colors.red }, -- Ray of Anguish + { 1, 406525, colors.orange }, -- Dread Rift + { 2, 402253, colors.red }, -- Ray of Anguish { 3, 404743, colors.violet, true }, -- Terror Claws -- Forgotten Experiment, Aberrus - { 1, 406365, colors.red, true }, -- Rending Charge (p1) - { 1, 407327, colors.cyan, true }, -- Unstable Essence (p2/p3) + { 1, 406365, colors.red, true }, -- Rending Charge (p1) + { 1, 407327, colors.cyan, true }, -- Unstable Essence (p2/p3) { 3, 407313, colors.violet, true }, -- Infused Strikes -- Uldaman: Legacy of Tyr - { 1, 377510, colors.cyan, true }, -- Stolen Time + { 1, 377510, colors.cyan, true }, -- Stolen Time -- Brackenhide Hollow - { 1, 367521, colors.cyan, true }, -- Bone Bolt + { 1, 367521, colors.cyan, true }, -- Bone Bolt -- The Underrot --{1, 273226, colors.green, true}, -- Decaying Spores -- Sarkareth, Aberrus - { 3, 401330, colors.violet }, -- Burning Claws (P1 tank) - { 3, 411241, colors.violet }, -- Void Claws (P2 tank) - { 3, 408429, colors.violet }, -- Void Slash (P3 tank) - { 2, 404218, colors.blue }, -- Void Fracture (carry bomb) - { 1, 401951, colors.cyan, true }, -- Oblivion + { 3, 401330, colors.violet }, -- Burning Claws (P1 tank) + { 3, 411241, colors.violet }, -- Void Claws (P2 tank) + { 3, 408429, colors.violet }, -- Void Slash (P3 tank) + { 2, 404218, colors.blue }, -- Void Fracture (carry bomb) + { 1, 401951, colors.cyan, true }, -- Oblivion -- Darkheart Thicket { 3, 225484, colors.violet }, -- Grievous Rip { 3, 196376, colors.violet }, -- Grievous Tear -- Throne of the Tides - { 1, 426660, colors.red, true }, -- Razor Jaws + { 1, 426660, colors.red, true }, -- Razor Jaws -- Nymue, Amirdrassil - { 1, 429785, colors.red }, -- Loom (line stun) - { 1, 417807, colors.red, true }, -- Fyrakk + { 1, 429785, colors.red }, -- Loom (line stun) + { 1, 417807, colors.red, true }, -- Fyrakk + -- Algeth'ar Academy + { 1, 389033, colors.poison, true }, + { 1, 388912, colors.red, true }, + { 2, 391977, colors.cyan, true }, + { 2, 389011, colors.cyan, true }, + -- Nokhud Offensive + { 1, 381692, colors.red, true }, + + -- Tazavesh + { 1, 1240102, colors.orange, true }, + + -- Priory of the Sacred Flame + { 1, 424414, colors.violet, true }, } for _, debuff in ipairs(debuffs) do table.insert(triggers, MakeDebuffTrigger(debuff[1], debuff[2], debuff[3], debuff[4])) end + print("All triggers:", #triggers) -- Some more debuffs in the bottom row table.insert(triggers, { @@ -443,7 +662,7 @@ local function TriggerConfig() color = colors.red, fadeTime = 3.0, showStacks = true, - } + }, }) return triggers @@ -462,7 +681,7 @@ function HideBlizzardFrames() TargetFrame, FocusFrame, PartyFrame, - CompactRaidFrameContainer + CompactRaidFrameContainer, } for _, frame in ipairs(blizzardFrames) do