Get an Epic Experience with Premium


Healer Login to Add Favorites
  • World of Warcraft
  • 358 Monthly Downloads
  • Supports: 6.1.0
  • 360,489 Total Downloads
  • Updated 03/06/2015
  • Created 07/08/2009
  • 440 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: All Rights Reserved
  • Newest File: Release 2.7.9
Support development! **
Click here to lend your support and make a donation at !

About SmartRes2

Co-ordinated Party and Raid Wipe Recovery, Evolved

September 25, 2014

All files committed to the repository, starting with r314, will only work with Warlords of Draenor. Due to changes in Blizzard's API, r314 onward will not be backwards compatible with Mists of Pandaria. The link to the WoD alpha builds are found via WowAce or WowInterface, and are slightly different than the release links.

Official Forum Thread

Official Forum Thread

Use your Curse user name and password

Bugs and Suggestions

These go here on the project page. Bugs especially, as they spam the comment section. It would be especially awesome if, when reporting bugs, you had BugGrabber and BugSack, or Swatter (part of Auctioneer).


People can send me donations if they so choose. Every little bit helps pay for my World of Warcraft subscription. Send whatever you can or want, but do not feel obligated.

  • PayPal: [email protected]
  • Pledgie:

New Features

  • Bars will now show up for people who have been resurrected, but not accepted the cast. These are new bars, unlocked by default. You can lock them via the SmartRes2 Options in the new tab.
  • SmartRes2 made the switch from LibResComm to LibResInfo, which means no longer forcing everybody to use LRC/SR2/CTRA –– data is pulled from the Combat Log instead.
  • A message will be printed for yourself when someone's resurrection cast has expired and they can be raised again.
  • Using the Mass Resurrection Key will not cast Mass Resurrection if someone else's cast will end before yours.
  • The Mass Resurrection Key verifies other players can be Mass Resurrected, and will tell you if there are people that can't (ie: have the RECENTLY_MASS_RESURRECTED debuff).
  • You have the option to use a Mass Resurrection message.
  • Mass Resurrection has its own coloured bar and text
  • Every spell and item that can be used to raise dead players is supported, even instant cast ones. Please be aware that instant cast spells are instant, and as such have bars that fire and end faster than you can see. Further, Engineering devices do not guarantee success with their use.
  • SmartRes2 does not guess at other players's casts or item use anymore. It knows, it knows....
  • Try the new Test Bars. They now have 100% extra cool and funky! /sr test or /smartres test

Bug Fixes include, but are not limited to:

  • The Auto Res Key works again
  • Mass Resurrection Key is hidden if you do not know Mass Resurrection
  • Macro commands work (see below for examples) and they are Smart
  • Custom and Random Messages no longer have obtuse or confusing syntax (mouse over the fields to see new instructions)
  • Users will not lose existing Random Messages –– they have been converted internally to the new syntax. However, if you used the Custom Message, that has been reset out of forced necessity
  • Bars are correctly locked into place regardless of enabling or disabling SmartRes2
  • Fixed chat output, including supporting Instance
  • Hopefully fixed user settings for bar height, width, and scale

Example Smart Macros

These duplicate the functionality of the Auto Res Key and Mass Resurrection Key, respectively. Rename Resurrection in the first macro according to your class spell (Ancestral Spirit, Resuscitate, etc).

Class spell macro (Priest)
#showtooltip Resurrection
/click SmartRes2Button
Guild Perk Mass Resurrection
#showtooltip Mass Resurrection
/click SR2MassResButton


  • Intelligent resurrections. See the Q & A
  • Random messages to chat
  • Add or remove your own random messages
  • Three coloured bars. Green means one caster, one target. Red means more than one caster on same target. Blue is when someone has been ressed, but has not yet accepted the res, and a caster tries to res again. The colours are changeable
  • Set the maximum amount of displayed bars
  • Notify in chat when someone is casting a collision (red bar)
  • SmartRes2 supports viewing Mass Resurrection casts
  • All known spells and devices that can resurrect are detected, including Engineering devices. As far as I know, this is the only res monitor to, well, monitor those devices.
  • No more "unknown" or blank target names when you click on a corpse with the cursor to res
  • Highly configurable res bars. Move, change the texture, recolour, alter scale, height, and width, plus more
  • Disables itself during combat, saving resources (unless you have Rebirth detection on)
  • Shows you who is casting on whom and how long it will take to land
  • Optionally show bars in combat for spells that can resurrect in combat (instant cast spells will show and hide far too fast for you to see)
  • Any character class can use SmartRes2 to see the res bars. However, only ressers have keybindings to cast
  • Backwards compatible with all other resurrection monitors

Questions and Answers

Q: How do I get to the options?

