WeakAuras

WeakAuras

200M Downloads

Dynamic Group Custom Anchor doesn't refire on Spec change despite Aura trigger within group track spec specific spells

ljosberinn opened this issue ยท 6 comments

commented

Description

First of all, thank you for this tool!

I'm playing Vengeance DH showing a progress bar for Soul Fragments (the 5 elements). Said progress bar is only loaded on Vengeance since Havoc doesn't use it.

image

A dynamic group ("CDs", just Fel Devastation/Eye Beam atm) is conditionally anchored to it, based on a custom anchor function which checks the spec id via WeakAuras.SpecRolePositionForUnit("player").

Swapping to Havoc now hides the Fragments bar, so I need to reanchor. Docs mention Dynamic Group custom anchor functions refire on trigger changes, but it doesn't. Since the Fragments aura unloaded, its anchoring to nothing and ends up invisible until I /reload - simply opening /wa doesnt fix it, I'd have to go into the custom anchor fn and retrigger its execution:

image

(after reload)
image

Vice versa, after the reload, swapping from Havoc to Vengeance doesnt reanchor so CDs is still anchored to Bars:
image

WeakAuras Version

5.0.5

World of Warcraft Flavor

Retail (Default)

Tested with only WeakAuras

  • Yes
  • No

Lua Error

No response

Reproduction Steps

  1. switch specs and observe weirdness

Last Good Version

No response

Screenshots

No response

Export String

