Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 29 additions & 28 deletions MegaMacro.toc
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
## Interface: 110000
## Title: Mega Macro
## Author: Sellorio
## Version: 1.0.0
## OptionalDeps: ElvUI

## SavedVariables: MegaMacroConfig, MegaMacroGlobalData
## SavedVariablesPerCharacter: MegaMacroCharacterData

src/constants.lua
src/config.lua
src/tooltip-functions.lua
src/mega-macro.lua
src/mega-macro-icon-navigator.lua

src/engine/mega-macro-action-bar-engine.lua
src/engine/mega-macro-code-info.lua
src/engine/mega-macro-icon-evaluator.lua
src/engine/mega-macro-engine.lua

src/engine/parsing/parsing-functions.lua
src/engine/parsing/colours.lua
src/engine/parsing/conditions.lua
src/engine/mega-macro-parser.lua

src/windows/mega-macro.window.xml

src/main.lua
## Interface: 120000
## Title: Mega Macro
## Author: Sellorio
## Project Successor: Torchlite
## Version: 1.6.5
## OptionalDeps: ElvUI

## SavedVariables: MegaMacroConfig, MegaMacroGlobalData
## SavedVariablesPerCharacter: MegaMacroCharacterData

src/constants.lua
src/config.lua
src/tooltip-functions.lua
src/mega-macro.lua
src/mega-macro-icon-navigator.lua

src/engine/mega-macro-action-bar-engine.lua
src/engine/mega-macro-code-info.lua
src/engine/mega-macro-icon-evaluator.lua
src/engine/mega-macro-engine.lua

src/engine/parsing/parsing-functions.lua
src/engine/parsing/colours.lua
src/engine/parsing/conditions.lua
src/engine/mega-macro-parser.lua

src/windows/mega-macro.window.xml

src/main.lua
261 changes: 135 additions & 126 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,126 +1,135 @@
# Mega Macro (a World of Warcraft AddOn)

