shirsig / ccc

CC & DR timers for Classic (1.13) IMPORTANT: The folder name must be "ccc"
https://www.curseforge.com/wow/addons/ccc
27 stars 7 forks source link

bugs and suggestions #1

Closed 0ldi closed 7 years ago

0ldi commented 8 years ago

Hello again :) Primarily about bugs -Siphon Life debuff use wrong icon (Drain Life) -Added new skills without icons, I suspect that they are simply missing in addon :) -No depending on skill rank (so displayed based on the maximum rank), it is not so important but so bad for 1-60 lvling -When updating debuff that is not over, the timer is not updated (this is very critical). -Crowd control timers seems to work a little better but far from perfect 1e.g. Fear, Howl of Terror and other fears have one diminishing returns in pvp but addon not understand it 2e.g. If Fear resisted addon think that cast successful and show bar (and calculate D.R.) -Its not bug, but little uncomfortably that not all skills switch on in the Monitoring by default (need watch all list and ON them all) also be great if all game skills would be added in addon (so few buffs included) -Changing Width bars has no effect -Not sure what must to do the "Leading Timer" but I did not notice the effect when I change settings

Finally suggestions :D I use a package of addons for tracking: -my debuffs and crowd controls (I do not see the reasons for the separation into groups) Here can been added my procs (as is done in the chronometer) -all surround enemy buffs (your addon contains, so everything is clear) -all surround cooldowns (also very important to know CDs of enemy EFC, healers etc.) -all surround casts (yes i know about custom UI's target castbars, but if i fight versus many enemy need to know who and what casting without targeting them all All this 4 groups of bars contains in Chronometer+Antagonist. It's work fine but not calculate DR (for this i hold very uncomfortable with one list NaturEnemyCastBar) and have some bugs that no one fix because projects abandoned.

This is a dream, but how it would be nice if someone would merged all these functions in one addon :) This is like 40x40 ppl worst variant how I see the concept of addon. It may seem scary, but still informative, and pretty cool in smaller pvp http://imagehost.spark-media.ru/i4/16B8D2B2-9DF8-8CA1-1ACB-F1F9DE7FAF3A.png

shirsig commented 8 years ago

Hey,

siphon life is fixed.

You mean you added new spells? The newest version should have all icons for the ones that are tracked by default. Eventually I'll just remove that interface completely and simply add all spells in the game. If you're missing any just tell me what they are and I'll add them, including the icons.

The times do depend on skill rank, but it may not be implemented for every spell. Again, tell me if one is missing it and I'll add it. There is one limitation though. It will always use the duration of your highest rank available (hard to tell which one you've actually used).

As for reapplying debuffs, it is updated, but only for spells with a cast time for now (e.g., fear, sheep ...). For instants I'll have to implement a different method (don't think any other addon besides dotimer is doing that at all, and you either have to add a delay or accept that it will refresh the timer even if it missed/was parried etc to make it work, dotimer does it with a pretty big delay afaik).

The diminishing returns should be working in pvp, tested it for sheep at least (but afaik they're kinda bugged on kronos)

resisted fear should not show a bar if it's the first application. if it's a reapplication it does and this will be very hard to fix, probably impossible to make reliable without a big delay.

I know about the width. Haven't gotten around to implement that for the new bars.

Leading timers is an obsolete setting, doesn't do anything.

As for the suggestions. I was planning on making an addon that does all of that at some point but I've since abandoned that idea. First of all, the api in vanilla for tracking these various different timers is so inconsistent that there could be almost no shared code, so it doesn't make much sense from a development point of view to put them into one addon. Also for the display, I think it makes more sense to use icons for cooldowns (which tend to be longer) and bars for CC/debuffs, which are most of the time less than 1 minute. I've made a cooldown tracking addon for enemy and player cooldowns myself (https://github.com/shirsig/cooldowns) and it's what I'm using in combination with this. For casts I'm just using the one built into luna/enemyFrames.

0ldi commented 8 years ago

No icon for pal: -all paladin Seals -Divine Protection Maybe something else I do not know.

About reapplying, Chronometer do it for all spells.

About resist reapplying clear to me. But other example that if after Fear use Howl of Terror (or other fear effect) addon show full time, wrong calculate DR. Is this fixable?

Yea, i use luna too, but wanna see if the enemy is something casting for example behind walls, with all my enemies, not just Target :)

