From 12d34ecf85702331bfe5789e810b4d3657cc946f Mon Sep 17 00:00:00 2001 From: totalllyswede Date: Thu, 26 Feb 2026 01:33:41 -0800 Subject: [PATCH] Add files via upload --- InnerFireWatch.lua | 55 +++++++++++++++++++++++++++++++++++++--------- InnerFireWatch.toc | 2 +- README.md | 50 ++++++++++++++--------------------------- 3 files changed, 63 insertions(+), 44 deletions(-) diff --git a/InnerFireWatch.lua b/InnerFireWatch.lua index 00f62a2..72ec49d 100644 --- a/InnerFireWatch.lua +++ b/InnerFireWatch.lua @@ -14,6 +14,11 @@ local DEFAULTS = { gainedMessage = false, largeMessageEnabled = true, + -- Large message color (RGB 0-1 range) + largeMessageR = 1, + largeMessageG = 0.1, + largeMessageB = 0.1, + useCustomSound = true, customSoundPath = "Interface\\AddOns\\InnerFireWatch\\sounds\\expire.wav", fallbackSound = "igQuestFailed", @@ -47,15 +52,15 @@ local function ShowCenterAlert(msg, r, g, b) CenterAlert.startTime = GetTime() end --- Fade out over ~1.6s +-- Fade out over ~2.5s CenterAlert:SetScript("OnUpdate", function() if not CenterAlert:IsShown() then return end local t = GetTime() - (CenterAlert.startTime or 0) - if t >= 1.6 then + if t >= 2.5 then CenterAlert:Hide() return end - local alpha = 1 - (t / 1.6) + local alpha = 1 - (t / 2.5) CenterAlert:SetAlpha(alpha) end) @@ -94,7 +99,7 @@ local function NotifyExpired(buffLabel) DEFAULT_CHAT_FRAME:AddMessage("|cffff3333" .. msg .. "|r") if InnerFireWatchDB.largeMessageEnabled then - ShowCenterAlert(string.upper(buffLabel) .. " EXPIRED!") + ShowCenterAlert(string.upper(buffLabel) .. " EXPIRED!", InnerFireWatchDB.largeMessageR, InnerFireWatchDB.largeMessageG, InnerFireWatchDB.largeMessageB) end if UIErrorsFrame and UIErrorsFrame.AddMessage then @@ -220,12 +225,42 @@ SlashCmdList["INNERFIREWATCH"] = function(msg) InnerFireWatchDB.largeMessageEnabled = false DEFAULT_CHAT_FRAME:AddMessage("InnerFireWatch: large message disabled") + + + elseif msg == "white" then + InnerFireWatchDB.largeMessageR, InnerFireWatchDB.largeMessageG, InnerFireWatchDB.largeMessageB = 1,1,1 + DEFAULT_CHAT_FRAME:AddMessage("InnerFireWatch: color set to white") + elseif msg == "green" then + InnerFireWatchDB.largeMessageR, InnerFireWatchDB.largeMessageG, InnerFireWatchDB.largeMessageB = 0,1,0 + DEFAULT_CHAT_FRAME:AddMessage("InnerFireWatch: color set to green") + elseif msg == "blue" then + InnerFireWatchDB.largeMessageR, InnerFireWatchDB.largeMessageG, InnerFireWatchDB.largeMessageB = 0,0.4,1 + DEFAULT_CHAT_FRAME:AddMessage("InnerFireWatch: color set to blue") + elseif msg == "red" then + InnerFireWatchDB.largeMessageR, InnerFireWatchDB.largeMessageG, InnerFireWatchDB.largeMessageB = 1,0,0 + DEFAULT_CHAT_FRAME:AddMessage("InnerFireWatch: color set to red") + elseif msg == "yellow" then + InnerFireWatchDB.largeMessageR, InnerFireWatchDB.largeMessageG, InnerFireWatchDB.largeMessageB = 1,1,0 + DEFAULT_CHAT_FRAME:AddMessage("InnerFireWatch: color set to yellow") + elseif msg == "purple" then + InnerFireWatchDB.largeMessageR, InnerFireWatchDB.largeMessageG, InnerFireWatchDB.largeMessageB = 0.7,0,1 + DEFAULT_CHAT_FRAME:AddMessage("InnerFireWatch: color set to purple") else - DEFAULT_CHAT_FRAME:AddMessage("InnerFireWatch commands:") - DEFAULT_CHAT_FRAME:AddMessage(" /ifw on|off") - DEFAULT_CHAT_FRAME:AddMessage(" /ifw sound on|sound off") - DEFAULT_CHAT_FRAME:AddMessage(" /ifw custom on|custom off") - DEFAULT_CHAT_FRAME:AddMessage(" /ifw gained on|gained off") - DEFAULT_CHAT_FRAME:AddMessage(" /ifw large on|large off") + DEFAULT_CHAT_FRAME:AddMessage("|cff00ccffInnerFireWatch Commands|r") + DEFAULT_CHAT_FRAME:AddMessage(" ") + DEFAULT_CHAT_FRAME:AddMessage("|cffffff00General|r") + DEFAULT_CHAT_FRAME:AddMessage(" /ifw on") + DEFAULT_CHAT_FRAME:AddMessage(" /ifw off") + DEFAULT_CHAT_FRAME:AddMessage(" /ifw sound on|off") + DEFAULT_CHAT_FRAME:AddMessage(" /ifw gained on|off") + DEFAULT_CHAT_FRAME:AddMessage(" /ifw large on|off") + DEFAULT_CHAT_FRAME:AddMessage(" ") + DEFAULT_CHAT_FRAME:AddMessage("|cffffff00Color Presets|r") + DEFAULT_CHAT_FRAME:AddMessage(" /ifw white") + DEFAULT_CHAT_FRAME:AddMessage(" /ifw green") + DEFAULT_CHAT_FRAME:AddMessage(" /ifw blue") + DEFAULT_CHAT_FRAME:AddMessage(" /ifw red") + DEFAULT_CHAT_FRAME:AddMessage(" /ifw yellow") + DEFAULT_CHAT_FRAME:AddMessage(" /ifw purple") end end diff --git a/InnerFireWatch.toc b/InnerFireWatch.toc index c71044f..b0d2009 100644 --- a/InnerFireWatch.toc +++ b/InnerFireWatch.toc @@ -2,7 +2,7 @@ ## Title: InnerFireWatch ## Notes: Alerts you when key self-buffs expire (Priest/Warrior/Shaman). ## Author: Olzon -## Version: 1.1 +## Version: 1.2 ## SavedVariables: InnerFireWatchDB InnerFireWatch.lua diff --git a/README.md b/README.md index 80a1dea..222e606 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # InnerFireWatch (Turtle WoW) -Version: 1.1\ +Version: 1.2\ Author: Olzon A lightweight Turtle WoW (1.12.1) addon that alerts you when important @@ -38,52 +38,36 @@ self-buffs expire. - Prints a chat warning - Displays red UI error text - Optional large center-screen alert (toggleable) +- Preset color options for large alert +- Large center-screen alert lasts ~2.5s - Optional sound alert (custom or default) - Extremely lightweight and vanilla-friendly ------------------------------------------------------------------------ -## Installation - -1. Extract the zip file. - -2. Place the `InnerFireWatch` folder inside: - - `World of Warcraft\Interface\AddOns\` - -3. Restart the client. - -4. Enable the addon at the character selection screen if needed. - ------------------------------------------------------------------------- - ## Slash Commands -- `/ifw on` --- Enable addon\ -- `/ifw off` --- Disable addon\ -- `/ifw sound on` --- Enable sound\ -- `/ifw sound off` --- Disable sound\ -- `/ifw gained on` --- Message when buff is gained\ -- `/ifw gained off` --- Disable gained message\ -- `/ifw large on` --- Enable large center-screen alert\ -- `/ifw large off` --- Disable large center-screen alert +- `/ifw on` +- `/ifw off` +- `/ifw sound on|off` +- `/ifw gained on|off` +- `/ifw large on|off` +- `/ifw white` +- `/ifw green` +- `/ifw blue` +- `/ifw red` +- `/ifw yellow` +- `/ifw purple` ------------------------------------------------------------------------ ## Optional: Custom Sound -To use your own alert sound: +Place `expire.wav` inside: -1. Create this folder inside the addon: +`Interface\AddOns\InnerFireWatch\sounds\` - `Interface\AddOns\InnerFireWatch\sounds\` - -2. Place a file named: - - `expire.wav` - -If the file exists, it will be used automatically.\ -If not, the default WoW alert sound will play. +If present, it will be used automatically. ------------------------------------------------------------------------