Polmonitor GE

This is Gaff's ever so slightly modified version of the Polmonitor addon.

Here's the deal:

99+% of the credit for this mod goes to Polina, see: PolMonitor, he seems to have left the scene so I've fixed a couple of bugs and added a feature I wanted. Ideally I don't want to be forking this project and I'm more than happy to merge my changes into the main addon (or not) based on whatever Polina thinks if he turns up In the meantime as long as I'm using this addon I'll upload any fixes I make.

Original Details from Polina
============================

This addon helps you make sure you have all the buffs you should have, that your target has the debuffs it should have, and that you're using your spell and item cooldowns as often as possible. It does this by letting you set up monitors for the buffs, debuffs, spells/skills and items you're interested in. The monitors appear visually as standard action buttons on the screen.

When everything is ok (you have the monitored buff, your target has the debuff, the cooldown is running, ..) the corresponding button is faded out. When something is missing or the cooldown is up the button becomes fully opaque, signaling that something needs to be done. Buttons that represent skills/spells/items you have can be clicked to trigger the appropriate action.

Use /polmonitor to configure.

Here's my changes

1.1.GE.9
--------
- Corrected the set of included libraries so it actually works with 3.3
- Buff / Debuff monitors now show stacks if there is more than one by default.

1.1.GE.8
--------
- Updated .toc file to be 3.3 compatible. AFAIK there are no 3.3 (or 3.2) specific issues for this addon.

1.1.GE.7
--------
- Removed CyCircled support (obsolete)
- Added new LibButtonFacade support. I've noticed a few bugs, if you toggle the "Polmonitor uses LibButtonFacade" option it doesn't take effect until you reload. New groups may not inherit sensible LBF defaults. Buttonfacade settings are stored by group name, not by profile. I think this is a Good Thing (tm) since it allows you to manage your LBF settings tangentially to your profile settings. If you want the same LBF settings accross profiles then name your groups the same, if you want different then name them differently. I'd like the whole addon to work more like this.

- Upgraded to the latest ACE addons (r803)
- Modified AceDB so that it learns to switch settings with your spec.
(NB: This means all your ace addons will have the ability to change with your spec, I personally think this is a great feature but if you hate it then please flame me)

1.1.GE.2
--------

- Dogtag editing is now multiline (phew)
- Dogtag labels on buttons (want your button to show how many scortch stacks are up? Now you can).

1.1.GE.1
--------

- Fixed bug with showing other people's buffs caused by 3.1.2
- Added support for DogTag buttons.
- For a v. quick example of dogtags, try entering "[HpPercent<25]", the button will become enabled when you are low health.

ToDo
----

- Add bars to the buttons like with buttonbar addon.
- Configuration GUI is getting a bit ugly. I'm sure it can be done better.
- Add sounds and flashing.

I have been having issue with adding dogtags to Hammer of Wrath enable/disable option.
I am not sure what code to add to dogtags under dogtag edit box for Hammer of Wrath which checks for if my target's health is 20% or below. When ever i did add something, it started to write the code results in my chat box such as:

Originally posted by Gogusrl I can`t seem to figure out how the auto switch when you change your spec works.
I thought that I configure it for one spec, change spec and then configure it for the other spec as well but I didn`t work and I didn`t see any options related to this or found any information besides your changelog

So ... how do you do it ?

You make different profiles, and AceDB will remember which profile you had selected for each spec.

I can`t seem to figure out how the auto switch when you change your spec works.
I thought that I configure it for one spec, change spec and then configure it for the other spec as well but I didn`t work and I didn`t see any options related to this or found any information besides your changelog

Wow lots of catching up to do. Thanks for the input. I'll reply with broad points:

- Dogtag performance isn't great. You can do pretty much anything with it, but it might cost you fps. Using the dogtag label to do cooldowns is going to hurt performance. Also Dogtags don't update very often (every 0.2 seconds I think) which can cause your buttons to seem slow to update.

I believe the Putbull guys (who pioneered dogtags) have similar issues and were thinking of coming up with a replacement.