And two more thinks, Am i right that: -I can track a maximum of 5 buffs, 5 buffs and 5 cc? this is very small -It can not track with many targets using identical debuffs? for the warlock is unacceptable =(

shirsig commented 8 years ago

I'll fix the icons tomorrow. I guess chronometer must be doing the same as dotimer then, hooking into the useaction, usecontaineritem etc. functions. I think I tested it for necb and it wasn't reapplying.

I know drs aren't correctly shared at the moment, that's next on my TODO list for this addon. It's easy to do, I'd already done it for a different addon.

enemyframes shows casts of players other than the target (https://forum.twinstar.cz/showthread.php/105235-AddOn-enemyFrames).

Not sure if it tracks more but it definitely only shows that many. Also yes, it cannot track multiple instances of the same effect. Note that I did not develop this addon from scratch, it's just an old vanilla addon that I've started to modify a bit (fixing some bugs, some minor tracking mechanism improvements and most importantly the different bar style with icons). It has many limitations some of which stem from terrible coding and others are simply trade offs. You cannot make a debuff tracker that works optimally both for pve and pvp for example. As I understand it this addon originally started out as an addon only for rogues called stunwatch and even though it was extended far beyond that it is still mainly meant and optimized to track CCs (which generally can only be on one target anyway).

A notable difference from other debuff trackers and something I rather like is that the debuffs are by default assigned to fixed positions and will always show up there unless those are already occupied. By contrast I think the setup in your picture gives too much information and makes it hard to discern which bars are actually currently relevant (like say if you're a rogue and mainly looking for your ~3 stuns you need to keep track of to execute your stunlock, or if you're in a semi 1v1 situation in a bg and you only care about your target's cooldowns and not those of the 20 people zerging nearby).

edit: wait, about those paladin spells, do you mean they have no icon or aren't tracked at all? I don't think it tracks seals anyway. Maybe you've manually added them? Then they wouldn't have icons of course.

0ldi commented 8 years ago

I mean this: I'm not saying just ask, what about tracking usable items, such as engineer reflectors, there are icons for them? (I can not check right now).

Yes, I understand that too much information (even for me), but mostly it's useful for the battles from 1x1 to 15x15 on the BG and worldpvp. Switching tracking from Any Enemy to Current Target also supported in Antagonist for rogues comfort. And Chronometer shows only your debuffs.

Never mind, probably just CCWatch need for certain classes, and I just hoped the ideal addon for tracking all, but it seems impossible dreams :)

In fact Antagonist perform my needs by 99%. Chronometer: -does not calculate the duration of the controls in pvp, -shows debuff Bar, even if spell went into the resist \ imun, -shows for one, if the monsters with the same name (unlike DoTimer) I do not know anything about coding, do you think any of these problems at all possible to fix? hypothetically

shirsig commented 8 years ago

Are you sure you haven't manually added those spells? Only these should be tracked by default:

-- Paladin
CCWATCH_HOJ = "Hammer of Justice"
CCWATCH_TURNUNDEAD = "Turn Undead"
CCWATCH_REPENTANCE = "Repentance"
CCWATCH_DIVINESHIELD = "Divine Shield"
CCWATCH_BOPROTECTION = "Blessing of Protection"
CCWATCH_BOFREEDOM = "Blessing of Freedom"

If you add items manually they won't have icons. Of course I could add an icon mapping for names of spells which aren't tracked, but then I might as well just add the whole spells which is why I'm gonna remove the interface to manually add them and just try to add everything from the start.

Items can be tracked and some of them are or should be at least. If you're missing some just provide a list and I'll add them.

0ldi commented 8 years ago

I will not create a new topic, https://github.com/shirsig/cooldowns breaks fubar too (like aux :)

[2016/10/10 11:26:45-3415]: cooldowns\core.lua:3: attempt to call global `include' (a nil value) cooldowns\core.lua:3: in main chunk

[2016/10/10 11:26:45-3415]: cooldowns\frame.lua:3: attempt to call global `include' (a nil value) cooldowns\frame.lua:3: in main chunk

[2016/10/10 11:26:45-3415]: cooldowns\player.lua:3: attempt to call global `include' (a nil value) cooldowns\player.lua:3: in main chunk

[2016/10/10 11:26:46-3415]: cooldowns\enemy.lua:3: attempt to call global `include' (a nil value) cooldowns\enemy.lua:3: in main chunk

shirsig commented 8 years ago

actually, this should be fixed now. you have to use the newest version of both. the issue was in the module system which both include as a library.

edit: oops, forgot to push it, now it should be fixed

0ldi commented 8 years ago

i download last version about 1 hour ago, so not fixed yet i think :)

shirsig commented 8 years ago

yeah, sorry, check out the edit in my last post

shirsig commented 8 years ago

Made some improvements to the reapplication tracking. I've chosen to go with a 0.5 second delay like chronometer to deal with resists and similar (the first application is still instantaneous, unlike chronometer).

There is one issue which I'm not sure how to solve which chronometer has also: when you immediately start casting and stop again after finishing a cast (like within a fraction of a second) then the reapplication from the successful cast will be canceled.

Other than that it should work mostly fine but if you notice any weird corner cases tell me and I'll try and fix it.

Next i'll implement the shared DRs (probably this weekend).

0ldi commented 8 years ago

Testing last version right now and it is much more usable than ever before for the warlock :) great job!

