Get an Epic Experience with Premium

Expiration 2

Combat Login to Add Favorites
  • World of Warcraft
  • 10 Monthly Downloads
  • Supports: 4.0.1
  • 3,243 Total Downloads
  • Updated 10/29/2010
  • Created 02/22/2010
  • 17 Favorites
  • Project Site
  • Comments
  • Release Type: Inactive
  • License: Public Domain
  • Newest File: 2.1.2
Support development! **

About Expiration 2

Expiration is a player death analysis mod. It tracks your group members and records combat events about them. When a player dies, the combat history leading up to their death is saved for later review.


The original Expiration arose a few years ago out of a thread on Elitist Jerks discussing how to best learn from player deaths during the actual attempts. Thus, a simple proof-of-concept death tracking mod was created and it was soon followed by a number of other mods in the same vein. After not touching the original for a while, it was picked up and maintained by Shadowed, another addon author (Much thanks for keeping it working in the interim!). Recently, my role as a tank has once again caused "Why did I die, and who was healing me?" to become a pressing question. And so, I rewrote Expiration from scratch with a plan!


At its heart, Expiration does three simple things:

Tracks your group members' combat events

When an interesting combat event happens to you or someone in your party or raid, Expiration saves information about that event. "Interesting" generally means an event that could have been instrumental in their death; so while you will see a monster attacking you, you will not see your attacks back.

Saves snapshot reports of combat on death

When you or one of your group members dies, Expiration saves a snapshot of the last 30 seconds (user configurable) of combat for that player. These snapshots are further grouped into fights based on combat and what dealt the most damage.

Displays and filters death reports

Opening the Expiration user interface lets you browse saved death reports by fight or by player. Selecting a report will take you to the report page, which displays a list of the events in the report. Each column can be shown/hidden or moved around via the interface. The 'Ability' column will let you see spell tooltips and link spells into chat. It will also let you filter out specific types of events for specific spells; for example, you can hide when players gain/lose Rejuvenation, but not the ticks that heal them. This is useful for cutting down on the unimportant information in a death report.


Simply run the mod and it will capture death reports automatically. You can configure how many seconds of history to report and how many fights to keep in the Blizzard addon configuration panel.

Chat commands via /expiration or /exp

  • /exp - Shows the Expiration user interface
  • /exp fights - Browse death reports by fight
  • /exp players - Browse death reports by player
  • /exp config - Show Blizzard configuration page
  • /exp help - Show help message

r13 | slake333 | 2010-10-29 18:53:49 +0000 (Fri, 29 Oct 2010) | 1 line
Changed paths:
   A /tags/2.1.2 (from /trunk:12)

Tagging as 2.1.2
r12 | slake333 | 2010-10-29 18:39:56 +0000 (Fri, 29 Oct 2010) | 1 line
Changed paths:
   M /trunk/Expiration-2.toc

Updating TOC interface version.
r10 | slake333 | 2010-10-20 06:39:32 +0000 (Wed, 20 Oct 2010) | 6 lines
Changed paths:
   M /trunk/Config.lua
   M /trunk/core/CombatEvent.lua
   M /trunk/core/Report.lua
   M /trunk/locales/enUS.lua
   M /trunk/ui/HistoryDetail.lua
   M /trunk/ui/Report.lua
   M /trunk/ui/ReportMenu.lua

Added an option to clear the current report history.
Expanded the list of ignored combat event types.
Fixed some bugs with showing enemy events in death reports.
Added headers to death reports that are printed to other players.
Fixed a bug when the history detail was showing environmental damage.
Added a button to the report display to toggle hidden event filtering.