- 'All' Polmonitor does is allow you to place regular buttons wherever you like, and allow you to overide:
- The cooldown timer (to show the cooldown of a spell / buff / debuff ) instead of what the button would usuall show.
- The Enabled / Disabled state (and the fade level associated with it)
- The label on the button.

I'm simplifying here, but my point is that OmniCC, multiple fade levels, hotkeys, custom textures, and all this sort of stuff are out of scope as far as I'm concerened. There are other mods that do this better IMHO.

Some things you can do, e.g. a shadowbolt button that shows the cooldon on shadow embrace:
1. Create a debuff button, set the debuff to shadow embrace.
2. Set the target of the button to 'target' (or maybe 'focus').
3. Change the spell of this button to shadowbolt.

Simple, and no need to mess around with dogtags so no adverse performance issues. A banish timer would work the same way.

Originally posted by oldvamp sorry about that i was in a rush and pasted in the wrong place ^_^
It would be like tracking the banish or fear time remaining
[AuraDuration("Shadow Embrace", unit="target"):Truncate(4, nil)]

That works, but the update time is awful, or it seemed to be in my testing on target dummies. It would frequently go negative four or even five seconds before updating, so the display would look like -4.3 or even -5.4 before it updated, and it didn't update when the timer refreshed. This struck me as a bit odd. Is this something to do with the addon itself, or the way DogTag updates? I noticed that if I intentionally untargeted the mob, then retargeted it, it would refresh. /dogtag only gives info on syntax within DogTag, and it didn't seem to have any configuration options there at all. I wonder how to force an update without losing my target, and thus, time I could be doing damage.

Originally posted by oldvamp I don't think there is currenty a dogtag function to return cooldown time, maybe that could be added in the next version

Possibly. I'd be designing my own addons if I had any talent in the area, trust me, I've tried. And if I could do that, I'd likely make a flexbar clone that worked similar to this one. If I'm not mistaken, it seems as if it creates clear buttons, then adds a texture which it can then manipulate. The button itself doesn't have a texture. The DogTag label, however, shows up as long as there is data to display. Such as: If I have a target, my Drain Soul will display it's health, regardless of my combat state. The SpellCooldown buttons will show the whirlygig for the global cooldown in what appears to be empty space whenever I trigger the global cooldown, again, regardless of my combat state.

There are some other interesting artifacts, such as: I get the textures for one group's buttons when I enter combat (This seems to happen when the missile is only around halfway to the target.) , but I get another group shortly after the missile actually does damage. Then, I get yet another bar when I actually cast a spell, or retarget. I have no idea why this happens. I understand that retargeting forces an update, but why do I get my "bars" at separate times?

Originally posted by oldvamp as for bindings, I don't think this addon wasn't originally meant to be a bar replacement, but a display of what needs to be done. think dashboard the speedometer doesn't control the speed it just displays it.

I think that the fact that it produces a clickable frame (Button?) that displays the information it displays makes it viable as a barmod, if only you could hotkey it. I'm one of those undecided folks who clicks 25% of the time, and uses hotkeys 75%, and I find it useful to be able to do both at times of stress, like ... when something is beating on me that I wasn't expecting. I need to hit my "Oh sh!t!" button, but it's not in my normal hotkeys, thus I reach over to the button that has just appeared, and click it. I don't really want to use it instead of my normal barmod, just in addition. At least in it's current incarnation.

As for a speedometer, I've got, say... ClassTimer for that. I already know that the spell is there. I know what it's duration remaining is. What I want is a usable (clickable?) portion of my interface that displays the same data, and is configurable to display it in whatever way I want. Far too much to ask, I know. Cnc (Developer of Flexbar) gave up trying before WotLK came out, for whatever reason, and it seems as if nobody else is trying to do the same thing. Blizzard has made it difficult to do, probably because they don't -want- us to do things that way. /endrant