I have to say I'm testing addons on RetroWoW (the only thing I found instant60) and sometimes Kronos2 (lowlvl twink), so my tester functionality is limited not good vanilla servers >_<

1)Sometimes bars not appear. It's just starting to happen after a while (when I hold one target for a while). Helps targeting another and switch back, but how can you understand it is not comfortable :)

2)I am not sure for 100% how exactly should work crossclass similar effects such fears (But I see you good realized sharing Fear + Howl of Terror + Seduction). I am not shure but Howl of Terror (rank2) lasts 15\7,5\3,75 sec time in pvp (in your's addon it 10\5\2.5 sec)

3)For my insatiable soul could you implement 10\15\configurable number of debuff bars, it would be just wonderful

4)It looks be better if you changed: -only need is a name of target (which applied debuff\cc or who use buff), debaff name is not required, because there is icon (as I think everybody knows the names of their skills) -slightly reduce the distance between the icon and the time debuff (red line) -reduce the distance between the time and the name of the target (green line) These changes will allow to reduce bar as a whole, and will allow increase scale for better readability of the fonts Of course you can do it all customizable in a CCWatch UI if you want :)

shirsig commented 8 years ago

Hey, I'm also twinking on k2 :) What's your name? Mine are Jot/Pebble at 19 and also working on a 29 (bowlder).

Howl of terror should be fixed. The text now only shows the name. The problem with the time is the number may be larger and need more space so it will be inconsistent. I've increased the number of bars to 8 already. Eventually I'll just make it a configurable setting.

1)Sometimes bars not appear. It's just starting to happen after a while (when I hold one target for a while). Helps targeting another and switch back, but how can you understand it is not comfortable :)

Is this happening in pve or pvp? As I've described in the latest post here (https://forum.twinstar.cz/showthread.php/115849-Any-way-of-making-CCWatch-working-100) I've made some changes for the better of pvp and for the worse of pve. This could be because of diminishing returns (which are now falsely also used in pve)

0ldi commented 8 years ago

Its hapenfeedback#01new lvl >_<

shirsig commented 8 years ago

can you give more detail about when this happens? also, tried disabling all other addons?

0ldi commented 8 years ago

Hey, I'm also twinking on k2 :) What's your name? Mine are Jot/Pebble at 19 and also working on a 29 (bowlder).

I twinking not in the sense of BG, just for test and trolling in my guild chat. I want to be fully prepared to Crestfall (hope not Crestfail :), I do not want to be distracted by addons during the game (as I was on Nostalrius)

The problem with the time is the number may be larger and need more space so it will be inconsistent.

So no way to reduce these spaces, at least a little?

can you give more detail about when this happens? also, tried disabling all other addons?