First Previous Page 1 of 2 Next Last
  • #21
    4.2 fix:,13930311/Expiration_2_-_Self-Fix.rar/
  • #18
    here is a 4.1 fix.,14208436/Expiration_2_-_Self-Fix.rar/
    by Elmu, EU-Theradras
  • #19
    Ok nice... but what did you fix ? rather then the version number?
  • #20
    the Combatlog API.
  • #17
    Still needs to be updated!!
  • #16
    Great addon; hope you will update this to 4.l! Invaluable for raid analysis on the fly!!
  • #15
    Hi can this be updated for patch 4.1 please? I think there were changes in how this reads the combat log. Its causing massive FPS hits. Thanks
  • #14
    I would like to suggest to implement some features of the now unmantained Acheron addon in Expiration to make it even better. The two addons are similar but one has features the other misses and vice-versa. What in my opinion would be worth considering:

    - Menu entry when you right-click on a player to navigate to that player's death reports (among "inspect" and all the other menus).
    - When you open a report, open it scrolled down to the death event (currently it starts at the top of the log).
    - Being able to report a single line or from a single line onward using the mouse.

    Some are small things but would make the addon much more comfortable to use in my opinion.
  • #12
    Got an error when mousing over for the summary for someone who had fallen to their death.

    Message: Interface\AddOns\Expiration-2\ui\UI.lua:165: attempt to compare number with nil
    Time: 10/31/10 22:44:19
    Count: 7
    Stack: Interface\AddOns\Expiration-2\ui\UI.lua:165: in function `compress_number'
    Interface\AddOns\Expiration-2\ui\HistoryDetail.lua:145: in function `BuildDetailTooltip'
    Interface\AddOns\Expiration-2\ui\HistoryRow.lua:147: in function

    Locals: n = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = "attempt to compare number with nil"
  • #13
    I see - thanks for the report, this will be fixed in the next release.

    You can also file tickets directly at
  • #11
    Try out the new beta version (2.1.2-beta) that supports 4.0.1. The TOC file will say it is still out of date, but the addon should work. This is an updated version of the 2.1.0-beta code, NOT the last release version.

    If it seems stable I'll probably release it in a week or so.
  • #8
    Hi, is Expiration 2 usable in 4.0.1? I am asking this because Acheron seems to be broken and is giving me huge performance issues, so i want to replace it - this addon looks like a wonderful alternative!
  • #9
    It should be mostly usable. I'm fixing a few bugs here and there and will release an updated version in a bit.
  • #10
    Thanks for your reply, and looking forward to it! :)
  • #7
    I've never really reported bugs before as I'm not terribly confident about add-ons however I think this one has great potential (and I just downloaded bug grabber)

    I opened a death report from a BG and there was an Unknown cause of Death next to a character. When I clicked on it I got this bug grabber thing.

    1x OmniCC_Shine-1.1.2\shine.lua:7: Another finish effect is already loaded
    OmniCC_Shine-1.1.2\shine.lua:7: in main chunk

    OmniCC = {
    SetMinScale = @ OmniCC\full.lua:419:
    CreateShower = @ OmniCC\full.lua:199:
    GetFormattedFont = @ OmniCC\full.lua:325:
    UsingMMSS = @ OmniCC\full.lua:458:
    SetDurationColor = @ OmniCC\full.lua:391:
    GetDurationFormat = @ OmniCC\full.lua:409:
    GetMinScale = @ OmniCC\full.lua:426:
    GetFontOutline = @ OmniCC\full.lua:385:
    SetFont = @ OmniCC\full.lua:351:
    InitDB = @ OmniCC\full.lua:60:
    GetMinEffectDuration = @ OmniCC\full.lua:467:
    GetFormattedTime = @ OmniCC\full.lua:308:
    ShowingModels = @ OmniCC\full.lua:448:
    GetMinDuration = @ OmniCC\full.lua:438:
    GetFont = @ OmniCC\full.lua:358:
    GetTenthsOfSecondsThreshold = @ OmniCC\full.lua:304:
    UpdateSettings = @ OmniCC\full.lua:110:
    OnFinishCooldown = @ OmniCC_Pulse\pulse.lua:60:
    UseTenthsOfSeconds = @ OmniCC\full.lua:472:
    UpdateAllTimers = @ OmniCC\full.lua:294:
    CreateClass = @ OmniCC\full.lua:489:
    Print = @ OmniCC\full.lua:485:
    SetUseTenthsOfSeconds = @ OmniCC\full.lua:476:
    SetFontOutline = @ OmniCC\full.lua:380:
    CheckVersion = @ OmniCC\full.lua:95:
    GetFontName = @ OmniCC\full.lua:363:
    SetMinEffectDuration = @ OmniCC\full.lua:463:
    SetFontSize = @ OmniCC\full.lua:369:
    UpdateTimer = @ OmniCC\full.lua:252:
    SetMinDuration = @ OmniCC\full.lua:432:
    SetUseMMSS = @ OmniCC\full.lua:453:
    Enable = @ OmniCC\full.lua:36:
    StartTimer = @ OmniCC\full.lua:151:
    CreateTimer = @ OmniCC\full.lua:221:
    HookCooldown = @ OmniCC\full.lua:129:
    SetShowModels = @ OmniCC\full.lua:444:
    0 =
    GetFontSize = @ OmniCC\full.lua:376:
    SetDurationScale = @ OmniCC\full.lua:401:
    UpdateVersion = @ OmniCC\full.lua:114:


    The error doesn't really effect me much, but thought it may be of use to you. Let me know if I am wrong to post this if you gain no benefit.
  • 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 »

Leaguepedia PAX Skin Giveaway