Jump to content


Photo

[Addon] Puffin: Track Buffs, Debuffs, Cooldowns

Addon

  • Please log in to reply
138 replies to this topic

#1 Tomber

Tomber
  • Guests

Posted 17 August 2013 - 02:58 PM

*
POPULAR

Puffin is a buff, debuff and cooldown tracking addon that features bar, icon and timeline configurations. Buffs and debuffs can be monitored on player, target and alt-target units. Cooldowns from both spells and items can be tracked. Puffin includes lots of appearance customization options to help you set things up the way you like.

[attachment=538:BarGroups.jpg][attachment=540:BuffIcons.jpg][attachment=925:PuffinCooldownTimeline.jpg]

First the caveats...

This early release of Puffin has quite a few limitations. For example, it has internal support for filtering with black lists, white lists, and by time status (e.g., "duration < 30 seconds") as well as for sorting based on spell name, time left, and duration, however the configuration dialog does not yet allow changing filtering or sorting options from their defaults. Also, the game's API does not support filtering by caster so Puffin does not currently provide the highly desirable "monitor my debuffs on the target" bar group. The API provides limited support for detecting changes to buffs, debuffs and cooldowns and this means that Puffin uses more CPU resources than it will when requested API features become available.

Installation

I highly recommend using MissionControl to install Puffin. I also suggest installing the CastBarRelocated addon by Viper and using its option to hide the default player buffs and debuffs.

[attachment=539:InstallAnchors.jpg]

When you first install Puffin, you will see five default anchors. These are for cooldowns, player buffs and debuffs, and target buffs and debuffs. Player buffs are shown as icons up near the minimap. The rest are shown as bars in a somewhat HUD-type arrangement. You can drag the anchors where you want them. Each anchor has three buttons. The left-most button toggles test bars or icons so you see how these will be arranged. The middle button hides the anchor (the bar/icon group remains enabled). The right-most button toggles Puffin's options panel for the specific bar group, icon group, or timeline associated with the anchor.

Configuration

The main configuration panel for Puffin can be brought it with the "/puffin" command. This panel currently has three tabs plus placeholder options for Fonts. The first tab provides toggles to enable/disable the built-in bar and icon groups. This set will change over time (especially when "filter by caster" becomes available) but there should be enough to get you started. This first tab also provides buttons that let you show or hide all the anchors for the currently enabled bar and icon groups. The "guides" button toggles display of little red lines shooting out of each anchor that can help with anchor alignment.

[attachment=829:PuffinShowOptions.jpg][attachment=909:PuffinColorsOptions.jpg][attachment=908:PuffinBarsOptions.jpg]

The second configuration dialog tab allows you to modify the colors that are used for bars in bar groups. You must have the ColorPicker addon, version 0.3 or newer, installed in order to change colors. Enter a spell name and then click on the associated color swatch. The spell icon that appears when you enter a spell name is there to provide feedback that the name was recognized correctly. The color scheme settings let you select which colors to use for bar foreground and backdrop.

The third configuration tab lets you select the bar texture you want for the foreground in bar groups. You can also choose whether to use the same texture for the bar backdrop, use the Flat texture, or show no backdrop texture at all.

 

The Fonts tab lets you select the font and font size to use. Currently this is a placeholder since font options will eventually be associated with individual bar and icon groups.

Customization options for individual bar groups, icon groups, and timelines are brought up by clicking on the Configure button on their anchors. You can adjust dimensions and layout for each group and you can turn on/off tooltips (i.e. click-through).

[attachment=919:PuffinBars.jpg][attachment=920:PuffinIcons.jpg][attachment=921:PuffinTimeline.jpg]
Good luck to all who decide to give Puffin a try!

Updates

Version 0.9 updates to the latest beta API 6.

[attachment=2468:Puffin-0.9.zip] February 7, 2014


  • djfdat, Packetdancer, Malisent and 26 others like this

#2 ScruffyHealer

ScruffyHealer
  • Guests

Posted 17 August 2013 - 04:10 PM

Thank you for this, I love it, however, it doesn't seem to track the cooldowns of abilities that have charges, such as Bolster, Mirage, Concentrated Blade. I would also like to see an option to add sound effects to cooldowns/buffs/debuffs (when you receive them or when they are about to expire) in future releases. Keep up the good work.



#3 Packetdancer

Packetdancer
  • Guests
  • LocationSeattle, WA

