ReAction is a configurable action bar replacement. It supports any number of bars with any number of buttons per bar. Bars can be laid out in the traditional 1x12, or 12x1, or 3x3, or 2x7, or 14x3, or whatever floats your boat. ReAction's state driver configuration gives you a high degree of control over the behavior of the action bars in response to game events.
ReAction has (finally) been updated for WOW v5.04. Among other minor fixes, it now has support for the "Extra Action Button" which is enabled in certain quest and dungeon events (e.g. Ultraxion, Taran Zhu, etc). To use this button you'll need to create a new bar using the "ExtraAction" type.
Also, in v5.04 the priest Mind Control spell has been renamed Dominate Mind, and you now get your dominated target's abilities on the pet bar rather than the main action bar. This was a change made by Blizzard. The old Mind Control remapping functionality still exists, since it's still in use for certain quests and vehicles, and is now labeled "Ability Override".
Initially, the addon is invisible: it doesn't create any bars or hide any of the built-in Blizzard bars (or do anything, really) until you start configuring it. Bar layout is primarily mouse-driven: drag the corners of a bar to get more/fewer buttons. Drag the bar around on the screen to reposition.
To get started, go to Interface Options, AddOns panel, ReAction section. Or just type /rxn config in your chat frame. Fire up the Editor (or just go there directly with /rxn edit) to start creating and configuring your bars. See the Images tab for some quick examples to point you in the right direction.
ReAction supports bars for actions, pet actions, shapeshift/stance, bags - everything on Blizzard's main action bar cluster except for the micro-menu and the experience bar (you'll need other addons to replace those functionalities).
ReAction implements the following 'standard' behaviors of Blizzard's action bars:
- Action override remapping effects (you do have to manually tell ReAction which bars to use for this)
- Drag and drop of all action types (even in combat)
- Optionally hide empty buttons and automatically show them during drag and drop (even in combat)
- Optionally lock buttons to prevent dragging (also optionally lock only during combat)
- 'Flyout' actions (e.g. Call Pet, Teleport, Portal)
- Automatic show/hide of pet action bar and stance/shapeshift action bar
- Stance/shapeshift bar supports all the modes that Blizzard's does (Hunter aspects, shadowform, metamorphosis, paladin auras, DK presences, stealth, etc)
ReAction also features a flexible state-machine that can change the bar's secure attributes such as show/hide, position, size, opacity, action-ID (etc) based on any of Blizzard's secure state driver options - generally speaking, anything that a macro conditional can parse, ReAction can respond to.
ReAction supports ButtonFacade, OmniCC and ConfigMode (e.g. OneButtonConfig) and presents a DataBroker launcher widget. It makes use of the standard Ace3 profile model and configuration options. The initial setting for each character is to share a Default profile.
Currently ReAction is deficient in a few areas:
- There's no way to change actionbar pages other than through the dynamic state config (i.e. there isn't an up/down button to click). This can make dropping actions on those bars a bit tricky if they're conditions not easily met on demand (e.g. Shadowdance).
- The display for out-of-mana and out-of-range is different from Blizzard's display (it colors the whole icon red/blue a la TullaRange) due to my personal preference. Really that should be a configurable option.
- It is not currently localized to anything other than en-us. The infrastructure is now in place for translations, but not a lot of content is translated yet.
- The "PossessBar" is not currently implemented - this is a 2-button status/cancel bar showing you when an ability override is in effect
See the Development Roadmap for details.
All of ReAction's buttons are 100% new frames and do not reuse, tweak, or modify any of Blizzard's frames or functions. They look and feel almost exactly the same as Blizzard's buttons. You can actually run ReAction alongside another bar mod (even Blizzard's default bars), though due to the nature of action-ID management you will probably get some mirroring until you tweak the configuration "just so".
The primary action buttons are implemented using action-IDs, which refer to a group of 120 slots stored on the server. Those slots can contain spells, macros, or items, and share the same pool of slots with Blizzard's action bars and any addon which either reuses Blizzard's buttons (like Dominos) or creates new frames which use action IDs (like ReAction and Bartender).
Note that in general, button key bindings do not play nicely with profile-switching, because key bindings are stored globally (on the server) and are tied to the frame-name of buttons, but button frame-names in ReAction are dependent on the bar name and grid layout, which are stored with the profile. Addons which reuse Blizzard's buttons don't have this problem, as the keybindings follow the frames, and addons with fixed numbers of buttons and bars can get around this by having consistent names of each button. ReAction, however, names buttons by bar and index, and considering you can have arbitrarily large bars, can't really enforce any repeatability in button naming.
So, if you're going to use multiple profiles amongst characters, you're going to want to enable separate keybindings per-character. Switching between multiple profiles for a single character is not advised, but it is possible if you're careful about your bar naming scheme.
ReAction has been around in one form or another since WoW 2.0, when I wrote it as a replacement for Discord Action Bars, which did not survive the transition to the secure frames API. It remained an unpublished private addon until WoW 4.0. It has matured in parallel with other popular action bar addons such as Bartender, Bongos/Dominos, and Macaroon.
My alpha testers inform me that it's relatively problem-free, so I figure it's time to share it in the hopes that others will find it to their liking. Considering I've made heavy use of addons from Ace to get it off the ground, I figure this is the most logical place to publish it!