!WA:2!DR3E0XXD19RXBeHS2X1s2rXrXKSw2wr2Xw2sYpKDSXzxPvwBIE5zx5xXP7o7mF3DM4zNz8mZQhMMarjnisdVuPTbkqBfukqPf6wsOqleqfcqpTNERkhyp9Ck06d935xp8h0A(FsV3VFN9L0ANqk9C6PZXE1mFFp37N79(5(97iDU29KpsVhQ3J0EH21AxBXD70UQTLVRTPjtBiDdtnxM1JuACfdlFMLILklwmfxVLgXvjFbMLVx)dnS31ZA7QXCJPOEfnxBhNTeZ04AxtXvlskBBtFdNSZQK3oXWlDPIXNw1)SAdSQsrFDB3jD8nST8c7o)K5Y5X8FHnvcNcSIPSX5l7qXNivC5sIrFiBtB3hrssku)fDnD2HUVVJ3jo4bPHUxd7dwDSpyFd4QOYh4Jk75R46hoBodldp9WXW)4hEbFxJ85zUED2TBWTp3YASSfZLl18om3rJp2uJm9yX8XhKvk6Q0)cEomtZeAEHVUxXSSzWx8KyRnMRu6HIMmv6KPIkNQAvt5YWQKtov8XglwrCgZ6yQmpZvMxB2rzkM(6YwkfyEHxQOvWsi8nirSRLI55WLgU6NDjpMzoUKa2S7mIcV3LXzrMLNl2IzAROnsmpJRX6qUqrushogUsv7aoqyzvtfpp6US(kM48s3UA2avKqygkuOPcH6(SE2fDvzznk4y76l7PIDiuwHyxFzXFJRLN50wYRwuXLfzKIMMroVUHpBzx(AHKBY5DTl6e08K4AQ1ve3l0T3rwpwb8TiBFiCRV(x23wn4DA7sp3YDzOL9cmh9PtukNlkzs67Q4Re6gc4Wiur0CKn5qYXJpH7CIXuQ)IgALU0Sd0tIKPC6jHZs81qcecV9T(w3zaYjHf20qzXcZzKp8Y4F1me4Usgw5SDlOqp1rj8wvwCsh5Lzjfldr5hf26iRWu8OLeZkVV(TdDgZY2ITQgcnOwKMakUEmAG9wGAkTuHjIvaTAgbgh7ambmjmfCw8VBBTL0U6NDXtSKIR6y8H)z7a2W(C2AIcfSn5dFuCAKzkAZ7CVdZkyBL0X4kmpEjrT0syry9zyWTdVv4oGWzDqfeIyonSPDb35cPMCk5eNz0ulNdvzdz4QAYYi75OOYAf2c0g0o(6fg2wy4UcdD0z3WD)CW2H7bxE3lSJWWBdUp4(HiWoHUGDb7g2tyO7WLuTnlwaxg4GecEGzHFfUv5cf9yJzuWaH2kMg5TGnVqExdnsu0L8Wl4ApROh4D(83ljyV3lSVWWWLo7zzfV0uM2ND296kK7mD4bhb2pHzHE5)Eq(VhI)7OHH(QbEDv0mk69SBc6hgaokCm4WHwrTONVDHOCWtxHddhr3zl1bL4)C9ZZuUcjC9ob5sdgCfT5rJsdvogcorRX8qRbyILOxJZBO5RVrOhzU0egJqfRvZk)6RRDARUvXuCnvMRJ4g0nLL)iOM02nRC0HtmDsyij4HUd4KWPG3EGbces2KeWBeE4qq0sjJpw8HsnIC0XJhdxYZgBS4JKcotiyJHHr2(2E23ZnO1)OZNL0ckznzDdtRdP0HeHHhPd4rZ4IZk55rAX9TSbUisY9cSJwiyeCoieSjj4oHnVQk6exZEwRKZA4WYSsLhjpc6XOoMb6yZi0zXT6SneeKgv(2USKKlZh1cBOUtBuX5zwmxd1K62ZoPvMvB4XsE8)Wb1eA7guhqxaQxrvxXfNhcvwQUcAVpo4ebK7Y5Egkyffzkx78UmpVi9WN996SvACyZHc20Cx4tGI9mR6IEGtw5XTh6NPVk1SAnGG(iSxMpFXWqv2qNY8QxQ66kZsE1pcODbQB5wIPe(Zh3wJ95AbTpUXvymNOKFzFzc4NHJEoh0zwhCTY85ifeMqqKfJLtrJ1mKe2EyXgAk8EWGwEk(KxiCntgtOATZvXaeKBEcfBPT4oCA3Nnh(6RRGIOle4305E4fY)r4bmTxWniGVADDThmyEDDVwm4RlkTsaQyrNo1KoBLxijVixNQCBMyrXhVHyImMJjmKEANDVU53jTVrbwAtwEf15tNZ022vFfEdEc0y2i38WMxM76GLclm2etor8M8w4eCJmnyAo79MnnbM6P91rDGocFKC25nRTOAs1Gcufc60fLUutcKQcR5ks1L5LPwj2AOLcgmmO)KEZQyQ1qVUOOxx426R3(psdAPlwrlDF3SLK4jPv5vnlgL78UkolC(GBeITzW1mA1NjqdwhXk0MU6kJZ4zYPtnwcuEg5MnFfS1sZHz16ifHFNR2Oay1gEZKYTQiaCABXZqNlrGtEzbCdcKwCivqjvw3brVtZq)mU9fzke9ywPmIYtOf3b8csW7fnjEFDThp49Zhf4daFqyj43e(qpn8BPd)2WMHFh4fHpm8rGF35HpkQcHpg8XVD43JRHGFF4paw(KTaFcj4tkb)HWNc(JYaFAN2smXeXLthBYuPMCCHl)pd8zH)4mWNBNWFIe8NkLvNzKx3)4Wd(YCNcwi5ox9GauhS7SEgw5nzLgo(4toXOtt8yXk4TKtmlZ1R6Y5kKpYmIWCoTxTfOctJAGQ(1B85UHVCQDdhO7TT7mP2DgHl36CXjgULRDp39KiukfHCqygkY)cvCJNHIhmKuSRzBxyQB7q9E4JGXxXq4o6kyugiMZ2Q0sYUBydpkuIwMgJmLcdjXx7vCfJE)Kj8I8SK9Eu5Agfy8(4J9O5p(u5IEC2qUgwelq0)v9mr6b2CjndpI2mXLBdI4vyGTf3h4TUauGFgOOomdgg6(OWqDapnSqjUGKhRWthMFzkatuZzvM3JZM5DWJO4SLGwK2gTcuWOVT)2raYZWj9eeF5xdd1Sl4jHNkd8o3EO797aVlE8Hz1Dd6B7hcMld8SzGFDE1Dhgxd5iguRq5oW1dgAEDMT)dnWG9DCA2xfTSu1zEIyFRkI9nUHhHzOiFXjTzsrkhz48X6om8C8GjW7UA4J1fo4nAyd45RfTa(nAWkY5nGvKuvRiPgSIeoYwJLe2X1y4Kd(8OJa4la)zIzQug4ph(IWl9)GMZWlV2fb8Lqd3xf(lQzWcFz4RahOd4RKb(QzG)YmWFLo81cm16aTZwiWEvfTuXIBL61ROdF9T36dTZ1BDbFJaZkyLQ2uWFn3Ec(MRX2zAIo33kd8QrHVDflKjNp1Ep6rpE0bJog8DxNTb83uNfXXGKukdDgBKIUZd3ESjWut4gi4KpY23qRTaxTJsIuRoa1eD4czGl(MM9pCPqqwKSDp9JPwaxgxmP5e5rsNpWSoBbLscw3tXCNgt99wYJ)X0RJhp3swrNshy4(91Dou)tYMg5Ytg5hrhj2)frHBo4eHGcBeECmLc4HVJ308WH84)VcyY1zpuOgvi3gPSqY(KYYo2WtE(jiw1NdtP6xnuqYov5qdi75hcD2Q4EfoZM7Af(9bH2L4kIngUKIgrIHPnUHvxhApWMcXFB9ADvERLRKrKtBn8mrHeH)KMAg9ao2Bte4G8MHPT7MveirHFp1(mRuP(HS9815WwApiqmT(so2ZYCPSv3Liqd1mA7icgkon4QTjtawyNI2kMcQ18PHqhlxBAD2YKNlU8yrVy6rKNC80XNyyrGjAgsyPAxaDTr9L77KdOKNIMicGD9ghA4NeG0qpE88sQJrf5benaUrncUckPJE6V9DtxFNrpDP2PR9p6P)oViD9Ji7VJDKAAaL5I13Ho0EwiRIBL((VFC6k1ONg(a01jh90)0xHU(hcrUkhsQoVLbeSr2rmX8pd6oRcnhb7NUYMV5(3gSjum9xlfZMWm2VjmJDEW11S(6vNVZsPZAKpTvXczXvKOkN2IMnRlBgdmI8e8kQ4E9wnmA4sQGIzT1MKZ9UUwtqlH(jttyJRwnNcYRTZd0KjdJ7QIzbhmNIIZkwKOV7MWiLpJugCfstBHMmN4vG)FNEU5VokvfbPlOmxB3SrUwZ0HpXoAXzhnVzI7JrU44Hz(mWpOjAUQtohQW3NizU(dJc50)RR0yDAGqWNBpnjNg)BsonZJHmBIwXQQwXzxnBnq2L1TIll9wG33c7jOcN9Dt7Y6bmy07ntHD)Kso3)nTBblMFofMVP5fUE8Ch1WZJrCWca1njFj)gYxII8JuiULAQQiRYsT0eHxLBqciFONUjGO(6v4nRgYpGQ0hEPyg5da2enLxiKGY0XoIGjttgl)1K8f8PxrKxIyJXBQmn41iWK8wyXnA9wCiuiYnFWQOHUvYT6SBAsZwJPf3ce(s7KtaPJL0Stl2WoDoxKoklTdK3WZrSWqgAFnKRq3idmmFNaEd92aNTWWxni)MRZJEgZKzPrbs6p6WdlyKe47N79xxeTEOAXuioadxYk(GJoM6fMp3eJxLH9enYC2gKxFP4KA4QyIzN5u00J1eUgipIR7vW22xVY(tLzTlldlDyqxkFbmSerumG24s84FEgyurJs819OgAAml5jIJHBjAlbLYtg9uUKmVOlBLHz(kgMErgXuX)g2OdsmtkVuIkprzPhu8pbxLGID6jbD(d5uuzxEifpFmGDmf3lJSgR90bsYPNW7MEnctF)sbtHQPHJoXl7v3DBiHjorQVR(cvwaNGlVXaU)BVeD9Lh90)W7JUsGfkn6P)(NJUwC0t)39XORFsOs2UgisLZfA5rNuoXLMCIuiJ4kKVQNR1fLw8WOcYazc70ws7IMvoHQHmjcX0UJZ3x0nST2rcXLLqkLbu5qsDcEW3fNkCZ5btuwiUWnWdgjJ8yzQWbEFHjI1dxQFTloXXtwq(cfo7TI77DMvS5c1Za2vIiatWrK2ls5Kt79ycAVTs0Eh6cT23ahfBjrFfzOkO)2zn0ya931uY2wxje13EahAhM5uPRQkBLtUN2FzWINybQb1agN97M(OTWf9HX0hw0klIGDtpVuj09eZmHNGTpMDE)kog6KW()eZCEts3OgxPk8T(X((VRwAPfKI223(dZVbzGLbVHOxxrAuYJoZhb2md8FiO4fPLwK4u8Ii6)l(IFDSebfpzp0ie9X)tfw1VBDEQs)SB98986OUlgTFwoBzexJRf5Sfv0OJEksQuLLoSe8GZqoGO0aRMSOqzIzjk0NCn8ncS8OTFJ89ip0yrhFQf8yxTiZsLfYPTAIHkgChTMbxunTjT8UC1tK4YJZ0muUCql9US4C3sZpYneCuwAxzklH(dh8gobUucM)LYwX7NCSXqw4lZfkJy4I5cuwAFOrVlxFL(AbkU0EiBQ5LklDWadA00Ab6WqZpMDEDirNDlRQZuVYiWDVJwwygfxdA)Fkj8xZRPlBNnipJIzr2CsF9CfT4h9ApE0o16T3WrWRdCGi2wMZhH38ig5IKeDzA4hjMDHSrm8IW3MkElX6SS9Ji68JnWJhX2T2d9sjte5uNkILHjvrdTuujYCYksWv4k34YqjJvKCkO7zEHOekC1wGloXbwqJL6v8IKLzIJ0avwpKt50mRz61eDdMu0Ktgza(u9lWuyfPa6tUYGgSS7)XJGXnQ9K4L4PeVHnPMMnNnB992pfUax)64w3JdhgBmTPww5zED2DzPjrtN))Clm0I5vU)7)0V2R9Z5oNFLx71ETqlGiphktXYspegXAjoqJaEztmrYedhFbmPp6ao8qCxeHj53uVgMRO3zxMF48rP9jvIcswRs)Rj5SLA54fSDYKBPap14QBhzYkaHoVq1xO8SkVpNksvK4ER)D3JzYu97zG9h58rtFgMp51kwXC56PlXz031(J0)Hg44d23E3lbXoejtchoCZezNkY6N3E2lfcbd2G(sXymOBZw5z6)JA)qzvr5v65jFv9FyNTv7OBIv99upW2CojaDLI5D(VIz)xuV(gpsvVi6qhwyKQ)FqNLLUepgffYINA9kdPR4hzCu2RKNXZWwiPgo4aRPtefdITJWbMXCA(L4yTIoA4VLLgd2foSZTHAIrftZaB6Q4jtBvfZkMnnxCux70v8gsaUW2g0PN6unfnkS65J6PqDq1je9HgXa7DF7pYr2FK(IOzx1AqmhC3qrQ0Ng8ciS6cW6gnAkrxv6AFvlTITtddtvXWJz84yRFhnmgchur8DlY2FdvyyPXMdRXOXIR48MoegS2UOr2qTR930fg)VnwLVTp(sFkuy0qXcBynSIAY8Qn4jBIJHMdVfIR15(OUXeheXN8INZwMEIePshDA5ONqyjvbBPtKx)iITf)CCkv)JIDw6VVZS9n4XgS)JXbT86Fz(MVpxgy(Rl2u8khNaVjVtjAV3PUURs8Dhpc)4LPDMxS77V6hN(8e0m8EcoODgw)kwZtBJ0c4cL7Nbj08aZUIWklNHjlHMBFdC4b6)4d(MMlvDETMxc5)zFSjvCuoU5zo(S0U29dLCAdxrQOWJLU2N(W3(1NptDdm6qyF7JV)t5Gxkut2DPpVeMnvwXXJMboZDxw6Tvw6(QJB5cvoYU7HZVC0WoTvZ)AZjKy3aHe(U1XVvqnruk97aip1SfmCDTDj(Q)GYs3Fg4e7SS0bkl1BzPUXmxQX04AsUkAZqFhzyyH9Ek4H2i8pFxcQK4l5)cYd5bkl1tGFquE(T0Hx9kllE0rH2wy(bQ4Dq1CZLwJ(Cy0lslA6Kt9X)Y08qU)EPlqNMIjR3c9dRiH5Gu3syUF8wkl1FzPbeEKNJK2dCu4BO7YdHX00x8eGnwpSH9D9ryMdZMrXtO3CJpplgtPa6H)heCiuNgZPyRV17hUkgsAb8D6z47VoMtX)n3FDK()JPZZT4ITYjY6w57L5FsNs84n6NhdSPnjXv5yMfywfQoFH1eymWjUdtnXWOrFvnEVOjMQSTjBkBp(Nlfg6HIwwnsz9DxH(y4ixgbdd6sAW(4my6Q6xkyxKB9UOp1MUQ3DsTjedhl(Y26HpCuCgYdZA29)GuFOCtWmIEIm8CzW8Vw7U4)wOuqE4BhIMDOPtsjAnezDEMEE0RESCJyD189d3zzPJjs)zTBQ)B2JvyX9w94jdokN1DcL8nXVnywDUBo4VL06cmXZWbe1oQXt6hCuJe(4PHf4yfHJoSQ1DIGVPogem9hcuDI)31jbgC6Cb5DfK0vLdDR62(GemNH(Ku9dtNvhMD23JFUDVIoLAwJNix92Hcn85q8bzvrwPIJMBnhlhAntNi33kd)yGEy6q5uupZvNzaJ5oAX40HYv3H7LyFO1pQeU793szPX7As5S8uD82hweMS24lBxnsgsRouqPo3LHLh9zKQs7YHmt8vy6rTOS0z5mWXS8KHNpyWP(uw65XILQu)rx2R6(0gBk0UuM)SZj)fWtEsQhEx2ZIXUgRx785xvmMelclMz2XrVFmxCHuw69rNR5gd)lvyERpzamNG3emNG7cyow1)NhM)Pw)HqhUS07MV)cFpXznhIQer2K9W229VmG2pZAH2Sblw4rU2zNmAS5Vzq7AOV34OZYsVqzP3lIBkl9(ll9bkl9bRhg1(m32t(Fb

commented

That's supposed to work like it does work, your custom anchor function is not rechecked on spec changes nor any other occasion. The custom anchor functions for groups only run once.

commented

Is there a way to force retrigger it procedurally? Having users to /reload is a bit scuffed. edit: rubber ducked myself

commented

You can workaround this just by having a duplicate of the group or aura you want it anchored to that loads only in same spec and remove the custom anchoring

commented

No there's no way to rerun that anchoring, it's done exactly once.

commented

As you can see mixing auras in same dynamic group not meant for same spec and wanting them to have a different layout based on spec is overly complicated (for not saying impossible)
While having 1 group per spec, with some duplicate, doesn't require any code

commented

well I can tell you you wont like it but I got it working:

function(event)
    if event ~= "PLAYER_SPECIALIZATION_CHANGED" then
        return false
    end
    
    local region = WeakAuras.GetRegion("XephUI-CDsAndDefensives")
    region.SetAnchor(region, "CENTER", region.customAnchorFunc(), "BOTTOM")        
    
    return false
end

as a trigger for a standalone aura that listens to PLAYER_SPECIALIZATION_CHANGED:player