Ovale Spell Priority

Ovale Spell Priority

6M Downloads

Offgcd Spells not taking priority during GCD

h1324230 opened this issue ยท 10 comments

commented

Hi there, this is a very simplyfied Arms Script:

if InRange(charge) Spell(charge)
Spell(colossus_smash)
Spell(mortal_strike)
if BuffStacks(focused_rage_buff)<3 Spell(focused_rage)
Spell(slam)

Charge, CS, MS and Slam are on the GCD, FR is not and declared as such in the SpellInfo. FR has its on Cooldown which is always the same time as the GCD. All FR Stacks are consumend by Mortal Strike.

What I try to achieve here: Using FR between the GCD without wasting a single GCD (unless its Slam, which is just a ragedump, and thatfor lower than FR).

What I expected to see:
Charge>Focused Rage>Colossus Smash>Focused Rage>Mortal Strike>Focused Rage>Slam>Focused Rage>Slam>Focused Rage>Slam>Slam...

What I see:
Charge>Colossus Smash>Mortal Strike>Focused Rage>Slam>Focused Rage>Slam>Focused Rage>Slam>Slam...

The behaviour I expected did work during MoP (and I think early WoD).

commented

Why don't you simply put Spell(focus_rage) before Spell(colossus_smash)? It seems to achieve what you want.

commented

Because I don't want FR to take priority over CS or MS when the GCD is not up, that's what i meant with not wasting GCDs

Example would be when I'm on low rage: After a meleeswing i would have about 25 Rage, and I don't want to waste MS. When using FR I wouldn't have enough rage for MS.

commented

Hmm, could have sworn I replied to this. Not a bug as far as Ovale is intended to work because most simcraft scripts work in the way you describe where an offgcd ability is only used in sync with the gcd.

There is a way to get the behavior you want
Spell(focused_rage offgcd=1)
Though personally I would also throw focused rage into another icon. Put focused rage in the short cooldown box and any other cooldown (battlecry, bladestorm, etc.) Into the long cooldown box. That way it won't block your next gcd ability suggestion.

As far as the rage thing just add a rage requirement to focused rage when ms is about to come off CD.

commented

Ahhh, thanks, exactly what I needed, I knew Ovale wouldn't let me down.

About the seperate Offgcd Button, thats just personal preference.

commented

After some testing, this unfortunaly doesn't work too. No matter if I use the offgcd=1 condition in SpellInfo() or Spell() itself (or both), it always yields the same result:
Colossus Smash->A splitsecond long flash of Focused Rage (if any)->Mortal Strike despite being not castable due to GCD

Edit: After some more testing, the splitsecond flash seems to be only shown when the Icon updates. Example given:
AddIcon help=main specialization=1
{
Spell(mortal_strike)
Spell(slam)
Spell(focused_rage offgcd=1)
}
The Icon shows MS. I do a GCD action now instead, e.g. Slam. Focused Rage shows up for a frame or two, then Mortal Strike is shown for most of the GCD. Now, i do another GCD action, e.g. Hamstring or another Slam. This time Focused Rage won't flash, and it won't unless I actually cast MS. When MS is ready again, the hole process starts again.

commented

Can you put FR in an icon by itself and tell me if it gets a cooldown swipe when you use a gcd ability? That will indicate if the offgcd flag is doing what I think it does.

commented

The next version should fix this bug. But it may introduce unwanted changes so it is a beta version until I'm sure it works correctly:
https://wow.curseforge.com/addons/ovale/files/22989-7-0-21-0-beta/

commented

Ok, did some more testing, completely screws up the GCD swipes. They're ending way early. My potential fix doesn't help that any (didn't test the other problem).

commented

That breaks the functionality Feral was supposed to use (I had the spell info wrong for the correct behavior). Now non-gcd spells that you want in sync with the GCD don't use the GCD anymore.

It also might now suggest off-gcd abilities during cast-time spells which would interrupt them. I think that was the original intention of the code you commented out.

It might also break the power functions as they rely on the state.nextCast though it doesn't appear to in game at first glance.

Probably modify line 594 and 597 of BestAction.lua to use state.nextCast instead of atTime since that's what atTime was before the change in Future.lua Don't have time to bugtest really.

commented

"Can you put FR in an icon by itself and tell me if it gets a cooldown swipe when you use a gcd ability? That will indicate if the offgcd flag is doing what I think it does."

No GCD swipe for FR.

Will test the beta tomorrow, its late here.