Now I think that this is due to the mode combat, if we take fresh goal (which was not previously in the battle with you), then everything is fine. If you leave the combat mode (without changing the target), the new bars will not be displayed if you do not make retargeting. But in rare cases, even after retargeting some bars are not available, as in this video. feedback#02 Not tried disabling all other addons. I'll try after some time p.s. Yep, On absolutely pure client works exactly

shirsig commented 8 years ago

well, you'll have to try disabling them one by one to figure out which one's causing the conflict, otherwise i have little chance of finding the issue.

0ldi commented 8 years ago

How i said:

p.s. Yep, On absolutely pure client works exactly

feedback#03 Maybe on this Shit server so does not work? ok i am going test K2

shirsig commented 8 years ago

Possibly, also make sure you download the newest version, i may have "accidentally" fixed it. anyway, I can't seem to reproduce it on k2.

As for the look of the bar (spaces and whatnot) I'll have to make a lot of changes to the config code which is still partly from the old bars and make it more configurable, but it may take a few weeks until i get to it.

0ldi commented 8 years ago

Possibly, also make sure you download the newest version, i may have "accidentally" fixed it. anyway, I can't seem to reproduce it on k2.

I always check and download newest version before next test, and clean WTF/testingAddon file :) Dont worry about this :)

So: last version, clean cach, no other addons, Kronos2 (in PvP its works identically): feedback#04

shirsig commented 8 years ago

Found it and fixed. The problem was I wasn't waiting long enough. I thought it had something to do with previous spells having run out but it was just a bug for the recent target tracking mode, which didn't track for the current target more than 30 sec after targeting.

0ldi commented 8 years ago

Hmmm, looks like perfect, trying found any bugs but cant :) Great, now it seems I can abort Chronometer :) p.s. but I could not find a button for manually adding new buffs \ debuffs. This bug, or how it should be?)

shirsig commented 8 years ago

Yes, I removed that. Doesn't work because of the icons. Instead I'm planning on just adding every spell in the game and maybe disabling the less interesting ones so who wants them can enable them there.

0ldi commented 8 years ago

Yes, I removed that. Doesn't work because of the icons. Instead I'm planning on just adding every spell in the game and maybe disabling the less interesting ones so who wants them can enable them there.

1)But it's a lot of work to find all the spells and items, especially items (such as engineers use all debuffs). Also people may want to add a track or unique debuff for any specific purposes, and they will be happy (even without the icons) to add themselves (or edit the old tracks). Please return this function (add and edit). About icons missing people will just reports.

2)CC everywhere works like in PvP (yes i read about it in forum) but i did not understand whether it is forever? If this will be corrected in the future, it's good, but if not I have an idea for you: What if we add a second timer for pvp, something like this: It will work on the old like Chronometer style PvE full time, but there will be additional timer just for PvP, which will use your awesome value that you have done in the latest versions :) Is it possible to realize these variable labels for each DR status? -pvp -1/2 -1/4 -imn

3)Do I understand correctly that you plan to make configurable bars later? Like in chronometer: -bar width (exist but not work in CCW) -bar height -font settings and other

shirsig commented 8 years ago

Well, vanilla isn't ever getting new spells so I don't think adding them all is a problem. there are many but not that many.

The problem is, it's not possible to know if a unit is a player or not. You can test it for the current target only, but not for combat log events which only contain names of units and spells. I assume chronometer does something similar to what ccwatch used to do which is just to check the current target, but that may be wrong whenever an effect is added to a unit that isn't your target. Since this is mainly a pvp addon I prefer it being correct 100% of the time in pvp.

I'm eventually going to add dedicated bars for DRs just like NECB does.

shirsig commented 8 years ago

I could imagine some workarounds for the pvp/pve duration, like for example I could save whether a name belongs to a player after targeting, then you would only get a wrong duration when someone else casts a spell on a player you haven't targeted yet.

But the problem is, there are other difficulties/differences between pve and pvp with regard to tracking. For example, in pvp, when a target dies, of course, you want to remove the corresponding bars. But what to do in pve when "boar" dies and you have debuffs on 5 different units which are all called "boar". There's no unique "unitid" or anything like that. I think dotimer is the tracket best suited for pve. not sure what it does in this case. probably just let them run out.

0ldi commented 8 years ago

