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".
Note: I took a tiny break from WoW (a decade), but recently started playing SoD. Be aware that this addon may not quite work yet.
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 easy to extend, and there were once many extra plugin addons out there that add functionality. However, there are unlikely to be any maintained ones currently.
There is a page with API information here.
Reporting issues
For now use comments.
Should be possible to ignore (as in not process), assuming the CL events are distinct, but I have not yet seen the encounter.
When I updated skada for some reason it stopped creating segments. It now only has "Total" and "Current Fight". I have tried checking and unchecking agressive combat, save for bosses only, setting "data segments to keep" anywhere from minimum to maximum, and several other options. I also deleted everything having to do with skada in the WTF folder and did a clean install and still no segments are created at any time, from bosses, training dummy, trash, nothing.
In the extreme I even moved my entire interface and WTF folders out and installed freshly only skada, and it's still not functioning beyond "current fight" and "total".
No error messages pop up.
Update: My skada seems to have fixed itself spontainousally overnight. Started working as suddently as it stopped yesterday, first fight this morning.
If this happens to you I suppose just wait until the next day :P
Is it possible to make skada ignore the "Essence of Dreams" buff on Ultraxion? This would be a nice solution to stopping it lag during the encounter when healers grab that buff.
4.3 errors -
416x SkadaAbsorbs-r362\Absorbs.lua:245: attempt to compare number with nil SkadaAbsorbs-r362\Absorbs.lua:245: in function <SkadaAbsorbs\Absorbs.lua:243> SkadaAbsorbs-r362\Absorbs.lua:252: in function "func" Skada\Skada-r362.lua:1402: in function <Skada\Skada.lua:1302> <string>:"safecall Dispatcher[15]":4: in function <string>:"safecall Dispatcher[15]":4 <in C code> <string>:"safecall Dispatcher[15]":13: in function "?" Libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:91: in function "Fire" Archy-1.8.8\Libs\AceEvent-3.0\AceEvent-3.0-3.lua:120: in function <Archy\Libs\AceEvent-3.0\AceEvent-3.0.lua:119>
Locals: nil
mouseover error still there with latest:
Date: 2011-11-23 16:10:50
ID: -1
Error occured in: Global
Count: 1
Message: ..\AddOns\SkadaDamage\Damage.lua line 316:
attempt to index local 'player' (a nil value)
Debug:
[C]: ?
SkadaDamage\Damage.lua:316: Enter()
Skada\Skada.lua:1901: AddSubviewToTooltip()
Skada\BarDisplay.lua:145:
Skada\BarDisplay.lua:122
Skada\BarDisplay.lua:251:
Skada\BarDisplay.lua:251
Has this been updated to work on PTR?
SkadaDamage-1.0\Damage.lua:316: attempt to index local 'player' (a nil value)
Skada-1.3-7\Skada.lua:1901: in function `AddSubviewToTooltip'
Skada-1.3-7\BarDisplay.lua:12:125: in function <Interface\AddOns\Skada\BarDisplay.lua:122>
Skada-1.3-7\BarDisplay.lua:251: in function <Interface\AddOns\Skada\BarDisplay.lua:251>
Is there any way to move the title bar text from the left side of the bar to the right?
Ummm, when the "Hide in PvP" option is enabled, Skada still displays in Battlegrounds/Arena.
Skada Buttons thingie is borked:
Date: 2011-10-31 15:04:52
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Skada\Skada.lua line 270:
bad argument #1 to 'ipairs' (table expected, got nil)
Debug:
(tail call): ?
[C]: ?
[C]: ipairs()
Skada\Skada.lua:270: Reset()
Skada\Skada.lua:277: Wipe()
Skada\Skada.lua:290: DisplayMode()
Skada\Menus.lua:377: func()
..\FrameXML\UIDropDownMenu.lua:700: UIDropDownMenuButton_OnClick()
[string "*:OnClick"]:1:
[string "*:OnClick"]:1
Sure - it is not.
That's a relief! :)
Anything to share on these errors? "in the works"? "blizz's fault"? "when $100,000 are deposited into my account..."?!
Would it be possible to get author confirmation or whether this project is abandoned or not?
I'm getting errors too.
Been getting this error.
2x SkadaDamage-1.3-7\Damage-Damage.lua:316: attempt to index local "player" (a nil value) SkadaDamage-1.3-7\Damage-Damage.lua:316: in function "Enter" Skada\Skada-1.3-7.lua:1901: in function "AddSubviewToTooltip" Skada-1.3-7\BarDisplay.lua:145: in function <Skada\BarDisplay.lua:122> Skada-1.3-7\BarDisplay.lua:251: in function <Skada\BarDisplay.lua:251>
Locals: self = <table> { SetDefaultModuleLibraries = <func> @Archy\Libs\..\AceAddon-3.0.lua:383 displays = <table> {} UpdateDisplay = <func> @..\Skada.lua:1502 EnableModule = <func> @Archy\Libs\..\AceAddon-3.0.lua:348 modules = <table> {} CancelTimer = <func> @Broker_TolBarad\Libs\..\AceTimer-3.0.lua:311 IterateEmbeds = <func> @Archy\Libs\..\AceAddon-3.0.lua:458 windowdefaults = <table> {} Printf = <func> @Archy\Libs\..\AceConsole-3.0.lua:69 SetDefaultModulePrototype = <func> @Archy\Libs\..\AceAddon-3.0.lua:425 EndSegment = <func> @..\Skada.lua:1013 modesmenu = SkadaWindowButtonsModes {} defaultModuleState = true SegmentMenu = <func> @..\Menus.lua:306 IsEnabled = <func> @Archy\Libs\..\AceAddon-3.0.lua:467 NewSegment = <func> @..\Skada.lua:953 ScheduleTimer = <func> @Broker_TolBarad\Libs\..\AceTimer-3.0.lua:276 DisableModule = <func> @Archy\Libs\..\AceAddon-3.0.lua:366 last = <table> {} AddFeed = <func> @..\Skada.lua:1748 RegisterMessage = <func> @Archy\Libs\..\CallbackHandler-1.0.lua:117 GetArgs = <func> @Archy\Libs\..\AceConsole-3.0.lua:144 RegisterForCL = <func> @..\Skada.lua:1286 OpenMenu = <func> @..\Menus.lua:17 CheckPets = <func> @..\Skada.lua:656 DeleteSet = <func> @..\Skada.lua:872 RemoveMode = <func> @..\Skada.lua:1739 db = <table> {} PlayerActiveTime = <func> @..\Skada.lua:1776 profilesFrame = <unnamed> {} optionsFrame = <unnamed> {} PetDebug = <func> @..\Skada.lua:616 char = <table> {} enabledState = true baseName = "Skada" RegisterEvent = <func> @Archy\Libs\..\CallbackHandler-1.0.lua:117 ReloadSettings = <func> @..\Skada.lua:885 options = <table> {} AddColumnOptions = <func> @..\Options.lua:79 defaults = <table> {} IterateModules = <func> @Archy\Libs\..\AceAddon-3.0.lua:453 resetoptions = <table> {} PLAYER_REGEN_DISABLED = <func> @..\Skada.lua:1098 AddSubviewToTooltip = <func> @..\Skada.lua:1896 GetFeeds = <func> @..\Skada.lua:1743 Wipe = <func> @..\Skada.lua:1174 OpenReportWindow = <func> @..\Menus.lua:386 GetSetTime = <func> @..\Skada.lua:1767 OnDisable = <func> @..\Skada.lua:2029 OnEnable = <func> @..\Skada.lua:2009 OnInitialize = <func> @..\Skada.lua:1939 Enable = <func> @Archy\Libs\..\AceAddon-3.0.lua:315 UnregisterAllEvents = <func> @Archy\Libs\..\CallbackHandler-1.0.lua:201 FormatValueText = <func> @..\Skada.lua:1862 ModeMenu = <func> @..\Menus.lua:358 find_set = <func> @..\Skada.lua:1213 GetModule = <func> @Archy\Libs\..\AceAddon-3.0.lua:231 SetTooltipPosition = <func> @..\Skada.lua:1833 RefreshMMButton = <func> @S
I posted a fix for the Division by Zero errors on the PTR/4.3 over at WoWAce
http://www.wowace.com/addons/skada/tickets/238-quick-fixes-to-make-skada-work-for-ptr-4-3/
Date: 2011-10-17 19:07:25
ID: 1
Error occured in: Global
Count: 3
Message: ..\AddOns\Skada\Skada.lua line 270:
bad argument #1 to 'ipairs' (table expected, got nil)
Debug:
(tail call): ?
[C]: ?
[C]: ipairs()
Skada\Skada.lua:270: Reset()
Skada\Skada.lua:277: Wipe()
Skada\Skada.lua:290: DisplayMode()
Skada\Menus.lua:377: func()
..\FrameXML\UIDropDownMenu.lua:700: UIDropDownMenuButton_OnClick()
[string "*:OnClick"]:1:
[string "*:OnClick"]:1
still pops:
Date: 2011-10-13 15:54:50
ID: 1
Error occured in: Global
Count: 6
Message: ..\AddOns\SkadaDeaths\Deaths.lua line 98:
attempt to concatenate a nil value
Debug:
(tail call): ?
(tail call): ?
SkadaDeaths\Deaths.lua:98: func()
Skada\Skada.lua:1402:
Skada\Skada.lua:1302
[string "safecall Dispatcher[19]"]:4:
[string "safecall Dispatcher[19]"]:4
[C]: ?
[string "safecall Dispatcher[19]"]:13: ?()
...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
...ace\AddOns\TomTom\libs\AceEvent-3.0\AceEvent-3.0.lua:120:
...ace\AddOns\TomTom\libs\AceEvent-3.0\AceEvent-3.0.lua:119
I'm facing the following problems with Skada:
1) Doesn't refresh itself somtimes. For example, I'm at one pack of adds in a dungeon, kill it, then go to the next one and it still adds it to the damage of the previous encounter
2) Sometimes it sets itself on Total (Damage/Healing etc.), when I always want it to show the Current fight statistics.
Is the writer of the addon not updating it anymore? We haven't heard from him for a while and certainly haven't seen an update too.