A: The slash commands are /sr or /smartres There is an LDB launcher and you can use the Interface/Addons panel as well.

Q: What do the different coloured bars mean?

A: Green bars are good resses; they aren't duplicates or collisions with other healers' casts. Red bars occur when a healer casts on a target already being resurrected by someone else, whose cast will land sooner. Blue bars happen when a healer tries to res a target who has been resurrected, and has not accepted the first res. The colours are user changeable.

Q: Why SmartRes2, and not a simple macro for ressing?

A: For several reasons, chiefly but not limited to

  • The smart macros listed above are smarter than any basic macro, and have all the SmartRes2 features
  • Because macros cannot tell you the name of released (ghost) characters, and SmartRes2 can
  • Macros cannot tell you how long it will take for the res to land on the target, and keep track ticking down
  • SmartRes2 shows you the other out of combat resses being cast by the rest of your Party or Raid
  • SmartRes2 has an auto res key, which when pressed, resses characters not already being resurrected, in range, and visible plus resses in the following, intelligent order
  1. Healing classes (Priests, Monks, Paladins, Shamans, Druids)
  2. Mages and Warlocks because they consume Mana after being resurrected to summon pets, buff, etc
  3. Death Knights and Warriors (hey, need some tanking classes just in case)
  4. Rogues and Hunters

Q: How come the auto res and manual res keys don't do anything for battle resses? They aren't working!

A: There are no keybindings for battle resses, and there never will be. Think of it like this: the main tank dies, but you also have a dead Shadow Priest. If I turned on the keybindings during combat, SmartRes2 would always res the Shadow Priest. It is better to pick your res target during combat. The bars are only there to show you which Druid is casting on which target, that's all.

Q: How do I get more textures, borders, and fonts for the bars?

A: Sharedmedia and SharedMedia-Blizzard and SharedMediaAdditionalFonts and SharedMedia: Renaitre and NEW SharedMedia_ClassicalFonts

All links updated and verified as of May 29, 2013.

Q: What? US English?? But I understand other languages. Can I help?

A: YES!! Go here and help contribute. Need Italian please!!

Known Issues

  1. There is a bug in Blizzard's code that sometimes prevents addons from opening straight to their category in the Interface.. Addons pane. Not all users are affected, and there is no fix within the addon itself. However, if you sometimes get SmartRes2 to open properly when typing /sr or /smartres or clicking the LDB launcher, and sometimes it doesn't open properly, you can install this addon which will fix the issue. Do not install this addon unless you are affected by the bug!
  2. Warcraft does not allow you to cast on targets whom are out of Line of Sight. If you cannot resurrect someone, then move until you can. There is no way to detect if a target is in Line of Sight; a target either is, or isn't.
  3. If a target dies and gets resurrected rapidly in a short amount of time, it delays their Accept button for resurrection casts. There is no way to detect what another player's delay timer is, and in some cases you will see a message saying that their timer has expired, they can be raised again, yet their Accept button has only not lit up. This is an edge case, as most players will not die that rapidly unless they are doing it on purpose (fall testing, for example).
  4. The Combat Log has a very long range, but is limited to within the same instance. If someone begins casting while you are outside of the instance, you will not see bars, nor will you see them if you zone into the instance mid-cast.


SmartRes2 is a complete rewrite of SmartRes by Maia, Kyahx, Poull, and Myrroddin. This new version is fully Ace3, supporting new, updated libraries and new Blizzard APIs. Many people have contributed or helped test SmartRes2, and I thank each and every one of you!

r324 | myrroddin | 2015-03-07 04:50:15 +0000 (Sat, 07 Mar 2015) | 1 line
Changed paths:
   A /tags/Release 2.7.9 (from /trunk:323)

Tagging as Release 2.7.9
r323 | myrroddin | 2015-03-06 22:08:08 +0000 (Fri, 06 Mar 2015) | 2 lines
Changed paths:
   M /trunk/.pkgmeta
   M /trunk/SmartRes2.toc

- Bump ToC
- Repo LibResInfo properly?


