Get an Epic Experience with Premium

RSA - Raeli's Spell Announcer

Buffs & Debuffs Login to Add Favorites
  • World of Warcraft
  • 4,072 Monthly Downloads
  • Supports: 6.2.2
  • 1,257,840 Total Downloads
  • Updated 11/07/2015
  • Created 12/01/2009
  • 831 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: All Rights Reserved
  • Newest File: v3.102
Support development! **

About RSA - Raeli's Spell Announcer

Requests, Bugs & Known issues

Please use Curse's Curseforge ticket tracker to create requests, suggestions, or post bug reports:


RSA, Raeli's Spell Announcer, by Raeli of Arathor-EU (Now Maintained by Jenneth), is an addon that aims to help players with the announcement of certain spells, as well as reminding you of important missing buffs. For example, it can detect when you cast Divine Protection, and it will send a message like so:
Divine Protection Example
As you can see, it can announce when it first is cast, and then again when it ends, not only that, but you can customise the messages that are sent.

Type /rsa in game to open in game configuration, or access it through the Blizzard Interface panel.

Spell Announcements

There is the ability to create custom message announcements, you can use certain tags to say what the target is and so on:

  • [SPELL] will be replaced with the name of the spell
  • [LINK] will be replaced by a clickable spell link of the spell cast
  • [TARGET] will be replaced with the target of the spell (only works with spells that can be put on targets other than yourself)
  • [AMOUNT] will be replaced with the amount of damage or healing done (only applicable to certain spells)
  • [MISSTYPE] will be replaced with the type of spell miss (Such as Miss, Immune, Resist again, only available to certain spells)
  • [AURA] will be replaced with the buff or debuff that is removed by dispels
  • [AURALINK] will be replaced with a clickable spell link of the buff or debuff that is removed by dispels
  • [TARCAST] will be replaced by the spell that you have just interrupted
  • [TARLINK] will be replaced by a clickable spell link of the spell that you have just interrupted

Some of these are only usable for certain spells, each spell lists what is available for you to use in game.

If you want to use a percent sign in your message you need to type it twice: %% to allow it to show, else you will receive errors.

If you leave a Start or End message empty, it will simply not announce that part. So if you only want, to say, announce when Divine Protection ends, you leave the Start message empty, and only have an End message set.

You can set where to announce spells:

  • Local - This sends messages to your own chat window, or the raid warning frame or both depending on your setting
  • Raid - Sends a message to the raid chat, if you are in a raid.
  • Party - Sends a message to the party chat, if you are in a party.
  • Smart Party - Sends a message to either instance chat, raid chat or party chat, depending on group size and location.
  • Say
  • Yell
  • Whisper - only when the target it someone else than yourself.
  • Custom Channel - You can send it to a custom channel, like, say, your healing channel. This option is now unique for each spell, so you can send different spell announcements to different places.
  • You can disable Raid/Party/Say/Custom Channel announcements while you have PvP active, if you are Ungrouped, or if you are not in an instance. Whispers and Local messages will always announce if checked.

Buff Reminder Options

You can set what spell you want to track. You can also:

  • Disable reminding while you have PvP active
  • Enable or disable reminding in your primary or secondary specs
  • Set how often you want to be reminded
  • Set where you want the announcements to be sent (local only - visible only to yourself)

r282 | jenneth | 2015-11-07 23:05:22 +0000 (Sat, 07 Nov 2015) | 1 line
Changed paths:
   A /tags/v3.102 (from /trunk:281)

Tagging as v3.102
r281 | jenneth | 2015-11-07 23:03:01 +0000 (Sat, 07 Nov 2015) | 1 line
Changed paths:
   M /trunk/Core.lua
   M /trunk/Locale-deDE.lua
   M /trunk/Locale-enUS.lua
   M /trunk/Locale-esES.lua
   M /trunk/Locale-koKR.lua
   M /trunk/Locale-ruRU.lua
   M /trunk/Locale-zhCN.lua
   M /trunk/Locale-zhTW.lua
   M /trunk/Options/Options.lua