I mean there is no need to know whether the unit a player or not, just set all the goals both timers like on picture. The only thing I would like to keep your check (that did not appear fake bars, when the spell left in resist). So how i see this (example): 1) using some of fears, we see: pve: 20 pvp: 20 Timers working, bar disappears when all 0 2) during continuing DR time, using some of fears and see: pve: 20 1/2: 10 Timers working, bar disappears only when pve is 0 3) during continuing DR time, using some of fears and see: pve: 20 1/4: 5 Timers working, bar disappears only when pve is 0 4) during continuing DR time, using some of fears and see: pve: 20 imn: 15 Timers working, bar disappears only when pve is 0

imn 15 (or correct number of the remaining time until the end of DR But I did not consider how it will determine this DR immune or paladine bubble or Fear Ward, or some else immune, yes this is problem. How your the algorithm determines this? Do you like the idea and is it possible to realize? ^^

shirsig commented 8 years ago

I much prefer the solution from my last post to be honest. I mean, like I said, this is mainly a pvp addon. Having the progress bars last for the pve duration always really isn't acceptable.

shirsig commented 8 years ago

I've implemented it now, seems to work ok.

0ldi commented 8 years ago

yea, looks like a working

shirsig commented 8 years ago

just made some additional improvements. when in battleground it will check the roaster so it will always recognize enemies as players. Furthermore mousing over a target is now enough to mark it as a "recent target" when using that tracking mode.

0ldi commented 8 years ago

So i made little fix for myself, and it would be nice that you have added, if you like (because fixing after every your update, would be not cool :) Looks like this: Set these changes (in CCWatch.Lua) will ensure such a compact solution:

5 CCWATCH_MAXBARS = 10 --please my lord 97 local width = 89 105 local fontsize = 8 --the combination of allows you to place long names of two words 114 bar.width = 89 170 f.timertext:SetPoint('LEFT', f.statusbar, 'LEFT', -7, 0) 180 f.text:SetPoint('RIGHT', f.statusbar, 'RIGHT', -10, 0)

p.s. I think the two-digit minutes timer is not needed for a greater distance between the icon and the time

0ldi commented 8 years ago

Also debuffs missing: Shadow Vulnerability Aftermatch Pyroclasm Shadowburn Inferno Effect (Inferno stun)

And buffs missing: Shadow Ward Major Spellstone Nightfall Amplify Curse Fire Shield Soul Link Fel Domination Soulstone Resurrection Soul Siphon Burning Wish Touch of Shadow Fel Stamina Fel Energy Demon Armor Detect Greater Invisibility Unending Breath

Blood Fury

shirsig commented 8 years ago

I've been working on a "pve mode" which is completely different from the pvp one (and also perfected the player detection so it's almost never wrong). It's not quite done yet, but most of it is working I think. It's very similar to how dotimer works. It only tracks your own spells, it distinguishes between different mobs with the same name as far as possible (using level, gender and race) and the conditions for removing timers are quite different.

By the way, do you know if hunter pets get the pvp/diminished duration for e.g. sheep?

0ldi commented 8 years ago

By the way, do you know if hunter pets get the pvp/diminished duration for e.g. sheep?

No, pets is mobs (so Hunters can learn a lot resists to protect them from the CC), full duration.

0ldi commented 8 years ago

New version aurae looks fine, but now became less configurable (i dont know may be it is early stage): -I cant turn off "Buffs", because I dont need it (Antagonist satisfies my needs on 99%) -timers in right but i like left (eyes focused almost 1 point: located close the icon, the time and beginning of nickname) -As I mentioned above, need more settings: height and width of bars, font size, and label tags. In general Like in Chronometer or Antagonist. Desirable with interface.

Now to the serious bugs: -If CC ended earlier, the DR continues timer, and must be reset to 15 seconds (like in NECB)

Another reason why I can not use aurae instead Chronometer is the presence of Enslave Demon timer, proc timer (like Improved Shadow Bolt) and short important buffs (like Sacrifice, Nighfall). So i dont need watch my main buff line or use MPOWA for track ... i have all i need in focus place.

shirsig commented 8 years ago

Improved shadowbolt ... isn't that "shadow vulnerability" from your list above? That should've been added already. I've added all those debuffs, but not the buffs yet. Note that refreshing the duration once it's active won't work, but that's impossible to do.

