Tumble files around a bit
This commit is contained in:
@@ -1,58 +0,0 @@
|
|||||||
--Guess attack speed by taking entire data set and comparing 2 - 4 intervals then storing the n into seperate array and incrementing it
|
|
||||||
--Attack speed with most counts in latter array is the best guess by m%
|
|
||||||
--Correct this by repeating step on exit combat maybe?
|
|
||||||
--Look at tolerances as well
|
|
||||||
|
|
||||||
local dataSet2s = {
|
|
||||||
[1] = 540390408.9506,
|
|
||||||
[2] = 540392394.9163,
|
|
||||||
[3] = 540394398.5326,
|
|
||||||
[4] = 540396409.5288,
|
|
||||||
[5] = 540398396.6414,
|
|
||||||
[6] = 540400397.0754,
|
|
||||||
[7] = 540402384.8113,
|
|
||||||
[8] = 540404385.3304,
|
|
||||||
[9] = 540406398.99,
|
|
||||||
[10] = 540408386.472,
|
|
||||||
[11] = 540410386.9851,
|
|
||||||
[12] = 540412374.8497,
|
|
||||||
[13] = 540414375.1427,
|
|
||||||
[14] = 540416373.0995,
|
|
||||||
[15] = 540418376.9931,
|
|
||||||
[16] = 540420390.6971,
|
|
||||||
}
|
|
||||||
local dataSet1p5s = {
|
|
||||||
[1] = 541651364.1916,
|
|
||||||
[2] = 541652857.9058,
|
|
||||||
[3] = 541654365.8491,
|
|
||||||
[4] = 541655858.3292,
|
|
||||||
[5] = 541657352.4962,
|
|
||||||
[6] = 541658846.2963,
|
|
||||||
[7] = 541660354.015,
|
|
||||||
[8] = 541661847.0112,
|
|
||||||
[9] = 541663340.6759,
|
|
||||||
[10] = 541664861.3772,
|
|
||||||
[11] = 541666354.9449,
|
|
||||||
[12] = 541667848.8308,
|
|
||||||
[13] = 541669343.2332,
|
|
||||||
[14] = 541670849.9777,
|
|
||||||
[15] = 541672344.0613,
|
|
||||||
[16] = 541673851.2346,
|
|
||||||
}
|
|
||||||
local tolerance = 50
|
|
||||||
local tempAverages = {}
|
|
||||||
-- rounds .5 to 0 or 1; want to round to .5 or .2 or alike
|
|
||||||
for k, v in ipairs(dataSet1p5s) do
|
|
||||||
if k > 1 then
|
|
||||||
local tempAvg = (dataSet1p5s[k] - dataSet1p5s[k - 1])
|
|
||||||
print(
|
|
||||||
((math.floor(tempAvg / 1000) - (tempAvg / 1000)) * 1000),
|
|
||||||
(math.ceil(tempAvg / 1000) - (tempAvg / 1000)) * 1000
|
|
||||||
)
|
|
||||||
if not tempAverages[tempAvg] then tempAverages[tempAvg] = 0 end
|
|
||||||
tempAverages[tempAvg] = tempAverages[tempAvg] + 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
for k, v in pairs(tempAverages) do
|
|
||||||
print(k, v)
|
|
||||||
end
|
|
Submodule Complete Projects/Legion/RaiderSA deleted from 7a3f912549
@@ -1,11 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
local Button = CreateFrame("Button", "MyButton", UIParent, "UIPanelButtonTemplate")
|
|
||||||
Button:SetWidth(150)
|
|
||||||
Button:SetHeight(25)
|
|
||||||
Button:SetPoint("TOP")
|
|
||||||
Button:SetText("Dance")
|
|
||||||
Button:RegisterForClicks("AnyUp")
|
|
||||||
Button:SetScript("OnClick", function()
|
|
||||||
DoEmote("dance", UnitName("target"))
|
|
||||||
end )
|
|
@@ -1,38 +0,0 @@
|
|||||||
EVERY FRAME
|
|
||||||
function()
|
|
||||||
local function range (val, min, max, max2)
|
|
||||||
val = 1 - (((max - val) / (max - min)) * max2)
|
|
||||||
return val
|
|
||||||
end
|
|
||||||
local pX = UnitPosition("player") or 0
|
|
||||||
local pY = select(2,UnitPosition("player")) or 0
|
|
||||||
local tX = UnitPosition("Alurielle") or 0
|
|
||||||
local tY = select(2,UnitPosition("Alurielle")) or 0
|
|
||||||
local X = pX - tX
|
|
||||||
local Y = pY - tY
|
|
||||||
local playerFace = GetPlayerFacing() or 0
|
|
||||||
local playerA = math.floor(playerFace * 100)
|
|
||||||
playerA = range(playerA, 0, 630, 360) - 1
|
|
||||||
playerA = - playerA
|
|
||||||
playerA = playerA - 90
|
|
||||||
if playerA < 0 then playerA = playerA + 360 end
|
|
||||||
aura_env.hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
|
|
||||||
aura_env.angle = math.deg(math.atan2(X,Y))
|
|
||||||
if aura_env.angle < 0 then aura_env.angle = aura_env.angle + 360 end
|
|
||||||
aura_env.angle = aura_env.angle - playerA
|
|
||||||
end
|
|
||||||
|
|
||||||
DISPLAY
|
|
||||||
function()
|
|
||||||
local pX = UnitPosition("player") or 0
|
|
||||||
local pY = select(2,UnitPosition("player")) or 0
|
|
||||||
local tX = UnitPosition("Alurielle") or 0
|
|
||||||
local tY = select(2,UnitPosition("Alurielle")) or 0
|
|
||||||
local X = pX - tX
|
|
||||||
local Y = pY - tY
|
|
||||||
local hyp = math.floor(math.sqrt((math.abs(X^2)) + (math.abs(Y^2))))
|
|
||||||
return hyp
|
|
||||||
end
|
|
||||||
|
|
||||||
INIT
|
|
||||||
aura_env.angle = 0
|
|
@@ -1,31 +0,0 @@
|
|||||||
EVERY FRAME
|
|
||||||
function()
|
|
||||||
local function range (val, min, max, max2)
|
|
||||||
val = 1 - (((max - val) / (max - min)) * max2)
|
|
||||||
return val
|
|
||||||
end
|
|
||||||
local pX = UnitPosition("player") or 0
|
|
||||||
local pY = select(2,UnitPosition("player")) or 0
|
|
||||||
local tX = UnitPosition("Alurielle") or 0
|
|
||||||
local tY = select(2,UnitPosition("Alurielle")) or 0
|
|
||||||
local X = pX - tX
|
|
||||||
local Y = pY - tY
|
|
||||||
local playerFace = GetPlayerFacing() or 0
|
|
||||||
local playerA = math.floor(playerFace * 100)
|
|
||||||
playerA = range(playerA, 0, 630, 360) - 1
|
|
||||||
playerA = - playerA
|
|
||||||
playerA = playerA - 90
|
|
||||||
if playerA < 0 then playerA = playerA + 360 end
|
|
||||||
aura_env.hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
|
|
||||||
aura_env.angle = math.deg(math.atan2(X,Y))
|
|
||||||
if aura_env.angle < 0 then aura_env.angle = aura_env.angle + 360 end
|
|
||||||
aura_env.angle = aura_env.angle - playerA
|
|
||||||
end
|
|
||||||
|
|
||||||
ANIMATION
|
|
||||||
function()
|
|
||||||
return - aura_env.angle
|
|
||||||
end
|
|
||||||
|
|
||||||
INIT
|
|
||||||
aura_env.angle = 0
|
|
1
LegionWA/.gitignore
vendored
1
LegionWA/.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
.vscode
|
|
@@ -1 +0,0 @@
|
|||||||
/dump getmetatable(LFGListApplicationViewerScrollFrameButton3.Member1.Name)
|
|
@@ -1,24 +0,0 @@
|
|||||||
--MODEL_TEST
|
|
||||||
function()
|
|
||||||
frame:SetAlpha(1);
|
|
||||||
frame:SetFrameStrata("DIALOG");
|
|
||||||
local model = CreateFrame("PlayerModel", "QCP", QCQuestTitleFrame);
|
|
||||||
model:SetFrameStrata("DIALOG");
|
|
||||||
model:SetUnit("TARGET");
|
|
||||||
model:ClearModel();
|
|
||||||
model:SetPortraitZoom(0.3);
|
|
||||||
model:SetPosition(-1.6, 0, 0);
|
|
||||||
model:SetScale(0.8);
|
|
||||||
model:SetFacing(-(math.pi / -26))
|
|
||||||
model:SetAlpha(1);
|
|
||||||
model:SetScript("OnAnimStarted", function() model:SetAnimation(60); end);
|
|
||||||
model:SetScript("OnAnimFinished", function() model:SetAnimation(60); end);
|
|
||||||
model:SetAllPoints(frame);
|
|
||||||
model:RegisterEvent("PLAYER_TARGET_CHANGED");
|
|
||||||
model:RegisterEvent("UNIT_PORTRAIT_UPDATE");
|
|
||||||
model:RegisterEvent("UNIT_MODEL_CHANGED");
|
|
||||||
model:SetScript("OnEvent", TargetPortrait_EventHandler);
|
|
||||||
--yeet_env.region:SetSequenceTime(120)
|
|
||||||
--aura_env.region:SetOffsetAnim(120)
|
|
||||||
return true
|
|
||||||
end
|
|
@@ -1,19 +0,0 @@
|
|||||||
local array = { 13, 14, 52, 63, 764, 12342, 143, 2, 54, 63, 25, 15 }
|
|
||||||
local sortedarray = { 0 }
|
|
||||||
|
|
||||||
for ka, va in ipairs(array) do
|
|
||||||
for j = 1, #sortedarray do
|
|
||||||
if va > sortedarray[j] then
|
|
||||||
if sortedarray[j] > 0 then
|
|
||||||
for i = #sortedarray, j, -1 do
|
|
||||||
sortedarray[i + 1] = sortedarray[i]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
sortedarray[j] = va
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
for k, v in ipairs(sortedarray) do
|
|
||||||
print(k, v)
|
|
||||||
end
|
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
dye0taqicOfPcDjcGrbGtPsAvkQOzPs0Tae7sO4xkQWWuPoMQyzcQNrGMMkQRHuABeQ6BQeACkQ05aOCpvcoOa1crQ8qaPjcqLlsOSrfvnsHsDsbPvQImtck3eGStL6NkkgQIslvOKNsAQsCva1xjuzUcK9s9xKQgmrhgvlwf8yKmzGUSuBwv6ZkYOjKtJYQja9AKIzlYTvv7wj)wHHlKJdqvlh0ZL00HUUO2ob57cIXlGZluTEcQ2pI9Jlw5Uy0A1A4yemMlA9Bf0kOlw5uitOUazttneqdW2BG8CBTdeXxGnOPZA8zEFRn6nqcFFBf2tSXQepQTobh5iR1o9o7GTqR0ntPmdGeMyZxSYaTkqbkqbkqbkqbkqbkqRGSQaMxuitO2kpLSUY)cKnn1WQ3pwtdoOlwrEQxOlw)5eYCXOrRujET6I1kBnLARXg4DrSyz0AU20tL41QveMBRqov7I1FoHmxmA0AKqrip1l0fR)CczUy0O1xofYglxS(ZjK5IrJwHJu7I1FoHmxmA0ki79LrLtyCxS(ZjK5IrJgnALYfVFCXAnIdPrCmquK3HT(ow48j(u16maxewOBXSEGdb6inGU4Dyp)CbS7NWcgo89zXpxAd)iE)ceAp7TGE(5cy3pHfmC47ZIFU0g(r8(fi0sRrRPbh0fRip1l0fR)CczUy0O1Aut5I1kBnLAVFS(ZjK5I3pMoVdB6mA0AU20tL41QPZkKt1Uy9NtiZfJgTgjueYt9cDX6pNqMlgnA9LtHSXYfR)CczUy0OvQeVwDXALTMsT1yd8UiwSS(ZjK5I1zdwybd4cDB6mA0ki79LrLtyCxS(ZjK5IrJwHJu7I1FoHmxmA0OvypXgRs8O2kpd5h4qRvKtrt1hSYwmKEQXpk1yd69JvSdGzyBvSKqahkrUhWVvSdGZpwO1GHmEIi3CiCeI1ddiydN59T2O3NTwJ4qAmDwr2VHZpwOvXceb7AneECR1ioKgGosdOlE)49T3H9(2Bb9(2O1ddiydPJtrdiCezvhjgOvQCfh)shaT(MxuiBSa4k5ersKejrcBmdxe5rIKijsIKijsIKijsIKijsI8irgtmejWlgo7iKgcWXOepEdpELCQxGw5uitOUazttneqdW2BG8CBfKvJs84LoakS(fTkauwriBAQHUyfJh1wPYvC8TsLR44tVigyBfz)g0kvUIJp9y8O2Af5yUATfQxy1kW7ql0p7mItSyzLkxXXhWLHCKnwwFZlkKnwaCLCIijsIKitdkEIi)re5fiYphffZNhaG7ljsGxmC2rineGJrjE8gE86vICoiYphffZNhaGNljsGxmC2rineq8aaCmkXJ3WJxVsKZjr(CFtorKejrsKPbfprK1OoL28FtKxGibEXqGYRiBnf66DaWXOepEdpELCIijsIKizVeznQtPn)3e5fUarEmy2Vbjsv0apsKOOErK)iI8ce5pIibcrs7nr2lqYjIKijsIe2ygUiYF0Lp33xIWCto1lqRu5ko(B(VT(MxuiBSa4k5ersKejrMgu8er(JiYlqKFokkMppaa3xsKaVy4SJqAiahJs84n841Re5CqKFokkMppaapxsKaVy4SJqAiG4ba4yuIhVHhVELiNtI85(MCIijsIKiHnMHlISIq2AkM3b8ZraokaX8E8sI8hDLCQxGwPYvC8T(MxuiBSa4k5ersKejrcBmdxejcZn5uVajNiNiNiNiNSsjQPOXAocKJTrRi73qLj827WNTwJ4qAkDamdBRHUWg(YP6GcgeCMvniX1CAcod51GaudY4bv6ayg21GuaFMdB6fNig2wr2VH(GvK9B48j(u16maxewOBXSEGtrdiCeb0rAaDX7hVV9oS33ElO33EF27hJwzGwJDEHnKiXUIejkITMSUY)cKnn1WQ3pwXoaQmH3Eh(Svg1y5dwpmGGnumWP2kDjMWfohcsKavehjs6YhoKARHWarrE)ay0A9Wac2qLj827WwpmGGneOJ0a6I3pEF7DyVV9wqVV9(S3pgTYbbziBS4j6riBAQHvxmAf7a48j(u16maxewOBXScYQrjE8shaJfBseAvawwbzvbmVOqMqTvEkz9fY)TIqoY9(S1dCkAMGJ8ceOJ0a6I3N9(2OvrnBse6D4BRhgqWgg6Q2O3pg9oSlwRrCinIJbII8oS13XcNpXNQwNb4IWcDlM1dCiqhPb0fVF88NPfWEaSBAP9o85hXdyxu8(fi0E27WEEXh(r8xuqbf)TGHVy4WpN9lqOvqVf0ZpxANRGck4ZnTNP95IZDUI3VaHwb9(S33XqRrRPbh0fRip1l0fR)CczUy0O1Aut5I1kBnLAVFS(ZjK5I3pMoVdB6mA0ki79LrLtyCxS(ZjK5IrJwHCQ2fR)CczUy0O1xofYglxS(ZjK5IrJwJekc5PEHUy9NtiZfJgTchP2fR)CczUy0O1CTPNkXRvtNvQeVwDXALTMsT1yd8UiwSS(ZjK5I1zdwybd4cDB6mA0OvypXgRs8O2kpd5h4qRvKtrt1hSYwmKEQXpk1yd69JvSdGzyBvSKqahkrUhWVvSdGZpwOvXceb7AneECRhgqWgoZ7BTrVpBTgXH0y6SISFdNFSqRIfic21Ai84wpmGGnm0vTrVFSEyabBiDCkAaHJiR6iXaTsLR44x6aO138IczJfaxjNisIKijsyJz4IipsKejrsKejrsKejrsKejrsKhjYyIHibEXWzhH0qaogL4XB4XRKt9c0kNczc1fiBAQHaAa2EdKNBRGSAuIhV0bqH1VOvbGYkczttn0fRy8O2kvUIJVvQCfhF6fXaBRi73GwPYvC8PhJh1wRihZvRTq9cRwbEhAH(zNrCIflRu5ko(aUmKJSXY6BErHSXcGRKtejrsKezAqXte5pIiVar(5OOy(8aaCFjrc8IHZocPHaCmkXJ3WJxVsKZbr(5OOy(8aa8Cjrc8IHZocPHaIhaGJrjE8gE86vICojYN7BYjIKijsIe2ygUiYF0Lp33xIWCto1lqRu5ko(B(VT(MxuiBSa4k5ersKejrMgu8er(JiYlqKFokkMppaa3xsKaVy4SJqAiahJs84n841Re5CqKFokkMppaapxsKaVy4SJqAiG4ba4yuIhVHhVELiNtI85(MCIijsIKiHnMHlISIq2AkM3b8ZraokaX8E8sI8hDLCQxGwPYvC8T(MxuiBSa4k5ersKejrcBmdxejcZn5uVajNiNiNiNiNSsjQPOXAocKJTrRyha9bRCqqgYglEIEeYMMAy1fJwzuJLpyfz)g6dwr2VHZN4tvRZaCryHUfZ6bofnGWreqhPb0fVF8(27WEF7TGEF79zVFmAvuZMeHEh(2AnIdPbOJ0a6I3pEF7DyVV9wqVVnADL)fiBAQHvVFSIDauzcV9o8zRhgqWgA6SEyabBOyGtTv6smHlCoeKibQiosK0LpCi1wdHbII8(bWO16HbeSHkt4T3HTcYQcyErHmHAR8uYkd0ASZlSHej2vKirrS1erkOvSdGZN4tvRZaCryHUfZkiRgL4XlDamwSjrOvbyzfz)gQmH3Eh(S1xi)3kc5i3BbTEyabBiqhPb0fVF8(27WEF7TGEF79zVFmA9aNIMj4iVab6inGU49zVVnATgXH0u6ayg2wdDHn8Lt1bfmi4mRAqIR50eCgYRbbOgKXdQ0bWmSRbPa(mh20lormSn6TGUynWmVV1g9giHP1kd0ASZlSHej2vKirrS1er(yf2tSXQepQTIDamdBRuJ0a6I3N9(XOvofYeQlq20udb0aS9gip3wXoaMHT1qxydF5uDqbdcow1GexZPj4mKxdA2rinm4mKxbudY4bfCgYRbfCgYV4zRGSQaMxuitO2kpLSIq20udDXkgpQTwroMRwPYvC8PhJh1wRihZvR5vluVqR8moSsLR44tVigyBfz)g0kLOMIgR5iqo2wZ1M(8IHMoJwFH8FRiKJCVpBnegikYBATUY)cKnn1WQ3pwf1SjrO30EBnn4GUyf5PEHUy9NtiZfJgTsL41QlwRS1uQTgBG3fXILrR5AtpvIxRMoRqov7I1FoHmxmA0AKqrip1l0fR)CczUy0O1xofYglxS(ZjK5IrJwHJu7I1FoHmxmA0ki79LrLtyCxS(ZjK5IrJgn69zxScYQcyErHmHAR8uYkd0ASZlSHej2vKirrS1erg2kSNyJvjEuBf7ayg2wPgPb0fVp79JrRCkKjuxGSPPgcOby7nqEUTIDamdBRHUWg(YP6GcgeCSQbjUMttWziVg0SJqAyWziVcOgKXdk4mKxdk4mKFXZwdmZ7BTrVP92kczttn0fRy8O2Af5yUAnVAH6fALNXHvQCfhF6X4rT1kYXC1kvUIJp9IyGTvK9BqRuIAkASMJa5yBnxB6ZlgA6mA9fY)TIqoY9(S1qyGOiVP16k)lq20udRE)yvuZMeHEt7T10Gd6IvKN6f6I1FoHmxmA0kvIxRUyTYwtP2ASbExelwgTMRn9ujETA6SchP2fR)CczUy0O1iHIqEQxOlw)5eYCXOrRVCkKnwUy9NtiZfJgTc5uTlw)5eYCXOrRGS3xgvoHXDX6pNqMlgnA0OrRc59Z5WpgTb
|
dye0taqicOfPcDjcGrbGtPsAvkQOzPs0Tae7sO4xkQWWuPoMQyzcQNrGMMkQRHuABeQ6BQeACkQ05aOCpvcoOa1crQ8qaPjcqLlsOSrfvnsHsDsbPvQImtck3eGStL6NkkgQIslvOKNsAQsCva1xjuzUcK9s9xKQgmrhgvlwf8yKmzGUSuBwv6ZkYOjKtJYQja9AKIzlYTvv7wj)wHHlKJdqvlh0ZL00HUUO2ob57cIXlGZluTEcQ2pI9Jlw5Uy0A1A4yemMlA9Bf0kOlw5uitOUazttneqdW2BG8CBTdeXxGnOPZA8zEFRn6nqcFFBf2tSXQepQTobh5iR1o9o7GTqR0ntPmdGeMyZxSYaTkqbkqbkqbkqbkqbkqRGSQaMxuitO2kpLSUY)cKnn1WQ3pwtdoOlwrEQxOlw)5eYCXOrRujET6I1kBnLARXg4DrSyz0AU20tL41QveMBRqov7I1FoHmxmA0AKqrip1l0fR)CczUy0O1xofYglxS(ZjK5IrJwHJu7I1FoHmxmA0ki79LrLtyCxS(ZjK5IrJgnALYfVFCXAnIdPrCmquK3HT(ow48j(u16maxewOBXSEGdb6inGU4Dyp)CbS7NWcgo89zXpxAd)iE)ceAp7TGE(5cy3pHfmC47ZIFU0g(r8(fi0sRrRPbh0fRip1l0fR)CczUy0O1Aut5I1kBnLAVFS(ZjK5I3pMoVdB6mA0AU20tL41QPZkKt1Uy9NtiZfJgTgjueYt9cDX6pNqMlgnA9LtHSXYfR)CczUy0OvQeVwDXALTMsT1yd8UiwSS(ZjK5I1zdwybd4cDB6mA0ki79LrLtyCxS(ZjK5IrJwHJu7I1FoHmxmA0OvypXgRs8O2kpd5h4qRvKtrt1hSYwmKEQXpk1yd69JvSdGzyBvSKqahkrUhWVvSdGZpwO1GHmEIi3CiCeI1ddiydN59T2O3NTwJ4qAmDwr2VHZpwOvXceb7AneECR1ioKgGosdOlE)49T3H9(2Bb9(2O1ddiydPJtrdiCezvhjgOvQCfh)shaT(MxuiBSa4k5ersKejrcBmdxe5rIKijsIKijsIKijsIKijsI8irgtmejWlgo7iKgcWXOepEdpELCQxGw5uitOUazttneqdW2BG8CBfKvJs84LoakS(fTkauwriBAQHUyfJh1wPYvC8TsLR44tVigyBfz)g0kvUIJp9y8O2Af5yUATfQxy1kW7ql0p7mItSyzLkxXXhWLHCKnwwFZlkKnwaCLCIijsIKitdkEIi)re5fiYphffZNhaG7ljsGxmC2rineGJrjE8gE86vICoiYphffZNhaGNljsGxmC2rineq8aaCmkXJ3WJxVsKZjr(CFtorKejrsKPbfprK1OoL28FtKxGibEXqGYRiBnf66DaWXOepEdpELCIijsIKizVeznQtPn)3e5fUarEmy2Vbjsv0apsKOOErK)iI8ce5pIibcrs7nr2lqYjIKijsIe2ygUiYF0Lp33xIWCto1lqRu5ko(B(VT(MxuiBSa4k5ersKejrMgu8er(JiYlqKFokkMppaa3xsKaVy4SJqAiahJs84n841Re5CqKFokkMppaapxsKaVy4SJqAiG4ba4yuIhVHhVELiNtI85(MCIijsIKiHnMHlISIq2AkM3b8ZraokaX8E8sI8hDLCQxGwPYvC8T(MxuiBSa4k5ersKejrcBmdxejcZn5uVajNiNiNiNiNSsjQPOXAocKJTrRi73qLj827WNTwJ4qAkDamdBRHUWg(YP6GcgeCMvniX1CAcod51GaudY4bv6ayg21GuaFMdB6fNig2wr2VH(GvK9B48j(u16maxewOBXSEGtrdiCeb0rAaDX7hVV9oS33ElO33EF27hJwzGwJDEHnKiXUIejkITMSUY)cKnn1WQ3pwXoaQmH3Eh(Svg1y5dwpmGGnumWP2kDjMWfohcsKavehjs6YhoKARHWarrE)ay0A9Wac2qLj827WwpmGGneOJ0a6I3pEF7DyVV9wqVV9(S3pgTYbbziBS4j6riBAQHvxmAf7a48j(u16maxewOBXScYQrjE8shaJfBseAvawwbzvbmVOqMqTvEkz9fY)TIqoY9(S1dCkAMGJ8ceOJ0a6I3N9(2OvrnBse6D4BRhgqWgg6Q2O3pg9oSlwRrCinIJbII8oS13XcNpXNQwNb4IWcDlM1dCiqhPb0fVF88NPfWEaSBAP9o85hXdyxu8(fi0E27WEEXh(r8xuqbf)TGHVy4WpN9lqOvqVf0ZpxANRGck4ZnTNP95IZDUI3VaHwb9(S33XqRrRPbh0fRip1l0fR)CczUy0O1Aut5I1kBnLAVFS(ZjK5I3pMoVdB6mA0ki79LrLtyCxS(ZjK5IrJwHCQ2fR)CczUy0O1xofYglxS(ZjK5IrJwJekc5PEHUy9NtiZfJgTchP2fR)CczUy0O1CTPNkXRvtNvQeVwDXALTMsT1yd8UiwSS(ZjK5I1zdwybd4cDB6mA0OvypXgRs8O2kpd5h4qRvKtrt1hSYwmKEQXpk1yd69JvSdGzyBvSKqahkrUhWVvSdGZpwOvXceb7AneECRhgqWgoZ7BTrVpBTgXH0y6SISFdNFSqRIfic21Ai84wpmGGnm0vTrVFSEyabBiDCkAaHJiR6iXaTsLR44x6aO138IczJfaxjNisIKijsyJz4IipsKejrsKejrsKejrsKejrsKhjYyIHibEXWzhH0qaogL4XB4XRKt9c0kNczc1fiBAQHaAa2EdKNBRGSAuIhV0bqH1VOvbGYkczttn0fRy8O2kvUIJVvQCfhF6fXaBRi73GwPYvC8PhJh1wRihZvRTq9cRwbEhAH(zNrCIflRu5ko(aUmKJSXY6BErHSXcGRKtejrsKezAqXte5pIiVar(5OOy(8aaCFjrc8IHZocPHaCmkXJ3WJxVsKZbr(5OOy(8aa8Cjrc8IHZocPHaIhaGJrjE8gE86vICojYN7BYjIKijsIe2ygUiYF0Lp33xIWCto1lqRu5ko(B(VT(MxuiBSa4k5ersKejrMgu8er(JiYlqKFokkMppaa3xsKaVy4SJqAiahJs84n841Re5CqKFokkMppaapxsKaVy4SJqAiG4ba4yuIhVHhVELiNtI85(MCIijsIKiHnMHlISIq2AkM3b8ZraokaX8E8sI8hDLCQxGwPYvC8T(MxuiBSa4k5ersKejrcBmdxejcZn5uVajNiNiNiNiNSsjQPOXAocKJTrRyha9bRCqqgYglEIEeYMMAy1fJwzuJLpyfz)g6dwr2VHZN4tvRZaCryHUfZ6bofnGWreqhPb0fVF8(27WEF7TGEF79zVFmAvuZMeHEh(2AnIdPbOJ0a6I3pEF7DyVV9wqVVnADL)fiBAQHvVFSIDauzcV9o8zRhgqWgA6SEyabBOyGtTv6smHlCoeKibQiosK0LpCi1wdHbII8(bWO16HbeSHkt4T3HTcYQcyErHmHAR8uYkd0ASZlSHej2vKirrS1erkOvSdGZN4tvRZaCryHUfZkiRgL4XlDamwSjrOvbyzfz)gQmH3Eh(S1xi)3kc5i3BbTEyabBiqhPb0fVF8(27WEF7TGEF79zVFmA9aNIMj4iVab6inGU49zVVnATgXH0u6ayg2wdDHn8Lt1bfmi4mRAqIR50eCgYRbbOgKXdQ0bWmSRbPa(mh20lormSn6TGUynWmVV1g9giHP1kd0ASZlSHej2vKirrS1er(yf2tSXQepQTIDamdBRuJ0a6I3N9(XOvofYeQlq20udb0aS9gip3wXoaMHT1qxydF5uDqbdcow1GexZPj4mKxdA2rinm4mKxbudY4bfCgYRbfCgYV4zRGSQaMxuitO2kpLSIq20udDXkgpQTwroMRwPYvC8PhJh1wRihZvR5vluVqR8moSsLR44tVigyBfz)g0kLOMIgR5iqo2wZ1M(8IHMoJwFH8FRiKJCVpBnegikYBATUY)cKnn1WQ3pwf1SjrO30EBnn4GUyf5PEHUy9NtiZfJgTsL41QlwRS1uQTgBG3fXILrR5AtpvIxRMoRqov7I1FoHmxmA0AKqrip1l0fR)CczUy0O1xofYglxS(ZjK5IrJwHJu7I1FoHmxmA0ki79LrLtyCxS(ZjK5IrJgn69zxScYQcyErHmHAR8uYkd0ASZlSHej2vKirrS1erg2kSNyJvjEuBf7ayg2wPgPb0fVp79JrRCkKjuxGSPPgcOby7nqEUTIDamdBRHUWg(YP6GcgeCSQbjUMttWziVg0SJqAyWziVcOgKXdk4mKxdk4mKFXZwdmZ7BTrVP92kczttn0fRy8O2Af5yUAnVAH6fALNXHvQCfhF6X4rT1kYXC1kvUIJp9IyGTvK9BqRuIAkASMJa5yBnxB6ZlgA6mA9fY)TIqoY9(S1qyGOiVP16k)lq20udRE)yvuZMeHEt7T10Gd6IvKN6f6I1FoHmxmA0kvIxRUyTYwtP2ASbExelwgTMRn9ujETA6SchP2fR)CczUy0O1iHIqEQxOlw)5eYCXOrRVCkKnwUy9NtiZfJgTc5uTlw)5eYCXOrRGS3xgvoHXDX6pNqMlgnA0OrRc59Z5WpgTb
|
File diff suppressed because one or more lines are too long
@@ -1,239 +1,239 @@
|
|||||||
--UPDATE_BIND_TABLE UPDATE_BINDS UPDATE_BAR_TABLE UPDATE_BARS DELETE_SET LIST_SETS
|
--UPDATE_BIND_TABLE UPDATE_BINDS UPDATE_BAR_TABLE UPDATE_BARS DELETE_SET LIST_SETS
|
||||||
--[[
|
--[[
|
||||||
UPDATE_BIND_TABLE saves current binds
|
UPDATE_BIND_TABLE saves current binds
|
||||||
UPDATE_BINDS restores saved binds
|
UPDATE_BINDS restores saved binds
|
||||||
UPDATE_BAR_TABLE saves current bar layout also supports sets
|
UPDATE_BAR_TABLE saves current bar layout also supports sets
|
||||||
UPDATE_BARS restores bar layout; defaults to the "default" set
|
UPDATE_BARS restores bar layout; defaults to the "default" set
|
||||||
DELETE_SET deletes a specified set
|
DELETE_SET deletes a specified set
|
||||||
LIST_SETS lists all sets
|
LIST_SETS lists all sets
|
||||||
DELETE and LIST only work for bar layouts
|
DELETE and LIST only work for bar layouts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/run WeakAuras.ScanEvents("UPDATE_BINDS")
|
/run WeakAuras.ScanEvents("UPDATE_BINDS")
|
||||||
/run WeakAuras.ScanEvents("UPDATE_BIND_TABLE")
|
/run WeakAuras.ScanEvents("UPDATE_BIND_TABLE")
|
||||||
|
|
||||||
]]
|
]]
|
||||||
function(e, ...)
|
function(e, ...)
|
||||||
if InCombatLockdown() ~= 1 then
|
if InCombatLockdown() ~= 1 then
|
||||||
if e == "UPDATE_BIND_TABLE" then
|
if e == "UPDATE_BIND_TABLE" then
|
||||||
if not WeakAurasSaved.CustomTrash then WeakAurasSaved.CustomTrash = {} end
|
if not WeakAurasSaved.CustomTrash then WeakAurasSaved.CustomTrash = {} end
|
||||||
if not WeakAurasSaved.CustomTrash.BindTableTwo then WeakAurasSaved.CustomTrash.BindTableTwo = {} end
|
if not WeakAurasSaved.CustomTrash.BindTableTwo then WeakAurasSaved.CustomTrash.BindTableTwo = {} end
|
||||||
for i = 1, GetNumBindings() do
|
for i = 1, GetNumBindings() do
|
||||||
local comm, bind, bind2 = GetBinding(i)
|
local comm, bind, bind2 = GetBinding(i)
|
||||||
if comm and bind2 and not WeakAurasSaved.CustomTrash.BindTableTwo[comm] then
|
if comm and bind2 and not WeakAurasSaved.CustomTrash.BindTableTwo[comm] then
|
||||||
print("Adding", comm, "with bind", bind2, "to bind table")
|
print("Adding", comm, "with bind", bind2, "to bind table")
|
||||||
WeakAurasSaved.CustomTrash.BindTableTwo[comm] = {}
|
WeakAurasSaved.CustomTrash.BindTableTwo[comm] = {}
|
||||||
WeakAurasSaved.CustomTrash.BindTableTwo[comm].bind = bind2
|
WeakAurasSaved.CustomTrash.BindTableTwo[comm].bind = bind2
|
||||||
WeakAurasSaved.CustomTrash.BindTableTwo[comm].index = i
|
WeakAurasSaved.CustomTrash.BindTableTwo[comm].index = i
|
||||||
end
|
end
|
||||||
if comm and not bind2 and WeakAurasSaved.CustomTrash.BindTableTwo[comm] then
|
if comm and not bind2 and WeakAurasSaved.CustomTrash.BindTableTwo[comm] then
|
||||||
print("Removing", comm, "with no bind from the bind table")
|
print("Removing", comm, "with no bind from the bind table")
|
||||||
WeakAurasSaved.CustomTrash.BindTableTwo[comm] = nil
|
WeakAurasSaved.CustomTrash.BindTableTwo[comm] = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif e == "UPDATE_BINDS" then
|
elseif e == "UPDATE_BINDS" then
|
||||||
for k, v in pairs(WeakAurasSaved.CustomTrash.BindTableTwo) do
|
for k, v in pairs(WeakAurasSaved.CustomTrash.BindTableTwo) do
|
||||||
local command, bind, bind2 = GetBinding(v.index)
|
local command, bind, bind2 = GetBinding(v.index)
|
||||||
if bind2 ~= v.bind then
|
if bind2 ~= v.bind then
|
||||||
--The key should be aura_env.keyBinds[command] but the key is bind2
|
--The key should be aura_env.keyBinds[command] but the key is bind2
|
||||||
print("Key", command, "has bind", bind2, "but should have", v.bind)
|
print("Key", command, "has bind", bind2, "but should have", v.bind)
|
||||||
if bind2 then SetBinding(bind2) end
|
if bind2 then SetBinding(bind2) end
|
||||||
if v.bind then SetBinding(v.bind, command) end
|
if v.bind then SetBinding(v.bind, command) end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
SaveBindings(1)
|
SaveBindings(1)
|
||||||
elseif e == "UPDATE_BAR_TABLE" then
|
elseif e == "UPDATE_BAR_TABLE" then
|
||||||
local arg2 = "default"
|
local arg2 = "default"
|
||||||
if ... then arg2 = ... end
|
if ... then arg2 = ... end
|
||||||
if not WeakAurasSaved.CustomTrash then WeakAurasSaved.CustomTrash = {} end
|
if not WeakAurasSaved.CustomTrash then WeakAurasSaved.CustomTrash = {} end
|
||||||
if not WeakAurasSaved.CustomTrash.BarTable then WeakAurasSaved.CustomTrash.BarTable = {} end
|
if not WeakAurasSaved.CustomTrash.BarTable then WeakAurasSaved.CustomTrash.BarTable = {} end
|
||||||
if not WeakAurasSaved.CustomTrash.BarTable[arg2] then WeakAurasSaved.CustomTrash.BarTable[arg2] = {} end
|
if not WeakAurasSaved.CustomTrash.BarTable[arg2] then WeakAurasSaved.CustomTrash.BarTable[arg2] = {} end
|
||||||
for i = 1, 72 do
|
for i = 1, 72 do
|
||||||
PickupAction(i)
|
PickupAction(i)
|
||||||
if GetCursorInfo() then
|
if GetCursorInfo() then
|
||||||
local type = GetCursorInfo()
|
local type = GetCursorInfo()
|
||||||
local id, name = nil, nil
|
local id, name = nil, nil
|
||||||
if not type then WeakAurasSaved.CustomTrash.BarTable[arg2][i] = nil end
|
if not type then WeakAurasSaved.CustomTrash.BarTable[arg2][i] = nil end
|
||||||
if type == "spell" then
|
if type == "spell" then
|
||||||
id = select(4, GetCursorInfo())
|
id = select(4, GetCursorInfo())
|
||||||
elseif type == "mount" then
|
elseif type == "mount" then
|
||||||
id = select(2, GetCursorInfo())
|
id = select(2, GetCursorInfo())
|
||||||
elseif type == "macro" then
|
elseif type == "macro" then
|
||||||
id = select(2, GetCursorInfo())
|
id = select(2, GetCursorInfo())
|
||||||
name = select(1, GetMacroInfo(id))
|
name = select(1, GetMacroInfo(id))
|
||||||
elseif type == "item" then
|
elseif type == "item" then
|
||||||
id = select(2, GetCursorInfo())
|
id = select(2, GetCursorInfo())
|
||||||
elseif type == "equipmentset" then
|
elseif type == "equipmentset" then
|
||||||
name = select(2, GetCursorInfo())
|
name = select(2, GetCursorInfo())
|
||||||
end --elseif end
|
end --elseif end
|
||||||
if not WeakAurasSaved.CustomTrash.BarTable[arg2][i] then WeakAurasSaved.CustomTrash.BarTable[arg2][i] = {} end
|
if not WeakAurasSaved.CustomTrash.BarTable[arg2][i] then WeakAurasSaved.CustomTrash.BarTable[arg2][i] = {} end
|
||||||
if id ~= WeakAurasSaved.CustomTrash.BarTable[arg2][i].id or type ~= WeakAurasSaved.CustomTrash.BarTable[arg2][i].type then
|
if id ~= WeakAurasSaved.CustomTrash.BarTable[arg2][i].id or type ~= WeakAurasSaved.CustomTrash.BarTable[arg2][i].type then
|
||||||
WeakAurasSaved.CustomTrash.BarTable[arg2][i].type = type
|
WeakAurasSaved.CustomTrash.BarTable[arg2][i].type = type
|
||||||
WeakAurasSaved.CustomTrash.BarTable[arg2][i].id = id
|
WeakAurasSaved.CustomTrash.BarTable[arg2][i].id = id
|
||||||
WeakAurasSaved.CustomTrash.BarTable[arg2][i].name = name
|
WeakAurasSaved.CustomTrash.BarTable[arg2][i].name = name
|
||||||
if not name then
|
if not name then
|
||||||
print("Adding", type, "by id", id, "on slot", i, "to the table")
|
print("Adding", type, "by id", id, "on slot", i, "to the table")
|
||||||
elseif name then
|
elseif name then
|
||||||
print("Adding", type, "by id", id, "and name", name, "on slot", i, "to the table")
|
print("Adding", type, "by id", id, "and name", name, "on slot", i, "to the table")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
PickupAction(i)
|
PickupAction(i)
|
||||||
end
|
end
|
||||||
elseif e == "UPDATE_BARS" then
|
elseif e == "UPDATE_BARS" then
|
||||||
local arg2 = "default"
|
local arg2 = "default"
|
||||||
if ... then arg2 = ... end
|
if ... then arg2 = ... end
|
||||||
for k, v in pairs(WeakAurasSaved.CustomTrash.BarTable[arg2]) do
|
for k, v in pairs(WeakAurasSaved.CustomTrash.BarTable[arg2]) do
|
||||||
if v.type == "spell" then
|
if v.type == "spell" then
|
||||||
if GetCursorInfo() then ClearCursor() end
|
if GetCursorInfo() then ClearCursor() end
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
if GetCursorInfo() then
|
if GetCursorInfo() then
|
||||||
local id = select(4, GetCursorInfo())
|
local id = select(4, GetCursorInfo())
|
||||||
if id ~= v.id then
|
if id ~= v.id then
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
PickupSpell(v.id)
|
PickupSpell(v.id)
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
end
|
end
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
else
|
else
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
PickupSpell(v.id)
|
PickupSpell(v.id)
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
end
|
end
|
||||||
elseif v.type == "mount" then
|
elseif v.type == "mount" then
|
||||||
local mid, mindex
|
local mid, mindex
|
||||||
--Looking for mount in mount journal
|
--Looking for mount in mount journal
|
||||||
for i = 1, C_MountJournal.GetNumMounts() do
|
for i = 1, C_MountJournal.GetNumMounts() do
|
||||||
mid = select(12, C_MountJournal.GetDisplayedMountInfo(i))
|
mid = select(12, C_MountJournal.GetDisplayedMountInfo(i))
|
||||||
local ishave = select(11, C_MountJournal.GetDisplayedMountInfo(i))
|
local ishave = select(11, C_MountJournal.GetDisplayedMountInfo(i))
|
||||||
if mid == v.id then
|
if mid == v.id then
|
||||||
mindex = i
|
mindex = i
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
if ishave == false then
|
if ishave == false then
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--Checking what's on the bar
|
--Checking what's on the bar
|
||||||
if GetCursorInfo() then ClearCursor() end
|
if GetCursorInfo() then ClearCursor() end
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
if GetCursorInfo() then
|
if GetCursorInfo() then
|
||||||
local id = select(2, GetCursorInfo())
|
local id = select(2, GetCursorInfo())
|
||||||
if id ~= v.id and mindex then
|
if id ~= v.id and mindex then
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
C_MountJournal.Pickup(mindex)
|
C_MountJournal.Pickup(mindex)
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
end
|
end
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
elseif not GetCursorInfo() and mindex then
|
elseif not GetCursorInfo() and mindex then
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
C_MountJournal.Pickup(mindex)
|
C_MountJournal.Pickup(mindex)
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
end
|
end
|
||||||
elseif v.type == "macro" then
|
elseif v.type == "macro" then
|
||||||
if GetCursorInfo() then ClearCursor() end
|
if GetCursorInfo() then ClearCursor() end
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
if GetCursorInfo() then
|
if GetCursorInfo() then
|
||||||
local id = select(2, GetCursorInfo())
|
local id = select(2, GetCursorInfo())
|
||||||
local name = select(1, GetMacroInfo(id))
|
local name = select(1, GetMacroInfo(id))
|
||||||
if id ~= v.id or name ~= v.name then
|
if id ~= v.id or name ~= v.name then
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
PickupMacro(v.id)
|
PickupMacro(v.id)
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
end
|
end
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
else
|
else
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
local name = GetMacroInfo(v.id)
|
local name = GetMacroInfo(v.id)
|
||||||
if name == v.name then
|
if name == v.name then
|
||||||
PickupMacro(v.id)
|
PickupMacro(v.id)
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif v.type == "equipmentset" then
|
elseif v.type == "equipmentset" then
|
||||||
if GetCursorInfo() then ClearCursor() end
|
if GetCursorInfo() then ClearCursor() end
|
||||||
local eqindex
|
local eqindex
|
||||||
for i = 1, GetNumEquipmentSets() do
|
for i = 1, GetNumEquipmentSets() do
|
||||||
local nam = GetEquipmentSetInfo(i)
|
local nam = GetEquipmentSetInfo(i)
|
||||||
if nam == v.name then
|
if nam == v.name then
|
||||||
eqindex = i
|
eqindex = i
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if eqindex then
|
if eqindex then
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
if GetCursorInfo() then
|
if GetCursorInfo() then
|
||||||
local name = select(2, GetCursorInfo())
|
local name = select(2, GetCursorInfo())
|
||||||
if name ~= v.name then
|
if name ~= v.name then
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
PickupEquipmentSet(eqindex)
|
PickupEquipmentSet(eqindex)
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
end
|
end
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
else
|
else
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
PickupEquipmentSet(eqindex)
|
PickupEquipmentSet(eqindex)
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif v.type == "item" then
|
elseif v.type == "item" then
|
||||||
if GetCursorInfo() then ClearCursor() end
|
if GetCursorInfo() then ClearCursor() end
|
||||||
local ios, jos
|
local ios, jos
|
||||||
for i = 0, 4 do
|
for i = 0, 4 do
|
||||||
for j = 1, GetContainerNumSlots(i) do
|
for j = 1, GetContainerNumSlots(i) do
|
||||||
local link = select(7, GetContainerItemInfo(i, j))
|
local link = select(7, GetContainerItemInfo(i, j))
|
||||||
if link then
|
if link then
|
||||||
local id = link:match("item:(%d+):")
|
local id = link:match("item:(%d+):")
|
||||||
if id then
|
if id then
|
||||||
id = tonumber(id)
|
id = tonumber(id)
|
||||||
if id == v.id then
|
if id == v.id then
|
||||||
ios = i
|
ios = i
|
||||||
jos = j
|
jos = j
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if ios and jos then
|
if ios and jos then
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
if GetCursorInfo() then
|
if GetCursorInfo() then
|
||||||
local id = select(2, GetCursorInfo())
|
local id = select(2, GetCursorInfo())
|
||||||
if id ~= v.id then
|
if id ~= v.id then
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
PickupContainerItem(ios, jos)
|
PickupContainerItem(ios, jos)
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
end
|
end
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
else
|
else
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
PickupContainerItem(ios, jos)
|
PickupContainerItem(ios, jos)
|
||||||
PickupAction(k)
|
PickupAction(k)
|
||||||
ClearCursor()
|
ClearCursor()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end --elseif end
|
end --elseif end
|
||||||
end
|
end
|
||||||
elseif e == "DELETE_SET" then
|
elseif e == "DELETE_SET" then
|
||||||
local arg2 = ...
|
local arg2 = ...
|
||||||
if arg2 and WeakAurasSaved.CustomTrash.BarTable[arg2] then
|
if arg2 and WeakAurasSaved.CustomTrash.BarTable[arg2] then
|
||||||
WeakAurasSaved.CustomTrash.BarTable[arg2] = nil
|
WeakAurasSaved.CustomTrash.BarTable[arg2] = nil
|
||||||
end
|
end
|
||||||
elseif e == "LIST_SETS" then
|
elseif e == "LIST_SETS" then
|
||||||
for k, v in pairs(WeakAurasSaved.CustomTrash.BarTable) do
|
for k, v in pairs(WeakAurasSaved.CustomTrash.BarTable) do
|
||||||
print(k)
|
print(k)
|
||||||
end
|
end
|
||||||
end --elseif end
|
end --elseif end
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,19 +1,19 @@
|
|||||||
function()
|
function()
|
||||||
results = C_AuctionHouse.GetBrowseResults()
|
results = C_AuctionHouse.GetBrowseResults()
|
||||||
-- DevTools_Dump(results)
|
-- DevTools_Dump(results)
|
||||||
for k,v in ipairs(results) do
|
for k,v in ipairs(results) do
|
||||||
local itemID = v.itemKey.itemID
|
local itemID = v.itemKey.itemID
|
||||||
local itemName = GetItemInfo(itemID)
|
local itemName = GetItemInfo(itemID)
|
||||||
if aura_env.sellPriceThresholds[itemID] then
|
if aura_env.sellPriceThresholds[itemID] then
|
||||||
if v.minPrice > aura_env.sellPriceThresholds[itemID] then
|
if v.minPrice > aura_env.sellPriceThresholds[itemID] then
|
||||||
print(itemName, "too expensive")
|
print(itemName, "too expensive")
|
||||||
SendChatMessage("POKE", "WHISPER", nil, UnitName("player"))
|
SendChatMessage("POKE", "WHISPER", nil, UnitName("player"))
|
||||||
end
|
end
|
||||||
elseif aura_env.buyPriceThresholds[itemID] then
|
elseif aura_env.buyPriceThresholds[itemID] then
|
||||||
if v.minPrice < aura_env.buyPriceThresholds[itemID] then
|
if v.minPrice < aura_env.buyPriceThresholds[itemID] then
|
||||||
print(itemName, "too cheap")
|
print(itemName, "too cheap")
|
||||||
SendChatMessage("POKE", "WHISPER", nil, UnitName("player"))
|
SendChatMessage("POKE", "WHISPER", nil, UnitName("player"))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,6 +1,6 @@
|
|||||||
function()
|
function()
|
||||||
if not aura_env.last or aura_env.last < GetTime() - aura_env.throttleTime then
|
if not aura_env.last or aura_env.last < GetTime() - aura_env.throttleTime then
|
||||||
aura_env.last = GetTime()
|
aura_env.last = GetTime()
|
||||||
AuctionHouseFrame.SearchBar.FavoritesSearchButton:Click()
|
AuctionHouseFrame.SearchBar.FavoritesSearchButton:Click()
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,17 +1,17 @@
|
|||||||
aura_env.throttleTime = 10
|
aura_env.throttleTime = 10
|
||||||
|
|
||||||
aura_env.sellPriceThresholds = {
|
aura_env.sellPriceThresholds = {
|
||||||
[168446] = 5000 * 100 * 100, -- Accord of Critical Strike
|
[168446] = 5000 * 100 * 100, -- Accord of Critical Strike
|
||||||
[168447] = 5000 * 100 * 100, -- Accord of Haste
|
[168447] = 5000 * 100 * 100, -- Accord of Haste
|
||||||
[168448] = 5000 * 100 * 100, -- Accord of Mastery
|
[168448] = 5000 * 100 * 100, -- Accord of Mastery
|
||||||
[168449] = 5000 * 100 * 100, -- Accord of Versatility
|
[168449] = 5000 * 100 * 100, -- Accord of Versatility
|
||||||
[168592] = 4500 * 100 * 100, -- Oceanic Restoration
|
[168592] = 4500 * 100 * 100, -- Oceanic Restoration
|
||||||
[168496] = 4500 * 100 * 100, -- Force Multiplier
|
[168496] = 4500 * 100 * 100, -- Force Multiplier
|
||||||
[168593] = 4500 * 100 * 100, -- Machinist's Brilliance
|
[168593] = 4500 * 100 * 100, -- Machinist's Brilliance
|
||||||
[168598] = 4500 * 100 * 100, -- Naga Hide
|
[168598] = 4500 * 100 * 100, -- Naga Hide
|
||||||
}
|
}
|
||||||
|
|
||||||
aura_env.buyPriceThresholds = {
|
aura_env.buyPriceThresholds = {
|
||||||
[152576] = 5 * 100 * 100, -- Tidesrpay Linen
|
[152576] = 5 * 100 * 100, -- Tidesrpay Linen
|
||||||
[152877] = 500 * 100 * 100, -- Veiled Crystal
|
[152877] = 500 * 100 * 100, -- Veiled Crystal
|
||||||
}
|
}
|
@@ -1,3 +1,3 @@
|
|||||||
/run AuctionHouseFrame.SearchBar.FavoritesSearchButton:Click()
|
/run AuctionHouseFrame.SearchBar.FavoritesSearchButton:Click()
|
||||||
|
|
||||||
/dump C_AuctionHouse.GetBrowseResults()
|
/dump C_AuctionHouse.GetBrowseResults()
|
@@ -1,3 +1,3 @@
|
|||||||
function(progress)
|
function(progress)
|
||||||
return aura_env.Display.color.r, aura_env.Display.color.g, aura_env.Display.color.b, 1
|
return aura_env.Display.color.r, aura_env.Display.color.g, aura_env.Display.color.b, 1
|
||||||
end
|
end
|
@@ -1,4 +1,4 @@
|
|||||||
function()
|
function()
|
||||||
local current, max = aura_env.ShieldManager.GetStats()
|
local current, max = aura_env.ShieldManager.GetStats()
|
||||||
return current, max, 1
|
return current, max, 1
|
||||||
end
|
end
|
@@ -1,8 +1,8 @@
|
|||||||
-- TICKER_500
|
-- TICKER_500
|
||||||
function()
|
function()
|
||||||
for _, shield in pairs(aura_env.Shields) do
|
for _, shield in pairs(aura_env.Shields) do
|
||||||
shield:Update()
|
shield:Update()
|
||||||
end
|
end
|
||||||
aura_env.Display.Update()
|
aura_env.Display.Update()
|
||||||
return true
|
return true
|
||||||
end
|
end
|
@@ -1,28 +1,28 @@
|
|||||||
---@param table table
|
---@param table table
|
||||||
---@param depth number?
|
---@param depth number?
|
||||||
function DumpTable(table, depth)
|
function DumpTable(table, depth)
|
||||||
if depth == nil then depth = 0 end
|
if depth == nil then depth = 0 end
|
||||||
if depth > 200 then
|
if depth > 200 then
|
||||||
print("Error: Depth > 200 in dumpTable()")
|
print("Error: Depth > 200 in dumpTable()")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
for k, v in pairs(table) do
|
for k, v in pairs(table) do
|
||||||
if type(v) == "table" then
|
if type(v) == "table" then
|
||||||
print(string.rep(" ", depth) .. k .. ":")
|
print(string.rep(" ", depth) .. k .. ":")
|
||||||
DumpTable(v, depth + 1)
|
DumpTable(v, depth + 1)
|
||||||
else
|
else
|
||||||
print(string.rep(" ", depth) .. k .. ": ", v)
|
print(string.rep(" ", depth) .. k .. ": ", v)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local colorer = Colorer.new()
|
local colorer = Colorer.new()
|
||||||
|
|
||||||
local value = 1.21
|
local value = 1.21
|
||||||
local rgb = colorer:Interpolate(value)
|
local rgb = colorer:Interpolate(value)
|
||||||
|
|
||||||
for i = 1, 150 do
|
for i = 1, 150 do
|
||||||
local value = i / 100
|
local value = i / 100
|
||||||
local rgb = colorer:Interpolate(value)
|
local rgb = colorer:Interpolate(value)
|
||||||
print(value, rgb.r, rgb.g, rgb.b)
|
print(value, rgb.r, rgb.g, rgb.b)
|
||||||
end
|
end
|
@@ -1,3 +1,3 @@
|
|||||||
function()
|
function()
|
||||||
return aura_env.Display.current, aura_env.Display.max, aura_env.Display.ofHp
|
return aura_env.Display.current, aura_env.Display.max, aura_env.Display.ofHp
|
||||||
end
|
end
|
@@ -1,5 +1,5 @@
|
|||||||
--- PLAYER_TARGET_CHANGED
|
--- PLAYER_TARGET_CHANGED
|
||||||
--- Deprecated in favor of Heimdall.AchievementSniffer
|
--- Deprecated in favor of Heimdall.AchievementSniffer
|
||||||
--function(allstates)
|
--function(allstates)
|
||||||
-- aura_env.TryInspect()
|
-- aura_env.TryInspect()
|
||||||
--end
|
--end
|
@@ -1,16 +1,16 @@
|
|||||||
--- INSPECT_ACHIEVEMENT_READY
|
--- INSPECT_ACHIEVEMENT_READY
|
||||||
--- Deprecated in favor of Heimdall.AchievementSniffer
|
--- Deprecated in favor of Heimdall.AchievementSniffer
|
||||||
--function()
|
--function()
|
||||||
-- local targetGuid = UnitGUID("target")
|
-- local targetGuid = UnitGUID("target")
|
||||||
-- if not targetGuid then return end
|
-- if not targetGuid then return end
|
||||||
-- if not string.match(targetGuid, "Player") then return end
|
-- if not string.match(targetGuid, "Player") then return end
|
||||||
-- local targetName = UnitName("target")
|
-- local targetName = UnitName("target")
|
||||||
--
|
--
|
||||||
-- local should = false
|
-- local should = false
|
||||||
-- if not WeakAurasSaved.Cyka.AchievementSniffer[targetName] then should = true end
|
-- if not WeakAurasSaved.Cyka.AchievementSniffer[targetName] then should = true end
|
||||||
-- if WeakAurasSaved.Cyka.AchievementSniffer2[targetName] then should = false end
|
-- if WeakAurasSaved.Cyka.AchievementSniffer2[targetName] then should = false end
|
||||||
-- if aura_env.config.rescan then should = true end
|
-- if aura_env.config.rescan then should = true end
|
||||||
-- if not should then return end
|
-- if not should then return end
|
||||||
--
|
--
|
||||||
-- aura_env.Scan(targetName)
|
-- aura_env.Scan(targetName)
|
||||||
--end
|
--end
|
@@ -1,4 +1,4 @@
|
|||||||
-- TICKER_500
|
-- TICKER_500
|
||||||
function()
|
function()
|
||||||
aura_env.TryInspect()
|
aura_env.TryInspect()
|
||||||
end
|
end
|
@@ -1,32 +1,32 @@
|
|||||||
--- TICKER_200
|
--- TICKER_200
|
||||||
function(allstates)
|
function(allstates)
|
||||||
for i = 0, 40 do
|
for i = 0, 40 do
|
||||||
local unit = "nameplate" .. i
|
local unit = "nameplate" .. i
|
||||||
if UnitIsPlayer(unit) then
|
if UnitIsPlayer(unit) then
|
||||||
local name = UnitName(unit)
|
local name = UnitName(unit)
|
||||||
local seen = false
|
local seen = false
|
||||||
if not Heimdall_Achievements then return end
|
if not Heimdall_Achievements then return end
|
||||||
if not Heimdall_Achievements.players then return end
|
if not Heimdall_Achievements.players then return end
|
||||||
if not Heimdall_Achievements.alreadySeen then return end
|
if not Heimdall_Achievements.alreadySeen then return end
|
||||||
|
|
||||||
if Heimdall_Achievements.players[name] then seen = true end
|
if Heimdall_Achievements.players[name] then seen = true end
|
||||||
if Heimdall_Achievements.alreadySeen[name] then seen = true end
|
if Heimdall_Achievements.alreadySeen[name] then seen = true end
|
||||||
|
|
||||||
allstates[unit] = {
|
allstates[unit] = {
|
||||||
show = true,
|
show = true,
|
||||||
changed = true,
|
changed = true,
|
||||||
name = name,
|
name = name,
|
||||||
unit = unit,
|
unit = unit,
|
||||||
seen = seen,
|
seen = seen,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
allstates[unit] = {
|
allstates[unit] = {
|
||||||
show = false,
|
show = false,
|
||||||
changed = true,
|
changed = true,
|
||||||
seen = false,
|
seen = false,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
@@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
seen = "bool",
|
seen = "bool",
|
||||||
}
|
}
|
@@ -1,135 +1,135 @@
|
|||||||
main achievement frame is AchievementFrame
|
main achievement frame is AchievementFrame
|
||||||
The tabs are
|
The tabs are
|
||||||
AchievementFrameTab1 2 3
|
AchievementFrameTab1 2 3
|
||||||
First is "Achievements", 2nd guild and 3rd statistics
|
First is "Achievements", 2nd guild and 3rd statistics
|
||||||
Statistics might also be useful but that would be hard to tell, for now
|
Statistics might also be useful but that would be hard to tell, for now
|
||||||
|
|
||||||
AchievementFrame > AchievementFrameComparison
|
AchievementFrame > AchievementFrameComparison
|
||||||
The comparison frame is AchievementFrameComparisonContainer (N/A)
|
The comparison frame is AchievementFrameComparisonContainer (N/A)
|
||||||
Scroll buttons are AchievementFrameComparisonContainerScrollBarScrollDownButton (scrollDown) and AchievementFrameComparisonContainerScrollBarScrollUpButton (scrollUp)
|
Scroll buttons are AchievementFrameComparisonContainerScrollBarScrollDownButton (scrollDown) and AchievementFrameComparisonContainerScrollBarScrollUpButton (scrollUp)
|
||||||
|
|
||||||
The actual individual achievement data is in
|
The actual individual achievement data is in
|
||||||
AchievementFrameComparisonContainerScrollChild (ScrollChild) (not a typo)
|
AchievementFrameComparisonContainerScrollChild (ScrollChild) (not a typo)
|
||||||
It has achievements listed as:
|
It has achievements listed as:
|
||||||
AchievementFrameComparisonContainerButton1 .. 10
|
AchievementFrameComparisonContainerButton1 .. 10
|
||||||
Always seems to be 10
|
Always seems to be 10
|
||||||
Scrolling should move 1 new into the view and 1 old out of view
|
Scrolling should move 1 new into the view and 1 old out of view
|
||||||
|
|
||||||
The buttons themselves represent one row (one achievement)
|
The buttons themselves represent one row (one achievement)
|
||||||
Our achievement is found in
|
Our achievement is found in
|
||||||
AchievementFrameComparisonContainerButton1Player (player)
|
AchievementFrameComparisonContainerButton1Player (player)
|
||||||
AchievementFrameComparisonContainerButton1Friend (friend)
|
AchievementFrameComparisonContainerButton1Friend (friend)
|
||||||
Ours has names while friend has no names
|
Ours has names while friend has no names
|
||||||
So we will have to use names from Player and dates from Friend
|
So we will have to use names from Player and dates from Friend
|
||||||
|
|
||||||
Name, title, is under AchievementFrameComparisonContainerButton1PlayerLabel (label)
|
Name, title, is under AchievementFrameComparisonContainerButton1PlayerLabel (label)
|
||||||
Friend date achieved is under AchievementFrameComparisonContainerButton1FriendStatus (status)
|
Friend date achieved is under AchievementFrameComparisonContainerButton1FriendStatus (status)
|
||||||
|
|
||||||
We can also get achievement ID from the button frame
|
We can also get achievement ID from the button frame
|
||||||
AchievementFrameComparisonContainerButton1P under the "id" property
|
AchievementFrameComparisonContainerButton1P under the "id" property
|
||||||
|
|
||||||
Categories are under
|
Categories are under
|
||||||
AchievementFrameCategories (N/A) > AchievementFrameCategoriesContainer (N/A)
|
AchievementFrameCategories (N/A) > AchievementFrameCategoriesContainer (N/A)
|
||||||
|
|
||||||
Structure is the same as AchievementFrameComparisonContainer
|
Structure is the same as AchievementFrameComparisonContainer
|
||||||
We have scroll child and scroll up/down
|
We have scroll child and scroll up/down
|
||||||
Although there's no scrolling so I'm not sure what we scroll
|
Although there's no scrolling so I'm not sure what we scroll
|
||||||
Not true - the buttons are categories to be expanded into
|
Not true - the buttons are categories to be expanded into
|
||||||
And clicking one does expand
|
And clicking one does expand
|
||||||
So after we click we have to recalculate their positions
|
So after we click we have to recalculate their positions
|
||||||
|
|
||||||
In AchievementFrameCategoriesContainer we have many buttons which correspond to categories
|
In AchievementFrameCategoriesContainer we have many buttons which correspond to categories
|
||||||
The best way of browsing them that I can see is reading the title of each
|
The best way of browsing them that I can see is reading the title of each
|
||||||
Since we are only interested in a few
|
Since we are only interested in a few
|
||||||
AchievementFrameCategoriesContainerButton1 .. n
|
AchievementFrameCategoriesContainerButton1 .. n
|
||||||
|
|
||||||
The title is the same structure as the achievement title
|
The title is the same structure as the achievement title
|
||||||
AchievementFrameCategoriesContainerButton1Label (label)
|
AchievementFrameCategoriesContainerButton1Label (label)
|
||||||
Under each button of course
|
Under each button of course
|
||||||
|
|
||||||
We can also get the category ID and name from the button frame
|
We can also get the category ID and name from the button frame
|
||||||
AchievementFrameCategoriesContainerButton1
|
AchievementFrameCategoriesContainerButton1
|
||||||
Under "categoryID" and "name"
|
Under "categoryID" and "name"
|
||||||
|
|
||||||
|
|
||||||
[11:20 PM] [Virag's DT]: 23:20:04 INSPECT_ACHIEVEMENT_READY - (2) table: 000001AF07021540
|
[11:20 PM] [Virag's DT]: 23:20:04 INSPECT_ACHIEVEMENT_READY - (2) table: 000001AF07021540
|
||||||
Fires when the achievement frame is ready
|
Fires when the achievement frame is ready
|
||||||
Argument #2 is the GUID of the player
|
Argument #2 is the GUID of the player
|
||||||
None is fired when the frame is closed...
|
None is fired when the frame is closed...
|
||||||
I guess we'll have to check each frame we go over
|
I guess we'll have to check each frame we go over
|
||||||
|
|
||||||
See
|
See
|
||||||
canInspect = CanInspect("unit", showError)
|
canInspect = CanInspect("unit", showError)
|
||||||
Arguments:
|
Arguments:
|
||||||
unit - A unit to inspect (string, unitID)
|
unit - A unit to inspect (string, unitID)
|
||||||
showError - True to fire a UI_ERROR_MESSAGE event (causing the default UI to display an error message) if the unit cannot be inspected; otherwise false (boolean)
|
showError - True to fire a UI_ERROR_MESSAGE event (causing the default UI to display an error message) if the unit cannot be inspected; otherwise false (boolean)
|
||||||
Returns:
|
Returns:
|
||||||
canInspect - 1 if the unit can be inspected; otherwise nil (1nil)
|
canInspect - 1 if the unit can be inspected; otherwise nil (1nil)
|
||||||
|
|
||||||
Actually nevermind, this seems much easier and simpler:
|
Actually nevermind, this seems much easier and simpler:
|
||||||
completed, month, day, year = GetAchievementComparisonInfo(achievementID)
|
completed, month, day, year = GetAchievementComparisonInfo(achievementID)
|
||||||
completed
|
completed
|
||||||
boolean - Returns true/false depending on whether the unit has completed the achievement or not.
|
boolean - Returns true/false depending on whether the unit has completed the achievement or not.
|
||||||
month
|
month
|
||||||
number - Month in which the unit has completed the achievement. Returns nil if completed is false.
|
number - Month in which the unit has completed the achievement. Returns nil if completed is false.
|
||||||
day
|
day
|
||||||
number - Day of the month in which the unit has completed the achievement. Returns nil if completed is false.
|
number - Day of the month in which the unit has completed the achievement. Returns nil if completed is false.
|
||||||
year
|
year
|
||||||
number - Year (two digits, 21st century is assumed) in which the unit has completed the achievement. Returns nil if completed is false.
|
number - Year (two digits, 21st century is assumed) in which the unit has completed the achievement. Returns nil if completed is false.
|
||||||
Only accurate after the after SetAchievementComparisonUnit is called and the INSPECT_ACHIEVEMENT_READY event has fired.
|
Only accurate after the after SetAchievementComparisonUnit is called and the INSPECT_ACHIEVEMENT_READY event has fired.
|
||||||
|
|
||||||
success = SetAchievementComparisonUnit(unit)
|
success = SetAchievementComparisonUnit(unit)
|
||||||
success
|
success
|
||||||
boolean - Returns true/false depending on whether the unit is valid.
|
boolean - Returns true/false depending on whether the unit is valid.
|
||||||
-> INSPECT_ACHIEVEMENT_READY
|
-> INSPECT_ACHIEVEMENT_READY
|
||||||
|
|
||||||
522 -- Somebody Likes Me
|
522 -- Somebody Likes Me
|
||||||
523 -- 5 Exalted Reputations
|
523 -- 5 Exalted Reputations
|
||||||
524 -- 10 Exalted Reputations
|
524 -- 10 Exalted Reputations
|
||||||
521 -- 15 Exalted Reputations
|
521 -- 15 Exalted Reputations
|
||||||
520 -- 20 Exalted Reputations
|
520 -- 20 Exalted Reputations
|
||||||
519 -- 25 Exalted Reputations
|
519 -- 25 Exalted Reputations
|
||||||
518 -- 30 Exalted Reputations
|
518 -- 30 Exalted Reputations
|
||||||
1556 -- 25 Fish
|
1556 -- 25 Fish
|
||||||
1557 -- 50 Fish
|
1557 -- 50 Fish
|
||||||
1558 -- 100 Fish
|
1558 -- 100 Fish
|
||||||
238 -- An Honorable Kill
|
238 -- An Honorable Kill
|
||||||
513 -- 100 Honorable Kills
|
513 -- 100 Honorable Kills
|
||||||
515 -- 500 Honorable Kills
|
515 -- 500 Honorable Kills
|
||||||
516 -- 1000 Honorable Kills
|
516 -- 1000 Honorable Kills
|
||||||
512 -- 5000 Honorable Kills
|
512 -- 5000 Honorable Kills
|
||||||
509 -- 10000 Honorable Kills
|
509 -- 10000 Honorable Kills
|
||||||
239 -- 25000 Honorable Kills
|
239 -- 25000 Honorable Kills
|
||||||
503 -- 50 Quests Completed
|
503 -- 50 Quests Completed
|
||||||
504 -- 100 Quests Completed
|
504 -- 100 Quests Completed
|
||||||
505 -- 250 Quests Completed
|
505 -- 250 Quests Completed
|
||||||
506 -- 500 Quests Completed
|
506 -- 500 Quests Completed
|
||||||
507 -- 1000 Quests Completed
|
507 -- 1000 Quests Completed
|
||||||
1017 -- Can I Keep Him?
|
1017 -- Can I Keep Him?
|
||||||
15 -- Plenty of Pets
|
15 -- Plenty of Pets
|
||||||
1248 -- Plethora of Pets
|
1248 -- Plethora of Pets
|
||||||
1250 -- Shop Smart, Shop Pet...Smart
|
1250 -- Shop Smart, Shop Pet...Smart
|
||||||
2516 -- Lil' Game Hunter
|
2516 -- Lil' Game Hunter
|
||||||
5876 -- Petting Zoo
|
5876 -- Petting Zoo
|
||||||
11188 -- Broken Isles Explorer
|
11188 -- Broken Isles Explorer
|
||||||
11190 -- Broken Isles Pathfinder, Part One
|
11190 -- Broken Isles Pathfinder, Part One
|
||||||
11157 -- Loremaster of Legion
|
11157 -- Loremaster of Legion
|
||||||
10763 -- Azsuna Matata
|
10763 -- Azsuna Matata
|
||||||
10790 -- Vrykul Story, Bro
|
10790 -- Vrykul Story, Bro
|
||||||
11124 -- Good Suramaritan
|
11124 -- Good Suramaritan
|
||||||
10059 -- Ain't No Mountain High Enough
|
10059 -- Ain't No Mountain High Enough
|
||||||
10698 -- That's Val'sharah Folks!
|
10698 -- That's Val'sharah Folks!
|
||||||
10672 -- Broken Isles Diplomat
|
10672 -- Broken Isles Diplomat
|
||||||
10665 -- Explore Azsuna
|
10665 -- Explore Azsuna
|
||||||
10666 -- Explore Val'sharah
|
10666 -- Explore Val'sharah
|
||||||
10667 -- Explore Highmountain
|
10667 -- Explore Highmountain
|
||||||
10668 -- Explore Stormheim
|
10668 -- Explore Stormheim
|
||||||
10669 -- Explore Suramar
|
10669 -- Explore Suramar
|
||||||
12069 -- Explore Argus
|
12069 -- Explore Argus
|
||||||
2141 -- Stable Keeper
|
2141 -- Stable Keeper
|
||||||
2142 -- Filling Up The Barn
|
2142 -- Filling Up The Barn
|
||||||
2143 -- Leading the Cavalry
|
2143 -- Leading the Cavalry
|
||||||
7382 -- Dynamic Duo
|
7382 -- Dynamic Duo
|
||||||
7383 -- Terrific Trio
|
7383 -- Terrific Trio
|
||||||
7384 -- Quintessential Quintet
|
7384 -- Quintessential Quintet
|
||||||
245 -- That Takes Class
|
245 -- That Takes Class
|
@@ -1,223 +1,223 @@
|
|||||||
---@class aura_env
|
---@class aura_env
|
||||||
---@field achievements table<number, string>
|
---@field achievements table<number, string>
|
||||||
---@field Scan fun(playerName: string)
|
---@field Scan fun(playerName: string)
|
||||||
---@field TryInspect fun()
|
---@field TryInspect fun()
|
||||||
|
|
||||||
---@class WeakAurasSaved
|
---@class WeakAurasSaved
|
||||||
---@field Cyka table<string, table<string, table<number, string>>>
|
---@field Cyka table<string, table<string, table<number, string>>>
|
||||||
|
|
||||||
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
|
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
|
||||||
if not WeakAurasSaved.Cyka.AchievementSniffer then WeakAurasSaved.Cyka.AchievementSniffer = {} end
|
if not WeakAurasSaved.Cyka.AchievementSniffer then WeakAurasSaved.Cyka.AchievementSniffer = {} end
|
||||||
if not WeakAurasSaved.Cyka.AchievementSniffer2 then WeakAurasSaved.Cyka.AchievementSniffer2 = {} end
|
if not WeakAurasSaved.Cyka.AchievementSniffer2 then WeakAurasSaved.Cyka.AchievementSniffer2 = {} end
|
||||||
for k, v in pairs(WeakAurasSaved.Cyka.AchievementSniffer2) do
|
for k, v in pairs(WeakAurasSaved.Cyka.AchievementSniffer2) do
|
||||||
if WeakAurasSaved.Cyka.AchievementSniffer[k] then WeakAurasSaved.Cyka.AchievementSniffer[k] = nil end
|
if WeakAurasSaved.Cyka.AchievementSniffer[k] then WeakAurasSaved.Cyka.AchievementSniffer[k] = nil end
|
||||||
end
|
end
|
||||||
|
|
||||||
aura_env.achievements = {
|
aura_env.achievements = {
|
||||||
15,
|
15,
|
||||||
153,
|
153,
|
||||||
245,
|
245,
|
||||||
506,
|
506,
|
||||||
507,
|
507,
|
||||||
513,
|
513,
|
||||||
524,
|
524,
|
||||||
648,
|
648,
|
||||||
649,
|
649,
|
||||||
651,
|
651,
|
||||||
655,
|
655,
|
||||||
657,
|
657,
|
||||||
660,
|
660,
|
||||||
661,
|
661,
|
||||||
667,
|
667,
|
||||||
668,
|
668,
|
||||||
669,
|
669,
|
||||||
671,
|
671,
|
||||||
676,
|
676,
|
||||||
678,
|
678,
|
||||||
681,
|
681,
|
||||||
682,
|
682,
|
||||||
697,
|
697,
|
||||||
777,
|
777,
|
||||||
958,
|
958,
|
||||||
974,
|
974,
|
||||||
975,
|
975,
|
||||||
1017,
|
1017,
|
||||||
1266,
|
1266,
|
||||||
1556,
|
1556,
|
||||||
1557,
|
1557,
|
||||||
1558,
|
1558,
|
||||||
1576,
|
1576,
|
||||||
2078,
|
2078,
|
||||||
2141,
|
2141,
|
||||||
2200,
|
2200,
|
||||||
4477,
|
4477,
|
||||||
4478,
|
4478,
|
||||||
4624,
|
4624,
|
||||||
4914,
|
4914,
|
||||||
4958,
|
4958,
|
||||||
4960,
|
4960,
|
||||||
5455,
|
5455,
|
||||||
5456,
|
5456,
|
||||||
5749,
|
5749,
|
||||||
5752,
|
5752,
|
||||||
6456,
|
6456,
|
||||||
6460,
|
6460,
|
||||||
6753,
|
6753,
|
||||||
6757,
|
6757,
|
||||||
6758,
|
6758,
|
||||||
6835,
|
6835,
|
||||||
7382,
|
7382,
|
||||||
7383,
|
7383,
|
||||||
7384,
|
7384,
|
||||||
7437,
|
7437,
|
||||||
7948,
|
7948,
|
||||||
8929,
|
8929,
|
||||||
8952,
|
8952,
|
||||||
8956,
|
8956,
|
||||||
8966,
|
8966,
|
||||||
8967,
|
8967,
|
||||||
8969,
|
8969,
|
||||||
8978,
|
8978,
|
||||||
8979,
|
8979,
|
||||||
8980,
|
8980,
|
||||||
8981,
|
8981,
|
||||||
8982,
|
8982,
|
||||||
8983,
|
8983,
|
||||||
9017,
|
9017,
|
||||||
9038,
|
9038,
|
||||||
9132,
|
9132,
|
||||||
9493,
|
9493,
|
||||||
9507,
|
9507,
|
||||||
10059,
|
10059,
|
||||||
10079,
|
10079,
|
||||||
10278,
|
10278,
|
||||||
10460,
|
10460,
|
||||||
10581,
|
10581,
|
||||||
10585,
|
10585,
|
||||||
10595,
|
10595,
|
||||||
10597,
|
10597,
|
||||||
10617,
|
10617,
|
||||||
10657,
|
10657,
|
||||||
10666,
|
10666,
|
||||||
10667,
|
10667,
|
||||||
10668,
|
10668,
|
||||||
10672,
|
10672,
|
||||||
10682,
|
10682,
|
||||||
10684,
|
10684,
|
||||||
10688,
|
10688,
|
||||||
10689,
|
10689,
|
||||||
10692,
|
10692,
|
||||||
10693,
|
10693,
|
||||||
10698,
|
10698,
|
||||||
10706,
|
10706,
|
||||||
10746,
|
10746,
|
||||||
10755,
|
10755,
|
||||||
10756,
|
10756,
|
||||||
10763,
|
10763,
|
||||||
10772,
|
10772,
|
||||||
10775,
|
10775,
|
||||||
10790,
|
10790,
|
||||||
10800,
|
10800,
|
||||||
10818,
|
10818,
|
||||||
10819,
|
10819,
|
||||||
10820,
|
10820,
|
||||||
10875,
|
10875,
|
||||||
10994,
|
10994,
|
||||||
11124,
|
11124,
|
||||||
11126,
|
11126,
|
||||||
11127,
|
11127,
|
||||||
11128,
|
11128,
|
||||||
11153,
|
11153,
|
||||||
11157,
|
11157,
|
||||||
11164,
|
11164,
|
||||||
11188,
|
11188,
|
||||||
11189,
|
11189,
|
||||||
11190,
|
11190,
|
||||||
11214,
|
11214,
|
||||||
11220,
|
11220,
|
||||||
11298,
|
11298,
|
||||||
11338,
|
11338,
|
||||||
11394,
|
11394,
|
||||||
11446,
|
11446,
|
||||||
11473,
|
11473,
|
||||||
11545,
|
11545,
|
||||||
11559,
|
11559,
|
||||||
11610,
|
11610,
|
||||||
11611,
|
11611,
|
||||||
11653,
|
11653,
|
||||||
11657,
|
11657,
|
||||||
11658,
|
11658,
|
||||||
11659,
|
11659,
|
||||||
11660,
|
11660,
|
||||||
11674,
|
11674,
|
||||||
11773,
|
11773,
|
||||||
11787,
|
11787,
|
||||||
11789,
|
11789,
|
||||||
11790,
|
11790,
|
||||||
11796,
|
11796,
|
||||||
11992,
|
11992,
|
||||||
11993,
|
11993,
|
||||||
11994,
|
11994,
|
||||||
11995,
|
11995,
|
||||||
11996,
|
11996,
|
||||||
11997,
|
11997,
|
||||||
11998,
|
11998,
|
||||||
11999,
|
11999,
|
||||||
12000,
|
12000,
|
||||||
12001,
|
12001,
|
||||||
12008,
|
12008,
|
||||||
12015,
|
12015,
|
||||||
12020,
|
12020,
|
||||||
12026,
|
12026,
|
||||||
12028,
|
12028,
|
||||||
12030,
|
12030,
|
||||||
12072,
|
12072,
|
||||||
12074,
|
12074,
|
||||||
12085,
|
12085,
|
||||||
12086,
|
12086,
|
||||||
12103,
|
12103,
|
||||||
12110,
|
12110,
|
||||||
12445,
|
12445,
|
||||||
12447,
|
12447,
|
||||||
12448,
|
12448,
|
||||||
}
|
}
|
||||||
|
|
||||||
aura_env.TryInspect = function()
|
aura_env.TryInspect = function()
|
||||||
local targetPlayer = UnitIsPlayer("target")
|
local targetPlayer = UnitIsPlayer("target")
|
||||||
if not targetPlayer then return end
|
if not targetPlayer then return end
|
||||||
local targetName = UnitName("target")
|
local targetName = UnitName("target")
|
||||||
|
|
||||||
local should = false
|
local should = false
|
||||||
if not WeakAurasSaved.Cyka.AchievementSniffer[targetName] then should = true end
|
if not WeakAurasSaved.Cyka.AchievementSniffer[targetName] then should = true end
|
||||||
if WeakAurasSaved.Cyka.AchievementSniffer2[targetName] then should = false end
|
if WeakAurasSaved.Cyka.AchievementSniffer2[targetName] then should = false end
|
||||||
if aura_env.config.rescan then should = true end
|
if aura_env.config.rescan then should = true end
|
||||||
if not should then return end
|
if not should then return end
|
||||||
|
|
||||||
local canInspect = CheckInteractDistance("target", 1)
|
local canInspect = CheckInteractDistance("target", 1)
|
||||||
if canInspect then SetAchievementComparisonUnit("target") end
|
if canInspect then SetAchievementComparisonUnit("target") end
|
||||||
end
|
end
|
||||||
|
|
||||||
---@param playerName string
|
---@param playerName string
|
||||||
aura_env.Scan = function(playerName)
|
aura_env.Scan = function(playerName)
|
||||||
WeakAurasSaved.Cyka.AchievementSniffer[playerName] = {}
|
WeakAurasSaved.Cyka.AchievementSniffer[playerName] = {}
|
||||||
for i, aid in ipairs(aura_env.achievements) do
|
for i, aid in ipairs(aura_env.achievements) do
|
||||||
local completed, month, day, year = GetAchievementComparisonInfo(aid)
|
local completed, month, day, year = GetAchievementComparisonInfo(aid)
|
||||||
if completed then
|
if completed then
|
||||||
---@type string
|
---@type string
|
||||||
local yearstr = "" .. year
|
local yearstr = "" .. year
|
||||||
if year < 100 then yearstr = "20" .. year end
|
if year < 100 then yearstr = "20" .. year end
|
||||||
|
|
||||||
local date = string.format("%04d-%02d-%02d", yearstr, month, day)
|
local date = string.format("%04d-%02d-%02d", yearstr, month, day)
|
||||||
|
|
||||||
local data = {
|
local data = {
|
||||||
id = aid,
|
id = aid,
|
||||||
date = date,
|
date = date,
|
||||||
completed = completed,
|
completed = completed,
|
||||||
}
|
}
|
||||||
WeakAurasSaved.Cyka.AchievementSniffer[playerName][aid] = data
|
WeakAurasSaved.Cyka.AchievementSniffer[playerName][aid] = data
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--/run WeakAurasSaved.Cyka.AchievementSniffer = {}
|
--/run WeakAurasSaved.Cyka.AchievementSniffer = {}
|
||||||
--/dump WeakAurasSaved.Cyka.AchievementSniffer["Pinkleta"]
|
--/dump WeakAurasSaved.Cyka.AchievementSniffer["Pinkleta"]
|
@@ -1,7 +1,7 @@
|
|||||||
local year = 20
|
local year = 20
|
||||||
local month = 7
|
local month = 7
|
||||||
local day = 12
|
local day = 12
|
||||||
|
|
||||||
if year < 100 then year = "20" .. year end
|
if year < 100 then year = "20" .. year end
|
||||||
|
|
||||||
print(string.format("%4d-%02d-%02d", year, month, day))
|
print(string.format("%4d-%02d-%02d", year, month, day))
|
@@ -1,318 +1,318 @@
|
|||||||
--UPDATE_MOUSEOVER_UNIT PLAYER_TARGET_CHANGED
|
--UPDATE_MOUSEOVER_UNIT PLAYER_TARGET_CHANGED
|
||||||
function()
|
function()
|
||||||
if not UnitExists("target") and UnitExists("mouseover") and UnitIsPlayer("mouseover") then
|
if not UnitExists("target") and UnitExists("mouseover") and UnitIsPlayer("mouseover") then
|
||||||
aura_env.output = "Boss RF NM HC Myth" .. "\n"
|
aura_env.output = "Boss RF NM HC Myth" .. "\n"
|
||||||
bossKills =
|
bossKills =
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
SetAchievementComparisonUnit("mouseover")
|
SetAchievementComparisonUnit("mouseover")
|
||||||
end
|
end
|
||||||
if not UnitExists("mouseover") and UnitExists("target") and UnitIsPlayer("target") then
|
if not UnitExists("mouseover") and UnitExists("target") and UnitIsPlayer("target") then
|
||||||
aura_env.output = "Boss RF NM HC Myth" .. "\n"
|
aura_env.output = "Boss RF NM HC Myth" .. "\n"
|
||||||
bossKills =
|
bossKills =
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[1] = 0,
|
[1] = 0,
|
||||||
[2] = 0,
|
[2] = 0,
|
||||||
[3] = 0,
|
[3] = 0,
|
||||||
[4] = 0
|
[4] = 0
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
SetAchievementComparisonUnit("target")
|
SetAchievementComparisonUnit("target")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--INSPECT_ACHIEVEMENT_READY
|
--INSPECT_ACHIEVEMENT_READY
|
||||||
function()
|
function()
|
||||||
aura_env.output = "Boss RF NM HC Myth" .. "\n"
|
aura_env.output = "Boss RF NM HC Myth" .. "\n"
|
||||||
for k,v in ipairs(aura_env.TOS) do
|
for k,v in ipairs(aura_env.TOS) do
|
||||||
if GetComparisonStatistic(aura_env.TOS[k][1]) ~= "--" or GetComparisonStatistic(aura_env.TOS[k][2]) ~= "--" or GetComparisonStatistic(aura_env.TOS[k][3]) ~= "--" or GetComparisonStatistic(aura_env.TOS[k][4]) ~= "--" then
|
if GetComparisonStatistic(aura_env.TOS[k][1]) ~= "--" or GetComparisonStatistic(aura_env.TOS[k][2]) ~= "--" or GetComparisonStatistic(aura_env.TOS[k][3]) ~= "--" or GetComparisonStatistic(aura_env.TOS[k][4]) ~= "--" then
|
||||||
local bossname = select(2, GetAchievementInfo(aura_env.TOS[k][1]))
|
local bossname = select(2, GetAchievementInfo(aura_env.TOS[k][1]))
|
||||||
bossname = bossname:match("[a-zA-Z' ]*kills")
|
bossname = bossname:match("[a-zA-Z' ]*kills")
|
||||||
bossname = bossname:gsub(" kills", "")
|
bossname = bossname:gsub(" kills", "")
|
||||||
aura_env.output = aura_env.output .. bossname .. "\n"
|
aura_env.output = aura_env.output .. bossname .. "\n"
|
||||||
if GetComparisonStatistic(aura_env.TOS[k][1]) ~= "--" then
|
if GetComparisonStatistic(aura_env.TOS[k][1]) ~= "--" then
|
||||||
bossKills[k][1] = GetComparisonStatistic(aura_env.TOS[k][1])
|
bossKills[k][1] = GetComparisonStatistic(aura_env.TOS[k][1])
|
||||||
end
|
end
|
||||||
if GetComparisonStatistic(aura_env.TOS[k][2]) ~= "--" then
|
if GetComparisonStatistic(aura_env.TOS[k][2]) ~= "--" then
|
||||||
bossKills[k][2] = GetComparisonStatistic(aura_env.TOS[k][2])
|
bossKills[k][2] = GetComparisonStatistic(aura_env.TOS[k][2])
|
||||||
end
|
end
|
||||||
if GetComparisonStatistic(aura_env.TOS[k][3]) ~= "--" then
|
if GetComparisonStatistic(aura_env.TOS[k][3]) ~= "--" then
|
||||||
bossKills[k][3] = GetComparisonStatistic(aura_env.TOS[k][3])
|
bossKills[k][3] = GetComparisonStatistic(aura_env.TOS[k][3])
|
||||||
end
|
end
|
||||||
if GetComparisonStatistic(aura_env.TOS[k][4]) ~= "--" then
|
if GetComparisonStatistic(aura_env.TOS[k][4]) ~= "--" then
|
||||||
bossKills[k][4] = GetComparisonStatistic(aura_env.TOS[k][4])
|
bossKills[k][4] = GetComparisonStatistic(aura_env.TOS[k][4])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
ClearAchievementComparisonUnit()
|
ClearAchievementComparisonUnit()
|
||||||
end
|
end
|
||||||
|
|
||||||
--WEAKAURA 2 DISPLAY -- RF BOSSES
|
--WEAKAURA 2 DISPLAY -- RF BOSSES
|
||||||
function()
|
function()
|
||||||
local output = ""
|
local output = ""
|
||||||
for k,v in ipairs(bossKills) do
|
for k,v in ipairs(bossKills) do
|
||||||
if tonumber(bossKills[k][1]) > 0 then
|
if tonumber(bossKills[k][1]) > 0 then
|
||||||
output = output .. bossKills[k][1] .. "\n"
|
output = output .. bossKills[k][1] .. "\n"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return output
|
return output
|
||||||
end
|
end
|
||||||
|
|
||||||
--WEAKAURA 2 DISPLAY -- NM BOSSES
|
--WEAKAURA 2 DISPLAY -- NM BOSSES
|
||||||
function()
|
function()
|
||||||
local output = ""
|
local output = ""
|
||||||
for k,v in ipairs(bossKills) do
|
for k,v in ipairs(bossKills) do
|
||||||
if tonumber(bossKills[k][2]) > 0 then
|
if tonumber(bossKills[k][2]) > 0 then
|
||||||
output = output .. bossKills[k][2] .. "\n"
|
output = output .. bossKills[k][2] .. "\n"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return output
|
return output
|
||||||
end
|
end
|
||||||
|
|
||||||
--WEAKAURA 2 DISPLAY -- HC BOSSES
|
--WEAKAURA 2 DISPLAY -- HC BOSSES
|
||||||
function()
|
function()
|
||||||
local output = ""
|
local output = ""
|
||||||
for k,v in ipairs(bossKills) do
|
for k,v in ipairs(bossKills) do
|
||||||
if tonumber(bossKills[k][3]) > 0 then
|
if tonumber(bossKills[k][3]) > 0 then
|
||||||
output = output .. bossKills[k][3] .. "\n"
|
output = output .. bossKills[k][3] .. "\n"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return output
|
return output
|
||||||
end
|
end
|
||||||
|
|
||||||
--WEAKAURA 2 DISPLAY -- Myth BOSSES
|
--WEAKAURA 2 DISPLAY -- Myth BOSSES
|
||||||
function()
|
function()
|
||||||
local output = ""
|
local output = ""
|
||||||
for k,v in ipairs(bossKills) do
|
for k,v in ipairs(bossKills) do
|
||||||
if tonumber(bossKills[k][4]) > 0 then
|
if tonumber(bossKills[k][4]) > 0 then
|
||||||
output = output .. bossKills[k][4] .. "\n"
|
output = output .. bossKills[k][4] .. "\n"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return output
|
return output
|
||||||
end
|
end
|
||||||
|
|
||||||
--INIT
|
--INIT
|
||||||
aura_env.TOS =
|
aura_env.TOS =
|
||||||
{
|
{
|
||||||
{ --Goroth
|
{ --Goroth
|
||||||
11877, -- [1]
|
11877, -- [1]
|
||||||
11878, -- [2]
|
11878, -- [2]
|
||||||
11879, -- [3]
|
11879, -- [3]
|
||||||
11880, -- [4]
|
11880, -- [4]
|
||||||
}, -- [1]
|
}, -- [1]
|
||||||
{ --Inquisition
|
{ --Inquisition
|
||||||
11881, -- [1]
|
11881, -- [1]
|
||||||
11882, -- [2]
|
11882, -- [2]
|
||||||
11883, -- [3]
|
11883, -- [3]
|
||||||
11884, -- [4]
|
11884, -- [4]
|
||||||
}, -- [2]
|
}, -- [2]
|
||||||
{ --Harjatan
|
{ --Harjatan
|
||||||
11885, -- [1]
|
11885, -- [1]
|
||||||
11886, -- [2]
|
11886, -- [2]
|
||||||
11887, -- [3]
|
11887, -- [3]
|
||||||
11888, -- [4]
|
11888, -- [4]
|
||||||
}, -- [3]
|
}, -- [3]
|
||||||
{ --Sisters
|
{ --Sisters
|
||||||
11889, -- [1]
|
11889, -- [1]
|
||||||
11890, -- [2]
|
11890, -- [2]
|
||||||
11891, -- [3]
|
11891, -- [3]
|
||||||
11892, -- [4]
|
11892, -- [4]
|
||||||
}, -- [4]
|
}, -- [4]
|
||||||
{ --Mistress
|
{ --Mistress
|
||||||
11893, -- [1]
|
11893, -- [1]
|
||||||
11894, -- [2]
|
11894, -- [2]
|
||||||
11895, -- [3]
|
11895, -- [3]
|
||||||
11896, -- [4]
|
11896, -- [4]
|
||||||
}, -- [5]
|
}, -- [5]
|
||||||
{ --Host
|
{ --Host
|
||||||
11897, -- [1]
|
11897, -- [1]
|
||||||
11898, -- [2]
|
11898, -- [2]
|
||||||
11899, -- [3]
|
11899, -- [3]
|
||||||
11900, -- [4]
|
11900, -- [4]
|
||||||
}, -- [6]
|
}, -- [6]
|
||||||
{ --Maiden
|
{ --Maiden
|
||||||
11901, -- [1]
|
11901, -- [1]
|
||||||
11902, -- [2]
|
11902, -- [2]
|
||||||
11903, -- [3]
|
11903, -- [3]
|
||||||
11904, -- [4]
|
11904, -- [4]
|
||||||
}, -- [7]
|
}, -- [7]
|
||||||
{ --Avatar
|
{ --Avatar
|
||||||
11905, -- [1]
|
11905, -- [1]
|
||||||
11906, -- [2]
|
11906, -- [2]
|
||||||
11907, -- [3]
|
11907, -- [3]
|
||||||
11908, -- [4]
|
11908, -- [4]
|
||||||
}, -- [8]
|
}, -- [8]
|
||||||
{ --Kil'jaeden
|
{ --Kil'jaeden
|
||||||
11909, -- [1]
|
11909, -- [1]
|
||||||
11910, -- [2]
|
11910, -- [2]
|
||||||
11911, -- [3]
|
11911, -- [3]
|
||||||
11912, -- [4]
|
11912, -- [4]
|
||||||
}, -- [9]
|
}, -- [9]
|
||||||
}
|
}
|
||||||
aura_env.NH =
|
aura_env.NH =
|
||||||
{
|
{
|
||||||
{ --Skorp
|
{ --Skorp
|
||||||
10940, -- [1]
|
10940, -- [1]
|
||||||
10941, -- [2]
|
10941, -- [2]
|
||||||
10942, -- [3]
|
10942, -- [3]
|
||||||
10943, -- [4]
|
10943, -- [4]
|
||||||
}, -- [1]
|
}, -- [1]
|
||||||
{ --Anomaly
|
{ --Anomaly
|
||||||
10944, -- [1]
|
10944, -- [1]
|
||||||
10945, -- [2]
|
10945, -- [2]
|
||||||
10946, -- [3]
|
10946, -- [3]
|
||||||
10947, -- [4]
|
10947, -- [4]
|
||||||
}, -- [2]
|
}, -- [2]
|
||||||
{ --Trilliax
|
{ --Trilliax
|
||||||
10948, -- [1]
|
10948, -- [1]
|
||||||
10949, -- [2]
|
10949, -- [2]
|
||||||
10950, -- [3]
|
10950, -- [3]
|
||||||
10951, -- [4]
|
10951, -- [4]
|
||||||
}, -- [3]
|
}, -- [3]
|
||||||
{ --Aluriel
|
{ --Aluriel
|
||||||
10952, -- [1]
|
10952, -- [1]
|
||||||
10953, -- [2]
|
10953, -- [2]
|
||||||
10954, -- [3]
|
10954, -- [3]
|
||||||
10955, -- [4]
|
10955, -- [4]
|
||||||
}, -- [4]
|
}, -- [4]
|
||||||
{ --Augur
|
{ --Augur
|
||||||
10956, -- [1]
|
10956, -- [1]
|
||||||
10957, -- [2]
|
10957, -- [2]
|
||||||
10959, -- [3]
|
10959, -- [3]
|
||||||
10960, -- [4]
|
10960, -- [4]
|
||||||
}, -- [5]
|
}, -- [5]
|
||||||
{ --Botanist
|
{ --Botanist
|
||||||
10961, -- [1]
|
10961, -- [1]
|
||||||
10962, -- [2]
|
10962, -- [2]
|
||||||
10963, -- [3]
|
10963, -- [3]
|
||||||
10964, -- [4]
|
10964, -- [4]
|
||||||
}, -- [6]
|
}, -- [6]
|
||||||
{ --Tich
|
{ --Tich
|
||||||
10965, -- [1]
|
10965, -- [1]
|
||||||
10966, -- [2]
|
10966, -- [2]
|
||||||
10967, -- [3]
|
10967, -- [3]
|
||||||
10968, -- [4]
|
10968, -- [4]
|
||||||
}, -- [7]
|
}, -- [7]
|
||||||
{ --Krosus
|
{ --Krosus
|
||||||
10969, -- [1]
|
10969, -- [1]
|
||||||
10970, -- [2]
|
10970, -- [2]
|
||||||
10971, -- [3]
|
10971, -- [3]
|
||||||
10972, -- [4]
|
10972, -- [4]
|
||||||
}, -- [8]
|
}, -- [8]
|
||||||
{ --Elisande
|
{ --Elisande
|
||||||
10973, -- [1]
|
10973, -- [1]
|
||||||
10974, -- [2]
|
10974, -- [2]
|
||||||
10975, -- [3]
|
10975, -- [3]
|
||||||
10976, -- [4]
|
10976, -- [4]
|
||||||
}, -- [9]
|
}, -- [9]
|
||||||
{ --Gul'dan
|
{ --Gul'dan
|
||||||
10977, -- [1]
|
10977, -- [1]
|
||||||
10978, -- [2]
|
10978, -- [2]
|
||||||
10979, -- [3]
|
10979, -- [3]
|
||||||
10980, -- [4]
|
10980, -- [4]
|
||||||
}, -- [10]
|
}, -- [10]
|
||||||
}
|
}
|
||||||
aura_env.output = ""
|
aura_env.output = ""
|
@@ -1,9 +1,9 @@
|
|||||||
function()
|
function()
|
||||||
local seeds = 0
|
local seeds = 0
|
||||||
for i = 1, 100 do
|
for i = 1, 100 do
|
||||||
if UnitDebuff("nameplate" .. i, "Seed of Corruption") then
|
if UnitDebuff("nameplate" .. i, "Seed of Corruption") then
|
||||||
seeds = seeds + 1
|
seeds = seeds + 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return seeds
|
return seeds
|
||||||
end
|
end
|
@@ -1,14 +1,14 @@
|
|||||||
-- CHAT_MSG_SYSTEM
|
-- CHAT_MSG_SYSTEM
|
||||||
function(e, msg)
|
function(e, msg)
|
||||||
if msg == nil then return false end
|
if msg == nil then return false end
|
||||||
if string.find(msg, "You are now Away") then
|
if string.find(msg, "You are now Away") then
|
||||||
aura_env.KickTime = time() + 30 * 60
|
aura_env.KickTime = time() + 30 * 60
|
||||||
aura_env.AfkSince = time()
|
aura_env.AfkSince = time()
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
if string.find(msg, "You are no longer Away") then
|
if string.find(msg, "You are no longer Away") then
|
||||||
aura_env.KickTime = 0
|
aura_env.KickTime = 0
|
||||||
aura_env.AfkSince = 0
|
aura_env.AfkSince = 0
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,16 +1,16 @@
|
|||||||
-- TICKER_500
|
-- TICKER_500
|
||||||
function(e)
|
function(e)
|
||||||
local timeToKick = aura_env.KickTime - time()
|
local timeToKick = aura_env.KickTime - time()
|
||||||
if timeToKick > 0 and timeToKick < 10 * 60 then
|
if timeToKick > 0 and timeToKick < 10 * 60 then
|
||||||
WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\Sounds\\quack.ogg")
|
WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\Sounds\\quack.ogg")
|
||||||
-- SendChatMessage("QUACK", "WHISPER", nil, UnitName("player"))
|
-- SendChatMessage("QUACK", "WHISPER", nil, UnitName("player"))
|
||||||
end
|
end
|
||||||
|
|
||||||
local rewardClaimed = WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].claimed
|
local rewardClaimed = WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].claimed
|
||||||
local onlineTime = WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].onlineTimeInMinutes
|
local onlineTime = WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].onlineTimeInMinutes
|
||||||
if rewardClaimed == 0 and onlineTime >= 120 then
|
if rewardClaimed == 0 and onlineTime >= 120 then
|
||||||
WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\Sounds\\quack.ogg")
|
WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\Sounds\\quack.ogg")
|
||||||
end
|
end
|
||||||
|
|
||||||
return aura_env.KickTime > 0
|
return aura_env.KickTime > 0
|
||||||
end
|
end
|
@@ -1,3 +1,3 @@
|
|||||||
function(e)
|
function(e)
|
||||||
return math.floor(time() - aura_env.AfkSince), math.floor(aura_env.KickTime - aura_env.AfkSince), 1
|
return math.floor(time() - aura_env.AfkSince), math.floor(aura_env.KickTime - aura_env.AfkSince), 1
|
||||||
end
|
end
|
@@ -1,6 +1,6 @@
|
|||||||
aura_env.KickTime = 0
|
aura_env.KickTime = 0
|
||||||
aura_env.AfkSince = 0
|
aura_env.AfkSince = 0
|
||||||
|
|
||||||
WeakAurasSaved.Cyka.LoginInfo = {
|
WeakAurasSaved.Cyka.LoginInfo = {
|
||||||
[Today] = WeakAurasSaved.Cyka.LoginInfo[Today] or {},
|
[Today] = WeakAurasSaved.Cyka.LoginInfo[Today] or {},
|
||||||
}
|
}
|
@@ -1,3 +1,3 @@
|
|||||||
function(t)
|
function(t)
|
||||||
return t[2]
|
return t[2]
|
||||||
end
|
end
|
@@ -1,305 +1,305 @@
|
|||||||
--QUEST_ACCEPTED QUEST_TURNED_IN
|
--QUEST_ACCEPTED QUEST_TURNED_IN
|
||||||
function(e)
|
function(e)
|
||||||
for k, v in ipairs(aura_env.questDatabase) do
|
for k, v in ipairs(aura_env.questDatabase) do
|
||||||
if IsQuestFlaggedCompleted(v) == false then
|
if IsQuestFlaggedCompleted(v) == false then
|
||||||
--print(aura_env.TESTCOMPLETION[k])
|
--print(aura_env.TESTCOMPLETION[k])
|
||||||
--if aura_env.TESTCOMPLETION[k] == false then
|
--if aura_env.TESTCOMPLETION[k] == false then
|
||||||
--print(k, IsQuestFlaggedCompleted(v))
|
--print(k, IsQuestFlaggedCompleted(v))
|
||||||
if k < 36 or k > 37 then
|
if k < 36 or k > 37 then
|
||||||
aura_env.currentQuest = k
|
aura_env.currentQuest = k
|
||||||
break
|
break
|
||||||
elseif (k == 36 and IsQuestFlaggedCompleted(aura_env.questDatabase[37]) == true) or (k == 37 and IsQuestFlaggedCompleted(aura_env.questDatabase[36]) == true) then
|
elseif (k == 36 and IsQuestFlaggedCompleted(aura_env.questDatabase[37]) == true) or (k == 37 and IsQuestFlaggedCompleted(aura_env.questDatabase[36]) == true) then
|
||||||
--elseif (k == 36 and aura_env.TESTCOMPLETION[37] == true) or (k == 37 and aura_env.TESTCOMPLETION[36] == true) then
|
--elseif (k == 36 and aura_env.TESTCOMPLETION[37] == true) or (k == 37 and aura_env.TESTCOMPLETION[36] == true) then
|
||||||
k = 38
|
k = 38
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
--print(aura_env.currentQuest)
|
--print(aura_env.currentQuest)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
--DISPLAY
|
--DISPLAY
|
||||||
function()
|
function()
|
||||||
if aura_env.currentQuest < 89 then
|
if aura_env.currentQuest < 89 then
|
||||||
return "Progress: " .. aura_env.currentQuest .. "/" .. #aura_env.questDatabase .. "\nCurrent quest: " .. aura_env.questNames[aura_env.currentQuest] .. "\nNext Quest: " .. aura_env.questNames[aura_env.currentQuest + 1]
|
return "Progress: " .. aura_env.currentQuest .. "/" .. #aura_env.questDatabase .. "\nCurrent quest: " .. aura_env.questNames[aura_env.currentQuest] .. "\nNext Quest: " .. aura_env.questNames[aura_env.currentQuest + 1]
|
||||||
else
|
else
|
||||||
return "Progress: " .. aura_env.currentQuest .. "/" .. #aura_env.questDatabase .. "\nCurrent quest: " .. aura_env.questNames[aura_env.currentQuest]
|
return "Progress: " .. aura_env.currentQuest .. "/" .. #aura_env.questDatabase .. "\nCurrent quest: " .. aura_env.questNames[aura_env.currentQuest]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--INIT
|
--INIT
|
||||||
aura_env.currentQuest = 1
|
aura_env.currentQuest = 1
|
||||||
aura_env.questDatabase = {
|
aura_env.questDatabase = {
|
||||||
[1] = 47835,
|
[1] = 47835,
|
||||||
[2] = 47867,
|
[2] = 47867,
|
||||||
[3] = 47223,
|
[3] = 47223,
|
||||||
[4] = 47224,
|
[4] = 47224,
|
||||||
[5] = 48440,
|
[5] = 48440,
|
||||||
[6] = 46938,
|
[6] = 46938,
|
||||||
[7] = 47589,
|
[7] = 47589,
|
||||||
[8] = 46297,
|
[8] = 46297,
|
||||||
[9] = 48483,
|
[9] = 48483,
|
||||||
[10] = 47627,
|
[10] = 47627,
|
||||||
[11] = 47641,
|
[11] = 47641,
|
||||||
[12] = 46732,
|
[12] = 46732,
|
||||||
[13] = 46816,
|
[13] = 46816,
|
||||||
[14] = 46839,
|
[14] = 46839,
|
||||||
[15] = 46840,
|
[15] = 46840,
|
||||||
[16] = 46841,
|
[16] = 46841,
|
||||||
[17] = 46842,
|
[17] = 46842,
|
||||||
[18] = 46843,
|
[18] = 46843,
|
||||||
[19] = 48500,
|
[19] = 48500,
|
||||||
[20] = 47431,
|
[20] = 47431,
|
||||||
[21] = 46213,
|
[21] = 46213,
|
||||||
[22] = 40238,
|
[22] = 40238,
|
||||||
[23] = 47541,
|
[23] = 47541,
|
||||||
[24] = 47508,
|
[24] = 47508,
|
||||||
[25] = 47771,
|
[25] = 47771,
|
||||||
[26] = 47526,
|
[26] = 47526,
|
||||||
[27] = 47754,
|
[27] = 47754,
|
||||||
[28] = 47652,
|
[28] = 47652,
|
||||||
[29] = 47653,
|
[29] = 47653,
|
||||||
[30] = 47743,
|
[30] = 47743,
|
||||||
[31] = 49143,
|
[31] = 49143,
|
||||||
[32] = 47287,
|
[32] = 47287,
|
||||||
[33] = 48559,
|
[33] = 48559,
|
||||||
[34] = 48199,
|
[34] = 48199,
|
||||||
[35] = 48200,
|
[35] = 48200,
|
||||||
[36] = 48201,
|
[36] = 48201,
|
||||||
[37] = 48202,
|
[37] = 48202,
|
||||||
[38] = 47473,
|
[38] = 47473,
|
||||||
[39] = 47889,
|
[39] = 47889,
|
||||||
[40] = 47890,
|
[40] = 47890,
|
||||||
[41] = 47891,
|
[41] = 47891,
|
||||||
[42] = 47892,
|
[42] = 47892,
|
||||||
[43] = 47986,
|
[43] = 47986,
|
||||||
[44] = 47987,
|
[44] = 47987,
|
||||||
[45] = 47988,
|
[45] = 47988,
|
||||||
[46] = 47991,
|
[46] = 47991,
|
||||||
[47] = 47990,
|
[47] = 47990,
|
||||||
[48] = 47989,
|
[48] = 47989,
|
||||||
[49] = 47992,
|
[49] = 47992,
|
||||||
[50] = 47993,
|
[50] = 47993,
|
||||||
[51] = 47994,
|
[51] = 47994,
|
||||||
[52] = 48081,
|
[52] = 48081,
|
||||||
[53] = 46815,
|
[53] = 46815,
|
||||||
[54] = 46818,
|
[54] = 46818,
|
||||||
[55] = 46834,
|
[55] = 46834,
|
||||||
[56] = 47066,
|
[56] = 47066,
|
||||||
[57] = 46941,
|
[57] = 46941,
|
||||||
[58] = 47686,
|
[58] = 47686,
|
||||||
[59] = 47882,
|
[59] = 47882,
|
||||||
[60] = 47688,
|
[60] = 47688,
|
||||||
[61] = 47883,
|
[61] = 47883,
|
||||||
[62] = 47689,
|
[62] = 47689,
|
||||||
[63] = 47685,
|
[63] = 47685,
|
||||||
[64] = 47687,
|
[64] = 47687,
|
||||||
[65] = 47690,
|
[65] = 47690,
|
||||||
[66] = 48107,
|
[66] = 48107,
|
||||||
[67] = 48461,
|
[67] = 48461,
|
||||||
[68] = 48344,
|
[68] = 48344,
|
||||||
[69] = 47691,
|
[69] = 47691,
|
||||||
[70] = 47854,
|
[70] = 47854,
|
||||||
[71] = 47995,
|
[71] = 47995,
|
||||||
[72] = 47853,
|
[72] = 47853,
|
||||||
[73] = 48345,
|
[73] = 48345,
|
||||||
[74] = 47855,
|
[74] = 47855,
|
||||||
[75] = 47856,
|
[75] = 47856,
|
||||||
[76] = 47416,
|
[76] = 47416,
|
||||||
[77] = 47238,
|
[77] = 47238,
|
||||||
[78] = 40761,
|
[78] = 40761,
|
||||||
[79] = 47101,
|
[79] = 47101,
|
||||||
[80] = 47180,
|
[80] = 47180,
|
||||||
[81] = 47100,
|
[81] = 47100,
|
||||||
[82] = 47183,
|
[82] = 47183,
|
||||||
[83] = 47184,
|
[83] = 47184,
|
||||||
[84] = 47203,
|
[84] = 47203,
|
||||||
[85] = 47217,
|
[85] = 47217,
|
||||||
[86] = 47218,
|
[86] = 47218,
|
||||||
[87] = 47219,
|
[87] = 47219,
|
||||||
[88] = 47220,
|
[88] = 47220,
|
||||||
[89] = 48560,
|
[89] = 48560,
|
||||||
}
|
}
|
||||||
aura_env.questNames = {
|
aura_env.questNames = {
|
||||||
[1] = "The Hand of Fate",
|
[1] = "The Hand of Fate",
|
||||||
[2] = "Two If By Sea",
|
[2] = "Two If By Sea",
|
||||||
[3] = "Light's Exodus",
|
[3] = "Light's Exodus",
|
||||||
[4] = "The Vindicaar",
|
[4] = "The Vindicaar",
|
||||||
[5] = "Into the Night",
|
[5] = "Into the Night",
|
||||||
[6] = "Alone in the Abyss",
|
[6] = "Alone in the Abyss",
|
||||||
[7] = "Righteous Fury",
|
[7] = "Righteous Fury",
|
||||||
[8] = "Overwhelming Power",
|
[8] = "Overwhelming Power",
|
||||||
[9] = "A Stranger's Plea",
|
[9] = "A Stranger's Plea",
|
||||||
[10] = "Vengeance",
|
[10] = "Vengeance",
|
||||||
[11] = "Sign of Resistance",
|
[11] = "Sign of Resistance",
|
||||||
[12] = "The Prophet's Gambit",
|
[12] = "The Prophet's Gambit",
|
||||||
[13] = "Rendezvous",
|
[13] = "Rendezvous",
|
||||||
[14] = "From Darkness",
|
[14] = "From Darkness",
|
||||||
[15] = "Prisoners No More",
|
[15] = "Prisoners No More",
|
||||||
[16] = "Threat Reduction",
|
[16] = "Threat Reduction",
|
||||||
[17] = "A Strike at the Heart",
|
[17] = "A Strike at the Heart",
|
||||||
[18] = "Return to the Vindicaar",
|
[18] = "Return to the Vindicaar",
|
||||||
[19] = "A Moment of Respite",
|
[19] = "A Moment of Respite",
|
||||||
[20] = "Gathering Light",
|
[20] = "Gathering Light",
|
||||||
[21] = "Crystals Not Included",
|
[21] = "Crystals Not Included",
|
||||||
[22] = "A Grim Equation",
|
[22] = "A Grim Equation",
|
||||||
[23] = "The Best Prevention",
|
[23] = "The Best Prevention",
|
||||||
[24] = "Fire at Will",
|
[24] = "Fire at Will",
|
||||||
[25] = "Locating the Longshot",
|
[25] = "Locating the Longshot",
|
||||||
[26] = "Bringing the Big Guns",
|
[26] = "Bringing the Big Guns",
|
||||||
[27] = "Lightly Roasted",
|
[27] = "Lightly Roasted",
|
||||||
[28] = "The Light Mother",
|
[28] = "The Light Mother",
|
||||||
[29] = "Light's Return",
|
[29] = "Light's Return",
|
||||||
[30] = "The Child of Light and Shadow",
|
[30] = "The Child of Light and Shadow",
|
||||||
[31] = "Essence of the Light Mother",
|
[31] = "Essence of the Light Mother",
|
||||||
[32] = "The Vindicaar Matrix Core",
|
[32] = "The Vindicaar Matrix Core",
|
||||||
[33] = "An Offering of Light",
|
[33] = "An Offering of Light",
|
||||||
[34] = "The Burning Heart",
|
[34] = "The Burning Heart",
|
||||||
[35] = "Securing a Foothold",
|
[35] = "Securing a Foothold",
|
||||||
[36] = "Reinforce Light's Purchase",
|
[36] = "Reinforce Light's Purchase",
|
||||||
[37] = "Reinforce the Veiled Den",
|
[37] = "Reinforce the Veiled Den",
|
||||||
[38] = "Sizing Up The Opposition",
|
[38] = "Sizing Up The Opposition",
|
||||||
[39] = "The Speaker Calls",
|
[39] = "The Speaker Calls",
|
||||||
[40] = "Visions of Torment",
|
[40] = "Visions of Torment",
|
||||||
[41] = "Dire News",
|
[41] = "Dire News",
|
||||||
[42] = "Storming the Citadel",
|
[42] = "Storming the Citadel",
|
||||||
[43] = "Scars of the Past",
|
[43] = "Scars of the Past",
|
||||||
[44] = "Preventive Measures",
|
[44] = "Preventive Measures",
|
||||||
[45] = "Chaos Theory",
|
[45] = "Chaos Theory",
|
||||||
[46] = "Dark Machinations",
|
[46] = "Dark Machinations",
|
||||||
[47] = "A Touch of Fel",
|
[47] = "A Touch of Fel",
|
||||||
[48] = "Heralds of Apocalypse",
|
[48] = "Heralds of Apocalypse",
|
||||||
[49] = "Dawn of Justice",
|
[49] = "Dawn of Justice",
|
||||||
[50] = "Lord of the Spire",
|
[50] = "Lord of the Spire",
|
||||||
[51] = "Forming a Bond",
|
[51] = "Forming a Bond",
|
||||||
[52] = "A Floating Ruin",
|
[52] = "A Floating Ruin",
|
||||||
[53] = "Mac'Aree, Jewel of Argus",
|
[53] = "Mac'Aree, Jewel of Argus",
|
||||||
[54] = "Defenseless and Afraid",
|
[54] = "Defenseless and Afraid",
|
||||||
[55] = "Khazaduum, First of His Name",
|
[55] = "Khazaduum, First of His Name",
|
||||||
[56] = "Consecrating Ground",
|
[56] = "Consecrating Ground",
|
||||||
[57] = "The Path Forward",
|
[57] = "The Path Forward",
|
||||||
[58] = "Not-So-Humble Beginnings",
|
[58] = "Not-So-Humble Beginnings",
|
||||||
[59] = "Conservation of Magic",
|
[59] = "Conservation of Magic",
|
||||||
[60] = "Invasive Species",
|
[60] = "Invasive Species",
|
||||||
[61] = "The Longest Vigil",
|
[61] = "The Longest Vigil",
|
||||||
[62] = "Gatekeeper's Challenge: Tenacity",
|
[62] = "Gatekeeper's Challenge: Tenacity",
|
||||||
[63] = "Gatekeeper's Challenge: Cunning",
|
[63] = "Gatekeeper's Challenge: Cunning",
|
||||||
[64] = "Gatekeeper's Challenge: Mastery",
|
[64] = "Gatekeeper's Challenge: Mastery",
|
||||||
[65] = "The Defiler's Legacy",
|
[65] = "The Defiler's Legacy",
|
||||||
[66] = "The Sigil of Awakening",
|
[66] = "The Sigil of Awakening",
|
||||||
[67] = "Where They Least Expect It",
|
[67] = "Where They Least Expect It",
|
||||||
[68] = "We Have a Problem",
|
[68] = "We Have a Problem",
|
||||||
[69] = "A Non-Prophet Organization",
|
[69] = "A Non-Prophet Organization",
|
||||||
[70] = "Wrath of the Hight Exarch",
|
[70] = "Wrath of the Hight Exarch",
|
||||||
[71] = "Overt Ops",
|
[71] = "Overt Ops",
|
||||||
[72] = "Flanking Maneuvers",
|
[72] = "Flanking Maneuvers",
|
||||||
[73] = "Talgath's Forces",
|
[73] = "Talgath's Forces",
|
||||||
[74] = "What Might Have Been",
|
[74] = "What Might Have Been",
|
||||||
[75] = "Across the Universe",
|
[75] = "Across the Universe",
|
||||||
[76] = "Shadow of the Triumvirate",
|
[76] = "Shadow of the Triumvirate",
|
||||||
[77] = "The Seat of the Triumvirate",
|
[77] = "The Seat of the Triumvirate",
|
||||||
[78] = "Whispers from Oronaar",
|
[78] = "Whispers from Oronaar",
|
||||||
[79] = "Arkhaan's Prayers",
|
[79] = "Arkhaan's Prayers",
|
||||||
[80] = "The Pulsing Madness",
|
[80] = "The Pulsing Madness",
|
||||||
[81] = "Arkhaan's Pain",
|
[81] = "Arkhaan's Pain",
|
||||||
[82] = "Arkhaan's Plan",
|
[82] = "Arkhaan's Plan",
|
||||||
[83] = "Arkhaan's Peril",
|
[83] = "Arkhaan's Peril",
|
||||||
[84] = "Throwing Shade",
|
[84] = "Throwing Shade",
|
||||||
[85] = "Sources of Darkness",
|
[85] = "Sources of Darkness",
|
||||||
[86] = "The Shadowguard Incursion",
|
[86] = "The Shadowguard Incursion",
|
||||||
[87] = "A Vessel Made Ready",
|
[87] = "A Vessel Made Ready",
|
||||||
[88] = "A Beacon in the Dark",
|
[88] = "A Beacon in the Dark",
|
||||||
[89] = "An Offering of Shadow",
|
[89] = "An Offering of Shadow",
|
||||||
}
|
}
|
||||||
aura_env.TESTCOMPLETION = {
|
aura_env.TESTCOMPLETION = {
|
||||||
[1] = true,
|
[1] = true,
|
||||||
[2] = true,
|
[2] = true,
|
||||||
[3] = true,
|
[3] = true,
|
||||||
[4] = true,
|
[4] = true,
|
||||||
[5] = true,
|
[5] = true,
|
||||||
[6] = true,
|
[6] = true,
|
||||||
[7] = true,
|
[7] = true,
|
||||||
[8] = true,
|
[8] = true,
|
||||||
[9] = true,
|
[9] = true,
|
||||||
[10] = true,
|
[10] = true,
|
||||||
[11] = true,
|
[11] = true,
|
||||||
[12] = true,
|
[12] = true,
|
||||||
[13] = true,
|
[13] = true,
|
||||||
[14] = true,
|
[14] = true,
|
||||||
[15] = true,
|
[15] = true,
|
||||||
[16] = true,
|
[16] = true,
|
||||||
[17] = true,
|
[17] = true,
|
||||||
[18] = true,
|
[18] = true,
|
||||||
[19] = true,
|
[19] = true,
|
||||||
[20] = true,
|
[20] = true,
|
||||||
[21] = true,
|
[21] = true,
|
||||||
[22] = true,
|
[22] = true,
|
||||||
[23] = true,
|
[23] = true,
|
||||||
[24] = true,
|
[24] = true,
|
||||||
[25] = true,
|
[25] = true,
|
||||||
[26] = true,
|
[26] = true,
|
||||||
[27] = true,
|
[27] = true,
|
||||||
[28] = true,
|
[28] = true,
|
||||||
[29] = true,
|
[29] = true,
|
||||||
[30] = true,
|
[30] = true,
|
||||||
[31] = true,
|
[31] = true,
|
||||||
[32] = true,
|
[32] = true,
|
||||||
[33] = true,
|
[33] = true,
|
||||||
[34] = true,
|
[34] = true,
|
||||||
[35] = true,
|
[35] = true,
|
||||||
[36] = false,
|
[36] = false,
|
||||||
[37] = true,
|
[37] = true,
|
||||||
[38] = true,
|
[38] = true,
|
||||||
[39] = true,
|
[39] = true,
|
||||||
[40] = true,
|
[40] = true,
|
||||||
[41] = true,
|
[41] = true,
|
||||||
[42] = true,
|
[42] = true,
|
||||||
[43] = true,
|
[43] = true,
|
||||||
[44] = true,
|
[44] = true,
|
||||||
[45] = true,
|
[45] = true,
|
||||||
[46] = true,
|
[46] = true,
|
||||||
[47] = true,
|
[47] = true,
|
||||||
[48] = true,
|
[48] = true,
|
||||||
[49] = false,
|
[49] = false,
|
||||||
[50] = false,
|
[50] = false,
|
||||||
[51] = false,
|
[51] = false,
|
||||||
[52] = false,
|
[52] = false,
|
||||||
[53] = false,
|
[53] = false,
|
||||||
[54] = false,
|
[54] = false,
|
||||||
[55] = false,
|
[55] = false,
|
||||||
[56] = false,
|
[56] = false,
|
||||||
[57] = false,
|
[57] = false,
|
||||||
[58] = false,
|
[58] = false,
|
||||||
[59] = false,
|
[59] = false,
|
||||||
[60] = false,
|
[60] = false,
|
||||||
[61] = false,
|
[61] = false,
|
||||||
[62] = false,
|
[62] = false,
|
||||||
[63] = false,
|
[63] = false,
|
||||||
[64] = false,
|
[64] = false,
|
||||||
[65] = false,
|
[65] = false,
|
||||||
[66] = false,
|
[66] = false,
|
||||||
[67] = false,
|
[67] = false,
|
||||||
[68] = false,
|
[68] = false,
|
||||||
[69] = false,
|
[69] = false,
|
||||||
[70] = false,
|
[70] = false,
|
||||||
[71] = false,
|
[71] = false,
|
||||||
[72] = false,
|
[72] = false,
|
||||||
[73] = false,
|
[73] = false,
|
||||||
[74] = false,
|
[74] = false,
|
||||||
[75] = false,
|
[75] = false,
|
||||||
[76] = false,
|
[76] = false,
|
||||||
[77] = false,
|
[77] = false,
|
||||||
[78] = false,
|
[78] = false,
|
||||||
[79] = false,
|
[79] = false,
|
||||||
[80] = false,
|
[80] = false,
|
||||||
[81] = false,
|
[81] = false,
|
||||||
[82] = false,
|
[82] = false,
|
||||||
[83] = false,
|
[83] = false,
|
||||||
[84] = false,
|
[84] = false,
|
||||||
[85] = false,
|
[85] = false,
|
||||||
[86] = false,
|
[86] = false,
|
||||||
[87] = false,
|
[87] = false,
|
||||||
[88] = false,
|
[88] = false,
|
||||||
[89] = false,
|
[89] = false,
|
||||||
}
|
}
|
||||||
WeakAuras.ScanEvents("QUEST_TURNED_IN")
|
WeakAuras.ScanEvents("QUEST_TURNED_IN")
|
@@ -1,26 +1,26 @@
|
|||||||
--Display every frame for text
|
--Display every frame for text
|
||||||
--Every frame
|
--Every frame
|
||||||
function()
|
function()
|
||||||
print(aura_env.peopleList[aura_env.currentInterrupt])
|
print(aura_env.peopleList[aura_env.currentInterrupt])
|
||||||
if aura_env.peopleList[aura_env.currentInterrupt] == UnitName("player") then
|
if aura_env.peopleList[aura_env.currentInterrupt] == UnitName("player") then
|
||||||
if UnitCastingInfo("Belac") then
|
if UnitCastingInfo("Belac") then
|
||||||
local sname = UnitCastingInfo("Belac")
|
local sname = UnitCastingInfo("Belac")
|
||||||
if sname == "Phangs of Guilt" then
|
if sname == "Phangs of Guilt" then
|
||||||
return "Interrupt it reeee"
|
return "Interrupt it reeee"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if UnitDebuff("player", "Belac's Prisoner") or UnitIsDead("player") then --If is in cage
|
if UnitDebuff("player", "Belac's Prisoner") or UnitIsDead("player") then --If is in cage
|
||||||
local msg = aura_env.messages["Cannot Interrupt"]
|
local msg = aura_env.messages["Cannot Interrupt"]
|
||||||
local msg = aura_env.encode(msg)
|
local msg = aura_env.encode(msg)
|
||||||
SendChatMessage(msg, "RAID")
|
SendChatMessage(msg, "RAID")
|
||||||
aura_env.currentInterrupt = aura_env.currentInterrupt + 1
|
aura_env.currentInterrupt = aura_env.currentInterrupt + 1
|
||||||
end
|
end
|
||||||
if GetTime() < aura_env.interruptTime then --If is on cooldown
|
if GetTime() < aura_env.interruptTime then --If is on cooldown
|
||||||
local msg = aura_env.messages["Cannot Interrupt"]
|
local msg = aura_env.messages["Cannot Interrupt"]
|
||||||
local msg = aura_env.encode(msg)
|
local msg = aura_env.encode(msg)
|
||||||
SendChatMessage(msg, "RAID")
|
SendChatMessage(msg, "RAID")
|
||||||
aura_env.currentInterrupt = aura_env.currentInterrupt + 1
|
aura_env.currentInterrupt = aura_env.currentInterrupt + 1
|
||||||
end
|
end
|
||||||
return "You're next"
|
return "You're next"
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,40 +1,40 @@
|
|||||||
aura_env.interruptTime = 0
|
aura_env.interruptTime = 0
|
||||||
aura_env.interruptCD = 24
|
aura_env.interruptCD = 24
|
||||||
aura_env.peopleList = {}
|
aura_env.peopleList = {}
|
||||||
aura_env.currentInterrupt = 1
|
aura_env.currentInterrupt = 1
|
||||||
local playerClass = UnitClass("player")
|
local playerClass = UnitClass("player")
|
||||||
if playerClass == "Hunter" then
|
if playerClass == "Hunter" then
|
||||||
aura_env.classInterrupt = "Counter Shot" elseif
|
aura_env.classInterrupt = "Counter Shot" elseif
|
||||||
playerClass == "Mage" then
|
playerClass == "Mage" then
|
||||||
aura_env.classInterrupt = "Counterspell" elseif
|
aura_env.classInterrupt = "Counterspell" elseif
|
||||||
playerClass == "Warlock" then
|
playerClass == "Warlock" then
|
||||||
aura.classInterrupt = "Spell Lock"
|
aura.classInterrupt = "Spell Lock"
|
||||||
end
|
end
|
||||||
aura_env.messages =
|
aura_env.messages =
|
||||||
{
|
{
|
||||||
["Interrupted"] = 9461,
|
["Interrupted"] = 9461,
|
||||||
["Cannot Interrupt"] = 9462,
|
["Cannot Interrupt"] = 9462,
|
||||||
["Initialized"] = 9451,
|
["Initialized"] = 9451,
|
||||||
["Added to interrupt list"], = 9452,
|
["Added to interrupt list"], = 9452,
|
||||||
["Cycle Interrupt DEBUG"] = 9551
|
["Cycle Interrupt DEBUG"] = 9551
|
||||||
}
|
}
|
||||||
aura_env.encode = function(msg)
|
aura_env.encode = function(msg)
|
||||||
local date = date()
|
local date = date()
|
||||||
local localtime = date:match("%d%d%/%d%d%/%d%d%s(%d%d%p%d%d%p%d%d)") --15:37:43
|
local localtime = date:match("%d%d%/%d%d%/%d%d%s(%d%d%p%d%d%p%d%d)") --15:37:43
|
||||||
local hr = localtime:match("(%d%d)")
|
local hr = localtime:match("(%d%d)")
|
||||||
local min = localtime:match("%d%d%p(%d%d)")
|
local min = localtime:match("%d%d%p(%d%d)")
|
||||||
|
|
||||||
local retmsg = msg - (hr * min)
|
local retmsg = msg - (hr * min)
|
||||||
retmsg = tostring(retmsg)
|
retmsg = tostring(retmsg)
|
||||||
return retmsg
|
return retmsg
|
||||||
end
|
end
|
||||||
aura_env.decode = function(msg)
|
aura_env.decode = function(msg)
|
||||||
local date = date()
|
local date = date()
|
||||||
local localtime = date:match("%d%d%/%d%d%/%d%d%s(%d%d%p%d%d%p%d%d)") --15:37:43
|
local localtime = date:match("%d%d%/%d%d%/%d%d%s(%d%d%p%d%d%p%d%d)") --15:37:43
|
||||||
local hr = localtime:match("(%d%d)")
|
local hr = localtime:match("(%d%d)")
|
||||||
local min = localtime:match("%d%d%p(%d%d)")
|
local min = localtime:match("%d%d%p(%d%d)")
|
||||||
|
|
||||||
tonumber(msg)
|
tonumber(msg)
|
||||||
local retint = msg + (hr * min)
|
local retint = msg + (hr * min)
|
||||||
return retint
|
return retint
|
||||||
end
|
end
|
@@ -1,28 +1,28 @@
|
|||||||
[02:39 PM] [Virags DT]: 14:35:39 UNIT_SPELLCAST_INTERRUPTED - (6) table: 000000004830D3C0 --seems to only work on player
|
[02:39 PM] [Virags DT]: 14:35:39 UNIT_SPELLCAST_INTERRUPTED - (6) table: 000000004830D3C0 --seems to only work on player
|
||||||
[02:39 PM] [Virags DT]: 1 - UNIT_SPELLCAST_INTERRUPTED
|
[02:39 PM] [Virags DT]: 1 - UNIT_SPELLCAST_INTERRUPTED
|
||||||
[02:39 PM] [Virags DT]: 2 - player
|
[02:39 PM] [Virags DT]: 2 - player
|
||||||
[02:39 PM] [Virags DT]: 3 - Flash of Light
|
[02:39 PM] [Virags DT]: 3 - Flash of Light
|
||||||
[02:39 PM] [Virags DT]: 5 - 3-5-1-0-19750-00000056B2
|
[02:39 PM] [Virags DT]: 5 - 3-5-1-0-19750-00000056B2
|
||||||
[02:39 PM] [Virags DT]: 6 - 19750
|
[02:39 PM] [Virags DT]: 6 - 19750
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[02:40 PM] [Virags DT]: 14:35:50 COMBAT_LOG_EVENT_UNFILTERED - (18) table: 00000000543D23B0 -- realistically the only important one since the only interrupts are outgoing
|
[02:40 PM] [Virags DT]: 14:35:50 COMBAT_LOG_EVENT_UNFILTERED - (18) table: 00000000543D23B0 -- realistically the only important one since the only interrupts are outgoing
|
||||||
[02:40 PM] [Virags DT]: 1 - COMBAT_LOG_EVENT_UNFILTERED
|
[02:40 PM] [Virags DT]: 1 - COMBAT_LOG_EVENT_UNFILTERED
|
||||||
[02:40 PM] [Virags DT]: 2 - 1549632949.728
|
[02:40 PM] [Virags DT]: 2 - 1549632949.728
|
||||||
[02:40 PM] [Virags DT]: 3 - SPELL_INTERRUPT
|
[02:40 PM] [Virags DT]: 3 - SPELL_INTERRUPT
|
||||||
[02:40 PM] [Virags DT]: 4 - false
|
[02:40 PM] [Virags DT]: 4 - false
|
||||||
[02:40 PM] [Virags DT]: 5 - Player-5-000AD3B6
|
[02:40 PM] [Virags DT]: 5 - Player-5-000AD3B6
|
||||||
[02:40 PM] [Virags DT]: 6 - Pinkiepiie
|
[02:40 PM] [Virags DT]: 6 - Pinkiepiie
|
||||||
[02:40 PM] [Virags DT]: 7 - 1297
|
[02:40 PM] [Virags DT]: 7 - 1297
|
||||||
[02:40 PM] [Virags DT]: 8 - 0
|
[02:40 PM] [Virags DT]: 8 - 0
|
||||||
[02:40 PM] [Virags DT]: 9 - Player-5-000A70EF
|
[02:40 PM] [Virags DT]: 9 - Player-5-000A70EF
|
||||||
[02:40 PM] [Virags DT]: 10 - Lilithiy
|
[02:40 PM] [Virags DT]: 10 - Lilithiy
|
||||||
[02:40 PM] [Virags DT]: 11 - 66888
|
[02:40 PM] [Virags DT]: 11 - 66888
|
||||||
[02:40 PM] [Virags DT]: 12 - 0
|
[02:40 PM] [Virags DT]: 12 - 0
|
||||||
[02:40 PM] [Virags DT]: 13 - 96231
|
[02:40 PM] [Virags DT]: 13 - 96231
|
||||||
[02:40 PM] [Virags DT]: 14 - Rebuke
|
[02:40 PM] [Virags DT]: 14 - Rebuke
|
||||||
[02:40 PM] [Virags DT]: 15 - 1
|
[02:40 PM] [Virags DT]: 15 - 1
|
||||||
[02:40 PM] [Virags DT]: 16 - 116
|
[02:40 PM] [Virags DT]: 16 - 116
|
||||||
[02:40 PM] [Virags DT]: 17 - Frostbolt
|
[02:40 PM] [Virags DT]: 17 - Frostbolt
|
||||||
[02:40 PM] [Virags DT]: 18 - 16
|
[02:40 PM] [Virags DT]: 18 - 16
|
@@ -1,18 +1,18 @@
|
|||||||
--The interrupt detection trigger
|
--The interrupt detection trigger
|
||||||
--COMBAT_LOG_EVENT_UNFILTERED
|
--COMBAT_LOG_EVENT_UNFILTERED
|
||||||
function(...)
|
function(...)
|
||||||
local subevent = select(3, ...)
|
local subevent = select(3, ...)
|
||||||
if subevent == "SPELL_INTERRUPT" then
|
if subevent == "SPELL_INTERRUPT" then
|
||||||
local playerName = select(6, ...)
|
local playerName = select(6, ...)
|
||||||
local targetName = select(10, ...)
|
local targetName = select(10, ...)
|
||||||
local spellName = select(14, ...)
|
local spellName = select(14, ...)
|
||||||
local interruptedSpellName = select(17, ...)
|
local interruptedSpellName = select(17, ...)
|
||||||
if playerName == UnitName("player") and targetName == "Belac" and and interruptedSpellName == "Phangs of Guilt" then
|
if playerName == UnitName("player") and targetName == "Belac" and and interruptedSpellName == "Phangs of Guilt" then
|
||||||
local msg = aura_env.messages["Interrupted"]
|
local msg = aura_env.messages["Interrupted"]
|
||||||
local msg = aura_env.encode(msg)
|
local msg = aura_env.encode(msg)
|
||||||
SendChatMessage(msg, "RAID")
|
SendChatMessage(msg, "RAID")
|
||||||
aura_env.currentInterrupt = aura_env.currentInterrupt + 1
|
aura_env.currentInterrupt = aura_env.currentInterrupt + 1
|
||||||
aura_env.interruptTime = GetTime() + aura_env.interruptCD
|
aura_env.interruptTime = GetTime() + aura_env.interruptCD
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,40 +1,40 @@
|
|||||||
--The encoding trigger
|
--The encoding trigger
|
||||||
--CHAT_MSG_RAID, CHAT_MSG_RAID_LEADER
|
--CHAT_MSG_RAID, CHAT_MSG_RAID_LEADER
|
||||||
function(_,msg,sender)
|
function(_,msg,sender)
|
||||||
local sender = string.match(sender, "%a+")
|
local sender = string.match(sender, "%a+")
|
||||||
local returnMessage = aura_env.decode(msg)
|
local returnMessage = aura_env.decode(msg)
|
||||||
if returnMessage == aura_env.messages["Initialized"] then
|
if returnMessage == aura_env.messages["Initialized"] then
|
||||||
local isfound = 0
|
local isfound = 0
|
||||||
for k,v in pairs(aura_env.peopleList) do
|
for k,v in pairs(aura_env.peopleList) do
|
||||||
if v == UnitName("player") then
|
if v == UnitName("player") then
|
||||||
isfound = 1
|
isfound = 1
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if isfound == 0 then
|
if isfound == 0 then
|
||||||
aura_env.peopleList[#aura_env.peopleList + 1] = UnitName("player")
|
aura_env.peopleList[#aura_env.peopleList + 1] = UnitName("player")
|
||||||
end
|
end
|
||||||
local msg = aura_env.messages["Added to interrupt list"]
|
local msg = aura_env.messages["Added to interrupt list"]
|
||||||
local msg = aura_env.encode(msg)
|
local msg = aura_env.encode(msg)
|
||||||
SendChatMessage(msg, "RAID")
|
SendChatMessage(msg, "RAID")
|
||||||
end
|
end
|
||||||
if returnMessage == aura_env.messages["Added to interrupt list"] then
|
if returnMessage == aura_env.messages["Added to interrupt list"] then
|
||||||
local isfound = 0
|
local isfound = 0
|
||||||
for k,v in pairs(aura_env.peopleList) do
|
for k,v in pairs(aura_env.peopleList) do
|
||||||
if v == sender then
|
if v == sender then
|
||||||
isfound = 1
|
isfound = 1
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if isfound == 0 then
|
if isfound == 0 then
|
||||||
aura_env.peopleList[#aura_env.peopleList + 1] = sender
|
aura_env.peopleList[#aura_env.peopleList + 1] = sender
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if returnMessage == aura_env.messages["Interrupted"] then
|
if returnMessage == aura_env.messages["Interrupted"] then
|
||||||
aura_env.currentInterrupt = aura_env.currentInterrupt + 1
|
aura_env.currentInterrupt = aura_env.currentInterrupt + 1
|
||||||
end
|
end
|
||||||
if returnMessage == aura_env.messages["Cycle Interrupt DEBUG"] then
|
if returnMessage == aura_env.messages["Cycle Interrupt DEBUG"] then
|
||||||
aura_env.currentInterrupt = aura_env.currentInterrupt + 1
|
aura_env.currentInterrupt = aura_env.currentInterrupt + 1
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
@@ -1,15 +1,15 @@
|
|||||||
--Trigger for raid wide initialization
|
--Trigger for raid wide initialization
|
||||||
--CHAT_MSG_WHISPER
|
--CHAT_MSG_WHISPER
|
||||||
function(_,msg,sender)
|
function(_,msg,sender)
|
||||||
local sender = string.match(sender, "%a+")
|
local sender = string.match(sender, "%a+")
|
||||||
if sender == "Pinkiepiie" and msg == "init_the_thing_i_guess_101_?" then
|
if sender == "Pinkiepiie" and msg == "init_the_thing_i_guess_101_?" then
|
||||||
local msg = aura_env.messages["Initialized"]
|
local msg = aura_env.messages["Initialized"]
|
||||||
local msg = aura_env.encode(msg)
|
local msg = aura_env.encode(msg)
|
||||||
SendChatMessage(msg, "RAID")
|
SendChatMessage(msg, "RAID")
|
||||||
end
|
end
|
||||||
if sender == "Pinkiepiie" and msg == "cycle_interrupt_debug" then
|
if sender == "Pinkiepiie" and msg == "cycle_interrupt_debug" then
|
||||||
local msg = aura_env.messages["Cycle Interrupt DEBUG"]
|
local msg = aura_env.messages["Cycle Interrupt DEBUG"]
|
||||||
local msg = aura_env.encode(msg)
|
local msg = aura_env.encode(msg)
|
||||||
SendChatMessage(msg, "RAID")
|
SendChatMessage(msg, "RAID")
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,56 +1,56 @@
|
|||||||
--make auto attack speed predictor thing please
|
--make auto attack speed predictor thing please
|
||||||
--COMBAT_LOG_EVENT_UNFILTERED PLAYER_REGEN_DISABLED PLAYER_REGEN_ENABLED
|
--COMBAT_LOG_EVENT_UNFILTERED PLAYER_REGEN_DISABLED PLAYER_REGEN_ENABLED
|
||||||
function(allstates, e, ...)
|
function(allstates, e, ...)
|
||||||
if e == "COMBAT_LOG_EVENT_UNFILTERED" then
|
if e == "COMBAT_LOG_EVENT_UNFILTERED" then
|
||||||
local time = debugprofilestop()
|
local time = debugprofilestop()
|
||||||
local subevent = select(2, ...)
|
local subevent = select(2, ...)
|
||||||
if subevent == "SWING_DAMAGE" or subevent == "SWING_MISSED" then
|
if subevent == "SWING_DAMAGE" or subevent == "SWING_MISSED" then
|
||||||
local source = select(4, ...)
|
local source = select(4, ...)
|
||||||
local destination = select(9, ...)
|
local destination = select(9, ...)
|
||||||
if source == UnitGUID("target") and destination == UnitName("player") then
|
if source == UnitGUID("target") and destination == UnitName("player") then
|
||||||
if #aura_env.swings == aura_env.lines * 2 then
|
if #aura_env.swings == aura_env.lines * 2 then
|
||||||
for k,v in ipairs(aura_env.swings) do
|
for k,v in ipairs(aura_env.swings) do
|
||||||
if k > 1 then
|
if k > 1 then
|
||||||
aura_env.swings[k - 1] = v
|
aura_env.swings[k - 1] = v
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
table.remove(aura_env.swings, (aura_env.lines * 2))
|
table.remove(aura_env.swings, (aura_env.lines * 2))
|
||||||
table.insert(aura_env.swings, time)
|
table.insert(aura_env.swings, time)
|
||||||
else
|
else
|
||||||
table.insert(aura_env.swings, time)
|
table.insert(aura_env.swings, time)
|
||||||
end
|
end
|
||||||
local avgTime = 0
|
local avgTime = 0
|
||||||
for k,v in ipairs(aura_env.swings) do
|
for k,v in ipairs(aura_env.swings) do
|
||||||
if k > 1 then
|
if k > 1 then
|
||||||
if avgTime == 0 then
|
if avgTime == 0 then
|
||||||
avgTime = aura_env.swings[k] - aura_env.swings[k - 1]
|
avgTime = aura_env.swings[k] - aura_env.swings[k - 1]
|
||||||
else
|
else
|
||||||
avgTime = (avgTime + (aura_env.swings[k] - aura_env.swings[k - 1])) / 2
|
avgTime = (avgTime + (aura_env.swings[k] - aura_env.swings[k - 1])) / 2
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
allstates[1] = {
|
allstates[1] = {
|
||||||
show = true,
|
show = true,
|
||||||
changed = true,
|
changed = true,
|
||||||
progressType = "timed",
|
progressType = "timed",
|
||||||
avgTime = string.format("%.2f", avgTime / 1000),
|
avgTime = string.format("%.2f", avgTime / 1000),
|
||||||
expirationTime = GetTime() + (avgTime / 1000),
|
expirationTime = GetTime() + (avgTime / 1000),
|
||||||
duration = avgTime / 1000,
|
duration = avgTime / 1000,
|
||||||
}
|
}
|
||||||
print("return true", allstates[1].expirationTime, allstates[1].duration)
|
print("return true", allstates[1].expirationTime, allstates[1].duration)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif e == "PLAYER_REGEN_DISABLED" or e == "PLAYER_REGEN_ENABLED" then
|
elseif e == "PLAYER_REGEN_DISABLED" or e == "PLAYER_REGEN_ENABLED" then
|
||||||
aura_env.swings = {}
|
aura_env.swings = {}
|
||||||
if allstates[1] then
|
if allstates[1] then
|
||||||
allstates[1].show = false
|
allstates[1].show = false
|
||||||
allstates[1].changed = true
|
allstates[1].changed = true
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--INIT
|
--INIT
|
||||||
aura_env.swings = {}
|
aura_env.swings = {}
|
||||||
aura_env.lines = 2
|
aura_env.lines = 2
|
@@ -1,7 +1,7 @@
|
|||||||
-- CHAT_MSG_LOOT
|
-- CHAT_MSG_LOOT
|
||||||
function(allstates, e, msg)
|
function(allstates, e, msg)
|
||||||
if msg:match("You receive loot") then
|
if msg:match("You receive loot") then
|
||||||
DrawIcon(msg, allstates)
|
DrawIcon(msg, allstates)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,46 +1,46 @@
|
|||||||
local iconDisplayDuration = 3
|
local iconDisplayDuration = 3
|
||||||
|
|
||||||
---@alias CItemInfo {name: string, icon: number, quantity: number, color: string}
|
---@alias CItemInfo {name: string, icon: number, quantity: number, color: string}
|
||||||
|
|
||||||
---@param msg string
|
---@param msg string
|
||||||
---@return CItemInfo, string | nil
|
---@return CItemInfo, string | nil
|
||||||
GetItemInfo = function(msg)
|
GetItemInfo = function(msg)
|
||||||
local itemInfo = { name = "", icon = 134400, quantity = 0, color = "" }
|
local itemInfo = { name = "", icon = 134400, quantity = 0, color = "" }
|
||||||
local name = msg:match("h%[(.+)%]")
|
local name = msg:match("h%[(.+)%]")
|
||||||
if not name then return itemInfo, "No item name found" end
|
if not name then return itemInfo, "No item name found" end
|
||||||
local quantity = msg:match("x(%d+)") or 1
|
local quantity = msg:match("x(%d+)") or 1
|
||||||
itemInfo.name = name
|
itemInfo.name = name
|
||||||
itemInfo.quantity = quantity
|
itemInfo.quantity = quantity
|
||||||
|
|
||||||
if WeakAurasSaved.Cyka.ItemCache[name] then itemInfo.icon = WeakAurasSaved.Cyka.ItemCache[name].icon end
|
if WeakAurasSaved.Cyka.ItemCache[name] then itemInfo.icon = WeakAurasSaved.Cyka.ItemCache[name].icon end
|
||||||
local color = msg:match("cff(%w%w%w%w%w%w)") or "ffffff"
|
local color = msg:match("cff(%w%w%w%w%w%w)") or "ffffff"
|
||||||
itemInfo.color = color
|
itemInfo.color = color
|
||||||
|
|
||||||
return itemInfo, nil
|
return itemInfo, nil
|
||||||
end
|
end
|
||||||
|
|
||||||
---@param msg string
|
---@param msg string
|
||||||
---@param allstates allstates
|
---@param allstates allstates
|
||||||
DrawIcon = function(msg, allstates)
|
DrawIcon = function(msg, allstates)
|
||||||
local info, err = GetItemInfo(msg)
|
local info, err = GetItemInfo(msg)
|
||||||
if err then
|
if err then
|
||||||
print(err)
|
print(err)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local formattedName = "\124cff" .. info.color .. "[" .. info.name .. "]\124r x" .. info.quantity
|
local formattedName = "\124cff" .. info.color .. "[" .. info.name .. "]\124r x" .. info.quantity
|
||||||
allstates[#aura_env.allstates + 1] = {
|
allstates[#aura_env.allstates + 1] = {
|
||||||
show = true,
|
show = true,
|
||||||
changed = true,
|
changed = true,
|
||||||
index = GetTime(),
|
index = GetTime(),
|
||||||
resort = true,
|
resort = true,
|
||||||
|
|
||||||
icon = info.icon,
|
icon = info.icon,
|
||||||
name = formattedName,
|
name = formattedName,
|
||||||
|
|
||||||
progressType = "timed",
|
progressType = "timed",
|
||||||
expirationTime = GetTime() + iconDisplayDuration,
|
expirationTime = GetTime() + iconDisplayDuration,
|
||||||
duration = iconDisplayDuration,
|
duration = iconDisplayDuration,
|
||||||
autoHide = true,
|
autoHide = true,
|
||||||
}
|
}
|
||||||
end
|
end
|
@@ -1,6 +1,6 @@
|
|||||||
-- LOOT_READY
|
-- LOOT_READY
|
||||||
function(e)
|
function(e)
|
||||||
C_Timer.After(0.1, function()
|
C_Timer.After(0.1, function()
|
||||||
WeakAuras.ScanEvents("DO_AUTOLOOT")
|
WeakAuras.ScanEvents("DO_AUTOLOOT")
|
||||||
end)
|
end)
|
||||||
end
|
end
|
@@ -1,6 +1,6 @@
|
|||||||
-- DO_AUTOLOOT
|
-- DO_AUTOLOOT
|
||||||
function(e)
|
function(e)
|
||||||
local lootInfo = GetLootInfo()
|
local lootInfo = GetLootInfo()
|
||||||
aura_env.FilterService.Run(lootInfo)
|
aura_env.FilterService.Run(lootInfo)
|
||||||
CloseLoot()
|
CloseLoot()
|
||||||
end
|
end
|
File diff suppressed because it is too large
Load Diff
@@ -1,42 +1,42 @@
|
|||||||
-- QUEST_POI_UPDATE QUEST_DETAIL QUEST_COMPLETE QUEST_GREETING QUEST_PROGRESS GOSSIP_SHOW
|
-- QUEST_POI_UPDATE QUEST_DETAIL QUEST_COMPLETE QUEST_GREETING QUEST_PROGRESS GOSSIP_SHOW
|
||||||
function(e)
|
function(e)
|
||||||
if e == "QUEST_POI_UPDATE" then
|
if e == "QUEST_POI_UPDATE" then
|
||||||
CloseGossip()
|
CloseGossip()
|
||||||
elseif e == "QUEST_DETAIL" then
|
elseif e == "QUEST_DETAIL" then
|
||||||
AcceptQuest()
|
AcceptQuest()
|
||||||
elseif e == "QUEST_COMPLETE" then
|
elseif e == "QUEST_COMPLETE" then
|
||||||
if GetNumQuestChoices() <= 1 then
|
if GetNumQuestChoices() <= 1 then
|
||||||
GetQuestReward(1)
|
GetQuestReward(1)
|
||||||
end
|
end
|
||||||
elseif e == "GOSSIP_SHOW" then
|
elseif e == "GOSSIP_SHOW" then
|
||||||
local quests = GetNumGossipAvailableQuests()
|
local quests = GetNumGossipAvailableQuests()
|
||||||
local completedQuests = GetNumGossipActiveQuests()
|
local completedQuests = GetNumGossipActiveQuests()
|
||||||
local options = GetNumGossipOptions()
|
local options = GetNumGossipOptions()
|
||||||
if completedQuests > 0 and options == 0 then
|
if completedQuests > 0 and options == 0 then
|
||||||
for i = 1, completedQuests do
|
for i = 1, completedQuests do
|
||||||
SelectGossipActiveQuest(i)
|
SelectGossipActiveQuest(i)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if quests > 0 and options == 0 then
|
if quests > 0 and options == 0 then
|
||||||
SelectGossipAvailableQuest(1)
|
SelectGossipAvailableQuest(1)
|
||||||
end
|
end
|
||||||
if options == 1 and quests + completedQuests == 0 then
|
if options == 1 and quests + completedQuests == 0 then
|
||||||
SelectGossipOption(1)
|
SelectGossipOption(1)
|
||||||
end
|
end
|
||||||
elseif e == "QUEST_GREETING" then
|
elseif e == "QUEST_GREETING" then
|
||||||
local quests = GetNumGossipAvailableQuests()
|
local quests = GetNumGossipAvailableQuests()
|
||||||
local completedQuests = GetNumGossipActiveQuests()
|
local completedQuests = GetNumGossipActiveQuests()
|
||||||
if completedQuests > 0 then
|
if completedQuests > 0 then
|
||||||
for i = 1, completedQuests do
|
for i = 1, completedQuests do
|
||||||
SelectActiveQuest(1)
|
SelectActiveQuest(1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if quests > 0 then
|
if quests > 0 then
|
||||||
SelectAvailableQuest(1)
|
SelectAvailableQuest(1)
|
||||||
end
|
end
|
||||||
elseif e == "QUEST_PROGRESS" then
|
elseif e == "QUEST_PROGRESS" then
|
||||||
if IsQuestCompletable(i) then
|
if IsQuestCompletable(i) then
|
||||||
CompleteQuest()
|
CompleteQuest()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,15 +1,15 @@
|
|||||||
-- MERCHANT_SHOW
|
-- MERCHANT_SHOW
|
||||||
function(allstates, e)
|
function(allstates, e)
|
||||||
if (GetMerchantNumItems() > 0) then
|
if (GetMerchantNumItems() > 0) then
|
||||||
aura_env.allstates = allstates
|
aura_env.allstates = allstates
|
||||||
|
|
||||||
if CanMerchantRepair() == true then RepairAllItems() end
|
if CanMerchantRepair() == true then RepairAllItems() end
|
||||||
|
|
||||||
for container = 0, 4 do
|
for container = 0, 4 do
|
||||||
for slot = 1, GetContainerNumSlots(container) do
|
for slot = 1, GetContainerNumSlots(container) do
|
||||||
aura_env.FilterService.Run(container, slot)
|
aura_env.FilterService.Run(container, slot)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,259 +1,259 @@
|
|||||||
local debug = false
|
local debug = false
|
||||||
local iconDisplayDuration = 3
|
local iconDisplayDuration = 3
|
||||||
|
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return string, string|nil
|
---@return string, string|nil
|
||||||
local function getItemLink(container, slot)
|
local function getItemLink(container, slot)
|
||||||
if container == nil then return "", string.format("Container is nil") end
|
if container == nil then return "", string.format("Container is nil") end
|
||||||
if slot == nil then return "", string.format("Slot is nil") end
|
if slot == nil then return "", string.format("Slot is nil") end
|
||||||
local link = select(7, GetContainerItemInfo(container, slot))
|
local link = select(7, GetContainerItemInfo(container, slot))
|
||||||
if link == nil then return "", string.format("GetContainerItemInfo returned nil for link (arg 7)") end
|
if link == nil then return "", string.format("GetContainerItemInfo returned nil for link (arg 7)") end
|
||||||
return link
|
return link
|
||||||
end
|
end
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return string, string|nil
|
---@return string, string|nil
|
||||||
local function getItemQuantity(container, slot)
|
local function getItemQuantity(container, slot)
|
||||||
if container == nil then return "", string.format("Container is nil") end
|
if container == nil then return "", string.format("Container is nil") end
|
||||||
if slot == nil then return "", string.format("Slot is nil") end
|
if slot == nil then return "", string.format("Slot is nil") end
|
||||||
local quantity = select(2, GetContainerItemInfo(container, slot))
|
local quantity = select(2, GetContainerItemInfo(container, slot))
|
||||||
if quantity == nil then return "", string.format("GetContainerItemInfo returned nil for quantity (arg 2)") end
|
if quantity == nil then return "", string.format("GetContainerItemInfo returned nil for quantity (arg 2)") end
|
||||||
return quantity
|
return quantity
|
||||||
end
|
end
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return string, string|nil
|
---@return string, string|nil
|
||||||
local function getItemName(container, slot)
|
local function getItemName(container, slot)
|
||||||
if container == nil then return "", string.format("Container is nil") end
|
if container == nil then return "", string.format("Container is nil") end
|
||||||
if slot == nil then return "", string.format("Slot is nil") end
|
if slot == nil then return "", string.format("Slot is nil") end
|
||||||
local name = select(1, GetItemInfo(getItemLink(container, slot)))
|
local name = select(1, GetItemInfo(getItemLink(container, slot)))
|
||||||
if name == nil then return "", string.format("GetItemInfo returned nil for name (arg 1)") end
|
if name == nil then return "", string.format("GetItemInfo returned nil for name (arg 1)") end
|
||||||
return name
|
return name
|
||||||
end
|
end
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return string, string|nil
|
---@return string, string|nil
|
||||||
local function getItemType(container, slot)
|
local function getItemType(container, slot)
|
||||||
if container == nil then return "", string.format("Container is nil") end
|
if container == nil then return "", string.format("Container is nil") end
|
||||||
if slot == nil then return "", string.format("Slot is nil") end
|
if slot == nil then return "", string.format("Slot is nil") end
|
||||||
local type = select(6, GetItemInfo(getItemLink(container, slot)))
|
local type = select(6, GetItemInfo(getItemLink(container, slot)))
|
||||||
if type == nil then return "", string.format("GetItemInfo returned nil for type (arg 6)") end
|
if type == nil then return "", string.format("GetItemInfo returned nil for type (arg 6)") end
|
||||||
return type
|
return type
|
||||||
end
|
end
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return string, string|nil
|
---@return string, string|nil
|
||||||
local function getItemSubtype(container, slot)
|
local function getItemSubtype(container, slot)
|
||||||
if container == nil then return "", string.format("Container is nil") end
|
if container == nil then return "", string.format("Container is nil") end
|
||||||
if slot == nil then return "", string.format("Slot is nil") end
|
if slot == nil then return "", string.format("Slot is nil") end
|
||||||
local subtype = select(7, GetItemInfo(getItemLink(container, slot)))
|
local subtype = select(7, GetItemInfo(getItemLink(container, slot)))
|
||||||
if subtype == nil then return "", string.format("GetItemInfo returned nil for subtype (arg 7)") end
|
if subtype == nil then return "", string.format("GetItemInfo returned nil for subtype (arg 7)") end
|
||||||
return subtype
|
return subtype
|
||||||
end
|
end
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return string, string|nil
|
---@return string, string|nil
|
||||||
local function getItemLevel(container, slot)
|
local function getItemLevel(container, slot)
|
||||||
if container == nil then return "", string.format("Container is nil") end
|
if container == nil then return "", string.format("Container is nil") end
|
||||||
if slot == nil then return "", string.format("Slot is nil") end
|
if slot == nil then return "", string.format("Slot is nil") end
|
||||||
local level = select(4, GetItemInfo(getItemLink(container, slot)))
|
local level = select(4, GetItemInfo(getItemLink(container, slot)))
|
||||||
if level == nil then return "", string.format("GetItemInfo returned nil for level (arg 4)") end
|
if level == nil then return "", string.format("GetItemInfo returned nil for level (arg 4)") end
|
||||||
return level
|
return level
|
||||||
end
|
end
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return string, string|nil
|
---@return string, string|nil
|
||||||
local function getItemValue(container, slot)
|
local function getItemValue(container, slot)
|
||||||
if container == nil then return "", string.format("Container is nil") end
|
if container == nil then return "", string.format("Container is nil") end
|
||||||
if slot == nil then return "", string.format("Slot is nil") end
|
if slot == nil then return "", string.format("Slot is nil") end
|
||||||
local value = select(11, GetItemInfo(getItemLink(container, slot)))
|
local value = select(11, GetItemInfo(getItemLink(container, slot)))
|
||||||
if value == nil then return "", string.format("GetItemInfo returned nil for value (arg 11)") end
|
if value == nil then return "", string.format("GetItemInfo returned nil for value (arg 11)") end
|
||||||
return value
|
return value
|
||||||
end
|
end
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return string, string|nil
|
---@return string, string|nil
|
||||||
local function getItemQuality(container, slot)
|
local function getItemQuality(container, slot)
|
||||||
if container == nil then return "", string.format("Container is nil") end
|
if container == nil then return "", string.format("Container is nil") end
|
||||||
if slot == nil then return "", string.format("Slot is nil") end
|
if slot == nil then return "", string.format("Slot is nil") end
|
||||||
local quality = select(3, GetItemInfo(getItemLink(container, slot)))
|
local quality = select(3, GetItemInfo(getItemLink(container, slot)))
|
||||||
if quality == nil then return "", string.format("GetItemInfo returned nil for quality (arg 3)") end
|
if quality == nil then return "", string.format("GetItemInfo returned nil for quality (arg 3)") end
|
||||||
return quality
|
return quality
|
||||||
end
|
end
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return string, string|nil
|
---@return string, string|nil
|
||||||
local function getItemEquipLocation(container, slot)
|
local function getItemEquipLocation(container, slot)
|
||||||
if container == nil then return "", string.format("Container is nil") end
|
if container == nil then return "", string.format("Container is nil") end
|
||||||
if slot == nil then return "", string.format("Slot is nil") end
|
if slot == nil then return "", string.format("Slot is nil") end
|
||||||
local equipLoc = select(9, GetItemInfo(getItemLink(container, slot)))
|
local equipLoc = select(9, GetItemInfo(getItemLink(container, slot)))
|
||||||
if equipLoc == nil then return "", string.format("GetItemInfo returned nil for equipLoc (arg 9)") end
|
if equipLoc == nil then return "", string.format("GetItemInfo returned nil for equipLoc (arg 9)") end
|
||||||
return equipLoc
|
return equipLoc
|
||||||
end
|
end
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return string, string|nil
|
---@return string, string|nil
|
||||||
local function getItemIcon(container, slot)
|
local function getItemIcon(container, slot)
|
||||||
if container == nil then return "", string.format("Container is nil") end
|
if container == nil then return "", string.format("Container is nil") end
|
||||||
if slot == nil then return "", string.format("Slot is nil") end
|
if slot == nil then return "", string.format("Slot is nil") end
|
||||||
local icon = select(10, GetItemInfo(getItemLink(container, slot)))
|
local icon = select(10, GetItemInfo(getItemLink(container, slot)))
|
||||||
if icon == nil then return "", string.format("GetItemInfo returned nil for icon (arg 10)") end
|
if icon == nil then return "", string.format("GetItemInfo returned nil for icon (arg 10)") end
|
||||||
return icon
|
return icon
|
||||||
end
|
end
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return string, string|nil
|
---@return string, string|nil
|
||||||
local function getBindType(container, slot)
|
local function getBindType(container, slot)
|
||||||
if container == nil then return "", string.format("Container is nil") end
|
if container == nil then return "", string.format("Container is nil") end
|
||||||
if slot == nil then return "", string.format("Slot is nil") end
|
if slot == nil then return "", string.format("Slot is nil") end
|
||||||
local bindType = select(14, GetItemInfo(getItemLink(container, slot)))
|
local bindType = select(14, GetItemInfo(getItemLink(container, slot)))
|
||||||
if bindType == nil then return "", string.format("GetItemInfo returned nil for bindType (arg 14)") end
|
if bindType == nil then return "", string.format("GetItemInfo returned nil for bindType (arg 14)") end
|
||||||
return bindType
|
return bindType
|
||||||
end
|
end
|
||||||
|
|
||||||
---@class Filter
|
---@class Filter
|
||||||
---@field requires table<string, fun(container:number, slot: number): string|number|boolean> | nil
|
---@field requires table<string, fun(container:number, slot: number): string|number|boolean> | nil
|
||||||
---@field filter fun(container: number, slot: number, provided: table<string, string|number|boolean>): boolean
|
---@field filter fun(container: number, slot: number, provided: table<string, string|number|boolean>): boolean
|
||||||
Filter = {
|
Filter = {
|
||||||
---@param requires table<string, fun(container:number, slot: number): string|number|boolean> | nil
|
---@param requires table<string, fun(container:number, slot: number): string|number|boolean> | nil
|
||||||
---@param filter fun(container: number, slot: number, provided: table<string, string|number|boolean>): boolean
|
---@param filter fun(container: number, slot: number, provided: table<string, string|number|boolean>): boolean
|
||||||
---@return Filter
|
---@return Filter
|
||||||
new = function(requires, filter)
|
new = function(requires, filter)
|
||||||
local self = setmetatable({}, {
|
local self = setmetatable({}, {
|
||||||
__index = Filter,
|
__index = Filter,
|
||||||
})
|
})
|
||||||
self.requires = requires
|
self.requires = requires
|
||||||
self.filter = filter
|
self.filter = filter
|
||||||
return self
|
return self
|
||||||
end,
|
end,
|
||||||
|
|
||||||
---@param self Filter
|
---@param self Filter
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return boolean, string|nil
|
---@return boolean, string|nil
|
||||||
Run = function(self, container, slot)
|
Run = function(self, container, slot)
|
||||||
---@type table<string, string|number|boolean>
|
---@type table<string, string|number|boolean>
|
||||||
local provided = {}
|
local provided = {}
|
||||||
if self.requires then
|
if self.requires then
|
||||||
for k, v in pairs(self.requires) do
|
for k, v in pairs(self.requires) do
|
||||||
local res, err = v(container, slot)
|
local res, err = v(container, slot)
|
||||||
if err then
|
if err then
|
||||||
if debug then print(err) end
|
if debug then print(err) end
|
||||||
return false, err
|
return false, err
|
||||||
end
|
end
|
||||||
provided[k] = res
|
provided[k] = res
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local res, err = self.filter(container, slot, provided)
|
local res, err = self.filter(container, slot, provided)
|
||||||
if err then
|
if err then
|
||||||
if debug then print(err) end
|
if debug then print(err) end
|
||||||
end
|
end
|
||||||
return res, nil
|
return res, nil
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
local grayFilter = Filter.new({
|
local grayFilter = Filter.new({
|
||||||
["quality"] = getItemQuality,
|
["quality"] = getItemQuality,
|
||||||
}, function(container, slot, provided)
|
}, function(container, slot, provided)
|
||||||
if not aura_env.config.grayFilter then return false end
|
if not aura_env.config.grayFilter then return false end
|
||||||
if provided.quality == 0 then return true end
|
if provided.quality == 0 then return true end
|
||||||
return false
|
return false
|
||||||
end)
|
end)
|
||||||
local gearFilter = Filter.new({
|
local gearFilter = Filter.new({
|
||||||
["ilvl"] = getItemLevel,
|
["ilvl"] = getItemLevel,
|
||||||
["bindType"] = getBindType,
|
["bindType"] = getBindType,
|
||||||
["type"] = getItemType,
|
["type"] = getItemType,
|
||||||
["equipLoc"] = getItemEquipLocation,
|
["equipLoc"] = getItemEquipLocation,
|
||||||
}, function(container, slot, provided)
|
}, function(container, slot, provided)
|
||||||
if not aura_env.config.gearFilter then return false end
|
if not aura_env.config.gearFilter then return false end
|
||||||
local ilvlThreshold = aura_env.config.gearFilterIlvlFilterThreshold
|
local ilvlThreshold = aura_env.config.gearFilterIlvlFilterThreshold
|
||||||
local sellBoe = aura_env.config.gearFilterSellBoe
|
local sellBoe = aura_env.config.gearFilterSellBoe
|
||||||
|
|
||||||
if
|
if
|
||||||
provided.type == "Armor"
|
provided.type == "Armor"
|
||||||
or provided.type == "Weapon"
|
or provided.type == "Weapon"
|
||||||
or provided.equipLoc == "INVTYPE_FINGER"
|
or provided.equipLoc == "INVTYPE_FINGER"
|
||||||
or provided.equipLoc == "INVTYPE_TRINKET"
|
or provided.equipLoc == "INVTYPE_TRINKET"
|
||||||
or provided.equipLoc == "INVTYPE_CLOAK"
|
or provided.equipLoc == "INVTYPE_CLOAK"
|
||||||
or provided.equipLoc == "INVTYPE_NECK"
|
or provided.equipLoc == "INVTYPE_NECK"
|
||||||
then
|
then
|
||||||
if provided.ilvl < ilvlThreshold and (provided.bindType == 1 or sellBoe) then return true end
|
if provided.ilvl < ilvlThreshold and (provided.bindType == 1 or sellBoe) then return true end
|
||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end)
|
end)
|
||||||
|
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return nil, string|nil
|
---@return nil, string|nil
|
||||||
local function doSell(container, slot)
|
local function doSell(container, slot)
|
||||||
local itemIcon, err = getItemIcon(container, slot)
|
local itemIcon, err = getItemIcon(container, slot)
|
||||||
if err then return nil, string.format("Error getting item icon: %s", err) end
|
if err then return nil, string.format("Error getting item icon: %s", err) end
|
||||||
local itemName, err = getItemName(container, slot)
|
local itemName, err = getItemName(container, slot)
|
||||||
if err then return nil, string.format("Error getting item name: %s", err) end
|
if err then return nil, string.format("Error getting item name: %s", err) end
|
||||||
local itemQuantity, err = getItemQuantity(container, slot)
|
local itemQuantity, err = getItemQuantity(container, slot)
|
||||||
if err then return nil, string.format("Error getting item quantity: %s", err) end
|
if err then return nil, string.format("Error getting item quantity: %s", err) end
|
||||||
local itemQuality, err = getItemQuality(container, slot)
|
local itemQuality, err = getItemQuality(container, slot)
|
||||||
if err then return nil, string.format("Error getting item quality: %s", err) end
|
if err then return nil, string.format("Error getting item quality: %s", err) end
|
||||||
|
|
||||||
local nameWithColor = string.format("%s[%s]\124r", aura_env.qualityColors[itemQuality + 1], itemName)
|
local nameWithColor = string.format("%s[%s]\124r", aura_env.qualityColors[itemQuality + 1], itemName)
|
||||||
local nameWithQuantity = string.format("%s x%s", nameWithColor, itemQuantity)
|
local nameWithQuantity = string.format("%s x%s", nameWithColor, itemQuantity)
|
||||||
|
|
||||||
aura_env.allstates[#aura_env.allstates + 1] = {
|
aura_env.allstates[#aura_env.allstates + 1] = {
|
||||||
show = true,
|
show = true,
|
||||||
changed = true,
|
changed = true,
|
||||||
index = GetTime(),
|
index = GetTime(),
|
||||||
resort = true,
|
resort = true,
|
||||||
|
|
||||||
icon = itemIcon,
|
icon = itemIcon,
|
||||||
name = nameWithQuantity,
|
name = nameWithQuantity,
|
||||||
amount = itemQuantity,
|
amount = itemQuantity,
|
||||||
|
|
||||||
progressType = "timed",
|
progressType = "timed",
|
||||||
expirationTime = GetTime() + iconDisplayDuration,
|
expirationTime = GetTime() + iconDisplayDuration,
|
||||||
duration = iconDisplayDuration,
|
duration = iconDisplayDuration,
|
||||||
autoHide = true,
|
autoHide = true,
|
||||||
}
|
}
|
||||||
|
|
||||||
UseContainerItem(container, slot)
|
UseContainerItem(container, slot)
|
||||||
return nil, nil
|
return nil, nil
|
||||||
end
|
end
|
||||||
|
|
||||||
---@type table<Filter>
|
---@type table<Filter>
|
||||||
local filters = {
|
local filters = {
|
||||||
grayFilter,
|
grayFilter,
|
||||||
gearFilter,
|
gearFilter,
|
||||||
}
|
}
|
||||||
|
|
||||||
---@class FilterService
|
---@class FilterService
|
||||||
aura_env.FilterService = {
|
aura_env.FilterService = {
|
||||||
---@param container number
|
---@param container number
|
||||||
---@param slot number
|
---@param slot number
|
||||||
---@return nil, nil
|
---@return nil, nil
|
||||||
Run = function(container, slot)
|
Run = function(container, slot)
|
||||||
local itemLink, err = getItemLink(container, slot)
|
local itemLink, err = getItemLink(container, slot)
|
||||||
if err then return nil, string.format("Err: slot empty (%d-%d) - %s", container, slot, err) end
|
if err then return nil, string.format("Err: slot empty (%d-%d) - %s", container, slot, err) end
|
||||||
for k, filter in pairs(filters) do
|
for k, filter in pairs(filters) do
|
||||||
local res, err = filter:Run(container, slot)
|
local res, err = filter:Run(container, slot)
|
||||||
if err then
|
if err then
|
||||||
if debug then print(err) end
|
if debug then print(err) end
|
||||||
else
|
else
|
||||||
if res then
|
if res then
|
||||||
doSell(container, slot)
|
doSell(container, slot)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
aura_env.qualityColors = {
|
aura_env.qualityColors = {
|
||||||
"\124cff9d9d9d", -- Poor
|
"\124cff9d9d9d", -- Poor
|
||||||
"\124cffffffff", -- Common
|
"\124cffffffff", -- Common
|
||||||
"\124cff1eff00", -- Uncommon
|
"\124cff1eff00", -- Uncommon
|
||||||
"\124cff0070dd", -- Rare
|
"\124cff0070dd", -- Rare
|
||||||
"\124cffa335ee", -- Epic
|
"\124cffa335ee", -- Epic
|
||||||
"\124cffff8000", -- Legendary
|
"\124cffff8000", -- Legendary
|
||||||
"\124cffe6cc80", -- Artifact
|
"\124cffe6cc80", -- Artifact
|
||||||
"\124cff00ccff", -- Heirloom
|
"\124cff00ccff", -- Heirloom
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
@@ -1,205 +1,205 @@
|
|||||||
--- LOOT_READY LOOT_OPENED MERCHANT_SHOW QUEST_POI_UPDATE QUEST_DETAIL QUEST_COMPLETE QUEST_GREETING QUEST_PROGRESS GOSSIP_SHOW SCRAPPING_MACHINE_SHOW MERCHANT_CLOSED EQUIP_BIND_CONFIRM
|
--- LOOT_READY LOOT_OPENED MERCHANT_SHOW QUEST_POI_UPDATE QUEST_DETAIL QUEST_COMPLETE QUEST_GREETING QUEST_PROGRESS GOSSIP_SHOW SCRAPPING_MACHINE_SHOW MERCHANT_CLOSED EQUIP_BIND_CONFIRM
|
||||||
function(e)
|
function(e)
|
||||||
local aura_env = aura_env
|
local aura_env = aura_env
|
||||||
if e == "LOOT_READY" or e == "LOOT_OPENED" then --Auto Loot
|
if e == "LOOT_READY" or e == "LOOT_OPENED" then --Auto Loot
|
||||||
local slot = 1
|
local slot = 1
|
||||||
local lootinfo = GetLootInfo()
|
local lootinfo = GetLootInfo()
|
||||||
for k, v in pairs(lootinfo) do
|
for k, v in pairs(lootinfo) do
|
||||||
if v.locked == false then
|
if v.locked == false then
|
||||||
local link = GetLootSlotLink(slot)
|
local link = GetLootSlotLink(slot)
|
||||||
local looted = false
|
local looted = false
|
||||||
if not link then link = GetLootSlotLink(slot) end
|
if not link then link = GetLootSlotLink(slot) end
|
||||||
if aura_env.filter[1] == true and (v.item:match("%d+ Gold") or v.item:match("%d+ Silver") or v.item:match("%d+ Copper")) then
|
if aura_env.filter[1] == true and (v.item:match("%d+ Gold") or v.item:match("%d+ Silver") or v.item:match("%d+ Copper")) then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[2] == true and link:match("Azerite") then
|
elseif aura_env.filter[2] == true and link:match("Azerite") then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[3] == true and v.item:match("War Resources") then
|
elseif aura_env.filter[3] == true and v.item:match("War Resources") then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[4] == true and v.item:match("Residuum") then
|
elseif aura_env.filter[4] == true and v.item:match("Residuum") then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[5] == true and v.item:match("Manapearl") then
|
elseif aura_env.filter[5] == true and v.item:match("Manapearl") then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
end
|
end
|
||||||
if link then
|
if link then
|
||||||
local icon = v.texture
|
local icon = v.texture
|
||||||
local id = link:match("item:(%d+):")
|
local id = link:match("item:(%d+):")
|
||||||
local type = select(6, GetItemInfo(link)) or ""
|
local type = select(6, GetItemInfo(link)) or ""
|
||||||
local subtype = select(7, GetItemInfo(link)) or ""
|
local subtype = select(7, GetItemInfo(link)) or ""
|
||||||
local ilvl = select(4, GetItemInfo(link)) or 0
|
local ilvl = select(4, GetItemInfo(link)) or 0
|
||||||
local equip = select(9, GetItemInfo(link))
|
local equip = select(9, GetItemInfo(link))
|
||||||
if aura_env.filter[6] == true and (select(7, GetItemInfo(link)) or 0) == "Mount" then
|
if aura_env.filter[6] == true and (select(7, GetItemInfo(link)) or 0) == "Mount" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[7] == true and ilvl > aura_env.ilvlFilter then
|
elseif aura_env.filter[7] == true and ilvl > aura_env.ilvlFilter then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[8] == true and (select(7, GetItemInfo(link)) or 0) == "Herb" then
|
elseif aura_env.filter[8] == true and (select(7, GetItemInfo(link)) or 0) == "Herb" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[9] == true and (select(7, GetItemInfo(link)) or 0) == "Cooking" then
|
elseif aura_env.filter[9] == true and (select(7, GetItemInfo(link)) or 0) == "Cooking" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[10] == true and (select(7, GetItemInfo(link)) or 0) == "Cloth" and type == "Tradeskill" then
|
elseif aura_env.filter[10] == true and (select(7, GetItemInfo(link)) or 0) == "Cloth" and type == "Tradeskill" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[11] == true and (select(7, GetItemInfo(link)) or 0) == "Metal & Stone" then
|
elseif aura_env.filter[11] == true and (select(7, GetItemInfo(link)) or 0) == "Metal & Stone" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[12] == true and (select(11, GetItemInfo(link)) or 0) > aura_env.goldFilter and v.quality == 0 then
|
elseif aura_env.filter[12] == true and (select(11, GetItemInfo(link)) or 0) > aura_env.goldFilter and v.quality == 0 then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[13] == true and v.quality > 1 and v.quality < 4 and type ~= "Weapon" and type ~= "Armor" then
|
elseif aura_env.filter[13] == true and v.quality > 1 and v.quality < 4 and type ~= "Weapon" and type ~= "Armor" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[14] == true and v.isQuestItem == true then
|
elseif aura_env.filter[14] == true and v.isQuestItem == true then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[15] == true and v.quality == 0 then
|
elseif aura_env.filter[15] == true and v.quality == 0 then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[16] == true and aura_env.whitelist[v.item] then
|
elseif aura_env.filter[16] == true and aura_env.whitelist[v.item] then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[17] == true and type == "Quest" and subtype == "Quest" then
|
elseif aura_env.filter[17] == true and type == "Quest" and subtype == "Quest" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[21] == true and type == "Tradeskill" and subtype == "Elemental" then
|
elseif aura_env.filter[21] == true and type == "Tradeskill" and subtype == "Elemental" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
else
|
else
|
||||||
if type == "Weapon" or type == "Armor" then
|
if type == "Weapon" or type == "Armor" then
|
||||||
if aura_env.filter[18] == true and aura_env.skills[select(3, UnitClass("player"))][subtype] == 1 and v.quality > 2 then
|
if aura_env.filter[18] == true and aura_env.skills[select(3, UnitClass("player"))][subtype] == 1 and v.quality > 2 then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[19] == true and (equip == "INVTYPE_FINGER" or equip == "INVTYPE_TRINKET" or equip == "INVTYPE_CLOAK" or equip == "INVTYPE_NECK") and v.quality > 2 then
|
elseif aura_env.filter[19] == true and (equip == "INVTYPE_FINGER" or equip == "INVTYPE_TRINKET" or equip == "INVTYPE_CLOAK" or equip == "INVTYPE_NECK") and v.quality > 2 then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
end
|
end
|
||||||
elseif aura_env.filter[20] == true and type == "Miscellaneous" then
|
elseif aura_env.filter[20] == true and type == "Miscellaneous" then
|
||||||
if subtype == "Mount" then
|
if subtype == "Mount" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
slot = slot + 1
|
slot = slot + 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
--CloseLoot()
|
--CloseLoot()
|
||||||
elseif e == "EQUIP_BIND_CONFIRM" then
|
elseif e == "EQUIP_BIND_CONFIRM" then
|
||||||
StaticPopup1Button1:Click()
|
StaticPopup1Button1:Click()
|
||||||
elseif e == "SCRAPPING_MACHINE_SHOW" then
|
elseif e == "SCRAPPING_MACHINE_SHOW" then
|
||||||
for i = 0, 4 do
|
for i = 0, 4 do
|
||||||
for j = 1, GetContainerNumSlots(i) do
|
for j = 1, GetContainerNumSlots(i) do
|
||||||
local link = select(7, GetContainerItemInfo(i, j))
|
local link = select(7, GetContainerItemInfo(i, j))
|
||||||
if link then
|
if link then
|
||||||
local name = GetItemInfo(link)
|
local name = GetItemInfo(link)
|
||||||
local rarity = select(3, GetItemInfo(link))
|
local rarity = select(3, GetItemInfo(link))
|
||||||
local ilvl = select(4, GetItemInfo(link)) or 0
|
local ilvl = select(4, GetItemInfo(link)) or 0
|
||||||
local type = select(6, GetItemInfo(link))
|
local type = select(6, GetItemInfo(link))
|
||||||
local equip = select(9, GetItemInfo(link)) or ""
|
local equip = select(9, GetItemInfo(link)) or ""
|
||||||
local price = select(11, GetItemInfo(link))
|
local price = select(11, GetItemInfo(link))
|
||||||
if aura_env.sellWhitelist[name] ~= 1 then
|
if aura_env.sellWhitelist[name] ~= 1 then
|
||||||
if name and rarity and ilvl and type and equip and price then
|
if name and rarity and ilvl and type and equip and price then
|
||||||
if (type == "Armor" or type == "Weapon") and rarity <= 3 and aura_env.getequipID(equip) then
|
if (type == "Armor" or type == "Weapon") and rarity <= 3 and aura_env.getequipID(equip) then
|
||||||
UseContainerItem(i, j)
|
UseContainerItem(i, j)
|
||||||
elseif rarity > 3 and aura_env.getequipID(equip) then
|
elseif rarity > 3 and aura_env.getequipID(equip) then
|
||||||
if equip ~= "INVTYPE_FINGER" then
|
if equip ~= "INVTYPE_FINGER" then
|
||||||
local eqID = aura_env.getequipID(equip)
|
local eqID = aura_env.getequipID(equip)
|
||||||
local elink = GetInventoryItemLink("player", eqID)
|
local elink = GetInventoryItemLink("player", eqID)
|
||||||
local eilvl = select(4, GetItemInfo(elink)) or 0
|
local eilvl = select(4, GetItemInfo(elink)) or 0
|
||||||
if eilvl > ilvl + 5 then
|
if eilvl > ilvl + 5 then
|
||||||
print("Scrapping " .. link .. "over " .. eilvl - ilvl .. " ilvl difference from " .. elink)
|
print("Scrapping " .. link .. "over " .. eilvl - ilvl .. " ilvl difference from " .. elink)
|
||||||
UseContainerItem(i, j)
|
UseContainerItem(i, j)
|
||||||
end
|
end
|
||||||
elseif equip == "INVTYPE_FINGER" then
|
elseif equip == "INVTYPE_FINGER" then
|
||||||
local eqID1, eqID2 = 11, 12
|
local eqID1, eqID2 = 11, 12
|
||||||
local elink1, elink2 = GetInventoryItemLink("player", eqID1), GetInventoryItemLink("player", eqID2)
|
local elink1, elink2 = GetInventoryItemLink("player", eqID1), GetInventoryItemLink("player", eqID2)
|
||||||
local eilvl1, eilvl2 = select(4, GetItemInfo(elink1)) or 0, select(4, GetItemInfo(elink2)) or 0
|
local eilvl1, eilvl2 = select(4, GetItemInfo(elink1)) or 0, select(4, GetItemInfo(elink2)) or 0
|
||||||
if eilvl1 > ilvl + 5 then
|
if eilvl1 > ilvl + 5 then
|
||||||
print("Scrapping " .. link .. " over " .. eilvl1 - ilvl .. " ilvl difference from " .. elink1)
|
print("Scrapping " .. link .. " over " .. eilvl1 - ilvl .. " ilvl difference from " .. elink1)
|
||||||
UseContainerItem(i, j)
|
UseContainerItem(i, j)
|
||||||
elseif eilvl2 > ilvl + 5 then
|
elseif eilvl2 > ilvl + 5 then
|
||||||
print("Scrapping " .. link .. " over " .. eilvl2 - ilvl .. " ilvl difference from " .. elink2)
|
print("Scrapping " .. link .. " over " .. eilvl2 - ilvl .. " ilvl difference from " .. elink2)
|
||||||
UseContainerItem(i, j)
|
UseContainerItem(i, j)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif e == "MERCHANT_SHOW" then --Sell grey and white wepaon
|
elseif e == "MERCHANT_SHOW" then --Sell grey and white wepaon
|
||||||
if CanMerchantRepair() == true then RepairAllItems() end
|
if CanMerchantRepair() == true then RepairAllItems() end
|
||||||
local i, j = 0, 1
|
local i, j = 0, 1
|
||||||
for c = 0, 4 do
|
for c = 0, 4 do
|
||||||
for s = 1, GetContainerNumSlots(c) do
|
for s = 1, GetContainerNumSlots(c) do
|
||||||
local link = select(7, GetContainerItemInfo(c, s))
|
local link = select(7, GetContainerItemInfo(c, s))
|
||||||
if link then
|
if link then
|
||||||
local name = GetItemInfo(link)
|
local name = GetItemInfo(link)
|
||||||
local rarity = select(3, GetItemInfo(link))
|
local rarity = select(3, GetItemInfo(link))
|
||||||
local ilvl = select(4, GetItemInfo(link)) or 0
|
local ilvl = select(4, GetItemInfo(link)) or 0
|
||||||
local type = select(6, GetItemInfo(link))
|
local type = select(6, GetItemInfo(link))
|
||||||
local price = select(11, GetItemInfo(link))
|
local price = select(11, GetItemInfo(link))
|
||||||
if price and price > 0 then
|
if price and price > 0 then
|
||||||
if aura_env.sellWhitelist[name] ~= 1 then
|
if aura_env.sellWhitelist[name] ~= 1 then
|
||||||
if rarity == 0 then
|
if rarity == 0 then
|
||||||
if aura_env.throttleSell == true then
|
if aura_env.throttleSell == true then
|
||||||
aura_env.toSell[#aura_env.toSell + 1] = {["c"] = c, ["s"] = s}
|
aura_env.toSell[#aura_env.toSell + 1] = {["c"] = c, ["s"] = s}
|
||||||
else
|
else
|
||||||
UseContainerItem(c, s)
|
UseContainerItem(c, s)
|
||||||
end
|
end
|
||||||
elseif (type == "Armor" or type == "Weapon") and ilvl < 200 then
|
elseif (type == "Armor" or type == "Weapon") and ilvl < 200 then
|
||||||
if aura_env.throttleSell == true then
|
if aura_env.throttleSell == true then
|
||||||
aura_env.toSell[#aura_env.toSell + 1] = {["c"] = c, ["s"] = s}
|
aura_env.toSell[#aura_env.toSell + 1] = {["c"] = c, ["s"] = s}
|
||||||
else
|
else
|
||||||
UseContainerItem(c, s)
|
UseContainerItem(c, s)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if aura_env.throttleSell == true then
|
if aura_env.throttleSell == true then
|
||||||
aura_env.ticker = C_Timer.NewTicker(0.05, function()
|
aura_env.ticker = C_Timer.NewTicker(0.05, function()
|
||||||
if aura_env.toSell[1] then
|
if aura_env.toSell[1] then
|
||||||
UseContainerItem(aura_env.toSell[1].c, aura_env.toSell[1].s)
|
UseContainerItem(aura_env.toSell[1].c, aura_env.toSell[1].s)
|
||||||
table.remove(aura_env.toSell, 1)
|
table.remove(aura_env.toSell, 1)
|
||||||
else
|
else
|
||||||
aura_env.ticker:Cancel()
|
aura_env.ticker:Cancel()
|
||||||
end
|
end
|
||||||
if j >= GetContainerNumSlots(i) then i = i + 1
|
if j >= GetContainerNumSlots(i) then i = i + 1
|
||||||
j = 1 end
|
j = 1 end
|
||||||
if i >= 4 then aura_env.ticker:Cancel() end
|
if i >= 4 then aura_env.ticker:Cancel() end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
elseif e == "MERCHANT_CLOSED" then
|
elseif e == "MERCHANT_CLOSED" then
|
||||||
if aura_env.ticker then aura_env.ticker:Cancel() end
|
if aura_env.ticker then aura_env.ticker:Cancel() end
|
||||||
aura_env.toSell = {}
|
aura_env.toSell = {}
|
||||||
elseif e == "QUEST_POI_UPDATE" then
|
elseif e == "QUEST_POI_UPDATE" then
|
||||||
CloseGossip()
|
CloseGossip()
|
||||||
elseif e == "QUEST_DETAIL" then
|
elseif e == "QUEST_DETAIL" then
|
||||||
AcceptQuest()
|
AcceptQuest()
|
||||||
elseif e == "QUEST_COMPLETE" then
|
elseif e == "QUEST_COMPLETE" then
|
||||||
if GetNumQuestChoices() <= 1 then
|
if GetNumQuestChoices() <= 1 then
|
||||||
GetQuestReward(1)
|
GetQuestReward(1)
|
||||||
end
|
end
|
||||||
elseif e == "GOSSIP_SHOW" then
|
elseif e == "GOSSIP_SHOW" then
|
||||||
local quests = GetNumGossipAvailableQuests()
|
local quests = GetNumGossipAvailableQuests()
|
||||||
local complquests = GetNumGossipActiveQuests()
|
local complquests = GetNumGossipActiveQuests()
|
||||||
local opt = GetNumGossipOptions()
|
local opt = GetNumGossipOptions()
|
||||||
if complquests > 0 and opt == 0 then
|
if complquests > 0 and opt == 0 then
|
||||||
for i = 1, complquests do
|
for i = 1, complquests do
|
||||||
SelectGossipActiveQuest(i)
|
SelectGossipActiveQuest(i)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if quests > 0 and opt == 0 then
|
if quests > 0 and opt == 0 then
|
||||||
SelectGossipAvailableQuest(1)
|
SelectGossipAvailableQuest(1)
|
||||||
end
|
end
|
||||||
if opt == 1 and quests + complquests == 0 then
|
if opt == 1 and quests + complquests == 0 then
|
||||||
SelectGossipOption(1)
|
SelectGossipOption(1)
|
||||||
end
|
end
|
||||||
elseif e == "QUEST_GREETING" then
|
elseif e == "QUEST_GREETING" then
|
||||||
local quests = GetNumGossipAvailableQuests()
|
local quests = GetNumGossipAvailableQuests()
|
||||||
local complquests = GetNumGossipActiveQuests()
|
local complquests = GetNumGossipActiveQuests()
|
||||||
if complquests > 0 then
|
if complquests > 0 then
|
||||||
for i = 1, complquests do
|
for i = 1, complquests do
|
||||||
SelectActiveQuest(1)
|
SelectActiveQuest(1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if quests > 0 then
|
if quests > 0 then
|
||||||
SelectAvailableQuest(1)
|
SelectAvailableQuest(1)
|
||||||
end
|
end
|
||||||
elseif e == "QUEST_PROGRESS" then
|
elseif e == "QUEST_PROGRESS" then
|
||||||
if IsQuestCompletable(i) then
|
if IsQuestCompletable(i) then
|
||||||
CompleteQuest()
|
CompleteQuest()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,394 +1,394 @@
|
|||||||
aura_env.debug = true
|
aura_env.debug = true
|
||||||
aura_env.filter = {
|
aura_env.filter = {
|
||||||
[1] = true, --Gold
|
[1] = true, --Gold
|
||||||
[2] = true, --Azerite
|
[2] = true, --Azerite
|
||||||
[3] = true, --War resources
|
[3] = true, --War resources
|
||||||
[4] = true, --Residuum
|
[4] = true, --Residuum
|
||||||
[5] = true, --Manapearls
|
[5] = true, --Manapearls
|
||||||
[6] = true, --Mounts
|
[6] = true, --Mounts
|
||||||
[7] = true, --High ilvl
|
[7] = true, --High ilvl
|
||||||
[8] = false, --Herbs
|
[8] = false, --Herbs
|
||||||
[9] = true, --Cooking
|
[9] = true, --Cooking
|
||||||
[10] = true, --Cloth
|
[10] = true, --Cloth
|
||||||
[11] = false, --Metal & Stone
|
[11] = false, --Metal & Stone
|
||||||
[12] = true, --Gold filter greys
|
[12] = true, --Gold filter greys
|
||||||
[13] = true, -- >1 && <4 quality items, no gear
|
[13] = true, -- >1 && <4 quality items, no gear
|
||||||
[14] = true, --Quest items
|
[14] = true, --Quest items
|
||||||
[15] = true, --All greys
|
[15] = true, --All greys
|
||||||
[16] = true, --Whitelist
|
[16] = true, --Whitelist
|
||||||
[17] = true, --Quest items (different filter)
|
[17] = true, --Quest items (different filter)
|
||||||
[18] = true, --Class aproperiate >2 items
|
[18] = true, --Class aproperiate >2 items
|
||||||
[19] = true, --Jewelery >2 quality
|
[19] = true, --Jewelery >2 quality
|
||||||
[20] = true, --Additional mount filter
|
[20] = true, --Additional mount filter
|
||||||
[21] = true, --Tradeskill // Elemental
|
[21] = true, --Tradeskill // Elemental
|
||||||
}
|
}
|
||||||
aura_env.ilvlFilter = 200
|
aura_env.ilvlFilter = 200
|
||||||
aura_env.goldFilter = 0.5
|
aura_env.goldFilter = 0.5
|
||||||
aura_env.goldFilter = aura_env.goldFilter * 10000
|
aura_env.goldFilter = aura_env.goldFilter * 10000
|
||||||
aura_env.throttleSell = false
|
aura_env.throttleSell = false
|
||||||
|
|
||||||
aura_env.whitelist = {
|
aura_env.whitelist = {
|
||||||
["Pygmy Suckerfish"] = 1,
|
["Pygmy Suckerfish"] = 1,
|
||||||
["Drakkari Offerings"] = 1,
|
["Drakkari Offerings"] = 1,
|
||||||
["Deepcoral Pod"] = 1,
|
["Deepcoral Pod"] = 1,
|
||||||
["Hardened Spring"] = 1,
|
["Hardened Spring"] = 1,
|
||||||
["Machined Gear Assembly"] = 1,
|
["Machined Gear Assembly"] = 1,
|
||||||
["Tempered Plating"] = 1,
|
["Tempered Plating"] = 1,
|
||||||
["Hefty Glimmershell"] = 1,
|
["Hefty Glimmershell"] = 1,
|
||||||
["Fresh Meat"] = 1,
|
["Fresh Meat"] = 1,
|
||||||
["Wood"] = 1,
|
["Wood"] = 1,
|
||||||
|
|
||||||
["Gloom Dust"] = 1,
|
["Gloom Dust"] = 1,
|
||||||
["Veiled Crytal"] = 1,
|
["Veiled Crytal"] = 1,
|
||||||
["Coalescing Visions"] = 1,
|
["Coalescing Visions"] = 1,
|
||||||
["Echoes of Ny'alotha"] = 1,
|
["Echoes of Ny'alotha"] = 1,
|
||||||
["Corrupted Mementos"] = 1,
|
["Corrupted Mementos"] = 1,
|
||||||
|
|
||||||
["Blood of Sargeras"] = 1,
|
["Blood of Sargeras"] = 1,
|
||||||
["Primal Sargerite"] = 1,
|
["Primal Sargerite"] = 1,
|
||||||
|
|
||||||
["Chain Ignitercoil"] = 1,
|
["Chain Ignitercoil"] = 1,
|
||||||
["Galvanic Oscillator"] = 1,
|
["Galvanic Oscillator"] = 1,
|
||||||
["Corrupted Memento"] = 1,
|
["Corrupted Memento"] = 1,
|
||||||
}
|
}
|
||||||
aura_env.sellWhitelist = {
|
aura_env.sellWhitelist = {
|
||||||
["Blacksmith Hammer"] = 1,
|
["Blacksmith Hammer"] = 1,
|
||||||
["Endless Tincture of Renewed Combat"] = 1,
|
["Endless Tincture of Renewed Combat"] = 1,
|
||||||
["Mr. Munchykins"] = 1,
|
["Mr. Munchykins"] = 1,
|
||||||
["Arclight Spanner"] = 1,
|
["Arclight Spanner"] = 1,
|
||||||
["Runeblade of Baron Rivendare"] = 1,
|
["Runeblade of Baron Rivendare"] = 1,
|
||||||
}
|
}
|
||||||
aura_env.toSell = {}
|
aura_env.toSell = {}
|
||||||
aura_env.getequipID = function(equip)
|
aura_env.getequipID = function(equip)
|
||||||
if equip == "INVTYPE_HEAD" then
|
if equip == "INVTYPE_HEAD" then
|
||||||
return 1
|
return 1
|
||||||
elseif equip == "INVTYPE_NECK" then
|
elseif equip == "INVTYPE_NECK" then
|
||||||
return 2
|
return 2
|
||||||
elseif equip == "INVTYPE_SHOULDER" then
|
elseif equip == "INVTYPE_SHOULDER" then
|
||||||
return 3
|
return 3
|
||||||
elseif equip == "INVTYPE_BODY" then
|
elseif equip == "INVTYPE_BODY" then
|
||||||
return 4
|
return 4
|
||||||
elseif equip == "INVTYPE_CHEST" or equip == "INVTYPE_ROBE" then
|
elseif equip == "INVTYPE_CHEST" or equip == "INVTYPE_ROBE" then
|
||||||
return 5
|
return 5
|
||||||
elseif equip == "INVTYPE_WAIST" then
|
elseif equip == "INVTYPE_WAIST" then
|
||||||
return 6
|
return 6
|
||||||
elseif equip == "INVTYPE_LEGS" then
|
elseif equip == "INVTYPE_LEGS" then
|
||||||
return 7
|
return 7
|
||||||
elseif equip == "INVTYPE_FEET" then
|
elseif equip == "INVTYPE_FEET" then
|
||||||
return 8
|
return 8
|
||||||
elseif equip == "INVTYPE_WRIST" then
|
elseif equip == "INVTYPE_WRIST" then
|
||||||
return 9
|
return 9
|
||||||
elseif equip == "INVTYPE_HAND" then
|
elseif equip == "INVTYPE_HAND" then
|
||||||
return 10
|
return 10
|
||||||
elseif equip == "INVTYPE_CLOAK" then
|
elseif equip == "INVTYPE_CLOAK" then
|
||||||
return 15
|
return 15
|
||||||
elseif equip == "INVTYPE_WEAPON" or equip == "INVTYPE_WEAPONMAINHAND" or equip == "INVTYPE_2HWEAPON" then
|
elseif equip == "INVTYPE_WEAPON" or equip == "INVTYPE_WEAPONMAINHAND" or equip == "INVTYPE_2HWEAPON" then
|
||||||
return 16
|
return 16
|
||||||
elseif equip == "INVTYPE_SHIELD" then
|
elseif equip == "INVTYPE_SHIELD" then
|
||||||
return 17
|
return 17
|
||||||
else
|
else
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
aura_env.skills = {
|
aura_env.skills = {
|
||||||
--Warrior
|
--Warrior
|
||||||
[1] = {
|
[1] = {
|
||||||
--Armor Skills
|
--Armor Skills
|
||||||
["Cloth"] = 0,
|
["Cloth"] = 0,
|
||||||
["Leather"] = 0,
|
["Leather"] = 0,
|
||||||
["Mail"] = 0,
|
["Mail"] = 0,
|
||||||
["Plate"] = 1,
|
["Plate"] = 1,
|
||||||
["Shields"] = 1,
|
["Shields"] = 1,
|
||||||
--Weapon Skills
|
--Weapon Skills
|
||||||
["One-Handed Axes"] = 1,
|
["One-Handed Axes"] = 1,
|
||||||
["Two-Handed Axes"] = 1,
|
["Two-Handed Axes"] = 1,
|
||||||
["Bows"] = 1,
|
["Bows"] = 1,
|
||||||
["Guns"] = 1,
|
["Guns"] = 1,
|
||||||
["One-Handed Maces"] = 1,
|
["One-Handed Maces"] = 1,
|
||||||
["Two-Handed Maces"] = 1,
|
["Two-Handed Maces"] = 1,
|
||||||
["Polearms"] = 1,
|
["Polearms"] = 1,
|
||||||
["One-Handed Swords"] = 1,
|
["One-Handed Swords"] = 1,
|
||||||
["Two-Handed Swords"] = 1,
|
["Two-Handed Swords"] = 1,
|
||||||
["Warglaives"] = 1,
|
["Warglaives"] = 1,
|
||||||
["Staves"] = 1,
|
["Staves"] = 1,
|
||||||
["Fist Weapons"] = 1,
|
["Fist Weapons"] = 1,
|
||||||
["Daggers"] = 1,
|
["Daggers"] = 1,
|
||||||
["Crossbows"] = 1,
|
["Crossbows"] = 1,
|
||||||
["Wands"] = 0,
|
["Wands"] = 0,
|
||||||
},
|
},
|
||||||
--Paladin
|
--Paladin
|
||||||
[2] = {
|
[2] = {
|
||||||
--Armor Skills
|
--Armor Skills
|
||||||
["Cloth"] = 0,
|
["Cloth"] = 0,
|
||||||
["Leather"] = 0,
|
["Leather"] = 0,
|
||||||
["Mail"] = 0,
|
["Mail"] = 0,
|
||||||
["Plate"] = 1,
|
["Plate"] = 1,
|
||||||
["Shields"] = 1,
|
["Shields"] = 1,
|
||||||
--Weapon Skills
|
--Weapon Skills
|
||||||
["One-Handed Axes"] = 1,
|
["One-Handed Axes"] = 1,
|
||||||
["Two-Handed Axes"] = 1,
|
["Two-Handed Axes"] = 1,
|
||||||
["Bows"] = 0,
|
["Bows"] = 0,
|
||||||
["Guns"] = 0,
|
["Guns"] = 0,
|
||||||
["One-Handed Maces"] = 1,
|
["One-Handed Maces"] = 1,
|
||||||
["Two-Handed Maces"] = 1,
|
["Two-Handed Maces"] = 1,
|
||||||
["Polearms"] = 1,
|
["Polearms"] = 1,
|
||||||
["One-Handed Swords"] = 1,
|
["One-Handed Swords"] = 1,
|
||||||
["Two-Handed Swords"] = 1,
|
["Two-Handed Swords"] = 1,
|
||||||
["Warglaives"] = 0,
|
["Warglaives"] = 0,
|
||||||
["Staves"] = 0,
|
["Staves"] = 0,
|
||||||
["Fist Weapons"] = 0,
|
["Fist Weapons"] = 0,
|
||||||
["Daggers"] = 0,
|
["Daggers"] = 0,
|
||||||
["Crossbows"] = 0,
|
["Crossbows"] = 0,
|
||||||
["Wands"] = 0,
|
["Wands"] = 0,
|
||||||
},
|
},
|
||||||
--Hunter
|
--Hunter
|
||||||
[3] = {
|
[3] = {
|
||||||
--Armor Skills
|
--Armor Skills
|
||||||
["Cloth"] = 0,
|
["Cloth"] = 0,
|
||||||
["Leather"] = 0,
|
["Leather"] = 0,
|
||||||
["Mail"] = 1,
|
["Mail"] = 1,
|
||||||
["Plate"] = 0,
|
["Plate"] = 0,
|
||||||
["Shields"] = 0,
|
["Shields"] = 0,
|
||||||
--Weapon Skills
|
--Weapon Skills
|
||||||
["One-Handed Axes"] = 1,
|
["One-Handed Axes"] = 1,
|
||||||
["Two-Handed Axes"] = 1,
|
["Two-Handed Axes"] = 1,
|
||||||
["Bows"] = 1,
|
["Bows"] = 1,
|
||||||
["Guns"] = 1,
|
["Guns"] = 1,
|
||||||
["One-Handed Maces"] = 0,
|
["One-Handed Maces"] = 0,
|
||||||
["Two-Handed Maces"] = 0,
|
["Two-Handed Maces"] = 0,
|
||||||
["Polearms"] = 1,
|
["Polearms"] = 1,
|
||||||
["One-Handed Swords"] = 1,
|
["One-Handed Swords"] = 1,
|
||||||
["Two-Handed Swords"] = 1,
|
["Two-Handed Swords"] = 1,
|
||||||
["Warglaives"] = 0,
|
["Warglaives"] = 0,
|
||||||
["Staves"] = 1,
|
["Staves"] = 1,
|
||||||
["Fist Weapons"] = 1,
|
["Fist Weapons"] = 1,
|
||||||
["Daggers"] = 1,
|
["Daggers"] = 1,
|
||||||
["Crossbows"] = 1,
|
["Crossbows"] = 1,
|
||||||
["Wands"] = 0,
|
["Wands"] = 0,
|
||||||
},
|
},
|
||||||
--Rogue
|
--Rogue
|
||||||
[4] = {
|
[4] = {
|
||||||
--Armor Skills
|
--Armor Skills
|
||||||
["Cloth"] = 0,
|
["Cloth"] = 0,
|
||||||
["Leather"] = 1,
|
["Leather"] = 1,
|
||||||
["Mail"] = 0,
|
["Mail"] = 0,
|
||||||
["Plate"] = 0,
|
["Plate"] = 0,
|
||||||
["Shields"] = 0,
|
["Shields"] = 0,
|
||||||
--Weapon Skills
|
--Weapon Skills
|
||||||
["One-Handed Axes"] = 1,
|
["One-Handed Axes"] = 1,
|
||||||
["Two-Handed Axes"] = 0,
|
["Two-Handed Axes"] = 0,
|
||||||
["Bows"] = 0,
|
["Bows"] = 0,
|
||||||
["Guns"] = 0,
|
["Guns"] = 0,
|
||||||
["One-Handed Maces"] = 1,
|
["One-Handed Maces"] = 1,
|
||||||
["Two-Handed Maces"] = 0,
|
["Two-Handed Maces"] = 0,
|
||||||
["Polearms"] = 0,
|
["Polearms"] = 0,
|
||||||
["One-Handed Swords"] = 1,
|
["One-Handed Swords"] = 1,
|
||||||
["Two-Handed Swords"] = 0,
|
["Two-Handed Swords"] = 0,
|
||||||
["Warglaives"] = 0,
|
["Warglaives"] = 0,
|
||||||
["Staves"] = 0,
|
["Staves"] = 0,
|
||||||
["Fist Weapons"] = 1,
|
["Fist Weapons"] = 1,
|
||||||
["Daggers"] = 1,
|
["Daggers"] = 1,
|
||||||
["Crossbows"] = 0,
|
["Crossbows"] = 0,
|
||||||
["Wands"] = 0,
|
["Wands"] = 0,
|
||||||
},
|
},
|
||||||
--Priest
|
--Priest
|
||||||
[5] = {
|
[5] = {
|
||||||
--Armor Skills
|
--Armor Skills
|
||||||
["Cloth"] = 1,
|
["Cloth"] = 1,
|
||||||
["Leather"] = 0,
|
["Leather"] = 0,
|
||||||
["Mail"] = 0,
|
["Mail"] = 0,
|
||||||
["Plate"] = 0,
|
["Plate"] = 0,
|
||||||
["Shields"] = 0,
|
["Shields"] = 0,
|
||||||
--Weapon Skills
|
--Weapon Skills
|
||||||
["One-Handed Axes"] = 0,
|
["One-Handed Axes"] = 0,
|
||||||
["Two-Handed Axes"] = 0,
|
["Two-Handed Axes"] = 0,
|
||||||
["Bows"] = 0,
|
["Bows"] = 0,
|
||||||
["Guns"] = 0,
|
["Guns"] = 0,
|
||||||
["One-Handed Maces"] = 1,
|
["One-Handed Maces"] = 1,
|
||||||
["Two-Handed Maces"] = 0,
|
["Two-Handed Maces"] = 0,
|
||||||
["Polearms"] = 0,
|
["Polearms"] = 0,
|
||||||
["One-Handed Swords"] = 0,
|
["One-Handed Swords"] = 0,
|
||||||
["Two-Handed Swords"] = 0,
|
["Two-Handed Swords"] = 0,
|
||||||
["Warglaives"] = 0,
|
["Warglaives"] = 0,
|
||||||
["Staves"] = 1,
|
["Staves"] = 1,
|
||||||
["Fist Weapons"] = 0,
|
["Fist Weapons"] = 0,
|
||||||
["Daggers"] = 1,
|
["Daggers"] = 1,
|
||||||
["Crossbows"] = 0,
|
["Crossbows"] = 0,
|
||||||
["Wands"] = 1,
|
["Wands"] = 1,
|
||||||
},
|
},
|
||||||
--Death Knight
|
--Death Knight
|
||||||
[6] = {
|
[6] = {
|
||||||
--Armor Skills
|
--Armor Skills
|
||||||
["Cloth"] = 0,
|
["Cloth"] = 0,
|
||||||
["Leather"] = 0,
|
["Leather"] = 0,
|
||||||
["Mail"] = 0,
|
["Mail"] = 0,
|
||||||
["Plate"] = 1,
|
["Plate"] = 1,
|
||||||
["Shields"] = 0,
|
["Shields"] = 0,
|
||||||
--Weapon Skills
|
--Weapon Skills
|
||||||
["One-Handed Axes"] = 1,
|
["One-Handed Axes"] = 1,
|
||||||
["Two-Handed Axes"] = 1,
|
["Two-Handed Axes"] = 1,
|
||||||
["Bows"] = 0,
|
["Bows"] = 0,
|
||||||
["Guns"] = 0,
|
["Guns"] = 0,
|
||||||
["One-Handed Maces"] = 1,
|
["One-Handed Maces"] = 1,
|
||||||
["Two-Handed Maces"] = 1,
|
["Two-Handed Maces"] = 1,
|
||||||
["Polearms"] = 1,
|
["Polearms"] = 1,
|
||||||
["One-Handed Swords"] = 1,
|
["One-Handed Swords"] = 1,
|
||||||
["Two-Handed Swords"] = 1,
|
["Two-Handed Swords"] = 1,
|
||||||
["Warglaives"] = 0,
|
["Warglaives"] = 0,
|
||||||
["Staves"] = 0,
|
["Staves"] = 0,
|
||||||
["Fist Weapons"] = 0,
|
["Fist Weapons"] = 0,
|
||||||
["Daggers"] = 0,
|
["Daggers"] = 0,
|
||||||
["Crossbows"] = 0,
|
["Crossbows"] = 0,
|
||||||
["Wands"] = 0,
|
["Wands"] = 0,
|
||||||
},
|
},
|
||||||
--Shaman
|
--Shaman
|
||||||
[7] = {
|
[7] = {
|
||||||
--Armor Skills
|
--Armor Skills
|
||||||
["Cloth"] = 0,
|
["Cloth"] = 0,
|
||||||
["Leather"] = 0,
|
["Leather"] = 0,
|
||||||
["Mail"] = 1,
|
["Mail"] = 1,
|
||||||
["Plate"] = 0,
|
["Plate"] = 0,
|
||||||
["Shields"] = 1,
|
["Shields"] = 1,
|
||||||
--Weapon Skills
|
--Weapon Skills
|
||||||
["One-Handed Axes"] = 1,
|
["One-Handed Axes"] = 1,
|
||||||
["Two-Handed Axes"] = 0,
|
["Two-Handed Axes"] = 0,
|
||||||
["Bows"] = 0,
|
["Bows"] = 0,
|
||||||
["Guns"] = 0,
|
["Guns"] = 0,
|
||||||
["One-Handed Maces"] = 1,
|
["One-Handed Maces"] = 1,
|
||||||
["Two-Handed Maces"] = 0,
|
["Two-Handed Maces"] = 0,
|
||||||
["Polearms"] = 0,
|
["Polearms"] = 0,
|
||||||
["One-Handed Swords"] = 0,
|
["One-Handed Swords"] = 0,
|
||||||
["Two-Handed Swords"] = 0,
|
["Two-Handed Swords"] = 0,
|
||||||
["Warglaives"] = 0,
|
["Warglaives"] = 0,
|
||||||
["Staves"] = 1,
|
["Staves"] = 1,
|
||||||
["Fist Weapons"] = 1,
|
["Fist Weapons"] = 1,
|
||||||
["Daggers"] = 1,
|
["Daggers"] = 1,
|
||||||
["Crossbows"] = 0,
|
["Crossbows"] = 0,
|
||||||
["Wands"] = 0,
|
["Wands"] = 0,
|
||||||
},
|
},
|
||||||
--Mage
|
--Mage
|
||||||
[8] = {
|
[8] = {
|
||||||
--Armor Skills
|
--Armor Skills
|
||||||
["Cloth"] = 1,
|
["Cloth"] = 1,
|
||||||
["Leather"] = 0,
|
["Leather"] = 0,
|
||||||
["Mail"] = 0,
|
["Mail"] = 0,
|
||||||
["Plate"] = 0,
|
["Plate"] = 0,
|
||||||
["Shields"] = 0,
|
["Shields"] = 0,
|
||||||
--Weapon Skills
|
--Weapon Skills
|
||||||
["One-Handed Axes"] = 0,
|
["One-Handed Axes"] = 0,
|
||||||
["Two-Handed Axes"] = 0,
|
["Two-Handed Axes"] = 0,
|
||||||
["Bows"] = 0,
|
["Bows"] = 0,
|
||||||
["Guns"] = 0,
|
["Guns"] = 0,
|
||||||
["One-Handed Maces"] = 0,
|
["One-Handed Maces"] = 0,
|
||||||
["Two-Handed Maces"] = 0,
|
["Two-Handed Maces"] = 0,
|
||||||
["Polearms"] = 0,
|
["Polearms"] = 0,
|
||||||
["One-Handed Swords"] = 1,
|
["One-Handed Swords"] = 1,
|
||||||
["Two-Handed Swords"] = 0,
|
["Two-Handed Swords"] = 0,
|
||||||
["Warglaives"] = 0,
|
["Warglaives"] = 0,
|
||||||
["Staves"] = 1,
|
["Staves"] = 1,
|
||||||
["Fist Weapons"] = 0,
|
["Fist Weapons"] = 0,
|
||||||
["Daggers"] = 1,
|
["Daggers"] = 1,
|
||||||
["Crossbows"] = 0,
|
["Crossbows"] = 0,
|
||||||
["Wands"] = 1,
|
["Wands"] = 1,
|
||||||
},
|
},
|
||||||
--Warlock
|
--Warlock
|
||||||
[9] = {
|
[9] = {
|
||||||
--Armor Skills
|
--Armor Skills
|
||||||
["Cloth"] = 1,
|
["Cloth"] = 1,
|
||||||
["Leather"] = 0,
|
["Leather"] = 0,
|
||||||
["Mail"] = 0,
|
["Mail"] = 0,
|
||||||
["Plate"] = 0,
|
["Plate"] = 0,
|
||||||
["Shields"] = 0,
|
["Shields"] = 0,
|
||||||
--Weapon Skills
|
--Weapon Skills
|
||||||
["One-Handed Axes"] = 0,
|
["One-Handed Axes"] = 0,
|
||||||
["Two-Handed Axes"] = 0,
|
["Two-Handed Axes"] = 0,
|
||||||
["Bows"] = 0,
|
["Bows"] = 0,
|
||||||
["Guns"] = 0,
|
["Guns"] = 0,
|
||||||
["One-Handed Maces"] = 0,
|
["One-Handed Maces"] = 0,
|
||||||
["Two-Handed Maces"] = 0,
|
["Two-Handed Maces"] = 0,
|
||||||
["Polearms"] = 0,
|
["Polearms"] = 0,
|
||||||
["One-Handed Swords"] = 1,
|
["One-Handed Swords"] = 1,
|
||||||
["Two-Handed Swords"] = 0,
|
["Two-Handed Swords"] = 0,
|
||||||
["Warglaives"] = 0,
|
["Warglaives"] = 0,
|
||||||
["Staves"] = 1,
|
["Staves"] = 1,
|
||||||
["Fist Weapons"] = 0,
|
["Fist Weapons"] = 0,
|
||||||
["Daggers"] = 1,
|
["Daggers"] = 1,
|
||||||
["Crossbows"] = 0,
|
["Crossbows"] = 0,
|
||||||
["Wands"] = 1,
|
["Wands"] = 1,
|
||||||
},
|
},
|
||||||
--Monk
|
--Monk
|
||||||
[10] = {
|
[10] = {
|
||||||
--Armor Skills
|
--Armor Skills
|
||||||
["Cloth"] = 0,
|
["Cloth"] = 0,
|
||||||
["Leather"] = 1,
|
["Leather"] = 1,
|
||||||
["Mail"] = 0,
|
["Mail"] = 0,
|
||||||
["Plate"] = 1,
|
["Plate"] = 1,
|
||||||
["Shields"] = 1,
|
["Shields"] = 1,
|
||||||
--Weapon Skills
|
--Weapon Skills
|
||||||
["One-Handed Axes"] = 1,
|
["One-Handed Axes"] = 1,
|
||||||
["Two-Handed Axes"] = 0,
|
["Two-Handed Axes"] = 0,
|
||||||
["Bows"] = 0,
|
["Bows"] = 0,
|
||||||
["Guns"] = 0,
|
["Guns"] = 0,
|
||||||
["One-Handed Maces"] = 1,
|
["One-Handed Maces"] = 1,
|
||||||
["Two-Handed Maces"] = 0,
|
["Two-Handed Maces"] = 0,
|
||||||
["Polearms"] = 1,
|
["Polearms"] = 1,
|
||||||
["One-Handed Swords"] = 1,
|
["One-Handed Swords"] = 1,
|
||||||
["Two-Handed Swords"] = 0,
|
["Two-Handed Swords"] = 0,
|
||||||
["Warglaives"] = 0,
|
["Warglaives"] = 0,
|
||||||
["Staves"] = 1,
|
["Staves"] = 1,
|
||||||
["Fist Weapons"] = 1,
|
["Fist Weapons"] = 1,
|
||||||
["Daggers"] = 0,
|
["Daggers"] = 0,
|
||||||
["Crossbows"] = 0,
|
["Crossbows"] = 0,
|
||||||
["Wands"] = 0,
|
["Wands"] = 0,
|
||||||
},
|
},
|
||||||
--Druid
|
--Druid
|
||||||
[11] = {
|
[11] = {
|
||||||
--Armor Skills
|
--Armor Skills
|
||||||
["Cloth"] = 0,
|
["Cloth"] = 0,
|
||||||
["Leather"] = 1,
|
["Leather"] = 1,
|
||||||
["Mail"] = 0,
|
["Mail"] = 0,
|
||||||
["Plate"] = 0,
|
["Plate"] = 0,
|
||||||
["Shields"] = 0,
|
["Shields"] = 0,
|
||||||
--Weapon Skills
|
--Weapon Skills
|
||||||
["One-Handed Axes"] = 0,
|
["One-Handed Axes"] = 0,
|
||||||
["Two-Handed Axes"] = 0,
|
["Two-Handed Axes"] = 0,
|
||||||
["Bows"] = 0,
|
["Bows"] = 0,
|
||||||
["Guns"] = 0,
|
["Guns"] = 0,
|
||||||
["One-Handed Maces"] = 1,
|
["One-Handed Maces"] = 1,
|
||||||
["Two-Handed Maces"] = 0,
|
["Two-Handed Maces"] = 0,
|
||||||
["Polearms"] = 1,
|
["Polearms"] = 1,
|
||||||
["One-Handed Swords"] = 0,
|
["One-Handed Swords"] = 0,
|
||||||
["Two-Handed Swords"] = 0,
|
["Two-Handed Swords"] = 0,
|
||||||
["Warglaives"] = 0,
|
["Warglaives"] = 0,
|
||||||
["Staves"] = 1,
|
["Staves"] = 1,
|
||||||
["Fist Weapons"] = 1,
|
["Fist Weapons"] = 1,
|
||||||
["Daggers"] = 1,
|
["Daggers"] = 1,
|
||||||
["Crossbows"] = 0,
|
["Crossbows"] = 0,
|
||||||
["Wands"] = 0,
|
["Wands"] = 0,
|
||||||
},
|
},
|
||||||
--Demon Hunter
|
--Demon Hunter
|
||||||
[12] = {
|
[12] = {
|
||||||
--Armor Skills
|
--Armor Skills
|
||||||
["Cloth"] = 0,
|
["Cloth"] = 0,
|
||||||
["Leather"] = 1,
|
["Leather"] = 1,
|
||||||
["Mail"] = 0,
|
["Mail"] = 0,
|
||||||
["Plate"] = 0,
|
["Plate"] = 0,
|
||||||
["Shields"] = 0,
|
["Shields"] = 0,
|
||||||
--Weapon Skills
|
--Weapon Skills
|
||||||
["One-Handed Axes"] = 1,
|
["One-Handed Axes"] = 1,
|
||||||
["Two-Handed Axes"] = 0,
|
["Two-Handed Axes"] = 0,
|
||||||
["Bows"] = 0,
|
["Bows"] = 0,
|
||||||
["Guns"] = 0,
|
["Guns"] = 0,
|
||||||
["One-Handed Maces"] = 0,
|
["One-Handed Maces"] = 0,
|
||||||
["Two-Handed Maces"] = 0,
|
["Two-Handed Maces"] = 0,
|
||||||
["Polearms"] = 0,
|
["Polearms"] = 0,
|
||||||
["One-Handed Swords"] = 1,
|
["One-Handed Swords"] = 1,
|
||||||
["Two-Handed Swords"] = 0,
|
["Two-Handed Swords"] = 0,
|
||||||
["Warglaives"] = 1,
|
["Warglaives"] = 1,
|
||||||
["Staves"] = 0,
|
["Staves"] = 0,
|
||||||
["Fist Weapons"] = 1,
|
["Fist Weapons"] = 1,
|
||||||
["Daggers"] = 0,
|
["Daggers"] = 0,
|
||||||
["Crossbows"] = 0,
|
["Crossbows"] = 0,
|
||||||
["Wands"] = 0,
|
["Wands"] = 0,
|
||||||
},
|
},
|
||||||
}
|
}
|
@@ -1,69 +1,69 @@
|
|||||||
-- LOOT_READY LOOT_OPENED
|
-- LOOT_READY LOOT_OPENED
|
||||||
|
|
||||||
function(e, ...)
|
function(e, ...)
|
||||||
local slot = 1
|
local slot = 1
|
||||||
local lootinfo = GetLootInfo()
|
local lootinfo = GetLootInfo()
|
||||||
for k, v in pairs(lootinfo) do
|
for k, v in pairs(lootinfo) do
|
||||||
if v.locked == false then
|
if v.locked == false then
|
||||||
local link = GetLootSlotLink(slot)
|
local link = GetLootSlotLink(slot)
|
||||||
if not link then link = GetLootSlotLink(slot) end
|
if not link then link = GetLootSlotLink(slot) end
|
||||||
if aura_env.filter[1] == true and (v.item:match("%d+ Gold") or v.item:match("%d+ Silver") or v.item:match("%d+ Copper")) then
|
if aura_env.filter[1] == true and (v.item:match("%d+ Gold") or v.item:match("%d+ Silver") or v.item:match("%d+ Copper")) then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[2] == true and link:match("Azerite") then
|
elseif aura_env.filter[2] == true and link:match("Azerite") then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[3] == true and v.item:match("War Resources") then
|
elseif aura_env.filter[3] == true and v.item:match("War Resources") then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[4] == true and v.item:match("Residuum") then
|
elseif aura_env.filter[4] == true and v.item:match("Residuum") then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[5] == true and v.item:match("Manapearl") then
|
elseif aura_env.filter[5] == true and v.item:match("Manapearl") then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
end
|
end
|
||||||
if link then
|
if link then
|
||||||
local type = select(6, GetItemInfo(link)) or ""
|
local type = select(6, GetItemInfo(link)) or ""
|
||||||
local subtype = select(7, GetItemInfo(link)) or ""
|
local subtype = select(7, GetItemInfo(link)) or ""
|
||||||
local ilvl = select(4, GetItemInfo(link)) or 0
|
local ilvl = select(4, GetItemInfo(link)) or 0
|
||||||
local equip = select(9, GetItemInfo(link))
|
local equip = select(9, GetItemInfo(link))
|
||||||
if aura_env.filter[6] == true and (select(7, GetItemInfo(link)) or 0) == "Mount" then
|
if aura_env.filter[6] == true and (select(7, GetItemInfo(link)) or 0) == "Mount" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[7] == true and ilvl > aura_env.ilvlFilter then
|
elseif aura_env.filter[7] == true and ilvl > aura_env.ilvlFilter then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[8] == true and (select(7, GetItemInfo(link)) or 0) == "Herb" then
|
elseif aura_env.filter[8] == true and (select(7, GetItemInfo(link)) or 0) == "Herb" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[9] == true and (select(7, GetItemInfo(link)) or 0) == "Cooking" then
|
elseif aura_env.filter[9] == true and (select(7, GetItemInfo(link)) or 0) == "Cooking" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[10] == true and (select(7, GetItemInfo(link)) or 0) == "Cloth" and type == "Tradeskill" then
|
elseif aura_env.filter[10] == true and (select(7, GetItemInfo(link)) or 0) == "Cloth" and type == "Tradeskill" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[11] == true and (select(7, GetItemInfo(link)) or 0) == "Metal & Stone" then
|
elseif aura_env.filter[11] == true and (select(7, GetItemInfo(link)) or 0) == "Metal & Stone" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[12] == true and (select(11, GetItemInfo(link)) or 0) > aura_env.goldFilter and v.quality == 0 then
|
elseif aura_env.filter[12] == true and (select(11, GetItemInfo(link)) or 0) > aura_env.goldFilter and v.quality == 0 then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[13] == true and v.quality > 1 and v.quality < 4 and type ~= "Weapon" and type ~= "Armor" then
|
elseif aura_env.filter[13] == true and v.quality > 1 and v.quality < 4 and type ~= "Weapon" and type ~= "Armor" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[14] == true and v.isQuestItem == true then
|
elseif aura_env.filter[14] == true and v.isQuestItem == true then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[15] == true and v.quality == 0 then
|
elseif aura_env.filter[15] == true and v.quality == 0 then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[16] == true and aura_env.whitelist[v.item] then
|
elseif aura_env.filter[16] == true and aura_env.whitelist[v.item] then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[17] == true and type == "Quest" and subtype == "Quest" then
|
elseif aura_env.filter[17] == true and type == "Quest" and subtype == "Quest" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[21] == true and type == "Tradeskill" and subtype == "Elemental" then
|
elseif aura_env.filter[21] == true and type == "Tradeskill" and subtype == "Elemental" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
else
|
else
|
||||||
if type == "Weapon" or type == "Armor" then
|
if type == "Weapon" or type == "Armor" then
|
||||||
if aura_env.filter[18] == true and aura_env.skills[select(3, UnitClass("player"))][subtype] == 1 and v.quality > 2 then
|
if aura_env.filter[18] == true and aura_env.skills[select(3, UnitClass("player"))][subtype] == 1 and v.quality > 2 then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
elseif aura_env.filter[19] == true and (equip == "INVTYPE_FINGER" or equip == "INVTYPE_TRINKET" or equip == "INVTYPE_CLOAK" or equip == "INVTYPE_NECK") and v.quality > 2 then
|
elseif aura_env.filter[19] == true and (equip == "INVTYPE_FINGER" or equip == "INVTYPE_TRINKET" or equip == "INVTYPE_CLOAK" or equip == "INVTYPE_NECK") and v.quality > 2 then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
end
|
end
|
||||||
elseif aura_env.filter[20] == true and type == "Miscellaneous" then
|
elseif aura_env.filter[20] == true and type == "Miscellaneous" then
|
||||||
if subtype == "Mount" then
|
if subtype == "Mount" then
|
||||||
LootSlot(slot)
|
LootSlot(slot)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
slot = slot + 1
|
slot = slot + 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,40 +1,40 @@
|
|||||||
--DISPLAY
|
--DISPLAY
|
||||||
function()
|
function()
|
||||||
return aura_env.output
|
return aura_env.output
|
||||||
end
|
end
|
||||||
|
|
||||||
--Try SPELL_RESSURECT -- RESSURECT event??
|
--Try SPELL_RESSURECT -- RESSURECT event??
|
||||||
--UNIT_HEALTH
|
--UNIT_HEALTH
|
||||||
function()
|
function()
|
||||||
local healthP = 0
|
local healthP = 0
|
||||||
local aliveMembers = GetNumGroupMembers()
|
local aliveMembers = GetNumGroupMembers()
|
||||||
if IsInRaid("player") == true then
|
if IsInRaid("player") == true then
|
||||||
for i = 1, GetNumGroupMembers() do
|
for i = 1, GetNumGroupMembers() do
|
||||||
if UnitIsDeadOrGhost("raid" .. i) == false and UnitIsConnected("raid" .. i) == true then
|
if UnitIsDeadOrGhost("raid" .. i) == false and UnitIsConnected("raid" .. i) == true then
|
||||||
healthP = healthP + math.floor(UnitHealth("raid" .. i) / UnitHealthMax("raid" .. i) * 10000) / 100
|
healthP = healthP + math.floor(UnitHealth("raid" .. i) / UnitHealthMax("raid" .. i) * 10000) / 100
|
||||||
end
|
end
|
||||||
if UnitIsDeadOrGhost("raid" .. i) == true or UnitIsConnected("raid" .. i) == false then
|
if UnitIsDeadOrGhost("raid" .. i) == true or UnitIsConnected("raid" .. i) == false then
|
||||||
aliveMembers = aliveMembers - 1
|
aliveMembers = aliveMembers - 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
for i = 1, GetNumGroupMembers() - 1 do
|
for i = 1, GetNumGroupMembers() - 1 do
|
||||||
if UnitIsDeadOrGhost("party" .. i) == false and UnitIsConnected("party" .. i) == true then
|
if UnitIsDeadOrGhost("party" .. i) == false and UnitIsConnected("party" .. i) == true then
|
||||||
healthP = healthP + math.floor(UnitHealth("party" .. i) / UnitHealthMax("party" .. i) * 10000) / 100
|
healthP = healthP + math.floor(UnitHealth("party" .. i) / UnitHealthMax("party" .. i) * 10000) / 100
|
||||||
end
|
end
|
||||||
if UnitIsDeadOrGhost("party" .. i) == true or UnitIsConnected("party" .. i) == false then
|
if UnitIsDeadOrGhost("party" .. i) == true or UnitIsConnected("party" .. i) == false then
|
||||||
aliveMembers = aliveMembers - 1
|
aliveMembers = aliveMembers - 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if UnitIsDeadOrGhost("player") == false and UnitIsConnected("player") == true then
|
if UnitIsDeadOrGhost("player") == false and UnitIsConnected("player") == true then
|
||||||
healthP = healthP + math.floor(UnitHealth("player") / UnitHealthMax("player") * 10000) / 100
|
healthP = healthP + math.floor(UnitHealth("player") / UnitHealthMax("player") * 10000) / 100
|
||||||
end
|
end
|
||||||
if UnitIsDeadOrGhost("player") == true or UnitIsConnected("player") == false then
|
if UnitIsDeadOrGhost("player") == true or UnitIsConnected("player") == false then
|
||||||
aliveMembers = aliveMembers - 1
|
aliveMembers = aliveMembers - 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
aura_env.output = math.floor(healthP / aliveMembers * 100) / 100 .. "%%"
|
aura_env.output = math.floor(healthP / aliveMembers * 100) / 100 .. "%%"
|
||||||
end
|
end
|
||||||
|
|
||||||
--INIT
|
--INIT
|
||||||
aura_env.output = 0
|
aura_env.output = 0
|
@@ -1,4 +1,4 @@
|
|||||||
-- BAG_UPDATE
|
-- BAG_UPDATE
|
||||||
function(e)
|
function(e)
|
||||||
aura_env.update()
|
aura_env.update()
|
||||||
end
|
end
|
@@ -1,23 +1,23 @@
|
|||||||
local function getItemLink(container, slot) return select(7, GetContainerItemInfo(container, slot)) or "" end
|
local function getItemLink(container, slot) return select(7, GetContainerItemInfo(container, slot)) or "" end
|
||||||
local function getBindType(container, slot) return select(14, GetItemInfo(getItemLink(container, slot))) or 0 end
|
local function getBindType(container, slot) return select(14, GetItemInfo(getItemLink(container, slot))) or 0 end
|
||||||
local function isBoe(container, slot) return getBindType(container, slot) == 1 end
|
local function isBoe(container, slot) return getBindType(container, slot) == 1 end
|
||||||
|
|
||||||
local showGlow = function(container, slot)
|
local showGlow = function(container, slot)
|
||||||
ActionButton_ShowOverlayGlow(_G["ElvUI_ContainerFrameBag" .. container .. "Slot" .. slot])
|
ActionButton_ShowOverlayGlow(_G["ElvUI_ContainerFrameBag" .. container .. "Slot" .. slot])
|
||||||
end
|
end
|
||||||
local hideGlow = function(container, slot)
|
local hideGlow = function(container, slot)
|
||||||
ActionButton_HideOverlayGlow(_G["ElvUI_ContainerFrameBag" .. container .. "Slot" .. slot])
|
ActionButton_HideOverlayGlow(_G["ElvUI_ContainerFrameBag" .. container .. "Slot" .. slot])
|
||||||
end
|
end
|
||||||
|
|
||||||
aura_env.update = function()
|
aura_env.update = function()
|
||||||
for container = 0, 4 do
|
for container = 0, 4 do
|
||||||
for slot = 1, GetContainerNumSlots(container) do
|
for slot = 1, GetContainerNumSlots(container) do
|
||||||
print(C_Item.IsBound(ItemLocation:CreateFromBagAndSlot(container, slot)))
|
print(C_Item.IsBound(ItemLocation:CreateFromBagAndSlot(container, slot)))
|
||||||
if isBoe(container, slot) then
|
if isBoe(container, slot) then
|
||||||
showGlow(container, slot)
|
showGlow(container, slot)
|
||||||
else
|
else
|
||||||
hideGlow(container, slot)
|
hideGlow(container, slot)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,18 +1,18 @@
|
|||||||
Haven't found a way of determining whether an item is soulbound or not without tooltip scanning which I don't want to do
|
Haven't found a way of determining whether an item is soulbound or not without tooltip scanning which I don't want to do
|
||||||
|
|
||||||
local cTip = CreateFrame("GameTooltip","PrivTooltip",nil,"GameTooltipTemplate")
|
local cTip = CreateFrame("GameTooltip","PrivTooltip",nil,"GameTooltipTemplate")
|
||||||
local function IsSoulbound(bag, slot)
|
local function IsSoulbound(bag, slot)
|
||||||
cTip:SetOwner(UIParent, "ANCHOR_NONE")
|
cTip:SetOwner(UIParent, "ANCHOR_NONE")
|
||||||
cTip:SetBagItem(bag, slot)
|
cTip:SetBagItem(bag, slot)
|
||||||
cTip:Show()
|
cTip:Show()
|
||||||
for i = 1,cTip:NumLines() do
|
for i = 1,cTip:NumLines() do
|
||||||
if(_G[name.."TooltipTextLeft"..i]:GetText()==ITEM_SOULBOUND) then
|
if(_G[name.."TooltipTextLeft"..i]:GetText()==ITEM_SOULBOUND) then
|
||||||
cTip:Hide()
|
cTip:Hide()
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
cTip:Hide()
|
cTip:Hide()
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
Some guy says this is good
|
Some guy says this is good
|
@@ -1,3 +1,3 @@
|
|||||||
function()
|
function()
|
||||||
return BattlepassInfo.currentDayOnlineTimeMinutes, 120, 1
|
return BattlepassInfo.currentDayOnlineTimeMinutes, 120, 1
|
||||||
end
|
end
|
@@ -1,4 +1,4 @@
|
|||||||
--- TICKER_10000
|
--- TICKER_10000
|
||||||
function()
|
function()
|
||||||
BattlepassInfo()
|
BattlepassInfo()
|
||||||
end
|
end
|
@@ -1,109 +1,109 @@
|
|||||||
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
|
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
|
||||||
if not WeakAurasSaved.Cyka.LoginInfo then WeakAurasSaved.Cyka.LoginInfo = {} end
|
if not WeakAurasSaved.Cyka.LoginInfo then WeakAurasSaved.Cyka.LoginInfo = {} end
|
||||||
|
|
||||||
Today = date("%Y-%m-%d")
|
Today = date("%Y-%m-%d")
|
||||||
if not WeakAurasSaved.Cyka.LoginInfo[Today] then WeakAurasSaved.Cyka.LoginInfo[Today] = {} end
|
if not WeakAurasSaved.Cyka.LoginInfo[Today] then WeakAurasSaved.Cyka.LoginInfo[Today] = {} end
|
||||||
if not WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")] then
|
if not WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")] then
|
||||||
WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")] = {
|
WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")] = {
|
||||||
onlineTimeInMinutes = 0,
|
onlineTimeInMinutes = 0,
|
||||||
claimed = 0,
|
claimed = 0,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
local greenColor = "|cff00ff00"
|
local greenColor = "|cff00ff00"
|
||||||
local noColor = "|r"
|
local noColor = "|r"
|
||||||
BattlepassAccountInfo = ""
|
BattlepassAccountInfo = ""
|
||||||
local function UpdateAccountInfo()
|
local function UpdateAccountInfo()
|
||||||
local ret = {}
|
local ret = {}
|
||||||
for char, info in pairs(WeakAurasSaved.Cyka.LoginInfo[Today]) do
|
for char, info in pairs(WeakAurasSaved.Cyka.LoginInfo[Today]) do
|
||||||
if info.claimed == 1 then
|
if info.claimed == 1 then
|
||||||
char = string.format("%s%s %d%s", greenColor, char, info.onlineTimeInMinutes, noColor)
|
char = string.format("%s%s %d%s", greenColor, char, info.onlineTimeInMinutes, noColor)
|
||||||
else
|
else
|
||||||
char = string.format("%s %d", char, info.onlineTimeInMinutes)
|
char = string.format("%s %d", char, info.onlineTimeInMinutes)
|
||||||
end
|
end
|
||||||
ret[#ret + 1] = char
|
ret[#ret + 1] = char
|
||||||
end
|
end
|
||||||
BattlepassAccountInfo = table.concat(ret, "\n")
|
BattlepassAccountInfo = table.concat(ret, "\n")
|
||||||
end
|
end
|
||||||
|
|
||||||
-- [02:37 PM] Bluepotato
|
-- [02:37 PM] Bluepotato
|
||||||
-- [02:37 PM] onlineTimeInMinutes=120,
|
-- [02:37 PM] onlineTimeInMinutes=120,
|
||||||
-- [02:37 PM] claimed=1
|
-- [02:37 PM] claimed=1
|
||||||
-- [02:37 PM] Smolpotato
|
-- [02:37 PM] Smolpotato
|
||||||
-- [02:37 PM] onlineTimeInMinutes=120,
|
-- [02:37 PM] onlineTimeInMinutes=120,
|
||||||
-- [02:37 PM] claimed=1
|
-- [02:37 PM] claimed=1
|
||||||
-- [02:37 PM] Thiccpotato
|
-- [02:37 PM] Thiccpotato
|
||||||
-- [02:37 PM] onlineTimeInMinutes=57,
|
-- [02:37 PM] onlineTimeInMinutes=57,
|
||||||
-- [02:37 PM] claimed=0
|
-- [02:37 PM] claimed=0
|
||||||
|
|
||||||
---@param input string
|
---@param input string
|
||||||
---@param deliminer string
|
---@param deliminer string
|
||||||
---@return table<string>
|
---@return table<string>
|
||||||
aura_env.Split = function(input, deliminer)
|
aura_env.Split = function(input, deliminer)
|
||||||
local ret = {}
|
local ret = {}
|
||||||
for str in string.gmatch(input, "([^" .. deliminer .. "]+)") do
|
for str in string.gmatch(input, "([^" .. deliminer .. "]+)") do
|
||||||
table.insert(ret, str)
|
table.insert(ret, str)
|
||||||
end
|
end
|
||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
|
|
||||||
---@class BattlepassInfo
|
---@class BattlepassInfo
|
||||||
---@field week number
|
---@field week number
|
||||||
---@field getRew number
|
---@field getRew number
|
||||||
---@field dayRewardComplete number
|
---@field dayRewardComplete number
|
||||||
---@field lostDay number
|
---@field lostDay number
|
||||||
---@field cost number
|
---@field cost number
|
||||||
---@field currentDayOnlineTimeMinutes number
|
---@field currentDayOnlineTimeMinutes number
|
||||||
---@field currentDayOnlineTimeMilliseconds number
|
---@field currentDayOnlineTimeMilliseconds number
|
||||||
BattlepassInfo = {
|
BattlepassInfo = {
|
||||||
PingApi = function()
|
PingApi = function()
|
||||||
SendAddonMessage("UIMSG_TO_SERVER", "UIMSG_GET_ONLINETIME_DAY" .. "\t", "WHISPER", UnitName("player"))
|
SendAddonMessage("UIMSG_TO_SERVER", "UIMSG_GET_ONLINETIME_DAY" .. "\t", "WHISPER", UnitName("player"))
|
||||||
end,
|
end,
|
||||||
ParseApi = function(msg)
|
ParseApi = function(msg)
|
||||||
local packets = aura_env.Split(msg, ":")
|
local packets = aura_env.Split(msg, ":")
|
||||||
if packets[1] ~= "UISMSG_EVT_WEEK_TIME" then return end
|
if packets[1] ~= "UISMSG_EVT_WEEK_TIME" then return end
|
||||||
|
|
||||||
BattlepassInfo.currentDayOnlineTimeMilliseconds = tonumber(packets[2])
|
BattlepassInfo.currentDayOnlineTimeMilliseconds = tonumber(packets[2])
|
||||||
BattlepassInfo.week = tonumber(packets[3]) + 1
|
BattlepassInfo.week = tonumber(packets[3]) + 1
|
||||||
BattlepassInfo.getRew = tonumber(packets[4])
|
BattlepassInfo.getRew = tonumber(packets[4])
|
||||||
BattlepassInfo.dayRewardComplete = tonumber(packets[5])
|
BattlepassInfo.dayRewardComplete = tonumber(packets[5])
|
||||||
BattlepassInfo.lostDay = tonumber(packets[6])
|
BattlepassInfo.lostDay = tonumber(packets[6])
|
||||||
BattlepassInfo.cost = tonumber(packets[7])
|
BattlepassInfo.cost = tonumber(packets[7])
|
||||||
BattlepassInfo.currentDayOnlineTimeMinutes = math.floor(BattlepassInfo.currentDayOnlineTimeMilliseconds / 60000)
|
BattlepassInfo.currentDayOnlineTimeMinutes = math.floor(BattlepassInfo.currentDayOnlineTimeMilliseconds / 60000)
|
||||||
|
|
||||||
WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].onlineTimeInMinutes =
|
WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].onlineTimeInMinutes =
|
||||||
BattlepassInfo.currentDayOnlineTimeMinutes
|
BattlepassInfo.currentDayOnlineTimeMinutes
|
||||||
WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].claimed = BattlepassInfo.dayRewardComplete
|
WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].claimed = BattlepassInfo.dayRewardComplete
|
||||||
|
|
||||||
if BattlepassInfo.dayRewardComplete == 0 and BattlepassInfo.currentDayOnlineTimeMinutes >= 120 then
|
if BattlepassInfo.dayRewardComplete == 0 and BattlepassInfo.currentDayOnlineTimeMinutes >= 120 then
|
||||||
BattlepassInfo.DoClaim()
|
BattlepassInfo.DoClaim()
|
||||||
C_Timer.After(0.2, function() BattlepassInfo.PingApi() end)
|
C_Timer.After(0.2, function() BattlepassInfo.PingApi() end)
|
||||||
end
|
end
|
||||||
|
|
||||||
UpdateAccountInfo()
|
UpdateAccountInfo()
|
||||||
end,
|
end,
|
||||||
DoClaim = function()
|
DoClaim = function()
|
||||||
SendAddonMessage("UIMSG_TO_SERVER", "UIMSG_WEEKLY_REW_GET" .. "\t", "WHISPER", UnitName("player"))
|
SendAddonMessage("UIMSG_TO_SERVER", "UIMSG_WEEKLY_REW_GET" .. "\t", "WHISPER", UnitName("player"))
|
||||||
WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\Sounds\\quack.ogg")
|
WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\Sounds\\quack.ogg")
|
||||||
SendChatMessage("YEEE", "WHISPER", nil, UnitName("player"))
|
SendChatMessage("YEEE", "WHISPER", nil, UnitName("player"))
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
setmetatable(BattlepassInfo, {
|
setmetatable(BattlepassInfo, {
|
||||||
__call = BattlepassInfo.PingApi,
|
__call = BattlepassInfo.PingApi,
|
||||||
__index = BattlepassInfo,
|
__index = BattlepassInfo,
|
||||||
__tostring = function()
|
__tostring = function()
|
||||||
local ret = {}
|
local ret = {}
|
||||||
for k, v in pairs(BattlepassInfo) do
|
for k, v in pairs(BattlepassInfo) do
|
||||||
table.insert(ret, k .. ": " .. tostring(v))
|
table.insert(ret, k .. ": " .. tostring(v))
|
||||||
end
|
end
|
||||||
return table.concat(ret, "\n")
|
return table.concat(ret, "\n")
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
for k, v in pairs(BattlepassInfo) do
|
for k, v in pairs(BattlepassInfo) do
|
||||||
if type(v) == "number" then BattlepassInfo[k] = 0 end
|
if type(v) == "number" then BattlepassInfo[k] = 0 end
|
||||||
end
|
end
|
||||||
BattlepassInfo()
|
BattlepassInfo()
|
||||||
|
|
||||||
-- Claiming rewards works fine
|
-- Claiming rewards works fine
|
||||||
-- But the bar does not hide once rewards are claimed
|
-- But the bar does not hide once rewards are claimed
|
@@ -1,29 +1,29 @@
|
|||||||
-- DISPLAY
|
-- DISPLAY
|
||||||
function aa()
|
function aa()
|
||||||
if UnitDebuff("focus", "Paralytic Poison") then -- application for stun
|
if UnitDebuff("focus", "Paralytic Poison") then -- application for stun
|
||||||
local stacks = select(4, UnitDebuff("focus", "Paralytic Poison"))
|
local stacks = select(4, UnitDebuff("focus", "Paralytic Poison"))
|
||||||
return stacks
|
return stacks
|
||||||
end
|
end
|
||||||
if UnitDebuff("focus", "Partial Paralysis") then return "ROOT'D" end
|
if UnitDebuff("focus", "Partial Paralysis") then return "ROOT'D" end
|
||||||
if UnitDebuff("focus", "Paralysis") then return "PLS HELP" end
|
if UnitDebuff("focus", "Paralysis") then return "PLS HELP" end
|
||||||
end
|
end
|
||||||
-- TRIGGER
|
-- TRIGGER
|
||||||
function bb()
|
function bb()
|
||||||
if
|
if
|
||||||
UnitDebuff("focus", "Paralytic Poison")
|
UnitDebuff("focus", "Paralytic Poison")
|
||||||
or UnitDebuff("focus", "Partial Paralysis")
|
or UnitDebuff("focus", "Partial Paralysis")
|
||||||
or UnitDebuff("focus", "Paralysis")
|
or UnitDebuff("focus", "Paralysis")
|
||||||
then -- application for stun
|
then -- application for stun
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
-- UNTRIGGER
|
-- UNTRIGGER
|
||||||
function cc()
|
function cc()
|
||||||
if
|
if
|
||||||
UnitDebuff("focus", "Paralytic Poison") == nil
|
UnitDebuff("focus", "Paralytic Poison") == nil
|
||||||
and UnitDebuff("focus", "Partial Paralysis") == nil
|
and UnitDebuff("focus", "Partial Paralysis") == nil
|
||||||
and UnitDebuff("focus", "Paralysis") == nil
|
and UnitDebuff("focus", "Paralysis") == nil
|
||||||
then -- application for stun
|
then -- application for stun
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,40 +1,40 @@
|
|||||||
COMBAT_LOG_EVENT_UNFILTERED
|
COMBAT_LOG_EVENT_UNFILTERED
|
||||||
function(...)
|
function(...)
|
||||||
local subevent = select(3, ...)
|
local subevent = select(3, ...)
|
||||||
local target = select(10, ...)
|
local target = select(10, ...)
|
||||||
if subevent == "SWING_DAMAGE" and target == UnitName("player") then
|
if subevent == "SWING_DAMAGE" and target == UnitName("player") then
|
||||||
local dmg = select(13, ...)
|
local dmg = select(13, ...)
|
||||||
local block = select(17, ...) or 0
|
local block = select(17, ...) or 0
|
||||||
if block > 0 then
|
if block > 0 then
|
||||||
aura_env.overallBlock = aura_env.overallBlock + block
|
aura_env.overallBlock = aura_env.overallBlock + block
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
DISPLAY
|
DISPLAY
|
||||||
function()
|
function()
|
||||||
local function shorten(val)
|
local function shorten(val)
|
||||||
local function round(var, n)
|
local function round(var, n)
|
||||||
if (n) then
|
if (n) then
|
||||||
var = math.floor((var * 10^n) + 0.5) / (10^n)
|
var = math.floor((var * 10^n) + 0.5) / (10^n)
|
||||||
else
|
else
|
||||||
var = math.floor(var+0.5)
|
var = math.floor(var+0.5)
|
||||||
end
|
end
|
||||||
return var
|
return var
|
||||||
end
|
end
|
||||||
local n = 2
|
local n = 2
|
||||||
if val < 1e3 then
|
if val < 1e3 then
|
||||||
return round(val, n)
|
return round(val, n)
|
||||||
elseif val > 1e3 and val < 1e6 then
|
elseif val > 1e3 and val < 1e6 then
|
||||||
return round(val / 1e3, n) .. "k"
|
return round(val / 1e3, n) .. "k"
|
||||||
elseif val > 1e6 and val < 1e9 then
|
elseif val > 1e6 and val < 1e9 then
|
||||||
return round(val / 1e6, n) .. "M"
|
return round(val / 1e6, n) .. "M"
|
||||||
elseif val > 1e9 then
|
elseif val > 1e9 then
|
||||||
return round(val / 1e9, n) .. "G"
|
return round(val / 1e9, n) .. "G"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return shorten(aura_env.overallBlock)
|
return shorten(aura_env.overallBlock)
|
||||||
end
|
end
|
||||||
|
|
||||||
INIT
|
INIT
|
||||||
aura_env.overallBlock = 0
|
aura_env.overallBlock = 0
|
@@ -1,17 +1,17 @@
|
|||||||
LOOT_OPENED
|
LOOT_OPENED
|
||||||
function()
|
function()
|
||||||
aura_env.lootTime = math.floor(GetTime()) + 300
|
aura_env.lootTime = math.floor(GetTime()) + 300
|
||||||
end
|
end
|
||||||
|
|
||||||
DISPLAY
|
DISPLAY
|
||||||
function()
|
function()
|
||||||
local currentTime = math.floor(GetTime())
|
local currentTime = math.floor(GetTime())
|
||||||
if currentTime > aura_env.lootTime and aura_env.lootTime > 0 then
|
if currentTime > aura_env.lootTime and aura_env.lootTime > 0 then
|
||||||
return "FISHING BOAT MOTHERFUCKERS"
|
return "FISHING BOAT MOTHERFUCKERS"
|
||||||
else
|
else
|
||||||
return aura_env.lootTime - currentTime
|
return aura_env.lootTime - currentTime
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
INTI
|
INTI
|
||||||
aura_env.lootTime = 0
|
aura_env.lootTime = 0
|
@@ -1,275 +1,275 @@
|
|||||||
--TODO: FIX THE FUCKING THING
|
--TODO: FIX THE FUCKING THING
|
||||||
--I had no idea what I was doing lol
|
--I had no idea what I was doing lol
|
||||||
|
|
||||||
TRIGGER FOR HP
|
TRIGGER FOR HP
|
||||||
function()
|
function()
|
||||||
local bossList =
|
local bossList =
|
||||||
{
|
{
|
||||||
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
||||||
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
||||||
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
||||||
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
||||||
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
||||||
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
||||||
"Ymiron", "Harbaron", "Helya", --MoS
|
"Ymiron", "Harbaron", "Helya", --MoS
|
||||||
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
||||||
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
||||||
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
||||||
}
|
}
|
||||||
local output = ""
|
local output = ""
|
||||||
|
|
||||||
for i = 1, 40 do
|
for i = 1, 40 do
|
||||||
for j = 1, table.getn(bossList) do
|
for j = 1, table.getn(bossList) do
|
||||||
--if UnitName("nameplate" .. i) == bossList[j] then
|
--if UnitName("nameplate" .. i) == bossList[j] then
|
||||||
if UnitExists("nameplate" .. i) then
|
if UnitExists("nameplate" .. i) then
|
||||||
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
TRIGGER FOR POWER
|
TRIGGER FOR POWER
|
||||||
function()
|
function()
|
||||||
local bossList =
|
local bossList =
|
||||||
{
|
{
|
||||||
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
||||||
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
||||||
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
||||||
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
||||||
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
||||||
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
||||||
"Ymiron", "Harbaron", "Helya", --MoS
|
"Ymiron", "Harbaron", "Helya", --MoS
|
||||||
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
||||||
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
||||||
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
||||||
}
|
}
|
||||||
|
|
||||||
for i = 1, 40 do
|
for i = 1, 40 do
|
||||||
for j = 1, table.getn(bossList) do
|
for j = 1, table.getn(bossList) do
|
||||||
--if UnitName("nameplate" .. i) == bossList[j] then
|
--if UnitName("nameplate" .. i) == bossList[j] then
|
||||||
if UnitExists("nameplate" .. i) then
|
if UnitExists("nameplate" .. i) then
|
||||||
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
||||||
if UnitPower("nameplate" .. i) > 0 then
|
if UnitPower("nameplate" .. i) > 0 then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
TRIGGER FOR CASTBAR
|
TRIGGER FOR CASTBAR
|
||||||
function()
|
function()
|
||||||
local bossList =
|
local bossList =
|
||||||
{
|
{
|
||||||
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
||||||
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
||||||
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
||||||
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
||||||
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
||||||
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
||||||
"Ymiron", "Harbaron", "Helya", --MoS
|
"Ymiron", "Harbaron", "Helya", --MoS
|
||||||
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
||||||
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
||||||
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
||||||
}
|
}
|
||||||
local output = ""
|
local output = ""
|
||||||
|
|
||||||
for i = 1, 40 do
|
for i = 1, 40 do
|
||||||
for j = 1, table.getn(bossList) do
|
for j = 1, table.getn(bossList) do
|
||||||
if UnitExists("nameplate" .. i) then
|
if UnitExists("nameplate" .. i) then
|
||||||
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
||||||
if UnitCastingInfo("nameplate" .. i) then
|
if UnitCastingInfo("nameplate" .. i) then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
DISPLAY FOR HP
|
DISPLAY FOR HP
|
||||||
function()
|
function()
|
||||||
local bossList =
|
local bossList =
|
||||||
{
|
{
|
||||||
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
||||||
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
||||||
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
||||||
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
||||||
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
||||||
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
||||||
"Ymiron", "Harbaron", "Helya", --MoS
|
"Ymiron", "Harbaron", "Helya", --MoS
|
||||||
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
||||||
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
||||||
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
||||||
}
|
}
|
||||||
local output = ""
|
local output = ""
|
||||||
|
|
||||||
for i = 1, 40 do
|
for i = 1, 40 do
|
||||||
for j = 1, table.getn(bossList) do
|
for j = 1, table.getn(bossList) do
|
||||||
--if UnitName("nameplate" .. i) == bossList[j] then
|
--if UnitName("nameplate" .. i) == bossList[j] then
|
||||||
if UnitExists("nameplate" .. i) then
|
if UnitExists("nameplate" .. i) then
|
||||||
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
||||||
aura_env.bossHp = UnitHealth("nameplate" .. i)
|
aura_env.bossHp = UnitHealth("nameplate" .. i)
|
||||||
aura_env.bossMaxHp = UnitHealthMax("nameplate" .. i)
|
aura_env.bossMaxHp = UnitHealthMax("nameplate" .. i)
|
||||||
aura_env.bossPer = math.floor((aura_env.bossHp / aura_env.bossMaxHp) * 100)
|
aura_env.bossPer = math.floor((aura_env.bossHp / aura_env.bossMaxHp) * 100)
|
||||||
output = math.floor(aura_env.bossHp / 1e6) .. "M%/" .. math.floor(aura_env.bossMaxHp / 1e6) .. "M - " .. aura_env.bossPer .. "%%"
|
output = math.floor(aura_env.bossHp / 1e6) .. "M%/" .. math.floor(aura_env.bossMaxHp / 1e6) .. "M - " .. aura_env.bossPer .. "%%"
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return output
|
return output
|
||||||
end
|
end
|
||||||
|
|
||||||
DISPLAY FOR POWER
|
DISPLAY FOR POWER
|
||||||
function()
|
function()
|
||||||
local bossList =
|
local bossList =
|
||||||
{
|
{
|
||||||
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
||||||
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
||||||
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
||||||
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
||||||
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
||||||
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
||||||
"Ymiron", "Harbaron", "Helya", --MoS
|
"Ymiron", "Harbaron", "Helya", --MoS
|
||||||
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
||||||
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
||||||
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
||||||
}
|
}
|
||||||
local output = ""
|
local output = ""
|
||||||
|
|
||||||
for i = 1, 40 do
|
for i = 1, 40 do
|
||||||
for j = 1, table.getn(bossList) do
|
for j = 1, table.getn(bossList) do
|
||||||
--if UnitName("nameplate" .. i) == bossList[j] then
|
--if UnitName("nameplate" .. i) == bossList[j] then
|
||||||
if UnitExists("nameplate" .. i) then
|
if UnitExists("nameplate" .. i) then
|
||||||
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
||||||
if UnitPower("nameplate" .. i) > 0 then
|
if UnitPower("nameplate" .. i) > 0 then
|
||||||
aura_env.bossPower = UnitPower("nameplate" .. i)
|
aura_env.bossPower = UnitPower("nameplate" .. i)
|
||||||
aura_env.bossPowerMax = UnitPowerMax("nameplate" .. i)
|
aura_env.bossPowerMax = UnitPowerMax("nameplate" .. i)
|
||||||
aura_env.bossPer = math.floor((aura_env.bossPower / aura_env.bossPowerMax) * 100)
|
aura_env.bossPer = math.floor((aura_env.bossPower / aura_env.bossPowerMax) * 100)
|
||||||
output = aura_env.bossPower .. "%/" .. aura_env.bossPowerMax .. " " .. aura_env.bossPer .. "%%"
|
output = aura_env.bossPower .. "%/" .. aura_env.bossPowerMax .. " " .. aura_env.bossPer .. "%%"
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return output
|
return output
|
||||||
end
|
end
|
||||||
|
|
||||||
DISPLAY FOR CASTBAR
|
DISPLAY FOR CASTBAR
|
||||||
function()
|
function()
|
||||||
local bossList =
|
local bossList =
|
||||||
{
|
{
|
||||||
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
||||||
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
||||||
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
||||||
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
||||||
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
||||||
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
||||||
"Ymiron", "Harbaron", "Helya", --MoS
|
"Ymiron", "Harbaron", "Helya", --MoS
|
||||||
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
||||||
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
||||||
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
||||||
}
|
}
|
||||||
local output = ""
|
local output = ""
|
||||||
|
|
||||||
for i = 1, 40 do
|
for i = 1, 40 do
|
||||||
for j = 1, table.getn(bossList) do
|
for j = 1, table.getn(bossList) do
|
||||||
if UnitExists("nameplate" .. i) then
|
if UnitExists("nameplate" .. i) then
|
||||||
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
||||||
if UnitCastingInfo("nameplate" .. i) then
|
if UnitCastingInfo("nameplate" .. i) then
|
||||||
aura_env.bossCast = UnitCastingInfo("nameplate" .. i)
|
aura_env.bossCast = UnitCastingInfo("nameplate" .. i)
|
||||||
aura_env.castEnd = select(6, UnitCastingInfo("nameplate" .. i))
|
aura_env.castEnd = select(6, UnitCastingInfo("nameplate" .. i))
|
||||||
aura_env.castStart = select(5, UnitCastingInfo("nameplate" .. i))
|
aura_env.castStart = select(5, UnitCastingInfo("nameplate" .. i))
|
||||||
output = aura_env.bossCast .. " - " .. math.floor(((aura_env.castEnd - GetTime() * 1000) / 1000) * 100) / 100
|
output = aura_env.bossCast .. " - " .. math.floor(((aura_env.castEnd - GetTime() * 1000) / 1000) * 100) / 100
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return output
|
return output
|
||||||
end
|
end
|
||||||
|
|
||||||
DURATION FOR HP
|
DURATION FOR HP
|
||||||
function()
|
function()
|
||||||
return aura_env.bossHp, aura_env.bossMaxHp, 1
|
return aura_env.bossHp, aura_env.bossMaxHp, 1
|
||||||
end
|
end
|
||||||
|
|
||||||
DURATION FOR POWER
|
DURATION FOR POWER
|
||||||
function()
|
function()
|
||||||
return aura_env.bossPower, aura_env.bossPowerMax, 1
|
return aura_env.bossPower, aura_env.bossPowerMax, 1
|
||||||
end
|
end
|
||||||
|
|
||||||
DURATION FOR CASTBAR
|
DURATION FOR CASTBAR
|
||||||
function()
|
function()
|
||||||
return aura_env.castEnd - GetTime() * 1000, aura_env.castEnd - aura_env.castStart, 1
|
return aura_env.castEnd - GetTime() * 1000, aura_env.castEnd - aura_env.castStart, 1
|
||||||
end
|
end
|
||||||
|
|
||||||
DISPLAY FOR NAME
|
DISPLAY FOR NAME
|
||||||
function()
|
function()
|
||||||
local bossList =
|
local bossList =
|
||||||
{
|
{
|
||||||
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
|
||||||
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
|
||||||
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
|
||||||
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
|
||||||
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
|
||||||
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
|
||||||
"Ymiron", "Harbaron", "Helya", --MoS
|
"Ymiron", "Harbaron", "Helya", --MoS
|
||||||
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
|
||||||
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
|
||||||
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
|
||||||
}
|
}
|
||||||
local output = ""
|
local output = ""
|
||||||
|
|
||||||
for i = 1, 40 do
|
for i = 1, 40 do
|
||||||
for j = 1, table.getn(bossList) do
|
for j = 1, table.getn(bossList) do
|
||||||
--if UnitName("nameplate" .. i) == bossList[j] then
|
--if UnitName("nameplate" .. i) == bossList[j] then
|
||||||
if UnitExists("nameplate" .. i) then
|
if UnitExists("nameplate" .. i) then
|
||||||
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
|
||||||
output = UnitName("nameplate" .. i)
|
output = UnitName("nameplate" .. i)
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return output
|
return output
|
||||||
end
|
end
|
||||||
|
|
||||||
ANIMATION FOR HP
|
ANIMATION FOR HP
|
||||||
function()
|
function()
|
||||||
local function range (val, min, max, max2)
|
local function range (val, min, max, max2)
|
||||||
val = 1 - (((max - val) / (max - min)) * max2)
|
val = 1 - (((max - val) / (max - min)) * max2)
|
||||||
return val
|
return val
|
||||||
end
|
end
|
||||||
local c = aura_env.bossHp / aura_env.bossMaxHp
|
local c = aura_env.bossHp / aura_env.bossMaxHp
|
||||||
c = 1 - c
|
c = 1 - c
|
||||||
--c expected as [0, 1]
|
--c expected as [0, 1]
|
||||||
if c > 0.5 then
|
if c > 0.5 then
|
||||||
c = 1 - (2 * (c - 0.5))
|
c = 1 - (2 * (c - 0.5))
|
||||||
return c, 1, 0, 1
|
return c, 1, 0, 1
|
||||||
else
|
else
|
||||||
c = c * 2
|
c = c * 2
|
||||||
return 1, c, 0, 1
|
return 1, c, 0, 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
INIT FOR HP
|
INIT FOR HP
|
||||||
aura_env.bossHp = 1
|
aura_env.bossHp = 1
|
||||||
aura_env.bossMaxHp = 1
|
aura_env.bossMaxHp = 1
|
||||||
aura_env.bossPer = 1
|
aura_env.bossPer = 1
|
||||||
|
|
||||||
INIT FOR POWER
|
INIT FOR POWER
|
||||||
aura_env.bossPower = 1
|
aura_env.bossPower = 1
|
||||||
aura_env.bossPowerMax = 1
|
aura_env.bossPowerMax = 1
|
||||||
aura_env.bossPer = 1
|
aura_env.bossPer = 1
|
||||||
|
|
||||||
INIT FOR CASTBAR
|
INIT FOR CASTBAR
|
||||||
aura_env.castEnd = 0
|
aura_env.castEnd = 0
|
||||||
aura_env.castStart = 0
|
aura_env.castStart = 0
|
||||||
aura_env.bossCast = ""
|
aura_env.bossCast = ""
|
@@ -1,67 +1,67 @@
|
|||||||
--GET MAX SHIELD ABSORB AND BAR FOR ABSORB
|
--GET MAX SHIELD ABSORB AND BAR FOR ABSORB
|
||||||
TRIGGER
|
TRIGGER
|
||||||
function()
|
function()
|
||||||
local buff = UnitBuff("player", "Bulwark of Order") or ""
|
local buff = UnitBuff("player", "Bulwark of Order") or ""
|
||||||
if buff ~= "" then return true else return false end
|
if buff ~= "" then return true else return false end
|
||||||
end
|
end
|
||||||
|
|
||||||
DURATION
|
DURATION
|
||||||
function()
|
function()
|
||||||
local shieldAmount = select(17, UnitBuff("player", "Bulwark of Order"))
|
local shieldAmount = select(17, UnitBuff("player", "Bulwark of Order"))
|
||||||
if shieldAmount > aura_env.maxShield then
|
if shieldAmount > aura_env.maxShield then
|
||||||
aura_env.maxShield = shieldAmount
|
aura_env.maxShield = shieldAmount
|
||||||
end
|
end
|
||||||
return shieldAmount, aura_env.maxShield, 1
|
return shieldAmount, aura_env.maxShield, 1
|
||||||
end
|
end
|
||||||
|
|
||||||
DISPLAY
|
DISPLAY
|
||||||
function()
|
function()
|
||||||
local shield = select(17, UnitBuff("player", "Bulwark of Order")) or 0
|
local shield = select(17, UnitBuff("player", "Bulwark of Order")) or 0
|
||||||
return math.floor(shield / 1000) .. "k"
|
return math.floor(shield / 1000) .. "k"
|
||||||
end
|
end
|
||||||
|
|
||||||
ANIMATION
|
ANIMATION
|
||||||
function()
|
function()
|
||||||
local function range(val, min, max, max2)
|
local function range(val, min, max, max2)
|
||||||
local val = 1 - (((max - val) / (max - min)) * max2)
|
local val = 1 - (((max - val) / (max - min)) * max2)
|
||||||
return val
|
return val
|
||||||
end
|
end
|
||||||
|
|
||||||
local endTime = select(7, UnitBuff("player", "Bulwark of Order")) * 1000
|
local endTime = select(7, UnitBuff("player", "Bulwark of Order")) * 1000
|
||||||
local time = GetTime() * 1000
|
local time = GetTime() * 1000
|
||||||
local maxDur = select(6, UnitBuff("player", "Bulwark of Order")) * 1000
|
local maxDur = select(6, UnitBuff("player", "Bulwark of Order")) * 1000
|
||||||
local duration = endTime - time
|
local duration = endTime - time
|
||||||
local c = range(duration, 0, maxDur, 1)
|
local c = range(duration, 0, maxDur, 1)
|
||||||
--c expected as [0, 1]
|
--c expected as [0, 1]
|
||||||
if c > 0.5 then
|
if c > 0.5 then
|
||||||
c = 1 - (2 * (c - 0.5))
|
c = 1 - (2 * (c - 0.5))
|
||||||
return c, 1, 0, 1
|
return c, 1, 0, 1
|
||||||
else
|
else
|
||||||
c = c * 2
|
c = c * 2
|
||||||
return 1, c, 0, 1
|
return 1, c, 0, 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
ON SHOW
|
ON SHOW
|
||||||
aura_env.maxShield = 0
|
aura_env.maxShield = 0
|
||||||
|
|
||||||
TRIGGER
|
TRIGGER
|
||||||
function()
|
function()
|
||||||
local buff = UnitBuff("player", "Bulwark of Order") or ""
|
local buff = UnitBuff("player", "Bulwark of Order") or ""
|
||||||
if buff ~= "" then return true else return false end
|
if buff ~= "" then return true else return false end
|
||||||
end
|
end
|
||||||
|
|
||||||
DURATION
|
DURATION
|
||||||
function()
|
function()
|
||||||
local shieldAmount = select(17, UnitBuff("player", "Bulwark of Order"))
|
local shieldAmount = select(17, UnitBuff("player", "Bulwark of Order"))
|
||||||
local maxShield = UnitHealth("player") / 5
|
local maxShield = UnitHealth("player") / 5
|
||||||
return shieldAmount, maxShield, 1
|
return shieldAmount, maxShield, 1
|
||||||
end
|
end
|
||||||
|
|
||||||
DISPLAY
|
DISPLAY
|
||||||
function()
|
function()
|
||||||
local shield = select(17, UnitBuff("player", "Bulwark of Order")) or 0
|
local shield = select(17, UnitBuff("player", "Bulwark of Order")) or 0
|
||||||
local maxShield = UnitHealth("player") / 5
|
local maxShield = UnitHealth("player") / 5
|
||||||
local pp = (shield / maxShield) * 20
|
local pp = (shield / maxShield) * 20
|
||||||
return string.format("%2.1f", pp)
|
return string.format("%2.1f", pp)
|
||||||
end
|
end
|
@@ -1,40 +1,40 @@
|
|||||||
PLAYER_ENTERING_WORLD
|
PLAYER_ENTERING_WORLD
|
||||||
function()
|
function()
|
||||||
if aura_env.enabled == 1 then
|
if aura_env.enabled == 1 then
|
||||||
local r = WeakAuras.regions['julijabutton0'].region
|
local r = WeakAuras.regions['julijabutton0'].region
|
||||||
local b = CreateFrame("Button", "JulijaButton", r, "SecureActionButtonTemplate")
|
local b = CreateFrame("Button", "JulijaButton", r, "SecureActionButtonTemplate")
|
||||||
if aura_env.type:match("spell") then
|
if aura_env.type:match("spell") then
|
||||||
b:SetAllPoints()
|
b:SetAllPoints()
|
||||||
b:SetAttribute("unit", aura_env.target)
|
b:SetAttribute("unit", aura_env.target)
|
||||||
b:SetAttribute("spell", aura_env.name)
|
b:SetAttribute("spell", aura_env.name)
|
||||||
b:SetAttribute("type", "spell")
|
b:SetAttribute("type", "spell")
|
||||||
end
|
end
|
||||||
if aura_env.type:match("macro") then
|
if aura_env.type:match("macro") then
|
||||||
b:SetAllPoints()
|
b:SetAllPoints()
|
||||||
b:SetAttribute("macro", aura_env.name)
|
b:SetAttribute("macro", aura_env.name)
|
||||||
b:SetAttribute("type", "macro")
|
b:SetAttribute("type", "macro")
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
else
|
else
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
INIT
|
INIT
|
||||||
aura_env.enabled = 0
|
aura_env.enabled = 0
|
||||||
aura_env.target = "player" --UnitID; player, focus, target, partyn (where n is the number in order of the party member), raidn (For more elaborate UnitIDs look up UnitID API Wiki thing; NO DYNAMIC INFO); I don't think it works for macros though.... So I've disabled it for macros
|
aura_env.target = "player" --UnitID; player, focus, target, partyn (where n is the number in order of the party member), raidn (For more elaborate UnitIDs look up UnitID API Wiki thing; NO DYNAMIC INFO); I don't think it works for macros though.... So I've disabled it for macros
|
||||||
aura_env.type = "spell" --"spell" or "macro" CASE SENSITIVE
|
aura_env.type = "spell" --"spell" or "macro" CASE SENSITIVE
|
||||||
aura_env.name = "Hand of the Protector" --Spell or Macro name CASE SENSITIVE
|
aura_env.name = "Hand of the Protector" --Spell or Macro name CASE SENSITIVE
|
||||||
|
|
||||||
if aura_env.enabled == 1 then
|
if aura_env.enabled == 1 then
|
||||||
if not aura_env.type:match("spell") and not aura_env.type:match("macro") then
|
if not aura_env.type:match("spell") and not aura_env.type:match("macro") then
|
||||||
print("|cFFFF0000Error 'type' on julijabutton0")
|
print("|cFFFF0000Error 'type' on julijabutton0")
|
||||||
aura_env.enabled = 0
|
aura_env.enabled = 0
|
||||||
end
|
end
|
||||||
if aura_env.name == "" then
|
if aura_env.name == "" then
|
||||||
print("|cFFFF0000Error 'name' on julijabutton0")
|
print("|cFFFF0000Error 'name' on julijabutton0")
|
||||||
end
|
end
|
||||||
if aura_env.target == "" and not aura_env.type:match("macro") then
|
if aura_env.target == "" and not aura_env.type:match("macro") then
|
||||||
print("|cFFFF0000Error 'target' on julijabutton0")
|
print("|cFFFF0000Error 'target' on julijabutton0")
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,16 +1,16 @@
|
|||||||
--COMBAT_LOG_EVENT_UNFILTERED UNIT_AURA
|
--COMBAT_LOG_EVENT_UNFILTERED UNIT_AURA
|
||||||
function(e, ...)
|
function(e, ...)
|
||||||
if e == "COMBAT_LOG_EVENT_UNFILTERED" then
|
if e == "COMBAT_LOG_EVENT_UNFILTERED" then
|
||||||
local se = select(2, CombatLogGetCurrentEventInfo())
|
local se = select(2, CombatLogGetCurrentEventInfo())
|
||||||
local sid = select(12, CombatLogGetCurrentEventInfo())
|
local sid = select(12, CombatLogGetCurrentEventInfo())
|
||||||
local caster = select(5, CombatLogGetCurrentEventInfo())
|
local caster = select(5, CombatLogGetCurrentEventInfo())
|
||||||
if caster == UnitName("player") and se == "SPELL_CAST_SUCCESS" and sid == 53595 then
|
if caster == UnitName("player") and se == "SPELL_CAST_SUCCESS" and sid == 53595 then
|
||||||
WeakAurasSaved.CustomTrash.ProcShit.casts = WeakAurasSaved.CustomTrash.ProcShit.casts + 1
|
WeakAurasSaved.CustomTrash.ProcShit.casts = WeakAurasSaved.CustomTrash.ProcShit.casts + 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--DISPLAY
|
--DISPLAY
|
||||||
function()
|
function()
|
||||||
return WeakAurasSaved.CustomTrash.ProcShit.procs .. " / " .. WeakAurasSaved.CustomTrash.ProcShit.casts .. "\n" .. WeakAurasSaved.CustomTrash.ProcShit.procs / WeakAurasSaved.CustomTrash.ProcShit.casts
|
return WeakAurasSaved.CustomTrash.ProcShit.procs .. " / " .. WeakAurasSaved.CustomTrash.ProcShit.casts .. "\n" .. WeakAurasSaved.CustomTrash.ProcShit.procs / WeakAurasSaved.CustomTrash.ProcShit.casts
|
||||||
end
|
end
|
@@ -1,34 +1,34 @@
|
|||||||
--Custom text
|
--Custom text
|
||||||
function()
|
function()
|
||||||
output = ""
|
output = ""
|
||||||
for k, v in pairs(aura_env.elites) do
|
for k, v in pairs(aura_env.elites) do
|
||||||
output = output .. aura_env.eliteColor .. k .. " " .. v .. "\124r\n"
|
output = output .. aura_env.eliteColor .. k .. " " .. v .. "\124r\n"
|
||||||
end
|
end
|
||||||
for k, v in pairs(aura_env.rares) do
|
for k, v in pairs(aura_env.rares) do
|
||||||
output = output .. aura_env.rareColor .. k .. " " .. v .. "\124r\n"
|
output = output .. aura_env.rareColor .. k .. " " .. v .. "\124r\n"
|
||||||
end
|
end
|
||||||
return output
|
return output
|
||||||
end
|
end
|
||||||
|
|
||||||
--NAME_PLATE_UNIT_ADDED
|
--NAME_PLATE_UNIT_ADDED
|
||||||
function(e, u)
|
function(e, u)
|
||||||
class = UnitClassification(u)
|
class = UnitClassification(u)
|
||||||
-- use date() for time
|
-- use date() for time
|
||||||
if class == "elite" then
|
if class == "elite" then
|
||||||
aura_env.elites[UnitName(u)] = aura_env.GetTime()
|
aura_env.elites[UnitName(u)] = aura_env.GetTime()
|
||||||
return true
|
return true
|
||||||
elseif class == "rare" or class == "rareelite" then
|
elseif class == "rare" or class == "rareelite" then
|
||||||
aura_env.rares[UnitName(u)] = aura_env.GetTime()
|
aura_env.rares[UnitName(u)] = aura_env.GetTime()
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--INIT
|
--INIT
|
||||||
aura_env.elites = {}
|
aura_env.elites = {}
|
||||||
aura_env.rares = {}
|
aura_env.rares = {}
|
||||||
aura_env.eliteColor = "\124c" .. "ff3e3e3e"
|
aura_env.eliteColor = "\124c" .. "ff3e3e3e"
|
||||||
aura_env.rareColor = "\124c" .. "ffffe72e"
|
aura_env.rareColor = "\124c" .. "ffffe72e"
|
||||||
|
|
||||||
aura_env.GetTime = function()
|
aura_env.GetTime = function()
|
||||||
return string.match(date(), "%d%d:%d%d:%d%d")
|
return string.match(date(), "%d%d:%d%d:%d%d")
|
||||||
endee
|
endee
|
@@ -1,10 +1,10 @@
|
|||||||
if not aura_env.region.text then
|
if not aura_env.region.text then
|
||||||
local text = aura_env.region:CreateFontString(nil, aura_env.region)
|
local text = aura_env.region:CreateFontString(nil, aura_env.region)
|
||||||
aura_env.region.text = text
|
aura_env.region.text = text
|
||||||
print("ok!")
|
print("ok!")
|
||||||
end
|
end
|
||||||
aura_env.region.text:SetFont("Fonts\\FRIZQT__.TTF", 10, "OUTLINE, MONOCHROME")
|
aura_env.region.text:SetFont("Fonts\\FRIZQT__.TTF", 10, "OUTLINE, MONOCHROME")
|
||||||
aura_env.region.text:SetTextColor(0, 1, 0, 0.8)
|
aura_env.region.text:SetTextColor(0, 1, 0, 0.8)
|
||||||
aura_env.region.text:SetPoint("CENTER", aura_env.region, "CENTER", 1, 0)
|
aura_env.region.text:SetPoint("CENTER", aura_env.region, "CENTER", 1, 0)
|
||||||
aura_env.region.text:SetText("SW")
|
aura_env.region.text:SetText("SW")
|
||||||
aura_env.region.text:Show()
|
aura_env.region.text:Show()
|
@@ -1,27 +1,27 @@
|
|||||||
--NAME_PLATE_UNIT_ADDED NAME_PLATE_UNIT_REMOVED
|
--NAME_PLATE_UNIT_ADDED NAME_PLATE_UNIT_REMOVED
|
||||||
function(e, unit)
|
function(e, unit)
|
||||||
if e == "NAME_PLATE_UNIT_ADDED" then
|
if e == "NAME_PLATE_UNIT_ADDED" then
|
||||||
if aura_env.altlist[UnitName(unit)] then
|
if aura_env.altlist[UnitName(unit)] then
|
||||||
local plate = C_NamePlate.GetNamePlateForUnit(unit)
|
local plate = C_NamePlate.GetNamePlateForUnit(unit)
|
||||||
if plate then
|
if plate then
|
||||||
aura_env.region:SetAnchor("CENTER", plate, "CENTER")
|
aura_env.region:SetAnchor("CENTER", plate, "CENTER")
|
||||||
aura_env.region:SetOffset(0, 50)
|
aura_env.region:SetOffset(0, 50)
|
||||||
aura_env.region:Color(1, 1, 1, 1)
|
aura_env.region:Color(1, 1, 1, 1)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif e == "NAME_PLATE_UNIT_REMOVED" then
|
elseif e == "NAME_PLATE_UNIT_REMOVED" then
|
||||||
if aura_env.altlist[UnitName(unit)] then
|
if aura_env.altlist[UnitName(unit)] then
|
||||||
aura_env.region:ClearAllPoints()
|
aura_env.region:ClearAllPoints()
|
||||||
aura_env.region:Color(1, 1, 1, 0)
|
aura_env.region:Color(1, 1, 1, 0)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--INIT
|
--INIT
|
||||||
aura_env.altlist =
|
aura_env.altlist =
|
||||||
{
|
{
|
||||||
["Elna"] = 1,
|
["Elna"] = 1,
|
||||||
["Melna"] = 1,
|
["Melna"] = 1,
|
||||||
}
|
}
|
@@ -1,22 +1,22 @@
|
|||||||
--TRADE_SHOW
|
--TRADE_SHOW
|
||||||
function()
|
function()
|
||||||
if UnitName("target") == "Melna" then
|
if UnitName("target") == "Melna" then
|
||||||
local items = 0
|
local items = 0
|
||||||
for i = 0, 4 do
|
for i = 0, 4 do
|
||||||
for j = 1, GetContainerNumSlots(i) do
|
for j = 1, GetContainerNumSlots(i) do
|
||||||
local link = select(7, GetContainerItemInfo(i, j))
|
local link = select(7, GetContainerItemInfo(i, j))
|
||||||
if link then
|
if link then
|
||||||
local type = select(7, GetItemInfo(link))
|
local type = select(7, GetItemInfo(link))
|
||||||
if (type == "Cooking" or type == "Cloth") and items < 6 then
|
if (type == "Cooking" or type == "Cloth") and items < 6 then
|
||||||
UseContainerItem(i, j)
|
UseContainerItem(i, j)
|
||||||
items = items + 1
|
items = items + 1
|
||||||
elseif items >= 6 then
|
elseif items >= 6 then
|
||||||
AcceptTrade()
|
AcceptTrade()
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
AcceptTrade()
|
AcceptTrade()
|
||||||
end
|
end
|
||||||
end
|
end
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user