Fixed issue with spamming in Ashran. RSA now recognizes queued Ashran, Tol Barad, Wintergrasp, etc. as Battlegrounds, and only announces to them if Battlegrounds is checked in the options. (Ticket 304). The individual setting for Tol Barad has been removed.
r280 | jenneth | 2015-10-27 20:04:40 +0000 (Tue, 27 Oct 2015) | 1 line
Changed paths:
   M /trunk/Core.lua

Trying to get the CurseForge packager to wake up...
r279 | jenneth | 2015-10-27 19:53:57 +0000 (Tue, 27 Oct 2015) | 1 line
Changed paths:
   M /trunk/Core.lua
   M /trunk/DeathKnight/DeathKnight.lua
   M /trunk/Hunter/Hunter.lua
   M /trunk/Mage/Mage.lua
   M /trunk/Options/Options.lua
   M /trunk/Paladin/Paladin.lua
   M /trunk/Priest/Priest.lua
   M /trunk/RSA.toc
   M /trunk/Shaman/Shaman.lua
   M /trunk/Warlock/Warlock.lua
   M /trunk/Warrior/Warrior.lua

(DK) Added Anti-Magic Zone (Ticket 303), converted remaining class specific spells to the new core, except the exceptions. Updated version number.
r278 | jenneth | 2015-08-29 20:56:39 +0000 (Sat, 29 Aug 2015) | 1 line
Changed paths:
   M /trunk/Core.lua
   M /trunk/Druid/Druid.lua
   M /trunk/Locale-enUS.lua
   M /trunk/Options/Options.lua

(Druid) Add Fae Silence announcement also for bosses. Bosses appear to generate only interrupt messages, which in turn aren't generated at all by normal mobs. (Ticket 302)


