Go to Page... |
Compatibility: | Eternity's End patch (9.2.5) |
Updated: | 06-04-22 04:29 AM |
Created: | 07-27-13 12:38 PM |
Downloads: | 55,906 |
Favorites: | 35 |
MD5: | |
Categories: | Monk, Buff, Debuff, Spell, Combat Mods |
A really simple addon to monitor Monk's stagger status when tanking.
As in the picture,
the top 4 icons are stagger percentage, Expel Harm, Ironskin Brew, and the Stagger.
The text in blue color, shows the the damage you currently suffer from stagger per second;
the percentage in class color, shows the total stagger damage proportion of the your Maxhealth;
the statusbar is the value for the percetage as above;
The OX statue icon, you can destory the statue by a click.
It is extremly lite memory taken and it is dragable.
All the settings can be changed in the Config.lua.
Use ingame slashcmd "/stg" to move the frame, "/stg reset" to reset the position.
If you need a icon to destroy your ox statue, you can try this addon - MonkStatueIcon.
My other addons:
NDui
NDuiClassic
File Name |
Version |
Size |
Author |
Date |
7.3 |
5kB |
siweia |
02-28-22 11:00 PM |
Comment Options |
12-11-13, 06:55 PM | |||
A Kobold Labourer
Forum posts: 0
File comments: 3
Uploads: 0
|
Re: Re: 5.4.2 Break
http://replygif.net/i/1311.gif (I promise it's safe) |
||
|
Nbburr |
View Public Profile |
Send a private message to Nbburr |
Find More Posts by Nbburr |
Add Nbburr to Your Buddy List |
JLawL |
View Public Profile |
Send a private message to JLawL |
Find More Posts by JLawL |
Add JLawL to Your Buddy List |
siweia |
View Public Profile |
Send a private message to siweia |
Find More Posts by siweia |
Add siweia to Your Buddy List |
10-15-14, 12:27 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 2
Uploads: 0
|
Thank your for updating!
|
|
adam.kruszewski |
View Public Profile |
Send a private message to adam.kruszewski |
Find More Posts by adam.kruszewski |
Add adam.kruszewski to Your Buddy List |
12-20-14, 01:17 PM | |
|
Ox Statue Icon
Why is the Ox Statue icon, and only that icon, showing up for MW spec?
|
|
DaemonSambe |
View Public Profile |
Send a private message to DaemonSambe |
Find More Posts by DaemonSambe |
Add DaemonSambe to Your Buddy List |
12-20-14, 11:44 PM | ||
|
Re: Ox Statue Icon
|
|
|
siweia |
View Public Profile |
Send a private message to siweia |
Find More Posts by siweia |
Add siweia to Your Buddy List |
01-17-15, 04:12 AM | |
A Kobold Labourer
Forum posts: 0
File comments: 3
Uploads: 0
|
Hello,
first let me say thank you very much for this addon, i recently tried monk (for the first time since i skipped mop) and liked brewmaster straight away, looked for a stagger tracking addon and came upon yours, its awesome, i hope you don't mind that i took liberty to modify my own copy to include tiger power and tiger strikes along the other buffs, with those two included it tracks everything i could ever want for my brewmaster |
|
tropiq |
View Public Profile |
Send a private message to tropiq |
Find More Posts by tropiq |
Add tropiq to Your Buddy List |
02-17-15, 12:32 PM | ||
A Fallenroot Satyr
Forum posts: 23
File comments: 32
Uploads: 0
|
Can you link to your core file? Or paste it here? I'd like to add ONLY Tiger Power like you did. I'd also like to move the Ox button over to the right end of the whole thing, right next to the Stagger icon (yes even with the little space in there) like this: Code:
------------------------- -- Stagger, by Siweia ------------------------- local _, ns = ... local cfg = ns.cfg if cfg.MyClass ~= "MONK" then return end local cr, cg, cb = cfg.cc.r, cfg.cc.g, cfg.cc.b -- APIs local CreateNF = function(f, a, w, h) f:SetSize(w or f:GetWidth(), h or f:GetHeight()) f:SetBackdrop({ bgFile = cfg.normTex, edgeFile = cfg.glowTex, edgeSize = 4 }) f:SetBackdropColor(0, 0, 0, a or 0.5) f:SetBackdropBorderColor(0, 0, 0, 1) end local CreateSD = function(f, m, s, n) if f.Shadow then return end f.Shadow = CreateFrame("Frame", nil, f) f.Shadow:SetPoint("TOPLEFT", f, -m, m) f.Shadow:SetPoint("BOTTOMRIGHT", f, m, -m) f.Shadow:SetBackdrop({ edgeFile = cfg.glowTex, edgeSize = s }) f.Shadow:SetBackdropBorderColor(0, 0, 0, 1) f.Shadow:SetFrameLevel(n or f:GetFrameLevel()) return f.Shadow end local CreateIF = function(f, HL) CreateSD(f, 4, 4) f.Icon = f:CreateTexture(nil, "ARTWORK") f.Icon:SetAllPoints() f.Icon:SetTexCoord(unpack(cfg.TexCoord)) f.CD = CreateFrame("Cooldown", nil, f, "CooldownFrameTemplate") f.CD:SetAllPoints() f.CD:SetReverse(true) if HL then f:EnableMouse(true) f.HL = f:CreateTexture(nil, "HIGHLIGHT") f.HL:SetTexture(1,1,1,0.35) f.HL:SetAllPoints(f.Icon) end end local CreateSB = function(f) f:SetStatusBarTexture(cfg.normTex) f:SetStatusBarColor(cr, cg, cb) CreateSD(f, 3, 3) f.BG = f:CreateTexture(nil, "BACKGROUND") f.BG:SetAllPoints() f.BG:SetTexture(cfg.normTex) f.BG:SetVertexColor(cr, cg, cb, 0.2) end local SetMover = function(Frame, Text, key, Pos, w, h) if not MoverDB[key] then MoverDB[key] = {} end local Mover = CreateFrame("Frame", nil, UIParent) Mover:SetWidth(w or Frame:GetWidth()) Mover:SetHeight(h or Frame:GetHeight()) CreateNF(Mover) Mover.Text = Mover:CreateFontString(nil, "OVERLAY") Mover.Text:SetFont(unpack(cfg.Font)) Mover.Text:SetPoint("CENTER") Mover.Text:SetText(Text) if not MoverDB[key]["Mover"] then Mover:SetPoint(unpack(Pos)) else Mover:SetPoint(unpack(MoverDB[key]["Mover"])) end Mover:EnableMouse(true) Mover:SetMovable(true) Mover:SetClampedToScreen(true) Mover:SetFrameStrata("HIGH") Mover:RegisterForDrag("LeftButton") Mover:SetScript("OnDragStart", function(self) Mover:StartMoving() end) Mover:SetScript("OnDragStop", function(self) self:StopMovingOrSizing() local AnchorF, _, AnchorT, X, Y = self:GetPoint() MoverDB[key]["Mover"] = {AnchorF, "UIParent", AnchorT, X, Y} end) Mover:Hide() Frame:SetPoint("TOPLEFT", Mover) return Mover end local Numb = function(n) if (n >= 1e6) then return ("%.1fm"):format(n / 1e6) elseif (n >= 1e3) then return ("%.1fk"):format(n / 1e3) else return ("%.0f"):format(n) end end local CreateAT = function(f, name) f:SetScript("OnEnter", function(self) GameTooltip:Hide() GameTooltip:SetOwner(self, "ANCHOR_BOTTOM", 0, -5) GameTooltip:ClearLines() GameTooltip:SetUnitAura("player", name) GameTooltip:Show() end) f:SetScript("OnLeave", function() GameTooltip:Hide() end) end -- Style local f = CreateFrame("Frame", nil, UIParent) local Icon1 = CreateFrame("Frame", nil, UIParent) local Icon2 = CreateFrame("Frame", nil, UIParent) local Icon3 = CreateFrame("Frame", nil, UIParent) local Statue = CreateFrame("Button", nil, UIParent, "SecureActionButtonTemplate") local function BuildStagger() f:SetSize(cfg.IconSize, cfg.IconSize) CreateIF(f, true) f.Bar = CreateFrame("StatusBar", nil, f) f.Bar:SetSize(cfg.IconSize*4 + 12, 5) CreateSB(f.Bar) f:SetPoint("BOTTOMRIGHT", f.Bar, "TOPRIGHT", 0, 4) f.Text = f:CreateFontString(nil, "OVERLAY") f.Text:SetFont(unpack(cfg.Font)) f.Text:SetPoint("TOPRIGHT", f.Bar, "BOTTOMRIGHT", 0, -2) -- Elusive Brew Icon3:SetSize(cfg.IconSize, cfg.IconSize) Icon3:SetPoint("RIGHT", f, "LEFT", -4, 0) CreateIF(Icon3, true) Icon3.Icon:SetTexture(select(3, GetSpellInfo(115308))) Icon3.Count = Icon3:CreateFontString(nil, "OVERLAY") Icon3.Count:SetFont(unpack(cfg.Font)) Icon3.Count:SetPoint("BOTTOMRIGHT", 3, -1) -- Guard Icon2:SetSize(cfg.IconSize, cfg.IconSize) Icon2:SetPoint("RIGHT", Icon3, "LEFT", -4, 0) CreateIF(Icon2, true) Icon2.Icon:SetTexture(select(3, GetSpellInfo(115295))) -- Shuffle Icon1:SetSize(cfg.IconSize, cfg.IconSize) Icon1:SetPoint("RIGHT", Icon2, "LEFT", -4, 0) CreateIF(Icon1, true) Icon1.Icon:SetTexture(select(3, GetSpellInfo(115307))) -- Ox Statue Statue:SetSize(cfg.IconSize*3/4, cfg.IconSize*3/4) Statue:SetPoint("TOPLEFT", f.Bar, "BOTTOMLEFT", 1, -3) CreateIF(Statue, true) Statue.Icon:SetTexture(select(3, GetSpellInfo(115069))) Statue:SetScript("OnEnter", function(self) GameTooltip:Hide() GameTooltip:SetOwner(self, "ANCHOR_RIGHT", 0, 0) GameTooltip:ClearLines() GameTooltip:SetSpellByID(115315) GameTooltip:Show() end) Statue:SetScript("OnLeave", GameTooltip_Hide) f.Mover = SetMover(f.Bar, NPE_MOVE, "Stagger", cfg.StaggerPos, 140, 20) SlashCmdList["STAGGER"] = function(msg) if msg:lower() == "reset" then wipe(MoverDB["Stagger"]) ReloadUI() else if f.Mover:IsVisible() then f.Mover:Hide() else f.Mover:Show() end end end SLASH_STAGGER1 = "/stg" end -- Function f:RegisterUnitEvent("UNIT_AURA", "player") f:RegisterUnitEvent("PLAYER_SPECIALIZATION_CHANGED", "player") f:RegisterEvent("PLAYER_ENTERING_WORLD") f:RegisterEvent("UNIT_MAXHEALTH") f:SetScript("OnEvent", function() if not f.styled then BuildStagger() f.styled = true end if f.styled then if GetSpecialization() == 1 then f:Show() Icon1:Show() Icon2:Show() Icon3:Show() Statue:Show() local Total, Per local name, _, icon, _, _, duration, expire, _, _, _, _, _, _, _, value = UnitAura("player", GetSpellInfo(124275), "", "HARMFUL") if (not name) then name, _, icon, _, _, duration, expire, _, _, _, _, _, _, _, value = UnitAura("player", GetSpellInfo(124274), "", "HARMFUL") end if (not name) then name, _, icon, _, _, duration, expire, _, _, _, _, _, _, _, value = UnitAura("player", GetSpellInfo(124273), "", "HARMFUL") end if name and value > 0 and duration > 0 then Total = value * math.floor(duration) Per = Total / UnitHealthMax("player") * 100 f:SetAlpha(1) f.Icon:SetTexture(icon) f.CD:SetCooldown(expire - 10, 10) else value = 0 Per = 0 f:SetAlpha(cfg.FadeAlpha) f.Icon:SetTexture(select(3, GetSpellInfo(124275))) f.CD:SetCooldown(0, 0) end f.Bar:SetMinMaxValues(0, 100) f.Bar:SetValue(Per) f.Text:SetText(cfg.InfoColor..Numb(value).." "..cfg.MyColor..Numb(Per).."%") if UnitAura("player", GetSpellInfo(124273), "", "HARMFUL") then ActionButton_ShowOverlayGlow(f) else ActionButton_HideOverlayGlow(f) end -- Shuffle local name1, _, _, _, _, dur1, exp1 = UnitBuff("player", GetSpellInfo(115307)) if exp1 then Icon1:SetAlpha(1) Icon1.CD:SetCooldown(exp1 - dur1, dur1) CreateAT(Icon1, name1) else Icon1:SetAlpha(cfg.FadeAlpha) Icon1.CD:SetCooldown(0, 0) end -- Guard local name2, _, _, _, _, dur2, exp2 = UnitBuff("player", GetSpellInfo(115295)) if exp2 then Icon2:SetAlpha(1) Icon2.CD:SetCooldown(exp2 - dur2, dur2) CreateAT(Icon2, name2, "ANCHOR_RIGHT") else Icon2:SetAlpha(cfg.FadeAlpha) Icon2.CD:SetCooldown(0, 0) end -- Elusive Brew local count = select(4, UnitBuff("player", GetSpellInfo(128939))) local name3, _, _, _, _, dur, exp3, _, _, _, id = UnitBuff("player", GetSpellInfo(115308)) local Status if count and count > 0 then Icon3:SetAlpha(1) Icon3.Count:SetText(count) CreateAT(Icon3, name3) Status = true else Icon3:SetAlpha(cfg.FadeAlpha) Icon3.Count:SetText(nil) Status = false end if id == 115308 then Icon3.CD:SetCooldown(exp3 - dur, dur) Icon3:SetAlpha(1) else Icon3.CD:SetCooldown(0, 0) if Status then Icon3:SetAlpha(1) else Icon3:SetAlpha(cfg.FadeAlpha) end end if count and count == 15 then ActionButton_ShowOverlayGlow(Icon3) else ActionButton_HideOverlayGlow(Icon3) end -- Ox Statue local haveStatue, sname, sstart, sdur, sicon = GetTotemInfo(1) local sid = select(7, GetSpellInfo(sname)) if haveStatue and sdur > 0 then Statue:SetAlpha(1) Statue.CD:SetCooldown(sstart, sdur) else Statue:SetAlpha(cfg.FadeAlpha) Statue.CD:SetCooldown(0, 0) end Statue:SetAttribute("*type*", "macro") Statue:SetAttribute("macrotext", "/click TotemFrameTotem1 RightButton") else f:Hide() Icon1:Hide() Icon2:Hide() Icon3:Hide() Statue:Hide() end end end)
Last edited by Šynasty : 02-18-15 at 11:35 AM.
|
|
|
Šynasty |
View Public Profile |
Send a private message to Šynasty |
Find More Posts by Šynasty |
Add Šynasty to Your Buddy List |
03-10-15, 02:31 AM | |
A Kobold Labourer
Forum posts: 0
File comments: 1
Uploads: 0
|
New user + new bug
Hi, i just got your addon this morning, and got following bug right away:
5x Stagger\Core.lua:102: Usage: GameTooltip:SetUnitAura("unit", [index] or ["name", "rank"][, "filter"]) [C]: in function `SetUnitAura' Stagger\Core.lua:102: in function <Stagger\Core.lua:98> Locals: self = <unnamed> { 0 = <userdata> Shadow = <unnamed> { } CD = <unnamed> { } HL = <unnamed> { } Icon = <unnamed> { } Count = <unnamed> { } } name = nil By the way, i like the changes you and the other user submitted, with screenshots just below. Can i implement them myself, with code or something? Im inexperienced with it, but i understand instructions with ease So far, it seems playable with the bug, but im still new to brewmaster, so cannot inform if numbers are correct or icons activating correctly according to effect and cooldown. Thank you for a nice addon, that i hopefully get to use alot - bugfree |
|
Dawnflower |
View Public Profile |
Send a private message to Dawnflower |
Find More Posts by Dawnflower |
Add Dawnflower to Your Buddy List |
03-20-15, 05:06 AM | ||
|
Re: New user + new bug
|
|
|
siweia |
View Public Profile |
Send a private message to siweia |
Find More Posts by siweia |
Add siweia to Your Buddy List |
07-11-15, 06:57 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 6
Uploads: 0
|
Errors
I was looking for a light addon for my monk, so I found this.
Looks very good. But as soon as I start combat, there are some errors: Code:
Date: 2015-07-12 02:52:08 ID: 1 Error occured in: AddOn: Stagger Count: 734 Message: Note: AddOn Stagger attempted to call a protected function (<unnamed>:Show()) during combat lockdown. Debug: [C]: Show() Stagger\Core.lua:191: Stagger\Core.lua:184 Locals: None Code:
Date: 2015-07-12 02:52:08 ID: 2 Error occured in: AddOn: Stagger Count: 734 Message: Note: AddOn Stagger attempted to call a protected function (<unnamed>:SetAttribute()) during combat lockdown. Debug: [C]: SetAttribute() Stagger\Core.lua:289: Stagger\Core.lua:184 Locals: None Didn't see them. Thanks
Last edited by Xerxes13 : 07-12-15 at 06:30 AM.
|
|
Xerxes13 |
View Public Profile |
Send a private message to Xerxes13 |
Find More Posts by Xerxes13 |
Add Xerxes13 to Your Buddy List |
07-28-15, 09:02 AM | ||
|
Re: Errors
If you block the error report, it won't affect for any the activities though. You can just ignore it. And if you want to know the remain duration of icons, you can download the previous version of this addon.
Last edited by siweia : 07-28-15 at 09:03 AM.
|
|
|
siweia |
View Public Profile |
Send a private message to siweia |
Find More Posts by siweia |
Add siweia to Your Buddy List |
07-31-15, 07:02 PM | |
|
Hey,
I love this addon on my Monk, its so useful. Do you think you can make same one for combat rogue, I figure its same principal, just change spells;p Or Suggest addon that does similar thing for Combat rogue, thanks. |
|
ConstanT1ne32 |
View Public Profile |
Send a private message to ConstanT1ne32 |
Find More Posts by ConstanT1ne32 |
Add ConstanT1ne32 to Your Buddy List |
08-11-15, 07:56 PM | ||
|
I am too lasy. lol |
|
|
siweia |
View Public Profile |
Send a private message to siweia |
Find More Posts by siweia |
Add siweia to Your Buddy List |
07-20-16, 09:55 AM | |
A Kobold Labourer
Forum posts: 0
File comments: 1
Uploads: 0
|
Hey,
Been using this awesome addon for a while now and it has helped so much in WoD. Was excited to see it was updated for Legion but after installing, it for some reason the stagger meter does not work. Both "eye of the tiger" and "ironskin" work but the stagger bar remains empty and both numbers stay at 0 0 regardless of the amount of stagger. I installed it over a clean default UI so I am not sure what is wrong. Any help would be great to have this addon working again. Thank you. |
|
Atlas-04 |
View Public Profile |
Send a private message to Atlas-04 |
Find More Posts by Atlas-04 |
Add Atlas-04 to Your Buddy List |