TimothyLuke / GSE-Advanced-Macro-Compiler

GSE is an alternative advanced macro editor and engine for World of Warcraft.
https://discord.gg/gseunited
MIT License
188 stars 70 forks source link

[BUG] Condition Resets Not working when using GSE Sequence but works from In Game Macro #1498

Open LarryThiessen opened 1 month ago

LarryThiessen commented 1 month ago

🔵 Describe the bug: [BUG] Condition Resets Not working when using GSE Sequence - Works with IN GAME Macro but will not work when using it in a GSE Sequence

These Work perfectly when using iN GAME macros but not when using this in a GSE Sequence / Macro Block They fail even if set as the SPEC or General Class

/targetenemy [noharm,nocombat]
/startattack [nocombat]
/castsequence [spec:1]   reset=target  Agony, null
/castsequence [spec:2]   reset=target  Shadow Bolt, null
/castsequence [spec:3]   reset=target  Incinerate, null
/petattack [combat]
/targetenemy [noharm,nocombat]
/startattack [nocombat]
/castsequence [spec:1,combat]   reset=target  Wither, Unstable Affliction, null
/castsequence [spec:2,combat]   reset=target  Power Siphon, null
/petattack [combat]

🔵 To reproduce: (Steps to reproduce the behavior)

  1. Try the macro above in GSE Sequence as a Macro Block and in an In Game Macro

🔵 GSE Version: GSE-3.2.00-beta4-PatronBuild

🔵 Additional context: For GSE to recognize conditions something - please see macro above as examples. I wish I could code Tim - I would help you - I feel bad reporting stuff I know you would want fixed and I can't fix it myself.

LarryThiessen commented 1 month ago

I think they are doing something to Kill the Direct Keybinding we are using currently in GSE. I think this because I can Keybind these IN GAME on Normal IN GAME Macros and they work.

TimothyLuke commented 1 month ago

So the immediate workaround is to put the name of that macro in the macro box in GSE. I can’t control what WoW does with the commands we send it.

LarryThiessen commented 1 month ago

So the immediate workaround is to put the name of that macro in the macro box in GSE. I can’t control what WoW does with the commands we send it.

I will do that - Just throw the macroname On the top line Tim -

MACRONAME
/targetenemy [noharm,nocombat]
/startattack [nocombat]
/castsequence [spec:1]   reset=target  Agony, null
/castsequence [spec:2]   reset=target  Shadow Bolt, null
/castsequence [spec:3]   reset=target  Incinerate, null
/petattack [combat]
LarryThiessen commented 1 month ago

FYI I'm doing the same thing on the Hunter Class with [spec] and having zero issues

TimothyLuke commented 1 month ago

What does the compiled macro look like for that - wonder if it’s a base spell issue?

TimothyLuke commented 1 month ago

To call a macro it’s just

MACRONAME

with nothing else in the box

LarryThiessen commented 1 month ago

Its something specific to the Warlock I think - All the [Spec] worked with the Hunter. I'll work on it more later and try to narrow it down to exactly why it wont work.

TimothyLuke commented 1 month ago

I’d look at the compiled template and https://github.com/TimothyLuke/GSE-Advanced-Macro-Compiler/wiki/Base-Spells and see if there was anything strange happening there.

TimothyLuke commented 1 month ago

You could also use a variable to determine if spec =x and then use if blocks

LarryThiessen commented 1 month ago

You could also use a variable to determine if spec =x and then use if blocks

I brought the Macro Block all the way down to:

/targetenemy [noharm,nocombat]
/startattack [nocombat]
/cast [spec:1]  Agony
/petattack [combat]

I took it down one thing at a time and it absolutely would NOT fire if there was /castsequence used in the GSE Macro Block. for the Spell. Which leads me to believe they may have blocked Insta DOTS and Castsequence so you cant do a

/castsequence reset=combat/target INSTADOT, Null

TimothyLuke commented 1 month ago

You are surprised that /castsequence fails? I am surprised when it works. It has been broken in implementation since BFA’s alpha where they removed it and then put it back in a broken way 1 day before release. Null has been a constant source of failure in that it is very dependant on what items a person has picked up over the life of the game. Castsequence works in a limited capacity for a normal macro but even then you can’t depend on it.

