GSE: Sequences, Variables, Macros

GSE: Sequences, Variables, Macros

7M Downloads

[BUG] Vengeance Demon Hunter spells not compiling correctly

metasaver opened this issue Ā· 3 comments

commented

šŸ”µ Describe the bug:
When I am using my Vengeance Demon Hunter, some of the spells are compiling to other spells. So far I have found these issues:

Infernal Strike (189110) -> Compiles to Fel Rush (195072)
Fracture (263642) -. Compiles to Demon's Bite (162243)
Soul Cleave (228477) -> Compiles to Chaos Strike (162794)

šŸ”µ To reproduce: (Steps to reproduce the behavior)

  1. Import the Macro
  2. Edit the macro
  3. Click Compile Template
  4. See if the Spells match up

Alternatively

  1. Open a macro and type /cast 189110
  2. It will convert to Infernal Strike
  3. Click Compile Template
  4. See if the Spells match up
  5. Run the macro and see that it is casting the wrong spells

šŸ”µ The error:
No error from GUI

šŸ”µ Screenshots:
If applicable, add screenshots to help explain your problem.

šŸ”µ Expected behavior:
The spells should match in the GUI, The Compile Termplate and in Debug Mode should cast the spells selected in the GUI

šŸ”µ GSE.lua file:

da0Pcaalrj9luKHbIJPsldkpdctdLCnKsBtfmouQZHeAGkfDqqTqv0dfftesDruPnkG8rbAKcOojQyLibVuPYmrIUjk0of6NcWqHKJIKSuq6PetLuxfvzROO(QOeVfj1DrQSxQ)QuQbdrhgyXQqpwHjRuYLLAZkf(SsvJMeoTIEnQQzJOBJuSBv9BLmCO64ivTCb9CeMUKRlQ2UOuNNeTEuW8jP9lY(ATJxlN8cUnuUOcaQ2rmRTqjGO4HVfO6TSGbbd7IbbbgeiSrCWcJGr4IWAhVwBHzq4eCKSjS2Lf4rnxpH1oET2XR1oETKutQ7qLutQoIzHPbGOsiPEtCsGYomRjK)AOa8Fto)90LqIGfl2hO1IwjEBbEuZ17YrmRD8AjPMu3HkPMuDeZctdarr00N3)OtiP(xdfG)BY5VNUeseSyXMwkArReVTapQ56D5icRD8AjPMu3HkPMuDeZctdarr00N3)OtiP(xdfG)BY5VNUeseSyX(aMfTs82c8OMR3LfTs82cLRfUfOnEdkhVwKQXdu(pQ56Tin959xtaPlxw48hZNKfZGWj4iztyTlxUSi49GdAhVywYsd4dNhciS2Lfg7cGguaRTObK9xewo5XhoZNniWu4zhuqH(qHd6bdO0NWWurbUqfEuXNdvzGHsjFokqVNppjJc(C3DEcddddBboVuScTGUPzYadK9MbbHRhyjOWL5oKyUEhrCXUwye85asoF1Hz3FnxVpTGU3aKtwoETeb00wo5fCBOCrfauTfbVhCq7iTSVw0bKXXleiqGGzH7VXkC0zw0GdkWXj5Su6txUCzd

BUG_REPORT

Talents: BUkACnvaHJn8GSPD6tpaeczPTBAAQJERSUQkIQCARLkIhDgkUSChkEKBBAAAAA

šŸ”µ Desktop (please complete the following information):

  • OS: Windows 10 64bit
  • Game Version - Retail latest

šŸ”µ GSE Version:

šŸ”µ Additional context:
I think the GUI is showing spells as vengeance, but behind the scenes it thinks I am Havoc. I have a screenshot too, but didn't see a way to attach it

commented

This is actually expected behavior.

GSE saves the BASE SPELL for an ability. This started in BFA or Legion (I cant remember which) where Talents and Procs would change an ability (very temporarily for procs, more permanently for talents) into an updated version. The simplest of these examples ins Paladinā€™s Avenging Wrath and the talent Crusade. If you put ā€˜/cast Avenging Wrathā€™ into a macro and had the talent for Crusade it would cast Crusade. If however, you had ā€˜/cast Crusadeā€™ and no longer had the talent, your macro would never cast Avenging Wrath.

While this worked - underneath the covers I had a list, and was checking it twice to determine which spells replaced which. As it was manual it missed some and in a few cases had the wrong combination. In working through Shadowlands changes I found Blizzards function to get the base spell from any ability. What we didnā€™t know then but know now is that Spec changes change a base spell into a spec specific variant. For Priests, Flash Heal becomes Shadow Mend when you swap to shadow. There is a similar relationship between Eviserate and Dispatch, Shear and Demonā€™s Bite. /cast Flash Heal if you are I. Shadow form will cast Shadow Mend. (You can test this by being shadow and entering /cast Flash Heal into your chat box.) Do not panic but use your brain and look at the logs. (I had someone post a castsequence as proof that this didnā€™t work. Their castsequence was locking 3 spells earlier. We will talk about this in the next part.)

What this also means is that we can write a macro to work across specs now. Whether you would want to do that or not is another matter.

There are some circumstances where you actually need a specific version of a spell. Shadow Priests can cast Void Bolt (and it needs to specifically be void bolt not the base spell) when channeling a certain ability. To do this prefix the line with $$ eg $$/cast Void Bolt or $$/castsequence spell1, Void Bolt , spell3, etc

I have seen people saying the work around is /use. /use is for items /cast is for spells. This becomes more important when /use is matched up with itemidā€™s and equipment slots not spellidā€™s.

Before you really freak out you can do some simple tests. Take a spell you are trying to add to your macro and do the following: (You will need to turn off stuff like ElvUI for this to work)

/run print(GetSpellInfo(ā€œShadow Mendā€))

This will return a bunch of stuff but the last number is the spell id. For the sake of the excercise Iā€™m going to use 1234

/run print(FindBaseSpellByID(1234))

This will return a different spell id if it is an update to a base spell. If it returns nothing then this is the base spell - for examples sake Iā€™m going to use 9876

/run print(GetSpellInfo(9876))
This will then return Flash Heal.

/cast Flash Heal will cast instead Shadow Mend if I am shadow specā€™d.

Note these numbers arenā€™t the right ones as itā€™s 5am where I am and Iā€™m on a phone. You can do this with any spell but to go from a name to an if in the first step you need to know the spell. If you are in disc and go getspellinfo(shadowmend) it wonā€™t work as you donā€™t know shadow mend.

commented

This was from when I was asked about this 2 years ago. You can test this by using /cast spell in your chat box and seeing what spell is actually cast.

You also canā€™t cast the spells of the other spec these are translated by WoW into your current spec/talents

commented

Thanks for the detailed reply., makes sense now that you have explained it so well