Elitist Jerks
Register
Blogs
Forums


Go Back   Elitist Jerks » Class Mechanics » Paladins

Reply
 
LinkBack Thread Tools
Old 10/11/09, 12:52 PM   #286
gmedina
Banned
 
Dwarf Paladin
 
Gnomeregan
Originally Posted by burghy View Post
Had some pc issues so can't really work on the addon now but there's one thing you can try. Edit clcret.lua, function clcret:CheckQueueRet(). Look for:
-- how check
if v.alias == "how" then
and add this line of code before:
if not IsUsableSpell(v.name) then v.cd = 100 end
Might work, might not :p
Ok so that seems to work for the disarm and for judgement if i don't have a seal active, but oddly enough when im silenced it will still recomend judgment? Not sure why that is.

Offline
Reply With Quote
Old 10/11/09, 2:29 PM   #287
Capstone
Piston Honda
 
Human Paladin
 
Lightbringer
Disarm effects will grey out spells requiring a melee weapon, same as if you didn't actually have a melee weapon equipped; i.e., the spell is not usable. Same for judgement with no seal active. Silence effects however are checked on spellcast, so it will attempt a spellcast and then fail, rather than flagging as unusable clientside.

Offline
Reply With Quote
Old 10/11/09, 3:04 PM   #288
gmedina
Banned
 
Dwarf Paladin
 
Gnomeregan
Originally Posted by Capstone View Post
Disarm effects will grey out spells requiring a melee weapon, same as if you didn't actually have a melee weapon equipped; i.e., the spell is not usable. Same for judgement with no seal active. Silence effects however are checked on spellcast, so it will attempt a spellcast and then fail, rather than flagging as unusable clientside.
Is there no way to determine if you have the silence debuff upon you and if so not recomend judgement spell?

Offline
Reply With Quote
Old 10/12/09, 6:24 AM   #289
Neraya
Banned
 
Human Paladin
 
Khadgar (EU)
You can check if you have debufs... I'm not sure if you can easily determine 'silenced' though there's more than one ability that cause you to be unable to cast spells (silenced, kick, pummel, counterspell, arcane torrent, ...), so it's possible it would require to check a list of debuffs to see if one of them is a silence effect. A list of debufs that would need to be maintained as we get new content and bosses cast new spells some of which could have a silence effect on them.

Offline
Reply With Quote
Old 10/13/09, 3:57 PM   #290
gmedina
Banned
 
Dwarf Paladin
 
Gnomeregan
Any chance of getting the above recomendation, could be as simple as a File with a list of spell's and Id. I would be happy to come up with the spell names and id's but would need to have a hook provided for in the rotation to check against this list.

Offline
Reply With Quote
Old 10/13/09, 4:41 PM   #291
Exemplar
Bald Bull
 
Human Paladin
 
Scarlet Crusade
Originally Posted by gmedina View Post
Any chance of getting the above recomendation, could be as simple as a File with a list of spell's and Id. I would be happy to come up with the spell names and id's but would need to have a hook provided for in the rotation to check against this list.
If you add this feature, can you make it toggled? Part of my enjoyment of clcret is it's lightness - having something constantly scanning me a for a (lengthy) list of potential debuffs is overhead I would personally prefer to avoid. I can see delays in recommendation of HoW at times and I know that's a lighter comparison than this would be.

Feature request of my own:
Sliding Importance of Divine Plea.

My current settings allow me to be notified to DP if I have enough time to use without DPS loss (1.8 seconds until next DPS cooldown, in my case) if my mana is below a certain percentage (I think I set 80%). Wonderfully configurable, by the way - love this feature.

Basically in a mana rich environment (typical 25man raid) DP can often be skipped or used infrequently. However, in a poorly balanced raid you could be missing important mana buffs (Int, Gift, BoW/Totem, and JoL contribute far more than many people suspect).

With prospective T10 increasing the usage of Divine Storm (12% base mana) it's possible that mana could slowly downward spiral. Additionally there will be fewer free GCD to use DP without DPS impact. However, if we run out of mana we cannot DPS - the worst impact possible.

As mana drops lower and lower, could DP rise higher in the priority list? So if high on mana you get your normal prompt for free GCD, but at low mana you would be prompted to use DP even with currently available DPS abilities ready and waiting?

Rock: "We're sub-standard DPS. Nerf Paper, Scissors are fine."
Paper: "OMG, WTF, Scissors!"
Scissors: "Rock is OP and Paper are QQers. We need PvP buffs."

Offline
Reply With Quote
Old 10/13/09, 7:02 PM   #292
gmedina
Banned
 
Dwarf Paladin
 
Gnomeregan
The good thing is you wouldn't need to do this scan before every recomendation, as only Judgement is affected by silence. The other line above handles the disarm problem, so you would only need to do this check prior to recomending Judgment.

