[Bug]: Demo Warlock Rotation seems completely off
Soulsmacka opened this issue ยท 12 comments
What version of HeroRotation are you using?
10.1.5.08
What version of HeroLib are you using?
10.1.5.01
What version of HeroDBC are you using?
10.1.5.02
What is the issue?
Here is the talents I'm using:
Nether Portal / Single target: BoQA+63P9mnDJYMkogOeTUhr8CIJRSCkWKHQkmkESJAAAAAokIJSiAkIJSKaJRCBAAAAAAJ
Nether Portal / Cleave: BoQA+63P9mnDJYMkogOeTUhr8CIJRSCkmyBEpdgkESJAAAAAoEJJJSCEhkIRaJRCBAAAAAAJ
The most frustrating part about the rotation which has been reported in the past by other players is that there is an issue with dread stalkers not being identified as off of cool down and available to use. The addon continues to suggest casting shadow-bolts and gets stuck until we realize something is wrong and cast another ability ourselves, then it sort of resets and continues to suggest other spells. For some reason, something is happening with dread stalkers so please take a closer look at it. (When you test it, you will see it suggest dreadstalkers and think that I'm wrong, but keep going with the rotation and eventually you will get to a point where you start spamming shadowbolts and dread stalkers is available to use and wont suggest it)
Then there is also the issue with summon Vilefiend. It does not suggest casting it off of cooldown which is a major dps loss.
Then the addon script seemed to work better in the past at lining up a bunch of demon summons (Nether portal, dread stalker, Vilefiend, additional felguard, etc) to build up to the minimum 20 demons for our Tyrant cooldown. Ever since patch 10.1.5, it no longer does this and actually suggests abilities that deplete and sacrifice imps and demons making it difficult to stack enough demons to maximize the tyrant windows. I'm, constantly seeing it build to the 16-18 range and then drop to the 9-11 range of amount of demons. I'll have nether portal, summon Vilefiend, dreadstalkers all available and it won't suggest any of them to help build to 20+ demons. (it suggests it at the start of rotation but in mid-fight, it's almost impossible to get it to suggest it.) The script is set up correctly to wait till there are 20+ demons available before suggesting tyrant but it's almost impossible to get to it with the spells being suggested prior to it.
The script used to preemptively prep for tyrant coming off of cooldown and it would help build the 20+ demons in order to have them ready for when tyrant came off of cd. It no longer does this.
My dps has taken a major hit following the script. Please fix this
Edit:
I reset all the settings to remove abilites to place them in the off global cooldown window to see if maybe it's that or additional player error on my end. It's suggesting Tyrant with only 14-15 demons out not like I thought it was doing it at above 20 as stated before. The dread stalkers and vilefiend are still not being suggested off of cool down. When nether portal comes off of cooldown, it's not being suggested even when tyrant is off of cooldown and it should suggest it before tyrant with the soulburn. (Netherportal, soulburn, any other available demon casts then tyrant)
removing the "off global cd window" settings did not solve the problem.
Icon Behavior
None
I've been on target dummy for over 10 minutes and cannot recreate the shadowbolt spam issue so I'll see if it comes up in actual raid and try to run the debug option.
The Vilefiend still doesn't make sense because it becomes available after the opener and Tyrant still has a minute left on cd, so I should be able to cast Vilefiend and it will be back up for the Tyrant set up. This effectively turns Vilefiend into a 2 min cd ability like Tyrant. It should suggest Vilefiend in between Tyran windows.
That might be a suggestion/question for the Simulationcraft team. I'm unsure why Vilefiend is in the APL the way it is.
The profile follows the current APL.
The addon properly detects when Call Dreadstalkers is ready and suggests is according to the APL. Call Dreadstalkers is suggested under three conditions: Tyrant is more than 25 seconds away or Nether Portal is active, during Tyrant prep, and when less than 20 seconds remains in the fight.
It suggests Summon Vilefiend per the APL (which is not immediately when it's CD is ready). Per the APL, Summon Vilefiend is suggested during Tyrant prep, the final 20 seconds of the fight, or if Tyrant will not be ready before the fight ends.
The addon does prep for Tyrant, as per the APL.
If you feel the APL is wrong, please either enter an issue on the Simulationcraft github or talk to someone in their Discord channel. If you feel we've deviated from the APL, please let me know in what way.
Do you have a version number for the APL or anything that can help with this request for simulation craft?
One of the things I cannot wrap my head around is the addon telling me to spam shadowbolts when I've been capped on soul shards for over 5 or 6 casts. It's not even suggesting Hand of Gul'dan or demon bolts with demonic core procs available. And this has been an issue for many versions and previous patches. When you're caught up in a fight and mindlessly following the addon, you get stuck casting what it's suggesting until it finally hits you that something is off. By the time you realize it, your dps drops like 5-10k on a spec that has peaks and valleys already baked into it.
Trust me I wouldn't be on here, taking the time to write this up if I didn't feel something was totally off. Other rotation addons run the same APL script and do suggest Vilefiend and dread stalkers when your addon doesn't. (I don't like those addons because they lack in a bunch of other ways and yours is more thorough with cooldowns)
The only thing I can think of, and forgive me for not being too familiar on how sim apls are generated, is that maybe the apls are set with specific gear set ups? For instance, I still do not have the class trinket or anything close to BiS and that obviously throws off timing. But still doesn't explain the shadowbolt spamming issue.
Edit: I forgot to mention that last night I did the latest update and the abilities disappeared in mid fight. It wasn't even doing the pooling icon. It just disappeared and had to do a ui reload. It was sporadic and did not happen each fight.
Enable debug mode with /hr debug
and let me know what it says when it's suggesting Shadow Bolt while capped on shards. That shouldn't be happening, I don't think. I haven't ever experienced that issue.
The Simulationcraft APL tends to try to cover as many gear and talent setups as possible.
If the icon disappears entirely, that's usually a lua error. You can enable lua errors in game by typing /console scriptErrors 1
. Copy and paste in this issue any errors you receive. You can later disable lua errors in game by typing /console scriptErrors 0
.
Is it ok to run it with a few abilities set to "off the global cd window" or should I disable all of them and just follow what it suggests?
It's fine to run things in the OffGCD position. Just keep in mind that the main icon ability is always the lowest priority. Any of the smaller icons are always higher priority.
Message: Interface/AddOns/HeroRotation_Warlock/Demonology.lua:301: attempt to index global 'CallDreadstalkers' (a nil value)
Time: Fri Jul 21 14:42:20 2023
Count: 4580
Stack: Interface/AddOns/HeroRotation_Warlock/Demonology.lua:301: attempt to index global 'CallDreadstalkers' (a nil value)
[string "=(tail call)"]: ?
[string "=[C]"]: ?
[string "@Interface/AddOns/HeroRotation_Warlock/Demonology.lua"]:301: in function <Interface/AddOns/HeroRotation_Warlock/Demonology.lua:294>
[string "@Interface/AddOns/HeroRotation_Warlock/Demonology.lua"]:455: in function `?'
[string "@Interface/AddOns/HeroRotation/Main.lua"]:456: in function <Interface/AddOns/HeroRotation/Main.lua:434>
Locals: (*temporary) = 0.017000
(*temporary) = defined =[C]:-1
I almost blew a key trying to get you this. This is the Lua error when the addon disappears
Here are the first 2 errors before it:
1-
Message: Interface/SharedXML/SharedConstants.lua:42: bad argument #1 to 'format' (string expected, got nil)
Time: Fri Jul 21 14:10:03 2023
Count: 2
Stack: Interface/SharedXML/SharedConstants.lua:42: bad argument #1 to 'format' (string expected, got nil)
[string "=(tail call)"]: ?
[string "=[C]"]: ?
[string "=[C]"]: in function format' [string "@Interface/SharedXML/SharedConstants.lua"]:42: in function
GetClassAtlas'
[string "@Interface/FrameXML/UnitFrame.lua"]:243: in function UnitFramePortrait_Update' [string "@Interface/FrameXML/UnitFrame.lua"]:230: in function <Interface/FrameXML/UnitFrame.lua:215> [string "=[C]"]: in function
securecall'
[string "@Interface/FrameXML/UnitFrame.lua"]:212: in function UnitFrame_SetUnit' [string "@Interface/FrameXML/PartyMemberFrame.lua"]:231: in function
ToPlayerArt'
[string "@Interface/FrameXML/PartyMemberFrame.lua"]:183: in function UpdateArt' [string "@Interface/FrameXML/PartyMemberFrame.lua"]:633: in function
OnEvent'
[string "@Interface/FrameXML/UnitFrame.lua"]:1070: in function <Interface/FrameXML/UnitFrame.lua:1068>
Locals: (*temporary) = defined =[C]:-1
2 -
Message: Interface/SharedXML/SharedConstants.lua:42: bad argument #1 to 'format' (string expected, got nil)
Time: Fri Jul 21 14:10:03 2023
Count: 2
Stack: Interface/SharedXML/SharedConstants.lua:42: bad argument #1 to 'format' (string expected, got nil)
[string "=(tail call)"]: ?
[string "=[C]"]: ?
[string "=[C]"]: in function format' [string "@Interface/SharedXML/SharedConstants.lua"]:42: in function
GetClassAtlas'
[string "@Interface/FrameXML/UnitFrame.lua"]:243: in function UnitFramePortrait_Update' [string "@Interface/FrameXML/UnitFrame.lua"]:230: in function
UnitFrame_Update'
[string "@Interface/FrameXML/PartyMemberFrame.lua"]:233: in function ToPlayerArt' [string "@Interface/FrameXML/PartyMemberFrame.lua"]:183: in function
UpdateArt'
[string "@Interface/FrameXML/PartyMemberFrame.lua"]:633: in function `OnEvent'
[string "@Interface/FrameXML/UnitFrame.lua"]:1070: in function <Interface/FrameXML/UnitFrame.lua:1068>
Locals: (*temporary) = defined =[C]:-1
Funny how I was able to fix it once I was given the error. Fix will be pushed when I'm done with Brewmaster.