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.
Aadsfasdfasdf!
Given that I had them surrounded by other UI elements, this makes me exceedingly unhappy at the change.
Is there a fix I just haven't found yet?
There is no option to set max. bars shown, therefore I'm not able to fit it like this again: http://s.wowinterface.com/preview/pvw52264.jpg
(2 frames, aggro and dmg/heal)
What's the point of redesigning the layout(options)?
Going to use v1.2-34 until a better release
Having to drag the window corner around and *guess* how many rows it works out to be is not a replacement.
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Skada\Skada.lua line 1458:
attempt to index field 'char' (a nil value)
Debug:
[C]: ?
Skada\Skada.lua:1458: OnEnter()
...ace\AddOns\Skada\lib\LibDBIcon-1.0\LibDBIcon-1.0.lua:81:
...ace\AddOns\Skada\lib\LibDBIcon-1.0\LibDBIcon-1.0.lua:72
AddOns: enough
Clicked nothing related to Skada, just popped out of nowhere.
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Skada\BarDisplay.lua line 39:
attempt to call method 'ModeMenu' (a nil value)
Debug:
[C]: ModeMenu()
Skada\BarDisplay.lua:39:
Skada\BarDisplay.lua:39
AddOns: Lots
Any reason why your Absorbs module records widely innacurate information in regards to Paladin bubbles via Illuminated Healing Mastery?
I'm seeing variances in numbers of over 1 million effective healing difference between your mod and World of Logs on my Pally.
In game the meters attribute the vast majority of the shields to me, and not my Pally healing partner. Yet on World of Logs its properly attributed to the right healer. You can tell because my total healing for spells that generate IH has a maximum limit of 13-15% of my total depending on my equipped Mastery Gear and in-game the percent sometimes exceeds 20-30%.
Ya, it was the "Total" that gave the error.
No errors at all with r338, everything is working great.
Will you add in some kind of profile support, such as a default setting that all new characters will have? I liked the older behavior where I could set up my Skada window on one toon, and have all the settings apply to other characters without having to change profiles.
Also, I find that I have to keep on resetting the background and border options. They do not save. I set the border to "none", and the background to total transparency, and the settings neither save, nor carry over between reloadui.
@angrysteel
2x Skada\Skada-r336.lua:704 attempt to index local "pvpinfo" (a nil value)
1 return of GetZonePVPInfo() is a String not a Table
http://www.wowwiki.com/API_IsInInstance
5x SkadaDamage-r336\Damage-Damage.lua:315 attempt to index local "player" (a nil value)
you hover over the "total" right?
fix:
bardisplay.lua
l 125
but you get an error if you shift click on total
r336 Error on login.
2x Skada\Skada-r336.lua:704 attempt to index local "pvpinfo" (a nil value)
Skada\Skada-r336.lua:704 in function <Skada\Skada.lua:702
Skada\Skada-r336.lua:912 in function "ApplySettings"
Skada\Skada-r336.lua:457 in function "CreateWindow"
Skada\Skada-r336.lua:888 in function "ReloadSettings"
Skada\Skada-r336.lua:1984 in function <Skada\Skada.lua:1917
(tail call): ?
<in C code>
<string>:"safecall Dispatcher[1]":9: in function <string>:"safecall Dispatcher[1]":5
(tail call): ?
Ace3-Release-r1032\AceAddon-3.0\AceAddon-3.0-10.lua:514 in function "InitializeAddon"
Ace3-Release-r1032\AceAddon-3.0\AceAddon-3.0-10.lua:628 in function <Ace3\AceAddon-3.0\AceAddon-3.0.lua:621
Locals:
nil
Also getting this error, when i hover over a players name. (Cant really reproduce, seems to be working fine now).
5x SkadaDamage-r336\Damage-Damage.lua:315 attempt to index local "player" (a nil value)
SkadaDamage-r336\Damage-Damage.lua:315 in function "Enter"
Skada\Skada-r336.lua:1879 in function "AddSubviewToTooltip"
Skada-r336\BarDisplay.lua:146 in function <Skada\BarDisplay.lua:123
Skada-r336\BarDisplay.lua:237 in function <Skada\BarDisplay.lua:237
Locals:
self = <table> {
SetDefaultModuleLibraries = <func> @Ace3\..\AceAddon-3.0.lua:383
displays = <table> {}
UpdateDisplay = <func> @..\Skada.lua:1497
EnableModule = <func> @Ace3\..\AceAddon-3.0.lua:348
modules = <table> {}
CancelTimer = <func> @Ace3\..\AceTimer-3.0.lua:311
IterateEmbeds = <func> @Ace3\..\AceAddon-3.0.lua:458
windowdefaults = <table> {}
Printf = <func> @Ace3\..\AceConsole-3.0.lua:69
SetDefaultModulePrototype = <func> @Ace3\..\AceAddon-3.0.lua:425
EndSegment = <func> @..\Skada.lua:1007
defaultModuleState = true
SegmentMenu = <func> @..\Menus.lua:300
IsEnabled = <func> @Ace3\..\AceAddon-3.0.lua:467
skadamenu = SkadaMenu {}
ScheduleTimer = <func> @Ace3\..\AceTimer-3.0.lua:276
DisableModule = <func> @Ace3\..\AceAddon-3.0.lua:366
NewSegment = <func> @..\Skada.lua:947
AddFeed = <func> @..\Skada.lua:1726
modesmenu = SkadaWindowButtonsModes {}
RegisterMessage = <func> @Ace3\..\CallbackHandler-1.0.lua:118
GetArgs = <func> @Ace3\..\AceConsole-3.0.lua:144
last = <table> {}
OpenMenu = <func> @..\Menus.lua:17
CheckPets = <func> @..\Skada.lua:649
RegisterForCL = <func> @..\Skada.lua:1280
DeleteSet = <func> @..\Skada.lua:865
RemoveMode = <func> @..\Skada.lua:1717
db = <table> {}
PlayerActiveTime = <func> @..\Skada.lua:1754
profilesFrame = <unnamed> {}
optionsFrame = <unnamed> {}
PetDebug = <func> @..\Skada.lua:609
char = <table> {}
enabledState = true
baseName = "Skada"
RegisterEvent = <func> @Ace3\..\CallbackHandler-1.0.lua:118
ReloadSettings = <func> @..\Skada.lua:878
options = <table> {}
AddColumnOptions = <func> @..\Options.lua:77
defaults = <table> {}
IterateModules = <func> @Ace3\..\AceAddon-3.0.lua:453
resetoptions = <table> {}
PLAYER_REGEN_DISABLED = <func> @..\Skada.lua:1092
AddSubviewToTooltip = <func> @..\Skada.lua:1874
GetFeeds = <func> @..\Skada.lua:1721
Wipe = <func> @..\Skada.lua:1168
OpenReportWindow = <func> @..\Menus.lua:380
GetSetTime = <func> @..\Skada.lua:1745
OnDisable = <func> @..\Skada.lua:2004
OnEnable = <func> @..\Skada.lua:1991
OnInitialize = <func> @..\Skada.lua:1917
Enable = <func> @Ace3\..\AceAddon-3.0.lua:315
UnregisterAllEvents = <func> @Ace3\..\CallbackHandler-1.0.lua:202
FormatValueText = <func> @..\Skada.lua:1840
ModeMenu = <func> @..\Menus.lua:352
find_set = <func> @..\Skada.lua:1207
GetModule = <func> @Ace3\..\AceAddon-3.0.lua:231
SetTooltipPosition = <func> @..\Skada.lua:1811
RefreshMMButton = <func> @..\Skada.lua:598
RAID_ROSTER_UPDATE = <func> @..\Skad
1x Skada\Skada-r336.lua:704: attempt to index local "pvpinfo" (a nil value)
Skada\Skada-r336.lua:704: in function <Skada\Skada.lua:702>
Skada\Skada-r336.lua:717: in function "?"
Libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:147: in function <Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
<string>:"safecall Dispatcher[1]":4: in function <string>:"safecall Dispatcher[1]":4
<in C code>
<string>:"safecall Dispatcher[1]":13: in function "?"
Libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92: in function "Fire"
Bagnon-4.2.6\libs\AceEvent-3.0\AceEvent-3.0-3.lua:120: in function <Bagnon\libs\AceEvent-3.0\AceEvent-3.0.lua:119>
Locals:
nil