Skip to content

GSE 3.2 and The War Within ‐ Catchup

Timothy Minahan edited this page Nov 19, 2024 · 20 revisions

Preamble

Up until The War Within, Mods like GSE were able to use the MacroText attribute on WoW's SecureActionButtonTemplate. This ability was removed with the War Within Alpha and a limited version has been reinstated for The War Within Beta. What this means for mods is that there are limits on what Macro commands a Mod like GSE can execute. To compensate for this GSE can call upon the remaining capabilities of SecureActionButtonTemplate, GSE can retain its capabilities by using it directly. GSE now consists of 4 main sections. Sequences, Keybindings, Variables and Macros. The menu to these is shown when you hit /gse.

image

Sequences

The updated Sequences replace the actions of GSE 3.1. The old sequence viewer/menu has been merged with the editor and you select the Template you want to work on from the left.

  • Spell/Item/Macro/Toy/Pet Ability
  • Unit Name
  • Action Type

image

Action Type

The action type determines what type of thing SecureActionButtonTemplate will do on this click.

  • Pet Ability is for Pet skills like Claw
  • Toy for a Toybox Item
  • Macro to call another macro that exists in /macro or enter directly some Macro commands. Note: this requires that you Keybind the GSE Sequence.
  • Item to use an item
  • Spell to use a spell

Unit Name

The Unit Name is the target a spell can be cast on. This is mostly synonymous with the @ mods used in macro commands. player for example = [@player], focus for [@focus]. The values that can be used here are defined https://warcraft.wiki.gg/wiki/UnitId

@cursor workaround.

Now @cursor does not have a replacement that can be used with Spell or Items types. You have to use a macro block with the commands for this or call out to a Macro from /macro.

Spell/Item/Macro/Toy/Pet Ability

The thing you actually want to do. In the case of spells these are stored as their ID to allow for translation between languages. For items, these can be the item name or the [https://warcraft.wiki.gg/wiki/Equipment_slot](Paperdoll Slot). In the future, items might also store their ID to allow for translation between languages.

Variables

Variables are chunks of Lua programming code that return either a string or a boolean.

image

Boolean functions allow the ability to do If blocks in the editor, while String variables can be referenced in Sequences by putting the Implementation Link into the sequence Spell or Unit box. To use a variable within a Macro block, put the variable on its own line. The variable will need to return the entire command in this setup.

image

Further information on Variables is located here

Macros

Macros now all have to be located in /macro. In previous versions of GSE, you used variables like KeyPress and KeyRelease to go before and after the content of the action. These now all have to be included in the actual macro located in /macro itself. The bad news is you have to be efficient. A max of 255 characters can be in this /macro.

image

To call a GSE Sequence you need a /click line in the macro. The format of this command is still dependent on the CVar ActionButtonKeyDown. This /click command can use mods so things like /click [nochanneling] GSESEQUENCE is both possible and practical. It is recommended to swap to KeyUp as opposed to KeyDown as the extra characters for KeyDown chew up valuable characters.

NOTE: This method will not work if there are any macro blocks in the GSE Sequence. You need to use the KeyBinding method instead as this will only work for 1-2% of GSE Sequences.

There is no option for GSE to create a /macro stub any longer. The preferred method is to KeyBind a GSE Sequence instead

image

KeyBinding

You don't need to use the /macro stub anymore. You can directly Keybind a GSE Sequence. This is required if you are using any Macro Blocks instead of using a /macro stub. See https://github.com/TimothyLuke/GSE-Advanced-Macro-Compiler/wiki/KeyBinding-and-Actionbar-Overrides For more information.

image

Using Weakauras to track your Sequence

You can use the following WeakAura to track how your sequence is executing. This is similar to the feedback from creating a /macro stub in previous versions. https://wago.io/stqLDfNWeL

If you wanted to create your own WeakAura, documentation on the GSE Event and the WeakAura trigger needed to do this is located as part of https://github.com/TimothyLuke/GSE-Advanced-Macro-Compiler/wiki/Using-a-WeakAura-to-track-a-GSE-Sequence

Exporting

Right Clicking on a Sequence, Variable or Macro will open a popup menu where you can choose to Export.

image

Patron Exclusives

GSE exists because of its Patron's support. To say thank you the following quality of life improvements are part of the GSE Patron Build available from the GSE Discord. GSE will run without these, they just make things easier.

Combined Export

GSE Patrons can combine a collection of these to export a group of things as one import. image

Autocomplete

Pressing the Tab key on the Spell or Macro box will popup known spells and known variables. image

Raw Edit

Originally a debugging tool, Raw Edit is one of those quality of life features that is available for Patrons. image

Import Dragonflight Sequences

There is a lot of change to sequences between GSE 3.1 and 3.2. The upgrade and installation process will try to convert what is in your GSE.lua file but importing old sequences will be part of the Patron Exclusives after that. Part of this is as a thank you. The other is that if something goes wrong, Patrons have extra avenues for support.