[GSE3] Cache known spells
TimothyLuke opened this issue · 2 comments
When you swap specs you loose the ability to identify a spell by its name. Create a simple set list of known spell ids and use the override function to convert to the spell id. Allow group members to sync the data,
When you zone in you are in a spec and know a bunch of spells. When you change spec you unlearn some and learn others.
Now Blizards GetSpellByName function will work on the ones you know but not the ones you dont. but their GetSpellById works for all but is limited to local language.
What I am thinking is when you use a spell in a macro there is a sections of GSE that translates that to a spellid if you know the spell - im thinking of caching that so when you swap specs you still know the ids of the other spells. If I take that one step further, and store that in say enUS locally, you could then sync your list with other players you group with behind the scenes and get a cache of the ones you dont know yet. For EU this cache could store not just id to local but convert enUS to Id to Local and share the enUS bits with other guild/party members so they have a cache of languages that translate local to id, and for a local id to that locale.
I spent some time playing on a German client and the English one. The following were saved in the cache.
GSESpellCache = {
["deDE"] = {
["Zornige Vergeltung"] = 31884,
["Hammer der Rechtschaffenen"] = 35395,
["Wort der Herrlichkeit"] = 85673,
["Kreuzfahrerstoß"] = 35395,
["Weihe"] = 26573,
["Heiliges Prisma"] = 114165,
["Schild des Rächers"] = 31935,
["Licht des Märtyrers"] = 183998,
["Segen des Schutzes"] = 1022,
["Schild der Rechtschaffenen"] = 53600,
["Richturteil"] = 20271,
["Hammer des Zorns"] = 24275,
["Licht der Morgendämmerung"] = 85222,
["Lichtblitz"] = 19750,
["Heiliger Schock"] = 20473,
},
["enUS"] = {
["Avenging Wrath"] = 31884,
["Holy Prism"] = 114165,
["Judgment"] = 20271,
["Light of the Martyr"] = 183998,
["Hammer of Wrath"] = 24275,
["Holy Shock"] = 20473,
["Shield of the Righteous"] = 53600,
["Light of Dawn"] = 85222,
["Hammer of the Righteous"] = 35395,
["Consecration"] = 26573,
["Crusader Strike"] = 35395,
["Avenger's Shield"] = 31935,
},
}