![Screenshot 1](https://raw.githubusercontent.com/Sellorio/mega-macro/master/Screenshot1.png)

**IMPORTANT:** Before you use this AddOn, make sure you read the `before you use` section!

## Features

Use the `/m` command to begin your new macro experience!

Once macro import is complete, `/m` will only show the new macro UI.

### More macro slots!

This AddOn seamlessly provides you with a massive increase to macro slots over the native amounts of
120 global and 18 per-character slots that the Blizzard UI provides. How does it do this? By segmenting
the 138 total macro slots into 5 categories and hot-switching macros based on your Class and Specialization.

The breakdown of macro slots is as follows:

1. 60 global macros
2. 30 per-class macros
3. 30 per-specialization macros
4. 8 per-character macros
5. 10 per-character per-specialization macros

That's an amazing 30 slots you can use to setup your macros for each specialization where previously you
would be forced to fit all your class macros for all specializations into a max of 18 slots!!

I'm not just trying to be a sales person here - I've wanted this feature for ages. Especially as a Druid
main!

### Shared macros across characters

Building on the last feature, the per-class and per-specialization macros are not character specific so
you don't need to copy your macros around manually if you have more than one character of a particular
class.

### Improved macro icon/tooltip evaluation

This is the other big feature added by this AddOn. By default the Blizzard UI picks your icon based on
`#showtooltip` or uses the icon of the spell that will be cast (and doesn't use it's tooltip). Mega Macro
does the following:

1. `#showtooltip` as source for icon and tooltip always when present
2. The spell/item/toy that will be cast will have its icon _and tooltip_ used
3. You can make the icon setting be the fallback icon to display
4. If no spell/item/toy/icon will be used, picks the first spell/item/toy in the macro and shows that

Number 3 is the kicker here. This means if you are a healer and have heal-safe macros like this one:

```
/cast [help, no dead] Heal
```

Then you don't need to prefix your macro code with `#showtooltip Heal` - the AddOn handles that for you! This
cuts down on some of the redundant manual work required to write a macro and reduces the amount of macro code
capacity you have to use on non-functional code.

As a bonus to the above improvement, cast-sequence commands will not only effortlessly display the correct icon,
you'll also get the tooltip for the sequence abilities - impossible in the current macro implementation.

### Bigger macros!

Write macros up to 1023 characters long. No more having to minify your macro code making it harder to
read. Spread out those casts, have them on separate lines for more readability and/or add comments. You can do
so much more with four times the code capacity!

### Ids are preserved

Your action bars will not break. Your macros defined in the Mega Macro UI will use the same macro slot
for their entire lifetime so you don't have to worry about your action bars breaking when switching
characters and specializations.

### Improved macro UI

The Mega Macro UI replicates the native macro UI down to every last detail **except for the following**
**improvements**:

* Searchable icon list
* Wider, making better use of screen space
* Higher, expanding the macro text box so you'll rarely have to scroll to view your code
* Buttons are contextually disabled
* "Change Name/Icon" changed to "Rename"
* Icons in macros list and selected macro are updated dynamically based on macro conditionals
* Icons in macros list and selected macro trigger tooltips

## Before you use

This AddOn will destroy your existing macros once they have been imported. If the import fails, the AddOn
won't do anything to your macros until it is successful.

Once successfully imported, if you remove the AddOn you will have 138 stub macros and your old macros will
be gone.

To avoid this, follow the instructions below.

### When you install the AddOn

**Before you start the game**, you'll want to back up your macros. To do this:

1. Windows + R (open the run dialog)
2. Enter the following command:

```
robocopy "C:\Program Files (x86)\World of Warcraft\_retail_\WTF\Account" %USERPROFILE%\Games\wow-macro-backup macros-cache.txt /s
```

3. click OK

### When you want to remove the AddOn

Do the following steps **after exiting the game**.

1. Windows + R (open the run dialog)
2. Enter the following command:

```
xcopy /e /i /y %USERPROFILE%\Games\wow-macro-backup "C:\Program Files (x86)\World of Warcraft\_retail_\WTF\Account"
```

3. click OK

## Special Thanks

Special thanks to `aurelion314` (`Cubelicious` in-game) and `Dannez83` for contributing many hours to update this addon for Dragonflight!
# Mega Macro (a World of Warcraft AddOn)

![Screenshot 1](Screenshot1.png)

**IMPORTANT:** Before you use this AddOn, make sure you read the `before you use` section!

## Features

Use the `/m` command to begin your new macro experience!

Once macro import is complete, `/m` will only show the new macro UI.

### More macro slots!

This AddOn seamlessly provides you with a massive increase to macro slots over the native amounts (120 global
and 30 per-character slots). How does it do this? By segmenting the total macro slots into categories and
hot-switching macros based on your Class and Specialization.

The breakdown of macro slots is as follows:
1. 60 global macros
2. 30 per-class macros
3. 30 per-specialization macros
4. 30 per-character macros
5. (Legacy support for inactive/archived macros)

That's an amazing 60 slots you can use to setup your macros for each class/specialization, where previously
you would be forced to fit all your class macros for all specializations into the limited character-specific
slots!

### Shared macros across characters

Building on the last feature, the per-class and per-specialization macros are not character specific.
You don't need to copy your macros around manually if you have more than one character of the same
class—Mega Macro syncs them for you automatically.

### Improved macro icon/tooltip evaluation

This is the other big feature added by this AddOn. By default the Blizzard UI picks your icon based on
`#showtooltip` or uses the icon of the spell that will be cast. Mega Macro improves this by doing the
following:

1. `#showtooltip` is always used as the source for icon and tooltip when present.
2. If no `#showtooltip` is present, the spell/item/toy that will be cast is dynamically evaluated to determine
the correct icon.
4. You can set a specific fallback icon to display if no conditions are met.
5. Smart Fallback: If no spell/item/toy/icon will be used, it picks the first valid spell/item/toy found in the macro code.

Number 3 is the kicker here. This means if you are a healer and have heal-safe macros like this one:

```
/cast [help, no dead] Heal
```

You don't need to prefix your macro code with `#showtooltip Heal` —the AddOn handles that for you! This cuts down
on redundant manual work and saves character space for functional code.

As a bonus, `castsequence` commands will not only effortlessly display the correct icon, but you'll also get
the tooltip for the current ability in the sequence—something impossible in the default UI.

### Bigger macros!

Write macros up to 1024 characters long. No more minifying your code or using obscure abbreviations just to fit
the limit. Spread out those casts, use separate lines for readability, and add comments. You can do so much more
with four times the code capacity!

*(Note: Macros over 255 characters are handled via a secure clicking system invisible to the user.)*

### Ids are preserved

Your action bars will not break. Your macros defined in the Mega Macro UI are synchronized to the native macro slots, so you don't have to worry about your action bars breaking when switching characters, specializations, or uninstalling the addon.

### Improved macro UI

The Mega Macro UI replicates the native macro UI feel but adds:

* Searchable icon list (Updated for Patch 12.0)
* Wider interface, making better use of screen space
* Taller text box, so you rarely have to scroll to view code
* Buttons are contextually disabled
* "Change Name/Icon" simplified to "Rename"
* Icons in the macro list update dynamically based on conditionals

## Before you use

This AddOn will take over your existing macros once they have been imported. If the import fails, the AddOn won't do anything to your macros.

Once successfully imported, if you remove the AddOn folder without uninstalling properly, you will be left with "stub" macros (macros that point to Mega Macro logic).

To avoid this, follow the instructions below.

## How to Install
1. Install the addon to your `_retail_/Interface/AddOns` folder.
2. Login to your character.
3. The addon will automatically prompt to import your existing macros into the Mega Macro storage.

## How to Uninstall (The Easy Way)
1. Open Mega Macro (`/m`).
2. Click the Config tab at the bottom right.
3. Click the Uninstall button.
4. The addon will restore your macros to their standard Blizzard format (shortening them if necessary).
5. You can now safely delete the AddOn folder.

## How to Uninstall (The Manual "Nuclear" Way)
If you cannot access the game or the uninstall button fails, you can restore your macros if you made a backup of your WTF folder.

### When you install the AddOn (The Manual Way)

**Before you start the game**, you'll want to back up your macros. To do this:

1. Windows + R (open the run dialog)
2. Enter the following command:

```
robocopy "C:\Program Files (x86)\World of Warcraft\_retail_\WTF\Account" %USERPROFILE%\Games\wow-macro-backup macros-cache.txt /s
```

3. click OK

### When you want to remove the AddOn (The Manual Way)

Do the following steps **after exiting the game**.

1. Windows + R (open the run dialog)
2. Enter the following command:

```
xcopy /e /i /y %USERPROFILE%\Games\wow-macro-backup "C:\Program Files (x86)\World of Warcraft\_retail_\WTF\Account"
```

3. click OK

### Special Thanks

Special thanks to `aurelion314` (`Cubelicious` in-game) and `Dannez83` for their contributions during Dragonflight, and to the community for helping update the addon for Patch 12.0.0 (Midnight). This Addon is being updated with AI assistance using Gemini 3 Pro.

Binary file modified Screenshot1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions scripts/publish.bat
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
CALL .\depublish.bat
mkdir "C:\Program Files (x86)\World of Warcraft\_retail_\Interface\AddOns\MegaMacro"
xcopy /e /i /exclude:..\.publishignore .. "C:\Program Files (x86)\World of Warcraft\_retail_\Interface\AddOns\MegaMacro"
CALL .\depublish.bat
mkdir "C:\Program Files (x86)\World of Warcraft\_retail_\Interface\AddOns\MegaMacro"
xcopy /e /i /exclude:..\.publishignore .. "C:\Program Files (x86)\World of Warcraft\_retail_\Interface\AddOns\MegaMacro"
PAUSE
2 changes: 1 addition & 1 deletion scripts/reset-data.bat
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
cd "C:\Program Files (x86)\World of Warcraft\_retail_\WTF"
cd "C:\Program Files (x86)\World of Warcraft\_retail_\WTF"
del /s /q /f "MegaMacro.*"
Loading