Get an Epic Experience with Premium

Skada Damage Meter

Combat Login to Add Favorites
  • 128 Likes
  • World of Warcraft
  • 138,064 Monthly Downloads
  • Supports: 5.4.8
  • 8,762,055 Total Downloads
  • Updated 06/06/2014
  • Created 02/12/2009
  • 4,713 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: Public Domain
  • Newest File: 1.4-19
or
Support development! **
Donate

About Skada Damage Meter

Skada is a modular damage meter with various viewing modes. It is inspired mainly by Assessment, but also by Recount.

Skada sports segmented fights and detailed views, while being highly efficient with memory. This is accomplished by aggregating data on fight segments.

Skada is entirely modular. The built-in modes can all be toggled on/off.

Features:

  • Automatic mode switching when entering combat. For example, you can have Threat mode be shown in combat. Skada can switch back after combat ends.
  • Specific fight segments can be kept indefinately.
  • Multiple windows. Each window can be configured fully.
  • Threat mode can warn on high threat.
  • Modes: Damage done, DPS, Threat, Enemy damage done, Enemy damage taken, Healing, Overhealing, Total healing, Absorbs estimated, Damage taken, Dispels, Mana regen, Debuff uptimes, and more.
  • Reports can be done everywhere. For example, you can report a certain player's Debuff uptimes.
  • Summary information for most modes (DPS, HPS, Fails, etc) in a LDB view/minimap button.
  • LDB data feed can show personal/raid DPS or personal threat.
  • Support for SharedMedia and Class Colors.

Skada is very easy to extend, and there are many "plug-in" addons out there that add functionality, such as:

There is a page with API information here.

Usage:

Navigation in Skada is done by "drilling down" to the information you want. You go to a lower level, showing more detailed information, by clicking on it, and you go to a higher level by right-clicking.

The top level is the list of all saved fight segments. The second level is the list of all available data modes, such as Damage Done. The third level is one of these modes. Most modes let you drill down for further details. Some modes have several detailed 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.

New Skada windows can be created from the configuration screen. Each window can be separately configured. A popular feature is "Mode switching", which lets Skada automatically switch to a specific mode on entering combat.

There is a forum thread for discussion on Skada.
Suggestions and bug reports here. Bug reports in comments will be deleted.

"Skada" is Swedish for "Damage".

------------------------------------------------------------------------
r562 | oscarucb | 2014-06-06 08:51:02 +0000 (Fri, 06 Jun 2014) | 1 line
Changed paths:
   A /tags/1.4-19 (from /trunk:561)

Tagging as 1.4-19
------------------------------------------------------------------------
r561 | oscarucb | 2014-06-05 21:20:05 +0000 (Thu, 05 Jun 2014) | 7 lines
Changed paths:
   M /trunk/BarDisplay.lua

Fix another minor display glitch
Where under the correct conditions all the bars in a window would appear
"shortened" due to an incorrectly high .maxValue for the displayed bargroup.
bar:SetMaxValue() must be called after bar:SetValue(), otherwise the max cannot
be lowered below the "old" value (with the original ordering bar:SetMaxValue()
had no effect in that case).

------------------------------------------------------------------------
r560 | oscarucb | 2014-06-05 10:31:46 +0000 (Thu, 05 Jun 2014) | 2 lines
Changed paths:
   M /trunk/Skada.lua

fix a minor window update glitch

------------------------------------------------------------------------
r559 | oscarucb | 2014-06-03 15:41:03 +0000 (Tue, 03 Jun 2014) | 2 lines
Changed paths:
   M /trunk/Skada.lua

fix a lua erorr in last with aggressive combat detection

------------------------------------------------------------------------
r558 | oscarucb | 2014-06-03 09:13:39 +0000 (Tue, 03 Jun 2014) | 40 lines
Changed paths:
   M /trunk/Skada.lua

Stop using ENCOUNTER_START/END to delineate segments

