GSE 2.0

I’ve started and am about 25% of the way through a complete rewrite of the mod from the Ground Up. There are a number of bugs that I cant bandaid and need to totally change the imoplementaiton to fix. There is also a lot of code duplication and multiple implementations of the same thing that as I have been working on this have learnt about what not to do.

A lot of the old design decisions were built around a mod for a niche of players who understood Lua. Things like the ingame editor have broadened the reach of the mod to a less technical group. The bundled DraikMacros also didnt play out as I had expected. There are also the features that people have asked for that just cannot be achieved with the current design limitations.

In 2.0 DraikMacros wont exist as a seperate mod. Instead there will be sample macros for each class that when you login with a class and you have no macros you will get a one time prompt asking if you want to load in the sample macros for that class. After this point these macros will play like any other macro. If you delete it it will disappear. If you want it back there will be an option to reload the sample macros. HAve it create the entry in /macros when you drag the icon to an action bar.

You will be able to configure multiple versions of a macro for different conditions. Want a default version that is super lazy great but in a Raid I want to turn off the cooldowns and trigger them manually. I also want to use trinkets in one but not the other. I may want different step functions and i want it to auto configure as I change between zones without tieing up multiple macro slots.

Plugin Authors have wanted to be able to advise when they have updated a macro or ship a macro as present but disabled. There is a complete API that plugin authors will be able to use to achieve these results. Yes this will still support plugins but it will require some Lua knowledge to implement the API. There will be documentation on this.

Even in the current macro spec, some of the terms do not reflect what they are currently doing. Change the helpTxt line to Help, split off talents and Honor Talents into their own fields. When changing zones in the grace period check that talents dont match and prompt the user to either apply the macro talents or not. Fix the spec for Internal loop so that you can easily see the pre and postmacro steps. Handle custom step funcitons better. I may have figured out a way to reset a macro in combat based on target change.

All this stuff is not achievable with the current codebase.

While this is still super early days here is a sample of what a macro could look liek in 2.0:

Sequences['Ret'] = {
  author="TimothyLuke",
  specID=70,
  icon='INV_MISC_QUESTIONMARK',
  lang="enUS",
  talents="1112111",
  helplink="https://wowlazymacros.com/forums/topic/tls-ret-macro/"
  default=1,
  raid=2,
  pvp=3,
  mythic=4,
  MacroVersions = {
    [1] = {
      StepFunction = "Priority",
      SoundErrorPrevention=true,
      Trinket1=true;
      Trinket2=true;
      KeyPress=[[
      /targetenemy [noharm][dead]
      /cast Avenging Wrath
      /cast Shield of Vengeance
      ]],
      "/cast [talent:5/1] Justicar's Vengeance; [talent:5/2]Eye for an Eye",
      "/cast Templar's Verdict",
      "/cast Judgment",
      "/cast Blade of Justice",
      "/cast Wake of Ashes",
      "/cast Crusader Strike",
      KeyRelease=[[
      ]],
    },
    [2] = {
      StepFunction = "Priority",
      reset="target,combat",
      KeyPress=[[
      /targetenemy [noharm][dead]
      ]],
      "/cast [talent:5/1] Justicar's Vengeance; [talent:5/2]Eye for an Eye",
      "/cast Templar's Verdict",
      "/cast Judgment",
      "/cast Blade of Justice",
      "/cast Crusader Strike",
    },
    [3] = {
      StepFunction = "Priority",
      reset="target",
      Head=true;
      KeyPress=[[
      /targetenemy [noharm][dead]
      /cast Avenging Wrath
      /cast Shield of Vengeance
      ]],
      "/cast [talent:5/1] Justicar's Vengeance; [talent:5/2]Eye for an Eye",
      "/cast Templar's Verdict",
      "/cast Judgment",
      "/cast Blade of Justice",
      "/cast Wake of Ashes",
      "/cast Crusader Strike",
      KeyRelease=[[
      /cast Hand of Hindrance
      ]],
    },
    [4] = {
      StepFunction = "Sequential",
      LoopLimit=5,
      Trinket1=true,
      Ring1=true,
      KeyPress=[[
      /targetenemy [noharm][dead]
      ]],
      PreMacro=[[
      /cast Avenging Wrath
      /cast [talent:5/2]Eye for an Eye
      ]],
      "/cast [talent:5/1] Justicar's Vengeance",
      "/cast Templar's Verdict",
      "/cast Judgment",
      "/cast Blade of Justice",
      "/cast Wake of Ashes",
      "/cast Crusader Strike",
      PostMacro=[[
      /cast Shield of Vengeance
      ]],
      KeyRelease=[[
      ]],
    },
  }
}