Either way, I've been able to get a lot of the way I used to do this interface back using this addon. It's different, and I can't get it quite the way I want, but I can get things close. (I haven't played this char since Flexbar stopped working.) Does anyone possibly know a different addon that might get me closer?

Originally posted by Mantioch
This didn't quite work due to the syntax
Is there a way to make it display duration?

sorry about that i was in a rush and pasted in the wrong place ^_^
It would be like tracking the banish or fear time remaining
[AuraDuration("Shadow Embrace", unit="target"):Truncate(4, nil)]

I don't think there is currenty a dogtag function to return cooldown time, maybe that could be added in the next version

as for bindings, I don't think this addon wasn't originally meant to be a bar replacement, but a display of what needs to be done. think dashboard the speedometer doesn't control the speed it just displays it.

Originally posted by oldvamp
this is how I track my cc
make a button group for CC
add the cc twice, one for target, one for focus
in the label
banish
[AuraDuration("Banish", unit="focus"):Truncate(4, nil)]
banish
[AuraDuration("Banish", unit="target"):Truncate(4, nil)]
fear
[AuraDuration("Fear", unit="focus"):Truncate(4, nil)]
fear
[AuraDuration("Fear", unit="target"):Truncate(4, nil)]

I think you missed what I was going for, and after thinking about it, what I want in this case seems ... well, unlikely. I was looking to be able to configure the appearance of the cooldown count (I think you thought I meant Crowd Control). Since OmniCC attaches the number to the cooldown frame (This is a guess.) you would have to not call the cooldown frame to get cooldown information. Then you'd have to make a separate way to track cooldowns, then add to the GUI the ability to configure said cooldown. When I say cooldown, I really mean the number that appears on top of the button when it's counting something, that being either a cooldown or a debuff duration, or whatever else this addon monitors.

This didn't quite work due to the syntax (Gave me a syntax error on the button.) I was able to get it to display the number of applications of Shadow Embrace, but not the duration left, which is what I ultimately want. The way I got it to display the applications was to input [NumAura("Shadow Embrace", unit="target")] . The parens were just in the wrong place. Still, you pointed me in the right direction. Is there a way to make it display duration? I didn't see it in the DogTag syntax.

I'm hoping that you are possibly able to help me with some of my other questions in the future, though I suppose many of them seem to be wishful thinking. (Or veiled requests for further functionality.) Thanks for the help with the Shadow Embrace, I'll do that. Graf doesn't seem to have posted on this addon in nearly a month, I'm hoping he hasn't dropped it too. This seems, to me, to be the closest thing I can get to the now defunct Flexbar, which I used quite a lot back when it was working. I suppose I'm just looking for that kind of functionality and customization. Unlikely I'll find it, but I'll keep trying to get many addons to do the work that one did for me.

Originally posted by Mantioch
-OmniCC like timers, without relying on OmniCC, and therefore configureable independent

this is how I track my cc
make a button group for CC
add the cc twice, one for target, one for focus
in the label
banish
[AuraDuration("Banish", unit="focus"):Truncate(4, nil)]
banish
[AuraDuration("Banish", unit="target"):Truncate(4, nil)]
fear
[AuraDuration("Fear", unit="focus"):Truncate(4, nil)]
fear
[AuraDuration("Fear", unit="target"):Truncate(4, nil)]

I'm using PolMonitor GE on my leveling Affliction Warlock, and other than a few little things, it's been really helpful.

Just to give an idea of my setup: I'm using a great deal of addons, (At least, it seems that way to me) so I have -not- disabled them all to see if there's any messed up interplay there. I'm also fairly certain that there is no clashing going on. I'll list the addons I'm using in the error message I get sometimes from one of the issues I'm having. I'm pretty certain that the cooldown/duration number comes from OmniCC, though I'm not 100% sure. The shaded clock timer also appears; this is, I think, built into the addon.