It turns out there are several rare but serious problems with using
ENCOUNTER_START/END for segment delineation.  Most significantly, on rare
occasions during wipes in SoO the server can fire ENCOUNTER_END followed
immediately by a spurious ENCOUNTER_START (I have multiple logs and screenshots
demonstrating this). This happens most frequently on fights with adds, and is
possibly related to players using vanish-like abilities to despawn the
encounter. Worse still, the subsequent boss engage after such an occurence
usually does NOT fire ENCOUNTER_START. Since r477, the spurious ENCOUNTER_START
was suppressing combat-based Skada:Tick() end detection, and that resulted in
an "early start" segment for the second fight that inflated the segment length
to include all the out-of-combat time before the second pull (ie several
minutes of rezzing, eating, rebuffing etc). This bug is believed to be directly
responsible for multiple user reports of DPS/HPS numbers with recent Skada
releases intermittently showing as artificially low (even though the damage
done and effective healing were about right). In order to avoid this problem
and guarantee reliable segment termination we need to preserve the regular
Skada:Tick()-based end detection, which means there is no longer any benefit to
using ENCOUNTER_END for segment delineation.

Even if the Blizzard problem with the spurious ENCOUNTER_START was fixed, there
would still be cases when ENCOUNTER_START/END do not correctly delineate a raid
encounter. Most notably, there are many fights where adds can temporarily
outlive the boss and keep the raid in combat for a few seconds after
ENCOUNTER_END. Truncating the segment at ENCOUNTER_END in those cases leads to
the creation of a "trivial" segment for those adds, leaving "current fight"
windows displaying useless information after combat ends. Similarly, there are
some fights (such as Spoils) where ENCOUNTER_START arrives several seconds
before combat begins, and starting the segment at that point would result in
immediate termination via Tick (unless further measures were in place to
prevent it). The events are also "just plain wrong" when multiple bosses are
pulled together (think Earth, Wind & Fire). In those type of situations the
events might not be alternating and in fact may not even be properly nested,
making them completely inappropriate for segment delineation.

This commit removes the use of ENCOUNTER_START/END for segment delineation. They
are now only used to retrieve an encounter name for the segment.

------------------------------------------------------------------------
r557 | oscarucb | 2014-06-03 08:37:45 +0000 (Tue, 03 Jun 2014) | 4 lines
Changed paths:
   M /trunk/Skada.lua

Add a utility for debug output (off by default)
Toggled with /skada debug
Change the recently-added auto-enable/disable messages to debug output.

------------------------------------------------------------------------
r556 | oscarucb | 2014-06-02 10:26:37 +0000 (Mon, 02 Jun 2014) | 2 lines
Changed paths:
   M /trunk/BarDisplay.lua
   M /trunk/modules/TotalHealing.lua

fix ticket 365: bar resizing display glitch in Total Healing module

------------------------------------------------------------------------
r555 | oscarucb | 2014-06-02 09:45:25 +0000 (Mon, 02 Jun 2014) | 2 lines
Changed paths:
   M /trunk/lib/SpecializedLibBars-1.0/SpecializedLibBars-1.0.lua

another fix to bars sticking out past the window edge after a resize

------------------------------------------------------------------------
r554 | oscarucb | 2014-05-27 03:40:12 +0000 (Tue, 27 May 2014) | 6 lines
Changed paths:
   M /trunk/Skada.lua
   M /trunk/locale/enUS.lua

Make data collection state more transparent to users
"Disable while hidden" option now prints a console message when data collection is being automatically disabled or reenabled.
Also add a "disabled" indicator to the BarDisplay title bar when you are looking at the current or total set while collection is disabled.
Together these should hopefully reduce user confusion as to why data collection is not happening.
Fix a related bug in SetActive() where toggling the "Disable while hidden" option could fail to update data collection state.

------------------------------------------------------------------------
r553 | oscarucb | 2014-05-24 03:43:04 +0000 (Sat, 24 May 2014) | 9 lines
Changed paths:
   M /trunk/modules/Damage.lua

Damage module tuning

Don't store empty table entries for player spell miss types that did not occur
in each segment, as we can get the same effect more efficiently by leaving them nil.  

This small change was measured as providing a 22% reduction in Skada's
total memory utilization for 30 sets of a 10-man raid night, with all modes
enabled.