LarryThiessen commented 1 month ago

You are surprised that /castsequence fails? I am surprised when it works. It has been broken in implementation since BFA’s alpha where they removed it and then put it back in a broken way 1 day before release. Null has been a constant source of failure in that it is very dependant on what items a person has picked up over the life of the game. Castsequence works in a limited capacity for a normal macro but even then you can’t depend on it.

I know we have gone back and forth on this with /castsequence and I have had for the most part secess using it for the small things I use it for. I've never had it fail in GSE and work in an In Game macro - but I have also never had the changes happen that have happened via Blizzard in the last month or so .. its like a whole new game when it comes to thinking about macro sand how to make them work well.

With that being said I'm closer than ever at putting together what I have said that Blizzard is moving to a execution style that matches SWTOR. My first shot at this is my new Hunter macro Set that without even really thinking about it I was able to line up all 3 specs on the same macro set.

LarryThiessen commented 1 month ago

What does the compiled macro look like for that - wonder if it’s a base spell issue?

I'll look when the servers come back up - sorry missed this last night

TimothyLuke commented 4 weeks ago

The work around for this :

gotex007 commented 3 weeks ago

The work around for this :

* Put the castsequence with the reset lines in a normal macro in /macro

* In GSE put the /macro name in the Macro box on its own.

When doing this it seems to only run the first named macro in a loop sequence (even if it's not the first block in the loop) and not other block, not even a second named macro. It doesn't even have to be a castsequence macro for it to act this way. A basic /use named macro still bricks the rest of the loop.

TimothyLuke commented 3 weeks ago

I have just fixed a weird /targetenemy quirk in #1546. Could someone test this again in a GSE block to see if that has also fixed this?

gotex007 commented 3 weeks ago

I have just fixed a weird /targetenemy quirk in #1546. Could someone test this again in a GSE block to see if that has also fixed this?

The update does appear to make it so the workaround you mentioned does work. I tested it with 2 different named macros with reset conditionals in the loop and it seems to be working as expected now.

It still doesn't work properly with the castsequences directly in the macro block, though I don't know if the update was expected to remedy that.

TimothyLuke commented 3 weeks ago

It has no control over that at all.

I have just fixed a weird /targetenemy quirk in #1546. Could someone test this again in a GSE block to see if that has also fixed this?

The update does appear to make it so the workaround you mentioned does work. I tested it with 2 different named macros with reset conditionals in the loop and it seems to be working as expected now.

It still doesn't work properly with the castsequences directly in the macro block, though I don't know if the update was expected to remedy that.

Then its still a wow problem

gotex007 commented 3 weeks ago

At least a workaround exists. Thankfully Blizzard gave us 12 more character macros.

wulala0079 commented 2 weeks ago

yes
/castsequence [mod:alt] reset=combat Thunder Roar, Blade Storm All content with the condition of using [mod:alt] reset= will not be available
If you don't use reset=combat/number, the order of the abilities will be incorrect It's distressing, but you can still use Expect future changes

TimothyLuke commented 1 week ago

This looks like it is a more significant issue as even /castsequence [nochanneling] reset=combat/target Azure Strike, null in a NORMAL macro is not respecting the reset=target part

It works when i make it /castsequence [nochanneling] reset=target Azure Strike, null

LarryThiessen commented 1 week ago

I think I just included the one line where it was breaking Tim - The macro was much larger and that line was a [nocombat] to start combat.. I actually removed the target part - so it ended up something like this:

/targetenemy [noharm,nocombat] /startattack [nocombat] /castsequence [nochanneling,nocombat] reset=combat Azure Strike, null /cast [harm,nochanneling,combat] Azure Strike

But I have other ingame macros being called in the priest macros that need the reset=combat/target in them.

TimothyLuke commented 1 week ago

/castsequence [nocombat] reset=target/combat spell1,null

this will never reset on target as once combat starts it will never be evaluated again.

you could just as easily go

/cast [nocombst] spell1

been spending a lot of time experimenting to try to get some rhyme or reason for this problem to go back to blizzard with.