SmartRes2

[5.2] Release 5.5.0 Test Bars

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).

Donations

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: http://pledgie.com/campaigns/19879

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

Features

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

Credits

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!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of myrroddin myrroddin Oct 26, 2013 at 17:04 UTC - 0 likes

    @angrysteel: Go

    I have been trying and trying to figure out what is causing the error, with no luck. I get it as well. I am not sure if the bug is in SR2's code, or LibResInfo.

    Still digging, however.

  • Avatar of angrysteel angrysteel Oct 24, 2013 at 16:01 UTC - 0 likes

    Any chance you can take a look at this error. Doesnt really seem too effect anything, but the error count goes sky high daily.

    22x LibResInfo-1.0\LibResInfo-1.0\LibResInfo-1.0-12.lua:211: attempt to compare nil with number
    LibResInfo-1.0\LibResInfo-1.0\LibResInfo-1.0-12.lua:211: in function "UnitIsCastingRes"
    SmartRes2\SmartRes2-Release 2.6.1.lua:477: 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[6]":4: in function <string>:"safecall Dispatcher[6]":4
    <in C code>
    <string>:"safecall Dispatcher[6]":13: in function "?"
    libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92: in function "Fire"
    LibResInfo-1.0\LibResInfo-1.0\LibResInfo-1.0-12.lua:418: in function "?"
    LibResInfo-1.0\LibResInfo-1.0\LibResInfo-1.0-12.lua:105: in function <LibResInfo-1.0\LibResInfo-1.0\LibResInfo-1.0.lua:104>
    
    Locals:
    nil
    
  • Avatar of myrroddin myrroddin Oct 07, 2013 at 15:57 UTC - 0 likes

    @angrysteel: Go

    This is not a bug, and has always existed. You are correct that it is an API limitation - Blizzard's. The secure button template code will not cast on a player who has released their ghost in that fashion; it won't work in an AddOn, because it will not work the default UI.

    However, the Manual Res Key will give you the hand cursor with which you can click on their corpse or unit frame. It will fire the Res bars and keep track of collision casters, provide the unit's name (instead of nothing, or UNKNOWN), and all the other good stuff. This is exactly what happens if you cast a resurrection-type spell with no target selected: the game gives you the hand cursor. The difference is the base UI doesn't have the SR2 extra features.

    I haven't tested in ages, but if you had said dead, released player as your target, and NO OTHER valid higher priority non-released players exist, the Auto Res Key would then cast on your target by default.

    Hopefully that helps.

    Last edited Oct 07, 2013 by myrroddin
  • Avatar of angrysteel angrysteel Oct 03, 2013 at 13:40 UTC - 0 likes

    Not sure if this is a bug or a limitation of the api:

    Lets say me and a buddy are standing at Shrine of Two Moons. He flies up, jumps off mount, and dies at my feet. I use my smart res button and it works as intended.

    Now, doing the same test, if he releases and is a ghost, my smart res button no longer works, even with his body right next to me. I didnt see anything in known issues or Q&A sections stating the addon will not resurrect players that have released.

    I did see in the Q&A section: "Because macros cannot tell you the name of released (ghost) characters, and SmartRes2 can "

    This lead me to believe its a bug preventing me from resurrecting players that have released.

  • Avatar of myrroddin myrroddin Mar 02, 2013 at 01:00 UTC - 0 likes

    @TheGrey01: Go

    Darn typo!! Thanks, and should be fixed in r248...

  • Avatar of TheGrey01 TheGrey01 Mar 01, 2013 at 21:41 UTC - 0 likes

    Using the current beta and the normal version before i kept getting the following error, every time i get in combat (for the first time after which one of my other error catching addons blocks it).

    Date: 2013-03-01 15:37:31
    ID: 1
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\SmartRes2\SmartRes2.lua line 575:
       attempt to call field 'RegisterCalllback' (a nil value)
    Debug:
       (tail call): ?
       SmartRes2\SmartRes2.lua:575: ?()
       ...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147:
          ...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147
       [string "safecall Dispatcher[1]"]:4:
          [string "safecall Dispatcher[1]"]:4
       [C]: ?
       [string "safecall Dispatcher[1]"]: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
    Locals:
    None
    AddOns:
      Swatter, v4.0.5 (<%codename%>)
      NPCScan, v5.0.0.5
      NPCScanOverlay, v5.0.0.3
      AckisRecipeList, v2.4.3-11-g370f138
      ACP, v3.4.1 
      Altoholic, v5.1.001
      AnnounceRes, v
      Archy, v1.8.38a
      AtlasLoot, vv7.04.02
      AtlasLootCataclysm, vv7.04.02
      AtlasLootClassicWoW, vv7.04.02
      AtlasLootLoader, vv7.04.02
      AtlasLootMistsofPandaria, vv7.04.02
      AucAdvanced, v5.15.5365 (LikeableLyrebird)
      AucFilterBasic, v5.15.5365 (LikeableLyrebird)
      AucFilterOutlier, v5.15.5365.5347(/embedded)
      AucMatchUndercut, v5.15.5365.5364(/embedded)
      AucScanData, v5.15.5365 (LikeableLyrebird)
      AucStatHistogram, v5.15.5365 (LikeableLyrebird)
      AucStatiLevel, v5.15.5365 (LikeableLyrebird)
      AucStatPurchased, v5.15.5365 (LikeableLyrebird)
      AucStatSales, v5.15.5365.5305(/embedded)
      AucStatSimple, v5.15.5365 (LikeableLyrebird)
      AucStatStdDev, v5.15.5365 (LikeableLyrebird)
      AucStatWOWEcon, v5.15.5365.5323(/embedded)
      AucUtilAHWindowControl, v5.15.5365.5347(/embedded)
      AucUtilAppraiser, v5.15.5365.5362(/embedded)
      AucUtilAskPrice, v5.15.5365.5347(/embedded)
      AucUtilAutoMagic, v5.15.5365.5347(/embedded)
      AucUtilCompactUI, v5.15.5365.5336(/embedded)
      AucUtilEasyBuyout, v5.15.5365.5347(/embedded)
      AucUtilFixAH, v5.15.5365 (LikeableLyrebird)
      AucUtilItemSuggest, v5.15.5365.5365(/embedded)
      AucUtilPriceLevel, v5.15.5365.5365(/embedded)
      AucUtilScanButton, v5.15.5365.5320(/embedded)
      AucUtilScanFinish, v5.15.5365.5347(/embedded)
      AucUtilScanProgress, v5.15.5365.4979(/embedded)
      AucUtilScanStart, v5.15.5365.5347(/embedded)
      AucUtilSearchUI, v5.15.5365.5347(/embedded)
      AucUtilSimpleAuction, v5.15.5365.5362(/embedded)
      AucUtilVendMarkup, v5.15.5365.4828(/embedded)
      Babylonian, v5.1.DEV.332(/embedded)
      Bartender4, v4.5.3
      BeanCounter, v5.15.5365 (LikeableLyrebird)
      BetterBattlePetTooltip, v5.1.0.9
      BOPCraftConfirm, v1.0.1
      Carbonite, v5.1.2
      Chinchilla, vv2.5.9
      Configator, v5.1.DEV.344(/embedded)
      DarkSoilAutoAccept, v2.4
      DataStore, v5.1.001
      DataStoreAchievements, v5.1.001
      DataStoreAgenda, v5.1.001
      DataStoreAuctions, v5.1.001
      DataStoreCharacters, v5.1.001
      DataStoreContainers, v5.1.001
      DataStoreCrafts, v5.1.001
      DataStoreCurrencies, v5.1.001
      DataStoreInventory, v5.1.001
      DataStoreMails, v5.1.001
      DataStorePets, v5.1.001
      DataStoreQuests, v5.1.001
      DataStoreReputations, v5.1.001
      DataStoreSpells, v5.1.001
      DataStoreStats, v5.1.001
      DataStoreTalents, v5.1.001
      DBMCore, v
      DBMInterrupts, v5.1.0
      DBMSpellTimers, v
      DebugLib, v5.1.DEV.337(/embedded)
      Decursive, v2.7.2.4-5-g0c5d711
      Enchantrix, v5.15.5365 (LikeableLyrebird)
      EnchantrixBarker, v5.15.5365 (LikeableLyrebird)
      FBTrackingFrame, v1.2h
      FishingBuddy, v1.2k
      Gatherer, v4.0.5
      GatherNotify, v1.21
      Informant, v5.15.5365 (LikeableLyrebird)
      LibExtraTip, v5.12.DEV.342(/embedded)
      lootroller, v0.1
      Outfitter, v5.8.2
      Overachiever, v0.70
      PetBattleTeams, v3.1.1
      PetJournalEnhanced, v2.6.3
      Postal, v3.5.0
      Prat30, v3.5.4      
      Prat30Libraries, v
      ProfessionsVault, vr427
      RealIDToons, v2.1.14
      Reforgerade, v0.1 r47
      SellOMatic2, va051-2
      SilverDragon, vv3.0.3
      SlideBar, v4.0.5 (<%codename%>)
      SmartRes2, vr246
      Stubby, v5.14.5335 (KowariOnCrutches)
      TipHelper, v5.12.DEV.343(/embedded)
      TomTom, vv50100-1.0.2
      TomTomPing, v1.1 r025
      TradeSkillInfo, vr533
      WorldBossStatus, v1.0
      WoWPro, v2.4.3A
      WoWProAchievements, v2.4.3A
      WoWProDailies, v2.4.3A
      WoWProLeveling, v2.4.3A
      WowProProfession, v2.4.3A
      WoWProWorldEvents, v2.4.3A
      XPBarNone, v50100-5-3-ga79055f
      BlizRuntimeLib_enUS v5.1.0.50100 <us>
      (ck=de5)
    
  • Avatar of Aoife Aoife Feb 21, 2013 at 13:54 UTC - 0 likes

    @myrroddin: Go

    That's way cool, thanks for letting me know where you are in the process and keep up the good work!.

    :)

    ~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~ Aoife Divine Alliance of Mok'Nathal
  • Avatar of myrroddin myrroddin Feb 21, 2013 at 13:47 UTC - 1 like

    @Aoife: Go

    Yes, any new phrases, such as that one, do not exist yet on the WoWAce page, and thus cannot be imported into the AddOn. Phanx and I were spending the last 5-6 hours fixing bugs in both LibResInfo and SmartRes2, but we were using development copies, where that error never happens.

    The new phrases should be updated later today or tomorrow, depending on time, work, sleep, etc.

  • Avatar of Aoife Aoife Feb 21, 2013 at 12:00 UTC - 0 likes

    I know you're busily updating this addon, just wanted to let you know I'm busy testing it and have the following error on login (with both r225 and r226):

    Date: 2013-02-21 03:58:19
    ID: 2
    Error occured in: Global
    Count: 1
    Message: AceLocale-3.0: SmartRes2: Missing entry for 'What you want to say when casting Mass Resurection'
    Debug:
    SmartRes2\SmartRes2Options.lua:396: OptionsTable()
    SmartRes2\SmartRes2.lua:129:
    SmartRes2\SmartRes2.lua:117
    (tail call): ?
    [C]: ?
    [string "safecall Dispatcher[1]"]:9:
    [string "safecall Dispatcher[1]"]:5
    (tail call): ?
    ...ce\AddOns\Skillet\Libs\AceAddon-3.0\AceAddon-3.0.lua:514: InitializeAddon()
    ...ce\AddOns\Skillet\Libs\AceAddon-3.0\AceAddon-3.0.lua:629:
    ...ce\AddOns\Skillet\Libs\AceAddon-3.0\AceAddon-3.0.lua:621
    Locals:
    None

  • Avatar of Aoife Aoife Jul 01, 2011 at 11:03 UTC - 0 likes

    @tednik: Go

    yes, i replaced that file with the revision - no more error! :) Thanks!