------------------------------------------------------------------------
r552 | oscarucb | 2014-05-23 18:06:45 +0000 (Fri, 23 May 2014) | 2 lines
Changed paths:
   M /trunk/BarDisplay.lua
   M /trunk/Skada.lua

clean up some unnecessary memory utilization/churn in BarDisplay navigation

------------------------------------------------------------------------
r551 | oscarucb | 2014-05-23 00:26:36 +0000 (Fri, 23 May 2014) | 2 lines
Changed paths:
   M /trunk/modules/Damage.lua

fix bar maxvalue scaling for spell damage detail

------------------------------------------------------------------------
r550 | oscarucb | 2014-05-22 20:47:04 +0000 (Thu, 22 May 2014) | 10 lines
Changed paths:
   M /trunk/modules/Healing.lua

Fix ticket 362: display error for Blood DK Death Strike healing

The "player's healing-by-spell" submodule was intermittently hiding the bar for
the Death Strike heal of Blood DKs in segments where the DK cast Death Strike
while Dancing Rune Weapon was active. The DS heal from the player and rune
weapon were aliased in the bar display system, causing the bar for one or other
to disappear from the submodule display (but not from the tooltip). The DS
healing was still correctly accounted for and correctly displayed in other
modules (notably the total healing done by the DK).  

------------------------------------------------------------------------
r549 | oscarucb | 2014-05-21 09:52:38 +0000 (Wed, 21 May 2014) | 3 lines
Changed paths:
   M /trunk

Revert r548 and restore svn:externals, so a checkout actually works and contains the required libraries
If you don't like this behavior use svn --ignore-externals

------------------------------------------------------------------------
r548 | funkydude | 2014-05-21 09:25:49 +0000 (Wed, 21 May 2014) | 1 line
Changed paths:
   M /trunk
   M /trunk/Skada.lua
   M /trunk/lib

Revert r540, addition of svn:externals. Let's keep it like 99% of other wowace addons, thanks.
------------------------------------------------------------------------
r547 | oscarucb | 2014-05-21 05:05:31 +0000 (Wed, 21 May 2014) | 2 lines
Changed paths:
   M /trunk/modules/DamageTaken.lua

fix bar max for player damage taken spell list

------------------------------------------------------------------------
r545 | oscarucb | 2014-05-20 03:02:08 +0000 (Tue, 20 May 2014) | 2 lines
Changed paths:
   M /trunk/Skada.lua

fix ticket 361: lua error in Deaths module

------------------------------------------------------------------------
r544 | oscarucb | 2014-05-18 20:08:49 +0000 (Sun, 18 May 2014) | 3 lines
Changed paths:
   M /trunk/Skada.lua

Make sure window list in options is updated after a profile change
Also ensure correct options list update on a window rename

------------------------------------------------------------------------
r543 | oscarucb | 2014-05-18 19:14:53 +0000 (Sun, 18 May 2014) | 6 lines
Changed paths:
   M /trunk/Skada.lua

fix the "Hide in PvP" option

During login or teleport, PLAYER_ENTERING_WORLD fires before zone information is available.
Also, outdoor PVP combat zones never fire PLAYER_ENTERING_WORLD.
Fixed using ZONE_CHANGED_NEW_AREA.

------------------------------------------------------------------------
r542 | oscarucb | 2014-05-18 18:29:48 +0000 (Sun, 18 May 2014) | 3 lines
Changed paths:
   M /trunk/BarDisplay.lua

fix ticket 323: lua error after profile reset
BarDisplay button click function closures were holding a stale window reference across profile resets

------------------------------------------------------------------------
r541 | oscarucb | 2014-05-18 18:05:21 +0000 (Sun, 18 May 2014) | 4 lines
Changed paths:
   M /trunk/Skada.lua

Fix window set and mode saving on reload/relog
Previously set was usually discarded, and mode was discarded while in submodes
Fix some unnecessary memory churn

------------------------------------------------------------------------
r540 | oscarucb | 2014-05-18 16:57:02 +0000 (Sun, 18 May 2014) | 2 lines
Changed paths:
   M /trunk

set svn:externals for libraries