Offline
Reply With Quote
Old 10/14/09, 9:01 AM   #293
Neraya
Banned
 
Human Paladin
 
Khadgar (EU)
Originally Posted by Exemplar View Post
I can see delays in recommendation of HoW at times and I know that's a lighter comparison than this would be.
I doubt what you're meaning with this is actually caused by any kind of 'scanning' currently already implemented. But it depends what you really mean by it anyway. Can you be more accurate in that ?

The only condition for HoW is that the target is below a certain percentage of max HP, and clcret uses the IsUsableSpell() function to check for this condition. It's possible this function is still returning false, and doesn't start returning true until some time after the button started lightning up as available, but that would seem weird to me, but it would point to an error/delay in the API function not in clcret. I can't recall seeing something like this ever happening though.


The whole 'check next ability' checking in clcret is quite small and unless the actual calling of the underlying API functions is slow, I doubt it can be made considerably more optimal than it already is (You may recall I did quite a bit of code reviewing and testing on this very issue a while back).

Checking for a silencing effect could be an issue though, especially on a fight where you by design get some "junk" debuffs which need to be checked each clcret update. Like the black/white debuf on twins or the 2 debufs you get as ret on vezzax. You'd end up checking if those junk debufs are silencing effects each time.

As far as I can tell, there's no IsPlayerSilenced() (or stunned) API function, nor is there a 'IsThisASilenceEffect()' API function. So it would seem to boil down to creating an array of debufs with a silencing component and checking each of your debufs against each of the silencing effects. Easy enough to do because of the associative arrays, but still takes work in determining all the silencing effects.

Offline
Reply With Quote
Old 10/14/09, 9:04 AM   #294
Neraya
Banned
 
Human Paladin
 
Khadgar (EU)
Originally Posted by gmedina View Post
The good thing is you wouldn't need to do this scan before every recomendation, as only Judgement is affected by silence. The other line above handles the disarm problem, so you would only need to do this check prior to recomending Judgment.
Due to the way it works, it would need to happen on each pass through clcret as it calculates the 'virtual cooldown' of each of the possible spells in your priority list. It's not a matter of only doing an extra check if judgement is up next.

Offline
Reply With Quote
Old 10/14/09, 11:48 AM   #295
Exemplar
Bald Bull
 
Human Paladin
 
Scarlet Crusade
Originally Posted by Neraya View Post
I doubt what you're meaning with this is actually caused by any kind of 'scanning' currently already implemented. But it depends what you really mean by it anyway. Can you be more accurate in that ?

The only condition for HoW is that the target is below a certain percentage of max HP, and clcret uses the IsUsableSpell() function to check for this condition. It's possible this function is still returning false, and doesn't start returning true until some time after the button started lightning up as available, but that would seem weird to me, but it would point to an error/delay in the API function not in clcret. I can't recall seeing something like this ever happening though.
I'm absolutely certain at least half is client update delays. Target will be at 19.9% per unit frames but HoW is not yet usable per client and of course clcret reports the same by not providing as available. I understand and accept that, though I am often annoyed at Blizzard that Bosses can hit 16% or less before I can HoW. This should be a more standard check of "Okay, you tried to use the ability, let me send to the server", server thinks and responds "Legit, it happened" or "Nope, cancel that partially started GCD." The flat denial on the client end is frustrating when I know on the server the target is below 20%.

My current setup is HoW as first priority. I have weird occurrences where I've already used HoW a time or two - here's an example. CS is off cooldown - recommended as soon as GCD ends. DS is off cooldown - recommended second. GCD ends. Hit CS. Suddenly HoW is next with (1 sec CD, less than GCD) and DS (no cooldown) is (still) second.

Come to think of it, could this just be clcret not counting "cooldown minus GCD-of-first-ability" for second ability? GCD of the first ability will put HoW available, though it is not currently. DS is currently available so it shows in queue. Otherwise my system just isn't updating HoW as accurately and swiftly as other abilities - not sure why.

Rock: "We're sub-standard DPS. Nerf Paper, Scissors are fine."
Paper: "OMG, WTF, Scissors!"
Scissors: "Rock is OP and Paper are QQers. We need PvP buffs."

Offline
Reply With Quote
Old 10/15/09, 4:48 AM   #296
Neraya
Banned
 
Human Paladin
 
Khadgar (EU)
Originally Posted by Exemplar View Post
I'm absolutely certain at least half is client update delays. Target will be at 19.9% per unit frames but HoW is not yet usable per client and of course clcret reports the same by not providing as available. I understand and accept that, though I am often annoyed at Blizzard that Bosses can hit 16% or less before I can HoW. This should be a more standard check of "Okay, you tried to use the ability, let me send to the server", server thinks and responds "Legit, it happened" or "Nope, cancel that partially started GCD." The flat denial on the client end is frustrating when I know on the server the target is below 20%.

