So I've looked into GoM issues a lil. GoMUse${i} is used in Dot and Nuke Routines. Any class using these will encounter issues unless they remove #warning. But even with it removed that means that GoM is not working correctly.
Code:
/if (${Me.Song[Gracious Mana].ID}) {
/if (!${Defined[GoMSpellName1]}) /declare GoMSpellName1 string outer "Gracious Mana"
} else /if (${Me.Song[Gift of Mana].ID}) {
/if (!${Defined[GoMSpellName1]}) /declare GoMSpellName1 string outer "Gift of Mana"
} else /if (${Me.Song[Gift of Radiant Mana].ID})
/if (!${Defined[GoMSpellName1]}) /declare GoMSpellName1 string outer "Gift of Radiant Mana"
} else /if (${Me.Song[Gift of Dreamlike Exquisite Radiant Mana].ID}) {
/if (!${Defined[GoMSpellName1]}) /declare GoMSpellName1 string outer "Gift of Dreamlike Exquisite Radiant Mana"
} else /if (${Me.Song[Gift of Exquisite Radiant Mana].ID}) {
/if (!${Defined[GoMSpellName1]}) /declare GoMSpellName1 string outer "Gift of Exquisite Radiant Mana"
} else /if (${Me.Song[Gift of Amazing Exquisite Radiant Mana].ID}) {
/if (!${Defined[GoMSpellName1]}) /declare GoMSpellName1 string outer "Gift of Amazing Exquisite Radiant Mana"
} else /if (${Me.Song[Gift of Phantasmal Exquisite Radiant Mana].ID}) {
/if (!${Defined[GoMSpellName1]}) /declare GoMSpellName1 string outer "Gift of Phantasmal Exquisite Radiant Mana"
}
was added in hopes of correcting that. This is meant to be automated.
As I may have mentioned I don't really play the game anymore. I could look all these up and try to figure out what is supposed to be more important than another but I'd rather come to you and ask that these be put in proper order from best to worst.
The idea is that the worst be the last option, and the best be the first option.
For those of you not coding proficient, I want it to check if the best possible one is available....else if the next best possible one is available etc on down the line. until it finds one that you have. Once it finds the one you have it declares that one at the one to use and exits the if/else chain.
You need not fix the code, just rearrange the text in "here" to show me the correct order, I'll fix the code if needed and you don't know how.
I added the code to the /call Load, which is the first thing that should happen when executing the macro. I chose this location because this is after the ${GoM} string is defined, but before any of the variables are used.
More testing is needed to identify icons as those are also used as variables. thus this may not work.
Not to mention the part where I have a tendency to make mistakes in coding, specifically when I can't test it myself.
Thanks in advance.