------------------------------------------------------------------------
r539 | oscarucb | 2014-05-18 04:58:00 +0000 (Sun, 18 May 2014) | 5 lines
Changed paths:
   M /trunk/Menus.lua
   M /trunk/Options.lua
   M /trunk/Skada.lua
   M /trunk/locale/enUS.lua

Add some user control over set label format
Centralize set label formatting in a new function Skada:GetSetLabel(set)
New configuration option lets user choose between a handful of time formats for the set label, notably including optional fight duration.
Tweak the report title locale string to accomodate flexible set label formatting.

------------------------------------------------------------------------
r538 | oscarucb | 2014-05-17 23:56:56 +0000 (Sat, 17 May 2014) | 2 lines
Changed paths:
   M /trunk/modules/Debuffs.lua

fix ticket 307: Some weapon enchant buffs missing from buff uptime tracker

------------------------------------------------------------------------
r537 | oscarucb | 2014-05-17 21:53:10 +0000 (Sat, 17 May 2014) | 6 lines
Changed paths:
   M /trunk/modules/Healing.lua

Fix HealingTaken for cross-realm players
Previously, cross-realm targets were never shown under HealingTaken
Re-key the player.healed table by dstGUID to ensure correct and unique lookup
Replace the O(player^3) algorithm in healingtaken:Update() with a O(player^2) one, for better performance in large raids

------------------------------------------------------------------------
r536 | oscarucb | 2014-05-17 21:52:29 +0000 (Sat, 17 May 2014) | 4 lines
Changed paths:
   M /trunk/Skada.lua

Tune the SPELL_SUMMON handler for pets[]
Replacing a pointless O(pets) table scan with an equivalent O(1) lookup, for better performance in large raid long sessions which may accumulate a large number of temporary pets.
It appears the check in question may now be superfluous (due to Blizzard spell changes), but leave it for now just in case.

------------------------------------------------------------------------
r535 | oscarucb | 2014-05-17 21:51:37 +0000 (Sat, 17 May 2014) | 4 lines
Changed paths:
   M /trunk/Skada.lua

Fix Skada:FixMyPets() for pets with the same name as other players
This bug was fixed awhile ago in Skada:FixPets(), but this function was still incorrect.
The only built-in module still using this code path is Enemy Damage Taken, which now works correctly when pets are named after other players in the raid.

------------------------------------------------------------------------
r534 | oscarucb | 2014-05-17 21:47:58 +0000 (Sat, 17 May 2014) | 3 lines
Changed paths:
   M /trunk/modules/Deaths.lua

Remove superfluous calls to Skada:FixMyPets() in Deaths module
Our deathlog events are already filtered dst_is_interesting_nopets, so Skada:FixMyPets(dstGUID, dstName) is always a no-op

------------------------------------------------------------------------
r533 | oscarucb | 2014-05-17 03:25:03 +0000 (Sat, 17 May 2014) | 2 lines
Changed paths:
   M /trunk/Skada.lua

minor fix to last

------------------------------------------------------------------------
r532 | oscarucb | 2014-05-16 06:39:14 +0000 (Fri, 16 May 2014) | 2 lines
Changed paths:
   M /trunk/BarDisplay.lua
   M /trunk/Skada.lua

better version of r531

------------------------------------------------------------------------
r531 | oscarucb | 2014-05-15 21:59:46 +0000 (Thu, 15 May 2014) | 2 lines
Changed paths:
   M /trunk/BarDisplay.lua

use a nicer icon for the total bar with classicons

------------------------------------------------------------------------
r530 | oscarucb | 2014-05-15 16:37:39 +0000 (Thu, 15 May 2014) | 2 lines
Changed paths:
   M /trunk/Menus.lua

fix a couple old and obscure lua errors in the dropdown menu

------------------------------------------------------------------------
r529 | oscarucb | 2014-05-15 16:16:01 +0000 (Thu, 15 May 2014) | 2 lines
Changed paths:
   M /trunk/Skada.toc

add LibDualSpec-1.0 to OptionalDeps

------------------------------------------------------------------------
r528 | oscarucb | 2014-05-15 12:12:33 +0000 (Thu, 15 May 2014) | 5 lines
Changed paths:
   M /trunk/.pkgmeta
   M /trunk/Skada.lua
   M /trunk/embeds.xml

