Using a WeakAura or an Addon to track a GSE Sequence - TimothyLuke/GSE-Advanced-Macro-Compiler GitHub Wiki
WeakAuras
Track Current Spell/Step of a Sequence
With the 3.2 build of GSE, a WeakAura can track how a sequence executes.
For those who want the things, here is a sample WA:
!WA:2!1z1tVTnYv8iRMMuMTP2YB8MKg0L1anizRTrCWMDlkqkwrzABTvwsHIoolkkKgsoICAOgYDMH(FffOvyrroRl5Uo3ErFck89cmqOFc8H(bih7P(MHuYXX7sarn8n)EZ8()7v6Lv4Pl9Sn28zB8K1)81d3e9KFJ3NJRmOsqLG3S5ieZVbMgkI(Uvo3lHfGzwi)xhWsstx0kMC6PiwGPBssSGKofLjIsyTsfKek3GDsR(95yXU)Rpz)V6AWZee1h2VDcHk8Qz3012zC)S44AeMFmUNdpf5JVod5R5)lC4cetyyrOeHHxF4pEKXqbJegIz87)qwXY)(4aSxw)(UNKIz7A3O9273WsaF4GYyONoKNIJJRhWnoNN5HpetfDa0KJN0Tw1oUD74w1X1kdUeV0y0jy2CyTzyaMtN22nA4OP4TlgflICOObyUXOmAHiymXpjoBaTJsdk)oq)Wmkk(LGCcQYBhXXX91QTvd7TDDqXKqQ8MdzjcKsxlngUshCO2SnkKrcoGeiIULvCckyBlo5u8kodYaBSHfOn(Ri)mdh)yeNRw5jqXGSPwo1RW5uljoH91LlxUD5NSXZgQosL5zvNTyikzasGJ8yOasg)7(ihUpCaLh7JvITgwdhVCND048)TdcXPl15BZqmS52GpZ8GiIapMPfAfpNfCcyvi(HSKS0cU6ac(1DIjdiIBnjNuUGvQuPYfeQtHqKYdZ44gkCrpnJemPvZ9680t2CWMKKZ9bJIarfBdXfjmpNQBvF)oGP7OCJ9z5htEO2pzexGtRsdJXF6yrI)H5oG7w6FozvsWz70XUoCC7OerWjKgHkpPpd8LDemKav(D5bOBRiP0jVo1CSTBok3Kbh0xi)OTLlBrtO4ZWiUIpDYXnMgaHAkeDvbEmogUMa(qfg1bjBynarOaVYgY9UHSPSLSnS82FifpGV(KqdlWmEKJt9D211INWeYgSJlYM(k2)(L)viBAS6ki5PAti0(jSCz0GbMlvqzPk(3)npEmbW1jjJ5JFW1KVS0euWFkdSsb7HoEHl(Gqxq(JljVH8Mt9HS5GKJODoIKI7D2SpvHarwQtRN8ND7hkx8nF85GxRlYdeqV9scW9K3x(Zh7dhyYaLDEb5sYkkpBxv2vp5YE57Lw5c(ujuAENQOPtYuwWEY7kVN0)4s)V(zuD9GhHIJbftG5RzQHTgxRunbF1AM6CCLrynZn2ydZhBycpK(5inF(Znxf89D7y)I9TBwZUB9ATA2D)2Bv11EvtreMQXREMVay(IlWerdU4oUmhxIl1Z6RVphRWyIyHzdabGBcEhGcHNlqxc(C96pCX99hnFU5F(sOup8OKJGneSm8Axzt)ieneh8dUFkljKH5Cv4iaAv1Ds8x9Qav12aaVN19kqubbkiZmiBOiuFRRG7se(lx6lgwKXOAzDoDmnWy2)Wp5dMwlzGhsyARmA8rZJosVt7gv)gBNUo27y3S7w17ufkSULCf5Nue(PK7fYRIZtV7pKVFsoyDo7eTtilnaE74hH9FT8bY7yi)fgZqfrcWocYaCG8tnsxs1M6qSBEdavi8)4AYF5BpFMDopL7ZEW1wq(71LnGKCvU(Su)xCfk3(dPa914iHQWcos(WF7kYLNc9juL4vfzPbV5oPve4JfD5riid9v5fikLEpnr9R8QcD5flKngnFVv)v00fFp2VOY855uN3ZQ6(UTsxwte6WNOkZ4RBqzvf(8D5xe5yCExR)208QOFtH4CMEFvzgs)tKUJ1n9WUarRMTAAlxMbkLcZynq)zDUkpQqdOI0f3Mro18fzOavDAtx3lP4ZUPPAAhb9doGHshEqXICb4qcN4btzuOZV3OiPlvVztiyYQLRBR901C)EmH05MWPZLlv)T7vOUV6scHAx98iT23Tr9M2)3PHXjhTnd)TzyQ)jT)rpzJN(SCvxTXzQxBv0cP8q1xkUN6Ljej0wqBmyYKXkY5dJDNjQ1Z07rQpM3XV8zqL0DMrjsJCUWPp5iI)RPqiAznJD0D)TulJ0eAqGnxsFBw5db4fHjHrI3kFuF5AQ5mKRREpwvY2xNI2t(RvugPlShd5f9KpwriDrGs1IMm6EorohPIsE7hUdHgj)szx5RE4eWq7JZZ57nunBxyJKWiRttsgusElizYqEBd5pfgbAUol)DtE0(TE8bzp6lp4eR0pEwtlvy2weoc88brYDllTlMfGvmlGCNY62r1kyasKDGWZEY6YVwPFfJ2gjDmyeQAEcix86gV71yyod1SychLtlsEGXWzxAKCv5nRC4)5v))d
Essentially, the update to GSE tells WA about a new event: GSE_SEQUENCE_ICON_UPDATE. This fires every time you click your sequence, and the payload for that is a name, a subset of the WoW SpellInfo table.
To use this with a TSU trigger:
function(allstates, event,sourceName, spellinfo, ... )
if event == "GSE_SEQUENCE_ICON_UPDATE" then
if sourceName and spellinfo then
--Use the arguments for this event
allstates[sourceName] = {
show = true,
changed = true,
progressType = "static",
name = sourceName,
icon = spellinfo.iconID
}
return true
end
end
end
This shows the name of the GSE Sequence, but if you changed name = sourceName to `name = spellinfo. name would have the Spell name appear at the bottom of the icon instead.
Monitor Mod Keys and KeyBinds
GSE has added an event to notify WeakAuras of the keyboard mods (Alt, Ctrl, Shift) that have been seen with each click. The GSE_MODS_VISIBLE sends through the GSESequenceName and the modlist. The modlist is a table showing which mods have been seen.
!WA:2!nJ5sVTX1vCCPsuh0bPf2QQQr2ojtuACICuOdLIzSRJQnhrsr6qrrpKsu2nTmZJljhPHZm6oZij6(aUcbbUaTffgOnO7ce6sxuuIUOOBIr(eCGrt)a4fDHx6vzzp37muIKIY6bSvlbe5OHN7RZV))p3lNbxCix1lgnw8OXgQXq6dPF3x5HQkAROtTDMX20ME9irIuiY7g9IB5zRTgH6AyB9sd(xA9ivBQoHkfgRZjLmnU9TvO6ILSTn9mCOBmF1QUeVmFXxp4aSxQbTO(wbFMsVgX5ufx1xHset7BAkwUUHhzlkPgoeLA6qKRrT9DcdVOXTjFZNyy5rOwkMlgmr(SwbFzWmDWbhmISRMIjjcTz4GF1h)xVdBWPkAEydCJl76Pq9eKmSm8euRIF4wxytpQrTAyFE6ZrdV8t3sNO6xTkBIqZKkxH0lKtYJnRu8PktUPRdX0mRURWJC9vjRrS8kIrBSrRkZKOyPkflLqUKKpoiQoMknjuzlLgexbzEOQzikME13UPfOeSPYflKkxU75BfofeAPyPv3MwWgx2QZKkFPuYFzWcoy19TKmTv0tl5I5MrKB4JPDbjCIPnc82cYAMkUUSRu9WuILh7Y75smRY7p4nhZq)rZwmL4C2iZiUyI9Hk(E44nVdpvjiRy6uxjYtcMfPP4cGLnuloJCQu5dt9zTWjsKj9n0B5LSAbNYoxs3VzRQSOl6rv8uISfUmL5u1v4Ekwgnuy9FCyO0WOsw2wKVKO4YcMyvZR(l8qDmbZIOclDtDjA2w6UBYIHn8WvKAOyyHTfUc8bVamn8JGRIxoCV3zlw7mcwkTmSQAtdgybv8lQAutyiT)5DhhLyEMgwykDHs5YMpfCImpi)xvGPzAPB4YGxjYgEs5sKR0dDRROBV(ndY(NDa4CWB686DevLGbPItffvvkzndfpsLgkBCkhX(gLNrds4)nOZj18D9SBWIybhDSLWR9iei2SzTwzdDV6sjW)fofM5eGVRamSa89(oNdg5FdJQg0w4SWlVz70N07gDYlcVgmg86WpOvqavQBOtKzdRoCgbiVdTQVf3z8wCH4eI1CrzVNNT1eInS1DNqmA0OJliIVmQkYJrC6PfhdfovMB(KfRSy2IzLYLAmrV6elECSxuINp1I3drzzo(xqS0fW)cK8UotxixIBMsUICQztLVsYSftG9tYje7TRNqSRatLNhx7fetJGlsrb4vGxf((WlbVXi46A1J46QFdv)xBEuFsNllNtXkXSgPuG5fDvK7pGZy7n3XPrfKuKp25C7DqMKAkAnRu102Mwh(HbMMUf(xB)TcsvTT8CozAQXTfVHVIoZwkwQeC5tpcm6dr7jRKpRARLomEA48SsfWe83Fh(7rzVVjRxy1Hhn0iSuGriceVv552y96KLFVy51abjpCH48Q7JXOo8T)STWYEeDU4(tEX9WkXZdouIMbRKFeNZ03OcUq1fRDAvtwR9wxrOlJ6eJQnrqMUeeHT1fw4dMDZ1XYxLPkoBwo8c4srGPG3Z5T37zHEtSkUHwfV6uIBDBt9MWmcWjZCn5hCcwfdiMqRGuZo7ibjeajb4cQsZxQ08ZD3XHKqkOgFYbPLKr3bKjOwcK9uW1he(qupNdMl0Opm3R32Od5zECyEOqBNnxZZ0(hlMz5EmZmJ3I4ublMucwaUbiZ9FqzyP7paCZpgzmCbWc(XWhbQ1zIRO7sCfi3(PJcvIWsNcGsOqhfWmDChc9EUZW76o3QolFRhbmBceOkceOoySd3T50AHBXouqiWXk(xRGWNZ5x8wRuB951wszHK5MewgwbAearTp5fzuKByGFsieXX4PrUUlr3hYXYwSS2Xc5s0l5ota56PY5oKdtLDtU9OSqi5I3AUKRUuZSnvtVCmoedtwmjal9HqbZ934X)DEUFBdaBE1nJ84j(q4WGikkWDLhEGpp0J1gkboRJArXqiIDxA1CfZKn9ZmFO3XWMQ8j8HYjUlE(81jgydzKeTji4Z8hC54Rlu7Za7C(F0aDyhr5s8w1MSuY8x2CXKzkZLaHYLNMBSTIsvE)H5HWAEmat5DdZdG58OQ7peo68fs5RSso9mfm2dhnYw0aXOCxCDdo0cbkc)zFWlZrm3jVD12USXO28Gvw9)VmIjo8gX)xTLidjPvdMWTDlDrTFoZnE67FNoDJm0gV1Lk3m(LsADJPsukWlVCpLI7RJKvAvoXmLKZ9SYm6Emau289q5f3fp3pB1SV)IY38I5s9(fC6aThbNCOj8ez(Ih)34pJL2h7PlS(lzi7YF1MDIvuumtGVT7kRbEX(xyvo3(IYdH38yaL52fkpawZJSp7q6NzsMopTAm(HCMt4FS7Dj)v9EGO4TYmz2K6tPR3GooJUx5oFqNvu3l34ZUdSEmqp5JIr8yytrs5RBqxQEJvK04GKXMqJiJPS93U6t40iTmFn0nm)02(PUCImh6axJ3kgG7RB8D6YnU5pJ6f7xi(gwBTZZn6BCqnN)NTXlll2jIXmByhMxPbX5cBZ5aygci2ZaTcXATOZn)cftjTa(lBZlYzuEN)0ZhPrFhYPdKkDCRTfm9(OAoyhr25S95x)Rfl8QdOlVVpIcRD6Jkb7fZepOAjZ5)9CU3(Wvi0Jj03UqBNUafBOAFMDF0RwDKlyQQBj8N7836gVv5sl(HRlT4ul0Cjw9aMKT7Qgh1cG3DId5pkEhriJeTfHmRnJo)69v7HcMIKv9jwAK2AV)4ZzTxNd5070573ZgSJkxT3eSdHhtlGW83eQU(D4Np9Yq)2aneVeWuSsaDD4CuDYi5rUsiwqcvxHLzI3A1mU6XERmxoXA0EFAk3B2UuAx9R7(PQ8GmN)bTp1ptMIgSEpX)qR9Vw6)c
This WA shows in real time the Mods that a GSE Sequence has seen.
Using a WeakAura to update a Macro Icon
There is no direct link between a GSE Sequence and a WoW macro. You can however use a WeakAura to update the icon. This WeakAura has two triggers. One to update the MacroIcon to the sequence button and the other to update the MacroIcon back to the ? at the end of combat. Create this aura to load always.
Trigger 1:
- Type: Custom
- Event Type: Trigger State Updated (Advanced)
- Check on: Event(s)
- Event(s): GSE_SEQUENCE_ICON_UPDTE
- Custom Trigger
function(allstates, event,sourceName, spellinfo, ... )
if event == "GSE_SEQUENCE_ICON_UPDATE" then
-- Update this list. First key is the GSE Sequence, second key is the WoW Macro to update
local SequenceList = {
["Pally_RET_Sod"] = "SoD_Ret"
}
if sourceName and spellinfo and SequenceList and SequenceList[sourceName] then
local body = GetMacroBody(SequenceList[sourceName])
SetMacroSpell(SequenceList[sourceName], spellinfo.name)
return true
end
end
end
Trigger 2:
- Type: Custom
- Event Type: Event
- Event(s): PLAYER_REGEN_ENABLED
- Custom Trigger
-- Create a SetMacroIcon line for each sequence
SetMacroIcon("SoD_RET", "INV_MISC_QUESTIONMARK")
The WA
!WA:2!vE1tVTnYv8yRMUTmBtDKtC3KD7UecPboBTfsCrcWwKaurzkBLilPqsBNSlwipKCK4utXHz4qBlx0dvyXICwx2l9Ko1fON0NGc)jyGq)cuFOFaC)c03muso2P(qfGTM5nV59NFZ7FAUDYN4(KIp(Rk(v57M3pV)7wBaI5vdh1Hh8DlDQlL5JzgiV99z044fmcjhFmI5R7qPHCs8yukpGYAeZj0OenwVgTBNG5B(pCV7F9AWNZsOm(M9CzeFhKBiEj2g2Mv9OrbdBNggwMW8cX71Nrp0og5HZXqEkj9uReoIX1mireUMBB4RKaT(CgPthml5EpGnz53p0h7M2UTtVymBtZAnRSDndoSXcLYqR1pjghgw1pr70Kux8b4iUnWn5OrTkxY2PLTtjlhRiux87Xrtgg4WYUPzTAwkkUBIrH8aJuWACJdr9WSbPrtmbTrE0W0UrzEGld5tst(UpUFAcUgPlHhyHcjDIClBw3X0c8vos6JZne0NfUJc463rIqGzxWADJqkYVIrc5y8swDtbywZaCdVLeFPMLxikjrUYLJcbltUCqcoSDtkjIBuZSIZy3jpxLPHu2lYLlxZCpQ4todohZIqH7aaiO0FKHIiDrCCWiuKh8iQKG4(wjEGKZn0dl5xzt1SCZcecgM9TPFhC8TSFBkIH1RapK67gq44bjCCCPOoH4VycJ2GtCDdzqGrencpKP8xPqpXVha7eVomAA8OmURgbXo5wlL4pA5xwFRx)1l)KNwAzRqjkEJtHOgiOiIxbIrOmxRsRxDB7bsGBxIpp4gNKjKSiWF(GmVd02tfFCfXIINDcgLGT5mvS9hn2hIpKh3sgTWsWG49t6l5rAEINz0frIuxuS5hjQkEH4LWYBEzkd5uVdYq0F2k)Nce)4fHqCDlmxxgNRVDSpGXJAZGymq5iokhepehGYDwgSxrEIuLU2LTmnRZoAAoe9FTSmhYfetBshndaQo0YQ6gB6mbVYEGNBU5YzLid(U(qPtqYYfhrIAtzzqGgdqozS6C59U37E4qcWNnnL5H)SRnc5)htHho)TirZl(PZj(DI7p2dsV9PhgzFijgV3jt3kF3de3aqunXn1e)cnXV8ZFGyH3D7tHG9wix4H2DlQpKrl3lZw2BOhiCAxjwmV4wI8I7kUNyr3mQX5p)EYum1DhlPPs7KVm7j(enXD0eF64Y0UUiUUP8KKbZyi(onRv6nMwTSm3WSER1RAxcsdwxSK4xnr31baEEH3r5Y1onsvFzzuyiGiCCYk6kbTsIcnKCUIUQMHe9wrVyXI6puth(qANXP(ZFUEb4fULT5R22SEzZwvl3OERTBUEjhZc68aCKIF5NzlwD1jXbW5Ke9qscVOUEfc8SOVpUNoqdUOUmWXg)2uCKN0muHKV)57s3vFlKhJQZP6PkbotfHuiTD2TRbAq)56)Pzhl)8nfAc(DpaOGcFu)cFlWrbB66TGG1cZ48ppBf4YNdl6iWwMHmQDxqzxMW3C(v)2lIkxazo30DP(9adAdmx5IgW2LVkb(q9RwARUky3ruUEcuFoQtrO3H)YsH)EpSfLv8F4hAw2tuUTKXRu7FGGUK(XHj4lr6)hHxOA9DATvv7YTGamBNQnQVvjRxw4d0sK)fOWW8uwKoNLEUYNYJ8B5FWNrz5eQQEJu5azbswEbyV9fFAwlWK4p5QIXf)AXNpvibeFSfN0f7l(cnOqW3lpekq6jIIV9fslnRNLvcAqwfO)0QV5FSWl(rtHgzvILZcjnDkC1qHiw8wqJX3soUWbyNSgXYQh)9RjE8pE2(yOpKSNj3sQLaXgQMaqvBzX7P1YR9buU5LPatxKG4sBfQ79GF)sIfhdDTLnyL9TI8F3DIZZXhXBLeGGcKVoR09CX3vru9VSIWTsMSq8SbZoRWVjkEH376Nxp)0mQZ6RxABNgXlQictCrLv19uD9mkbBpltrKJWzTc)lJZAT8MjMZjQZLv5jT7j2zOAeeSdq0OEJ6MIfzGtj5zOIrVPZnKBWepiIhVqfg5y9xLI8L9W0DCUGJpvtJv0oe6oTldf3F3jlYmGdijeygW9(FGorZqNtYm9wXs)o(wvRxhIHmA440ylvRVXZmj5Sf3DIN(6lOF5PQbcBSTtTQ1n)3J7espScllLRxZFYJkU2tY8A5bNanC2iCc8hmqsYwndK6AobeV9JWjj5gj3o1tvSnBcRCdLBZgB(o9vxd0)y3uoNg1aMpaMz0qsoqjKPM7jYnRpjviNsK1iGUULsCgzZC5gGjDc4)Gy5DeRkN3tSI6))w1SFQgOHqsWEIhkjeVaqP0Kw6qtD0rbxMejkq8Cd5maIRRj(6hmcWEpCwF196lNNUtnANarrX9pF4a0rZhF7PZbidDwNKiNO3pq8hgvAJEKTFrvNkSngc6AYpoiq8kHLXXuA35enZj2kB(Obt(fa6RjAKtnaq5jsfYFH0v8EwhkdI)bRZJdfoAqTC5yw4GtJz0om49iBaMV8ZU28I)2EI3O1FQ1fiSNl)b)Zx)Fd
Addon
With the demise of WeakAuras, The messages described above GSE_SEQUENCE_ICON_UPDATE and GSE_MODS_VISIBLE can be subscribed to via an AceEvent:RegisterMessage callback - https://www.wowace.com/projects/ace3/pages/api/ace-event-3-0 GSE includes a prototype of these methods that can be looked at https://github.com/TimothyLuke/GSE-Advanced-Macro-Compiler/blob/master/GSE_Utils/Tracker.lua This was part of #1835
An addon should depend on GSE_Utils in its TOC file.