This is weeks out. At the moment I an working on the API side first and will then make things work. Some of the API stuff is forming over at https://timothyluke.github.io/GnomeSequencer-Enhanced/docs/

Things will change based on the feedback I get. It may be a shock but I make changes based on the things people tell me. I release alpha and beta version, 800 odd people download these builds but almost no one tells me about issues till after its released.

On a side note as this has significantly departed from its GS roots it probably needs a new name. Thoughts, Suggestions?

For those used to Kanban - https://github.com/TimothyLuke/GnomeSequencer-Enhanced/projects/1 This is a link to the project status

Hi TimothyLuke, ive just seen this post. i’s fantastic news that your working on this, can’t wait to see it. good luck and keep us updated if you can

Just a progress update on this. Last night I hit the first milestone. I was able to use a sample macro and hit things with it. KeyPress and KeyRelease are not working yet but the sequence was operating. I am about 3-4 weeks away from the first alpha. There is still a ton of work to go but I am removing a lot of duplicate code and bugs from bandaids that have evolved over time. This alpha will install to a new folder so that you can test without breaking your current installation.

Personally I completed a major personal milestone. I have two fulltime jobs as well as writing this. I’m a Solution Architect by day and a Pastor by night. I finished the first part of Ordination last week and was recognised as a Provisional Minister. I appreciate that a lot of people don’t share the values and belief’s I have. Don’t worry there wont be hidden messages in GSE about your soul. There are enough artefacts talking to players as it is. I took a week away for this as this was the culmination of 19 years of effort and dreams and I wanted to enjoy it.

amazing tim, keep up the good work,loving your ret macros BTW

I am new to GS and reading this has given me hope. I know its a personal problem, but I just don’t enjoy the game when I’ve got to pound my keyboard nonstop. I used to love it when was younger but any game that requires such play style usually turns me off very quickly. Thank you for your hard work.

Do the donation to this site go to you and you work?

I would just like to say a really big thank you, for all your time and effort you have put into this fantastic addon.
I would not be playing WoW if this addon did not exist, as I am ‘getting on a bit’ and hitting keys like a mad man doesn’t do my fingers/wrist any good. Not only that but it takes away the enjoyment from the game itself.
Having this addon has made my in-game life soooo much easier, I spend more time looking at the game and the surroundings than keys!
I am not a hard core player, searching for the ultimate dps, etc. This addon is like a cruise control for me.
Keeps my rotations at a nice steady and acceptable rate, so that I can run mythic+ dungeons without a problem.

Now that you mention a ‘new version’, I would like to state that for someone who likes to try out all the different scripts for the classes (bit of an alt-a-holic). I would like a better/easy way of managing all the scripts. I do find trying to delete previous versions/scripts can be a hassle, I know there are solutions, but they tend to be very long winded. Just a better, cleaner way would be nice for us alt addicts that love playing around with all these wonderful scripts.

Again, many thanks to you and to all you that submit scripts, you really are making players happy!

Yeah the entire storage and Config will be easier in that you can configure a macro to behave differently in mythic dungeons vs out in the world. When you load in it wont create every macro icon. You will do that via /gsse and from there drag it to your action bar. You will also be able to delete this icon easily.

