GS-E: How to force a Spell to not be red in GS-E

In GS-E there is a macro parser to try to identify spells. This is also used to translate between enUS and other languages. The way this works is that there is a couple of lists that a spell is checked against. You can add some settings to this list via a myMacros file to brute force the translator and also to add spells or abilities that may be missing. The spell list I have to maintain manually.

This is an example on what to add to a myMacros file to force the parser to recognise a spell. How it works is it tries normal case then if it cant find it it converts the spell to lower case and tries again.

If you are just using English, the third entry needs to be enUS or GetLocale() (GetLocale() always returns your clients current language)

These two functions add a spell to the Master List.

-- This function converts an enUS spell name to an ID.
GSAvailableLanguages[GSTRStaticHash]["enUS"] = {
	["Ice Flows"] = 108839, -- This should be Ice Floes
	["Lightning Bold"] = 8246, -- This should be Lightening Bolt
	["Eathern Shield Totem"] = 198838,
	["Savage Defense"] = 132402, -- For some reason this comes out as ZZOld
}
--- This function converts a lowercalse enUS spell name to an ID.
GSAvailableLanguages[GSTRStaticShadow]["enUS"] = {
	["ice flows"] = 108839, -- This should be Ice Floes
	["lightning bold"] = 8246, -- This should be Lightening Bolt
}

This function tells GS-E how to translate it. the default language for English is enUS. Think of this like the reverse phone book entry.

-- This function adds a spell to your local language.
-- You can override GetLocale() and provide a specific language like "esMX"
GSAvailableLanguages[GSTRStaticKey][GetLocale()] = {
 	[198838] = ["Escudo Totem"], -- This needs to be the spell name in your language.
 }