|Go to Page...|
ChronoBars allows creation of custom bars to track specific buffs and debuffs, spell and item cooldowns, totems, spell and item usability, weapon enchants and weapon swing times. Groups of bars can be moved anywhere on the screen. A group can include any number of bars each tracking different types of effects. Every bar is fully and separately configurable.
I don't have much time lately, and I haven't updated the entire guide below for version 2.0. The configuration process is different now, due to window based configuration, but I guess you can still figure stuff out if you read through the old guide.
- Configuration is now window based. No more tedious mousing through the endless levels of context menus!
- Profile settings moved to global configuration panel (Interface -> AddOns -> ChronoBars).
- Each bar can now have an unlimited number of text widgets, with custom text format. There are built-in text presets included for your convenience.
- Much improved flexibility in positioning of icon and text inside and outside the bar.
- New options for text shadow and outline
- Minimap button (can be disabled in global config)
- unlimited number of groups
- unlimited number of bars in each group
- track buffs and debuffs
- track DoTs and HoTs on multiple units
- track multiples of the same buff (e.g. two Berserk)
- track spell, item and internal cooldowns
- track spell and item usability
- track totem duration
- track temporary weapon enchants (rogue poison, shaman weapon buffs)
- track melee swing, hunter's AutoShot or wand Shoot spell
- track custom duration triggered by a spell cast (e.g. Mirror Image, DnD)
- support for multiple effects on the same bar with a comma-separated list
- support for SpellID and ItemID
- support for summing aura stacks from all casters
- support for fixed maximum bar time
- support for profile switching (link spec to profile, switch automatically)
- smooth bar animations (slide up, down, blink, fade out)
- controllable bar layout (keep bar positions, stack active bars)
- easily accessible configuration with overview of all bars and groups
- move bars and copy/paste settings between them
- LibSharedMedia support for bar textures and fonts
- pixel-aligned graphics when full-screen or maximized (1px border is exactly 1px)
How is this different from other such addons?
I am aware of other similar or very similar addons, and indeed, they were a direct inspiration for this addon. However, I felt each of those lacked something. Either the number of bars or groups was limited, or the groups wouldn't grow and shrink, leaving gap between bars, or I couldn't put a buff and a debuff in the same group, or I couldn't track something on my target and something on my focus in the same group, or I couldn't track effects of different types on the same bar. ChronoBars allows all that and is designed to have as little restrictions as possible.
Also, ChronoBars is highly configurable in the way the bars work. They can move from left-to-right or right-to-left, they can fill up instead of deplete, you can swap the position of text and time or the side the icon is on. Pretty much you can invert the whole bar if you want. Configuration is simple and intuitive, you can move the bars up and down the group once configured and copy settings from one bar to the other so you never have to reconfigure twice just because you changed your mind about positioning of a bar.
Finally, I use these bars a lot, my raiding experience depends a lot on how they work, so I wanted to make an addon of my own that works exactly the way I want, with a codebase that I understand and can easily tweak whenever necessary. If other people find it useful too, that much better.
Creating groups and bars
Initially ChronoBars will be in "run" mode. To unlock configuration type the /chronobars or /cb command into the chat window. By doing this, ChronoBars will switch to "design" mode, where you can configure everything you need. One single bar will show up in the center of the screen. To configure it right click the bar.
A context menu will appear with lots of options. To create more bars or a new group, move your mouse over the New submenu, and select Bar or Group option. A new group is always created with one bar in it and will show up at the center of the screen. Settings are automatically copied from the current bar or group when the new one is created.
Changing size, spacing and padding
These three properties apply to all the bars in a group. To access these settings, right-click a bar and open the Group settings submenu. There you will be able to change bar width, height, spacing between bars in the group and internal padding of bars from their edge.
Tracking buffs and debuffs
To define the effect that you want your bar to track, right click the bar you want to use and choose the Effect name... command. A window will pop up asking you to enter the name of the effect. You need to be very careful with capitalization and enter the precise name of the buff or debuff. Alternatively, if you know the spell ID of the effect, you can enter that instead.
Buffs and debuffs are collectively known as "auras". To track a buff or a debug, right click the bar you want to use, open the Effect type submenu and choose the Aura option. The menu will close to update its contents.
Right click the bar again and open the Aura Settings submenu. In order for the addon to perform as efficiently as possible, you need to be very specific about what type of aura you want to track. Select Buff or Debuff in the Aura type submenu, then select the unit you want to track in the Unit to monitor submenu.
It is possible to track multiple auras with the same name, such as Berserk proc from two different weapons. To achieve this, create two bars with the same settings, then on one of the bars open the Which when multiple menu in the Aura Settings and select the option Second instead of First. You can track up to five instances of the same effect this way.
You can limit tracking to only the auras that you cast by selecting the option Only if cast by self. If you want the bar to show the sum of the aura stacks on the unit from all the casters select the option Sum stacks from all casters.
Groups can be freely dragged around the screen with mouse in design mode. When this is all set, use the /cb command again to switch back to the run mode and you are done.
Tracking DoTs and HoTs on multiple units
You can track an aura on multiple units at the same time by setting the effect type to Multi Aura. Note that the Multi Aura settings menu doesn't include the unit to monitor, because it doesn't need to. The aura matching the given effect name will be automatically tracked on any unit as soon as it is detected. New copies of the bar with the same appearance will be created automatically for every unit, and the text on each bar will show the name of the unit with the aura.
Due to the limitations of the game itself, the duration of auras can only be monitored on a small set of specific units, namely your target, focus, pet, members of your party, their targets or the unit under your mouse. However, that doesn't stop ChronoBars from remembering where an aura was detected and continuing to keep track of it.
Sometimes ChronoBars will detect the presence of an aura on a unit, but will not know the exact duration of it. If you still want the bar to show up in such cases, you can use the Estimate Duration setting to specify a starting time to apply to the bar. Of course, ChronoBars will update the bar with the exact duration as soon it become available.
Keep in mind that for a single target a regular Aura bar will still be more CPU friendly.
To track cooldowns, input the name of the spell or item you want to track and change the effect type of the bar to Cooldown as described above. Again for performance reasons you need to be very specific about what you are tracking. Open the Cooldown settings menu and choose Spell or Item.
Note that the word "CD" has been appended to the name of the item or spell that you entered. This is to let you know that a cooldown is being tracked rather than a buff or a debuff. If you wish to disable this, right click the bar, open the Style submenu, then Show submenu and tick off the CD option.
Tracking internal cooldowns
When you want to track internal cooldown of a "proc", what you really want to be tracking is the appearance of an effect that it triggers. Every weapon, trinket or enchantment proc will put a buff on the player when it activates. Often, some players would test the behaviour of the item and figure out the duration the effect is being prevented from triggering again by the game. This is known as "internal cooldown" of that effect. Note that internal cooldowns are never exposed by the game normally and are just a term that players have come up with.
To track internal cooldowns you need to set the effect type of the bar to Custom, then set the duration in the Custom settings... submenu, and change the Trigger setting to Another bar activated. You need to set the effect name to the name of an effect that is being tracked by another existing bar. Whenever that other bar reactives, the internal cooldown bar will be triggered. You can specify multiple effect names or IDs by separating them with commas, to trigger the same internal cooldown from multiple sources.
To track usability of a spell or an item, you need to set the effect type of the bar to Usable, and then select either Spell or Item in the Usable settings menu. Note that the effect name has the word "Usable" appended to it. To disable this, you can tick off Style-Show-Usable option.
By default the usability check will include the cooldown of the spell or item, meaning that it will not show up until the item is both usable and off the cooldown. To toggle this behavior use the Include cooldown option in the Usable settings menu.
You can track totem durations by switching the effect type of the bar to Totem. Again for efficiency reasons, you need to be very specific, so open the Totem settings submenu and choose Fire, Earth, Water, or Air.
This will make your bar track the remaining duration of the specific totem matching the effect name that you entered. Note, however, that if you want to track the cooldown on the casting of a totem such as Earthbind totem, you need to track the Spell Cooldown of the same name instead.
Tracking weapon enchants
To track temporary weapon enchants such as rogue poisons or shaman weapon buffs, set the effect type to Weapon Enchant. Then open the effect settings submenu and choose either Main Hand or Off Hand.
The bar will normally only track the enchant matching the given effect name. This allows you to create multiple bars with different appearances for different enchants on the same weapon. If you still want a single bar to track any weapon enchant, set the effect name to blank (delete the effect name contents) and the bar will show up for any enchant on the given weapon slot.
Tracking weapon swing, AutoShot, Shoot
To track these effects set the effect type to Auto Attack. Then open the effect setting submenu and choose either Main Hand, Off Hand, Wand or Bow/Gun.
The bar will be triggered every time you swing with your melee weapon or shoot with your ranged weapon and track the estimated duration until your character will swing or shoot next time.
Tracking custom duration after spell cast
Some effects cannot be tracked normally, because the game itself doesn't give the player any clue on the duration of the spell (e.g. there is no buff on the player or debuff on the target). Examples of such spells are Mirror Image and Death and Decay. However, the description of the spell does tell you the duration of the effect.
To be able to track it, set the effect type to Custom, then open the Custom settings... submenu and set trigger option to Spell cast successful. Set the effect name to the spell that triggers the effect and the Duration... option to the time given in the spell description. The bar will be triggered every time the given spell is successfully cast.
There are three ways you can set the group to lay out the bars when in run mode. To access these settings, right click any bar in the group, open the Group settings submenu, and then the Layout submenu.
Keep bar positions
This option will keep the positions of the bars exactly where they are in the design mode. For instance, if only the first and the third bar are active, there will be a bar-height gap between them. If you want to know exactly where on the screen to look out for you bars, this is the option for you.
Stack active bars
The group will grow and shrink as the bars in it become active or inactive. For instance, if only the second bar in the group is active, it will instead appear at the position of the first bar (the bottom of the group). If shortly after the first bar becomes active, the second bar will move up to make room for it. This option is best if you want to make your groups take the smallest amount of screen space possible at any time. Note that you can change the direction in which the group grows via the Grow direction submenu.
Show first active bar
This will hide all the bars in the group except the first active bar in the group's growth direction. For instance, if the first and the second bar are active, only the first one will be shown. If the effect of the first bar goes off, the second bar will appear in its place.
This option is best when you want the appearance of one bar tracking multiple effects. An example of use could be a bar tracking both the buff proced from a trinket and its internal cooldown. By setting the internal cooldown onto the second bar, it will only be shown after the buff of the proc wears off.
Resetting if you mess up
If you ever happen to mess up and none of your bars are visible on the screen and you can't get to the configuration menu, you can reset the whole profile with the /cb reset profile command. If you want to only reset the position of the groups back to the center of the screen, you can use the /cb reset groups command.
By default, ChronoBars updates the state of the bars every 0.03 seconds which gives you roughly 30 frames per second. ChronoBars has been implemented with efficiency in mind, however, if you feel like its taking too much of your CPU power, you can easily increase the update interval to something larger by issuing the following command:
/cb update [interval]
where [interval] is the time between updates in seconds (of course you can use decimals).