need to add a check in thsi code if the character s dead or not,that possible?
function()
local buffId = 27578
local name = GetSpellInfo(buffId)
for unit in aura_env.GroupMembers() do
if (not WA_GetUnitBuff(unit, name)) and WeakAuras.CheckRange(unit, 100, "<=") then
return true
end
end
return false
end
also do i need to change this as well?
function()
for unit in aura_env.GroupMembers() do
local englishClass = UnitClass(unit)
if englishClass == 1 or englishClass == "Warrior" or englishClass == "WARRIOR" then
return true
end
end
return false
end
wound up with this -
function()
local buffId = 27578
local name = GetSpellInfo(buffId)
for unit in aura_env.GroupMembers() do
if (not WA_GetUnitBuff(unit, name)) and WeakAuras.CheckRange(unit, 100, "<=") and not UnitIsDead(unit) then
return true
end
end
return false
end
If you are talking about your character being dead or released as a ghost then just after: function()
add if UnitIsDeadOrGhost("player") then return false end
The rest of the function will be ignored until you are alive again.
function()
if aura_env.partyScan then
wipe(aura_env.partyScan)
else
aura_env.partyScan = {}
end
for unit in aura_env.GroupMembers() do
aura_env.partyScan[unit] = ((UnitIsDeadOrGhost(unit) and "dead") or (not WA_GetUnitBuff(unit, GetSpellInfo(27578)) and WeakAuras.CheckRange(unit, 100, "<=") or false))
end
for k, v in pairs(aura_env.partyScan) do -- <- Corrected this line
if v and not v == "dead" then return true end
end
return false
end
That removes two local variables (which will help that pig of an addon to run, if not efficiently, at least less inefficiently) and it provides you with the requested information on every party member.
Test for âdeadâ to find dead, otherwise true meets your requirements and false does not.
If there are NO members with the buff, the function will return false. If there is at least one with it, itâll return true.
Youâll have an array, accessible from anywhere within WeakAuras, called aura_env.partyScan that has entries by your current unit identifiers (player, partyX, raidX, etc.) and the status of this buff on that unit.
Iâve spent the better part of two years working on a replacement.
Itâs a good effort, but it has changed hands too many times without good turnover and quite a bit of whatâs going on in there is âcutting two inches off the roastâ without knowing why.
I started from scratch on mine, with their help and encouragement.
aura_env.GroupMembers = function(reversed, forceParty)
local unit = (not forceParty and IsInRaid()) and 'raid' or 'party'
local numGroupMembers = (forceParty and GetNumSubgroupMembers() or GetNumGroupMembers()) - (unit == "party" and 1 or 0)
local i = reversed and numGroupMembers or (unit == 'party' and 0 or 1)
return function()
local ret
if i == 0 and unit == 'party' then
ret = 'player'
elseif i <= numGroupMembers and i > 0 then
ret = unit .. i
end
i = i + (reversed and -1 or 1)
return ret
end
end
Is what you want a list of unitIDs in the party or raid with the option of presenting them in reverse order and another option of selecting ONLY the subgroup within the raid?
Itâs calling the returned function as an iterator. Everything before the return function() is setting up what will be iterated through (and in part returned (âraidâ or âpartyâ)).
here is the string
!TZvBZjoos4)l5d3Ku3eg)c2atTZwfeizyNaKftMu19bhmyb4lgBw)sYWC1XV9RBjBEXwMxYWKjzpVzxIrwQLul1D)80sz1f17PRzaFeOR5RRjvquSGQU2uDnt8FHxo2Z9jDT6DURnuXWGjUEDMfy564ZA08oJg5tc0V8CfbvzvvXsksIkQIQL0hDEXIqBCgcT5gxlhO2x0ODVgDHUAMXqIEBjDTbgdFa6IqhO)A76qGgmmw8A(bgEbS(zKLJL)e2ZWJSsHNd8SgpM4HvVnDYeva9X5Zq5f6zaIkCa5rItGw4OrwFtx7(lQQ17ETEv7cvK(gDTptmSdMORfIYxBMTXCqoWyLyB30mA(AsgasOhvYFUX13C5TxVs434rOcx7Mgxdf7ymLe1mSrAtCFQJduB6VRctZhj47cDwnMPZjtl))DOd79Ag22mDYJKESQ1Y1e0DNlkqf8s9xthCDOTaQYTMAGkX11HAMGEal8EMAXNm01bMvrAjhu3dYBQHLZ(x7LRk7x9dWPJ1yNvBemj(d11Azysw0FW8f976oD2I(NI)YYHCEldBxphYzfw0)gBIHpuRHEetRGf9FAcXzrFqvbkVbHbwoJHk1Zduh(l6BnAr)5UHl6pX4rOnbUl6tvHgbe6l8GEYWYCr)AW6Y7tvFy0cfA4aviiPen8Gkm1Y3h6r4Bl67rfeUah3Kje23P1yOTHp2E4)gg65b7sSH5PLt84ygS8m)dOqkqxSOBeWvXhHD14AiALmHynEcS4wuOGa8pQIcYkGvMUMTRb1kf6kytWm8XPH2bwlnpmSXT2jlg2tpmvHMwWqEiuY8uVYdnxtwiDMLQ0rm73uLp7Xzzmy8CTjzmWLspYT(EQkheVLNOpaQXqOPOZaTbUEMOfmZVIhzmmUywUMZbBtRHmDMMVlyHW2JQr(2myrKyQxdMGGBOadNGlHPKliNUvR38wTy5g54RTiSme6bgPtccM5)Xp8HNmg7wWY9d1ev699X2F9p)aScAb(3QnQ6I(NF(679GNjtTCOdtp3aMvlU6pYdCEaoZmcmOZfMB0lXsztbTl62Ob4t(jltWNvB5kfQa)JC5kQflJ(DHb)iRXmVpFl2jDr1kIQYYLLLkQkivwf9rlddFC0v8gnH6w)13FO3dO9R9OiF296CdvAGv3k3(EgMwH(WEtbbCZxaXZXW(RX7yffP7pw5tM8TaPiXvRtVEDAXkt8sxWJmUIccc7exBt3NC6bVQHJXa7OLHq)a3PyH6Al(JD)ZQGsmNHCI)e3tG2d0LB0h3oZe3iPfg)7DV0ckhugBluuOp5EJbWgTbuV3qThtCiEwd5guiRakSr59tSarOfynf0proyzVH1ptyHXQTJGECJKf1droXH9JWICYWJRfwJ1v37oJaBurtKFpUmDnXKHoXXgn0kQVNqg(WkLC8WFenSNRZPNblK9z)y7cg0mhQnbRMpTOVujLsLtvbCyrF9vKanAh7mY9uwZwtCO9h7h0Loco4EIZJfOUH1gA4q9F7WR(X)G7zonDd52heBiM1wKfV(hMc)N)lxHbrxww8QNg5cHrqfllSYsrEf6DRfz6aypjOq7B6UwRxthCQJl007QEpO4Ufed6x6uuEVNPup7SOaB3rmEOkiD)cxGlFDnCgtIROOKa85j)2NojU2uPIYRPFDIHzhVRM46hqR)zBQIt(Jhji0dxi8cjPRfQf2y(Zk4ps26rguDpbrwUjIUqNOD0aEw3KiW26EXnhzS1Jv(DWirTLEUGqb3rDCSNJwh7lEuWntBQXqMitJTvXqi1mccSbteWLtilwkFVmPXQ2Ib3zpaR6mFBGvP(8xZZ(deYSQiwKGUyKpA07vbEIDwZl8sQas(bwdFyE9iuOOKgB7(0fUa(XiffQROFkt)Si(z8ykQh728Qp3BtKx0qxyyQlTngd(c7CBVRB2UXkizYcSUcNpXOXYc8YHGgBj6kuZdaA0URA3Un70nr1qNQSQwldyAzbnmlGABbg4bIHBRy1om6jZ8iya9L)EaW4ziPozOX89N1cFHCW8yw2E)zwEg2rlxRb3IUNjEB(GOVFbShcgLtPw2nBR1SEd2ghMflqHjW1PdS1dmZxdDKU2LEwFFr))m0WebdcCC6Tc0hhGIlBzYnSRJ)LczHv1ngxqLzdSOxTY6rOqPYcYvqU9LvLkvKAmjuqvuSKAXsckLlljRqTTekuuwuUKKsXkcIvutyQjTcYho65t2pIG)sxXCdPrduU0jThbTAjMVNgpCi5gmEAAueSWK0MYc7TQYrHTA630bXNF6YWEVdjN9oGvieM9D040Vln4JWPPgBNMs2qa22Ht1chmorOzMWzVEZW2WlH4)NYg3FcK6j0rWjrsuK1sH0Zul6yiwTehto5WeB8AcpE6XQTa79ICcaYl4yIbauv(4nSy9LquVWP33j8a6C7DSiIVJdebiYFup9BFIZSM2VWl)D6Oy)6n2WSqbSHCXKKEUsBh85)e0XjwioxmTUnPoEdfiThOyzmDVpYUOwIeJfJOjYLd4maB5MH9zgHayaii)spt7mi53DHUdztbHBUAzC1bRzsZ3pfYR8odpplCUEEIXcTeWZfXzCWKf9)hl6xDSLTfe3zjHvkbo7zt2bhyo5LKsPvByRhh3Q8izYtOtf6kaoQJP)1WCm97WSA86ZkatdU3Q5qkAdzjzzzAQQa6qErzzy4ovAXybJbhWHWlNX9VwYUjvm5uBFPP2cXxLouQT7lL2dHkBskShe11CkR5uw3gLvCt(Erz9g3NiWoL7C9m)4I(x66fyfeAs(LqELlnuomyFRtVHPyoWGDBJlXlir8ebUvQuU0UpJe05nAEXa08Jqr)MUnBO17GzOZL88rLE(bEAk8Yx)6qYsr29zqUDp3riTxKGpasVj5lV787ZH2AgNubpI)rOWx57kvwWwcUEdO5RJKFFGOJ4DVXZI4ZWvNHNZim3gtTCm2zwg2dK3uy2Z(UW3UnO5xEWC(gWSZj3NtUpNC)XJCFsAQPYbE6CNNkT4yGYd4iz3WR)RsQPjvkpVZyyhWxqbTjKOxqqnjxMF5WZ0Q6vnE7JMz3r43d8ThBipcfKueQSkL6r5tpzs2P5tFvbytwnM(BbtJJdkUDavKdeU9fx1kqqRHMRQ3qdhamvtGtOTn4BHBU82bWU))lNABMfJxG0PjwuPsE20YZMwI8rXj3UVwsPwAl)mmNqpsPDdL5nuEZmWH2fjn02wch)fKTnt8AbpMryn18Kw6AoFts8ot(Q7GXlLoBTBV2O1)Q2K760oNoBoD2C6S)KOZYnH6PYGRSuMPBJh52I74ixFJEhJZ99K77j33ZXZ3ZrK81M4Mouox8UMbpBQwBhz5Es(An(Aha3RFeoirgceNX2Ws0fS)GP(eJ7a9BmodC27X1UjHC(0sR)0V4KOlN0jzxb2TU9K9y7)EqzjfTfoS54sFznC68HI)AH)sg7itWB4GUd7BAGT1B0(pcFKT)3z5osW0FxVha7vMr3mX8)sVj(CV5E)6UaaA1BuT3N)sB6SbSDVP61vR3Sn(in361w2e4jTpxTvv67aNox35IVGpwVrRoT)8TuiLWxx9u9U32SovqDAtRz3oxDBdASUnst)G3Ix6GOLFoh41wsc)gNyZZ5w1Nmj9xwsPsrzbfjf5kvkjlurF05kY4MXlvvuRurPKOGCrLYW(SO3iRFzzOrvkkvwOOQOqzff8nfxTj)4KUBUuNsKKBPdij3B5IlK4k7g7pL3HOLmF3lRBCkVx)0ePzAH(xaB0Fm1FCr)mVQWjp9TFG7eC9MYNfE2JF5lN1yJS7eFEIjpTTKNNy2NuimVuYzFMZ(mN9zo7Zxm2N5h93RF6NkzYUKDH9YM9jdC4VAYNVvo7SNh3ZTEz0ZM75wUA65SqZzH(A6AONKfA8Fj58jKMtd9vgn0S2P(MJk5A3c9FQ0i391G)iYNuPO6xB)hTdT0gD85tQMZNmNpzoFYC(K58jZ5tUKwy5m5lI3yUSztIi8Y5s(tKlz81Q8aPsY9ACMtImNez6Bc3RDsKRonZyEGppwKljHMtJ8ODAMQsIQLKLvfKLkjjXonZIStZSC5sLvklPiRkb8zKx70mLKfefkPOuuwM()mVyV5nlfuo3K8FQurZ(kSFePGw5V8Mw86r22JAD0PGcF5rmWMeQz1)Fd