In essence you will have a Macro Library. Macro Collection plugins like HP will load into that library and there will be an option for you to reload that collection in case you delete it and authors of these mods will have the tools to be able to add updates and tell you of changes when they update. Deleting macros outright from your library and deleting versions will still be “reasonably” difficult. It will be via a deliberate action that while will be more apparent and obvious than it was before there will be checks. This is protection against accidental deletion as once its gone its gone.

@TimothyLuke: Thanks for all your work on this. I can’t imagine a more user friendly interface than what we have right now, so I am intrigued to see what v2.0 brings. Cheers! :slight_smile:

This is a Work in Progress shot. Its coming together and things like Deleting are a lot less painful. The whole Manage Versions screen goes away.

On this first Configuration tab you set up the metadata. There is a box for Help / Notes, Space for a Forum Link etc. Talents are their own entry so that in later versions I could add a button to set your talents to match. You can also set different versions of the same macro to behave differently in PVP, Mythic, Raids etc

This second tab is for editing version 1.

There is a Delete Version button that is currently not shown but it also adds overrides so that you can choose to use the values from your Global Options (Grey Tick), Force Use (Gold Tick) or Force non use (Empty Box) for trinkets etc. IE you could have one version of the macro to use trinkets etc but not use them in a raid leaving them to manual control.

This has taken about 4 weeks to get to this stage and its about 70% complete in total.

Amazing Timothy,
Can’t wait to see and use this.
thanks again for your time and patience that your spending on this.
well done as well with your irl goals you commented on.

This is almost at the place where it can be used. Remaining things to finish are

  • Translator (Colour Markup)
  • Import
  • Record Macro
  • Send
  • Target switch detection












Thanks Timothy, it’s looking Amazing. can’t wait to try it.
all the best

I’m exciting to try out new beta of GSE. Thanks Luke for an amazing work.

The very first alpha has been added to the #gnome-sequencer Discord channel. It has some specific upgrade instructions so that you can roll back so I didnt want the alpha to auto propogate via Curse.

Hit the “Join Server” to the right if of this Page Under Lazy Chat

tells me its malware

Fantastic - Chrome thinks it malicious based solely on the url but Firefox, and Edge have no issue with it. If you rename the .unconfirmed to .zip in your download folder it works.

I have relocated it to https://github.com/TimothyLuke/GnomeSequencer-Enhanced/files/640578/GSE2-Private_Alpha.zip for those who prefer.

The upgrade instructions are:

  1. Go to c:\path\to\World of Warcraft\WTF\Account<<ACCOUNTNAME.>>\SAvedVariables and backup gs-core.lua (THis will enable you to go back without fear)
  2. If you use a macro in DraikMacros or GS-HiighPerformance Macros - make a local edit and exit the game
  3. go to c:\path\to\World of Warcraft\Interface\Addons and delete GS-Core, GS-DraikMacros, GS-SequenceEditor, GS-HighPerformanceMacros

This handles plugins completely differently than GSE1 did. All GSE1 plugins are now loaded via teh GS-Core adaptor. This does two things it loads the old plugins and then loads them into GSE2. At any time you can wipe all the GSE2 macros and reload these by going to options and clicking the button on the Plugins Tab. The former DB_ macros can be loaded from here (they now have the prefix SAM_) If you login to a class with no Macros it prompts asking iuf you want to load the sample macros.

This has been written from the ground up with ingame editing in mind. Addon macro packs are supported but they will need to implement the Plugin API or use the Legacy Adaptor.

Known issues:
I havent finished testing international languages,
some of the zoneing code may not be perfectly ironed out. (ie swapping from Default to Mythic/Raid/PVP)
(/gs will bring up gsse now)

this version is also 50k smaller than the last version just from removing duplicated and redundant code

Yeah, for some reason. Using a completely clean WTF folder on the PTR it refuses to work for me.

I don’t have access to the PTR so can’t comment however you won’t need the GS-Core folder in a clean install only the GSE folder.

PTR keeps telling me no realms available and no one from Blizzard will help solve the problem.

Do you have any error messages or anything I can use to troubleshoot with apart from it refuses to work?