First Previous Page 3 of 17 Next Last
  • #219

    Add an option to disable that feature, if you don't mind. Thanks.

  • #220

    It isn't a feature, it is part of the debug code. I think I got all the missing phrases in r229 anyway. If I missed some, either myself, Phanx, or you excellent people will let me know!

    A volunteer Curse Moderator!

    Back to WoW on Llane in Knights of the Storm, Alliance (Myrroddin, Jelia, BadAsh, Vanhoeffen)

  • #218

    The errors you see are because the new phrases and words exist in SmartRes2 the AddOn, but not yet on the WoWAce page. Once either Phanx or myself add the new phrases, SR2 will load normally.

    If you want to bypass the error (I do NOT recommend this) because you simply cannot wait, use the SVN development version. No, I will not link it; you either know how to find it or you don't, and that is the point. It is very much a work in progress.

    Phanx or I should get the new phrases into WoWAce later today or tomorrow, given time, work, sleep, etc, and then no more errors.

    A volunteer Curse Moderator!

    Back to WoW on Llane in Knights of the Storm, Alliance (Myrroddin, Jelia, BadAsh, Vanhoeffen)

  • #217

    Getting this error since todays update, and i can't open options panel also with command nor can i see it on Interface/Addons panel


    Message: AceLocale-3.0: SmartRes2: Missing entry for 'Mass Resurrection Message'
    Time: 02/21/13 10:56:42
    Count: 1
    Stack: Interface\AddOns\SmartRes2\SmartRes2Options.lua:395: in function `OptionsTable'
    Interface\AddOns\SmartRes2\SmartRes2.lua:129: in function <Interface\AddOns\SmartRes2\SmartRes2.lua:117>
    (tail call): ?
    [C]: ?
    [string "safecall Dispatcher[1]"]:9: in function <[string "safecall Dispatcher[1]"]:5>
    (tail call): ?
    ...AddOns\AutoTurnIn\Libs\AceAddon-3.0\AceAddon-3.0.lua:514: in function `InitializeAddon'
    ...AddOns\AutoTurnIn\Libs\AceAddon-3.0\AceAddon-3.0.lua:629: in function <...AddOns\AutoTurnIn\Libs\AceAddon-3.0\AceAddon-3.0.lua:621>

    Locals: self = <table> {
     NewBarFromPrototype = <function> defined @Interface\AddOns\SmartRes2\Libs\LibBars-1.0\LibBars-1.0.lua:255
     SetDefaultModuleLibraries = <function> defined @Interface\AddOns\AutoTurnIn\Libs\AceAddon-3.0\AceAddon-3.0.lua:383
     GetBarGroup = <function> defined @Interface\AddOns\SmartRes2\Libs\LibBars-1.0\LibBars-1.0.lua:399
     ReleaseBar = <function> defined @Interface\AddOns\SmartRes2\Libs\LibBars-1.0\LibBars-1.0.lua:288
     EnableModule = <function> defined @Interface\AddOns\AutoTurnIn\Libs\AceAddon-3.0\AceAddon-3.0.lua:348
     modules = <table> {
     baseName = "SmartRes2"
     OnNewProfile = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:300
     ResAnchorMoved = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:502
     CreateResBar = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:679
     StartTestBars = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:761
     Printf = <function> defined @Interface\AddOns\AutoTurnIn\Libs\AceConsole-3.0\AceConsole-3.0.lua:69
     PLAYER_REGEN_DISABLED = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:433
     FadeFinished = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:757
     defaultModuleState = true
     IsEnabled = <function> defined @Interface\AddOns\AutoTurnIn\Libs\AceAddon-3.0\AceAddon-3.0.lua:467
     DisableModule = <function> defined @Interface\AddOns\AutoTurnIn\Libs\AceAddon-3.0\AceAddon-3.0.lua:366
     Resurrection = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:633
     VerifyPerk = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:422
     RegisterMessage = <function> defined @Interface\AddOns\AutoTurnIn\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:118
     UnregisterMessage = <function> defined @Interface\AddOns\AutoTurnIn\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:181
     BindMassRes = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:465
     SetEnabledState = <function> defined @Interface\AddOns\AutoTurnIn\Libs\AceAddon-3.0\AceAddon-3.0.lua:440
     enabledState = true
     RegisterEvent = <function> defined @Interface\AddOns\AutoTurnIn\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:118
     SlashHandler = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:238
     IterateModules = <function> defined @Interface\AddOns\AutoTurnIn\Libs\AceAddon-3.0\AceAddon-3.0.lua:453
     GetBars = <function> defined @Interface\AddOns\SmartRes2\Libs\LibBars-1.0\LibBars-1.0.lua:222
     DeleteBar = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:416
     OnInitialize = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:117
     UnregisterAllEvents = <function> defined @Interface\AddOns\AutoTurnIn\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:202
     LibResInfo_ResExpired = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:410
     GetModule = <function> defined @Interface\AddOns\AutoTurnIn\Libs\AceAddon-3.0\AceAddon-3.0.lua:231
     defaultModuleLibraries = <table> {
     LibResInfo_ResCastStarted = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:342
     UnregisterChatCommand = <function> defined @Interface\AddOns\AutoTurnIn\Libs\AceConsole-3.0\AceConsole-3.0.lua:111
     UpdateMedia = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:311
     OnProfileChanged = <function> defined @Interface\AddOns\SmartRes2\SmartRes2.lua:305
     GetName = <function> d

  • #216

    Here is an update, February 10, 2013:

    • Near complete rewrite using LibResInfo instead of LibResComm
    • LRI uses the Combat Log, which means no more guessing!
    • Pared about 210 lines of code that are no longer necessary
    • Anchor *should* no longer reset when SR2 is disabled or re-enabled
    • The Custom Message in Chat settings is best served for your Mass Resurrection message
    • Added support for Instance as a chat output
    • Many other optimizations and tweaks
    I am still testing, but so far everything looks good. Hopefully I can roll out an alpha build in a few days.
    New test bars

    A volunteer Curse Moderator!

    Back to WoW on Llane in Knights of the Storm, Alliance (Myrroddin, Jelia, BadAsh, Vanhoeffen)

  • #215

    Why does the anchor keep resetting, do you have to set it on each login? it's really frustrating, thanks.

  • #214

    i have 1 small problem after 1 appearenc of msg and bars informing about ressing addon stops working

  • #213

    I know it isn't working. Sorry people, I will get it fixed. However, it has to go on the back burner due to real life commitments. What I will do is the planned back-end rewrite, switching from LibResComm to LibResInfo, which is a better solution. During the rewrite, hopefully I get the chat messages fixed.

    But like I said, it will have to wait. I do not have an ETA, sadly.

    @Kissman21: assuming you put your custom messages into the settings for SR2 via the chat options, they should be saved in your saved variables file. Just back that up somewhere safe, and re-import or copy later.

    A volunteer Curse Moderator!

    Back to WoW on Llane in Knights of the Storm, Alliance (Myrroddin, Jelia, BadAsh, Vanhoeffen)

  • #212

    Res announcing, I still can't get to announce to say or raid.

  • #211

    Me the same. German client. No messages. 

  • #210

    Still not working... :( no errors, just hand cursor and no messages (r218).

    /edit: is possible export/import custom messages? I have over 200 hand writed mesages... i can try clean reinstall (now i have copied old version and updated), but dont want lost my messages.

    Last edited by kissman21 on 10/6/2012 8:08:12 AM
  • #209

    sorry still not working for me  .... maybe you have to fix me not your addon^^

  • #208

    For the testers, how is r218? Is it working properly now?

    A volunteer Curse Moderator!

    Back to WoW on Llane in Knights of the Storm, Alliance (Myrroddin, Jelia, BadAsh, Vanhoeffen)

  • #207

    r218 is up, and here's me with stupid typo fixes.

    A volunteer Curse Moderator!

    Back to WoW on Llane in Knights of the Storm, Alliance (Myrroddin, Jelia, BadAsh, Vanhoeffen)

  • #206

    Since the lastest update, getting these errors on log in, and I a ressing chat announce still does not announce.

    55x SmartRes2\SmartRes2-r217.lua:587: Usage: SetOverrideBindingClick(owner, isPriority, "KEY", "buttonName"[, "mouseButton"])
    <in C code>
    SmartRes2\SmartRes2-r217.lua:587: in function "BindMassRes"
    SmartRes2\SmartRes2-r217.lua:257: in function <SmartRes2\SmartRes2.lua:243>
    (tail call): ?
    <in C code>
    <string>:"safecall Dispatcher[1]":9: in function <string>:"safecall Dispatcher[1]":5
    (tail call): ?
    Archy-1.8.31a\Libs\AceAddon-3.0\AceAddon-3.0-11.lua:543: in function "EnableAddon"
    Archy-1.8.31a\Libs\AceAddon-3.0\AceAddon-3.0-11.lua:636: in function <Archy\Libs\AceAddon-3.0\AceAddon-3.0.lua:621>
    <in C code>
    LUI-r538\modules\micromenu.lua:835: in function "SetMicroMenu"
    LUI-r538\modules\micromenu.lua:1330: in function <LUI\modules\micromenu.lua:1329>
    (tail call): ?
    <in C code>
    <string>:"safecall Dispatcher[1]":9: in function <string>:"safecall Dispatcher[1]":5
    (tail call): ?
    Archy-1.8.31a\Libs\AceAddon-3.0\AceAddon-3.0-11.lua:543: in function "EnableAddon"
    Archy-1.8.31a\Libs\AceAddon-3.0\AceAddon-3.0-11.lua:556: in function "EnableAddon"
    Archy-1.8.31a\Libs\AceAddon-3.0\AceAddon-3.0-11.lua:636: in function <Archy\Libs\AceAddon-3.0\AceAddon-3.0.lua:621>
    <in C code>
    FrameXML\UIParent.lua:299: in function "UIParentLoadAddOn"
    FrameXML\UIParent.lua:373: in function "TimeManager_LoadUI"
    FrameXML\UIParent.lua:690: in function <FrameXML\UIParent.lua:657>


  • 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 »

Star Trek Online Wiki Editing Contest