My current setup is HoW as first priority. I have weird occurrences where I've already used HoW a time or two - here's an example. CS is off cooldown - recommended as soon as GCD ends. DS is off cooldown - recommended second. GCD ends. Hit CS. Suddenly HoW is next with (1 sec CD, less than GCD) and DS (no cooldown) is (still) second.

Come to think of it, could this just be clcret not counting "cooldown minus GCD-of-first-ability" for second ability? GCD of the first ability will put HoW available, though it is not currently. DS is currently available so it shows in queue. Otherwise my system just isn't updating HoW as accurately and swiftly as other abilities - not sure why.
On the delay issue:
In any case, what clcret is doing is 'right' to me. It'd be silly if it calculated HoW availability based on %HP and started suggesting to use it, when it was still impossible to actually cast the spell. I can't comment on the delay bit. Is this actually a delay in the server sending a "spell is available" message or is it reporting an invalid HP% ? Or (more likely) is your raidframe calculating boss HP% incorrectly ? It may be annoying how isn't coming available, but clcret and the actual spell disagreeing would be a lot worse i.m.o.



The 2nd spell in line is currently flawed and has been for a while (I even pointed at it before). for the next spell it takes the "current state" and assumes a 1.5sec gcd on top for the 2nd ability, it does currently not account for remaining cd on the 'next ability'.
Had a quick look at the code and the solution may be as simple as (let's hope burghy sees this :p):

-- In CheckQueueRet(), add 2nd parameter to GetBest calls
   self:GetBest(1, gcd)
   self:GetBest(2, 0)

-- In GetBest() change prototype
function clcret:GetBest(pos, gcd)

-- change v.cd calculations
v.cd = max(0, v.cd - 1.5 - gcd) -- 2 times
-- and
v.cd = v.cd + gcd + db.dpssLatency
Note that even with that change (if it indeed works as I expect) 2nd ability will still be subject to some randomness. Mainly caused by mana issues. Next is judgement, 2nd would be cons but you're below the Mana treshold so it suggests exo. You judge, get mana, cons gets bumped to 1st instead of exo. And the other way around, Next is DS, 2nd is cons, you DS, mana drops below treshold and Cons drops frop the priority altogether.

Take the 2nd with a grain of salt, it's the main spell you need to worry about and after hitting the button it suggests you have a whole 1.5 seconds to get get mentally ready and move your fingers to the right key to hit what's the new #1 suggestion. :-)

Offline
Reply With Quote
Old 10/15/09, 5:24 AM   #297
burghy
Don Flamenco
 
Human Paladin
 
Ravencrest (EU)
You are using an old version again. I changed that code about a month ago.

Offline
Reply With Quote
Old 10/16/09, 3:43 AM   #298
Neraya
Banned
 
Human Paladin
 
Khadgar (EU)
Hmm It's from R109 which I downloaded on monday and it was the most recent version back then.
Picked up r111 now and this hasn't even changed.

Due to lack of debugging features, I'm going pure 'by eye' here, so I could be missing the bit of code. /WTB stepping debugger

On yesterday's raid I did spend some time into actually checking what I should be doing and what clcret was suggesting and it seemed off. So either I'm doing something wrong manually, or clcret has a problem with making it's suggestions, or it was caused by the above normal lag I was having. I also noticed 2nd in line 'jumping' more than it should be (i'm not usually watching 2nd really).

Offline
Reply With Quote
Old 10/16/09, 5:01 AM   #299
burghy
Don Flamenco
 
Human Paladin
 
Ravencrest (EU)
Mass replace --[[ DEBUG with ---[[ DEBUG in clcret.lua and fraps. Best debugging method I could come up with.
My comment was due to the fact that the function GetBest is not being used anymore and the cooldown of current skill is taken into account.

Offline
Reply With Quote
Old 10/16/09, 6:32 AM   #300
Neraya
Banned
 
Human Paladin
 
Khadgar (EU)
Hmm my lack of knowledge of the lua language surfaces here... (C++ is my main language)

From what you're saying now, I'm making up that --[[ is a block quote start ? I didn't know lua had this...

It that's the case, it does change things indeed. I should be home early today and have an hour or 2 of 'free' time before tonights raiding time so I can do some whacking at the target dummies.

Offline
Reply With Quote
Reply

Go Back   Elitist Jerks » Class Mechanics » Paladins

Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Cat DPS Rotation Kazanir Druids 1356 12/07/09 12:07 PM
Ret FCFS Rotation Helper Thaeryn User Interface and AddOns 0 04/10/09 12:18 AM
FCFS (Retribution) modeling script Left Paladins 25 03/21/09 10:06 AM
Designing a hunter shot-rotation helper addon Zeza Public Discussion 40 11/27/06 7:52 PM