First Previous Page 12 of 78 Next Last
  • #1020

    well as of the latest patch RSA options are not auto-loading have to manually load them using addon control panel don't know if anyone else has run into this problem

  • #1019

    RSA by default seems to spam the say channel in 5 mans, but not in raids.  I can't see any difference in settings between the two; I get chat bubbles galore in 5 mans, but not in raids.

  • #1017

    Thanks for patch rowaasr13 :)

    If you can look upon enemy target dispel skills (purge,shiv etc.) it would be great and far more enough for now, when you have time ofc.

  • #1013

    I've been asked by my guild's member to look at RSA not reporting druid's dispels, so I took some time to fix it for him and prepare more streamlined core for announcements. I'd be happy if Raeli would integrate those changes to main distribution:

    To anybody who wants to test, note that NOT ALL events/classes were changed to this core, read changelog for fixed stuff.

  • #1014


    If you would be willing to take over the project I will happily give you rights to contribute to the main repository - I haven't played wow since the Deathwing patch, aside from a few free trial days of Mists, so I'm very much out of date on what changed and also how the API changed.

    I had someone else updating the project for a while, and I was able to make a few small changes myself, but I don't have a huge amount of free time to really go read through everything and get myself caught up. There are a lot of issues with RSA, and it was poorly coded from the start, but people still like it, so it would be nice if someone could take the reins and maintain it.

    Even if you don't continue to maintain it, I'm sure just a few updates when you can would be appreciated, and more than I am realistically able to do anymore.

    Last edited by Raeli87 on 4/21/2013 10:35:55 PM
  • #1016


    Well I added you as a maintainer on curseforge, if I recall that should be all you need. Thanks :D

  • #1015

    Well, I'm busy over here too with MoP being quite taxing to the alts and RL stuff so I can't promise full time maintenance, but I'd be happy to integrate stuff I've already wrote and drop some patches in from time to time.

  • #1012

    Date: 2013-04-19 21:41:29
    ID: 1
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\RSA_Paladin\Paladin.lua line 471:
    attempt to index field 'HolyRadiance' (a nil value)
    _ = RSA:CLM {
    0 = <userdata>
    _ = 1366418496.111
    event = "SPELL_CAST_SUCCESS"
    _ = false
    _ = "0x0480000005BEFC60"
    source = "Hynlan"
    _ = 1297
    _ = 0
    destGUID = "0x0480000005BEFC60"
    dest = "Hynlan"
    _ = 1297
    _ = 0
    spellID = 82327
    spellName = "Resplendor Sagrado"
    _ = 2
    missType = nil
    overheal = nil
    petName = nil
    (*temporary) = nil
    (*temporary) = "[Resplendor Sagrado]"
    (*temporary) = "[Resplendor Sagrado]"
    (*temporary) = nil
    (*temporary) = "INTERFACE\ICONS\spell_paladin_divinecircle"
    (*temporary) = "attempt to index field 'HolyRadiance' (a nil value)"
    pName = "Hynlan"
    RSA = <table> {
    SetDefaultModuleLibraries = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:383
    Enable = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:315
    RegisterChatCommand = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:85
    EnableModule = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:348
    modules = <table> {
    GetModule = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:231
    IterateEmbeds = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:458
    defaultModuleLibraries = <table> {
    UnregisterChatCommand = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:111
    Printf = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:69
    SetDefaultModulePrototype = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:425
    GetSinkAce3OptionsDataTable = <function> defined @Interface\AddOns\Chatter\Libs\LibSink-2.0\LibSink-2.0.lua:603
    name = "RSA"
    IsEnabled = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:467
    orderedModules = <table> {
    Pour = <function> defined @Interface\AddOns\Chatter\Libs\LibSink-2.0\LibSink-2.0.lua:436
    DisableModule = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:366
    GetArgs = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:144
    RegisterSink = <function> defined @Interface\AddOns\Chatter\Libs\LibSink-2.0\LibSink-2.0.lua:714
    IsModule = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:484
    db = <table> {
    SetDefaultModuleState = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:403
    SetEnabledState = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:440
    enabledState = true
    baseName = "RSA"
    OnProfileEnable = <function> defined @Interface\AddOns\RSA\Core.lua:3855
    ChatCommand = <function> defined @Interface\AddOns\RSA\Core.lua:3860
    OnInitialize = <function> defined @Interface\AddOns\RSA\Core.lua:3706
    defaultModuleState = true
    IterateModules = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:453
    GetSinkAce2OptionsDataTable = <function> defined @Interface\AddOns\Chatter\Libs\LibSink-2.0\LibSink-2.0.lua:539
    NewModule = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:256
    Print = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:54
    SetSinkStorage = <function> defined @Interface\AddOns\Chatter\Libs\LibSink-2.0\LibSink-2.0.lua:752
    GetName = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:300
    Disable = <function> defined @Interface\AddOns\Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:330
    L = <table> {
    OptionsClass = " If you want to use RSA with this class, please enable the module."
    is Missing! = " is Missing!"
    Enable_In_Tol_Barad_Desc = "Enabling this will allow you to announce while in Tol Barad."
    Whisper = "Whisper"
    End = "End"
    Raid = "Raid"
    Smart Group = "Smart Group"
    OptionsDisabled = "Module disabled, please enable it."
    Whisper_Desc = "Whispers the target of the spell.
    This setting also does not follow the global announcement settings, and will, i
    Swatter, v4.2.0 (<%codename%>)
    NPCScan, v5.0.0.5
    Auctionator, v3.1.3
    Babylonian, v5.1.DEV.332(/embedded)
    BagBrother, v
    Bagnon, v5.2.1
    Bartender4, v4.5.9
    BittensSpellFlashLibrary, v4.6.4
    ButtonFacade, v5.2.391
    Chatter, v1.4.4
    Configator, v5.1.DEV.344(/embedded)
    DBMCore, v
    DBMLDB, v
    DBMSpellTimers, v
    Gatherer, v4.2.0
    GladiatorlosSA, v2.0
    GTFO, v4.23.1
    HaloPro, v(v2.1.0)
    HealBot, v5.2.0.4
    HealBotbr, v5.2.0.0
    HealBotTips, v5.2.0.2
    Hermes, v
    HermesUI, v
    Incoming, v1.11
    kgPanels, v1.15
    MacroBank, v1.11
    MacroToolkit, vv5.2.0.1
    MacroToolkitMacroBox, vv5.2.0.0
    MagicSell, v5.2.1
    MapCoords, v0.15
    Mappy, v3.3.2
    Masque, v5.2.391
    MikScrollingBattleText, v5.7.128
    MogIt, v3.1.2
    MuchMoreMacro, v1.3.2
    Omen, v3.1.8
    OmniCC, v5.2.3
    Pawn, v1.8.4
    Postal, v3.5.1
    Quartz, v3.1.2
    QuartzProcs, v3.42
    RSA, v2.854
    RSAPaladin, v
    SaySapped, v2012-10-01
    ShadowedUnitFrames, vv3.8.6
    Skada, v1.4-11
    SkadaAbilityTracker, v1.1
    SkadaCC, v1.0
    SkadaDamage, v1.0
    SkadaDamageTaken, v1.0
    SkadaDeaths, v1.0
    SkadaDebuffs, v1.0
    SkadaDispels, v1.0
    SkadaEnemies, v1.0
    SkadaHealAbsorbs, v
    SkadaHealing, v1.0
    SkadaPower, v1.0
    SkadaThreat, v1.0
    SlideBar, v4.2.0 (<%codename%>)
    SmartTabTarget, v
    SpellFlash, v6.6
    SpellFlashCore, v2.0.2
    TellMeWhen, v6.1.5
    TidyPlates, v6.9.8
    TidyPlatesGraphite, v
    TidyPlatesGrey, v
    TidyPlatesNeon, v
    TidyPlatesQuatre, v
    TidyPlatesHub, v
    TidyPlatesWidgets, v
    Titan, v5.1.18.50200
    TitanBag, v5.1.18.50200
    TitanClock, v5.1.18.50200
    TitanCurrency, v5.7
    TitanGold, v5.1.18.50200
    TitanHealBot, v5.2.0.3
    TitanHonorPoints, v4.0.001
    TitanLocation, v5.1.18.50200
    TitanLootType, v5.1.18.50200
    TitanPerformance, v5.1.18.50200
    TitanRepair, v5.1.18.50200
    TitanRoll, v
    TitanSpec, v2.3.0
    TitanVolume, v5.1.18.50200
    TitanXP, v5.1.18.50200
    TomTom, vv50200-1.0.2
    TomTomPing, v1.1 r026
    VuhDo, v3.37
    VuhDoOptions, v3.37
    VulcanRepair, v3.07
    XToLevel, v5.2.0_35
    BlizRuntimeLib_ptBR v5.2.0.50200 <us>


  • #1011

    I hope some wonderful, talented person, helps Raeli out and takes over this. We appreciate your time on this Raeli. :) Thank you and best wishes.

  • #1010

    any news on if there is going to be announce support for the Grimoire of Sacrifice version of Spell Lock for locks?

  • #1008

    Hey I have noticed that Guardian of Ancient King's works for every spec on a paladin except for Protection.  Just a heads up would love to be able to use RSA to announce this.

  • #1007

    Is it possible to get an announce function for using a Healthstone and Ember Tap. Nice to let a healer know not to bother healing you when you're alrdy healing yourself (and by how much).

  • #1006

    Love this spell announcer, just wish there was someone who took care of the addon full time so I wouldn't have to switch to other announcers...

  • #1004

    Bump for an update to 5.2, love the addon. Thanks!

  • #1003

    When casting Holy Radiance:

    Message: Interface\AddOns\RSA_Paladin\Paladin.lua:471: attempt to index field 'HolyRadiance' (a nil value)

    Time: 03/07/13 12:29:29
    Count: 4
    Stack: [C]: ?
    Interface\AddOns\RSA_Paladin\Paladin.lua:471: in function <Interface\AddOns\RSA_Paladin\Paladin.lua:30>


  • 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