My spells follow the checkbox options and for fade in/out, and I'm not really sure what the "usable" option in the dropdown there does, so I'm not sure if that's not working, or needs to be configured somehow. I'm not sure what the 'color' option does, either, as I have been unable to make it do anything. Perhaps I need to set a color using DogTag? I know nothing of DogTag, and thus am not using that functionality at all. I am also not using LibButtonFacade to my knowledge. (Though I'm thinking about it.)

I've been unable to figure out how to make the Shadow Bolt icon show the duration remaining on the debuff Shadow Embrace.

I was wondering if it was possible to hotkey the buttons that PolMonitor creates. I've been thinking of using something like Macaroon to make invisible hotkeys, but that seems like a bit of unnecessary work (And memory usage) if this addon can already do it, or is easily modify-able to do so.

I've noticed that Debuffs fade out automatically if there is no target, whereas spells do not (Offensive or otherwise). Again, this may all be me not using this correctly. (By automatically, I mean without any of the checkboxes or dropdowns configured.)

It'd be useful to me to have spells and debuffs fade in partially if I have a target (configureable via slider?) and fade in completely in combat. I don't currently see a way to do this, am I missing it somewhere?

Due to not really knowing what the usable dropdown functionality is, this may be a moot point, but is there a way to have the buttons not fade in while targeting a friendly target, or one upon whom you cannot cast spells? (I'm aware that it already checks range and mana levels.)

Is it possible to have spells fade in when -not- in combat, say food, resurrection spells, and other things you don't do in combat? Is this the Invert checkbox's function?

There seems to be a slight delay (as should be expected) between a monitored action "falling off" (say, Cleansed) and the timer/button displaying that this has taken place. Is it possible to change the update cycle, or would this be too memory (and code?) intensive?

I'd like to get Life Tap and Dark Pact and mana potions to fade out gradually if I'm becoming full on mana, bandages and health potions when I'm becoming full on health. I have a feeling this is a DogTag thing, assistance here would be helpful.

Bandages seem to act oddly, or I am configuring them incorrectly. I am unable to get the self debuff to monitor, and it seems as if it always self casts (Which I found really odd, if handy). This is the only instance where I think that I may be having an addon "clash". (Dominos, perhaps?)

While searching the previous posts for information, I was able to find out a little bit about DogTag, and set up my Drain Soul to the specifications that oldvamp suggested. Is it possible to change the font on the output of the label?

I use an addon called DrDamage which outputs information about the damage or healing a spell will do given your current talent and gear setup. This does not show on the buttons created by PolMonitor. Why is this, and is it possible to change this if I find a need to?

If I click on the "Clear equivalens" button within the options menu (little spelling issue there, perhaps the problem?) I get an error:

While I'm not yet using the Equivalents fuctionality, I was hoping to use it for curses, and the idea of having to redo everything if I make a typing error, or mistakenly input the wrong debuf... Well, I haven't taken the plunge yet (The only way I was able to clear it the first time I used it was to reset the profile).

Other than those little things, this addon seems to be working great.

Some feature requests:

-Make the checkboxes and dropdowns have the possibility of being global, grouped, or single. Say, I want all of this group to fade in/out on entering combat.

-Hotkey functionality would possibly be handy.

-A GUI that is separate or separable from the game Interface panel, so I can do things in the center of the screen without loading and closing and reloading the options menu. I'm aware I can get an additional addon to let me move that, but I'm trying to keep memory usage as low as possible, while retaining the functionality I want. (Funny, when you look at how very many addons I run.)

-Multiple fade points, configurable to different events.

-OmniCC like timers, without relying on OmniCC, and therefore configureable independantly.

I know that this is a rather long and disorganized group of things to ask, and I both appologize to and thank those who are able to assist me (Or even make it through the post! TLDR FTW?). I really do find the current functionality of this addon to be remarkable, and will likely find ways to use it on my other toons. Thanks to both Pol and Gaff for the contribution to the community.

With respect,

Mantioch

PS.

I discovered a very strange and completely unrelated thing while muddling my way through configuration of this. Was anyone else aware that you can get Soul Shards from Training Dummies? Sometimes even multiple during one cast. Sure to be fixed in the future.