Skada Damage Meter
Skada is a modular damage meter with various viewing modes, segmented fights and customizable windows. It aims to be highly efficient with memory and CPU.
"Skada" is Swedish for "Damage".
Usage
When you first start using Skada, there will be a window created by default. This window can be extensively customized in Skada's configuration panel; click the little cog icon to access a menu, and then click Configure. Depending on your user interface, there may also be a minimap button allowing quick access to this menu.
Skada supports multiple windows. To create a new window, click Windows in the addon's configuration panel. There are three built-in types of windows - Bar, Inline, and Data text. Bar is the classic damage meter window, and is very customizable. Inline shows the meter in a horizontal line, which can be useful for integration in custom user interfaces. Data text shows just one item at a time, and can also be displayed by any LDB display addon, such as Titan Panel, ChocolateBar, or ElvUI.
In the normal Bar window, you can left click on specific items for more detailed information, and right click for less details. At the very "top" is the list of all saved fight segments. Some data modes have several detailed information views. In this case you choose alternate views by holding certain keys pressed while clicking. For example, in Damage mode, you can Shift-click a player to see what enemies the player caused damage to. Tooltips will display how to reach the different views.
You can also use window buttons for selecting fight segment and mode directly.
Scrolling in Skada is done with the mousewheel.
Plugins
Skada is very easy to extend, and there are many extra plugin addons out there that add functionality, such as:
- Skada Graphs: Adds graph display systems to Skada
- Skada DPSplusHPS: Useful add-on for Disc Priests.
- Skada Chat Frame Integrator: Integrates Skada in any chat frame.
- SkadaScroll: Provides additional options for scrolling the bar displays
- Skada Avoidance and Mitigation: Helps tanks benchmark their damage reduction performance via avoidance and mitigation
- Skada for Tanks: Adds information useful for evaluating a tank's performance
- Guild Skada High Score: Let's you compare a guild's performance.
- Skada_FriendlyFire: Display friendly fire damage done by players
- Skada Player Score: Generate combined performance scores for players.
There is a page with API information here.
Reporting issues
Suggestions and bug reports here. Bug reports in comments will be deleted.
Keep up the good work! :D
One thing I would like to see added is an option for comma separated numbers. At the moment if somebody in my group is doing 18941 dps it's not as easy to read as 18,941 dps is.
It would also be nice if you could customise the modules you have visible in the main summary (perhaps there's a way to do this already but I can't find it). So instead of giving a summary of everything, you can just select the ones you want. For example I'm not overly interested in healing/total healing because it's all covered inside healing & absorbs. I'm also using the ensidiafails module so the standard fails isn't too important. DPS is kind of covered by damage. Plus there's a bunch of other modules that I'm not particularly interested in such as Threat, Enemy Damage done/Taken (in fact these 2 dont seem to be working atm). If I could customise my view it would be much easier to navigate which judging by your simple and effective UI is something that you value.
Thanks for the great addon <3
hey guys... is there any option to make Skada to always show player's damage in the list?
ever since cata it wont record or announce cc breaks while in 5 mans or raids but it works perfectly while in pvp, any clues?
Is there a way to see how someone died in Skada, I love it over recount except for that one thing. I see that there is deaths, but I can't figure out how to make it give me details.
Just curious as to why Skada doesn't seem to track feral interrupts. Makes it very hard to figure out who's actually interrupting adds on Nefarion.
ID: 13
Error occured in: AddOn: Skada
Count: 1
Message: Error: AddOn Skada attempted to call a forbidden function (PlaceGlyphInSocket()) from a tainted execution path.
Debug:
[C]: PlaceGlyphInSocket()
..\FrameXML\StaticPopup.lua:76: OnAccept()
..\FrameXML\StaticPopup.lua:3490: StaticPopup_OnClick()
[string "*:OnClick"]:1:
[string "*:OnClick"]:1
Attempting to overwrite an old glyph with a new one. Attempting again produces the same error, and an internal error, won't let me place glyph. Tried 3-4 times and it worked eventually, but in a rather odd way.
Below is the error message. If someone know how to solve the problem, please let me know. Many thanks.
Message: Interface\AddOns\Skada\Skada.lua:606: attempt to index local 'report_set' (a nil value)
Time: 01/06/11 21:52:26
Count: 1
Stack: Interface\AddOns\Skada\Skada.lua:606: in function `Report'
Interface\AddOns\Skada\Skada.lua:1171: in function `OnAccept'
Interface\FrameXML\StaticPopup.lua:3490: in function `StaticPopup_OnClick'
[string "*:OnClick"]:1: in function <[string "*:OnClick"]:1>
Locals: self =
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:383
displays =
}
UpdateDisplay = <function> defined @Interface\AddOns\Skada\Skada.lua:1847
EnableModule = <function> defined @Interface\AddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:348
modules =
}
CancelTimer = <function> defined @Interface\AddOns\DataStore\libs\AceTimer-3.0\AceTimer-3.0.lua:311
IterateEmbeds = <function> defined @Interface\AddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:458
windowdefaults =
}
Printf = <function> defined @Interface\AddOns\DataStore\libs\AceConsole-3.0\AceConsole-3.0.lua:69
SetDefaultModulePrototype = <function> defined @Interface\AddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:425
EndSegment = <function> defined @Interface\AddOns\Skada\Skada.lua:1379
defaultModuleState = true
IsEnabled = <function> defined @Interface\AddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:467
ScheduleTimer = <function> defined @Interface\AddOns\DataStore\libs\AceTimer-3.0\AceTimer-3.0.lua:276
DisableModule = <function> defined @Interface\AddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:366
AddFeed = <function> defined @Interface\AddOns\Skada\Skada.lua:2067
RegisterMessage = <function> defined @Interface\AddOns\DataStore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:118
GetArgs = <function> defined @Interface\AddOns\DataStore\libs\AceConsole-3.0\AceConsole-3.0.lua:144
OpenMenu = <function> defined @Interface\AddOns\Skada\Skada.lua:933
CheckPets = <function> defined @Interface\AddOns\Skada\Skada.lua:695
DeleteSet = <function> defined @Interface\AddOns\Skada\Skada.lua:920
RemoveMode = <function> defined @Interface\AddOns\Skada\Skada.lua:2058
db =
}
OpenOptions = <function> defined @Interface\AddOns\Skada\Skada.lua:638
PetDebug = <function> defined @Interface\AddOns\Skada\Skada.lua:642
enabledState = true
COMBAT_LOG_EVENT_UNFILTERED = <function> defined @Interface\AddOns\Skada\Skada.lua:1661
RegisterEvent = <function> defined @Interface\AddOns\DataStore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:118
ReloadSettings = <function> defined @Interface\AddOns\Skada\Skada.lua:1275
skadamenu = SkadaMenu {
}
GetSetTime = <function> defined @Interface\AddOns\Skada\Skada.lua:2086
profilesFrame = <unnamed> {
}
IterateModules = <function> defined @Interface\AddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:453
optionsFrame = <unnamed> {
}
baseName = "Skada"
AddSubviewToTooltip = <function> defined @Interface\AddOns\Skada\Skada.lua:2211
GetFeeds = <function> defined @Interface\AddOns\Skada\Skada.lua:2062
Wipe = <function> defined @Interface\AddOns\Skada\Skada.lua:1536
options =
}
AddColumnOptions = <function> defined @Interface\AddOns\Skada\Options.lua:77
defaults =
}
resetoptions =
}
FormatValueText = <function> defined @Interface\AddOns\Skada\Skada.lua:2177
Enable = <function> defined @Interface\AddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:315
UnregisterAllEvents = <function> defined @Interface\AddOns\DataStore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:202
RemoveFeed = <function> defined @Interface\AddOns\Skada\Skada.lua:2072
SetTooltipPosition = <function> defined @Interface\AddOns\Skada\Skada.lua:2148
find_set = <function> defined @Interface\AddOns\Skada\Skada.lua:1575
GetModule = <function> defined @Interface\AddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:231
FixPets = <function> defined @Interface\AddOns\Skada\Skad
Message: Interface\AddOns\SkadaDeaths\Deaths.lua:80: attempt to concatenate local 'srcName' (a nil value)
Time: 01/05/11 23:37:49
Count: 802
Stack: Interface\AddOns\SkadaDeaths\Deaths.lua:80: in function `func'
Interface\AddOns\Skada\Skada.lua:1757: in function `?'
...ius\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147: in function <...ius\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
[string "safecall Dispatcher[16]"]:4: in function <[string "safecall Dispatcher[16]"]:4>
[C]: ?
[string "safecall Dispatcher[16]"]:13: in function `?'
...ius\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: in function `Fire'
...rface\AddOns\Skada\lib\AceEvent-3.0\AceEvent-3.0.lua:120: in function <...rface\AddOns\Skada\lib\AceEvent-3.0\AceEvent-3.0.lua:119>
Locals: <none>
Other thing, I've tried to replace Recount+Omen combination with Skada. No success.
Lets say Recount functionality can be replaced, "ok"; but Skada's Threat meeter aint working as it should at all. First of all, no threat at all showed when I go solo with pet tanking, OR EVEN when I am in party while only me and my pet are on target. Slow refresh, switching targets gets you no threat data at all or in best case very long wait before it appears.
So I guess that module can be dumped.
And I didn't even start instance run yet... Scared to.
From cosmetic side Skada's settings wont remember Skada/Background/Border Thickness value :-(
Goes back to 16 after relog, restart, whateva.
Regards