Are you talking about sacrifice and nightfall on yourself? This addon tracks only enemies' auras and that will never change because the API for those is completely different. If you mean on the enemy then I will add them. I have been mostly working on mechanics so far, haven't gotten around to completing the spell database. Anyway, I've just added a few including nightfall, sac, reflectors and the arena trinket.

As for the DR, I'm not sure what you mean by that exactly. Is it supposed to be actual duration + 15 sec, not expected duration + 15 sec? Maybe it should have no timer at all then until the spell expires and then get 15 sec? Maybe the DR bar isn't needed at all until after the spell expires?

I hate settings and always try to make addons as complete "out of the box" as possible. Turning off the groups I'll probably add back but bar style settings just make things too complicated, especially considering 99% of the people including myself never change it, and it's a slippery slope (should textures be customizable too? Position of textures? Spacing between bars? Should bars be individually placable? Size of icon relative to the bar? Space between icon and bar? Alignment of text maybe should be different if the size of bars changes etc.) In the end it becomes so complicated you might just as well edit the code anyway. The current style is mostly taken from the retail candybar library so it's "well established" and should be ok for most people.

0ldi commented 8 years ago

Improved shadowbolt ... isn't that "shadow vulnerability" from your list above? That should've been added already. I've added all those debuffs, but not the buffs yet. Note that refreshing the duration once it's active won't work, but that's impossible to do.

Yea i test it now and no "shadow vulnerability" timer in pve but in pvp it work. And the icon corresponds prist's "shadow vulnerability". It is impossible to implement both? They have the same name.

Are you talking about sacrifice and nightfall on yourself? This addon tracks only enemies' auras and that will never change because the API for those is completely different. If you mean on the enemy then I will add them. I have been mostly working on mechanics so far, haven't gotten around to completing the spell database. Anyway, I've just added a few including nightfall, sac, reflectors and the arena trinket.

Then I spoke about my short buff, but I understand that you are not planning implement it in your addon.

As for the DR, I'm not sure what you mean by that exactly. Is it supposed to be actual duration + 15 sec, not expected duration + 15 sec? Maybe it should have no timer at all then until the spell expires and then get 15 sec? Maybe the DR bar isn't needed at all until after the spell expires?

Hmm, i am not sure but with last version i can't reproduce bug about which I spoke, everything seems to be working correctly.

I hate settings and always try to make addons as complete "out of the box" as possible. Turning off the groups I'll probably add back but bar style settings just make things too complicated, especially considering 99% of the people including myself never change it, and it's a slippery slope (should textures be customizable too? Position of textures? Spacing between bars? Should bars be individually placable? Size of icon relative to the bar? Space between icon and bar? Alignment of text maybe should be different if the size of bars changes etc.) In the end it becomes so complicated you might just as well edit the code anyway. The current style is mostly taken from the retail candybar library so it's "well established" and should be ok for most people.s

"Out of the box" is good where it is enough, but many people appreciate their place on the screen and customize all for themselves (for beauty or usability). In the absence of this setting may alienate users. I gave an example setting Chronometer or Antagonist as well. There are about 10-15 basic settings of bars. For example, I can customize the display text, I do not need to know the target level (it is not important information). But you can do as you think is necessary, that's right.

shirsig commented 8 years ago

Ah, yeah, it can't work with the pve tracking, not using the same mechanism as in pvp anyway, because that is based on the plain name of the unit, and it would conflict with the pve tracking mechanism so it would have to be a special case for this effect.

PvP tracking is based on combat log events that say stuff like "x gains y", "x is afflicted by y" "y fades from x" etc. from these events you cannot know which unit is meant when there are multiple with the same name, nor can you know which effects are from your own spells. For pvp neither of these are very important, but in pve you probably need to know which dot timers are your own for example (and likely don't care much about other people's dots at all). This is why pve tracking is based on the event that fires when you stop casting, with a delay added to abort if there's an event for a failed cast.

The level is only shown for pve and the reason it's shown is because there may be enemies with the same name and if you put a dot or something on both of them that's the only way to tell which is which, not because the level per se is somehow interesting.