better fix to ticket 359

parse the /skada report command without AceConsole
Also upgrade the command to allow specifying a set and do instance chat output

------------------------------------------------------------------------
r526 | zarnivoop | 2014-05-15 11:51:40 +0000 (Thu, 15 May 2014) | 1 line
Changed paths:
   M /trunk/.pkgmeta

fix that .pkgmeta
------------------------------------------------------------------------
r525 | zarnivoop | 2014-05-15 11:43:20 +0000 (Thu, 15 May 2014) | 1 line
Changed paths:
   M /trunk/.pkgmeta
   M /trunk/Skada.lua
   M /trunk/embeds.xml

undo removal of AceConsole (#469), which broke the report command
------------------------------------------------------------------------
r523 | oscarucb | 2014-05-11 20:36:35 +0000 (Sun, 11 May 2014) | 3 lines
Changed paths:
   M /trunk/modules/Deaths.lua

Add absorb display to Death log
New absorb column shows when a damage event was reduced by a heal absorb

------------------------------------------------------------------------
r522 | oscarucb | 2014-05-08 10:37:39 +0000 (Thu, 08 May 2014) | 2 lines
Changed paths:
   M /trunk/modules/Deaths.lua

fix an intermittent display glitch introduced in r521

------------------------------------------------------------------------
r521 | oscarucb | 2014-05-08 00:19:05 +0000 (Thu, 08 May 2014) | 5 lines
Changed paths:
   M /trunk/modules/Deaths.lua

Improve the Deaths summary display
For regular fight sets, sort by initial death time (previously last death)
For total set sort by number of deaths
Bar length for both now graphs the number of deaths for the set (previously unused)

------------------------------------------------------------------------
r520 | znuff | 2014-05-04 22:56:05 +0000 (Sun, 04 May 2014) | 1 line
Changed paths:
   M /trunk/Skada.toc

Added LibBossIDs-1.0 as an optional dependency.
------------------------------------------------------------------------

Comments

First Previous Page 40 of 79 Next Last
  • #1103
    No, Skada has no Healing Taken mode. It would be fairly trivial to write one though. A guildie actually asked for it just the other day, so I may add one.
  • #1087
    Im getting the similiar to mkcorp.

    I used to use Recount, but switched to Skada since 4.1. However, Im finding that Skada maybe a stripped down version of Recount, therefore sharing the same problem. Both Recount and Skada just stop working. At the end of fights, the first 1 or 2 encounters are fine. After a bit, they BOTH do the same thing, fails to display anything after the encounter.

    The author for Recount is just a bad author for not letting people post comments and therefore IMO is an ass. This author for Skada, well, hes headed in the same direction. Quite a few posts about issues and he fails at acknowledging the users.

    Either authors need to acknowledge users, or just stop putting things out there!
  • #1089
    I've been using Skada for a while, and I have noticed an issue, it keeps de-selecting the display option I have selected, making it appear to not be working right. I'm not getting a lua error, so I am not sure why the settings aren't sticking, but since this is a new 4.1 feature its most likely something Blizzard did. You might look into your settings and see if they are displaying correctly.
  • #1088
    Since you are not making this addon and you are not paying for it. Since people take there time to do this and not get paid I thank them. If something doesnt work right now but it gets fixed I will be happy. Also DMG Meters are great to see were you are not needed to do the game.
  • #1086
    No matter what I do, still getting error:

    Date: 2011-05-16 12:23:06
    ID: -1
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\SkadaDeaths\Deaths.lua line 44:
    attempt to index field '?' (a nil value)
    Debug:
    (tail call): ?
    (tail call): ?
    SkadaDeaths\Deaths.lua:44:
    SkadaDeaths\Deaths.lua:40
    SkadaDeaths\Deaths.lua:58: func()
    Skada\Skada.lua:1762: ?()
    ...UD3\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147:
    ...UD3\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147
    [string "safecall Dispatcher[13]"]:4:
    [string "safecall Dispatcher[13]"]:4
    [C]: ?
    [string "safecall Dispatcher[13]"]:13: ?()
    ...UD3\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
    ...ce\AddOns\ArcHUD3\Libs\AceEvent-3.0\AceEvent-3.0.lua:120:
    ...ce\AddOns\ArcHUD3\Libs\AceEvent-3.0\AceEvent-3.0.lua:119

    also

    when I'll catch myself mouse-overing skada window during fight, errors similar to this one pop out:

    Date: 2011-05-16 18:09:57
    ID: 2
    Error occured in: Global
    Count: 2
    Message: ..\AddOns\SkadaDamage\Damage.lua line 272:
    attempt to index local 'player' (a nil value)
    Debug:
    (tail call): ?
    [C]: ?
    SkadaDamage\Damage.lua:272: Enter()
    Skada\Skada.lua:2220: AddSubviewToTooltip()
    Skada\BarDisplay.lua:133:
    Skada\BarDisplay.lua:113
    Skada\BarDisplay.lua:225:
    Skada\BarDisplay.lua:225
  • #1094
    I seam to only get this if I am rezed with Mass Resurrect

    --

    find me on twitter @scotepi

  • #1085
    Problem found when cascading the bars above the title bar; if the raid has more than 5 people dealing damage the bottom 5 bars are displayed and I have to scroll up to see the top bars. This isn't problem for the damage meter but I also use Skada for threat now and I need to see the top bars. The only way round it is to displayed 40 bars but this can get messy.

    Despite this I much prefer it too recount, nice mod :)
    Thanks.
  • #1084
    How to display the count of miss or parry of someone?
  • #1083
    Hi there,
    got an error for you.

    2x SkadaDeaths-1.0\Deaths.lua:44: attempt to index field '?' (a nil value)
    SkadaDeaths-1.0\Deaths.lua:58: in function `func'
    Skada-1.2-32\Skada.lua:1762: in function `?'
    CallbackHandler-1.0-6:147: in function

    : ?
    :"safecall Dispatcher[13]":13: in function `?'
    CallbackHandler-1.0-6:92: in function `Fire'
    AceEvent-3.0-3 (TomTom):120: in function
  • #1081
    Using 1.2-32, I'm getting this error when a battle rez happens. (The advice below to "reset data" doesn't help. This is a freshly reset Skada with every random pug, there is no preserved data. Certainly none from pre-4.1.)

    1x SkadaDeaths-1.0\Deaths.lua:44: attempt to index field '?' (a nil value)
    SkadaDeaths-1.0\Deaths.lua:58: in function `func'
    Skada-1.2-32\Skada.lua:1762: in function `?'
    CallbackHandler-1.0-6 (Ace3):147: in function

    : ?
    :"safecall Dispatcher[13]":13: in function `?'
    CallbackHandler-1.0-6 (Ace3):92: in function `Fire'
    AceEvent-3.0-3 (Ace3):120: in function

  • #1079
    Debuff uptimes is a nice plugin. would there be a buff uptime tracker as well?
  • #1077
    I have to disable it during raids otherwise I get 1 fps even when ppl are buffing.
  • #1078
    From time to time I get "paused" for several seconds, sometimes even disconnected. When Skada is disabled this doesn't happen. Occurs in 25man raids. :(
  • #1074
    First I have to say Skada is pretty awesome. Got it configured to show Threat, DPS, and Healing but I have a problem and it pertains to the DPS part of Skada. Now, if this question has been answered somewhere, I couldn't find it so please don't kill me :D That said: I've noticed that sometimes Skada will not...I guess read the combat log correctly. I was sitting on either Chimaron or Atramedes...maybe Magmaw but I noticed all the DPS was ~4.6k. ALL of them. Then other times the DPS is correct (values ranging between 20k+ and 8k). I've even tested this on the Raid Dummy. I can DPS it and show about 13k. I can then stop, wait a few seconds and start again OR I can tell Skada to reset. Either way it will then show DPS down (in the raid dummy's case about 5-6k). Is there something I need to set Skada to do or is this a bug? Other than that: Once again this is a VERY sweet add-on!
  • #1075
    Ahh let me add that I've tried both 1.2-32 and r318.
  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Landmark Beta Key Giveaway!

Get My Code!