Broker Specializations
A Data Broker add-on for quickly switching your specialization with gear set and loot specialization. Now with some talents profiles and a quick talents access panel.
First launch
Everything is disabled by default, take a look in the configuration panel (middle-click on the icon/display, it can also be accessed within the right-click menu) it is very simple to set up.
Usage
- With a Data Broker display
- With the icon on the minimap
- With key bindings
- With the command line
Features
- Specialization switch. You can use the menu shown on right-click, the tooltip, the key bindings or by using a command.
- Dual specialization mode. This allows you to set two specializations and switch between them in one click, keybind or command.
- Equip a gear set and/or set the loot specialization when switching to a specialization.
- Quick talents frame. A small frame with only the talents switch buttons and talents switch items on the bottom.
- Talents profiles. Take a snapshot of your current talents, name it and you can switch between profiles in one click.
- Equipment sets switch, you can use the menu shown on right-click.
- Fully configurable text on the Data Broker display. There is no option for the specialization icon, this should be done with the display add-on.
Dual Specialization Mode
A little information on this mode, if you are in another specialization than the two specified, the add-on will switch to the first one (the one on the left in the configuration panel).
Key Binding
They are located within the Key Bindings panel, in the AddOns category look for Broker Specializations. You can bind each specializations and the dual mode.
Command Line
Available commands: /brokerspecializations, /brokerspec, /spec, /bs. They are aliases, to prevent compatibility issues.
- Without argument it will switch to the defined dual specialization if enabled or it will open the configuration panel.
- /bs config, will display the configuration panel.
- /bs minimap, will toggle the minimap icon visibility.
- /bs followed by a number (1 to 4) will switch to a specialization, to find the number look at the add-on menu the top specialization is 1.
- /bs followed by a specialization name will switch to it, this is not case sensitive.
Small list of Data Broker Displays
Bazooka ChocolateBar Broker Display DockingStation
Other Information
If you find an error or have a suggestion please use the tickets page on WowAce, you can also help with the localization.
Thank you for your hard work!
If I might make another request, might it be possible for the LDB gear display update to say 'none' if you equip something not in a saved gear set? Currently it still continues displaying that you're wearing the set. (This would be awesome for if you're wearing a teleport cloak and forgot, or forget to update new set, etc.)
Done, that was an easy one. :)
Many thanks! :)
When I uncheck "Display Name" in the options, I get the following error:
Date: 2016-10-05 21:57:40
ID: 3
Error occured in: Global
Count: 2
Message: ..\AddOns\Broker_Specializations\Core.lua line 648:
attempt to concatenate local 'text' (a boolean value)
Debug:
Broker_Specializations\Core.lua:648: GetDataBrokerText()
Broker_Specializations\Core.lua:709: UpdateBroker()
Broker_Specializations\Core.lua:343: SetEverything()
Broker_Specializations\Core.lua:1803: ?()
I believe I know the issue, if you don't mind me sharing. Your short text code is evaluating to false without a spec name, causing the text variable to be false instead of "". Disabling "show loot spec" with "show gear set" enabled will move this error down to line 677, and disabling both of those with "show talent" enabled moves the error down to 699.
Unless you have another idea, or I'm missing something further, adding or "" to the end of all your short text lines should fix this.
Current:
text = text ~= "" and text.."/";
Fixed:
text = text ~= "" and text.."/" or "";
This fixes the spec icon not being displayed when name is disabled, but it also removes both the / or () in front of the loot spec.
This is fixed, thank you for reporting it.
Hi!
Might it be possible to add an option to also display the name of the gear set currently equipped in the data text? (Alongside the spec and loot spec)
Also making a report: I'm getting the following error whenever I log in with the addon enabled:
56x Broker_Specializations\Core.lua:1600: attempt to concatenate local 'gearIcon' (a nil value)
Broker_Specializations\Core.lua:1600: in function `Tooltip'
Broker_Specializations\Core.lua:1870: in function `OnEnter'
Bazooka\Bazooka-v2.7.1.lua:1576: in function `showTip'
Bazooka\Bazooka-v2.7.1.lua:1381: in function <Bazooka\Bazooka.lua:1372>
Locals:
self = <table> {
DualSpecSwitchToInfos = <function> defined @Broker_Specializations\Core.lua:489
SlashCommand = <function> defined @Broker_Specializations\Core.lua:139
modules = <table> {
}
CancelTimer = <function> defined @Bear in Mind\libs\AceTimer-3.0\AceTimer-3.0.lua:145
SetEverything = <function> defined @Broker_Specializations\Core.lua:325
CopyTable = <function> defined @Broker_Specializations\Core.lua:243
SetTalentsProfile = <function> defined @Broker_Specializations\Core.lua:1118
PET_SPECIALIZATION_CHANGED = <function> defined @Broker_Specializations\Core.lua:1753
TalentsTabOnClick = <function> defined @Broker_Specializations\Core.lua:695
IsEnabled = <function> defined @Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:482
ChatFilter = <function> defined @Broker_Specializations\Core.lua:1191
PLAYER_LOOT_SPEC_UPDATED = <function> defined @Broker_Specializations\Core.lua:1759
HideOverlay = <function> defined @Broker_Specializations\Core.lua:786
RegisterMessage = <function> defined @Masque\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:116
UnregisterMessage = <function> defined @Masque\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:179
GotTalentsProfile = <function> defined @Broker_Specializations\Core.lua:1133
TalentsFrameShowOrHide = <function> defined @Broker_Specializations\Core.lua:976
talentsSwitchBuffs = <table> {
}
AddTalentsProfile = <function> defined @Broker_Specializations\Core.lua:1068
SetEnabledState = <function> defined @Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:455
TalentButtonOnClick = <function> defined @Broker_Specializations\Core.lua:900
gearSetsDB = <table> {
}
OnEnable = <function> defined @Broker_Specializations\Core.lua:1816
CompareTables = <function> defined @Broker_Specializations\Core.lua:280
CleanupDatabase = <function> defined @Broker_Specializations\Core.lua:304
PvpTabOnClick = <function> defined @Broker_Specializations\Core.lua:703
ItemButtonPostClick = <function> defined @Broker_Specializations\Core.lua:914
AddTalentsProfilePopup = <function> defined @Broker_Specializations\Core.lua:1097
TalentsFrameUpdate = <function> defined @Broker_Specializations\Core.lua:804
PLAYER_SPECIALIZATION_CHANGED = <function> defined @Broker_Specializations\Core.lua:1736
SetTalentsFrameForPvp = <function> defined @Broker_Specializations\Core.lua:735
name = "Broker_Specializations"
ldb = <table> {
}
questionMark = "ICONS\INV_Misc_QuestionMark"
SetGearAndLootAfterSwitch = <function> defined @Broker_Specializations\Core.lua:434
GetCurrentSpecInfos = <function> defined @Broker_Specializations\Core.lua:394
PLAYER_LEVEL_UP = <function> defined @Broker_Specializations\Core.lua:1784
Print = <function> defined @AdiBags\libs\AceConsole-3.0\AceConsole-3.0.lua:54
UpdateBroker = <function> defined @Broker_Specializations\Core.lua:650
L = <table> {
}
talentsSwitchBuffsNames = <table> {
}
SetChatFilterCallback = <function> defined @Broker_Specializations\Core.lua:1204
Tooltip = <function> defined @Broker_Specializations\Core.lua:1513
SetSpecialization = <function> defined @Broker_Specializations\Core.lua:456
DualSwitchTo = <function> defined @Broker_Specializations\Core.lua:467
UnregisterEvent = <function> defined @Masque\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:179
SetDefaultModuleLibraries = <function> defined @Masque\Libs\AceAddon-3.0\AceAddon-3.0.lua:398
talentsFrame = BrokerSpecializationsTalentsF
Done and fixed.
Thank you for reporting it.
Thank you very much!
The addon is great when it works. After I logout and log back in it's not remembering my gear sets to switch to... It resets the check marks and I have to set it up everytime I log back in.
If you are the only one reporting this, I have to assume it is on your side. I cannot fix something I am unable to reproduce, sorry.
Saving configuration other sessions is done by wow, and the addon rely on the Ace3 framework for it's configuration, which is solid.
The only way I could think this will happen is using the nolib version and using old addons or libs.
Love this addon! Thank you for making my life easier.
Small (very small) bug I've noticed...Using the Data Broker option (only Display loot spec, not Display name)...when selecting "Loot spec mode" - it doesn't stick to "Icon". Whenever I reload that option resets to "Text".
I'm using ElvUI if that's any help. Thanks so much!
Thank you for reporting it. This is fixed in the latest alpha.
This version have some unfinished work, it works fine, but the talents switch frame does not support pvp talents.
Cheers, thanks for your work!
So this is a fantastic start to a spec change addon!!! im currently using this over the only other one that i like (spec+) simply and only because spec+ doesnt include a loot spec change. HOWEVER, i will say that you may try to integrate options into one package, as spec+ uses less than half the memory. Addiontally... to make this a true and complete spec change addon (the only one, cuz i havent seen any others that have a full feature set) you should consider adding talent profiles per specs. It would obviously increase the memory usage a little, but well worth it to have an addon that is truely one-click spec change that changes spec, gear set, loot pref, AND an assigned talent profile for that spec. Make it happen!!! Fantastic addon otherwise though.
I am actually working on the Quick Talents switch panel. But while I was hacking into it an idea pop into my mind, "Why not making talents profiles". :)
So, yes this will happen, but we are too close from Legion for me to give an eta. And it will require testing to switch talents fast and safely.
As for the memory usage, options are already separated from the main addon, but the strings are loaded with the main one. And when the addon load it gathers the information it needs, so it uses more memory but less cpu as it did not have to gather those info every time they are needed. The more I add, the more mem it will use, v1.0.0 if I recall was using 80KB, now it uses 110KB with the talents switch frame.
And, thank you. :)
Cool beans. good work, and thanks for doing it! i look forward to seeing a talent profile option. and thanks for the response =)