Posted 17 August 2013 - 04:32 PM

This is nicely done!


  • Screaminboutnot likes this

a.k.a. Paksara "Pax" Phillips (Exile Spellslinger/Explorer)

Member of the Nexus Addon Standards Association


#4 Tomber

Tomber
  • Guests

Posted 17 August 2013 - 05:34 PM

Thank you for this, I love it, however, it doesn't seem to track the cooldowns of abilities that have charges, such as Bolster, Mirage, Concentrated Blade. I would also like to see an option to add sound effects to cooldowns/buffs/debuffs (when you receive them or when they are about to expire) in future releases. Keep up the good work.

Cooldown detection for abilities with charges can be somewhat challenging with the current API. The spell function GetAbilityCharges returns enough info to know the spell is recharging, along with remaining and max charges, but it returns recharge time as a value between 0 and 1 rather than the number of seconds remaining. I'll try to rig up something with timers to measure duration but this is another example where a bit of API love would go a long way to help an addon writer out.

 

Sounds for start/expire alerts will definitely be included (as they are in my WoW equivalent Raven). I am looking hard at making them convenient to configure so they actually get used.


  • ScruffyHealer likes this

#5 Tomber

Tomber
  • Guests

Posted 17 August 2013 - 09:04 PM

Version 0.2 adds cooldown detection for spells with charges. These cooldowns always display a count on the icon, which helps distinguish them from other cooldowns. The count is the same as the number of remaining charges that shows on the action bar button (this is also how it works in Raven for WoW's charge-based spells).

 

It was not too tricky to figure out the recharge duration. Anyone else wanting to do something similar can look at the code for function GetSpellCooldown in the Model_Cooldowns.lua file. Just a bit of caching and calculating...


  • ScruffyHealer likes this

#6 seltron

seltron
  • Members
  • LocationNorthern Virginia

Posted 17 November 2013 - 04:02 AM

Is Tomber around to update this one? :D



#7 Tomber

Tomber
  • Guests

Posted 17 November 2013 - 06:53 AM

I have it mostly working in CBT4 with Puffin now showing ability cooldowns and buffs correctly on my medic. I need to level a character high enough to get an ability with charges so I can test that code (looks like Esper gets Concentrated Blade with two charges and 10 second recharge at level 4, in case anyone else is doing something similar). I also have a thread going in this forum about API changes and I am using the Puffin code to find undocumented changes to the API. Sometimes this is done the hard way: Puffin version 0.2 (for CBT3) crashes because they changed how you get class innate ability spell info.

 

During the break, I added a bunch of code for timelines (basically a way to display icons sliding from right to left across a backdrop bar as they count down timers). This code is currently untested. I'll probably go ahead and release a version for CBT4 in the next day or two with the timeline code not yet linked into the configuration.



#8 seltron

seltron
  • Members
  • LocationNorthern Virginia

Posted 17 November 2013 - 07:04 AM

Awesome stuff, can't wait to test! ;)



#9 Tomber

Tomber
  • Guests

Posted 17 November 2013 - 04:37 PM

Version 0.3 for CBT4 is available in the first post in this thread. It seems to work well enough to get it out to other people to test. I haven't been able to find out if Carbine added new events yet so there is still a fair amount of polling overhead. My focus for this release was mainly to get it working again, not add new features or improve performance. Let me know if you spot issues (and especially if you see the Lua error window pop up)...  



#10 Packetdancer

Packetdancer
  • Guests
  • LocationSeattle, WA

Posted 17 November 2013 - 05:46 PM

Aw. It's not up-to-date in the git repository. I actually have to download a zip instead of just git pull? ;)

a.k.a. Paksara "Pax" Phillips (Exile Spellslinger/Explorer)

Member of the Nexus Addon Standards Association


#11 Tomber

Tomber
  • Guests

Posted 17 November 2013 - 06:05 PM

Lol, I just pushed it to the git repository. I got a bit distracted with a last minute fix and, well, you know what it's like...  :lol:



#12 Packetdancer

Packetdancer
  • Guests
  • LocationSeattle, WA

Posted 17 November 2013 - 06:30 PM

I got a bit distracted with a last minute fix and, well, you know what it's like...  :lol:

I have no idea what you're talking about.

<_<

*slinks away slowly*

a.k.a. Paksara "Pax" Phillips (Exile Spellslinger/Explorer)

Member of the Nexus Addon Standards Association


#13 Sinnermighty

Sinnermighty
  • Members
  • LocationToronto

Posted 17 November 2013 - 06:43 PM

Must have Scaling D:

 

This is huge for me by default :(


Sinnermighty | Stalker | DPS & OffTank

Blood Legion | Avatus | Dominion


#14 Tomber

Tomber
  • Guests

Posted 17 November 2013 - 08:26 PM

Must have Scaling D:

 

This is huge for me by default :(

 

I use a 1920x1200 24" display so that is what the default scaling is set for, sorry. I am currently staring at the Puffin configuration dialog in the Houston tool and plotting my next steps. I have a couple more experiments to run to figure out just how much customization I can offer (e.g., icon and bar dimensions, a selection of bar textures, different fonts) given the limitations of the API. It will probably take a week or two to implement and test the next set of options, just to set expectations. And I can't promise that I won't get distracted along the way since I am really enjoying the medic.  :)



#15 Sojiro84

Sojiro84
  • Guests
  • LocationThe Netherlands

Posted 17 November 2013 - 11:49 PM

Best addon ever! I like my buffs to be near my minimap. This is just what I wanted. Thanks for getting it to work again for the Winter Beta!



#16 Inambour

Inambour
  • Guests

Posted 18 November 2013 - 12:17 AM

OMG i jizzed in my pyjama, been waiting for such an addon the moment i logged into the game and couldn't see any buffs config menu!

 

Thx a lot for this.

+rep

/like

/thumbsup



#17 Dende123

Dende123
  • Guests

Posted 18 November 2013 - 02:30 AM

Just came here to say thank you :P

By the way do you know addons like e.g http://www.curse.com...omcooldownpulse ?
Do you think it is posible to create such a feature for wildstar aswell?
Would be much appreciated!!



#18 Tomber

Tomber
  • Guests

Posted 18 November 2013 - 07:18 AM

By the way do you know addons like e.g http://www.curse.com...omcooldownpulse ?
Do you think it is posible to create such a feature for wildstar aswell?
Would be much appreciated!!

 

Yup, it should be possible to create such an addon or even include the cooldown pulse feature in Puffin. Puffin is similar to my WoW addon Raven although it is an entirely new code base. Puffin's potential growth areas include just about anything you want to do with the player's cooldowns or any unit's buffs/debuffs. However, I don't plan to make it quite as customizable as Raven (if you have seen Raven's configuration panel then you know why) and instead focus on "ease of use" (Doom_CooldownPulse being a great example of an easy to set up addon: one specific purpose, single page of options).


  • Dende123 likes this

#19 Viper

Viper
  • Members
  • LocationHeavily guarded insane asylum

Posted 18 November 2013 - 10:52 AM

A few suggestions:

 

Make an option for icons to be transparent to the cursor, so the mouse just clicks through them, if you know what I mean.

 

When the time is less than 10 seconds add one decimal point for precission.

 

Obviously scaling and such would be nice, but I'm sure you'll get to that. :)


Follow my add-on development on my blog: http://wildstaraddons.wordpress.com or keep up-to-date by following me on Twitter: @Viper_TBA

 

I'm playing as Viper on Hazak (EU) - I'm a Chua Spellslinger, pew pew!


#20 Tomber

Tomber
  • Guests

Posted 18 November 2013 - 02:09 PM

A few suggestions:

 

Make an option for icons to be transparent to the cursor, so the mouse just clicks through them, if you know what I mean.

 

When the time is less than 10 seconds add one decimal point for precission.

 

Obviously scaling and such would be nice, but I'm sure you'll get to that. :)

 

Yup, these are options already built into the code but not yet available through the options panel. Currently I am thinking about a small configuration panel that you can launch from the anchor for a bar or icon group that will include things best set on a group-by-group basis plus a larger multi-tab main options panel for settings shared across all groups. I predict lots of fun in Houston...

 

On a related topic, as you are looking at options for fonts and maybe bar textures for your cast bar addon, it would be nice if we had something like SharedMedia to work with. I vaguely recall someone mentioning that addons could only access sprites in their own folders though, which could make a general solution problematic. In any case, some of the experiments I am looking at include testing how easy it is to change dimensions plus fonts and textures at run time and I'll be sure to share my results with you.





Also tagged with one or more of these keywords: Addon