Add new code snippets

This commit is contained in:
2024-03-03 13:50:12 +01:00
commit 01b612a50b
409 changed files with 65292 additions and 0 deletions

View File

@@ -0,0 +1,239 @@
--UPDATE_BIND_TABLE UPDATE_BINDS UPDATE_BAR_TABLE UPDATE_BARS DELETE_SET LIST_SETS
--[[
UPDATE_BIND_TABLE saves current binds
UPDATE_BINDS restores saved binds
UPDATE_BAR_TABLE saves current bar layout also supports sets
UPDATE_BARS restores bar layout; defaults to the "default" set
DELETE_SET deletes a specified set
LIST_SETS lists all sets
DELETE and LIST only work for bar layouts
/run WeakAuras.ScanEvents("UPDATE_BINDS")
/run WeakAuras.ScanEvents("UPDATE_BIND_TABLE")
]]
function(e, ...)
if InCombatLockdown() ~= 1 then
if e == "UPDATE_BIND_TABLE" then
if not WeakAurasSaved.CustomTrash then WeakAurasSaved.CustomTrash = {} end
if not WeakAurasSaved.CustomTrash.BindTableTwo then WeakAurasSaved.CustomTrash.BindTableTwo = {} end
for i = 1, GetNumBindings() do
local comm, bind, bind2 = GetBinding(i)
if comm and bind2 and not WeakAurasSaved.CustomTrash.BindTableTwo[comm] then
print("Adding", comm, "with bind", bind2, "to bind table")
WeakAurasSaved.CustomTrash.BindTableTwo[comm] = {}
WeakAurasSaved.CustomTrash.BindTableTwo[comm].bind = bind2
WeakAurasSaved.CustomTrash.BindTableTwo[comm].index = i
end
if comm and not bind2 and WeakAurasSaved.CustomTrash.BindTableTwo[comm] then
print("Removing", comm, "with no bind from the bind table")
WeakAurasSaved.CustomTrash.BindTableTwo[comm] = nil
end
end
elseif e == "UPDATE_BINDS" then
for k, v in pairs(WeakAurasSaved.CustomTrash.BindTableTwo) do
local command, bind, bind2 = GetBinding(v.index)
if bind2 ~= v.bind then
--The key should be aura_env.keyBinds[command] but the key is bind2
print("Key", command, "has bind", bind2, "but should have", v.bind)
if bind2 then SetBinding(bind2) end
if v.bind then SetBinding(v.bind, command) end
end
end
SaveBindings(1)
elseif e == "UPDATE_BAR_TABLE" then
local arg2 = "default"
if ... then arg2 = ... end
if not WeakAurasSaved.CustomTrash then WeakAurasSaved.CustomTrash = {} end
if not WeakAurasSaved.CustomTrash.BarTable then WeakAurasSaved.CustomTrash.BarTable = {} end
if not WeakAurasSaved.CustomTrash.BarTable[arg2] then WeakAurasSaved.CustomTrash.BarTable[arg2] = {} end
for i = 1, 72 do
PickupAction(i)
if GetCursorInfo() then
local type = GetCursorInfo()
local id, name = nil, nil
if not type then WeakAurasSaved.CustomTrash.BarTable[arg2][i] = nil end
if type == "spell" then
id = select(4, GetCursorInfo())
elseif type == "mount" then
id = select(2, GetCursorInfo())
elseif type == "macro" then
id = select(2, GetCursorInfo())
name = select(1, GetMacroInfo(id))
elseif type == "item" then
id = select(2, GetCursorInfo())
elseif type == "equipmentset" then
name = select(2, GetCursorInfo())
end --elseif 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
WeakAurasSaved.CustomTrash.BarTable[arg2][i].type = type
WeakAurasSaved.CustomTrash.BarTable[arg2][i].id = id
WeakAurasSaved.CustomTrash.BarTable[arg2][i].name = name
if not name then
print("Adding", type, "by id", id, "on slot", i, "to the table")
elseif name then
print("Adding", type, "by id", id, "and name", name, "on slot", i, "to the table")
end
end
end
PickupAction(i)
end
elseif e == "UPDATE_BARS" then
local arg2 = "default"
if ... then arg2 = ... end
for k, v in pairs(WeakAurasSaved.CustomTrash.BarTable[arg2]) do
if v.type == "spell" then
if GetCursorInfo() then ClearCursor() end
PickupAction(k)
if GetCursorInfo() then
local id = select(4, GetCursorInfo())
if id ~= v.id then
ClearCursor()
PickupSpell(v.id)
PickupAction(k)
ClearCursor()
end
PickupAction(k)
else
ClearCursor()
PickupSpell(v.id)
PickupAction(k)
ClearCursor()
end
elseif v.type == "mount" then
local mid, mindex
--Looking for mount in mount journal
for i = 1, C_MountJournal.GetNumMounts() do
mid = select(12, C_MountJournal.GetDisplayedMountInfo(i))
local ishave = select(11, C_MountJournal.GetDisplayedMountInfo(i))
if mid == v.id then
mindex = i
break
end
if ishave == false then
break
end
end
--Checking what's on the bar
if GetCursorInfo() then ClearCursor() end
PickupAction(k)
if GetCursorInfo() then
local id = select(2, GetCursorInfo())
if id ~= v.id and mindex then
ClearCursor()
C_MountJournal.Pickup(mindex)
PickupAction(k)
ClearCursor()
end
PickupAction(k)
elseif not GetCursorInfo() and mindex then
ClearCursor()
C_MountJournal.Pickup(mindex)
PickupAction(k)
ClearCursor()
end
elseif v.type == "macro" then
if GetCursorInfo() then ClearCursor() end
PickupAction(k)
if GetCursorInfo() then
local id = select(2, GetCursorInfo())
local name = select(1, GetMacroInfo(id))
if id ~= v.id or name ~= v.name then
ClearCursor()
PickupMacro(v.id)
PickupAction(k)
ClearCursor()
end
PickupAction(k)
else
ClearCursor()
local name = GetMacroInfo(v.id)
if name == v.name then
PickupMacro(v.id)
PickupAction(k)
ClearCursor()
end
end
elseif v.type == "equipmentset" then
if GetCursorInfo() then ClearCursor() end
local eqindex
for i = 1, GetNumEquipmentSets() do
local nam = GetEquipmentSetInfo(i)
if nam == v.name then
eqindex = i
break
end
end
if eqindex then
PickupAction(k)
if GetCursorInfo() then
local name = select(2, GetCursorInfo())
if name ~= v.name then
ClearCursor()
PickupEquipmentSet(eqindex)
PickupAction(k)
ClearCursor()
end
PickupAction(k)
else
ClearCursor()
PickupEquipmentSet(eqindex)
PickupAction(k)
ClearCursor()
end
end
elseif v.type == "item" then
if GetCursorInfo() then ClearCursor() end
local ios, jos
for i = 0, 4 do
for j = 1, GetContainerNumSlots(i) do
local link = select(7, GetContainerItemInfo(i, j))
if link then
local id = link:match("item:(%d+):")
if id then
id = tonumber(id)
if id == v.id then
ios = i
jos = j
break
end
end
end
end
end
if ios and jos then
PickupAction(k)
if GetCursorInfo() then
local id = select(2, GetCursorInfo())
if id ~= v.id then
ClearCursor()
PickupContainerItem(ios, jos)
PickupAction(k)
ClearCursor()
end
PickupAction(k)
else
ClearCursor()
PickupContainerItem(ios, jos)
PickupAction(k)
ClearCursor()
end
end
end --elseif end
end
elseif e == "DELETE_SET" then
local arg2 = ...
if arg2 and WeakAurasSaved.CustomTrash.BarTable[arg2] then
WeakAurasSaved.CustomTrash.BarTable[arg2] = nil
end
elseif e == "LIST_SETS" then
for k, v in pairs(WeakAurasSaved.CustomTrash.BarTable) do
print(k)
end
end --elseif end
end
end

View File

@@ -0,0 +1,318 @@
--UPDATE_MOUSEOVER_UNIT PLAYER_TARGET_CHANGED
function()
if not UnitExists("target") and UnitExists("mouseover") and UnitIsPlayer("mouseover") then
aura_env.output = "Boss RF NM HC Myth" .. "\n"
bossKills =
{
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
}
SetAchievementComparisonUnit("mouseover")
end
if not UnitExists("mouseover") and UnitExists("target") and UnitIsPlayer("target") then
aura_env.output = "Boss RF NM HC Myth" .. "\n"
bossKills =
{
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
{
[1] = 0,
[2] = 0,
[3] = 0,
[4] = 0
},
}
SetAchievementComparisonUnit("target")
end
end
--INSPECT_ACHIEVEMENT_READY
function()
aura_env.output = "Boss RF NM HC Myth" .. "\n"
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
local bossname = select(2, GetAchievementInfo(aura_env.TOS[k][1]))
bossname = bossname:match("[a-zA-Z' ]*kills")
bossname = bossname:gsub(" kills", "")
aura_env.output = aura_env.output .. bossname .. "\n"
if GetComparisonStatistic(aura_env.TOS[k][1]) ~= "--" then
bossKills[k][1] = GetComparisonStatistic(aura_env.TOS[k][1])
end
if GetComparisonStatistic(aura_env.TOS[k][2]) ~= "--" then
bossKills[k][2] = GetComparisonStatistic(aura_env.TOS[k][2])
end
if GetComparisonStatistic(aura_env.TOS[k][3]) ~= "--" then
bossKills[k][3] = GetComparisonStatistic(aura_env.TOS[k][3])
end
if GetComparisonStatistic(aura_env.TOS[k][4]) ~= "--" then
bossKills[k][4] = GetComparisonStatistic(aura_env.TOS[k][4])
end
end
end
ClearAchievementComparisonUnit()
end
--WEAKAURA 2 DISPLAY -- RF BOSSES
function()
local output = ""
for k,v in ipairs(bossKills) do
if tonumber(bossKills[k][1]) > 0 then
output = output .. bossKills[k][1] .. "\n"
end
end
return output
end
--WEAKAURA 2 DISPLAY -- NM BOSSES
function()
local output = ""
for k,v in ipairs(bossKills) do
if tonumber(bossKills[k][2]) > 0 then
output = output .. bossKills[k][2] .. "\n"
end
end
return output
end
--WEAKAURA 2 DISPLAY -- HC BOSSES
function()
local output = ""
for k,v in ipairs(bossKills) do
if tonumber(bossKills[k][3]) > 0 then
output = output .. bossKills[k][3] .. "\n"
end
end
return output
end
--WEAKAURA 2 DISPLAY -- Myth BOSSES
function()
local output = ""
for k,v in ipairs(bossKills) do
if tonumber(bossKills[k][4]) > 0 then
output = output .. bossKills[k][4] .. "\n"
end
end
return output
end
--INIT
aura_env.TOS =
{
{ --Goroth
11877, -- [1]
11878, -- [2]
11879, -- [3]
11880, -- [4]
}, -- [1]
{ --Inquisition
11881, -- [1]
11882, -- [2]
11883, -- [3]
11884, -- [4]
}, -- [2]
{ --Harjatan
11885, -- [1]
11886, -- [2]
11887, -- [3]
11888, -- [4]
}, -- [3]
{ --Sisters
11889, -- [1]
11890, -- [2]
11891, -- [3]
11892, -- [4]
}, -- [4]
{ --Mistress
11893, -- [1]
11894, -- [2]
11895, -- [3]
11896, -- [4]
}, -- [5]
{ --Host
11897, -- [1]
11898, -- [2]
11899, -- [3]
11900, -- [4]
}, -- [6]
{ --Maiden
11901, -- [1]
11902, -- [2]
11903, -- [3]
11904, -- [4]
}, -- [7]
{ --Avatar
11905, -- [1]
11906, -- [2]
11907, -- [3]
11908, -- [4]
}, -- [8]
{ --Kil'jaeden
11909, -- [1]
11910, -- [2]
11911, -- [3]
11912, -- [4]
}, -- [9]
}
aura_env.NH =
{
{ --Skorp
10940, -- [1]
10941, -- [2]
10942, -- [3]
10943, -- [4]
}, -- [1]
{ --Anomaly
10944, -- [1]
10945, -- [2]
10946, -- [3]
10947, -- [4]
}, -- [2]
{ --Trilliax
10948, -- [1]
10949, -- [2]
10950, -- [3]
10951, -- [4]
}, -- [3]
{ --Aluriel
10952, -- [1]
10953, -- [2]
10954, -- [3]
10955, -- [4]
}, -- [4]
{ --Augur
10956, -- [1]
10957, -- [2]
10959, -- [3]
10960, -- [4]
}, -- [5]
{ --Botanist
10961, -- [1]
10962, -- [2]
10963, -- [3]
10964, -- [4]
}, -- [6]
{ --Tich
10965, -- [1]
10966, -- [2]
10967, -- [3]
10968, -- [4]
}, -- [7]
{ --Krosus
10969, -- [1]
10970, -- [2]
10971, -- [3]
10972, -- [4]
}, -- [8]
{ --Elisande
10973, -- [1]
10974, -- [2]
10975, -- [3]
10976, -- [4]
}, -- [9]
{ --Gul'dan
10977, -- [1]
10978, -- [2]
10979, -- [3]
10980, -- [4]
}, -- [10]
}
aura_env.output = ""

View File

@@ -0,0 +1,9 @@
function()
local seeds = 0
for i = 1, 100 do
if UnitDebuff("nameplate" .. i, "Seed of Corruption") then
seeds = seeds + 1
end
end
return seeds
end

View File

@@ -0,0 +1,305 @@
--QUEST_ACCEPTED QUEST_TURNED_IN
function(e)
for k, v in ipairs(aura_env.questDatabase) do
if IsQuestFlaggedCompleted(v) == false then
--print(aura_env.TESTCOMPLETION[k])
--if aura_env.TESTCOMPLETION[k] == false then
--print(k, IsQuestFlaggedCompleted(v))
if k < 36 or k > 37 then
aura_env.currentQuest = k
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 aura_env.TESTCOMPLETION[37] == true) or (k == 37 and aura_env.TESTCOMPLETION[36] == true) then
k = 38
end
end
end
--print(aura_env.currentQuest)
return true
end
--DISPLAY
function()
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]
else
return "Progress: " .. aura_env.currentQuest .. "/" .. #aura_env.questDatabase .. "\nCurrent quest: " .. aura_env.questNames[aura_env.currentQuest]
end
end
--INIT
aura_env.currentQuest = 1
aura_env.questDatabase = {
[1] = 47835,
[2] = 47867,
[3] = 47223,
[4] = 47224,
[5] = 48440,
[6] = 46938,
[7] = 47589,
[8] = 46297,
[9] = 48483,
[10] = 47627,
[11] = 47641,
[12] = 46732,
[13] = 46816,
[14] = 46839,
[15] = 46840,
[16] = 46841,
[17] = 46842,
[18] = 46843,
[19] = 48500,
[20] = 47431,
[21] = 46213,
[22] = 40238,
[23] = 47541,
[24] = 47508,
[25] = 47771,
[26] = 47526,
[27] = 47754,
[28] = 47652,
[29] = 47653,
[30] = 47743,
[31] = 49143,
[32] = 47287,
[33] = 48559,
[34] = 48199,
[35] = 48200,
[36] = 48201,
[37] = 48202,
[38] = 47473,
[39] = 47889,
[40] = 47890,
[41] = 47891,
[42] = 47892,
[43] = 47986,
[44] = 47987,
[45] = 47988,
[46] = 47991,
[47] = 47990,
[48] = 47989,
[49] = 47992,
[50] = 47993,
[51] = 47994,
[52] = 48081,
[53] = 46815,
[54] = 46818,
[55] = 46834,
[56] = 47066,
[57] = 46941,
[58] = 47686,
[59] = 47882,
[60] = 47688,
[61] = 47883,
[62] = 47689,
[63] = 47685,
[64] = 47687,
[65] = 47690,
[66] = 48107,
[67] = 48461,
[68] = 48344,
[69] = 47691,
[70] = 47854,
[71] = 47995,
[72] = 47853,
[73] = 48345,
[74] = 47855,
[75] = 47856,
[76] = 47416,
[77] = 47238,
[78] = 40761,
[79] = 47101,
[80] = 47180,
[81] = 47100,
[82] = 47183,
[83] = 47184,
[84] = 47203,
[85] = 47217,
[86] = 47218,
[87] = 47219,
[88] = 47220,
[89] = 48560,
}
aura_env.questNames = {
[1] = "The Hand of Fate",
[2] = "Two If By Sea",
[3] = "Light's Exodus",
[4] = "The Vindicaar",
[5] = "Into the Night",
[6] = "Alone in the Abyss",
[7] = "Righteous Fury",
[8] = "Overwhelming Power",
[9] = "A Stranger's Plea",
[10] = "Vengeance",
[11] = "Sign of Resistance",
[12] = "The Prophet's Gambit",
[13] = "Rendezvous",
[14] = "From Darkness",
[15] = "Prisoners No More",
[16] = "Threat Reduction",
[17] = "A Strike at the Heart",
[18] = "Return to the Vindicaar",
[19] = "A Moment of Respite",
[20] = "Gathering Light",
[21] = "Crystals Not Included",
[22] = "A Grim Equation",
[23] = "The Best Prevention",
[24] = "Fire at Will",
[25] = "Locating the Longshot",
[26] = "Bringing the Big Guns",
[27] = "Lightly Roasted",
[28] = "The Light Mother",
[29] = "Light's Return",
[30] = "The Child of Light and Shadow",
[31] = "Essence of the Light Mother",
[32] = "The Vindicaar Matrix Core",
[33] = "An Offering of Light",
[34] = "The Burning Heart",
[35] = "Securing a Foothold",
[36] = "Reinforce Light's Purchase",
[37] = "Reinforce the Veiled Den",
[38] = "Sizing Up The Opposition",
[39] = "The Speaker Calls",
[40] = "Visions of Torment",
[41] = "Dire News",
[42] = "Storming the Citadel",
[43] = "Scars of the Past",
[44] = "Preventive Measures",
[45] = "Chaos Theory",
[46] = "Dark Machinations",
[47] = "A Touch of Fel",
[48] = "Heralds of Apocalypse",
[49] = "Dawn of Justice",
[50] = "Lord of the Spire",
[51] = "Forming a Bond",
[52] = "A Floating Ruin",
[53] = "Mac'Aree, Jewel of Argus",
[54] = "Defenseless and Afraid",
[55] = "Khazaduum, First of His Name",
[56] = "Consecrating Ground",
[57] = "The Path Forward",
[58] = "Not-So-Humble Beginnings",
[59] = "Conservation of Magic",
[60] = "Invasive Species",
[61] = "The Longest Vigil",
[62] = "Gatekeeper's Challenge: Tenacity",
[63] = "Gatekeeper's Challenge: Cunning",
[64] = "Gatekeeper's Challenge: Mastery",
[65] = "The Defiler's Legacy",
[66] = "The Sigil of Awakening",
[67] = "Where They Least Expect It",
[68] = "We Have a Problem",
[69] = "A Non-Prophet Organization",
[70] = "Wrath of the Hight Exarch",
[71] = "Overt Ops",
[72] = "Flanking Maneuvers",
[73] = "Talgath's Forces",
[74] = "What Might Have Been",
[75] = "Across the Universe",
[76] = "Shadow of the Triumvirate",
[77] = "The Seat of the Triumvirate",
[78] = "Whispers from Oronaar",
[79] = "Arkhaan's Prayers",
[80] = "The Pulsing Madness",
[81] = "Arkhaan's Pain",
[82] = "Arkhaan's Plan",
[83] = "Arkhaan's Peril",
[84] = "Throwing Shade",
[85] = "Sources of Darkness",
[86] = "The Shadowguard Incursion",
[87] = "A Vessel Made Ready",
[88] = "A Beacon in the Dark",
[89] = "An Offering of Shadow",
}
aura_env.TESTCOMPLETION = {
[1] = true,
[2] = true,
[3] = true,
[4] = true,
[5] = true,
[6] = true,
[7] = true,
[8] = true,
[9] = true,
[10] = true,
[11] = true,
[12] = true,
[13] = true,
[14] = true,
[15] = true,
[16] = true,
[17] = true,
[18] = true,
[19] = true,
[20] = true,
[21] = true,
[22] = true,
[23] = true,
[24] = true,
[25] = true,
[26] = true,
[27] = true,
[28] = true,
[29] = true,
[30] = true,
[31] = true,
[32] = true,
[33] = true,
[34] = true,
[35] = true,
[36] = false,
[37] = true,
[38] = true,
[39] = true,
[40] = true,
[41] = true,
[42] = true,
[43] = true,
[44] = true,
[45] = true,
[46] = true,
[47] = true,
[48] = true,
[49] = false,
[50] = false,
[51] = false,
[52] = false,
[53] = false,
[54] = false,
[55] = false,
[56] = false,
[57] = false,
[58] = false,
[59] = false,
[60] = false,
[61] = false,
[62] = false,
[63] = false,
[64] = false,
[65] = false,
[66] = false,
[67] = false,
[68] = false,
[69] = false,
[70] = false,
[71] = false,
[72] = false,
[73] = false,
[74] = false,
[75] = false,
[76] = false,
[77] = false,
[78] = false,
[79] = false,
[80] = false,
[81] = false,
[82] = false,
[83] = false,
[84] = false,
[85] = false,
[86] = false,
[87] = false,
[88] = false,
[89] = false,
}
WeakAuras.ScanEvents("QUEST_TURNED_IN")

View File

@@ -0,0 +1,56 @@
--make auto attack speed predictor thing please
--COMBAT_LOG_EVENT_UNFILTERED PLAYER_REGEN_DISABLED PLAYER_REGEN_ENABLED
function(allstates, e, ...)
if e == "COMBAT_LOG_EVENT_UNFILTERED" then
local time = debugprofilestop()
local subevent = select(2, ...)
if subevent == "SWING_DAMAGE" or subevent == "SWING_MISSED" then
local source = select(4, ...)
local destination = select(9, ...)
if source == UnitGUID("target") and destination == UnitName("player") then
if #aura_env.swings == aura_env.lines * 2 then
for k,v in ipairs(aura_env.swings) do
if k > 1 then
aura_env.swings[k - 1] = v
end
end
table.remove(aura_env.swings, (aura_env.lines * 2))
table.insert(aura_env.swings, time)
else
table.insert(aura_env.swings, time)
end
local avgTime = 0
for k,v in ipairs(aura_env.swings) do
if k > 1 then
if avgTime == 0 then
avgTime = aura_env.swings[k] - aura_env.swings[k - 1]
else
avgTime = (avgTime + (aura_env.swings[k] - aura_env.swings[k - 1])) / 2
end
end
end
allstates[1] = {
show = true,
changed = true,
progressType = "timed",
avgTime = string.format("%.2f", avgTime / 1000),
expirationTime = GetTime() + (avgTime / 1000),
duration = avgTime / 1000,
}
print("return true", allstates[1].expirationTime, allstates[1].duration)
return true
end
end
elseif e == "PLAYER_REGEN_DISABLED" or e == "PLAYER_REGEN_ENABLED" then
aura_env.swings = {}
if allstates[1] then
allstates[1].show = false
allstates[1].changed = true
end
return true
end
end
--INIT
aura_env.swings = {}
aura_env.lines = 2

View File

@@ -0,0 +1,698 @@
--LOOT_READY 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)
local aura_env = aura_env
if e == "LOOT_READY" then --Auto Loot
local slot = 1
local lootinfo = GetLootInfo()
for k, v in pairs(lootinfo) do
if v.locked == false then
local link = GetLootSlotLink(slot)
local looted = false
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
LootSlot(slot)
if aura_env.debug == true then
print("loot 1 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[2] == true and link:match("Azerite") then
LootSlot(slot)
if aura_env.debug == true then
print("loot 2 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[3] == true and v.item:match("War Resources") then
LootSlot(slot)
if aura_env.debug == true then
print("loot 3 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[4] == true and v.item:match("Residuum") then
LootSlot(slot)
if aura_env.debug == true then
print("loot 4 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[5] == true and v.item:match("Manapearl") then
LootSlot(slot)
if aura_env.debug == true then
print("loot 5 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
end
if link then
local icon = v.texture
local id = link:match("item:(%d+):")
if not WeakAurasSaved.CustomTrash.IconDatabase[v.item] and v.item and icon then
WeakAurasSaved.CustomTrash.IconDatabase[v.item] = icon
print("Adding ", v.item, " to the icon database")
end
if not WeakAurasSaved.CustomTrash.IDDatabase[v.item] and v.item and id then
WeakAurasSaved.CustomTrash.IDDatabase[v.item] = id
print("Adding ", v.item, " to the id database")
end
local type = select(6, GetItemInfo(link)) or ""
local subtype = select(7, GetItemInfo(link)) or ""
local ilvl = select(4, GetItemInfo(link)) or 0
local equip = select(9, GetItemInfo(link))
if aura_env.filter[6] == true and (select(7, GetItemInfo(link)) or 0) == "Mount" then
LootSlot(slot)
if aura_env.debug == true then
print("loot 6 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[7] == true and ilvl > aura_env.ilvlFilter then
LootSlot(slot)
if aura_env.debug == true then
print("loot 7 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[8] == true and (select(7, GetItemInfo(link)) or 0) == "Herb" then
LootSlot(slot)
if aura_env.debug == true then
print("loot 8 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[9] == true and (select(7, GetItemInfo(link)) or 0) == "Cooking" then
LootSlot(slot)
if aura_env.debug == true then
print("loot 9 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[10] == true and (select(7, GetItemInfo(link)) or 0) == "Cloth" and type == "Tradeskill" then
LootSlot(slot)
if aura_env.debug == true then
print("loot 10 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[11] == true and (select(7, GetItemInfo(link)) or 0) == "Metal & Stone" then
LootSlot(slot)
if aura_env.debug == true then
print("loot 11 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[12] == true and (select(11, GetItemInfo(link)) or 0) > aura_env.goldFilter and v.quality == 0 then
LootSlot(slot)
if aura_env.debug == true then
print("loot 12 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[13] == true and v.quality > 1 and v.quality < 4 and type ~= "Weapon" and type ~= "Armor" then
LootSlot(slot)
if aura_env.debug == true then
print("loot 13 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[14] == true and v.isQuestItem == true then
LootSlot(slot)
if aura_env.debug == true then
print("loot 14 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[15] == true and v.quality == 0 then
LootSlot(slot)
if aura_env.debug == true then
print("loot 15 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[16] == true and aura_env.whitelist[v.item] then
LootSlot(slot)
if aura_env.debug == true then
print("loot 16 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[17] == true and type == "Quest" and subtype == "Quest" then
LootSlot(slot)
if aura_env.debug == true then
print("loot 17 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
elseif aura_env.filter[21] == true and type == "Consumable" and subtype == "Other" then
LootSlot(slot)
if aura_env.debug == true then
print("loot 21 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
else
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
LootSlot(slot)
if aura_env.debug == true then
print("loot 18 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
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)
if aura_env.debug == true then
print("loot 19 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
end
elseif aura_env.filter[20] == true and type == "Miscellaneous" then
if subtype == "Mount" then
LootSlot(slot)
if aura_env.debug == true then
print("loot 20 ", v.item, type, subtype)
end
if link then
WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity)
end
end
end
end
end
slot = slot + 1
end
end
CloseLoot()
elseif e == "EQUIP_BIND_CONFIRM" then
StaticPopup1Button1:Click()
elseif e == "SCRAPPING_MACHINE_SHOW" then
for i = 0, 4 do
for j = 1, GetContainerNumSlots(i) do
local link = select(7, GetContainerItemInfo(i, j))
if link then
local name = GetItemInfo(link)
local rarity = select(3, GetItemInfo(link))
local ilvl = select(4, GetItemInfo(link)) or 0
local type = select(6, GetItemInfo(link))
local equip = select(9, GetItemInfo(link)) or ""
local price = select(11, GetItemInfo(link))
if aura_env.sellWhitelist[name] ~= 1 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
UseContainerItem(i, j)
elseif rarity > 3 and aura_env.getequipID(equip) then
if equip ~= "INVTYPE_FINGER" then
local eqID = aura_env.getequipID(equip)
local elink = GetInventoryItemLink("player", eqID)
local eilvl = select(4, GetItemInfo(elink)) or 0
if eilvl > ilvl + 5 then
print("Scrapping " .. link .. "over " .. eilvl - ilvl .. " ilvl difference from " .. elink)
UseContainerItem(i, j)
end
elseif equip == "INVTYPE_FINGER" then
local eqID1, eqID2 = 11, 12
local elink1, elink2 = GetInventoryItemLink("player", eqID1), GetInventoryItemLink("player", eqID2)
local eilvl1, eilvl2 = select(4, GetItemInfo(elink1)) or 0, select(4, GetItemInfo(elink2)) or 0
if eilvl1 > ilvl + 5 then
print("Scrapping " .. link .. " over " .. eilvl1 - ilvl .. " ilvl difference from " .. elink1)
UseContainerItem(i, j)
elseif eilvl2 > ilvl + 5 then
print("Scrapping " .. link .. " over " .. eilvl2 - ilvl .. " ilvl difference from " .. elink2)
UseContainerItem(i, j)
end
end
end
end
end
end
end
end
elseif e == "MERCHANT_SHOW" then --Sell grey and white wepaon
if CanMerchantRepair() == true then RepairAllItems() end
local i, j = 0, 1
for c = 0, 4 do
for s = 1, GetContainerNumSlots(c) do
local link = select(7, GetContainerItemInfo(c, s))
if link then
local name = GetItemInfo(link)
local rarity = select(3, GetItemInfo(link))
local ilvl = select(4, GetItemInfo(link)) or 0
local type = select(6, GetItemInfo(link))
local price = select(11, GetItemInfo(link))
if price and price > 0 then
if aura_env.sellWhitelist[name] ~= 1 then
if rarity == 0 then
aura_env.toSell[#aura_env.toSell + 1] = {["c"] = c, ["s"] = s}
elseif (type == "Armor" or type == "Weapon") and ilvl < 350 then
aura_env.toSell[#aura_env.toSell + 1] = {["c"] = c, ["s"] = s}
end
end
end
end
end
end
aura_env.ticker = C_Timer.NewTicker(0.15, function()
if aura_env.toSell[1] then
UseContainerItem(aura_env.toSell[1].c, aura_env.toSell[1].s)
table.remove(aura_env.toSell, 1)
else
aura_env.ticker:Cancel()
end
if j >= GetContainerNumSlots(i) then i = i + 1
j = 1 end
if i >= 4 then aura_env.ticker:Cancel() end
end)
elseif e == "MERCHANT_CLOSED" then
if aura_env.ticker then aura_env.ticker:Cancel() end
aura_env.toSell = {}
elseif e == "QUEST_POI_UPDATE" then
CloseGossip()
elseif e == "QUEST_DETAIL" then
AcceptQuest()
elseif e == "QUEST_COMPLETE" then
if GetNumQuestChoices() <= 1 then
GetQuestReward(1)
end
elseif e == "GOSSIP_SHOW" then
local quests = GetNumGossipAvailableQuests()
local complquests = GetNumGossipActiveQuests()
local opt = GetNumGossipOptions()
if complquests > 0 and opt == 0 then
for i = 1, complquests do
SelectGossipActiveQuest(i)
end
end
if quests > 0 and opt == 0 then
SelectGossipAvailableQuest(1)
end
if opt == 1 and quests + complquests == 0 then
SelectGossipOption(1)
end
elseif e == "QUEST_GREETING" then
local quests = GetNumGossipAvailableQuests()
local complquests = GetNumGossipActiveQuests()
if complquests > 0 then
for i = 1, complquests do
SelectActiveQuest(1)
end
end
if quests > 0 then
SelectAvailableQuest(1)
end
elseif e == "QUEST_PROGRESS" then
if IsQuestCompletable(i) then
CompleteQuest()
end
end
end
--INIT
aura_env.debug = true
aura_env.filter = {
[1] = true, --Gold
[2] = true, --Azerite
[3] = true, --War resources
[4] = true, --Residuum
[5] = true, --Manapearls
[6] = true, --Mounts
[7] = true, --High ilvl
[8] = true, --Herbs
[9] = false, --Cooking
[10] = false, --Cloth
[11] = true, --Metal & Stone
[12] = true, --Gold filter greys
[13] = true, -- >1 && <4 quality items, no gear
[14] = true, --Quest items
[15] = false, --All greys
[16] = true, --Whitelist
[17] = true, --Quest items (different filter)
[18] = true, --Class aproperiate >2 items
[19] = true, --Jewelery >2 quality
[20] = true, --Additional mount filter
[21] = true, --Tradeskill // Elemental
}
aura_env.ilvlFilter = 940
aura_env.goldFilter = 500000
aura_env.whitelist = {
["Pygmy Suckerfish"] = 1,
["Drakkari Offerings"] = 1,
["Deepcoral Pod"] = 1,
["Hardened Spring"] = 1,
["Machined Gear Assembly"] = 1,
["Tempered Plating"] = 1,
["Hefty Glimmershell"] = 1,
["Fresh Meat"] = 1,
["Wood"] = 1,
["Blood of Sargeras"] = 1,
["Primal Sargerite"] = 1,
}
aura_env.sellWhitelist = {
["Blacksmith Hammer"] = 1,
["Endless Tincture of Renewed Combat"] = 1,
["Mr. Munchykins"] = 1,
["Arclight Spanner"] = 1,
["Runeblade of Baron Rivendare"] = 1,
}
aura_env.toSell = {}
aura_env.getequipID = function(equip)
if equip == "INVTYPE_HEAD" then return 1
elseif equip == "INVTYPE_NECK" then return 2
elseif equip == "INVTYPE_SHOULDER" then return 3
elseif equip == "INVTYPE_BODY" then return 4
elseif equip == "INVTYPE_CHEST" or equip == "INVTYPE_ROBE" then return 5
elseif equip == "INVTYPE_WAIST" then return 6
elseif equip == "INVTYPE_LEGS" then return 7
elseif equip == "INVTYPE_FEET" then return 8
elseif equip == "INVTYPE_WRIST" then return 9
elseif equip == "INVTYPE_HAND" then return 10
elseif equip == "INVTYPE_CLOAK" then return 15
elseif equip == "INVTYPE_WEAPON" or equip == "INVTYPE_WEAPONMAINHAND" or equip == "INVTYPE_2HWEAPON" then return 16
elseif equip == "INVTYPE_SHIELD" then return 17
else return nil end
end
aura_env.skills = {
--Warrior
[1] = {
--Armor Skills
["Cloth"] = 0,
["Leather"] = 0,
["Mail"] = 0,
["Plate"] = 1,
["Shields"] = 1,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 1,
["Bows"] = 1,
["Guns"] = 1,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 1,
["Polearms"] = 1,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 1,
["Warglaives"] = 1,
["Staves"] = 1,
["Fist Weapons"] = 1,
["Daggers"] = 1,
["Crossbows"] = 1,
["Wands"] = 0,
},
--Paladin
[2] = {
--Armor Skills
["Cloth"] = 0,
["Leather"] = 0,
["Mail"] = 0,
["Plate"] = 1,
["Shields"] = 1,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 1,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 1,
["Polearms"] = 1,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 1,
["Warglaives"] = 0,
["Staves"] = 0,
["Fist Weapons"] = 0,
["Daggers"] = 0,
["Crossbows"] = 0,
["Wands"] = 0,
},
--Hunter
[3] = {
--Armor Skills
["Cloth"] = 0,
["Leather"] = 0,
["Mail"] = 1,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 1,
["Bows"] = 1,
["Guns"] = 1,
["One-Handed Maces"] = 0,
["Two-Handed Maces"] = 0,
["Polearms"] = 1,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 1,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 1,
["Daggers"] = 1,
["Crossbows"] = 1,
["Wands"] = 0,
},
--Rogue
[4] = {
--Armor Skills
["Cloth"] = 0,
["Leather"] = 1,
["Mail"] = 0,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 0,
["Polearms"] = 0,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 0,
["Fist Weapons"] = 1,
["Daggers"] = 1,
["Crossbows"] = 0,
["Wands"] = 0,
},
--Priest
[5] = {
--Armor Skills
["Cloth"] = 1,
["Leather"] = 0,
["Mail"] = 0,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 0,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 0,
["Polearms"] = 0,
["One-Handed Swords"] = 0,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 0,
["Daggers"] = 1,
["Crossbows"] = 0,
["Wands"] = 1,
},
--Death Knight
[6] = {
--Armor Skills
["Cloth"] = 0,
["Leather"] = 0,
["Mail"] = 0,
["Plate"] = 1,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 1,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 1,
["Polearms"] = 1,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 1,
["Warglaives"] = 0,
["Staves"] = 0,
["Fist Weapons"] = 0,
["Daggers"] = 0,
["Crossbows"] = 0,
["Wands"] = 0,
},
--Shaman
[7] = {
--Armor Skills
["Cloth"] = 0,
["Leather"] = 0,
["Mail"] = 1,
["Plate"] = 0,
["Shields"] = 1,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 0,
["Polearms"] = 0,
["One-Handed Swords"] = 0,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 1,
["Daggers"] = 1,
["Crossbows"] = 0,
["Wands"] = 0,
},
--Mage
[8] = {
--Armor Skills
["Cloth"] = 1,
["Leather"] = 0,
["Mail"] = 0,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 0,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 0,
["Two-Handed Maces"] = 0,
["Polearms"] = 0,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 0,
["Daggers"] = 1,
["Crossbows"] = 0,
["Wands"] = 1,
},
--Warlock
[9] = {
--Armor Skills
["Cloth"] = 1,
["Leather"] = 0,
["Mail"] = 0,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 0,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 0,
["Two-Handed Maces"] = 0,
["Polearms"] = 0,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 0,
["Daggers"] = 1,
["Crossbows"] = 0,
["Wands"] = 1,
},
--Monk
[10] = {
--Armor Skills
["Cloth"] = 0,
["Leather"] = 1,
["Mail"] = 0,
["Plate"] = 1,
["Shields"] = 1,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 0,
["Polearms"] = 1,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 1,
["Daggers"] = 0,
["Crossbows"] = 0,
["Wands"] = 0,
},
--Druid
[11] = {
--Armor Skills
["Cloth"] = 0,
["Leather"] = 1,
["Mail"] = 0,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 0,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 0,
["Polearms"] = 1,
["One-Handed Swords"] = 0,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 1,
["Daggers"] = 1,
["Crossbows"] = 0,
["Wands"] = 0,
},
--Demon Hunter
[12] = {
--Armor Skills
["Cloth"] = 0,
["Leather"] = 1,
["Mail"] = 0,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 0,
["Two-Handed Maces"] = 0,
["Polearms"] = 0,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 0,
["Warglaives"] = 1,
["Staves"] = 0,
["Fist Weapons"] = 1,
["Daggers"] = 0,
["Crossbows"] = 0,
["Wands"] = 0,
},
}

View File

@@ -0,0 +1,40 @@
--DISPLAY
function()
return aura_env.output
end
--Try SPELL_RESSURECT -- RESSURECT event??
--UNIT_HEALTH
function()
local healthP = 0
local aliveMembers = GetNumGroupMembers()
if IsInRaid("player") == true then
for i = 1, GetNumGroupMembers() do
if UnitIsDeadOrGhost("raid" .. i) == false and UnitIsConnected("raid" .. i) == true then
healthP = healthP + math.floor(UnitHealth("raid" .. i) / UnitHealthMax("raid" .. i) * 10000) / 100
end
if UnitIsDeadOrGhost("raid" .. i) == true or UnitIsConnected("raid" .. i) == false then
aliveMembers = aliveMembers - 1
end
end
else
for i = 1, GetNumGroupMembers() - 1 do
if UnitIsDeadOrGhost("party" .. i) == false and UnitIsConnected("party" .. i) == true then
healthP = healthP + math.floor(UnitHealth("party" .. i) / UnitHealthMax("party" .. i) * 10000) / 100
end
if UnitIsDeadOrGhost("party" .. i) == true or UnitIsConnected("party" .. i) == false then
aliveMembers = aliveMembers - 1
end
end
if UnitIsDeadOrGhost("player") == false and UnitIsConnected("player") == true then
healthP = healthP + math.floor(UnitHealth("player") / UnitHealthMax("player") * 10000) / 100
end
if UnitIsDeadOrGhost("player") == true or UnitIsConnected("player") == false then
aliveMembers = aliveMembers - 1
end
end
aura_env.output = math.floor(healthP / aliveMembers * 100) / 100 .. "%%"
end
--INIT
aura_env.output = 0

View File

@@ -0,0 +1,25 @@
-- DISPLAY
function aa()
if UnitDebuff("focus", "Paralytic Poison") then -- application for stun
local stacks = select(4, UnitDebuff("focus", "Paralytic Poison"))
return stacks
end
if UnitDebuff("focus", "Partial Paralysis") then return "ROOT'D" end
if UnitDebuff("focus", "Paralysis") then return "PLS HELP" end
end
-- TRIGGER
function bb()
if UnitDebuff("focus", "Paralytic Poison") or
UnitDebuff("focus", "Partial Paralysis") or
UnitDebuff("focus", "Paralysis") then -- application for stun
return true
end
end
-- UNTRIGGER
function cc()
if UnitDebuff("focus", "Paralytic Poison") == nil and
UnitDebuff("focus", "Partial Paralysis") == nil and
UnitDebuff("focus", "Paralysis") == nil then -- application for stun
return true
end
end

View File

@@ -0,0 +1,17 @@
LOOT_OPENED
function()
aura_env.lootTime = math.floor(GetTime()) + 300
end
DISPLAY
function()
local currentTime = math.floor(GetTime())
if currentTime > aura_env.lootTime and aura_env.lootTime > 0 then
return "FISHING BOAT MOTHERFUCKERS"
else
return aura_env.lootTime - currentTime
end
end
INTI
aura_env.lootTime = 0

View File

@@ -0,0 +1,275 @@
--TODO: FIX THE FUCKING THING
--I had no idea what I was doing lol
TRIGGER FOR HP
function()
local bossList =
{
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
"Ymiron", "Harbaron", "Helya", --MoS
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
}
local output = ""
for i = 1, 40 do
for j = 1, table.getn(bossList) do
--if UnitName("nameplate" .. i) == bossList[j] then
if UnitExists("nameplate" .. i) then
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
return true
end
end
end
end
end
TRIGGER FOR POWER
function()
local bossList =
{
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
"Ymiron", "Harbaron", "Helya", --MoS
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
}
for i = 1, 40 do
for j = 1, table.getn(bossList) do
--if UnitName("nameplate" .. i) == bossList[j] then
if UnitExists("nameplate" .. i) then
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
if UnitPower("nameplate" .. i) > 0 then
return true
end
end
end
end
end
end
TRIGGER FOR CASTBAR
function()
local bossList =
{
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
"Ymiron", "Harbaron", "Helya", --MoS
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
}
local output = ""
for i = 1, 40 do
for j = 1, table.getn(bossList) do
if UnitExists("nameplate" .. i) then
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
if UnitCastingInfo("nameplate" .. i) then
return true
end
end
end
end
end
end
DISPLAY FOR HP
function()
local bossList =
{
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
"Ymiron", "Harbaron", "Helya", --MoS
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
}
local output = ""
for i = 1, 40 do
for j = 1, table.getn(bossList) do
--if UnitName("nameplate" .. i) == bossList[j] then
if UnitExists("nameplate" .. i) then
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
aura_env.bossHp = UnitHealth("nameplate" .. i)
aura_env.bossMaxHp = UnitHealthMax("nameplate" .. i)
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 .. "%%"
break
end
end
end
end
return output
end
DISPLAY FOR POWER
function()
local bossList =
{
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
"Ymiron", "Harbaron", "Helya", --MoS
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
}
local output = ""
for i = 1, 40 do
for j = 1, table.getn(bossList) do
--if UnitName("nameplate" .. i) == bossList[j] then
if UnitExists("nameplate" .. i) then
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
if UnitPower("nameplate" .. i) > 0 then
aura_env.bossPower = UnitPower("nameplate" .. i)
aura_env.bossPowerMax = UnitPowerMax("nameplate" .. i)
aura_env.bossPer = math.floor((aura_env.bossPower / aura_env.bossPowerMax) * 100)
output = aura_env.bossPower .. "%/" .. aura_env.bossPowerMax .. " " .. aura_env.bossPer .. "%%"
break
end
end
end
end
end
return output
end
DISPLAY FOR CASTBAR
function()
local bossList =
{
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
"Ymiron", "Harbaron", "Helya", --MoS
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
}
local output = ""
for i = 1, 40 do
for j = 1, table.getn(bossList) do
if UnitExists("nameplate" .. i) then
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
if UnitCastingInfo("nameplate" .. i) then
aura_env.bossCast = UnitCastingInfo("nameplate" .. i)
aura_env.castEnd = select(6, 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
break
end
end
end
end
end
return output
end
DURATION FOR HP
function()
return aura_env.bossHp, aura_env.bossMaxHp, 1
end
DURATION FOR POWER
function()
return aura_env.bossPower, aura_env.bossPowerMax, 1
end
DURATION FOR CASTBAR
function()
return aura_env.castEnd - GetTime() * 1000, aura_env.castEnd - aura_env.castStart, 1
end
DISPLAY FOR NAME
function()
local bossList =
{
"Skorpyron", "Anomaly", "Trilliax", "Tichon", "Krosus", "Aluriel", "Botanist", "Augur", "Elisande", "Gul'dan", --Nighthold
"Amalgam of souls", "Illysanna", "Smashspite", "Kur'talos", --BRH
"Gerdo", "Flamewreath", "Advisor Melandrus", --CoS
"Glaidalis", "Oakheart", "Dresaron", "of Xavius", --DHT
"Parjesh", "Lady Hatecoil", "Deepbeard", "Serpentrix", "Wrath of Azshara", --EoA
"Hymdall", "Hyrja", "Fenryr", "Skovald", "Odyn", --HoV
"Ymiron", "Harbaron", "Helya", --MoS
"Rokmora", "Ularogg", "Naraxas", "Dargrul", --NL
"Ivanyr", "Corstilax", "Xakal", "Nal'tira", "Vandros", --Arcway
"Saltheril", "Inquisitor Tormen", "Ash'golm", "Glazer", "Cordana Fel" --VoTW
}
local output = ""
for i = 1, 40 do
for j = 1, table.getn(bossList) do
--if UnitName("nameplate" .. i) == bossList[j] then
if UnitExists("nameplate" .. i) then
if string.match(string.lower(UnitName("nameplate" .. i)), string.lower(bossList[j])) then
output = UnitName("nameplate" .. i)
break
end
end
end
end
return output
end
ANIMATION FOR HP
function()
local function range (val, min, max, max2)
val = 1 - (((max - val) / (max - min)) * max2)
return val
end
local c = aura_env.bossHp / aura_env.bossMaxHp
c = 1 - c
--c expected as [0, 1]
if c > 0.5 then
c = 1 - (2 * (c - 0.5))
return c, 1, 0, 1
else
c = c * 2
return 1, c, 0, 1
end
end
INIT FOR HP
aura_env.bossHp = 1
aura_env.bossMaxHp = 1
aura_env.bossPer = 1
INIT FOR POWER
aura_env.bossPower = 1
aura_env.bossPowerMax = 1
aura_env.bossPer = 1
INIT FOR CASTBAR
aura_env.castEnd = 0
aura_env.castStart = 0
aura_env.bossCast = ""

View File

@@ -0,0 +1,67 @@
--GET MAX SHIELD ABSORB AND BAR FOR ABSORB
TRIGGER
function()
local buff = UnitBuff("player", "Bulwark of Order") or ""
if buff ~= "" then return true else return false end
end
DURATION
function()
local shieldAmount = select(17, UnitBuff("player", "Bulwark of Order"))
if shieldAmount > aura_env.maxShield then
aura_env.maxShield = shieldAmount
end
return shieldAmount, aura_env.maxShield, 1
end
DISPLAY
function()
local shield = select(17, UnitBuff("player", "Bulwark of Order")) or 0
return math.floor(shield / 1000) .. "k"
end
ANIMATION
function()
local function range(val, min, max, max2)
local val = 1 - (((max - val) / (max - min)) * max2)
return val
end
local endTime = select(7, UnitBuff("player", "Bulwark of Order")) * 1000
local time = GetTime() * 1000
local maxDur = select(6, UnitBuff("player", "Bulwark of Order")) * 1000
local duration = endTime - time
local c = range(duration, 0, maxDur, 1)
--c expected as [0, 1]
if c > 0.5 then
c = 1 - (2 * (c - 0.5))
return c, 1, 0, 1
else
c = c * 2
return 1, c, 0, 1
end
end
ON SHOW
aura_env.maxShield = 0
TRIGGER
function()
local buff = UnitBuff("player", "Bulwark of Order") or ""
if buff ~= "" then return true else return false end
end
DURATION
function()
local shieldAmount = select(17, UnitBuff("player", "Bulwark of Order"))
local maxShield = UnitHealth("player") / 5
return shieldAmount, maxShield, 1
end
DISPLAY
function()
local shield = select(17, UnitBuff("player", "Bulwark of Order")) or 0
local maxShield = UnitHealth("player") / 5
local pp = (shield / maxShield) * 20
return string.format("%2.1f", pp)
end

View File

@@ -0,0 +1,40 @@
PLAYER_ENTERING_WORLD
function()
if aura_env.enabled == 1 then
local r = WeakAuras.regions['julijabutton0'].region
local b = CreateFrame("Button", "JulijaButton", r, "SecureActionButtonTemplate")
if aura_env.type:match("spell") then
b:SetAllPoints()
b:SetAttribute("unit", aura_env.target)
b:SetAttribute("spell", aura_env.name)
b:SetAttribute("type", "spell")
end
if aura_env.type:match("macro") then
b:SetAllPoints()
b:SetAttribute("macro", aura_env.name)
b:SetAttribute("type", "macro")
end
return true
else
return false
end
end
INIT
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.type = "spell" --"spell" or "macro" CASE SENSITIVE
aura_env.name = "Hand of the Protector" --Spell or Macro name CASE SENSITIVE
if aura_env.enabled == 1 then
if not aura_env.type:match("spell") and not aura_env.type:match("macro") then
print("|cFFFF0000Error 'type' on julijabutton0")
aura_env.enabled = 0
end
if aura_env.name == "" then
print("|cFFFF0000Error 'name' on julijabutton0")
end
if aura_env.target == "" and not aura_env.type:match("macro") then
print("|cFFFF0000Error 'target' on julijabutton0")
end
end

View File

@@ -0,0 +1,32 @@
--GLOBAL_TICKER GET_LEVEL
function(e, ...)
if e == "GET_LEVEL" then
local name = ...
if not aura_env.scanList[name] then
aura_env.scanList[name] = GetTime()
end
end
for k, v in pairs(aura_env.scanList) do
if GetTime() - v > 30 then
aura_env.scanList[k] = nil
end
end
for i = 1, 40 do
local u = "nameplate" .. i
if UnitExists(u) then
local uname, level = UnitName(u), UnitLevel(u)
if aura_env.scanList[uname] then
WeakAurasSaved.CustomTrash.CachedLevels[uname] = level
aura_env.scanList[uname] = nil
end
else
break
end
end
end
--INIT
if not WeakAurasSaved.CustomTrash.CachedLevels then WeakAurasSaved.CustomTrash.CachedLevels = {} end
aura_env.scanList = {}

View File

@@ -0,0 +1,33 @@
--DISPLAY
function()
time = GetTime() - starttime
local mastery_ppm = celestial_map_mastery / (time / 60)
local haste_ppm = celestial_map_haste / (time / 60)
local crit_ppm = celestial_map_crit / (time / 60)
local map_ppm = celestial_map_procs / (time / 60)
local mastery_ppm = math.floor(mastery_ppm * 100) / 100
local haste_ppm = math.floor(haste_ppm * 100) / 100
local crit_ppm = math.floor(crit_ppm * 100) / 100
local map_ppm = math.floor(map_ppm * 100) / 100
return celestial_map_mastery .. " " .. mastery_ppm .. " mastery" .. "\n" .. celestial_map_haste .. " " .. haste_ppm .. " haste" .. "\n" .. celestial_map_crit .. " " .. crit_ppm .. " crit" .. "\n" .. celestial_map_procs .. " " .. map_ppm .. " total"
end
--COMBAT_LOG_EVENT_UNFILTERED
function(_, _, subEvent, _, _, sourceName, _, _, _, _, _, _, ...)
if subEvent == "SPELL_AURA_APPLIED" and sourceName == UnitName("player") then
local spellId = select(1, ...)
if spellId == 225752 then
celestial_map_mastery = celestial_map_mastery + 1
end
if spellId == 225753 then
celestial_map_haste = celestial_map_haste + 1
end
if spellId == 225749 then
celestial_map_crit = celestial_map_crit + 1
end
if spellId == 225752 or spellId == 225753 or spellId == 225749 then
celestial_map_procs = celestial_map_procs + 1
end
end
end

View File

@@ -0,0 +1,44 @@
--CHAT_MSG_SAY CHAT_MSG_PARTY CHAT_MSG_RAID CHAT_MSG_PARTY_LEADER CHAT_MSG_RAID_LEADER CHAT_MSG_RAID_WARNING
function(...)
aura_env.msgCount = aura_env.msgCount + 1
n = select(7, GetChatWindowInfo(3))
if n == true then
aura_env.msgCount = 0
aura_env.region:Hide()
end
if aura_env.msgCount > 0 and aura_env.msgCount < 10 then
aura_env.text:SetText("\124cffffffff" .. aura_env.msgCount)
if aura_env.region:IsShown() == false then
aura_env.region:Show()
end
PlaySoundFile("Interface\\AddOns\\WeakAuras\\PowerAurasMedia\\Sounds\\huh_1.ogg", "Master")
return "\124cFFFFFFFF" .. aura_env.msgCount
elseif aura_env.msgCount >= 10 then
aura_env.text:SetText("\124cffff8100" .. aura_env.msgCount)
if aura_env.region:IsShown() == false then
aura_env.region:Show()
end
PlaySoundFile("Interface\\AddOns\\WeakAuras\\PowerAurasMedia\\Sounds\\huh_1.ogg", "Master")
return "\124cFFFF0000" .. aura_env.msgCount
end
end
--GLOBAL_TICKER
function()
n = select(7, GetChatWindowInfo(3))
if n == true then
if aura_env.region:IsShown() == true then
aura_env.region:Hide()
end
aura_env.msgCount = 0
end
end
--INIT
aura_env.msgCount = 0
aura_env.text = aura_env.region:CreateFontString(nil, "ARTWORK")
aura_env.text:SetPoint("CENTER", aura_env.region, "CENTER")
aura_env.text:SetFont("Interface\\AddOns\\WeakAuras\\Media\\Fonts\\FiraMono-Medium.ttf", 16, "OUTLINE")
aura_env.text:SetText(aura_env.msgCount)
aura_env.text:Show()
aura_env.region:Hide()

View File

@@ -0,0 +1,48 @@
--CHAT_MSG_SAY, CHAT_MSG_PARTY, CHAT_MSG_PARTY_LEADER, CHAT_MSG_RAID, CHAT_MSG_RAID_LEADER, CHAT_MSG_WHISPER, CHAT_MSG_WHISPER_INFORM
function(event,msg,sender)
local isAnna = 0
local date = date()
local localtime = date:match("%d%d%/%d%d%/%d%d%s(%d%d%p%d%d%p%d%d)")
local sender = sender:match("%a+")
local year = date:match("%d%d%/%d%d/(%d%d)") + 2000 --01/07/(19) 14:36:42
local month = date:match("(%d%d)") --(01)/07/19 14:36:42
local day = date:match("%d%d%/(%d%d)") --01/(07)/19 14:36:42
--Remove first place zeros
if day:find("0") == 1 then
day = day:gsub("0", "")
end
if month:find("0") == 1 then
month = month:gsub("0", "")
end
local localdate = day .. "." .. month .. "." .. year
if IsInGroup() and GetNumGroupMembers() == 2 and (UnitName("party1") == "Alurielle" or UnitName("party1") == "Eilishie") and event ~= "CHAT_MSG_WHISPER" and event ~= "CHAT_MSG_WHISPER_INFORM" then --If in group/raid with Anna
isAnna = 1
else
for i = 1, 40 do
if UnitExists("nameplate" .. i) and (UnitName("nameplate" .. i) == "Alurielle" or UnitName("nameplate" .. i) == "Eilishie") then --If not in group but near Anna --TODO: only save playername and Alurielle /s
if sender == "Alurielle" or sender == "Eilishie" or sender == UnitName("player") then
isAnna = 1
end
end
end
end
if event == "CHAT_MSG_WHISPER" then --If whisper from Anna
if sender == "Alurielle" or sender == "Eilishie" then
isAnna = 1
end
end
if event == "CHAT_MSG_WHISPER_INFORM" then --If whispering Anna
if sender == "Alurielle" or sender == "Eilishie" then --Actually whisper target
local output = "[" .. localdate .. "][" .. localtime .. "]" .. "[" .. UnitName("player") .. "]: " .. msg
AnnaBoo[#AnnaBoo + 1] = output
end
end
if isAnna == 1 then
local output = "[" .. localdate .. "][" .. localtime .. "]" .. "[" .. sender .. "]: " .. msg
AnnaBoo[#AnnaBoo + 1] = output
end
end

View File

@@ -0,0 +1,135 @@
--[[
UI ChatFrame:AddChannel(chatFrame, "channelName") - Activate channel in chatFrame.
UI ChatFrame:AddMessageEventFilter("event", filterFunc) - Add a chat message filtering function (added 2.4)
UI ChatFrame:GetMessageEventFilters("event") - Retreive the list of chat message filtering functions. (added 2.4)
UI ChatFrame:OnHyperlinkShow(reference, link, button) - called when the user clicks on a chatlink.
UI ChatFrame:RemoveMessageEventFilter("event", filterFunc) - Unregister a chat message filtering function (added 2.4)
]]
--[[
/run ChatFilter.Words[#ChatFilter.Words + 1] = "roar"
/dump ChatFilter.Words
/dump ChatFilter.RemovedLines
/fr
/fa
/fu
--]]
print("POGGIES")
SLASH_FADD1 = "/fadd"
SLASH_FADD2 = "/fa"
SlashCmdList["FADD"] = add
SLASH_FREMOVE1 = "/fremove"
SLASH_FREMOVE2 = "/fr"
SlashCmdList["FREMOVE"] = cleanse
SLASH_FUPDATE1 = "/fupdate"
SLASH_FUPDATE2 = "/fu"
SlashCmdList["FUPDATE"] = function(msg)
cleanse()
add()
end
local chatEvents = {
"CHAT_MSG_SAY",
"CHAT_MSG_RAID",
"CHAT_MSG_YELL",
"CHAT_MSG_PARTY",
"CHAT_MSG_GUILD",
"CHAT_MSG_WHISPER",
"CHAT_MSG_CHANNEL",
}
if not ChatFilter then ChatFilter = {} end
if not ChatFilter.People then ChatFilter.People = {} end
if not ChatFilter.Words then ChatFilter.Words = {} end
if not ChatFilter.RemovedLines then ChatFilter.RemovedLines = {} end
if not ChatFilter.RemovedCommon then ChatFilter.RemovedCommon = {} end
--Own filter
local function myChatFilter(self, e, msg, author, lang)
print(msg, author, lang)
local function getDate()
local date = date()
local year = date:match("%d%d%/%d%d/(%d%d)") + 2000 --01/07/(19) 14:36:42
local month = date:match("(%d%d)") --(01)/07/19 14:36:42
local day = date:match("%d%d%/(%d%d)") --01/(07)/19 14:36:42
--Remove first place zeros
if day:find("0") == 1 then
day = day:gsub("0", "")
end
if month:find("0") == 1 then
month = month:gsub("0", "")
end
local localdate = day .. "." .. month .. "." .. year
return localdate
end
local function getTime()
local date = date()
local localtime = date:match("%d%d%/%d%d%/%d%d%s(%d%d%p%d%d%p%d%d)")
return localtime
end
author = author:match("(.+)-")
--Remove Alliance
if lang == "Common" then
-- print("Caught one!")
ChatFilter.RemovedCommon[#ChatFilter.RemovedCommon + 1] = format("\[%s\]\[%s\]%s: %s", getDate(), getTime(), author, msg)
return true
end
--Remove People
for k, v in pairs(ChatFilter.People) do
if author == v then
if e == "CHAT_MSG_WHISPER" and author ~= UnitName("player") then
SendChatMessage(format("Your message \"%s\" has been filtered out because I hate fun", msg), "WHISPER", nil, author)
end
ChatFilter.RemovedLines[#ChatFilter.RemovedLines + 1] = format("\[%s\]\[%s\]%s: %s", getDate(), getTime(), author, msg)
-- print("Caught one!")
return true
end
end
--Remove Words
for k, v in pairs(ChatFilter.Words) do
if msg:match(v) then
if e == "CHAT_MSG_WHISPER" and author ~= UnitName("player") then
SendChatMessage(format("Your message \"%s\" has been filtered out because I hate fun", msg), "WHISPER", nil, author)
end
ChatFilter.RemovedLines[#ChatFilter.RemovedLines + 1] = format("\[%s\]\[%s\]%s: %s", getDate(), getTime(), author, msg)
-- print("Caught one!")
return true
end
end
end
--Remove all filters
local function cleanse()
for k, v in pairs(chatEvents) do
if ChatFrame_GetMessageEventFilters(v) then
print(v, unpack(ChatFrame_GetMessageEventFilters(v)))
for k2, v2 in pairs(ChatFrame_GetMessageEventFilters(v)) do
ChatFrame_RemoveMessageEventFilter(v, v2)
end
end
print("Done?")
if ChatFrame_GetMessageEventFilters(v) then
print(unpack(ChatFrame_GetMessageEventFilters(v)))
end
print("Got it.")
end
end
--Add filter
local function add()
for k, v in pairs(chatEvents) do
print("Adding filter to", v)
ChatFrame_AddMessageEventFilter(v, myChatFilter)
end
end

View File

@@ -0,0 +1,95 @@
--Add level brackets
--Add classification brackets
--[[
/dump WeakAurasSaved.CustomTrash.MeleeMiss
/dump WeakAurasSaved.CustomTrash.CachedLevels
]]
--COMBAT_LOG_EVENT_UNFILTERED PLAYER_FOUND
function(e, ...)
if e == "COMBAT_LOG_EVENT_UNFILTERED" then
local se = select(2, ...)
if se == "SPELL_CAST_SUCCESS" or se == "SWING_DAMAGE" or se == "SWING_MISSED" then
local guid = select(4, ...)
local caster = select(5, ...)
local targetGUID = select(8, ...)
local targetName = select(9, ...)
if guid:match("Player") and targetGUID:match("Creature") then
if not WeakAurasSaved.CustomTrash.CachedLevels[targetName] then
WeakAuras.ScanEvents("GET_LEVEL", targetName)
return
else
if not WeakAurasSaved.CustomTrash.MeleeMiss[guid] then
WeakAurasSaved.CustomTrash.MeleeMiss[guid] = {}
WeakAurasSaved.CustomTrash.MeleeMiss[guid].guid = guid
WeakAurasSaved.CustomTrash.MeleeMiss[guid].name = caster
if not WeakAurasSaved.CustomTrash.MeleeMiss[guid][WeakAurasSaved.CustomTrash.CachedLevels[targetName]] then WeakAurasSaved.CustomTrash.MeleeMiss[guid][WeakAurasSaved.CustomTrash.CachedLevels[targetName]] = {} end
WeakAurasSaved.CustomTrash.MeleeMiss[guid][WeakAurasSaved.CustomTrash.CachedLevels[targetName]].hits = 0
WeakAurasSaved.CustomTrash.MeleeMiss[guid][WeakAurasSaved.CustomTrash.CachedLevels[targetName]].miss = 0
WeakAuras.ScanEvents("ADD_PLAYER", guid)
end
end
if WeakAurasSaved.CustomTrash.CachedLevels[targetName] and WeakAurasSaved.CustomTrash.MeleeMiss[guid][WeakAurasSaved.CustomTrash.CachedLevels[targetName]] then
if se == "SWING_DAMAGE" then
--Massive clusterfuck; table > playerGUID > guid, name, level bracket > hits, misses
WeakAurasSaved.CustomTrash.MeleeMiss[guid][WeakAurasSaved.CustomTrash.CachedLevels[targetName]].hits = WeakAurasSaved.CustomTrash.MeleeMiss[guid][WeakAurasSaved.CustomTrash.CachedLevels[targetName]].hits + 1
elseif se == "SWING_MISSED" then
WeakAurasSaved.CustomTrash.MeleeMiss[guid][WeakAurasSaved.CustomTrash.CachedLevels[targetName]].miss = WeakAurasSaved.CustomTrash.MeleeMiss[guid][WeakAurasSaved.CustomTrash.CachedLevels[targetName]].miss + 1
end
else
if WeakAurasSaved.CustomTrash.CachedLevels[targetName] then
WeakAurasSaved.CustomTrash.MeleeMiss[guid][WeakAurasSaved.CustomTrash.CachedLevels[targetName]] = {["hits"] = 0, ["miss"] = 0}
else
WeakAuras.ScanEvents("GET_LEVEL", targetName)
end
end
return true
end
end
elseif e == "PLAYER_FOUND" then
local guid, class, spec = ...
if WeakAurasSaved.CustomTrash.MeleeMiss[guid] then
WeakAurasSaved.CustomTrash.MeleeMiss[guid].class = class
WeakAurasSaved.CustomTrash.MeleeMiss[guid].spec = spec
end
end
end
--INIT
if not WeakAurasSaved.CustomTrash.MeleeMiss then WeakAurasSaved.CustomTrash.MeleeMiss = {} end
aura_env.classColor = function(class)
if class == 6 then return "\124cFFC41F3B" elseif
class == 12 then return "\124cFFA330C9" elseif
class == 11 then return "\124cFFFF7D0A" elseif
class == 3 then return "\124cFFABD473" elseif
class == 8 then return "\124cFF40C7EB" elseif
class == 10 then return "\124cFF00FF96" elseif
class == 2 then return "\124cFFF58CBA" elseif
class == 5 then return "\124cFFFFFFFF" elseif
class == 4 then return "\124cFFFFF569" elseif
class == 7 then return "\124cFF0070DE" elseif
class == 9 then return "\124cFF8787ED" elseif
class == 1 then return "\124cFFC79C6E" else
return "\124cFF000000" end
end
--DISPLAY
function()
local output = ""
for k, v in pairs(WeakAurasSaved.CustomTrash.MeleeMiss) do
if v.class then
output = output .. format("%s%s (%s) ", aura_env.classColor(v.class), v.name, v.spec)
for i = 110, 115 do
if v[i] and v[i].hits > 0 then
v[i].ratio = v[i].miss / v[i].hits
output = output .. format("[%d] %d / %d (%4.2f%%)", i, v[i].miss, v[i].hits, v[i].ratio * 100) .. "\n"
end
end
if v[-1] and v[-1].hits > 0 then
v[-1].ratio = v[-1].miss / v[-1].hits
output = output .. format("[%d] %d / %d (%4.2f%%)", i, v[-1].miss, v[-1].hits, v[-1].ratio * 100) .. "\n"
end
output = output .. "\n"
end
end
return output
end

View File

@@ -0,0 +1,105 @@
--[[
Maybe improve later
Can use names from
https://wow.gamepedia.com/Specialization > spec
Can find link from scanning spellbook
Can find ID from link >> |Hspell:186265:0[Aspect of the Turtle]
Store ID and spec to table
/run WeakAuras.ScanEvents("ADD_PLAYER", UnitGUID("target"))
WeakAuras.ScanEvents("PLAYER_FOUND", caster, aura_env.trackList[caster].class, aura_env.trackList[caster].spec)
]]
--ADD_PLAYER COMBAT_LOG_EVENT_UNFILTERED
function(e, ...)
if e == "ADD_PLAYER" then
local guid = ...
if not aura_env.trackList[guid] then
aura_env.trackList[guid] = true
end
elseif e == "COMBAT_LOG_EVENT_UNFILTERED" then
local se = select(2, ...)
local guid = select(4, ...)
if se == "SPELL_CAST_SUCCESS" then
local sid = select(12, ...)
if aura_env.abilities[sid] and aura_env.trackList[guid] == true then
aura_env.trackList[guid] = {
["class"] = aura_env.classes[aura_env.abilities[sid]],
["spec"] = aura_env.abilities[sid],
}
WeakAuras.ScanEvents("PLAYER_FOUND", guid, aura_env.trackList[guid].class, aura_env.trackList[guid].spec)
aura_env.trackList[guid] = nil
--DevTools_Dump(aura_env.trackList)
end
end
end
end
--Works OK
--INIT
aura_env.trackList = {}
aura_env.abilities = {
--Warrior
[12294] = "Arms", --Mortal Strike
[209577] = "Arms", --Warbreaker A
[85288] = "Fury", --Raging Blow
[205545] = "Fury", --Odyn's Fury A
--Paladin
[35395] = "Retribution", --Crusader Strike
[217020] = "Retribution", --Zeal
[205273] = "Retribution", --Wake of Ashes A
--Rogue
[192759] = "Assasination", --Kingsbane A
[703] = "Assasination", --Garrote
[1329] = "Assasination", --Mutilate
[1943] = "Assasination", --Rupture
[32645] = "Assasination", --Envenom
[202665] = "Outlaw", --Curse of the Dreadblades A
[193315] = "Outlaw", --Saber Slash
[185763] = "Outlaw", --Pistol Shot
[2098] = "Outlaw", --Run Through
[199804] = "Outlaw", --Between the Eyes
[209782] = "Subelty", --Goremaws Bite A
[185313] = "Subelty", --Shadow Dance
[19452] = "Subelty", --Nightblade
[185438] = "Subelty", --Shadowstrike
[53] = "Subelty", --Backstab
--Death Knight
[85948] = "Unholy", --Festering Strike
[47541] = "Unholy", --Death Coil
[220143] = "Unholy", --Apocalypse A
[49143] = "Frost", --Frost Strike
[49148] = "Frost", --Howling Blast
[49020] = "Frost", --Obliterate
--Shaman
[193796] = "Enhancement", --Flametongue
[17364] = "Enhancement", --Stormstrike
[204945] = "Enhancement", --Doom Winds A
--Monk
[113656] = "Windwalker", --Fists of Fury
[205320] = "Windwalker", --Strike of the Windlord A
--Demon Hunter
}
aura_env.classes = {
["Fury"] = 1,
["Arms"] = 1,
["Retribution"] = 2,
["Assasination"] = 4,
["Subelty"] = 4,
["Outlaw"] = 4,
["Frost"] = 6,
["Unholy"] = 6,
["Enhancement"] = 7,
["Windwalker"] = 10,
["Havoc"] = 12,
}

View File

@@ -0,0 +1,9 @@
function()
local versa = GetCombatRatingBonus(CR_VERSATILITY_DAMAGE_DONE)
local rawversa = GetCombatRating(29)
local concversa = select(17, UnitBuff("player", "Concordance of the Legionfall")) or 0
local oldversa = rawversa - concversa
local versapp = versa / rawversa
local pergranted = concversa * versapp
return string.format("+%.2f", pergranted)
end

View File

@@ -0,0 +1,116 @@
--TSU
--COMBAT_LOG_EVENT_UNFILTERED GROUP_ROSTER_UPDATE COOLDOWN_TICKER
function(allstates, e, ...)
if not aura_env.ticker then
aura_env.ticker = C_Timer.NewTicker(0.05, function() WeakAuras.ScanEvents("COOLDOWN_TICKER") end)
end
if e == "COOLDOWN_TICKER" then
if allstates[1] then
if allstates[1].time + 2 < GetTime() then
allstates[1].show = false
allstates[1].changed = true
table.remove(allstates, 1)
WeakAuras.ScanEvents("COOLDOWN_TICKER")
return true
end
end
elseif e == "COMBAT_LOG_EVENT_UNFILTERED" then
local se = select(2, ...)
if se == "SPELL_CAST_SUCCESS" then
local caster = select(5, ...) or 0
if aura_env.raid[caster] then
local spell = select(13, ...)
if aura_env.spells[spell] then
allstates[#allstates + 1] = {
caster = caster,
spell = spell,
string = caster .. " - " .. spell,
class = aura_env.raid[caster],
time = GetTime(),
show = true,
changed = true,
}
return true
end
end
end
elseif e == "GROUP_ROSTER_UPDATE" then
local prefix = "party"
if IsInRaid() == true then
prefix = "raid"
end
aura_env.raid = {}
aura_env.raid[UnitName("player")] = select(3, UnitClass("player"))
for i = 1, GetNumGroupMembers() do
if UnitName(prefix .. i) and not aura_env.raid[UnitName(prefix .. i)] then
aura_env.raid[UnitName(prefix .. i)] = select(3, UnitClass(prefix .. i))
print("YEET", UnitName(prefix .. i), select(3, UnitClass(prefix .. i)))
end
end
end
--DevTools_Dump(aura_env.raid)
return true
end
--INIT
aura_env.raid = {}
aura_env.spells = {
["Divine Shield"] = true,
["Blessing of Spellwarding"] = true,
["Blessing of Protection"] = true,
["Blessing of Sacrifice"] = true,
["Avenging Wrath"] = true,
["Aura Mastery"] = true,
["Guardian Spirit"] = true,
["Divine Hymn"] = true,
["Raise Ally"] = true,
["Tranquility"] = true,
["Stampeding Roar"] = true,
["Rebirth"] = true,
["Ice Block"] = true,
["Deterrence"] = true,
["Survival Instincts"] = true,
["Anti-Magic Shell"] = true,
["Vampiric Blood"] = true,
["Revival"] = true,
["Life Cocoon"] = true,
["Diffuse Magic"] = true,
["Lay on Hands"] = true,
["Dispersion"] = true,
["Evasion"] = true,
["Cloak of Shadows"] = true,
["Bloodlust"] = true,
["Healing Tide Totem"] = true,
["Soulstone"] = true,
["Rallying Cry"] = true,
["Power Word: Barrier"] = true,
["Spirit Link Totem"] = true,
["Wind Rush Totem"] = true,
["Ancestral Guidance"] = true,
--["Hand of the Protector"] = true,
--["Healing Rain"] = true,
--["Shimmer"] = true,
--["Death and Decay"] = true,
}
--ANIMATION
function()
if aura_env.state then
local classColor = function(class)
if class == 1 then return 0.78, 0.61, 0.43, 1 elseif
class == 2 then return 0.96, 0.55, 0.73, 1 elseif
class == 3 then return 0.67, 0.83, 0.45, 1 elseif
class == 4 then return 1, 0.96, 0.41, 1 elseif
class == 5 then return 1, 1, 1, 1 elseif
class == 6 then return 0.77, 0.12, 0.23, 1 elseif
class == 7 then return 0, 0.44, 0.87, 1 elseif
class == 8 then return 0.25, 0.78, 0.92, 1 elseif
class == 9 then return 0.53, 0.53, 0.93, 1 elseif
class == 10 then return 0, 1, 0.59, 1 elseif
class == 11 then return 1, 0.49, 0.04, 1 elseif
class == 12 then return 0.64, 0.19, 0.79, 1 else
return 1, 1, 1, 1 end
end
return classColor(aura_env.state.class)
end
end

View File

@@ -0,0 +1,66 @@
--PLAYER_ENTERING_WORLD BAG_UPDATE
function()
if UnitName("player") == "Pinkiepiie" then
CustomTrash.herbs = {}
local herbs = {"Starlight Rose", "Fjarnskaggl", "Foxflower", "Dreamleaf", "Aethril"}
for k,v in ipairs(herbs) do
CustomTrash.herbs[v] = GetItemCount(v, 1) --k berb v am
end
end
if UnitName("player") == "Kenono" then
aura_env.output = ""
local twok = 0
local currentherbs = {}
for k,v in pairs(CustomTrash.herbs) do
currentherbs[k] = v
end
for k,v in pairs(CustomTrash.herbs) do
currentherbs[k] = v + GetItemCount(k, 1)
if v >= 2400 then twok = twok + 1 end
end
local function hexgrad(val, min, max)
if val >= 2400 then return "|cff0000ff" end
local function tohex(input)
local output = string.format("%x", input * 255)
return output
end
local function grad(c, min, max)
c = 1 - (((max - c) / (max - min)) * 1)
if c > 0.5 then
c = 1 - (2 * (c - 0.5))
return c, 1, 0, 1
else
c = c * 2
return 1, c, 0, 1
end
end
local color1, color2, color3, color4 = 0, 0, 0, 0
color1, color2, color3, color4 = grad(val, min, max)
color1, color2, color3, color4 = tohex(color1), tohex(color2), tohex(color3), tohex(color4)
color1, color2, color3, color4 = tostring(color1), tostring(color2), tostring(color3), tostring(color4)
if string.len(color1) == 1 then color1 = "0" .. color1 end
if string.len(color2) == 1 then color2 = "0" .. color2 end
if string.len(color3) == 1 then color3 = "0" .. color3 end
if string.len(color4) == 1 then color4 = "0" .. color4 end
local color = "|c" .. color4 .. color1 .. color2 .. color3
return color
end
for k,v in pairs(currentherbs) do
if twok < 5 then
aura_env.output = aura_env.output .. hexgrad(v, 0, 2400) .. k .. " " .. v .. " / 2400" .. "|r" .. "\n"
end
end
end
end
--DISPLAY
function()
if UnitName("player") == "Kenono" then
return aura_env.output
else
return ""
end
end
--INIT
aura_env.output = ""

View File

@@ -0,0 +1,44 @@
--PLAYER_ENTERING_WORLD
function()
aura_env.output = ""
local key =
{
["Name"] = "",
["Level"] = 0,
}
for i = 1, 4 do
for j = 1, GetContainerNumSlots(i) do
local name = GetContainerItemLink(i, j) or ""
if name:match("key") then
local parts = {strsplit(':', name)}
local level = tonumber(parts[3]);
local name = parts[7]:gsub("%]", "")
name = name:gsub("|h|r", "")
name = name:sub(2)
key.Name = name
key.Level = level
end
end
end
aura_env.output = key.Name .. " " .. key.Level
end
--CHAT_MSG_WHISPER
function(e, msg, sender)
local sender = sender:match("%a+")
msg = msg:lower()
if msg == "pls dai key" then
SendChatMessage(aura_env.output, "WHISPER", "Common", sender)
end
end
--CHAT_MSG_PARTY CHAT_MSG_PARTY_LEADER
function(e, msg)
msg = msg:lower()
if msg == "pls dai key" then
SendChatMessage(aura_env.output, "PARTY")
end
end
--INIT
aura_env.output = ""

View File

@@ -0,0 +1,79 @@
--PLAYER_ENTERING_WORLD
function()
local date = date()
local year = date:match("%d%d%/%d%d/(%d%d)") + 2000 --01/07/(19) 14:36:42
local month = date:match("(%d%d)") --(01)/07/19 14:36:42
local day = date:match("%d%d%/(%d%d)") --01/(07)/19 14:36:42
if day:find("0") == 1 then
day = day:gsub("0", "")
end
if month:find("0") == 1 then
month = month:gsub("0", "")
end
local class = UnitClass("player")
local localdate = day .. "." .. month .. "." .. year
WeakAurasSaved.globalCharacterRegistry[UnitName("player")] =
{
["Key"] = "",
["Level"] = 0,
["Date"] = localdate,
["Class"] = class,
}
for i = 1, 4 do
for j = 1, GetContainerNumSlots(i) do
local name = GetContainerItemLink(i, j) or ""
if name:match("key") then
local parts = {strsplit(':', name)}
local level = tonumber(parts[3]);
local name = parts[7]:gsub("%]", "")
name = name:sub(2)
WeakAurasSaved.globalCharacterRegistry[UnitName("player")].Key = name
WeakAurasSaved.globalCharacterRegistry[UnitName("player")].Level = level
end
end
end
end
--CHAT_MSG_WHISPER
function(e, msg, sender)
local sender = sender:match("%a+")
msg = msg:lower()
if msg == "dai key" and sender == UnitName("player") then
local output = ""
for k, v in pairs(WeakAurasSaved.globalCharacterRegistry) do
local name = k
output = output .. aura_env.classColor(v.Class) .. name .. "|r " .. v.Key .. " " .. v.Level .. " - " .. v.Date .. "\n"
end
aura_env.f1.text:SetText(output)
aura_env.f1:Show()
end
if msg == "ok" and sender == UnitName("player") then
aura_env.f1:Hide()
end
end
--INIT
aura_env.classColor = function(class)
if class == "Death Knight" then return "|cFFC41F3B" elseif
class == "Demon Hunter" then return "|cFFA330C9" elseif
class == "Druid" then return "|cFFFF7D0A" elseif
class == "Hunter" then return "|cFFABD473" elseif
class == "Mage" then return "|cFF40C7EB" elseif
class == "Monk" then return "|cFF00FF96" elseif
class == "Paladin" then return "|cFFF58CBA" elseif
class == "Priest" then return "|cFFFFFFFF" elseif
class == "Rogue" then return "|cFFFFF569" elseif
class == "Shaman" then return "|cFF0070DE" elseif
class == "Warlock" then return "|cFF8787ED" elseif
class == "Warrior" then return "|cFFC79C6E" else
return "|cFF000000" end
end
aura_env.f1 = CreateFrame("Frame", nil, UIParent)
aura_env.f1:SetWidth(100)
aura_env.f1:SetHeight(100)
aura_env.f1:SetPoint("CENTER", 0, 100)
aura_env.f1.text = aura_env.f1:CreateFontString(nil, "ARTWORK")
aura_env.f1.text:SetFont("Fonts\\ARIALN.ttf", 26, "OUTLINE")
aura_env.f1.text:SetPoint("CENTER", 0, 0)
aura_env.f1:Hide()
if not WeakAurasSaved.globalCharacterRegistry then WeakAurasSaved.globalCharacterRegistry = {} end

View File

@@ -0,0 +1,26 @@
--COMBAT_LOG_EVENT_UNFILTERED
function(e, ...)
local se = select(2, ...)
if se == "SPELL_AURA_APPLIED" or se == "SPELL_AURA_REFRESH" or se == "SPELL_AURA_APPLIED_DOSE" or se == "SPELL_AURA_REMOVED" or se == "SPELL_AURA_REMOVED_DOSE" then
local name = select(13, ...)
local caster = select(5, ...)
if caster == UnitName("player") and name == "Bone Shield" then
aura_env.stacks = 0
for i = 1, 40 do
local spellID = select(11, UnitBuff("player", i))
if spellID == 195181 then
aura_env.stacks = select(4, UnitBuff("player", i))
return true
end
end
end
end
end
--Duration
function()
return aura_env.stacks, 10, 1
end
--INIT
aura_env.stacks = 0

View File

@@ -0,0 +1,51 @@
COMBAT_LOG_EVENT_UNFILTERED
function(...)
local subEvent = select(3, ...) or ""
local caster = select(6, ...) or ""
local amount = select(16, ...) or 0
local spellName = select(14, ...) or ""
if subEvent == "SWING_DAMAGE" then
amount = select(13, ...) or 0
end
if subEvent == "SPELL_HEAL" or subEvent == "SPELL_PERIODIC_HEAL" then
overheal = select(17, ...) or 0
amount = amount - overheal
end
if caster == UnitName("player") and amount ~= nil and (subEvent == "SPELL_HEAL" or subEvent == "SPELL_PERIODIC_HEAL") then
aura_env.healtotal = aura_env.healtotal + amount
end
if caster == UnitName("player") and amount ~= nil and (subEvent == "SPELL_DAMAGE" or subEvent == "SPELL_PERIODIC_DAMAGE" or subEvent == "SWING_DAMAGE") then
aura_env.dmgtotal = aura_env.dmgtotal + amount
end
end
DISPLAY
function()
local output = ""
local elapsed_time = GetTime() - aura_env.starttime
aura_env.dps = math.floor(aura_env.dmgtotal / elapsed_time)
aura_env.hps = math.floor(aura_env.healtotal / elapsed_time)
if aura_env.dps > 1e3 then
output = output .. "DPS: " .. math.floor(aura_env.dps / 1e3) .. "k "
elseif
aura_env.dps > 1e6 then
output = output .. "DPS: " .. (math.floor((aura_env.dps / 1e6) / 100) * 100) .. "M "
end
if aura_env.hps > 1e3 then
output = output .. "HPS: " .. math.floor(aura_env.hps / 1e3) .. "k "
elseif
aura_env.hps > 1e6 then
output = output .. "HPS: " .. (math.floor((aura_env.hps / 1e6) / 100) * 100) .. "M "
end
if WeakAuras.IsOptionsOpen() then
return "DPS: 985k HPS: 312k"
end
return output
end
INIT
aura_env.starttime = GetTime()
aura_env.dps = 0
aura_env.hps = 0
aura_env.dmgtotal = 0
aura_env.healtotal = 0

View File

@@ -0,0 +1,18 @@
function()
local spells = {"Deceptive Strike", "Very Sinister Strike", "Raven Strike", "Coup de Grace", "Lantern of Darkness", "Power Attack", "Holy Radiance", "Thunderous Bolt"}
local output = ""
for i = 1, 40 do
local name = UnitCastingInfo("nameplate" .. i)
if name ~= nil then
for j = 1, table.getn(spells) do
if name == spells[j] then
local _, _, _, _, starTime, endTime = UnitCastingInfo("nameplate" .. i)
local castRemaining = endTime / 1000 - GetTime()
castRemaining = math.floor(castRemaining * 100) / 100
output = output .. name .. " " .. castRemaining .. "\n"
end
end
end
end
return output
end

View File

@@ -0,0 +1,76 @@
--[[
[10:59 PM] Dump: value=C_Scenario.GetCriteriaInfo(4)
[10:59 PM] [1]="Enemy Forces",
[10:59 PM] [2]=0,
[10:59 PM] [3]=false,
[10:59 PM] [4]=0,
[10:59 PM] [5]=150,
[10:59 PM] [6]=0,
[10:59 PM] [7]=0,
[10:59 PM] [8]="0%",
[10:59 PM] [9]=0,
[10:59 PM] [10]=0,
[10:59 PM] [11]=0,
[10:59 PM] [12]=false,
[10:59 PM] [13]=true
/dump UnitAffectingCombat("target")
[11:05 PM] [1]="Creature-0-5-1492-0-97043-0000007794"
local criteriaString, _, _, quantity, totalQuantity, _, _, quantityString, _, _, _, _, isWeightedProgress = C_Scenario.GetCriteriaInfo(criteriaIndex)
Idea is to find % for pulled mob(s) and add to current % display both
]]
--ON SOME EVENTS
function()
--Very inefficient maybe fix later who cares
local scenarioType = select(10, C_Scenario.GetInfo())
if scenarioType == 1 then
local numCriteria = select(3, C_Scenario.GetStepInfo())
for i = 1, numCriteria do
local name = C_Scenario.GetCriteriaInfo(i)
if name == "Enemy Forces" then
aura_env.davystone.totalProgress = select(5, C_Scenario.GetCriteriaInfo(i))
aura_env.davystone.currentProgress = select(8, C_Scenario.GetCriteriaInfo(i))
aura_env.davystone.currentProgress = aura_env.davystone.currentProgress:gsub("%%", "")
aura_env.davystone.currentProgress = tonumber(aura_env.davystone.currentProgress)
aura_env.davystone.newProgress = select(8, C_Scenario.GetCriteriaInfo(i))
aura_env.davystone.newProgress = aura_env.davystone.newProgress:gsub("%%", "")
aura_env.davystone.newProgress = tonumber(aura_env.davystone.newProgress)
end
end
for i = 1, 40 do
local unit = "nameplate" .. i
if UnitAffectingCombat(unit) then
local GUID = UnitGUID(unit)
local ID = GUID:match("%w+%-%d*%-%d*%-%d*%-%d*-(%d*)")
ID = tonumber(ID)
if aura_env.IDthing[ID] then
local progress = aura_env.IDthing[ID]
aura_env.davystone.newProgress = aura_env.davystone.newProgress + progress
end
end
end
end
end
--DISPLAY
function()
if aura_env.davystone.currentProgress and aura_env.davystone.totalProgress and aura_env.davystone.newProgress then
return aura_env.round((aura_env.davystone.currentProgress / aura_env.davystone.totalProgress) * 100, 2) .. " " .. aura_env.round((aura_env.davystone.newProgress / aura_env.davystone.totalProgress) * 100, 2)
end
end
--INIT
aura_env.davystone = {}
aura_env.IDthing = {
[104277] = 4, [102253] = 4, [98954] = 4, [97185] = 10, [113537] = 10, [101839] = 4, [104246] = 4, [104278] = 10, [97170] = 4, [113506] = 4, [105617] = 4, [105633] = 4, [102095] = 4, [105952] = 6, [97043] = 4, [102430] = 1, [98366] = 4, [95832] = 2, [91784] = 1, [104295] = 1, [102781] = 4, [102287] = 10, [98733] = 4, [102351] = 1, [96247] = 1, [111563] = 4, [95769] = 4, [113699] = 8, [91785] = 2, [100216] = 4, [97172] = 1, [100248] = 4, [114289] = 4, [105651] = 4, [105699] = 3, [105715] = 4, [98368] = 4, [95834] = 2, [99675] = 4, [91786] = 4, [98177] = 12, [97173] = 4, [100249] = 1, [105636] = 4, [95771] = 4, [96584] = 4, [97365] = 4, [91006] = 4, [91787] = 2, [109908] = 10, [96664] = 2, [105876] = 1, [95947] = 4, [99804] = 2, [95772] = 4, [99358] = 4, [101414] = 2, [106785] = 1, [104251] = 4, [100713] = 4, [105845] = 1, [98243] = 4, [98275] = 4, [96028] = 4, [99359] = 3, [105766] = 1, [91008] = 4, [91789] = 4, [98435] = 7, [98706] = 6, [100539] = 4, [98770] = 4, [105703] = 1, [102404] = 4, [99360] = 9, [97097] = 4, [91790] = 4, [98691] = 4, [102277] = 4, [98293] = 1, [98813] = 4, [105720] = 4, [91001] = 4, [101074] = 1, [100532] = 1, [99678] = 4, [104270] = 8, [101991] = 4, [98732] = 1, [98963] = 1, [91792] = 10, [100526] = 4, [98246] = 4, [106546] = 4, [98533] = 10, [105705] = 4, [96015] = 4, [104300] = 4, [113536] = 10, [92610] = 4, [99649] = 12, [98900] = 4, [98406] = 4, [98677] = 1, [91808] = 1, [92350] = 4, [102295] = 10, [102566] = 12, [113998] = 4, [97163] = 3, [102104] = 4, [102375] = 3, [105706] = 8, [95861] = 4, [97068] = 5, [96574] = 5, [97171] = 10, [102094] = 4, [102232] = 4, [99188] = 4, [99307] = 12, [105682] = 8, [92538] = 1, [100527] = 3, [102583] = 4, [96587] = 4, [98280] = 4, [98370] = 4, [98538] = 10, [106786] = 1, [113111] = 1, [91783] = 4, [99956] = 4, [114712] = 3, [91332] = 4, [91794] = 1, [96657] = 12, [98426] = 4, [97197] = 2, [91796] = 10, [98759] = 4, [105915] = 4, [98919] = 4, [99908] = 1, [98362] = 10, [95779] = 10, [99365] = 4, [99891] = 5, [101437] = 1, [90998] = 4, [106059] = 4, [98425] = 4, [96640] = 2, [97182] = 6, [98728] = 7, [95939] = 10, [100529] = 1, [98776] = 4, [105422] = 1, [98792] = 4, [90997] = 4, [105629] = 1, [99366] = 4, [97087] = 2, [101438] = 4, [97119] = 1, [96608] = 2, [98681] = 6, [97677] = 1, [96480] = 1, [102584] = 4, [95842] = 2, [100364] = 4, [101072] = 1, [94968] = 5, [98973] = 1, [102788] = 4, [96934] = 2, [98756] = 4, [107288] = 1, [91793] = 1, [91000] = 8, [91781] = 4, [91782] = 10, [97678] = 8, [98926] = 4, [97200] = 4, [100531] = 8, [92387] = 4, [99033] = 4, [95920] = 2, [98810] = 6, [95766] = 4, [105921] = 4, [96677] = 2, [101679] = 4, [114288] = 4, [96611] = 2, [106787] = 1
}
aura_env.round = function(var, n)
if (n) then
var = math.floor((var * 10 ^ n) + 0.5) / (10 ^ n)
else
var = math.floor(var + 0.5)
end
return var
end

View File

@@ -0,0 +1,411 @@
--ON SOME EVENTS
--Maybe make trigger on ~~party kill?~~ threat update? ++ namepalteadd/remove
--[[
1) On threat update calculate new %
2) On namepalte added look for threat and calculate new %
3) Organize into table with GUIDs
4) On nameplate remove remove from table // PARTY_KILL
5) Make more table for current pull, projected pull and projected total
6) Organize mobs into groups before bosses or before other groups big ???
]]
--[[
1) UNIT_THREAT_LIST_UPDATE (e, u)
Get GUID
Put into table
ggez
2) NAME_PLATE_UNIT_ADDED NAME_PLATE_UNIT_REMOVED (e, u)
UnitDetailedThreatSituation("player", "target") empty result for no threat
[02:49 PM] Dump: value=UnitDetailedThreatSituation("player", "target")
[02:49 PM] [1]=true, --Boolean - returns true if the unit is primary threat target of the mob (is tanking), or false otherwise
[02:49 PM] [2]=3, --Integer - returns the threat status for the unit on the mob, or nil if unit is not on mob's threat table. (3 = securely tanking, 2 = insecurely tanking, 1 = not tanking but higher threat than tank, 0 = not tanking and lower threat than tank)
[02:49 PM] [3]=100, --Number - returns the unit's threat on the mob as a percentage of the amount required to pull aggro, scaled according to the unit's range from the mob. At 100 the unit will pull aggro. Returns 100 if the unit is tanking and nil if the unit is not on the mob's threat list.
[02:49 PM] [4]=255, --Number - returns the unit's threat as a percentage of the tank's current threat. Returns nil if the unit is not on the mob's threat list.
[02:49 PM] [5]=0 --Number - returns the unit's total threat on the mob
for threat
3) can say table 1: GUID in current pull - use 1) and 2)
table 2: GUID to be pull on mouseover - use previous work
table 3: global GUID to be pull - reset with GUID of boss or pre boss maybe?
look for PARTY_KILL se in CLEU maybe? (for progress table ?)
]]
--[[
Random garbage info
[10:59 AM] Dump: value=C_Scenario.GetInfo()
[10:59 AM] [1]="Black Rook Hold",
[10:59 AM] [2]=1,
[10:59 AM] [3]=1,
[10:59 AM] [4]=3,
[10:59 AM] [5]=false,
[10:59 AM] [6]=false,
[10:59 AM] [7]=false,
[10:59 AM] [8]=0,
[10:59 AM] [9]=0,
[10:59 AM] [10]=1,
[10:59 AM] [11]="UNKNOWN"
[11:01 AM] Dump: value=C_Scenario.GetStepInfo()
[11:01 AM] [1]="Black Rook Hold",
[11:01 AM] [2]="Deal with the restless spirits of Black Rook Hold.",
[11:01 AM] [3]=5, --Num criteria
[11:01 AM] [4]=false,
[11:01 AM] [5]=false,
[11:01 AM] [6]=false,
[11:01 AM] [7]=0,
[11:01 AM] [8]={
[11:01 AM] },
[11:01 AM] [10]=0
/run local numCriteria = select(3, C_Scenario.GetStepInfo()); for i = 1, numCriteria do print(C_Scenario.GetCriteriaInfo(i)) end
[11:02 AM] Amalgam of Souls 165 false 0 1 0 1832 0 29464 0 0 false false
[11:02 AM] Illysanna Ravencrest 165 false 0 1 0 1833 0 29465 0 0 false false
[11:02 AM] Smashspite the Hateful 165 false 0 1 0 1834 0 29466 0 0 false false
[11:02 AM] Lord Kurtalos Ravencrest 165 false 0 1 0 1835 0 29467 0 0 false false
[11:02 AM] Enemy Forces 0 false 0 360 0 0 0% 0 0 0 false true
[11:06 AM] Dump: value=C_Scenario.GetCriteriaInfo(5)
[11:06 AM] [1]="Enemy Forces",
[11:06 AM] [2]=0,
[11:06 AM] [3]=false,
[11:06 AM] [4]=0,
[11:06 AM] [5]=360,
[11:06 AM] [6]=0,
[11:06 AM] [7]=0,
[11:06 AM] [8]="0%",
[11:06 AM] [9]=0,
[11:06 AM] [10]=0,
[11:06 AM] [11]=0,
[11:06 AM] [12]=false,
[11:06 AM] [13]=true --Weighted progress?
]]
--[[
So far got the mouseover counting working
Get total mob # from C_Scenario.GetCriteriaInfo(5
Add mouseover to #
Add pulls & nameplate fuckery from above into same #
Maybe use global table for all
Should be easy
Maybe add textures and attach to namepaltes of planned units??? Pog POG
]]
function()
--Very inefficient maybe fix later who cares
local scenarioType = select(10, C_Scenario.GetInfo())
if scenarioType == 1 then
local numCriteria = select(3, C_Scenario.GetStepInfo())
for i = 1, numCriteria do
local name = C_Scenario.GetCriteriaInfo(i)
if name == "Enemy Forces" then
aura_env.davystone.totalProgress = select(5, C_Scenario.GetCriteriaInfo(i))
aura_env.davystone.currentProgress = select(8, C_Scenario.GetCriteriaInfo(i))
aura_env.davystone.currentProgress = aura_env.davystone.currentProgress:gsub("%%", "")
aura_env.davystone.currentProgress = tonumber(aura_env.davystone.currentProgress)
aura_env.davystone.newProgress = select(8, C_Scenario.GetCriteriaInfo(i))
aura_env.davystone.newProgress = aura_env.davystone.newProgress:gsub("%%", "")
aura_env.davystone.newProgress = tonumber(aura_env.davystone.newProgress)
end
end
for i = 1, 40 do
local unit = "nameplate" .. i
if UnitAffectingCombat(unit) then
local GUID = UnitGUID(unit)
local ID = GUID:match("%w+%-%d*%-%d*%-%d*%-%d*-(%d*)")
ID = tonumber(ID)
if aura_env.IDthing[ID] then
local progress = aura_env.IDthing[ID]
aura_env.davystone.newProgress = aura_env.davystone.newProgress + progress
end
end
end
end
end
--DISPLAY
function()
if aura_env.davystone.currentProgress and aura_env.davystone.totalProgress and aura_env.davystone.newProgress then
return aura_env.round((aura_env.davystone.currentProgress / aura_env.davystone.totalProgress) * 100, 2) .. " " .. aura_env.round((aura_env.davystone.newProgress / aura_env.davystone.totalProgress) * 100, 2)
end
end
--INIT
local OnTooltipSetUnit = function()
print("yeet")
local name, unit = tooltip:GetUnit()
local guid = unit and UnitGUID(unit)
if guid then
local type, zero, server_id, instance_id, zone_uid, npc_id, spawn_uid = strsplit("-", guid)
npc_id = tonumber(npc_id)
print(npcID)
end
end
GameTooltip:HookScript("OnTooltipSetUnit", OnTooltipSetUnit)
aura_env.davystone = {}
aura_env.IDthing = {
[104277] = 4, [102253] = 4, [98954] = 4, [97185] = 10, [113537] = 10, [101839] = 4, [104246] = 4, [104278] = 10, [97170] = 4, [113506] = 4, [105617] = 4, [105633] = 4, [102095] = 4, [105952] = 6, [97043] = 4, [102430] = 1, [98366] = 4, [95832] = 2, [91784] = 1, [104295] = 1, [102781] = 4, [102287] = 10, [98733] = 4, [102351] = 1, [96247] = 1, [111563] = 4, [95769] = 4, [113699] = 8, [91785] = 2, [100216] = 4, [97172] = 1, [100248] = 4, [114289] = 4, [105651] = 4, [105699] = 3, [105715] = 4, [98368] = 4, [95834] = 2, [99675] = 4, [91786] = 4, [98177] = 12, [97173] = 4, [100249] = 1, [105636] = 4, [95771] = 4, [96584] = 4, [97365] = 4, [91006] = 4, [91787] = 2, [109908] = 10, [96664] = 2, [105876] = 1, [95947] = 4, [99804] = 2, [95772] = 4, [99358] = 4, [101414] = 2, [106785] = 1, [104251] = 4, [100713] = 4, [105845] = 1, [98243] = 4, [98275] = 4, [96028] = 4, [99359] = 3, [105766] = 1, [91008] = 4, [91789] = 4, [98435] = 7, [98706] = 6, [100539] = 4, [98770] = 4, [105703] = 1, [102404] = 4, [99360] = 9, [97097] = 4, [91790] = 4, [98691] = 4, [102277] = 4, [98293] = 1, [98813] = 4, [105720] = 4, [91001] = 4, [101074] = 1, [100532] = 1, [99678] = 4, [104270] = 8, [101991] = 4, [98732] = 1, [98963] = 1, [91792] = 10, [100526] = 4, [98246] = 4, [106546] = 4, [98533] = 10, [105705] = 4, [96015] = 4, [104300] = 4, [113536] = 10, [92610] = 4, [99649] = 12, [98900] = 4, [98406] = 4, [98677] = 1, [91808] = 1, [92350] = 4, [102295] = 10, [102566] = 12, [113998] = 4, [97163] = 3, [102104] = 4, [102375] = 3, [105706] = 8, [95861] = 4, [97068] = 5, [96574] = 5, [97171] = 10, [102094] = 4, [102232] = 4, [99188] = 4, [99307] = 12, [105682] = 8, [92538] = 1, [100527] = 3, [102583] = 4, [96587] = 4, [98280] = 4, [98370] = 4, [98538] = 10, [106786] = 1, [113111] = 1, [91783] = 4, [99956] = 4, [114712] = 3, [91332] = 4, [91794] = 1, [96657] = 12, [98426] = 4, [97197] = 2, [91796] = 10, [98759] = 4, [105915] = 4, [98919] = 4, [99908] = 1, [98362] = 10, [95779] = 10, [99365] = 4, [99891] = 5, [101437] = 1, [90998] = 4, [106059] = 4, [98425] = 4, [96640] = 2, [97182] = 6, [98728] = 7, [95939] = 10, [100529] = 1, [98776] = 4, [105422] = 1, [98792] = 4, [90997] = 4, [105629] = 1, [99366] = 4, [97087] = 2, [101438] = 4, [97119] = 1, [96608] = 2, [98681] = 6, [97677] = 1, [96480] = 1, [102584] = 4, [95842] = 2, [100364] = 4, [101072] = 1, [94968] = 5, [98973] = 1, [102788] = 4, [96934] = 2, [98756] = 4, [107288] = 1, [91793] = 1, [91000] = 8, [91781] = 4, [91782] = 10, [97678] = 8, [98926] = 4, [97200] = 4, [100531] = 8, [92387] = 4, [99033] = 4, [95920] = 2, [98810] = 6, [95766] = 4, [105921] = 4, [96677] = 2, [101679] = 4, [114288] = 4, [96611] = 2, [106787] = 1
}
aura_env.round = function(var, n)
if (n) then
var = math.floor((var * 10 ^ n) + 0.5) / (10 ^ n)
else
var = math.floor(var + 0.5)
end
return var
end
--PART OF DIFFERENT AURA
--UPDATE_MOUSEOVER_UNIT
function(e)
if not aura_env.time then
aura_env.time = debugprofilestop()
end
if not aura_env.mobs then
aura_env.mobs = {}
end
if not aura_env.mobC then
aura_env.mobC = 0
end
local u = "mouseover"
local guid = UnitGUID(u)
local npc_id = guid:match("%w+%-%d*%-%d*%-%d*%-%d*-(%d*)")
npc_id = tonumber(npc_id)
aura_env.time = debugprofilestop()
--print("aura", guid, aura_env.mobs[guid])
if npc_id and aura_env.IDthing[npc_id] then
if guid and not aura_env.mouseoverPull[guid] then
aura_env.mouseoverPull[guid] = aura_env.IDthing[npc_id]
aura_env.mobC = aura_env.mobC + 1
end
end
--This works for now
end
--EVERY FRAME
function()
if aura_env.time and aura_env.time > 0 then
--print(aura_env.mobC)
--DevTools_Dump(aura_env.mobs)
local totalMouseoverPull = 0
for k, v in pairs(aura_env.mouseoverPull) do
totalMouseoverPull = totalMouseoverPull + v
print(totalMouseoverPull)
end
if debugprofilestop() - aura_env.time > 1500 then
aura_env.time = 0
aura_env.mouseoverPull = {}
aura_env.mobC = 0
print("RESET", aura_env.mobC)
DevTools_Dump(aura_env.mobs)
end
end
end
--INIT
aura_env.davystone = {}
aura_env.currentPull = {}
aura_env.mouseoverPull = {}
aura_env.IDthing = {
[104277] = 4,
[102253] = 4,
[98954] = 4,
[97185] = 10,
[113537] = 10,
[101839] = 4,
[104246] = 4,
[104278] = 10,
[97170] = 4,
[113506] = 4,
[105617] = 4,
[105633] = 4,
[102095] = 4,
[105952] = 6,
[97043] = 4,
[102430] = 1,
[98366] = 4,
[95832] = 2,
[91784] = 1,
[104295] = 1,
[102781] = 4,
[102287] = 10,
[98733] = 4,
[102351] = 1,
[96247] = 1,
[111563] = 4,
[95769] = 4,
[113699] = 8,
[91785] = 2,
[100216] = 4,
[97172] = 1,
[100248] = 4,
[114289] = 4,
[105651] = 4,
[105699] = 3,
[105715] = 4,
[98368] = 4,
[95834] = 2,
[99675] = 4,
[91786] = 4,
[98177] = 12,
[97173] = 4,
[100249] = 1,
[105636] = 4,
[95771] = 4,
[96584] = 4,
[97365] = 4,
[91006] = 4,
[91787] = 2,
[109908] = 10,
[96664] = 2,
[105876] = 1,
[95947] = 4,
[99804] = 2,
[95772] = 4,
[99358] = 4,
[101414] = 2,
[106785] = 1,
[104251] = 4,
[100713] = 4,
[105845] = 1,
[98243] = 4,
[98275] = 4,
[96028] = 4,
[99359] = 3,
[105766] = 1,
[91008] = 4,
[91789] = 4,
[98435] = 7,
[98706] = 6,
[100539] = 4,
[98770] = 4,
[105703] = 1,
[102404] = 4,
[99360] = 9,
[97097] = 4,
[91790] = 4,
[98691] = 4,
[102277] = 4,
[98293] = 1,
[98813] = 4,
[105720] = 4,
[91001] = 4,
[101074] = 1,
[100532] = 1,
[99678] = 4,
[104270] = 8,
[101991] = 4,
[98732] = 1,
[98963] = 1,
[91792] = 10,
[100526] = 4,
[98246] = 4,
[106546] = 4,
[98533] = 10,
[105705] = 4,
[96015] = 4,
[104300] = 4,
[113536] = 10,
[92610] = 4,
[99649] = 12,
[98900] = 4,
[98406] = 4,
[98677] = 1,
[91808] = 1,
[92350] = 4,
[102295] = 10,
[102566] = 12,
[113998] = 4,
[97163] = 3,
[102104] = 4,
[102375] = 3,
[105706] = 8,
[95861] = 4,
[97068] = 5,
[96574] = 5,
[97171] = 10,
[102094] = 4,
[102232] = 4,
[99188] = 4,
[99307] = 12,
[105682] = 8,
[92538] = 1,
[100527] = 3,
[102583] = 4,
[96587] = 4,
[98280] = 4,
[98370] = 4,
[98538] = 10,
[106786] = 1,
[113111] = 1,
[91783] = 4,
[99956] = 4,
[114712] = 3,
[91332] = 4,
[91794] = 1,
[96657] = 12,
[98426] = 4,
[97197] = 2,
[91796] = 10,
[98759] = 4,
[105915] = 4,
[98919] = 4,
[99908] = 1,
[98362] = 10,
[95779] = 10,
[99365] = 4,
[99891] = 5,
[101437] = 1,
[90998] = 4,
[106059] = 4,
[98425] = 4,
[96640] = 2,
[97182] = 6,
[98728] = 7,
[95939] = 10,
[100529] = 1,
[98776] = 4,
[105422] = 1,
[98792] = 4,
[90997] = 4,
[105629] = 1,
[99366] = 4,
[97087] = 2,
[101438] = 4,
[97119] = 1,
[96608] = 2,
[98681] = 6,
[97677] = 1,
[96480] = 1,
[102584] = 4,
[95842] = 2,
[100364] = 4,
[101072] = 1,
[94968] = 5,
[98973] = 1,
[102788] = 4,
[96934] = 2,
[98756] = 4,
[107288] = 1,
[91793] = 1,
[91000] = 8,
[91781] = 4,
[91782] = 10,
[97678] = 8,
[98926] = 4,
[97200] = 4,
[100531] = 8,
[92387] = 4,
[99033] = 4,
[95920] = 2,
[98810] = 6,
[95766] = 4,
[105921] = 4,
[96677] = 2,
[101679] = 4,
[114288] = 4,
[96611] = 2,
[106787] = 1
}

View File

@@ -0,0 +1,64 @@
--PLAYER_DEAD COMBAT_LOG_EVENT_UNFILTERED
function(...)
local se = select(3, ...)
if se == "SPELL_DAMAGE" or se == "SPELL_PERIODIC_DAMAGE" then
local caster = select(6, ...)
local target = select(10, ...)
local overkill = select(17, ...)
if overkill > 0 and target == UnitName("player") then
local id = #DED + 1
local date = date()
local localtime = date:match("%d%d%/%d%d%/%d%d%s(%d%d%p%d%d%p%d%d)")
local year = date:match("%d%d%/%d%d/(%d%d)") + 2000 --01/07/(19) 14:36:42
local month = date:match("(%d%d)") --(01)/07/19 14:36:42
local day = date:match("%d%d%/(%d%d)") --01/(07)/19 14:36:42
--Remove first place zeros
if day:find("0") == 1 then
day = day:gsub("0", "")
end
if month:find("0") == 1 then
month = month:gsub("0", "")
end
local localdate = day .. "." .. month .. "." .. year
local localzone = GetZoneText()
DED[id] =
{
["Date"] = localdate,
["Time"] = localtime,
["Zone"] = localzone,
["Killer"] = caster,
["Overkill"] = overkill
}
end
end
if se == "SWING_DAMAGE" then
local caster = select(6, ...)
local target = select(10, ...)
local overkill = select(14, ...)
if overkill > 0 and target == UnitName("player") then
local id = #DED + 1
local date = date()
local localtime = date:match("%d%d%/%d%d%/%d%d%s(%d%d%p%d%d%p%d%d)")
local year = date:match("%d%d%/%d%d/(%d%d)") + 2000 --01/07/(19) 14:36:42
local month = date:match("(%d%d)") --(01)/07/19 14:36:42
local day = date:match("%d%d%/(%d%d)") --01/(07)/19 14:36:42
--Remove first place zeros
if day:find("0") == 1 then
day = day:gsub("0", "")
end
if month:find("0") == 1 then
month = month:gsub("0", "")
end
local localdate = day .. "." .. month .. "." .. year
local localzone = GetZoneText()
DED[id] =
{
["Date"] = localdate,
["Time"] = localtime,
["Zone"] = localzone,
["Killer"] = caster,
["Overkill"] = overkill
}
end
end
end

View File

@@ -0,0 +1,14 @@
--Delete Dumbass Shit
function()
local deletlist = {34984}
for i = 1, GetContainerNumSlots(0) do
local _, _, _, _, _, _, _, _, _, itemID = GetContainerItemInfo(0, i)
for k, v in ipairs(deletlist) do
if itemID == v then
PickupContainerItem(0, i)
print(itemID)
DeleteCursorItem()
end
end
end
end

View File

@@ -0,0 +1,30 @@
COMBAT_LOG_EVENT_UNFILTERED
function(...)
local subEvent = select(3, ...)
local ID = select(5, ...)
local source = select(6, ...)
local target = select(10, ...)
if target == UnitName("player") and (subEvent == "SWING_DAMAGE" or subEvent == "SPELL_DAMAGE") and string.match(ID, "Player") then
local targetExist = 0
for k, v in ipairs(aura_env.dickRiders) do
if source == v then
targetExist = 1
end
end
if targetExist == 0 then
aura_env.dickRiders[table.getn(aura_env.dickRiders) + 1] = source
end
end
end
DISPLAY
function()
local output = table.getn(aura_env.dickRiders) .. "\n"
for k, v in ipairs(aura_env.dickRiders) do
output = output .. v .. "\n"
end
return output
end
INIT AND SHOW
aura_env.dickRiders = {}

View File

@@ -0,0 +1,33 @@
DISPLAY
function()
if aura_env.cast_spells > 0 then
local pp = aura_env.count / aura_env.cast_spells
if (2) then
pp = math.floor((pp * 10^2) + 0.5) / (10^2)
else
pp = math.floor(pp+0.5)
end
pp = pp * 100
return "Divine " .. aura_env.count .. " " .. aura_env.cast_spells .. " " .. pp
else
return "Divine " .. aura_env.count .. " " .. aura_env.cast_spells
end
end
COMBAT_LOG_EVENT_UNFILTERED
function(_,_,subEvent,_,_,sourceName,_,_,_,_,_,_,spellId)
if subEvent == "SPELL_CAST_SUCCESS" and sourceName == UnitName("player") then
if spellId == 85256 or spellId == 53385 then
aura_env.cast_spells = aura_env.cast_spells + 1
end
end
if subEvent == "SPELL_AURA_APPLIED" and sourceName == UnitName("player") then
if spellId == 223819 then
aura_env.count = aura_env.count + 1
end
end
end
INIT
aura_env.count = 0
aura_env.cast_spells = 0

View File

@@ -0,0 +1,28 @@
--DISPLAY
function()
local function round(var, n)
if (n) then
var = math.floor((var * 10^n) + 0.5) / (10^n)
else
var = math.floor(var+0.5)
end
return var
end
local leather = GetItemCount("Raw Beast Hide")
return leather .. " " .. leather / 5 .. "\n" .. aura_env.skins .. " " .. aura_env.hide .. " " .. round(aura_env.hide / aura_env.skins, 1)
end
--CHAT_MSG_LOOT
function(...)
local msg = select(2, ...)
local what = msg:match("%[(.+)%]")
local howmuch = msg:match("x(%d*)") or 1
if what == "Raw Beast Hide" then
aura_env.skins = aura_env.skins + 1
aura_env.hide = aura_env.hide + howmuch
end
end
--INIT
aura_env.skins = 0
aura_env.hide = 0

View File

@@ -0,0 +1,694 @@
--DISPLAY EVERY FRAME SMH
function()
--- CPU benchmarking ---
local start
local aura_env = aura_env
local Debug = aura_env.Debug
if Debug then
aura_env.count = aura_env.count or 1
aura_env.count = (aura_env.count + 1) % 600
start = debugprofilestop()
end
-- Setting some aura_env to local variables to improve performance --
local ClassID = aura_env.ClassID
local SpecID = aura_env.SpecID
local AoE = aura_env.AoE
local Mode = aura_env.Mode
local ColorFunction = aura_env.Color
local Threshold = aura_env.Threshold
local BasicReductions = aura_env.BasicReductions
-- Armor calulation // Armor scales differently depending on the enemy level, this makes sure is stays accurate --
local Armor = select(2, UnitArmor("player"))
Armor = 1 - C_PaperDollInfo.GetArmorEffectiveness(Armor, aura_env.TargetLevel) -- Gets the reduction percentage and makes it usable
-- All Classes
local CurrentHealth = UnitHealth("player")
local MaxHealth = UnitHealthMax("player")
local Vers = 1 - (GetCombatRatingBonus(31) / 100)
local Avoid = 1
local ScanTarget = false
if AoE then
Avoid = 1 - (GetAvoidance() / 100)
end
local Elusive = 1
local StaggerP, StaggerM = 1, 1
local Absorbs = UnitGetTotalAbsorbs("player")
local AbsorbsP, AbsorbsM = Absorbs, Absorbs
-- Initialize some variables --
local ClassDRP, ClassDRM = 1, 1
local PImmunity, MImmunity = 0, 0
----- General damage reduction buffs -----
local n = 1
local BuffID = select(10, UnitBuff("player", n))
while BuffID do
local Reduction = 1
local PhysicalReduction = 1
local MagicReduction = 1
if BasicReductions[BuffID] then
ClassDRP = ClassDRP * BasicReductions[BuffID][1]
ClassDRM = ClassDRM * BasicReductions[BuffID][2]
end
---- More complex tracking ----
local AMS, BloodS = 0, 0
--- Death Knight ---
if BuffID == 48792 then
Reduction = 1 + (tonumber(select(18, UnitBuff("player", n)) or 0)) / 100 -- Icebound Fortitude // using plus since the tooltip returns a negative value
elseif BuffID == 48707 then
AMS = (select(16, UnitBuff("player", n)) or 0) -- Anti-Magic Shell
elseif BuffID == 77535 then
BloodS = (select(16, UnitBuff("player", n)) or 0) -- Blood Shield
--- Demon Hunter ---
elseif BuffID == 212800 then
if IsPlayerSpell(205411) then Reduction = 0.50 -- Blur
else Reduction = 0.65 end
elseif BuffID == 196555 then PImmunity = 1 -- Netherwalk
--- Druid ---
elseif BuffID == 102342 then
Reduction = 1 + (tonumber(select(16, UnitBuff("player", n)) or 0)) / 100 -- Ironbark // using plus since the tooltip returns a negative value
--- Hunter ---
elseif BuffID == 186265 then -- Aspect of the Turtle
PImmunity = 1
MImmunity = 1
--- Mage ---
elseif BuffID == 45438 then -- Ice Block
PImmunity = 1
MImmunity = 1
--- Monk ---
elseif BuffID == 261769 then
Reduction = 1 + (select(16, UnitBuff("player", n)) or 0) / 100 -- Inner Strength // using plus since the tooltip returns a negative value
elseif BuffID == 115295 then
Absorbs = Absorbs - select(16, UnitBuff("player", n)) -- Guard // prevents Guard from counting as a normal absorb
--- Paladin ---
elseif BuffID == 210320 then
Reduction = 1 + (tonumber(select(16, UnitBuff("player", n)) or 0)) / 100 -- Devotion Aura // using plus since the tooltip returns a negative value
elseif BuffID == 1022 then PImmunity = 1 -- Blessing of Protection
elseif BuffID == 204018 then MImmunity = 1 -- Blessing of Spellwarding
elseif BuffID == 188370 then
Reduction = 1 - (GetMasteryEffect() / 2.85) / 100 -- Consecration // May not be 100% accurate, but it's good enough for now
if IsEquippedItem(137047) then Reduction = Reduction * 0.96 end -- Consecration (Legendary Ring)
elseif BuffID == 642 then -- Divine Shield
PImmunity = 1
MImmunity = 1
--- Priest ---
elseif BuffID == 45242 then
Reduction = 1 - (select(3, UnitBuff("player", n)) or 0) * 15 / 100 -- Focused Will
elseif BuffID == 139 then
if IsPlayerSpell(235189) and UnitBuff("player", n, nil, "player") then
Reduction = 0.90 -- Perseverance - Talent
end
--- Rogue ---
elseif BuffID == 1966 then
if not AoE and IsPlayerSpell(79008)
then Elusive = 0.70 -- Elusiveness
else -- Feint
if AoE then Avoid = Avoid * 0.50 end
end
elseif BuffID == 31224 then MImmunity = 1 -- Cloak of Shadows
--- Shaman ---
elseif BuffID == 260881 then
Reduction = 1 - (tonumber(select(3, UnitBuff("player", n)) or 0)) * 5 / 100 -- Ghost in the Mist - Talent
--- Warlock ---
--- Warrior ---
elseif BuffID == 184362 and IsPlayerSpell(208154) then -- Enrage
Reduction = 0.90 -- War Paint - Talent
end
AbsorbsP = Absorbs - AMS
AbsorbsM = Absorbs - BloodS
ClassDRP = ClassDRP * Reduction * PhysicalReduction
ClassDRM = ClassDRM * Reduction * MagicReduction
n = n + 1
BuffID = select(10, UnitBuff("player", n))
end
----- Damage reductions with special calculations -----
--- Death Knight ---
if ClassID == 6 then
local Necropolis = 1
if IsPlayerSpell(206967) then -- Will of the Necropolis - Talent
if CurrentHealth / MaxHealth < 0.35 then Necropolis = 0.65
end
end
ClassDRP = ClassDRP * Necropolis
ClassDRM = ClassDRM * Necropolis
end
--- Demon Hunter ---
if ClassID == 12 then
local HavocDemWards = 1
local VengDemWards = 1
if SpecID == 1 then
HavocDemWards = 0.90 -- Demonic Wards - Passive
elseif SpecID == 2 then
VengDemWards = 0.90 -- Demonic Wards - Passive
ScanTarget = true
end
ClassDRP = ClassDRP * VengDemWards
ClassDRM = ClassDRM * VengDemWards * HavocDemWards
end
--- Druid ---
if ClassID == 11 then
local GuardA = 1
if IsEquippedItem(137015) and IsPlayerSpell(16931) then
GuardA = 0.895 -- Legendary chest
elseif IsPlayerSpell(16931) then
GuardA = 0.94 -- Thick Hide (Guardian Affinity)
end
if SpecID == 3 then
if IsPlayerSpell(204053) then
ScanTarget = true
end
end
ClassDRP = ClassDRP * GuardA
ClassDRM = ClassDRM * GuardA
end
--- Hunter ---
if ClassID == 3 then
end
--- Mage ---
if ClassID == 8 then
end
--- Monk ---
if ClassID == 10 then
if SpecID == 1 then
ScanTarget = true
-- Gets stagger agaist current target, if no target is found use base --
local StaggerBase, StaggerTarget = C_PaperDollInfo.GetStaggerPercentage("player")
if not StaggerTarget then StaggerTarget = StaggerBase end
StaggerM = StaggerTarget * 0.35
StaggerP = 1 - StaggerTarget / 100
StaggerM = 1 - StaggerM / 100
-- Stagger cap --
local Stagger = UnitStagger("player") or 0 -- Calculate MaxHealth effective reduction for Stagger
local StaggerCapP = (CurrentHealth + AbsorbsP) / (CurrentHealth + AbsorbsP + 100 * MaxHealth - Stagger * 10)
local StaggerCapM = (CurrentHealth + AbsorbsM) / (CurrentHealth + AbsorbsM + 100 * MaxHealth - Stagger * 10)
if StaggerCapP < 0.01 then StaggerCapP = 0.01 end -- Stagger caps at 99%
if StaggerCapM < 0.01 then StaggerCapM = 0.01 end
if StaggerP < StaggerCapP then StaggerP = StaggerCapP end
if StaggerM < StaggerCapM then StaggerM = StaggerCapM end
end
if SpecID == 3 then
local Karma = 0
aura_env.GoodKarma = IsPlayerSpell(280195) -- Talent
Karma = aura_env.TouchOfKarma
Absorbs = Absorbs + Karma
AbsorbsP = AbsorbsP + Karma
AbsorbsM = AbsorbsM + Karma
end
ClassDRP = ClassDRP * StaggerP
ClassDRM = ClassDRM * StaggerM
end
--- Paladin ---
if ClassID == 2 then
local LastDefender = 1
if SpecID == 2 then -- Protection
LastDefender = 1 - (1 - 0.97 ^ aura_env.NameplateCounter)
end
ClassDRP = ClassDRP * LastDefender
ClassDRM = ClassDRM * LastDefender
end
--- Priest ---
if ClassID == 5 then
end
--- Rogue ---
if ClassID == 4 then
end
--- Shaman ---
if ClassID == 7 then
end
--- Warlock ---
if ClassID == 9 then
local SoulLink = 1
local DestructionMastery = 1
if SpecID == 2 then -- Soul Link passive for Demonology Warlocks
if UnitExists("pet") then
SoulLink = 0.80
end
elseif SpecID == 3 then
DestructionMastery = 1 - ((GetMasteryEffect() / 9) / 100) -- Destruction mastery effect
end
ClassDRP = ClassDRP * SoulLink * DestructionMastery
ClassDRM = ClassDRM * SoulLink * DestructionMastery
end
--- Warrior ---
if ClassID == 1 then
if SpecID == 3 then
ScanTarget = true
end
ClassDRP = ClassDRP
ClassDRM = ClassDRM
end
--- Miscellaneous ---
if aura_env.HighmountainTauren then
local Stamina = UnitStat("player", 3)
local RuggedTenacity = floor((Stamina * 0.0003 * 20) + 0.5)
Absorbs = Absorbs + RuggedTenacity
end
--- Checking debuffs on target if needed ---
if ScanTarget then
local TD = 1
local DebuffID = select(10, UnitDebuff("target", TD))
while DebuffID do
local DebuffTarget = 1
local DebuffTargetP = 1
local DebuffTargetM = 1
--- Demon Hunter ---
if DebuffID == 207744 and select(3, UnitDebuff("target", TD, nil, "player")) then
DebuffTarget = 0.60 -- Fiery Brand
elseif DebuffID == 268178 and select(3, UnitDebuff("target", TD, nil, "player")) then
DebuffTarget = 0.94 -- Void Reaver -- Talent
--- Druid ---
elseif DebuffID == 192090 and select(3, UnitDebuff("target", TD, nil, "player")) then
DebuffTarget = 1 - 0.02 * (select(3, UnitDebuff("target", TD, nil, "player")) or 0) -- Rend and Tear - Talent
--- Monk ---
elseif DebuffID == 123725 then
DebuffTarget = 1 + 0.01 * (select(17, UnitDebuff("target", TD, nil, "player")) or 0) -- Breath of Fire // using plus since the tooltip returns a negative value
--- Warrior ---
elseif DebuffID == 1160 and select(7, UnitDebuff("target", TD)) == "player" then
DebuffTarget = 0.80 -- Demoralizing Shout
end
ClassDRP = ClassDRP * DebuffTarget * DebuffTargetP
ClassDRM = ClassDRM * DebuffTarget * DebuffTargetM
TD = TD + 1
DebuffID = select(10, UnitDebuff("target", TD))
end
end
-- Damage taken modifiers --
local ReductionP = Vers * Avoid * ClassDRP * Armor * Elusive
local ReductionM = Vers * Avoid * ClassDRM * Elusive
-- CurrentHealth health and shields --
local EHP = (CurrentHealth + AbsorbsP) / ReductionP
local EHM = (CurrentHealth + AbsorbsM) / ReductionM
-- Export pre-avoidance EHP, EHM and immunity status as global variables --
if aura_env.GlobalExport then
-- Calculate max effective health (no absorbs) --
local EHPMaxHealth = (MaxHealth + AbsorbsP) / ReductionP
local EHMMaxHealth = (MaxHealth + AbsorbsM) / ReductionM
-- Export to globals --
local Export = WA_ZELER_EH
Export.EHPMAX, Export.EHMMAX = EHPMaxHealth * Avoid * Elusive, EHMMaxHealth * Avoid * Elusive
Export.EHP, Export.EHM = EHP * Avoid * Elusive, EHM * Avoid * Elusive
Export.REDP, Export.REDM = ReductionP / Avoid / Elusive, ReductionM / Avoid / Elusive
Export.ABS, Export.ABSP, Export.ABSM = Absorbs, AbsorbsP, AbsorbsM
Export.EHPIMMUNITY, Export.EHMIMMUNITY = PImmunity, MImmunity
Export.EHARMOR = Armor
Export.STAGGERP, Export.STAGGERM = StaggerP, StaggerM
end
-- Formatting numbers --
local DivideP, DivideM = 1, 1
local ImportDecimal = aura_env.DisplayDecimals
local EHPdecimal, EHMdecimal = ImportDecimal, ImportDecimal
local letterP, letterM = "", ""
if EHP > 10 ^ 9 then
EHP = EHP / 10 ^ 9
DivideP = 10 ^ 9
letterP = "b"
EHPdecimal = 2
elseif EHP > 10 ^ 8 then
EHP = EHP / 10 ^ 6
DivideP = 10 ^ 6
letterP = "m"
EHPdecimal = 0
elseif EHP > 10 ^ 7 then
EHP = EHP / 10 ^ 6
DivideP = 10 ^ 6
letterP = "m"
elseif EHP > 10 ^ 6 then
EHP = EHP / 10 ^ 6
DivideP = 10 ^ 6
letterP = "m"
EHPdecimal = 2
elseif EHP > 10 ^ 5 then
EHP = EHP / 10 ^ 3
DivideP = 10 ^ 3
letterP = "k"
EHPdecimal = 0
elseif EHP > 10 ^ 4 then
EHP = EHP / 10 ^ 3
DivideP = 10 ^ 3
letterP = "k"
elseif EHP > 10 ^ 3 then
EHP = EHP / 10 ^ 3
DivideP = 10 ^ 3
letterP = "k"
EHPdecimal = 2
elseif EHP > -1 then
EHP = EHP / 1
DivideP = 1
EHPdecimal = 0
end
if EHM > 10 ^ 9 then
EHM = EHM / 10 ^ 9
DivideM = 10 ^ 9
letterM = "b"
EHMdecimal = 2
elseif EHM > 10 ^ 8 then
EHM = EHM / 10 ^ 6
DivideM = 10 ^ 6
letterM = "m"
EHMdecimal = 0
elseif EHM > 10 ^ 7 then
EHM = EHM / 10 ^ 6
DivideM = 10 ^ 6
letterM = "m"
elseif EHM > 10 ^ 6 then
EHM = EHM / 10 ^ 6
DivideM = 10 ^ 6
letterM = "m"
EHMdecimal = 2
elseif EHM > 10 ^ 5 then
EHM = EHM / 10 ^ 3
DivideM = 10 ^ 3
letterM = "k"
EHMdecimal = 0
elseif EHM > 10 ^ 4 then
EHM = EHM / 10 ^ 3
DivideM = 10 ^ 3
letterM = "k"
elseif EHM > 10 ^ 3 then
EHM = EHM / 10 ^ 3
DivideM = 10 ^ 3
letterM = "k"
EHMdecimal = 2
elseif EHM > -1 then
EHM = EHM / 1
DivideM = 1
EHMdecimal = 0
end
-- Format displayed text with appropriate colors --
local Color = ""
if Mode ~= "magic" then
for i = 1, 6 do
if EHP >= Threshold[1][i] / DivideP then Color = ColorFunction[i] end
end
if PImmunity == 1 then Color = ColorFunction[7] end
EHP = string.format("P:|c%s%." .. EHPdecimal .. "f" .. letterP .. "|r", Color, EHP)
else EHP = ""
end
if Mode ~= "physical" then
for i = 1, 6 do
if EHM >= Threshold[2][i] / DivideM then Color = ColorFunction[i] end
end
if MImmunity == 1 then Color = ColorFunction[7] end
EHM = string.format("M:|c%s%." .. EHMdecimal .. "f" .. letterM .. "|r", Color, EHM)
else EHM = ""
end
local separator = ""
if Mode == "both" and aura_env.Align == "horizontal" then separator = " | "
elseif Mode == "both" and aura_env.Align == "vertical" then separator = "\n" end
--- CPU Benchmarking ---
if Debug then
aura_env.time = (aura_env.time or 0) + debugprofilestop() - start
if aura_env.count == 0 then
print(aura_env.time)
aura_env.time = 0
end
return "P: " .. ReductionP .. "\n" .. "M: " .. ReductionM
end
return EHP .. separator .. EHM
end
--CUSTOM TRIGGER
function(t)
return t[1]
end
--TRIGGER 1 - ALIVE
--ACTIVE_TALENT_GROUP_CHANGED
function()
aura_env.SpecID = GetSpecialization()
end
--COMBAT_LOG_EVENT_UNFILTERED
function(event)
-- Original code from https://wago.io/B1M5OqeFb
if aura_env.ClassID == 10 and aura_env.SpecID == 3 then
local CLEU = {CombatLogGetCurrentEventInfo()}
local message = CLEU[2]
local destName = CLEU[9]
local Multiplier = 0.5
if aura_env.GoodKarma then
Multiplier = 1
end
if destName and UnitIsUnit("player", destName) then
if message == "SPELL_ABSORBED" then
local chk = CLEU[9]
local spellID, absorbed = 0, 0
if type(chk) == "number" then -- Spell
spellID = CLEU[19]
absorbed = CLEU[22]
else -- Swing
spellID = CLEU[16]
absorbed = CLEU[19]
end
if spellID == 122470 then
aura_env.TouchOfKarma = math.max(aura_env.TouchOfKarma - absorbed, 0)
end
elseif message == "SPELL_AURA_APPLIED" then
local spellID = CLEU[12]
if spellID == 122470 then
aura_env.maxValue = UnitHealthMax("player") * Multiplier
aura_env.TouchOfKarma = aura_env.maxValue
end
elseif message == "SPELL_AURA_REMOVED" then
local spellID = CLEU[12]
if spellID == 122470 then
aura_env.TouchOfKarma = 0
end
end
end
end
end
--PLAYER_TARGET_CHANGED,ENCOUNTER_START,INSTANCE_ENCOUNTER_ENGAGE_UNIT
function()
local PlayerLevel = aura_env.PlayerLevel
local TargetLevel = PlayerLevel
if UnitExists("boss1") then
TargetLevel = UnitLevel("boss1")
elseif UnitExists("target") then
TargetLevel = UnitLevel("target")
end
if TargetLevel == -1 then -- Raid boss
TargetLevel = PlayerLevel + 3
-- elseif TargetLevel < aura_env.PlayerLevel then
-- TargetLevel = PlayerLevel -- Prevents the armor scaling from looking too strange. Currently disabled
end
aura_env.TargetLevel = TargetLevel
end
--PLAYER_LEVEL_UP
function(event, NewLevel)
aura_env.PlayerLevel = NewLevel
end
--EVERY FRAME?? (For last defender - delet?)
function()
if aura_env.ClassID == 2 and aura_env.SpecID == 2 then -- Enable for Protection Paladins only
if IsPlayerSpell(203791) then -- Last Defender - talent
local now = GetTime()
if now - aura_env.NameplateCheck >= 0.1 then -- Throttle
aura_env.NameplateCheck = now
local counter = 0
local i
for i = 1, 40 do
local unit = "nameplate" .. i
if UnitExists(unit) and not UnitIsFriend("player", unit) then
if WeakAuras.GetRange(unit) < 8 then -- 8y range check
counter = counter + 1
end
end
end
aura_env.NameplateCounter = counter
end
else aura_env.NameplateCounter = 0 -- Reset counter if the talent is not selected
end
end
end
--INIT-- Made by Zeler-Ravencrest EU, with great help from Stryer-Ravencrest EU
aura_env.Mode = "both" -- Choose from "physical", "magic", "both" to change the value(s) displayed
aura_env.Align = "vertical" -- Choose which alignment you want. "vertical" for vertical alignment, "horizontal" for horizontal alignment
aura_env.AoE = true -- Enable avoidance with true and disable it with false
aura_env.GlobalExport = true -- Enable export of certain variables as global variables for use in other weakauras
aura_env.Debug = false -- Enable debug with true. It will then return the damage reduction multipliers
local text = true -- Disable the 'P:' and the 'M:' with false
aura_env.DisplayDecimals = 1 -- The number of decimals displayed
aura_env.PlayerLevel = UnitLevel("player")
aura_env.TargetLevel = aura_env.PlayerLevel
aura_env.TouchOfKarma = 0
aura_env.GoodKarma = IsPlayerSpell(280195) -- Wind Walker Monk - Talent
aura_env.HighmountainTauren = IsPlayerSpell(255659) -- Rugged Tenacity - Passive
aura_env.NameplateCheck = 0 -- Protection Paladin - Last Defender - talent
aura_env.NameplateCounter = 0 -- Protection Paladin - Last Defender - talent
-- Color values, the accepted values are from 0 to 255
-- {red, green, blue}
aura_env.Color = {
{0, 255, 0}, -- Lowest HP
{0, 255, 0},
{0, 255, 0},
{0, 255, 0},
{0, 255, 0},
{0, 255, 0}, -- Highest HP
{0, 255, 0}, -- Immunity color
}
-- Thresholds at which the color changes (leave the first 0)
aura_env.Threshold = {
{0, 1, 2, 3, 4, 5}, -- Physical EH
{0, 1, 2, 3, 4, 5}, -- Magic EH
}
local function RGBtoHex(rgb)
return string.format("ff%02x%02x%02x", rgb[1], rgb[2], rgb[3])
end
for i = 1, #aura_env.Color do
aura_env.Color[i] = RGBtoHex(aura_env.Color[i])
end
-- Check player class and spec
aura_env.ClassID = select(3, UnitClass("player"))
aura_env.SpecID = GetSpecialization()
-- Class self-buffs: [Spell ID] = {Phys Reduction, Magic Reduction}
aura_env.BasicReductions = {
--- Death Knight ---
[194679] = {0.70, 0.70}, -- Rune Tap
--- Demon Hunter ---
--- Druid ---
[158792] = {0.91, 0.91}, -- Pulverize
[22812] = {0.80, 0.80}, -- Barkskin
[61336] = {0.50, 0.50}, -- Survival Instincts
--- Hunter ---
[186265] = {0.70, 0.70}, -- Aspect of the Turtle
[264735] = {0.80, 0.80}, -- Survival of the Fittest
--- Mage ---
[113862] = {0.40, 0.40}, -- Greater Invisibility
[235450] = {1, 0.85}, -- Prismatic Barrier
--- Monk ---
[120954] = {0.80, 0.80}, -- Fortifying Brew (BrM)
[243435] = {0.80, 0.80}, -- Fortifying Brew (MW)
[122278] = {0.80, 0.80}, -- Dampen Harm, assumed at minimum reduction
[122783] = {1, 0.40}, -- Diffuse Magic
[115176] = {0.40, 0.40}, -- Zen Meditation
--- Paladin ---
[498] = {0.80, 0.80}, -- Divine Protection
[31850] = {0.80, 0.80}, -- Ardent Defender
[205191] = {0.65, 1}, -- Eye for an Eye - talent
[86659] = {0.50, 0.50}, -- Guardian of Ancient Kings
[212641] = {0.50, 0.50}, -- Guardian of Ancient Kings - Glyph of the Queen
[183436] = {0.70, 0.70}, -- Retribution - passive
[6940] = {0.70, 0.70}, -- Blessing of Sacrifice
[204335] = {0.80, 0.80}, -- Aegis of Light - talent
--- Priest ---
[47585] = {0.40, 0.40}, -- Dispersion
[193065] = {0.90, 0.90}, -- Masochism - talent
[232698] = {0.90, 1}, -- Shadowform
[33206] = {0.60, 0.60}, -- Pain Suppression
-- [194384] = {0.97, 0.97}, -- Leniece - talent -- Currently disabled due to being unable to track if the casting priest has the talent or not
[81782] = {0.75, 0.75}, -- Power Word: Barrier
--- Rogue ---
[45182] = {0.15, 0.15}, -- Cheating Death - Cheat Death talent
--- Shaman ---
[108271] = {0.60, 0.60}, -- Astral Shift
[98007] = {0.90, 0.90}, -- Spirit Link Totem
--- Warlock ---
[104773] = {0.60, 0.60}, -- Unending Resolve
--- Warrior ---
[197690] = {0.80, 0.80}, -- Defensive Stance
[118038] = {0.70, 0.70}, -- Die by the Sword
[184364] = {0.70, 0.70}, -- Enraged Regeneration
[871] = {0.60, 0.60}, -- Shield Wall
[23920] = {1, 0.80}, -- Spell Reflection
[223658] = {0.70, 0.70}, -- Safeguard
--- Miscellaneous ---
[241836] = {0.95, 0.95}, -- Shadow of Celumbra
[65116] = {0.90, 1}, -- Stoneform
[211080] = {0.90, 0.90}, -- Comforting light (Court of Stars)
[273809] = {1.30, 1.30} -- Idol of Rage
}
if aura_env.GlobalExport then
WA_ZELER_EH = {}
end

View File

@@ -0,0 +1,55 @@
--NAME_PLATE_UNIT_ADDED NAME_PLATE_UNIT_REMOVED PLAYER_TARGET_CHANGED
function(e,id)
if e == "NAME_PLATE_UNIT_ADDED" then
local race = UnitRace(id)
local sex = UnitSex(id)
if sex == 3 and aura_env.races[race] == 1 then
table.insert(aura_env.targets, UnitName(id) .. " " .. race)
end
end
if e == "NAME_PLATE_UNIT_REMOVED" then
local race = UnitRace(id)
local sex = UnitSex(id)
if sex == 3 and aura_env.races[race] == 1 then
for k,v in ipairs(aura_env.targets) do
if v:match(UnitName(id)) then
table.remove(aura_env.targets, k)
end
end
end
end
if e == "PLAYER_TARGET_CHANGED" and UnitExists("target") then
local race = UnitRace(id)
local sex = UnitSex(id)
if sex == 3 and aura_env.races[race] == 1 then
table.insert(aura_env.targets, UnitName(id) .. " " .. race)
end
end
if e == "PLAYER_TARGET_CHANGED" and not UnitExists("target") then
aura_env.targets = {}
end
end
--DISPLAY
function()
local output = ""
for k,v in ipairs(aura_env.targets) do
output = output .. v .. "\n"
end
return output
end
--INIT
aura_env.races =
{
["Gnome"] = 1,
["Night Elf"] = 0,
["Draenei"] = 0,
["Orc"] = 0,
["Undead"] = 0,
["Dwarf"] = 1,
["Human"] = 0,
["Tauren"] = 0,
["Worgen"] = 0,
}
aura_env.targets = {}

View File

@@ -0,0 +1,116 @@
--ZONE_CHANGED_NEW_AREA GGEZCHATSPAM GGEZBEGIN GGEZSTOP INSPIREME
--Doesn't work :((((((
function(e)
if e == "ZONE_CHANGED_NEW_AREA" then
local currentZone = GetRealZoneText()
if currentZone == "Elwynn Forest" then
print("GET INSPIRED")
if not aura_env.ticker then aura_env.ticker = C_Timer.NewTicker(15, function() WeakAuras.ScanEvents("GGEZCHATSPAM") end) end
else
print(":(")
if aura_env.ticker then aura_env.ticker:Cancel(); aura_env.ticker = nil end
end
elseif e == "GGEZCHATSPAM" then
local rng = math.random(1, aura_env.size)
SendChatMessage(aura_env.inspirationalQuotes[rng], "SAY")
elseif e == "GGEZBEGIN" then
local rng = math.random(1, aura_env.size)
SendChatMessage(aura_env.inspirationalQuotes[rng], "SAY")
print("GET INSPIRED")
if not aura_env.ticker then aura_env.ticker = C_Timer.NewTicker(15, function() WeakAuras.ScanEvents("GGEZCHATSPAM") end) end
elseif e == "GGEZSTOP" then
if aura_env.ticker then aura_env.ticker:Cancel(); aura_env.ticker = nil end
elseif e == "INSPIREME" then
local rng = math.random(1, aura_env.size)
SendChatMessage(aura_env.inspirationalQuotes[rng], "SAY")
end
end
--INIT
aura_env.chatMessages = {"Ah shucks... you guys are the best!", "Cmon, Mom! One more game before you tuck me in. Oops mistell.", "For glory and honor! Huzzah comrades!", "Gee whiz! That was fun. Good playing!", "Good game! Best of luck to you all!", "Great game, everyone!", "I could really use a hug right now.", "I feel very, very small... please hold me...", "I'm trying to be a nicer person. It's hard, but I am trying guys.", "I'm wrestling with some insecurity issues in my life but thank you all for playing with me.", "It was an honor to play with you all. Thank you.", "Its past my bedtime. Please dont tell my mommy.", "Mommy says people my age shouldnt suck their thumbs.", "Well played. I salute you all.", "Wishing you all the best."}
aura_env.inspirationalQuotes = {
"Sheep love nu metal",
"Students eat what reality stars demand",
"Don't investigate bath salts",
"Push yourself against yoga",
"Artificate regulations",
"Human emotion can't always be sad",
"There is no need to ruin your marriage because of multiresistant bacteria",
"Failing at punching yourself is probably caused by retardation",
"Get erected and don't be scientific",
"Be weary of rimjobs",
"Keep dieting",
"Ignore how your joints are pulsating",
"You cannot allow RFID-chips to jeopardize your dreams",
"Dont you get tired of sleeping?",
"Ass kissing can be a cry for help",
"Stop using a condom",
"Simply being beautiful, doesnt mean youre not average",
"Trust the grotesqueness of time",
"Your head is dissolving the ground",
"Keep in mind how God once said: A friend loves you",
"All you need in order to create art is gasoline and organic vegetables",
"It takes soft drugs, like marijuana to become above average within the business of caressing",
"Carry on straightening",
"Try to think about that ancient proverb: Those who can live through ignorance, can sell out the earth",
"Be the first person ever to listen to what what nobody expects you to listen to",
"Think about that ancient buddhist wisdom: Our bodily orifices end when our orgasms begin",
"Aim to straighten your belly",
"Keep your eyes shut",
"You can be the first person in the world to try to punch what others find unpunchable",
"Think about these words of wisdom: Glory holes begin when mason jars end",
"Keep in mind that you are not average",
"Notice how your nose is letting go",
"Bend your stomach inwards",
"It's your life. Cut your hair",
"I am so clever that sometimes I dont understand a single word of what I am saying",
"The only distinction between daylight and an imaginary friend, is that an imaginary friend doesnt cost anything",
"If one expects irony, one has to prepare for a violin",
"Back in the middle ages there was a dimwitted wanderer who was looking for some poontang, when he encountered a tired, old seer. \"Can you tell me where to find some poontang?\" he asked the seer. The seer quickly replied \"of some poontang I do not know, for I am only a seer\"",
"Think about how your head is energized by the vacuum of space",
"Don't cry over your shrinking wealth, just eat more calories",
"There are some old people who only say no to cryptocurrencies",
"Regret and call 911",
"Reveal your teeth",
"Become independent from fatties",
"Don't stop freaking out",
"Car salesmen become car salesmen because of weakness",
"You have always been a smelly wreck",
"Love milk, die young",
"Childhood is almost identical to being buried alive, you never know what you're gonna get",
"Can you imagine what would happend if the robots were allowed to wear clothes?",
"Where wisdom collapses farts are born",
"Only when you understand the beatuy of vegetables will you confront money",
"Look at the watch, prepare to die, hurt your mouth",
"Before inspiration comes the slaughter",
"Try to tell yourself that you are horrible",
"If you want to get somewhere in life you have to try to be dead",
"Spending time with your family is impossible if you don't do drugs",
"Canada. It's a hoax",
"It's up to you to remind yourself that you are undesired",
"Our large intestines end where our souls begin",
"Seek success but prepare for vegetables",
"Mass-incineration is 70 percent a cry for help",
"Face risk and drink milk",
"There is no I in \"Totalitarianism\"",
"Don't argue with success, be naked",
"If you actually need recognition be a complete imbecile",
"You are a russian bot",
"Each day is another chance to be dreadfully dysfunctional",
"Be the reason why a stranger calls the police at night",
"Hate the mountains",
"Neighbourhoods begin when we learn to moisturize love",
"Puberty can be quite similar to having brain damage",
"Uuuuuurrr Ahhhrrr Uhrrrrr Ahhhhhhrrr Aaaaaarrhg",
"The simple fact that you are dead makes you awesome",
"Get fucked",
"You are being monitored, keep yourself frightened",
"Inspiration is to re-demand ",
"Invert your stomach backwards ",
"Together we can make equality collapse under its own weight ",
"If you find it difficult to achieve the right state, consider this ancient buddhist wisdom: The UFO phenomenon is personalities",
"Isn't it beautiful to take notice of how the air you breathe is letting go of the walls around you?",
}
aura_env.size = table.getn(aura_env.inspirationalQuotes)
print(aura_env.size)

View File

@@ -0,0 +1,131 @@
DISPLAY
function()
if aura_env.errorFlag == 0 then
if aura_env.triggerState == 1 then
local tt = math.floor((GetTime() - aura_env.startTime) * 10)
local nameplateindex = {}
local pointer = 1
if aura_env.target == 0 then
for i = 1, 40 do
if UnitIsPlayer("nameplate" .. i) and UnitIsFriend("player", "nameplate" .. i) then
nameplateindex[pointer] = i
pointer = pointer + 1
end
end
end
if aura_env.target == 1 then
for i = 1, 40 do
if UnitIsPlayer("nameplate" .. i) and UnitIsEnemy("player", "nameplate" .. i) then
nameplateindex[pointer] = i
pointer = pointer + 1
end
end
end
if aura_env.target == 2 then
for i = 1, 40 do
if UnitIsPlayer("nameplate" .. i) then
nameplateindex[pointer] = i
pointer = pointer + 1
end
end
end
if nameplateindex[1] == nil then
nameplateindex[1] = UnitName("player")
end
if tt ~= aura_env.lastTime and tt % aura_env.tickRate == 0 then
DoEmote(aura_env.emoteToken, "nameplate" .. nameplateindex[aura_env.pointer2])
aura_env.pointer2 = aura_env.pointer2 + 1
aura_env.lastTime = tt
end
if aura_env.pointer2 >= pointer then
aura_env.pointer2 = 1
end
end
end
end
CHAT_MSG_WHISPER
function(_,msg,sender)
if aura_env.errorFlag == 0 then
sender = string.match(sender, "%a+")
if aura_env.caseSensitive == 0 then
msg = msg:lower()
aura_env.triggerOn = aura_env.triggerOn:lower()
aura_env.triggerOff = aura_env.triggerOff:lower()
end
if sender == UnitName("player") and msg == aura_env.triggerOn and aura_env.triggerState == 0 then
aura_env.triggerState = 1
print("ENABLED")
end
if sender == UnitName("player") and msg == aura_env.triggerOff and aura_env.triggerState == 1 then
aura_env.triggerState = 0
print("DISABLED")
end
end
end
INIT AND SHOW
--Word to turn on
aura_env.triggerOn = "on"
--Word to turn off
aura_env.triggerOff = "off"
--Case sensitive input?
aura_env.caseSensitive = 0
--Tick interval with 10 being 1 second; must not be <1
aura_env.tickRate = 5
--Emote
aura_env.emoteToken = "wave"
--0 for friendlies, 1 for enemies, 2 for both
aura_env.target = 0
--Do NOT change anything from code below
--For info, questions, feedback or anything alike mail Pinkiepiie on Felsong
aura_env.startTime = GetTime()
aura_env.pointer2 = 1
aura_env.lastTime = 0
aura_env.triggerState = 0
aura_env.errorFlag = 0
if aura_env.triggerOn == "" then
print("|cFFFF0000ERROR::|cFFFFFFFF triggerOn must not be empty!")
aura_env.errorFlag = 1
end
if aura_env.triggerOff == "" then
print("|cFFFF0000ERROR::|cFFFFFFFF triggerOff must not be empty!")
aura_env.errorFlag = 1
end
if aura_env.caseSensitive ~= 0 and aura_env.caseSensitive ~= 1 then
print("|cFFFF0000ERROR::|cFFFFFFFF caseSensitive must be 1 or 0!")
aura_env.errorFlag = 1
end
if aura_env.target ~= 0 and aura_env.target ~= 1 and aura_env.target ~= 2 then
print("|cFFFF0000ERROR::|cFFFFFFFF target must be either 0, 1 or 2!")
aura_env.errorFlag = 1
end
if aura_env.tickRate < 1 then
print("|cFFFF0000ERROR::|cFFFFFFFF tickRate must be > 1!")
aura_env.errorFlag = 1
end
if aura_env.emoteToken == "" then
print("|cFFFF0000ERROR::|cFFFFFFFF emoteToken must not be empty!")
aura_env.errorFlag = 1
end
if aura_env.errorFlag == 0 then
print("-------------------------------------------------------------")
print("Dave's emote spam bonanza extravaganza!")
print("|cFFFF7F7FNAMEPATES MUST BE ENABLED FOR THIS TO WORK!!")
print("~~only works on players~~")
print("Whisper yourself |cFF00FF00" .. aura_env.triggerOn .. "|cFFFFFFFF to unleash mayhem!")
print("To stop the spam whisper |cFFFF0000" .. aura_env.triggerOff .. "|cFFFFFFFF")
print("Current emote is |cFF7F7FFF" .. aura_env.emoteToken .. "|cFFFFFFFF")
if aura_env.target == 0 then
print("Currently spamming |cFF7FFF7Ffriendlies!|cFFFFFFFF")
end
if aura_env.target == 1 then
print("Currently spamming |cFFFF7F7Fenemies!|cFFFFFFFF")
end
if aura_env.target == 2 then
print("Currently spamming |cFF7F7FFFboth!|cFFFFFFFF")
end
print("-------------------------------------------------------------")
end

View File

@@ -0,0 +1,45 @@
CHAT_MSG_TEXT_EMOTE
function(_, msg, sender)
local whitelist = {}
local goodbois = {"Choklata", "Iisa", "Tossmysalade", "Tossmychelka", "Rogeuw", "Melna"}
local docry = 0
if string.match(msg, "you") or string.match(msg, "your") then
docry = 1
for k, v in ipairs(whitelist) do
if sender == v then
docry = 0
break
end
end
for k, v in ipairs(goodbois) do
if sender == v then
docry = 2
break
end
end
if docry == 1 then
local rand = math.random(1, 8)
if rand == 1 then DoEmote("cry", sender) end
if rand == 2 then DoEmote("bonk", sender) end
if rand == 3 then DoEmote("pat", sender) end
if rand == 4 then DoEmote("moon", sender) end
if rand == 5 then DoEmote("agree", sender) end
if rand == 6 then DoEmote("bored", sender) end
if rand == 7 then DoEmote("giggle", sender) end
if rand == 8 then DoEmote("helpme", sender) end
end
if docry == 2 then
local rand = math.random(1, 10)
if rand == 1 then DoEmote("moan", sender) end
if rand == 2 then DoEmote("hug", sender) end
if rand == 3 then DoEmote("love", sender) end
if rand == 4 then DoEmote("cuddle", sender) end
if rand == 5 then DoEmote("drool", sender) end
if rand == 6 then DoEmote("happy", sender) end
if rand == 7 then DoEmote("flirt", sender) end
if rand == 8 then DoEmote("lick", sender) end
if rand == 9 then DoEmote("sexy", sender) end
if rand == 10 then DoEmote("smile", sender) end
end
end
end

View File

@@ -0,0 +1,28 @@
--DISPLAY
function()
return aura_env.fevered .. "/" .. aura_env.swings
end
--COMBAT_LOG_EVENT_UNFILTERED
function(...)
local subEvent = select(3, ...)
local target = select(10, ...)
local caster = select(6, ...)
local spell = select(14, ...)
if subEvent == "SWING_DAMAGE" and target == UnitName("player") and UnitBuff("player", "Infernal Skin") then
aura_env.swings = aura_env.swings + 1
end
if subEvent == "SPELL_DAMAGE" and caster == UnitName("player") and UnitBuff("player", "Infernal Skin") and spell == "Fevered Touch" then
aura_env.fevered = aura_env.fevered + 1
end
end
--PLAYER_REGEN_DISABLED
function()
aura_env.swings = 0
aura_env.fevered = 0
end
--INIT
aura_env.swings = 0
aura_env.fevered = 0

View File

@@ -0,0 +1,9 @@
--Fishing
function()
local fish = {"Glassfin Minnow", "Pygmy Suckerfish"}
local output = ""
for k,v in ipairs(fish) do
output = output .. v .. " " .. GetItemCount(v) .. "\n"
end
return output
end

View File

@@ -0,0 +1,30 @@
--EVERY FRAME
function()
local focusmax = UnitPowerMax("player")
local time = GetTime()
local star, dur = GetSpellCooldown(61304)
local regen = GetPowerRegen()
if dur > 0 and aura_env.spell == "Arcane Shot" then
aura_env.newfocus = aura_env.focus + dur * regen + 8
end
if dur > 0 and aura_env.spell ~= "Arcane Shot" then
aura_env.newfocus = aura_env.focus + dur * regen
end
return aura_env.newfocus, focusmax, 1
end
--COMBAT_LOG_EVENT_UNFILTERED
function(...)
local se = select(3, ...)
if se == "SPELL_CAST_SUCCESS" then
local caster = select(6, ...)
aura_env.spell = select(14, ...)
if caster == UnitName("player") then
aura_env.focus = UnitPower("player")
end
end
end
--INIT
aura_env.focus = 0
aura_env.newfocus = 0

View File

@@ -0,0 +1,29 @@
function()
local output = ""
local friends_on = select(2, GetNumFriends())
local my_zone = GetMapNameByID(GetCurrentMapAreaID())
for i = 1, friends_on do
local name, _, _, zone, _, status, note = GetFriendInfo(i)
local override_color = ""
if note ~= nil and note:match("+") and status ~= "<Busy>" and status ~= "<Away>" then
override_color = "|cFFE541F4"
elseif note ~= nil and note:match("-") and status ~= "<Busy>" and status ~= "<Away>" then
override_color = "|cFF42D9F4"
elseif note ~= nil and note:match(";") and status ~= "<Busy>" and status ~= "<Away>" then
override_color = "|cFF2020D8"
elseif note ~= nil and note:match("_") and status ~= "<Busy>" and status ~= "<Away>" then
override_color = "|cFF7E1357"
else
override_color = ""
end
local zone_color = "|cFF787878"
local status_color = "|cFF00FF00"
if zone == my_zone then zone_color = "|cFF007800" end
if status == "<Busy>" then status_color = "|cFFFF0000" end
if status == "<Away>" then status_color = "|cFFF4C842" end
if name ~= nil then
output = output .. status_color .. override_color .. name .. "|cFFFFFFFF" .. " - " .. zone_color .. zone .. "\n"
end
end
return output
end

View File

@@ -0,0 +1,10 @@
function()
local output = ""
for i = 1, 40 do
local name = UnitName("nameplate" .. i)
if name == "Cult Fanatic" or name == "Cult Adherent" or name == "Deformed Fanatic" or name == "Reanimated Fanatic" or name == "Reanimated Adherent" then
output = output .. name .. "\n"
end
end
return output
end

View File

@@ -0,0 +1,66 @@
-- .add <id> <quant> <mod1> <mod2> <mod3> <mod4> <mod5>
-- .add 136716 1 1672 42 41 40 1
-- Add chat command interaction, pass through flags and aura_env
-- CHAT_MSG_LOOT
function(e, ...)
if not WeakAurasSaved.CustomTrash then WeakAurasSaved.CustomTrash = {} end
if not WeakAurasSaved.CustomTrash.ItemResearch then WeakAurasSaved.CustomTrash.ItemResearch = {} end
if not WeakAurasSaved.CustomTrash.ItemResearch.Stage then WeakAurasSaved.CustomTrash.ItemResearch.Stage = 1 end
if not WeakAurasSaved.CustomTrash.ItemResearch.ilvl then WeakAurasSaved.CustomTrash.ItemResearch.ilvl = 1672 end
local daiTooltip = function(link)
if aura_env.tooltip then
aura_env.tooltip:SetOwner(UIParent, "ANCHOR_NONE")
aura_env.tooltip:ClearLines();
aura_env.tooltip:SetHyperlink(link)
local itemData = {}
itemData[#itemData + 1] = "New item"
itemData[#itemData + 1] = WeakAurasSaved.CustomTrash.ItemResearch.Stage - 1 -- Add parameter info
itemData[#itemData + 1] = "Left text"
for i = 1, aura_env.tooltip:NumLines() do
local field = "MyTooltipTextLeft" .. i
if _G[field]:GetText() then
local text = _G[field]:GetText()
itemData[#itemData + 1] = text
end
end
itemData[#itemData + 1] = "Right text"
for i = 1, aura_env.tooltip:NumLines() do
local field = "MyTooltipTextRight" .. i
if _G[field]:GetText() then
local text = _G[field]:GetText()
itemData[#itemData + 1] = text
end
end
itemData[#itemData + 1] = "End of Item"
itemData[#itemData + 1] = ""
WeakAurasSaved.CustomTrash.ItemResearch[#WeakAurasSaved.CustomTrash.ItemResearch + 1] = itemData;
SendChatMessage(".add 152134 -1", "SAY");
end
end
if e == "CHAT_MSG_LOOT" then
local msg = ...
local link = msg:match("\124c.+\124r")
daiTooltip(link)
end
end
--INIT
if not WeakAurasSaved.CustomTrash then WeakAurasSaved.CustomTrash = {} end
if not WeakAurasSaved.CustomTrash.ItemResearch then WeakAurasSaved.CustomTrash.ItemResearch = {} end
if not WeakAurasSaved.CustomTrash.ItemResearch.Stage then WeakAurasSaved.CustomTrash.ItemResearch.Stage = 1 end
if not WeakAurasSaved.CustomTrash.ItemResearch.ilvl then WeakAurasSaved.CustomTrash.ItemResearch.ilvl = 1672 end
aura_env.tooltip = CreateFrame("GameTooltip", "MyTooltip", UIParent, "GameTooltipTemplate")
local aura_env = aura_env
aura_env.daiItem = function()
print("On stage " .. WeakAurasSaved.CustomTrash.ItemResearch.Stage)
local message = ".add 152134 1 " .. WeakAurasSaved.CustomTrash.ItemResearch.ilvl .. " 42 41 40 " .. WeakAurasSaved.CustomTrash.ItemResearch.Stage
SendChatMessage(message, "PARTY")
WeakAurasSaved.CustomTrash.ItemResearch.Stage = WeakAurasSaved.CustomTrash.ItemResearch.Stage + 1
end
if WeakAurasSaved.CustomTrash.ItemResearch.Ticker and WeakAurasSaved.CustomTrash.ItemResearch.Ticker[0] then WeakAurasSaved.CustomTrash.ItemResearch.Ticker:Cancel(); WeakAurasSaved.CustomTrash.ItemResearch.Ticker = nil end
if not WeakAurasSaved.CustomTrash.ItemResearch.Ticker or WeakAurasSaved.CustomTrash.ItemResearch.Ticker[0] then WeakAurasSaved.CustomTrash.ItemResearch.Ticker = C_Timer.NewTicker(1, aura_env.daiItem) end

View File

@@ -0,0 +1,23 @@
function()
--GPS
local X, Y = UnitPosition("player")
if X < aura_env.X then
print("X DECREASING")
aura_env.X = X
end
if X > aura_env.X then
print("X INCREASING")
aura_env.X = X
end
if Y < aura_env.Y then
print("Y DECREASING")
aura_env.Y = Y
end
if Y > aura_env.Y then
print("Y INCREASING")
aura_env.Y = Y
end
end
aura_env.X = 0
aura_env.Y = 0

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,148 @@
--ID_UPDATED UPDATE_FRAME_GLOW
function(e, id)
if not aura_env.ticker then aura_env.ticker = C_Timer.NewTicker(0.1, function() WeakAuras.ScanEvents("UPDATE_FRAME_GLOW") end) end
if e ~= "ID_UPDATED" then
local hptable = {[1] = ["hp"] = 100000000000, ["id"] = 0, ["mhp"] = 0, ["php"] = 100}
if IsInRaid() then
for i = 1, GetNumGroupMembers() do
--if UnitHealthMax("raid" .. i) - UnitHealth("raid" .. i) > hptable.mhp then --Missing HP
if UnitHealth("raid" .. i) / UnitHealthMax("raid" .. i) < hptable.php then --% HP
if UnitHealth("raid" .. i) / UnitHealthMax("raid" .. i) < 0.5 and UnitHealth("raid" .. i) / UnitHealthMax("raid" .. i) > 0 then
hptable.hp = UnitHealth("raid" .. i)
hptable.mhp = UnitHealthMax("raid" .. i) - UnitHealth("raid" .. i)
hptable.php = UnitHealth("raid" .. i) / UnitHealthMax("raid" .. i)
hptable.id = i
hptable.name = UnitName("raid" .. i)
end
end
end
if hptable.id ~= aura_env.lastID then
WeakAuras.ScanEvents("ID_UPDATED", hptable.id)
aura_env.lastID = hptable.id
end
end
elseif e == "ID_UPDATED" then
if id ~= aura_env.glowingPlate and aura_env.glowingPlate > 0 then
ActionButton_HideOverlayGlow(aura_env.GetFrame("raid" .. aura_env.glowingPlate))
end
if aura_env.GetFrame("raid" .. id) then
ActionButton_ShowOverlayGlow(aura_env.GetFrame("raid" .. id))
aura_env.glowingPlate = id
end
end
end
--INIT
if not aura_env.ticker then aura_env.ticker = C_Timer.NewTicker(0.1, function() WeakAuras.ScanEvents("UPDATE_FRAME_GLOW") end) end
aura_env.lastID = 0
aura_env.glowingPlate = 0
local frame_priority = {
-- raid frames
[1] = "^Vd1", -- vuhdo
[2] = "^Healbot", -- healbot
[3] = "^GridLayout", -- grid
[4] = "^Grid2Layout", -- grid2
[5] = "^ElvUF_RaidGroup", -- elv
[6] = "^oUF_bdGrid", -- bdgrid
[7] = "^oUF.*raid", -- generic oUF
[8] = "^LimeGroup", -- lime
[9] = "^SUFHeaderraid", -- suf
[10] = "^CompactRaid", -- blizz
-- party frames
[11] = "^SUFHeaderparty", --suf
[12] = "^ElvUF_PartyGroup", -- elv
[13] = "^oUF.*party", -- generic oUF
[14] = "^PitBull4_Groups_Party", -- pitbull4
[15] = "^CompactParty", -- blizz
-- player frame
[16] = "^SUFUnitplayer",
[17] = "^PitBull4_Frames_Player",
[18] = "^ElvUF_Player",
[19] = "^oUF.*player",
[20] = "^PlayerFrame",
}
WA_GetFramesCache = WA_GetFramesCache or {}
if not WA_GetFramesCacheListener then
WA_GetFramesCacheListener = CreateFrame("Frame")
local f = WA_GetFramesCacheListener
f:RegisterEvent("PLAYER_REGEN_DISABLED")
f:RegisterEvent("PLAYER_REGEN_ENABLED")
f:RegisterEvent("GROUP_ROSTER_UPDATE")
f:SetScript("OnEvent", function(self, event, ...)
WA_GetFramesCache = {}
end)
end
local function GetFrames(target)
local function FindButtonsForUnit(frame, target)
local results = {}
if type(frame) == "table" and not frame:IsForbidden() then
local type = frame:GetObjectType()
if type == "Frame" or type == "Button" then
for _, child in ipairs({frame:GetChildren()}) do
for _, v in pairs(FindButtonsForUnit(child, target)) do
tinsert(results, v)
end
end
end
if type == "Button" then
local unit = frame:GetAttribute('unit')
if unit and frame:IsVisible() and frame:GetName() then
WA_GetFramesCache[frame] = unit
if UnitIsUnit(unit, target) then
-- print("F:", frame:GetName())
tinsert(results, frame)
end
end
end
end
return results
end
if not UnitExists(target) then
if type(target) == "string" and target:find("Player") then
target = select(6, GetPlayerInfoByGUID(target))
else
return {}
end
end
local results = {}
for frame, unit in pairs(WA_GetFramesCache) do
--print("from cache:", frame:GetName())
if UnitIsUnit(unit, target) then
if frame:GetAttribute('unit') == unit then
tinsert(results, frame)
else
results = {}
break
end
end
end
return #results > 0 and results or FindButtonsForUnit(UIParent, target)
end
local isElvUI = IsAddOnLoaded("ElvUI")
local function WhyElvWhy(frame)
if isElvUI and frame and frame:GetName():find("^ElvUF_") and frame.Health then
return frame.Health
else
return frame
end
end
function aura_env.GetFrame(target)
local frames = GetFrames(target)
if not frames then return nil end
for i = 1, #frame_priority do
for _, frame in pairs(frames) do
if (frame:GetName()):find(frame_priority[i]) then
return WhyElvWhy(frame)
end
end
end
return WhyElvWhy(frames[1])
end

View File

@@ -0,0 +1,76 @@
DISPLAY
function()
local dps = 0; local heal = 0; local tank = 0
local dpsDead = 0; local healDead = 0; local tankDead = 0
if IsInRaid("player") == true then
for i = 1, GetNumGroupMembers() do
if UnitGroupRolesAssigned("raid"..i) == "TANK" then
if UnitIsDeadOrGhost("raid"..i) then
tankDead = tankDead + 1
else
tank = tank + 1
end
end
if UnitGroupRolesAssigned("raid"..i) == "DAMAGER" then
if UnitIsDeadOrGhost("raid"..i) then
dpsDead = dpsDead + 1
else
dps = dps + 1
end
end
if UnitGroupRolesAssigned("raid"..i) == "HEALER" then
if UnitIsDeadOrGhost("raid"..i) then
healDead = healDead + 1
else
heal = heal + 1
end
end
end
else
for i = 1, GetNumGroupMembers() do
if UnitGroupRolesAssigned("party"..i) == "TANK" then
if UnitIsDeadOrGhost("party"..i) then
tankDead = tankDead + 1
else
tank = tank + 1
end
end
if UnitGroupRolesAssigned("party"..i) == "DAMAGER" then
if UnitIsDeadOrGhost("party"..i) then
dpsDead = dpsDead + 1
else
dps = dps + 1
end
end
if UnitGroupRolesAssigned("party"..i) == "HEALER" then
if UnitIsDeadOrGhost("party"..i) then
healDead = healDead + 1
else
heal = heal + 1
end
end
end
if UnitIsDeadOrGhost("player") then
if UnitGroupRolesAssigned("player") == "TANK" then
tankDead = tankDead + 1
end
if UnitGroupRolesAssigned("player") == "DAMAGER" then
dpsDead = dpsDead + 1
end
if UnitGroupRolesAssigned("player") == "HEALER" then
healDead = healDead + 1
end
else
if UnitGroupRolesAssigned("player") == "TANK" then
tank = tank + 1
end
if UnitGroupRolesAssigned("player") == "DAMAGER" then
dps = dps + 1
end
if UnitGroupRolesAssigned("player") == "HEALER" then
heal = heal + 1
end
end
end
return string.format("TANKS: %s \n HEALS: %s \n DPS: %s", tank, heal, dps)
end

View File

@@ -0,0 +1,39 @@
--GROUP_ROSTER_UPDATE
function(e)
local r = "raid"
if IsInRaid() == false then
r = "party"
end
for i = 1, GetNumGroupMembers() do
local n = r .. i
local pname = UnitName(n)
local gname = GetGuildInfo(n)
local grank = select(3, GetGuildInfo(n))
--print(pname, gname, grank)
if not aura_env.playerList[pname] then
aura_env.playerList[pname] = {
["guild"] = gname,
["rank"] = grank,
}
end
end
DevTools_Dump(aura_env.playerList)
table.sort(aura_env.playerList)
DevTools_Dump(aura_env.playerList)
return true
end
--DISPLAY
function()
local output = ""
for k,v in pairs(aura_env.playerList) do
output = k .. " "
if v.guild then
output = output .. v.guild .. " " .. v.rank .. "\n"
end
end
return output
end
--INIT
aura_env.playerList = {}

View File

@@ -0,0 +1,24 @@
--NAME_PLATE_UNIT_ADDED GLOBAL_TICKER
function(e, u)
if e == "NAME_PLATE_UNIT_ADDED" then
local guildName, guildRankName = GetGuildInfo(u);
local uname = UnitName(u)
if uname and u and guildName and guildRankName and guildName == "Indecisive" and not aura_env.unitList[uname]then
--if guildRankName ~= "Trial" and guildName == "Indecisive" and not aura_env.unitList[u] and u then
DoEmote("PAT", u)
--DoEmote("HELLO", u)
aura_env.unitList[uname] = GetTime() + 600
end
elseif e == "ONE_SECOND_TICK" then
for k, v in pairs(aura_env.unitList) do
if GetTime() > v then
aura_env.unitList[uname] = nil
end
end
end
--print(GetTime())
--DevTools_Dump(aura_env.unitList)
end
--INIT
aura_env.unitList = {}

View File

@@ -0,0 +1,23 @@
--SPELL_ACTIVATION_OVERLAY_GLOW_SHOW
function(_,ID)
if ID == 31935 then
CustomTrash.hammersnshields.shields = CustomTrash.hammersnshields.shields + 1
end
end
--COMBAT_LOG_EVENT_UNFILTERED
function(...)
local subevent = select(3, ...)
if subevent == "SPELL_CAST_SUCCESS" then
local caster = select(6, ...)
local spell = select(14, ...)
if caster == UnitName("player") and (spell == "Hammer of the Righteous" or spell == "Blessed Hammer") then
CustomTrash.hammersnshields.hammers = CustomTrash.hammersnshields.hammers + 1
end
end
end
--DISPLAY
function()
return CustomTrash.hammersnshields.shields .. " / " .. CustomTrash.hammersnshields.hammers .. " " .. CustomTrash.hammersnshields.shields / CustomTrash.hammersnshields.hammers
end

View File

@@ -0,0 +1,76 @@
--TSU
--COMBAT_LOG_EVENT_UNFILTERED GROUP_ROSTER_UPDATE
function(allstates, e, ...)
if e == "GROUP_ROSTER_UPDATE" then
for i = 1, GetNumGroupMembers() do
local u = "raid" .. i
if aura_env.healers[UnitName(u)] then aura_env.healers[UnitName(u)] = NULL end
-- if UnitGroupRolesAssigned(u) == "TANK" then
if UnitGroupRolesAssigned(u) == "HEALER" then
aura_env.healers[UnitName(u)] = true
end
for k,v in pairs(aura_env.healers) do
allstates[k] = {
show = true,
changed = true,
progressType = "static",
value = 0,
total = 100,
name = k,
class = select(3, UnitClass(k)),
}
end
end
--DevTools_Dump(allstates)
return true
elseif e == "COMBAT_LOG_EVENT_UNFILTERED" then
local se = select(2, ...)
if se == "SPELL_CAST_SUCCESS" then
local spellId = select(12, ...)
if aura_env.dispels[spellId] then
local caster = select(5, ...)
allstates[caster] = {
show = true,
changed = true,
progressType = "timed",
duration = 8,
expirationTime = GetTime() + 8,
name = caster,
class = select(3, UnitClass(caster)),
}
end
end
return true
end
end
--ON SHOW
if aura_env.state then
local class = aura_env.state.class
aura_env.region.bar:SetForegroundColor(aura_env.classColor(class))
end
--INIT
aura_env.healers = {}
aura_env.dispels = {
[4987] = true, -- Cleanse
[88423] = true, -- Nature's Cure
[77130] = true, -- Purify Spirit
[115450] = true, -- Detox
-- [236186] = true, -- Tank dispel, testing
}
aura_env.classColor = function(class)
if class == 1 then return 0.78, 0.61, 0.43, 1 elseif
class == 2 then return 0.96, 0.55, 0.73, 1 elseif
class == 3 then return 0.67, 0.83, 0.45, 1 elseif
class == 4 then return 1, 0.96, 0.41, 1 elseif
class == 5 then return 1, 1, 1, 1 elseif
class == 6 then return 0.77, 0.12, 0.23, 1 elseif
class == 7 then return 0, 0.44, 0.87, 1 elseif
class == 8 then return 0.25, 0.78, 0.92, 1 elseif
class == 9 then return 0.53, 0.53, 0.93, 1 elseif
class == 10 then return 0, 1, 0.59, 1 elseif
class == 11 then return 1, 0.49, 0.04, 1 elseif
class == 12 then return 0.64, 0.19, 0.79, 1 else
return 1, 1, 1, 1 end
end

View File

@@ -0,0 +1,34 @@
DISPLAY
function()
local output = ""
for k, v in pairs(aura_env.herbs) do
if k == "Starlight Rose" then
if GetItemCount(k) % 7 == 0 then
output = output .. k .. " " .. v .. " " .. GetItemCount(k) .. " " .. GetItemCount(k) / 4 .. " " .. "|cFF6CFF6C" .. math.floor(GetItemCount(k) / 7) .. "\n"
else
output = output .. k .. " " .. v .. " " .. GetItemCount(k) .. " " .. GetItemCount(k) / 4 .. " " .. "|cFFFF6C6C" .. math.floor(GetItemCount(k) / 7) .. " - " .. (math.floor(GetItemCount(k) / 7)) * 7 .. "\n"
end
elseif k == "Icecap" then
output = output .. k .. " " .. v .. " " .. GetItemCount(k) + (GetItemCount("Icecap Petal") / 10) .. "\n"
elseif k == "Mountain Silversage" then
output = output .. k .. " " .. v .. " " .. GetItemCount(k) + (GetItemCount("Mountain Silversage Stalk") / 10) .. "\n"
else
output = output .. k .. " " .. v .. " " .. GetItemCount(k) .. "\n"
end
end
return output
end
CHAT_MSG_OPENING
function(_, msg)
local caster, event, target = msg:match("(%a+) perform ([%a*%s*]+) on ([%a*%s*%p*]+).")
if caster == "You" and event == "Herb Gathering" then
if aura_env.herbs[target] == nil then
aura_env.herbs[target] = 0
end
aura_env.herbs[target] = aura_env.herbs[target] + 1
end
end
INIT
aura_env.herbs = {}

View File

@@ -0,0 +1,37 @@
CHAT_MSG_OPENING
function(_,msg)
local _,_,caster,event,target = string.find(msg, "(%a+)%s*perform*%s*(%a+)%s*Gathering%s*on%s*(%a*)")
local herbN = 0
if caster == "You" and event == "Herb" then
for i = 1, 5 do
if target == aura_env.herbs[i] then
herbN = i
break
end
end
aura_env.herbCount[herbN] = aura_env.herbCount[herbN] + 1
end
end
DISPLAY
function()
local output = ""
for i = 1, 5 do
if aura_env.herbCount[i] > 0 then
if aura_env.herbs[i] == "Starlight" then
if GetItemCount("Starlight Rose") % 7 == 0 then
output = output .. "Starlight Rose" .. " " .. aura_env.herbCount[i] .. " " .. GetItemCount("Starlight Rose") .. " " .. GetItemCount("Starlight Rose") / 4 .. " " .. "|cFF6CFF6C" .. math.floor(GetItemCount("Starlight Rose") / 7) .. "\n"
else
output = output .. "Starlight Rose" .. " " .. aura_env.herbCount[i] .. " " .. GetItemCount("Starlight Rose") .. " " .. GetItemCount("Starlight Rose") / 4 .. " " .. "|cFFFF6C6C" .. math.floor(GetItemCount("Starlight Rose") / 7) .. " - " .. (math.floor(GetItemCount("Starlight Rose") / 7) + 1) * 7 .. "\n"
end
else
output = output .. aura_env.herbs[i] .. " " .. aura_env.herbCount[i] .. " " .. GetItemCount(aura_env.herbs[i]) .. "\n"
end
end
end
return output
end
INIT
aura_env.herbCount = {0, 0, 0, 0, 0}
aura_env.herbs = {"Dreamleaf", "Aethril", "Fjarnskaggl", "Foxflower", "Starlight"}

View File

@@ -0,0 +1,63 @@
--PLAYER_ENTERING_WORLD BAG_UPDATE
function()
aura_env.output = ""
local herbs = {}
local twok = 0
for k, v in pairs(WeakAurasSaved.CustomTrash.HerbQuota) do
if UnitName("player") == "Pinkiepiie" then
WeakAurasSaved.CustomTrash.HerbQuota[k] = GetItemCount(k, 1)
else
herbs[k] = v + GetItemCount(k, 1)
end
if v >= 2400 then twok = twok + 1 end
end
local function hexgrad(val, min, max)
if val >= 2400 then return "\124cff3366ff" end
local function tohex(input)
local output = string.format("%x", input * 255)
return output
end
local function grad(c, min, max)
c = 1 - (((max - c) / (max - min)) * 1)
if c > 0.5 then
c = 1 - (2 * (c - 0.5))
return c, 1, 0, 1
else
c = c * 2
return 1, c, 0, 1
end
end
local color1, color2, color3, color4 = 0, 0, 0, 0
color1, color2, color3, color4 = grad(val, min, max)
color1, color2, color3, color4 = tohex(color1), tohex(color2), tohex(color3), tohex(color4)
color1, color2, color3, color4 = tostring(color1), tostring(color2), tostring(color3), tostring(color4)
if string.len(color1) == 1 then color1 = "0" .. color1 end
if string.len(color2) == 1 then color2 = "0" .. color2 end
if string.len(color3) == 1 then color3 = "0" .. color3 end
if string.len(color4) == 1 then color4 = "0" .. color4 end
local color = "\124c" .. color4 .. color1 .. color2 .. color3
return color
end
for k, v in pairs(WeakAurasSaved.CustomTrash.HerbQuota) do
if twok < 5 then
aura_env.output = aura_env.output .. hexgrad(v, 0, 2400) .. k .. " " .. v .. " / 2400" .. "\124r\n"
end
end
return true
end
--DISPLAY
function()
return aura_env.output
end
--INIT
aura_env.output = ""
if not WeakAurasSaved.CustomTrash.HerbQuota then WeakAurasSaved.CustomTrash.HerbQuota = {} end
WeakAurasSaved.CustomTrash.HerbQuota = {
["Starlight Rose"] = 0,
["Fjarnskaggl"] = 0,
["Foxflower"] = 0,
["Dreamleaf"] = 0,
["Aethril"] = 0,
}

View File

@@ -0,0 +1,65 @@
--EVERY FRAME TRIGGER
function()
if not WeakAurasSaved.HerbSniffer then WeakAurasSaved.HerbSniffer = {} end
if not WeakAurasSaved.HerbSniffer.CD then WeakAurasSaved.HerbSniffer.CD = 0 end
if not WeakAurasSaved.HerbSniffer.NoCD then WeakAurasSaved.HerbSniffer.NoCD = #aura_env.herbs end
local function range (val, min, max, max2)
val = 1 - (((max - val) / (max - min)) * max2)
return val
end
local id = aura_env.GetClosestHerb()
local hX, hY = aura_env.herbs[id]["X"], aura_env.herbs[id]["Y"]
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
local X = pX - hX
local Y = pY - hY
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))) * 100
WeakAurasSaved.HerbSniffer.hyp = aura_env.hyp
aura_env.angle = math.deg(math.atan2(Y, X))
aura_env.angle = aura_env.angle - playerA
aura_env.angle = aura_env.angle - 180
if aura_env.hyp < aura_env.wipeDistance then --When reach herb activate it's cooldown (herbcd[cd] = coords)
aura_env.herbs[id]["CD"] = math.floor(GetTime() + aura_env.cooldown)
WeakAurasSaved.HerbSniffer.CD = WeakAurasSaved.HerbSniffer.CD + 1
WeakAurasSaved.HerbSniffer.NoCD = WeakAurasSaved.HerbSniffer.NoCD - 1
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 10000,
["ID"] = 0
}
end
for k,v in ipairs(aura_env.herbs) do --if cooldown is up then insert back into proper array
local cd = aura_env.herbs[k]["CD"]
if cd > 0 then
if GetTime() > cd then
aura_env.herbs[k]["CD"] = 0
WeakAurasSaved.HerbSniffer.NoCD = WeakAurasSaved.HerbSniffer.NoCD + 1
WeakAurasSaved.HerbSniffer.CD = WeakAurasSaved.HerbSniffer.CD - 1
end
end
end
return true
end
--RESET_COUNTER
function()
WeakAurasSaved.HerbSniffer.CD = 0
WeakAurasSaved.HerbSniffer.NoCD = 200
end
--ANIMATION
function()
return - aura_env.angle
end
--INIT
if WeakAuras.IsOptionsOpen() then WeakAurasSaved.HerbSniffer.CD = 0; WeakAurasSaved.HerbSniffer.NoCD = 200 end

View File

@@ -0,0 +1,14 @@
--DISPLAY
function()
local function round(var, n)
if (n) then
var = math.floor((var * 10^n) + 0.5) / (10^n)
else
var = math.floor(var+0.5)
end
return var
end
if WeakAurasSaved.HerbSniffer.hyp and WeakAurasSaved.HerbSniffer.NoCD and WeakAurasSaved.HerbSniffer.CD then
return round(WeakAurasSaved.HerbSniffer.hyp, 0) .. "\n" .. WeakAurasSaved.HerbSniffer.NoCD .. "\n" .. WeakAurasSaved.HerbSniffer.CD
end
end

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,67 @@
--EVERY FRAME TRIGGER
function()
if not WeakAurasSaved.HerbSniffer then WeakAurasSaved.HerbSniffer = {} end
local function range (val, min, max, max2)
val = 1 - (((max - val) / (max - min)) * max2)
return val
end
local id = aura_env.GetClosestHerb()
if id > -1 then
if not aura_env.herbs then return false end
local hX, hY = aura_env.herbs[id].X, aura_env.herbs[id].Y
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
local X = pX - hX
local Y = pY - hY
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))) * 100
WeakAurasSaved.HerbSniffer.hyp = aura_env.hyp
aura_env.angle = math.deg(math.atan2(Y, X))
aura_env.angle = aura_env.angle - playerA
aura_env.angle = aura_env.angle - 180
if aura_env.hyp < aura_env.wipeDistance then --When reach herb activate it's cooldown (herbcd[cd] = coords)
aura_env.herbs[id].CD = math.floor(GetTime() + aura_env.cooldown)
WeakAurasSaved.HerbSniffer.CD = WeakAurasSaved.HerbSniffer.CD + 1
WeakAurasSaved.HerbSniffer.NoCD = WeakAurasSaved.HerbSniffer.NoCD - 1
aura_env.minID = {
["X"] = 0,
["Y"] = 0,
["D"] = 10000,
["ID"] = -1
}
end
for k, v in ipairs(aura_env.herbs) do --if cooldown is up then insert back into proper array
local cd = aura_env.herbs[k].CD
if cd > 0 then
if GetTime() > cd then
aura_env.herbs[k].CD = 0
WeakAurasSaved.HerbSniffer.NoCD = WeakAurasSaved.HerbSniffer.NoCD + 1
WeakAurasSaved.HerbSniffer.CD = WeakAurasSaved.HerbSniffer.CD - 1
end
end
end
else
return false
end
return true
end
--RESET_COUNTER
function()
WeakAurasSaved.HerbSniffer.CD = 0
WeakAurasSaved.HerbSniffer.NoCD = #aura_env.herbs
end
--ANIMATION
function()
return - aura_env.angle
end
--INIT
if WeakAuras.IsOptionsOpen() then WeakAurasSaved.HerbSniffer.CD = 0; WeakAurasSaved.HerbSniffer.NoCD = #aura_env.herbs end

View File

@@ -0,0 +1,14 @@
--DISPLAY
function()
local function round(var, n)
if (n) then
var = math.floor((var * 10 ^ n) + 0.5) / (10 ^ n)
else
var = math.floor(var + 0.5)
end
return var
end
if WeakAurasSaved.HerbSniffer.hyp and WeakAurasSaved.HerbSniffer.NoCD and WeakAurasSaved.HerbSniffer.CD then
return round(WeakAurasSaved.HerbSniffer.hyp, 0) .. "\n" .. WeakAurasSaved.HerbSniffer.NoCD .. "\n" .. WeakAurasSaved.HerbSniffer.CD
end
end

View File

@@ -0,0 +1,82 @@
aura_env.herbs = {
[1] = {
["X"] = 49.38,
["Y"] = 77.73,
["CD"] = 0,
},
[2] = {
["X"] = 48.13,
["Y"] = 85.04,
["CD"] = 0,
},
[3] = {
["X"] = 47.99,
["Y"] = 73.48,
["CD"] = 0,
},
[4] = {
["X"] = 55.28,
["Y"] = 61.71,
["CD"] = 0,
},
[5] = {
["X"] = 58.67,
["Y"] = 59.56,
["CD"] = 0,
},
[6] = {
["X"] = 57.57,
["Y"] = 57.4,
["CD"] = 0,
},
[7] = {
["X"] = 57.13,
["Y"] = 60.08,
["CD"] = 0,
},
[8] = {
["X"] = 55.73,
["Y"] = 51.76,
["CD"] = 0,
},
[9] = {
["X"] = 56.14,
["Y"] = 51.59,
["CD"] = 0,
},
[10] = {
["X"] = 41.07,
["Y"] = 73.8,
["CD"] = 0,
},
}
aura_env.cooldown = 600
aura_env.wipeDistance = 50
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID = {
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = -1
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k, v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k].X, aura_env.herbs[k].Y, aura_env.herbs[k].CD
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X ^ 2)) + (math.abs(Y ^ 2)))
if hyp < aura_env.minID.D then
aura_env.minID.X = hX
aura_env.minID.Y = hY
aura_env.minID.D = hyp
aura_env.minID.ID = k
end
end
end
return aura_env.minID.ID
end
if WeakAuras.IsOptionsOpen() then WeakAurasSaved.HerbSniffer.CD = 0; WeakAurasSaved.HerbSniffer.NoCD = #aura_env.herbs end

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,77 @@
aura_env.herbs = {
[1] = {
["X"] = 58.54,
["Y"] = 51.33,
["CD"] = 0,
},
[2] = {
["X"] = 55.51,
["Y"] = 55.97,
["CD"] = 0,
},
[3] = {
["X"] = 49.55,
["Y"] = 58.43,
["CD"] = 0,
},
[4] = {
["X"] = 55.87,
["Y"] = 79,
["CD"] = 0,
},
[5] = {
["X"] = 56.32,
["Y"] = 77.94,
["CD"] = 0,
},
[6] = {
["X"] = 57.65,
["Y"] = 72.89,
["CD"] = 0,
},
[7] = {
["X"] = 52.06,
["Y"] = 22.41,
["CD"] = 0,
},
[8] = {
["X"] = 49.8,
["Y"] = 14.15,
["CD"] = 0,
},
[9] = {
["X"] = 42.4,
["Y"] = 71.35,
["CD"] = 0,
},
[10] = {
["X"] = 66.74,
["Y"] = 37.04,
["CD"] = 0,
},
[11] = {
["X"] = 71.61,
["Y"] = 34.02,
["CD"] = 0,
},
[12] = {
["X"] = 43.66,
["Y"] = 42.8,
["CD"] = 0,
},
[13] = {
["X"] = 51.79,
["Y"] = 70.39,
["CD"] = 0,
},
[14] = {
["X"] = 45.17,
["Y"] = 53.13,
["CD"] = 0,
},
[15] = {
["X"] = 71.88,
["Y"] = 27.85,
["CD"] = 0,
},
}

View File

@@ -0,0 +1,933 @@
aura_env.herbs =
{
[1] =
{
["X"] = 52.44,
["Y"] = 12.55,
["CD"] = 0
},
[2] =
{
["X"] = 43.81,
["Y"] = 13.48,
["CD"] = 0
},
[3] =
{
["X"] = 43.5,
["Y"] = 11.55,
["CD"] = 0
},
[4] =
{
["X"] = 43.54,
["Y"] = 10.41,
["CD"] = 0
},
[5] =
{
["X"] = 44.04,
["Y"] = 10.02,
["CD"] = 0
},
[6] =
{
["X"] = 45.05,
["Y"] = 8.91,
["CD"] = 0
},
[7] =
{
["X"] = 45.31,
["Y"] = 9.62,
["CD"] = 0
},
[8] =
{
["X"] = 50.71,
["Y"] = 12.66,
["CD"] = 0
},
[9] =
{
["X"] = 51.42,
["Y"] = 10.39,
["CD"] = 0
},
[10] =
{
["X"] = 51.03,
["Y"] = 11.49,
["CD"] = 0
},
[11] =
{
["X"] = 52.24,
["Y"] = 13.93,
["CD"] = 0
},
[12] =
{
["X"] = 53.1,
["Y"] = 13.66,
["CD"] = 0
},
[13] =
{
["X"] = 54.52,
["Y"] = 13.09,
["CD"] = 0
},
[14] =
{
["X"] = 53.98,
["Y"] = 15.09,
["CD"] = 0
},
[15] =
{
["X"] = 57.19,
["Y"] = 18.32,
["CD"] = 0
},
[16] =
{
["X"] = 57.95,
["Y"] = 19.85,
["CD"] = 0
},
[17] =
{
["X"] = 61.05,
["Y"] = 17.05,
["CD"] = 0
},
[18] =
{
["X"] = 62.21,
["Y"] = 16.11,
["CD"] = 0
},
[19] =
{
["X"] = 62.26,
["Y"] = 17.91,
["CD"] = 0
},
[20] =
{
["X"] = 61.86,
["Y"] = 18.55,
["CD"] = 0
},
[21] =
{
["X"] = 59.87,
["Y"] = 20.07,
["CD"] = 0
},
[22] =
{
["X"] = 60.17,
["Y"] = 20.82,
["CD"] = 0
},
[23] =
{
["X"] = 60.31,
["Y"] = 21.25,
["CD"] = 0
},
[24] =
{
["X"] = 58.31,
["Y"] = 24.61,
["CD"] = 0
},
[25] =
{
["X"] = 58.91,
["Y"] = 22.75,
["CD"] = 0
},
[26] =
{
["X"] = 59.92,
["Y"] = 22.74,
["CD"] = 0
},
[27] =
{
["X"] = 61.61,
["Y"] = 26.13,
["CD"] = 0
},
[28] =
{
["X"] = 61.21,
["Y"] = 27.72,
["CD"] = 0
},
[29] =
{
["X"] = 61.95,
["Y"] = 30.74,
["CD"] = 0
},
[30] =
{
["X"] = 63.08,
["Y"] = 30.76,
["CD"] = 0
},
[31] =
{
["X"] = 62.57,
["Y"] = 28.52,
["CD"] = 0
},
[32] =
{
["X"] = 64.55,
["Y"] = 27.75,
["CD"] = 0
},
[33] =
{
["X"] = 65.58,
["Y"] = 38.31,
["CD"] = 0
},
[34] =
{
["X"] = 66.38,
["Y"] = 38.49,
["CD"] = 0
},
[35] =
{
["X"] = 66.44,
["Y"] = 35.73,
["CD"] = 0
},
[36] =
{
["X"] = 65.28,
["Y"] = 35.11,
["CD"] = 0
},
[37] =
{
["X"] = 64.73,
["Y"] = 34.57,
["CD"] = 0
},
[38] =
{
["X"] = 63.54,
["Y"] = 34.19,
["CD"] = 0
},
[39] =
{
["X"] = 64.81,
["Y"] = 45.69,
["CD"] = 0
},
[40] =
{
["X"] = 63.1,
["Y"] = 46.83,
["CD"] = 0
},
[41] =
{
["X"] = 59.34,
["Y"] = 49.85,
["CD"] = 0
},
[42] =
{
["X"] = 56.61,
["Y"] = 52.15,
["CD"] = 0
},
[43] =
{
["X"] = 53.11,
["Y"] = 54.38,
["CD"] = 0
},
[44] =
{
["X"] = 51.66,
["Y"] = 55.68,
["CD"] = 0
},
[45] =
{
["X"] = 50.1,
["Y"] = 55.25,
["CD"] = 0
},
[46] =
{
["X"] = 50.05,
["Y"] = 56.35,
["CD"] = 0
},
[47] =
{
["X"] = 49.08,
["Y"] = 55.87,
["CD"] = 0
},
[48] =
{
["X"] = 36.28,
["Y"] = 21.97,
["CD"] = 0
},
[49] =
{
["X"] = 36.07,
["Y"] = 23.09,
["CD"] = 0
},
[50] =
{
["X"] = 35.3,
["Y"] = 23.32,
["CD"] = 0
},
[51] =
{
["X"] = 35.24,
["Y"] = 25.27,
["CD"] = 0
},
[52] =
{
["X"] = 35.84,
["Y"] = 26.66,
["CD"] = 0
},
[53] =
{
["X"] = 35.28,
["Y"] = 28.34,
["CD"] = 0
},
[54] =
{
["X"] = 38.92,
["Y"] = 33.69,
["CD"] = 0
},
[55] =
{
["X"] = 38.76,
["Y"] = 32.81,
["CD"] = 0
},
[56] =
{
["X"] = 39.8,
["Y"] = 32.01,
["CD"] = 0
},
[57] =
{
["X"] = 38.58,
["Y"] = 31.7,
["CD"] = 0
},
[58] =
{
["X"] = 37.15,
["Y"] = 31.49,
["CD"] = 0
},
[59] =
{
["X"] = 37.81,
["Y"] = 33.03,
["CD"] = 0
},
[60] =
{
["X"] = 38.91,
["Y"] = 33.95,
["CD"] = 0
},
[61] =
{
["X"] = 46.87,
["Y"] = 32.18,
["CD"] = 0
},
[62] =
{
["X"] = 46.45,
["Y"] = 33.24,
["CD"] = 0
},
[63] =
{
["X"] = 42.85,
["Y"] = 29.84,
["CD"] = 0
},
[64] =
{
["X"] = 42.2,
["Y"] = 30.7,
["CD"] = 0
},
[65] =
{
["X"] = 41.42,
["Y"] = 31.81,
["CD"] = 0
},
[66] =
{
["X"] = 40.38,
["Y"] = 32.88,
["CD"] = 0
},
[67] =
{
["X"] = 40.63,
["Y"] = 35.62,
["CD"] = 0
},
[68] =
{
["X"] = 43.97,
["Y"] = 31.84,
["CD"] = 0
},
[69] =
{
["X"] = 45.87,
["Y"] = 28.71,
["CD"] = 0
},
[70] =
{
["X"] = 44.62,
["Y"] = 30.16,
["CD"] = 0
},
[71] =
{
["X"] = 44.16,
["Y"] = 31.22,
["CD"] = 0
},
[72] =
{
["X"] = 45.01,
["Y"] = 33.8,
["CD"] = 0
},
[73] =
{
["X"] = 44.82,
["Y"] = 35.66,
["CD"] = 0
},
[74] =
{
["X"] = 44.33,
["Y"] = 38.18,
["CD"] = 0
},
[75] =
{
["X"] = 44.13,
["Y"] = 36.79,
["CD"] = 0
},
[76] =
{
["X"] = 43.29,
["Y"] = 36.63,
["CD"] = 0
},
[77] =
{
["X"] = 58.5,
["Y"] = 44.5,
["CD"] = 0
},
[78] =
{
["X"] = 56.98,
["Y"] = 46.04,
["CD"] = 0
},
[79] =
{
["X"] = 56.87,
["Y"] = 47.43,
["CD"] = 0
},
[80] =
{
["X"] = 58.08,
["Y"] = 48.77,
["CD"] = 0
},
[81] =
{
["X"] = 58.1,
["Y"] = 47.82,
["CD"] = 0
},
[82] =
{
["X"] = 59.82,
["Y"] = 48.78,
["CD"] = 0
},
[83] =
{
["X"] = 61.93,
["Y"] = 50.54,
["CD"] = 0
},
[84] =
{
["X"] = 60.81,
["Y"] = 49.52,
["CD"] = 0
},
[85] =
{
["X"] = 60.13,
["Y"] = 50.52,
["CD"] = 0
},
[86] =
{
["X"] = 58.7,
["Y"] = 50.72,
["CD"] = 0
},
[87] =
{
["X"] = 57.92,
["Y"] = 51.18,
["CD"] = 0
},
[88] =
{
["X"] = 56.76,
["Y"] = 51.49,
["CD"] = 0
},
[89] =
{
["X"] = 57.02,
["Y"] = 53.1,
["CD"] = 0
},
[90] =
{
["X"] = 60.5,
["Y"] = 55.71,
["CD"] = 0
},
[91] =
{
["X"] = 61.23,
["Y"] = 55.29,
["CD"] = 0
},
[92] =
{
["X"] = 62.2,
["Y"] = 54.63,
["CD"] = 0
},
[93] =
{
["X"] = 62.35,
["Y"] = 53.03,
["CD"] = 0
},
[94] =
{
["X"] = 61.71,
["Y"] = 51.69,
["CD"] = 0
},
[95] =
{
["X"] = 62.88,
["Y"] = 48.79,
["CD"] = 0
},
[96] =
{
["X"] = 59.03,
["Y"] = 16.36,
["CD"] = 0
},
[97] =
{
["X"] = 56.05,
["Y"] = 52.99,
["CD"] = 0
},
[98] =
{
["X"] = 54.9,
["Y"] = 54.78,
["CD"] = 0
},
[99] =
{
["X"] = 46.89,
["Y"] = 48.44,
["CD"] = 0
},
[100] =
{
["X"] = 48.12,
["Y"] = 52.99,
["CD"] = 0
},
[101] =
{
["X"] = 50.61,
["Y"] = 58.06,
["CD"] = 0
},
[102] =
{
["X"] = 65.48,
["Y"] = 47.52,
["CD"] = 0
},
[103] =
{
["X"] = 66.67,
["Y"] = 48.25,
["CD"] = 0
},
[104] =
{
["X"] = 67.25,
["Y"] = 46.04,
["CD"] = 0
},
[105] =
{
["X"] = 67.21,
["Y"] = 43.27,
["CD"] = 0
},
[106] =
{
["X"] = 56.87,
["Y"] = 48.7,
["CD"] = 0
},
[107] =
{
["X"] = 47.7,
["Y"] = 38.02,
["CD"] = 0
},
[108] =
{
["X"] = 45.05,
["Y"] = 37.62,
["CD"] = 0
},
[109] =
{
["X"] = 48.4,
["Y"] = 32.78,
["CD"] = 0
},
[110] =
{
["X"] = 51.98,
["Y"] = 31.45,
["CD"] = 0
},
[111] =
{
["X"] = 57.2,
["Y"] = 27.62,
["CD"] = 0
},
[112] =
{
["X"] = 61.29,
["Y"] = 29.89,
["CD"] = 0
},
[113] =
{
["X"] = 64.67,
["Y"] = 31.6,
["CD"] = 0
},
[114] =
{
["X"] = 60.67,
["Y"] = 23.86,
["CD"] = 0
},
[115] =
{
["X"] = 62.79,
["Y"] = 25.61,
["CD"] = 0
},
[116] =
{
["X"] = 66.4,
["Y"] = 36.85,
["CD"] = 0
},
[117] =
{
["X"] = 63.3,
["Y"] = 35.71,
["CD"] = 0
},
[118] =
{
["X"] = 54.11,
["Y"] = 30.37,
["CD"] = 0
},
[119] =
{
["X"] = 57.92,
["Y"] = 33.75,
["CD"] = 0
},
[120] =
{
["X"] = 42.81,
["Y"] = 10.38,
["CD"] = 0
},
[121] =
{
["X"] = 48.74,
["Y"] = 10.63,
["CD"] = 0
},
[122] =
{
["X"] = 40.78,
["Y"] = 11.45,
["CD"] = 0
},
[123] =
{
["X"] = 39.74,
["Y"] = 13.5,
["CD"] = 0
},
[124] =
{
["X"] = 35.84,
["Y"] = 15.6,
["CD"] = 0
},
[125] =
{
["X"] = 35.53,
["Y"] = 22.66,
["CD"] = 0
},
[126] =
{
["X"] = 35.42,
["Y"] = 27.64,
["CD"] = 0
},
[127] =
{
["X"] = 32.97,
["Y"] = 32.94,
["CD"] = 0
},
[128] =
{
["X"] = 38.01,
["Y"] = 35.61,
["CD"] = 0
},
[129] =
{
["X"] = 52.67,
["Y"] = 26.74,
["CD"] = 0
},
[130] =
{
["X"] = 54.31,
["Y"] = 17.67,
["CD"] = 0
},
[131] =
{
["X"] = 56.06,
["Y"] = 19.39,
["CD"] = 0
},
[132] =
{
["X"] = 51.37,
["Y"] = 15.24,
["CD"] = 0
},
[133] =
{
["X"] = 45.71,
["Y"] = 15.14,
["CD"] = 0
},
[134] =
{
["X"] = 46.61,
["Y"] = 16.25,
["CD"] = 0
},
[135] =
{
["X"] = 48.01,
["Y"] = 12.51,
["CD"] = 0
},
[136] =
{
["X"] = 44.59,
["Y"] = 32.83,
["CD"] = 0
},
[137] =
{
["X"] = 41.47,
["Y"] = 33.61,
["CD"] = 0
},
[138] =
{
["X"] = 42.3,
["Y"] = 36.7,
["CD"] = 0
},
[139] =
{
["X"] = 40.85,
["Y"] = 38.78,
["CD"] = 0
},
[140] =
{
["X"] = 39.97,
["Y"] = 53.3,
["CD"] = 0
},
[141] =
{
["X"] = 48.93,
["Y"] = 43.77,
["CD"] = 0
},
[142] =
{
["X"] = 60.71,
["Y"] = 36.87,
["CD"] = 0
},
[143] =
{
["X"] = 61.83,
["Y"] = 39.44,
["CD"] = 0
},
[144] =
{
["X"] = 56.71,
["Y"] = 64.6,
["CD"] = 0
},
[145] =
{
["X"] = 57,
["Y"] = 62.25,
["CD"] = 0
},
[146] =
{
["X"] = 62.66,
["Y"] = 54.86,
["CD"] = 0
},
[147] =
{
["X"] = 61.84,
["Y"] = 55.45,
["CD"] = 0
},
[148] =
{
["X"] = 56.88,
["Y"] = 61.05,
["CD"] = 0
},
[149] =
{
["X"] = 52.56,
["Y"] = 60.68,
["CD"] = 0
},
[150] =
{
["X"] = 46,
["Y"] = 61.02,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 50
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,519 @@
aura_env.herbs =
{
[1] =
{
["X"] = 39.26,
["Y"] = 49.83,
["CD"] = 0
},
[2] =
{
["X"] = 37.03,
["Y"] = 50.59,
["CD"] = 0
},
[3] =
{
["X"] = 28.08,
["Y"] = 56.13,
["CD"] = 0
},
[4] =
{
["X"] = 29.49,
["Y"] = 55.41,
["CD"] = 0
},
[5] =
{
["X"] = 30.68,
["Y"] = 54.32,
["CD"] = 0
},
[6] =
{
["X"] = 35.43,
["Y"] = 50.28,
["CD"] = 0
},
[7] =
{
["X"] = 36.67,
["Y"] = 48.79,
["CD"] = 0
},
[8] =
{
["X"] = 38.25,
["Y"] = 48.17,
["CD"] = 0
},
[9] =
{
["X"] = 46.08,
["Y"] = 23.02,
["CD"] = 0
},
[10] =
{
["X"] = 45.35,
["Y"] = 21.67,
["CD"] = 0
},
[11] =
{
["X"] = 44.45,
["Y"] = 20.35,
["CD"] = 0
},
[12] =
{
["X"] = 45.48,
["Y"] = 19.74,
["CD"] = 0
},
[13] =
{
["X"] = 46.97,
["Y"] = 18.39,
["CD"] = 0
},
[14] =
{
["X"] = 47.91,
["Y"] = 17.92,
["CD"] = 0
},
[15] =
{
["X"] = 49.28,
["Y"] = 19.47,
["CD"] = 0
},
[16] =
{
["X"] = 50.02,
["Y"] = 21.88,
["CD"] = 0
},
[17] =
{
["X"] = 50.97,
["Y"] = 23.78,
["CD"] = 0
},
[18] =
{
["X"] = 57.33,
["Y"] = 24.33,
["CD"] = 0
},
[19] =
{
["X"] = 52.96,
["Y"] = 28.43,
["CD"] = 0
},
[20] =
{
["X"] = 53.04,
["Y"] = 26.47,
["CD"] = 0
},
[21] =
{
["X"] = 54.27,
["Y"] = 25.68,
["CD"] = 0
},
[22] =
{
["X"] = 55.57,
["Y"] = 26,
["CD"] = 0
},
[23] =
{
["X"] = 54.52,
["Y"] = 26.35,
["CD"] = 0
},
[24] =
{
["X"] = 53.71,
["Y"] = 27.51,
["CD"] = 0
},
[25] =
{
["X"] = 53.92,
["Y"] = 30.54,
["CD"] = 0
},
[26] =
{
["X"] = 53.84,
["Y"] = 31.85,
["CD"] = 0
},
[27] =
{
["X"] = 53.49,
["Y"] = 33.43,
["CD"] = 0
},
[28] =
{
["X"] = 54.42,
["Y"] = 34.99,
["CD"] = 0
},
[29] =
{
["X"] = 54.65,
["Y"] = 37.19,
["CD"] = 0
},
[30] =
{
["X"] = 54.78,
["Y"] = 38.61,
["CD"] = 0
},
[31] =
{
["X"] = 58.46,
["Y"] = 42.74,
["CD"] = 0
},
[32] =
{
["X"] = 59.89,
["Y"] = 42.95,
["CD"] = 0
},
[33] =
{
["X"] = 61.04,
["Y"] = 43.6,
["CD"] = 0
},
[34] =
{
["X"] = 62.82,
["Y"] = 44.77,
["CD"] = 0
},
[35] =
{
["X"] = 64.28,
["Y"] = 47.39,
["CD"] = 0
},
[36] =
{
["X"] = 65.46,
["Y"] = 50.29,
["CD"] = 0
},
[37] =
{
["X"] = 66.36,
["Y"] = 51.96,
["CD"] = 0
},
[38] =
{
["X"] = 67.58,
["Y"] = 55.86,
["CD"] = 0
},
[39] =
{
["X"] = 67.69,
["Y"] = 57.08,
["CD"] = 0
},
[40] =
{
["X"] = 66.7,
["Y"] = 59.1,
["CD"] = 0
},
[41] =
{
["X"] = 66.09,
["Y"] = 61.15,
["CD"] = 0
},
[42] =
{
["X"] = 65.52,
["Y"] = 62.29,
["CD"] = 0
},
[43] =
{
["X"] = 65.16,
["Y"] = 62.99,
["CD"] = 0
},
[44] =
{
["X"] = 45.97,
["Y"] = 13.34,
["CD"] = 0
},
[45] =
{
["X"] = 40.08,
["Y"] = 15.91,
["CD"] = 0
},
[46] =
{
["X"] = 41.09,
["Y"] = 18.18,
["CD"] = 0
},
[47] =
{
["X"] = 43.27,
["Y"] = 19.12,
["CD"] = 0
},
[48] =
{
["X"] = 44.76,
["Y"] = 16.28,
["CD"] = 0
},
[49] =
{
["X"] = 47.09,
["Y"] = 16.2,
["CD"] = 0
},
[50] =
{
["X"] = 49.71,
["Y"] = 18,
["CD"] = 0
},
[51] =
{
["X"] = 52.2,
["Y"] = 18.56,
["CD"] = 0
},
[52] =
{
["X"] = 51.68,
["Y"] = 21.51,
["CD"] = 0
},
[53] =
{
["X"] = 55.89,
["Y"] = 40.14,
["CD"] = 0
},
[54] =
{
["X"] = 57.1,
["Y"] = 41.6,
["CD"] = 0
},
[55] =
{
["X"] = 57.64,
["Y"] = 41.94,
["CD"] = 0
},
[56] =
{
["X"] = 67.58,
["Y"] = 52.38,
["CD"] = 0
},
[57] =
{
["X"] = 66.9,
["Y"] = 54.24,
["CD"] = 0
},
[58] =
{
["X"] = 66.73,
["Y"] = 56.48,
["CD"] = 0
},
[59] =
{
["X"] = 59.94,
["Y"] = 67.07,
["CD"] = 0
},
[60] =
{
["X"] = 58.56,
["Y"] = 67.12,
["CD"] = 0
},
[61] =
{
["X"] = 57.31,
["Y"] = 67.5,
["CD"] = 0
},
[62] =
{
["X"] = 49.51,
["Y"] = 58.28,
["CD"] = 0
},
[63] =
{
["X"] = 49.02,
["Y"] = 57.03,
["CD"] = 0
},
[64] =
{
["X"] = 48.15,
["Y"] = 55.84,
["CD"] = 0
},
[65] =
{
["X"] = 41.46,
["Y"] = 49.57,
["CD"] = 0
},
[66] =
{
["X"] = 40,
["Y"] = 48.65,
["CD"] = 0
},
[67] =
{
["X"] = 38.79,
["Y"] = 48.34,
["CD"] = 0
},
[68] =
{
["X"] = 34.57,
["Y"] = 51.11,
["CD"] = 0
},
[69] =
{
["X"] = 33.22,
["Y"] = 52.3,
["CD"] = 0
},
[70] =
{
["X"] = 31.83,
["Y"] = 53.23,
["CD"] = 0
},
[71] =
{
["X"] = 31.47,
["Y"] = 53.57,
["CD"] = 0
},
[72] =
{
["X"] = 53.43,
["Y"] = 18.24,
["CD"] = 0
},
[73] =
{
["X"] = 50.1,
["Y"] = 11.22,
["CD"] = 0
},
[74] =
{
["X"] = 51.42,
["Y"] = 23.49,
["CD"] = 0
},
[75] =
{
["X"] = 44.44,
["Y"] = 13.95,
["CD"] = 0
},
[76] =
{
["X"] = 43.51,
["Y"] = 17.14,
["CD"] = 0
},
[77] =
{
["X"] = 41.16,
["Y"] = 49.52,
["CD"] = 0
},
[78] =
{
["X"] = 46.7,
["Y"] = 53.95,
["CD"] = 0
},
[79] =
{
["X"] = 58.72,
["Y"] = 67.38,
["CD"] = 0
},
[80] =
{
["X"] = 56.91,
["Y"] = 41.1,
["CD"] = 0
},
[81] =
{
["X"] = 68.57,
["Y"] = 51.75,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 50
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,453 @@
aura_env.herbs =
{
[1] =
{
["X"] = 55.83,
["Y"] = 70.82,
["CD"] = 0
},
[2] =
{
["X"] = 54.79,
["Y"] = 69.62,
["CD"] = 0
},
[3] =
{
["X"] = 54.46,
["Y"] = 68.85,
["CD"] = 0
},
[4] =
{
["X"] = 54.06,
["Y"] = 67.47,
["CD"] = 0
},
[5] =
{
["X"] = 53.67,
["Y"] = 65.79,
["CD"] = 0
},
[6] =
{
["X"] = 54.4,
["Y"] = 64.58,
["CD"] = 0
},
[7] =
{
["X"] = 55.43,
["Y"] = 63.88,
["CD"] = 0
},
[8] =
{
["X"] = 56.1,
["Y"] = 64.35,
["CD"] = 0
},
[9] =
{
["X"] = 56.57,
["Y"] = 65.06,
["CD"] = 0
},
[10] =
{
["X"] = 57.3,
["Y"] = 65.21,
["CD"] = 0
},
[11] =
{
["X"] = 58.88,
["Y"] = 64.48,
["CD"] = 0
},
[12] =
{
["X"] = 60.57,
["Y"] = 63.9,
["CD"] = 0
},
[13] =
{
["X"] = 61.47,
["Y"] = 63.7,
["CD"] = 0
},
[14] =
{
["X"] = 62.21,
["Y"] = 63.3,
["CD"] = 0
},
[15] =
{
["X"] = 63.2,
["Y"] = 63.12,
["CD"] = 0
},
[16] =
{
["X"] = 64.17,
["Y"] = 62.56,
["CD"] = 0
},
[17] =
{
["X"] = 65.08,
["Y"] = 61.77,
["CD"] = 0
},
[18] =
{
["X"] = 65.39,
["Y"] = 60.16,
["CD"] = 0
},
[19] =
{
["X"] = 65.57,
["Y"] = 57.98,
["CD"] = 0
},
[20] =
{
["X"] = 65.53,
["Y"] = 55.56,
["CD"] = 0
},
[21] =
{
["X"] = 64.44,
["Y"] = 52.37,
["CD"] = 0
},
[22] =
{
["X"] = 63.86,
["Y"] = 50.96,
["CD"] = 0
},
[23] =
{
["X"] = 63.14,
["Y"] = 49.74,
["CD"] = 0
},
[24] =
{
["X"] = 58.31,
["Y"] = 47.48,
["CD"] = 0
},
[25] =
{
["X"] = 56.2,
["Y"] = 46.51,
["CD"] = 0
},
[26] =
{
["X"] = 55.45,
["Y"] = 47.13,
["CD"] = 0
},
[27] =
{
["X"] = 55.15,
["Y"] = 48.26,
["CD"] = 0
},
[28] =
{
["X"] = 54.81,
["Y"] = 49.21,
["CD"] = 0
},
[29] =
{
["X"] = 55.15,
["Y"] = 49.72,
["CD"] = 0
},
[30] =
{
["X"] = 56.01,
["Y"] = 50.37,
["CD"] = 0
},
[31] =
{
["X"] = 56.01,
["Y"] = 50.37,
["CD"] = 0
},
[32] =
{
["X"] = 56.01,
["Y"] = 50.37,
["CD"] = 0
},
[33] =
{
["X"] = 57.26,
["Y"] = 51.69,
["CD"] = 0
},
[34] =
{
["X"] = 57.23,
["Y"] = 53.17,
["CD"] = 0
},
[35] =
{
["X"] = 57.06,
["Y"] = 53.85,
["CD"] = 0
},
[36] =
{
["X"] = 57.09,
["Y"] = 54.24,
["CD"] = 0
},
[37] =
{
["X"] = 56.75,
["Y"] = 54.17,
["CD"] = 0
},
[38] =
{
["X"] = 56.22,
["Y"] = 53.84,
["CD"] = 0
},
[39] =
{
["X"] = 55.69,
["Y"] = 53.19,
["CD"] = 0
},
[40] =
{
["X"] = 55.34,
["Y"] = 53.27,
["CD"] = 0
},
[41] =
{
["X"] = 54.31,
["Y"] = 53.97,
["CD"] = 0
},
[42] =
{
["X"] = 54.17,
["Y"] = 53.51,
["CD"] = 0
},
[43] =
{
["X"] = 53.38,
["Y"] = 53.84,
["CD"] = 0
},
[44] =
{
["X"] = 52.77,
["Y"] = 53.98,
["CD"] = 0
},
[45] =
{
["X"] = 51.93,
["Y"] = 53.19,
["CD"] = 0
},
[46] =
{
["X"] = 51.84,
["Y"] = 52.64,
["CD"] = 0
},
[47] =
{
["X"] = 52.12,
["Y"] = 51.32,
["CD"] = 0
},
[48] =
{
["X"] = 52.44,
["Y"] = 49.9,
["CD"] = 0
},
[49] =
{
["X"] = 52.48,
["Y"] = 48.98,
["CD"] = 0
},
[50] =
{
["X"] = 52.39,
["Y"] = 48.33,
["CD"] = 0
},
[51] =
{
["X"] = 52.08,
["Y"] = 47.18,
["CD"] = 0
},
[52] =
{
["X"] = 51.87,
["Y"] = 46.8,
["CD"] = 0
},
[53] =
{
["X"] = 50.91,
["Y"] = 47.03,
["CD"] = 0
},
[54] =
{
["X"] = 50.39,
["Y"] = 46.97,
["CD"] = 0
},
[55] =
{
["X"] = 50,
["Y"] = 46.65,
["CD"] = 0
},
[56] =
{
["X"] = 49.86,
["Y"] = 46.22,
["CD"] = 0
},
[57] =
{
["X"] = 49.44,
["Y"] = 46.49,
["CD"] = 0
},
[58] =
{
["X"] = 48.98,
["Y"] = 46.35,
["CD"] = 0
},
[59] =
{
["X"] = 48.4,
["Y"] = 45.7,
["CD"] = 0
},
[60] =
{
["X"] = 47.67,
["Y"] = 45.04,
["CD"] = 0
},
[61] =
{
["X"] = 47.06,
["Y"] = 44.67,
["CD"] = 0
},
[62] =
{
["X"] = 46.5,
["Y"] = 43.44,
["CD"] = 0
},
[63] =
{
["X"] = 32.58,
["Y"] = 38.7,
["CD"] = 0
},
[64] =
{
["X"] = 34.29,
["Y"] = 39.32,
["CD"] = 0
},
[65] =
{
["X"] = 36.08,
["Y"] = 39.31,
["CD"] = 0
},
[66] =
{
["X"] = 36.91,
["Y"] = 41.58,
["CD"] = 0
},
[67] =
{
["X"] = 38.79,
["Y"] = 40.82,
["CD"] = 0
},
[68] =
{
["X"] = 39.68,
["Y"] = 40.87,
["CD"] = 0
},
[69] =
{
["X"] = 41.32,
["Y"] = 41.66,
["CD"] = 0
},
[70] =
{
["X"] = 42.81,
["Y"] = 43.91,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 50
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,321 @@
aura_env.herbs =
{
[1] =
{
["X"] = 43.7,
["Y"] = 47.52,
["CD"] = 0
},
[2] =
{
["X"] = 55.11,
["Y"] = 53.52,
["CD"] = 0
},
[3] =
{
["X"] = 67.75,
["Y"] = 35.39,
["CD"] = 0
},
[4] =
{
["X"] = 46.51,
["Y"] = 31.41,
["CD"] = 0
},
[5] =
{
["X"] = 46.21,
["Y"] = 39.28,
["CD"] = 0
},
[6] =
{
["X"] = 41.5,
["Y"] = 42.11,
["CD"] = 0
},
[7] =
{
["X"] = 50.73,
["Y"] = 36.37,
["CD"] = 0
},
[8] =
{
["X"] = 52,
["Y"] = 38.74,
["CD"] = 0
},
[9] =
{
["X"] = 51.73,
["Y"] = 44.44,
["CD"] = 0
},
[10] =
{
["X"] = 48.85,
["Y"] = 43.36,
["CD"] = 0
},
[11] =
{
["X"] = 43.36,
["Y"] = 27.42,
["CD"] = 0
},
[12] =
{
["X"] = 38.9,
["Y"] = 37.15,
["CD"] = 0
},
[13] =
{
["X"] = 39.14,
["Y"] = 48.19,
["CD"] = 0
},
[14] =
{
["X"] = 45.77,
["Y"] = 43.29,
["CD"] = 0
},
[15] =
{
["X"] = 42.81,
["Y"] = 39.12,
["CD"] = 0
},
[16] =
{
["X"] = 44.9,
["Y"] = 33.39,
["CD"] = 0
},
[17] =
{
["X"] = 51.19,
["Y"] = 34.46,
["CD"] = 0
},
[18] =
{
["X"] = 54.96,
["Y"] = 29.9,
["CD"] = 0
},
[19] =
{
["X"] = 53.75,
["Y"] = 55.53,
["CD"] = 0
},
[20] =
{
["X"] = 58.01,
["Y"] = 52.44,
["CD"] = 0
},
[21] =
{
["X"] = 73.65,
["Y"] = 35.59,
["CD"] = 0
},
[22] =
{
["X"] = 68.83,
["Y"] = 38.1,
["CD"] = 0
},
[23] =
{
["X"] = 64.86,
["Y"] = 31.35,
["CD"] = 0
},
[24] =
{
["X"] = 55.37,
["Y"] = 46.09,
["CD"] = 0
},
[25] =
{
["X"] = 51.96,
["Y"] = 54.69,
["CD"] = 0
},
[26] =
{
["X"] = 52.07,
["Y"] = 48.12,
["CD"] = 0
},
[27] =
{
["X"] = 39.85,
["Y"] = 43.02,
["CD"] = 0
},
[28] =
{
["X"] = 45.11,
["Y"] = 31.92,
["CD"] = 0
},
[29] =
{
["X"] = 58.81,
["Y"] = 42.23,
["CD"] = 0
},
[30] =
{
["X"] = 56.87,
["Y"] = 35.36,
["CD"] = 0
},
[31] =
{
["X"] = 80.46,
["Y"] = 42.58,
["CD"] = 0
},
[32] =
{
["X"] = 73.35,
["Y"] = 40.36,
["CD"] = 0
},
[33] =
{
["X"] = 65.26,
["Y"] = 49,
["CD"] = 0
},
[34] =
{
["X"] = 38.29,
["Y"] = 21.84,
["CD"] = 0
},
[35] =
{
["X"] = 64.95,
["Y"] = 44.66,
["CD"] = 0
},
[36] =
{
["X"] = 48.04,
["Y"] = 40.24,
["CD"] = 0
},
[37] =
{
["X"] = 47.18,
["Y"] = 41.63,
["CD"] = 0
},
[38] =
{
["X"] = 30.84,
["Y"] = 32.27,
["CD"] = 0
},
[39] =
{
["X"] = 43.7,
["Y"] = 47.52,
["CD"] = 0
},
[40] =
{
["X"] = 44.9,
["Y"] = 33.39,
["CD"] = 0
},
[41] =
{
["X"] = 49.05,
["Y"] = 39.41,
["CD"] = 0
},
[42] =
{
["X"] = 44.09,
["Y"] = 53.11,
["CD"] = 0
},
[43] =
{
["X"] = 39.14,
["Y"] = 32.32,
["CD"] = 0
},
[44] =
{
["X"] = 61.13,
["Y"] = 44.07,
["CD"] = 0
},
[45] =
{
["X"] = 60.53,
["Y"] = 46.91,
["CD"] = 0
},
[46] =
{
["X"] = 52.47,
["Y"] = 52.01,
["CD"] = 0
},
[47] =
{
["X"] = 68.45,
["Y"] = 27.27,
["CD"] = 0
},
[48] =
{
["X"] = 68.14,
["Y"] = 32.64,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 50
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,855 @@
aura_env.herbs =
{
[1] =
{
["X"] = 59.16,
["Y"] = 84.77,
["CD"] = 0
},
[2] =
{
["X"] = 62.31,
["Y"] = 83,
["CD"] = 0
},
[3] =
{
["X"] = 57.11,
["Y"] = 82.01,
["CD"] = 0
},
[4] =
{
["X"] = 64.06,
["Y"] = 78.62,
["CD"] = 0
},
[5] =
{
["X"] = 61.3,
["Y"] = 77.48,
["CD"] = 0
},
[6] =
{
["X"] = 62.98,
["Y"] = 75.01,
["CD"] = 0
},
[7] =
{
["X"] = 60.57,
["Y"] = 72.97,
["CD"] = 0
},
[8] =
{
["X"] = 57.89,
["Y"] = 76.61,
["CD"] = 0
},
[9] =
{
["X"] = 58.81,
["Y"] = 71.72,
["CD"] = 0
},
[10] =
{
["X"] = 61.9,
["Y"] = 70.8,
["CD"] = 0
},
[11] =
{
["X"] = 55.55,
["Y"] = 66.93,
["CD"] = 0
},
[12] =
{
["X"] = 57.47,
["Y"] = 67.97,
["CD"] = 0
},
[13] =
{
["X"] = 64.62,
["Y"] = 67.64,
["CD"] = 0
},
[14] =
{
["X"] = 58.61,
["Y"] = 64.35,
["CD"] = 0
},
[15] =
{
["X"] = 60.58,
["Y"] = 63.25,
["CD"] = 0
},
[16] =
{
["X"] = 66.46,
["Y"] = 63.37,
["CD"] = 0
},
[17] =
{
["X"] = 54.22,
["Y"] = 59.72,
["CD"] = 0
},
[18] =
{
["X"] = 50.02,
["Y"] = 59.7,
["CD"] = 0
},
[19] =
{
["X"] = 55.15,
["Y"] = 58.99,
["CD"] = 0
},
[20] =
{
["X"] = 58.3,
["Y"] = 57.27,
["CD"] = 0
},
[21] =
{
["X"] = 66.48,
["Y"] = 58.7,
["CD"] = 0
},
[22] =
{
["X"] = 65.73,
["Y"] = 55.86,
["CD"] = 0
},
[23] =
{
["X"] = 67.08,
["Y"] = 55.5,
["CD"] = 0
},
[24] =
{
["X"] = 56.21,
["Y"] = 54.41,
["CD"] = 0
},
[25] =
{
["X"] = 63.85,
["Y"] = 54.34,
["CD"] = 0
},
[26] =
{
["X"] = 57.63,
["Y"] = 53.91,
["CD"] = 0
},
[27] =
{
["X"] = 62.95,
["Y"] = 52.24,
["CD"] = 0
},
[28] =
{
["X"] = 54.26,
["Y"] = 51.46,
["CD"] = 0
},
[29] =
{
["X"] = 53.42,
["Y"] = 52.49,
["CD"] = 0
},
[30] =
{
["X"] = 51.05,
["Y"] = 47.74,
["CD"] = 0
},
[31] =
{
["X"] = 62.14,
["Y"] = 46,
["CD"] = 0
},
[32] =
{
["X"] = 57.41,
["Y"] = 44.12,
["CD"] = 0
},
[33] =
{
["X"] = 67.38,
["Y"] = 43.91,
["CD"] = 0
},
[34] =
{
["X"] = 64.77,
["Y"] = 44.54,
["CD"] = 0
},
[35] =
{
["X"] = 63.95,
["Y"] = 38.93,
["CD"] = 0
},
[36] =
{
["X"] = 56.38,
["Y"] = 40.05,
["CD"] = 0
},
[37] =
{
["X"] = 53.33,
["Y"] = 40.12,
["CD"] = 0
},
[38] =
{
["X"] = 54.33,
["Y"] = 39.28,
["CD"] = 0
},
[39] =
{
["X"] = 58.25,
["Y"] = 36.59,
["CD"] = 0
},
[40] =
{
["X"] = 66.39,
["Y"] = 31.62,
["CD"] = 0
},
[41] =
{
["X"] = 65.34,
["Y"] = 33.85,
["CD"] = 0
},
[42] =
{
["X"] = 56.84,
["Y"] = 35.19,
["CD"] = 0
},
[43] =
{
["X"] = 53.46,
["Y"] = 28.57,
["CD"] = 0
},
[44] =
{
["X"] = 61.98,
["Y"] = 31.58,
["CD"] = 0
},
[45] =
{
["X"] = 61.24,
["Y"] = 31.93,
["CD"] = 0
},
[46] =
{
["X"] = 57.11,
["Y"] = 33.25,
["CD"] = 0
},
[47] =
{
["X"] = 47.75,
["Y"] = 31.28,
["CD"] = 0
},
[48] =
{
["X"] = 53.36,
["Y"] = 33.23,
["CD"] = 0
},
[49] =
{
["X"] = 58,
["Y"] = 25.44,
["CD"] = 0
},
[50] =
{
["X"] = 56.97,
["Y"] = 26.83,
["CD"] = 0
},
[51] =
{
["X"] = 49.79,
["Y"] = 25.15,
["CD"] = 0
},
[52] =
{
["X"] = 56.02,
["Y"] = 22.75,
["CD"] = 0
},
[53] =
{
["X"] = 46.42,
["Y"] = 24.46,
["CD"] = 0
},
[54] =
{
["X"] = 50.08,
["Y"] = 22.67,
["CD"] = 0
},
[55] =
{
["X"] = 46.7,
["Y"] = 18.24,
["CD"] = 0
},
[56] =
{
["X"] = 48.65,
["Y"] = 17.22,
["CD"] = 0
},
[57] =
{
["X"] = 49.35,
["Y"] = 18.76,
["CD"] = 0
},
[58] =
{
["X"] = 52.3,
["Y"] = 20.68,
["CD"] = 0
},
[59] =
{
["X"] = 45.21,
["Y"] = 14.81,
["CD"] = 0
},
[60] =
{
["X"] = 45.87,
["Y"] = 20.86,
["CD"] = 0
},
[61] =
{
["X"] = 47.49,
["Y"] = 50.39,
["CD"] = 0
},
[62] =
{
["X"] = 48.23,
["Y"] = 53.43,
["CD"] = 0
},
[63] =
{
["X"] = 47.36,
["Y"] = 58.17,
["CD"] = 0
},
[64] =
{
["X"] = 48.56,
["Y"] = 57.74,
["CD"] = 0
},
[65] =
{
["X"] = 45.22,
["Y"] = 57.7,
["CD"] = 0
},
[66] =
{
["X"] = 45.19,
["Y"] = 59.5,
["CD"] = 0
},
[67] =
{
["X"] = 42.43,
["Y"] = 49.82,
["CD"] = 0
},
[68] =
{
["X"] = 40.35,
["Y"] = 49.45,
["CD"] = 0
},
[69] =
{
["X"] = 40.46,
["Y"] = 54.28,
["CD"] = 0
},
[70] =
{
["X"] = 39.05,
["Y"] = 55.74,
["CD"] = 0
},
[71] =
{
["X"] = 37.6,
["Y"] = 55.77,
["CD"] = 0
},
[72] =
{
["X"] = 34.89,
["Y"] = 57.33,
["CD"] = 0
},
[73] =
{
["X"] = 34.59,
["Y"] = 50.15,
["CD"] = 0
},
[74] =
{
["X"] = 33.26,
["Y"] = 48.43,
["CD"] = 0
},
[75] =
{
["X"] = 32.77,
["Y"] = 51.29,
["CD"] = 0
},
[76] =
{
["X"] = 31.15,
["Y"] = 57.24,
["CD"] = 0
},
[77] =
{
["X"] = 30.3,
["Y"] = 54.04,
["CD"] = 0
},
[78] =
{
["X"] = 28.92,
["Y"] = 52.76,
["CD"] = 0
},
[79] =
{
["X"] = 28.32,
["Y"] = 55.97,
["CD"] = 0
},
[80] =
{
["X"] = 26.04,
["Y"] = 49.17,
["CD"] = 0
},
[81] =
{
["X"] = 24.02,
["Y"] = 49.75,
["CD"] = 0
},
[82] =
{
["X"] = 25.24,
["Y"] = 51.71,
["CD"] = 0
},
[83] =
{
["X"] = 24.44,
["Y"] = 50.98,
["CD"] = 0
},
[84] =
{
["X"] = 24.27,
["Y"] = 56.95,
["CD"] = 0
},
[85] =
{
["X"] = 66.76,
["Y"] = 84.03,
["CD"] = 0
},
[86] =
{
["X"] = 66.36,
["Y"] = 80.75,
["CD"] = 0
},
[87] =
{
["X"] = 62.24,
["Y"] = 80.15,
["CD"] = 0
},
[88] =
{
["X"] = 55.96,
["Y"] = 78.8,
["CD"] = 0
},
[89] =
{
["X"] = 56.02,
["Y"] = 76.95,
["CD"] = 0
},
[90] =
{
["X"] = 64.96,
["Y"] = 72.59,
["CD"] = 0
},
[91] =
{
["X"] = 65.44,
["Y"] = 70.65,
["CD"] = 0
},
[92] =
{
["X"] = 68.36,
["Y"] = 69,
["CD"] = 0
},
[93] =
{
["X"] = 52.57,
["Y"] = 67.93,
["CD"] = 0
},
[94] =
{
["X"] = 53.37,
["Y"] = 66.5,
["CD"] = 0
},
[95] =
{
["X"] = 61.09,
["Y"] = 66.97,
["CD"] = 0
},
[96] =
{
["X"] = 67.45,
["Y"] = 66.84,
["CD"] = 0
},
[97] =
{
["X"] = 68.19,
["Y"] = 64.02,
["CD"] = 0
},
[98] =
{
["X"] = 47.6,
["Y"] = 63.37,
["CD"] = 0
},
[99] =
{
["X"] = 67.42,
["Y"] = 57.23,
["CD"] = 0
},
[100] =
{
["X"] = 67.19,
["Y"] = 51.85,
["CD"] = 0
},
[101] =
{
["X"] = 63.49,
["Y"] = 50.05,
["CD"] = 0
},
[102] =
{
["X"] = 58.87,
["Y"] = 45.42,
["CD"] = 0
},
[103] =
{
["X"] = 53.68,
["Y"] = 45.06,
["CD"] = 0
},
[104] =
{
["X"] = 69.19,
["Y"] = 44.89,
["CD"] = 0
},
[105] =
{
["X"] = 59.6,
["Y"] = 42,
["CD"] = 0
},
[106] =
{
["X"] = 67.82,
["Y"] = 39.48,
["CD"] = 0
},
[107] =
{
["X"] = 59.84,
["Y"] = 37.64,
["CD"] = 0
},
[108] =
{
["X"] = 67.43,
["Y"] = 35.4,
["CD"] = 0
},
[109] =
{
["X"] = 66.7,
["Y"] = 29.13,
["CD"] = 0
},
[110] =
{
["X"] = 60.88,
["Y"] = 28.01,
["CD"] = 0
},
[111] =
{
["X"] = 60.16,
["Y"] = 21.19,
["CD"] = 0
},
[112] =
{
["X"] = 53.95,
["Y"] = 19.05,
["CD"] = 0
},
[113] =
{
["X"] = 52.44,
["Y"] = 18.27,
["CD"] = 0
},
[114] =
{
["X"] = 48.51,
["Y"] = 14.34,
["CD"] = 0
},
[115] =
{
["X"] = 44.13,
["Y"] = 14.69,
["CD"] = 0
},
[116] =
{
["X"] = 44.53,
["Y"] = 21.08,
["CD"] = 0
},
[117] =
{
["X"] = 45.31,
["Y"] = 26.71,
["CD"] = 0
},
[118] =
{
["X"] = 46.16,
["Y"] = 33.23,
["CD"] = 0
},
[119] =
{
["X"] = 48.2,
["Y"] = 45.28,
["CD"] = 0
},
[120] =
{
["X"] = 42.52,
["Y"] = 56.26,
["CD"] = 0
},
[121] =
{
["X"] = 42.18,
["Y"] = 53.86,
["CD"] = 0
},
[122] =
{
["X"] = 42.49,
["Y"] = 45.67,
["CD"] = 0
},
[123] =
{
["X"] = 40.75,
["Y"] = 46.4,
["CD"] = 0
},
[124] =
{
["X"] = 40.5,
["Y"] = 58,
["CD"] = 0
},
[125] =
{
["X"] = 39.56,
["Y"] = 44.86,
["CD"] = 0
},
[126] =
{
["X"] = 37.41,
["Y"] = 47.1,
["CD"] = 0
},
[127] =
{
["X"] = 37.05,
["Y"] = 58.92,
["CD"] = 0
},
[128] =
{
["X"] = 35.56,
["Y"] = 47.08,
["CD"] = 0
},
[129] =
{
["X"] = 34.11,
["Y"] = 59.82,
["CD"] = 0
},
[130] =
{
["X"] = 31.96,
["Y"] = 59.46,
["CD"] = 0
},
[131] =
{
["X"] = 31.19,
["Y"] = 47.17,
["CD"] = 0
},
[132] =
{
["X"] = 27.81,
["Y"] = 58.83,
["CD"] = 0
},
[133] =
{
["X"] = 27.7,
["Y"] = 47.35,
["CD"] = 0
},
[134] =
{
["X"] = 26.52,
["Y"] = 47.47,
["CD"] = 0
},
[135] =
{
["X"] = 24.62,
["Y"] = 62.82,
["CD"] = 0
},
[136] =
{
["X"] = 21.76,
["Y"] = 62.47,
["CD"] = 0
},
[137] =
{
["X"] = 22.41,
["Y"] = 58.99,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 50
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,453 @@
aura_env.herbs = {
[1] = {
["X"] = 59.16,
["Y"] = 84.77,
["CD"] = 0,
},
[2] = {
["X"] = 62.31,
["Y"] = 83,
["CD"] = 0,
},
[3] = {
["X"] = 57.11,
["Y"] = 82.01,
["CD"] = 0,
},
[4] = {
["X"] = 64.06,
["Y"] = 78.62,
["CD"] = 0,
},
[5] = {
["X"] = 61.3,
["Y"] = 77.48,
["CD"] = 0,
},
[6] = {
["X"] = 62.98,
["Y"] = 75.01,
["CD"] = 0,
},
[7] = {
["X"] = 60.57,
["Y"] = 72.97,
["CD"] = 0,
},
[8] = {
["X"] = 57.89,
["Y"] = 76.61,
["CD"] = 0,
},
[9] = {
["X"] = 58.81,
["Y"] = 71.72,
["CD"] = 0,
},
[10] = {
["X"] = 61.9,
["Y"] = 70.8,
["CD"] = 0,
},
[11] = {
["X"] = 55.55,
["Y"] = 66.93,
["CD"] = 0,
},
[12] = {
["X"] = 57.47,
["Y"] = 67.97,
["CD"] = 0,
},
[13] = {
["X"] = 64.62,
["Y"] = 67.64,
["CD"] = 0,
},
[14] = {
["X"] = 58.61,
["Y"] = 64.35,
["CD"] = 0,
},
[15] = {
["X"] = 60.58,
["Y"] = 63.25,
["CD"] = 0,
},
[16] = {
["X"] = 66.46,
["Y"] = 63.37,
["CD"] = 0,
},
[17] = {
["X"] = 54.22,
["Y"] = 59.72,
["CD"] = 0,
},
[18] = {
["X"] = 50.02,
["Y"] = 59.7,
["CD"] = 0,
},
[19] = {
["X"] = 55.15,
["Y"] = 58.99,
["CD"] = 0,
},
[20] = {
["X"] = 58.3,
["Y"] = 57.27,
["CD"] = 0,
},
[21] = {
["X"] = 66.48,
["Y"] = 58.7,
["CD"] = 0,
},
[22] = {
["X"] = 65.73,
["Y"] = 55.86,
["CD"] = 0,
},
[23] = {
["X"] = 67.08,
["Y"] = 55.5,
["CD"] = 0,
},
[24] = {
["X"] = 56.21,
["Y"] = 54.41,
["CD"] = 0,
},
[25] = {
["X"] = 63.85,
["Y"] = 54.34,
["CD"] = 0,
},
[26] = {
["X"] = 57.63,
["Y"] = 53.91,
["CD"] = 0,
},
[27] = {
["X"] = 62.95,
["Y"] = 52.24,
["CD"] = 0,
},
[28] = {
["X"] = 54.26,
["Y"] = 51.46,
["CD"] = 0,
},
[29] = {
["X"] = 53.42,
["Y"] = 52.49,
["CD"] = 0,
},
[30] = {
["X"] = 51.05,
["Y"] = 47.74,
["CD"] = 0,
},
[31] = {
["X"] = 62.14,
["Y"] = 46,
["CD"] = 0,
},
[32] = {
["X"] = 57.41,
["Y"] = 44.12,
["CD"] = 0,
},
[33] = {
["X"] = 67.38,
["Y"] = 43.91,
["CD"] = 0,
},
[34] = {
["X"] = 64.77,
["Y"] = 44.54,
["CD"] = 0,
},
[35] = {
["X"] = 63.95,
["Y"] = 38.93,
["CD"] = 0,
},
[36] = {
["X"] = 56.38,
["Y"] = 40.05,
["CD"] = 0,
},
[37] = {
["X"] = 53.33,
["Y"] = 40.12,
["CD"] = 0,
},
[38] = {
["X"] = 54.33,
["Y"] = 39.28,
["CD"] = 0,
},
[39] = {
["X"] = 58.25,
["Y"] = 36.59,
["CD"] = 0,
},
[40] = {
["X"] = 66.39,
["Y"] = 31.62,
["CD"] = 0,
},
[41] = {
["X"] = 65.34,
["Y"] = 33.85,
["CD"] = 0,
},
[42] = {
["X"] = 56.84,
["Y"] = 35.19,
["CD"] = 0,
},
[43] = {
["X"] = 53.46,
["Y"] = 28.57,
["CD"] = 0,
},
[44] = {
["X"] = 61.98,
["Y"] = 31.58,
["CD"] = 0,
},
[45] = {
["X"] = 61.24,
["Y"] = 31.93,
["CD"] = 0,
},
[46] = {
["X"] = 57.11,
["Y"] = 33.25,
["CD"] = 0,
},
[47] = {
["X"] = 47.75,
["Y"] = 31.28,
["CD"] = 0,
},
[48] = {
["X"] = 53.36,
["Y"] = 33.23,
["CD"] = 0,
},
[49] = {
["X"] = 58,
["Y"] = 25.44,
["CD"] = 0,
},
[50] = {
["X"] = 56.97,
["Y"] = 26.83,
["CD"] = 0,
},
[51] = {
["X"] = 49.79,
["Y"] = 25.15,
["CD"] = 0,
},
[52] = {
["X"] = 56.02,
["Y"] = 22.75,
["CD"] = 0,
},
[53] = {
["X"] = 46.42,
["Y"] = 24.46,
["CD"] = 0,
},
[54] = {
["X"] = 50.08,
["Y"] = 22.67,
["CD"] = 0,
},
[55] = {
["X"] = 46.7,
["Y"] = 18.24,
["CD"] = 0,
},
[56] = {
["X"] = 48.65,
["Y"] = 17.22,
["CD"] = 0,
},
[57] = {
["X"] = 49.35,
["Y"] = 18.76,
["CD"] = 0,
},
[58] = {
["X"] = 52.3,
["Y"] = 20.68,
["CD"] = 0,
},
[59] = {
["X"] = 45.21,
["Y"] = 14.81,
["CD"] = 0,
},
[60] = {
["X"] = 45.87,
["Y"] = 20.86,
["CD"] = 0,
},
[61] = {
["X"] = 47.49,
["Y"] = 50.39,
["CD"] = 0,
},
[62] = {
["X"] = 48.23,
["Y"] = 53.43,
["CD"] = 0,
},
[63] = {
["X"] = 47.36,
["Y"] = 58.17,
["CD"] = 0,
},
[64] = {
["X"] = 48.56,
["Y"] = 57.74,
["CD"] = 0,
},
[65] = {
["X"] = 45.22,
["Y"] = 57.7,
["CD"] = 0,
},
[66] = {
["X"] = 45.19,
["Y"] = 59.5,
["CD"] = 0,
},
[67] = {
["X"] = 42.43,
["Y"] = 49.82,
["CD"] = 0,
},
[68] = {
["X"] = 40.35,
["Y"] = 49.45,
["CD"] = 0,
},
[69] = {
["X"] = 40.46,
["Y"] = 54.28,
["CD"] = 0,
},
[70] = {
["X"] = 39.05,
["Y"] = 55.74,
["CD"] = 0,
},
[71] = {
["X"] = 37.6,
["Y"] = 55.77,
["CD"] = 0,
},
[72] = {
["X"] = 34.89,
["Y"] = 57.33,
["CD"] = 0,
},
[73] = {
["X"] = 34.59,
["Y"] = 50.15,
["CD"] = 0,
},
[74] = {
["X"] = 33.26,
["Y"] = 48.43,
["CD"] = 0,
},
[75] = {
["X"] = 32.77,
["Y"] = 51.29,
["CD"] = 0,
},
[76] = {
["X"] = 31.15,
["Y"] = 57.24,
["CD"] = 0,
},
[77] = {
["X"] = 30.3,
["Y"] = 54.04,
["CD"] = 0,
},
[78] = {
["X"] = 28.92,
["Y"] = 52.76,
["CD"] = 0,
},
[79] = {
["X"] = 28.32,
["Y"] = 55.97,
["CD"] = 0,
},
[80] = {
["X"] = 26.04,
["Y"] = 49.17,
["CD"] = 0,
},
[81] = {
["X"] = 24.02,
["Y"] = 49.75,
["CD"] = 0,
},
[82] = {
["X"] = 25.24,
["Y"] = 51.71,
["CD"] = 0,
},
[83] = {
["X"] = 24.44,
["Y"] = 50.98,
["CD"] = 0,
},
[84] = {
["X"] = 24.27,
["Y"] = 56.95,
["CD"] = 0,
},
}
aura_env.cooldown = 600
aura_env.wipeDistance = 50
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k, v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X ^ 2)) + (math.abs(Y ^ 2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,297 @@
aura_env.herbs = {
[1] = {
["X"] = 66.76,
["Y"] = 84.03,
["CD"] = 0,
},
[2] = {
["X"] = 66.36,
["Y"] = 80.75,
["CD"] = 0,
},
[3] = {
["X"] = 62.24,
["Y"] = 80.15,
["CD"] = 0,
},
[4] = {
["X"] = 55.96,
["Y"] = 78.8,
["CD"] = 0,
},
[5] = {
["X"] = 56.02,
["Y"] = 76.95,
["CD"] = 0,
},
[6] = {
["X"] = 64.96,
["Y"] = 72.59,
["CD"] = 0,
},
[7] = {
["X"] = 65.44,
["Y"] = 70.65,
["CD"] = 0,
},
[8] = {
["X"] = 68.36,
["Y"] = 69,
["CD"] = 0,
},
[9] = {
["X"] = 52.57,
["Y"] = 67.93,
["CD"] = 0,
},
[10] = {
["X"] = 53.37,
["Y"] = 66.5,
["CD"] = 0,
},
[11] = {
["X"] = 61.09,
["Y"] = 66.97,
["CD"] = 0,
},
[12] = {
["X"] = 67.45,
["Y"] = 66.84,
["CD"] = 0,
},
[13] = {
["X"] = 68.19,
["Y"] = 64.02,
["CD"] = 0,
},
[14] = {
["X"] = 47.6,
["Y"] = 63.37,
["CD"] = 0,
},
[15] = {
["X"] = 67.42,
["Y"] = 57.23,
["CD"] = 0,
},
[16] = {
["X"] = 67.19,
["Y"] = 51.85,
["CD"] = 0,
},
[17] = {
["X"] = 63.49,
["Y"] = 50.05,
["CD"] = 0,
},
[18] = {
["X"] = 58.87,
["Y"] = 45.42,
["CD"] = 0,
},
[19] = {
["X"] = 53.68,
["Y"] = 45.06,
["CD"] = 0,
},
[20] = {
["X"] = 69.19,
["Y"] = 44.89,
["CD"] = 0,
},
[21] = {
["X"] = 59.6,
["Y"] = 42,
["CD"] = 0,
},
[22] = {
["X"] = 67.82,
["Y"] = 39.48,
["CD"] = 0,
},
[23] = {
["X"] = 59.84,
["Y"] = 37.64,
["CD"] = 0,
},
[24] = {
["X"] = 67.43,
["Y"] = 35.4,
["CD"] = 0,
},
[25] = {
["X"] = 66.7,
["Y"] = 29.13,
["CD"] = 0,
},
[26] = {
["X"] = 60.88,
["Y"] = 28.01,
["CD"] = 0,
},
[27] = {
["X"] = 60.16,
["Y"] = 21.19,
["CD"] = 0,
},
[28] = {
["X"] = 53.95,
["Y"] = 19.05,
["CD"] = 0,
},
[29] = {
["X"] = 52.44,
["Y"] = 18.27,
["CD"] = 0,
},
[30] = {
["X"] = 48.51,
["Y"] = 14.34,
["CD"] = 0,
},
[31] = {
["X"] = 44.13,
["Y"] = 14.69,
["CD"] = 0,
},
[32] = {
["X"] = 44.53,
["Y"] = 21.08,
["CD"] = 0,
},
[33] = {
["X"] = 45.31,
["Y"] = 26.71,
["CD"] = 0,
},
[34] = {
["X"] = 46.16,
["Y"] = 33.23,
["CD"] = 0,
},
[35] = {
["X"] = 48.2,
["Y"] = 45.28,
["CD"] = 0,
},
[36] = {
["X"] = 42.52,
["Y"] = 56.26,
["CD"] = 0,
},
[37] = {
["X"] = 42.18,
["Y"] = 53.86,
["CD"] = 0,
},
[38] = {
["X"] = 42.49,
["Y"] = 45.67,
["CD"] = 0,
},
[39] = {
["X"] = 40.75,
["Y"] = 46.4,
["CD"] = 0,
},
[40] = {
["X"] = 40.5,
["Y"] = 58,
["CD"] = 0,
},
[41] = {
["X"] = 39.56,
["Y"] = 44.86,
["CD"] = 0,
},
[42] = {
["X"] = 37.41,
["Y"] = 47.1,
["CD"] = 0,
},
[43] = {
["X"] = 37.05,
["Y"] = 58.92,
["CD"] = 0,
},
[44] = {
["X"] = 35.56,
["Y"] = 47.08,
["CD"] = 0,
},
[45] = {
["X"] = 34.11,
["Y"] = 59.82,
["CD"] = 0,
},
[46] = {
["X"] = 31.96,
["Y"] = 59.46,
["CD"] = 0,
},
[47] = {
["X"] = 31.19,
["Y"] = 47.17,
["CD"] = 0,
},
[48] = {
["X"] = 27.81,
["Y"] = 58.83,
["CD"] = 0,
},
[49] = {
["X"] = 27.7,
["Y"] = 47.35,
["CD"] = 0,
},
[50] = {
["X"] = 26.52,
["Y"] = 47.47,
["CD"] = 0,
},
[51] = {
["X"] = 24.62,
["Y"] = 62.82,
["CD"] = 0,
},
[52] = {
["X"] = 21.76,
["Y"] = 62.47,
["CD"] = 0,
},
[53] = {
["X"] = 22.41,
["Y"] = 58.99,
["CD"] = 0,
},
}
aura_env.cooldown = 600
aura_env.wipeDistance = 50
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k, v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X ^ 2)) + (math.abs(Y ^ 2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,327 @@
aura_env.herbs =
{
[1] =
{
["X"] = 88.46,
["Y"] = 17.99,
["CD"] = 0
},
[2] =
{
["X"] = 87.27,
["Y"] = 17.3,
["CD"] = 0
},
[3] =
{
["X"] = 86.48,
["Y"] = 17.2,
["CD"] = 0
},
[4] =
{
["X"] = 85.78,
["Y"] = 17.6,
["CD"] = 0
},
[5] =
{
["X"] = 85,
["Y"] = 18.05,
["CD"] = 0
},
[6] =
{
["X"] = 84.03,
["Y"] = 19.24,
["CD"] = 0
},
[7] =
{
["X"] = 83.28,
["Y"] = 20.08,
["CD"] = 0
},
[8] =
{
["X"] = 82.62,
["Y"] = 20.74,
["CD"] = 0
},
[9] =
{
["X"] = 81.96,
["Y"] = 22.01,
["CD"] = 0
},
[10] =
{
["X"] = 81.22,
["Y"] = 22.72,
["CD"] = 0
},
[11] =
{
["X"] = 80.32,
["Y"] = 25.03,
["CD"] = 0
},
[12] =
{
["X"] = 80.19,
["Y"] = 25.92,
["CD"] = 0
},
[13] =
{
["X"] = 78.88,
["Y"] = 27.21,
["CD"] = 0
},
[14] =
{
["X"] = 77.91,
["Y"] = 27.41,
["CD"] = 0
},
[15] =
{
["X"] = 76.98,
["Y"] = 28.38,
["CD"] = 0
},
[16] =
{
["X"] = 75.11,
["Y"] = 32.51,
["CD"] = 0
},
[17] =
{
["X"] = 74.55,
["Y"] = 33.31,
["CD"] = 0
},
[18] =
{
["X"] = 73.58,
["Y"] = 32.76,
["CD"] = 0
},
[19] =
{
["X"] = 73.64,
["Y"] = 31.74,
["CD"] = 0
},
[20] =
{
["X"] = 73.51,
["Y"] = 30.48,
["CD"] = 0
},
[21] =
{
["X"] = 72.86,
["Y"] = 29.99,
["CD"] = 0
},
[22] =
{
["X"] = 72.18,
["Y"] = 28.74,
["CD"] = 0
},
[23] =
{
["X"] = 72.13,
["Y"] = 26.96,
["CD"] = 0
},
[24] =
{
["X"] = 71.46,
["Y"] = 26.17,
["CD"] = 0
},
[25] =
{
["X"] = 70.67,
["Y"] = 26.16,
["CD"] = 0
},
[26] =
{
["X"] = 90.04,
["Y"] = 50.75,
["CD"] = 0
},
[27] =
{
["X"] = 90.84,
["Y"] = 50.84,
["CD"] = 0
},
[28] =
{
["X"] = 88.81,
["Y"] = 61.52,
["CD"] = 0
},
[29] =
{
["X"] = 78.92,
["Y"] = 61.4,
["CD"] = 0
},
[30] =
{
["X"] = 82.26,
["Y"] = 59.77,
["CD"] = 0
},
[31] =
{
["X"] = 85.43,
["Y"] = 57.03,
["CD"] = 0
},
[32] =
{
["X"] = 74.46,
["Y"] = 28.13,
["CD"] = 0
},
[33] =
{
["X"] = 69.36,
["Y"] = 25.49,
["CD"] = 0
},
[34] =
{
["X"] = 73.21,
["Y"] = 26.13,
["CD"] = 0
},
[35] =
{
["X"] = 56.52,
["Y"] = 35.9,
["CD"] = 0
},
[36] =
{
["X"] = 57.94,
["Y"] = 33.32,
["CD"] = 0
},
[37] =
{
["X"] = 55.19,
["Y"] = 32.83,
["CD"] = 0
},
[38] =
{
["X"] = 54.89,
["Y"] = 37.13,
["CD"] = 0
},
[39] =
{
["X"] = 51.74,
["Y"] = 38.92,
["CD"] = 0
},
[40] =
{
["X"] = 52.5,
["Y"] = 38.18,
["CD"] = 0
},
[41] =
{
["X"] = 49.22,
["Y"] = 43.37,
["CD"] = 0
},
[42] =
{
["X"] = 49.78,
["Y"] = 50.78,
["CD"] = 0
},
[43] =
{
["X"] = 45.13,
["Y"] = 52.25,
["CD"] = 0
},
[44] =
{
["X"] = 45.02,
["Y"] = 47.11,
["CD"] = 0
},
[45] =
{
["X"] = 31.45,
["Y"] = 55.09,
["CD"] = 0
},
[46] =
{
["X"] = 30.49,
["Y"] = 60.35,
["CD"] = 0
},
[47] =
{
["X"] = 26.19,
["Y"] = 62.12,
["CD"] = 0
},
[48] =
{
["X"] = 19.5,
["Y"] = 61.05,
["CD"] = 0
},
[49] =
{
["X"] = 21.36,
["Y"] = 56.44,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 15
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,527 @@
aura_env.herbs = {
[1] = {
["X"] = 27.74,
["Y"] = 4.93,
["CD"] = 0,
},
[2] = {
["X"] = 29.58,
["Y"] = 6.12,
["CD"] = 0,
},
[3] = {
["X"] = 38.4,
["Y"] = 7.32,
["CD"] = 0,
},
[4] = {
["X"] = 69.23,
["Y"] = 9.55,
["CD"] = 0,
},
[5] = {
["X"] = 28.91,
["Y"] = 10.34,
["CD"] = 0,
},
[6] = {
["X"] = 44.79,
["Y"] = 10.41,
["CD"] = 0,
},
[7] = {
["X"] = 37.41,
["Y"] = 11.88,
["CD"] = 0,
},
[8] = {
["X"] = 72.67,
["Y"] = 12.41,
["CD"] = 0,
},
[9] = {
["X"] = 41.67,
["Y"] = 13.07,
["CD"] = 0,
},
[10] = {
["X"] = 26.58,
["Y"] = 13.11,
["CD"] = 0,
},
[11] = {
["X"] = 28.54,
["Y"] = 13.24,
["CD"] = 0,
},
[12] = {
["X"] = 45.56,
["Y"] = 13.29,
["CD"] = 0,
},
[13] = {
["X"] = 22.63,
["Y"] = 13.55,
["CD"] = 0,
},
[14] = {
["X"] = 53.24,
["Y"] = 13.86,
["CD"] = 0,
},
[15] = {
["X"] = 51.44,
["Y"] = 14.17,
["CD"] = 0,
},
[16] = {
["X"] = 38.37,
["Y"] = 14.38,
["CD"] = 0,
},
[17] = {
["X"] = 55.34,
["Y"] = 14.84,
["CD"] = 0,
},
[18] = {
["X"] = 26.76,
["Y"] = 15.08,
["CD"] = 0,
},
[19] = {
["X"] = 41.32,
["Y"] = 15.19,
["CD"] = 0,
},
[20] = {
["X"] = 66.81,
["Y"] = 15.81,
["CD"] = 0,
},
[21] = {
["X"] = 27.83,
["Y"] = 15.83,
["CD"] = 0,
},
[22] = {
["X"] = 23.6,
["Y"] = 16.11,
["CD"] = 0,
},
[23] = {
["X"] = 23.6,
["Y"] = 17.59,
["CD"] = 0,
},
[24] = {
["X"] = 38.18,
["Y"] = 18.83,
["CD"] = 0,
},
[25] = {
["X"] = 73.67,
["Y"] = 19.46,
["CD"] = 0,
},
[26] = {
["X"] = 22.28,
["Y"] = 20.14,
["CD"] = 0,
},
[27] = {
["X"] = 25.66,
["Y"] = 20.87,
["CD"] = 0,
},
[28] = {
["X"] = 27.86,
["Y"] = 22.53,
["CD"] = 0,
},
[29] = {
["X"] = 18.83,
["Y"] = 22.91,
["CD"] = 0,
},
[30] = {
["X"] = 20.68,
["Y"] = 22.93,
["CD"] = 0,
},
[31] = {
["X"] = 63.97,
["Y"] = 23.14,
["CD"] = 0,
},
[32] = {
["X"] = 62.08,
["Y"] = 24.13,
["CD"] = 0,
},
[33] = {
["X"] = 70.37,
["Y"] = 24.32,
["CD"] = 0,
},
[34] = {
["X"] = 59.66,
["Y"] = 26.14,
["CD"] = 0,
},
[35] = {
["X"] = 72.01,
["Y"] = 26.52,
["CD"] = 0,
},
[36] = {
["X"] = 22.03,
["Y"] = 27.14,
["CD"] = 0,
},
[37] = {
["X"] = 68.73,
["Y"] = 28.05,
["CD"] = 0,
},
[38] = {
["X"] = 26.28,
["Y"] = 28.6,
["CD"] = 0,
},
[39] = {
["X"] = 37.73,
["Y"] = 30.5,
["CD"] = 0,
},
[40] = {
["X"] = 50.71,
["Y"] = 30.77,
["CD"] = 0,
},
[41] = {
["X"] = 26.52,
["Y"] = 31.07,
["CD"] = 0,
},
[42] = {
["X"] = 41.83,
["Y"] = 31.77,
["CD"] = 0,
},
[43] = {
["X"] = 39.88,
["Y"] = 32.15,
["CD"] = 0,
},
[44] = {
["X"] = 70.79,
["Y"] = 32.33,
["CD"] = 0,
},
[45] = {
["X"] = 80.51,
["Y"] = 32.74,
["CD"] = 0,
},
[46] = {
["X"] = 49.3,
["Y"] = 34.1,
["CD"] = 0,
},
[47] = {
["X"] = 57.14,
["Y"] = 34.51,
["CD"] = 0,
},
[48] = {
["X"] = 52.74,
["Y"] = 35.35,
["CD"] = 0,
},
[49] = {
["X"] = 76.74,
["Y"] = 35.56,
["CD"] = 0,
},
[50] = {
["X"] = 80.67,
["Y"] = 36.13,
["CD"] = 0,
},
[51] = {
["X"] = 54.29,
["Y"] = 36.3,
["CD"] = 0,
},
[52] = {
["X"] = 63.46,
["Y"] = 37.24,
["CD"] = 0,
},
[53] = {
["X"] = 48.37,
["Y"] = 37.64,
["CD"] = 0,
},
[54] = {
["X"] = 59.6,
["Y"] = 37.65,
["CD"] = 0,
},
[55] = {
["X"] = 62.06,
["Y"] = 39.08,
["CD"] = 0,
},
[56] = {
["X"] = 63.16,
["Y"] = 41.04,
["CD"] = 0,
},
[57] = {
["X"] = 73.26,
["Y"] = 44.09,
["CD"] = 0,
},
[58] = {
["X"] = 78.92,
["Y"] = 46.11,
["CD"] = 0,
},
[59] = {
["X"] = 77.01,
["Y"] = 46.13,
["CD"] = 0,
},
[60] = {
["X"] = 33.74,
["Y"] = 49.57,
["CD"] = 0,
},
[61] = {
["X"] = 45.59,
["Y"] = 51.47,
["CD"] = 0,
},
[62] = {
["X"] = 47.86,
["Y"] = 52.09,
["CD"] = 0,
},
[63] = {
["X"] = 62.04,
["Y"] = 52.55,
["CD"] = 0,
},
[64] = {
["X"] = 34.18,
["Y"] = 52.57,
["CD"] = 0,
},
[65] = {
["X"] = 65.4,
["Y"] = 52.87,
["CD"] = 0,
},
[66] = {
["X"] = 27.04,
["Y"] = 54.05,
["CD"] = 0,
},
[67] = {
["X"] = 36.31,
["Y"] = 54.73,
["CD"] = 0,
},
[68] = {
["X"] = 51.98,
["Y"] = 55.1,
["CD"] = 0,
},
[69] = {
["X"] = 48.12,
["Y"] = 55.31,
["CD"] = 0,
},
[70] = {
["X"] = 37.92,
["Y"] = 55.59,
["CD"] = 0,
},
[71] = {
["X"] = 74.95,
["Y"] = 56.13,
["CD"] = 0,
},
[72] = {
["X"] = 30.04,
["Y"] = 56.53,
["CD"] = 0,
},
[73] = {
["X"] = 61.99,
["Y"] = 56.71,
["CD"] = 0,
},
[74] = {
["X"] = 69.7,
["Y"] = 57.75,
["CD"] = 0,
},
[75] = {
["X"] = 54.79,
["Y"] = 57.83,
["CD"] = 0,
},
[76] = {
["X"] = 67.24,
["Y"] = 59.12,
["CD"] = 0,
},
[77] = {
["X"] = 76.05,
["Y"] = 59.6,
["CD"] = 0,
},
[78] = {
["X"] = 72.36,
["Y"] = 60.75,
["CD"] = 0,
},
[79] = {
["X"] = 62.74,
["Y"] = 61.55,
["CD"] = 0,
},
[80] = {
["X"] = 62.03,
["Y"] = 62.69,
["CD"] = 0,
},
[81] = {
["X"] = 66.82,
["Y"] = 63.01,
["CD"] = 0,
},
[82] = {
["X"] = 45.11,
["Y"] = 63.88,
["CD"] = 0,
},
[83] = {
["X"] = 65.65,
["Y"] = 64.91,
["CD"] = 0,
},
[84] = {
["X"] = 56.75,
["Y"] = 65.1,
["CD"] = 0,
},
[85] = {
["X"] = 47.18,
["Y"] = 66.8,
["CD"] = 0,
},
[86] = {
["X"] = 31.26,
["Y"] = 69.12,
["CD"] = 0,
},
[87] = {
["X"] = 71.62,
["Y"] = 69.16,
["CD"] = 0,
},
[88] = {
["X"] = 73.1,
["Y"] = 69.47,
["CD"] = 0,
},
[89] = {
["X"] = 73.3,
["Y"] = 69.58,
["CD"] = 0,
},
[90] = {
["X"] = 74.88,
["Y"] = 69.89,
["CD"] = 0,
},
[91] = {
["X"] = 45.79,
["Y"] = 71.62,
["CD"] = 0,
},
[92] = {
["X"] = 52,
["Y"] = 71.8,
["CD"] = 0,
},
[93] = {
["X"] = 68.34,
["Y"] = 72.44,
["CD"] = 0,
},
[94] = {
["X"] = 71.3,
["Y"] = 73.69,
["CD"] = 0,
},
[95] = {
["X"] = 33.94,
["Y"] = 74.21,
["CD"] = 0,
},
[96] = {
["X"] = 58.95,
["Y"] = 75.18,
["CD"] = 0,
},
[97] = {
["X"] = 33.51,
["Y"] = 76.63,
["CD"] = 0,
},
[98] = {
["X"] = 36.2,
["Y"] = 77.89,
["CD"] = 0,
},
[99] = {
["X"] = 59.41,
["Y"] = 80.88,
["CD"] = 0,
},
}
aura_env.cooldown = 600
aura_env.wipeDistance = 15
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k, v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X ^ 2)) + (math.abs(Y ^ 2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,219 @@
aura_env.herbs =
{
[1] =
{
["X"] = 62.63,
["Y"] = 80.15,
["CD"] = 0
},
[2] =
{
["X"] = 61.03,
["Y"] = 83.67,
["CD"] = 0
},
[3] =
{
["X"] = 60.11,
["Y"] = 80.98,
["CD"] = 0
},
[4] =
{
["X"] = 59.29,
["Y"] = 77.46,
["CD"] = 0
},
[5] =
{
["X"] = 56.55,
["Y"] = 77.25,
["CD"] = 0
},
[6] =
{
["X"] = 56.87,
["Y"] = 75.77,
["CD"] = 0
},
[7] =
{
["X"] = 51.04,
["Y"] = 72.92,
["CD"] = 0
},
[8] =
{
["X"] = 45.02,
["Y"] = 70.03,
["CD"] = 0
},
[9] =
{
["X"] = 72.27,
["Y"] = 20.18,
["CD"] = 0
},
[10] =
{
["X"] = 75.45,
["Y"] = 17.55,
["CD"] = 0
},
[11] =
{
["X"] = 76.63,
["Y"] = 19.67,
["CD"] = 0
},
[12] =
{
["X"] = 75.67,
["Y"] = 21.71,
["CD"] = 0
},
[13] =
{
["X"] = 73.78,
["Y"] = 24.85,
["CD"] = 0
},
[14] =
{
["X"] = 70.92,
["Y"] = 34.01,
["CD"] = 0
},
[15] =
{
["X"] = 65.32,
["Y"] = 47.25,
["CD"] = 0
},
[16] =
{
["X"] = 69.86,
["Y"] = 52.11,
["CD"] = 0
},
[17] =
{
["X"] = 74.82,
["Y"] = 57.8,
["CD"] = 0
},
[18] =
{
["X"] = 73.72,
["Y"] = 55.53,
["CD"] = 0
},
[19] =
{
["X"] = 75.55,
["Y"] = 56.07,
["CD"] = 0
},
[20] =
{
["X"] = 78.32,
["Y"] = 59.4,
["CD"] = 0
},
[21] =
{
["X"] = 77.23,
["Y"] = 61.88,
["CD"] = 0
},
[22] =
{
["X"] = 75.08,
["Y"] = 61.89,
["CD"] = 0
},
[23] =
{
["X"] = 72.99,
["Y"] = 62.81,
["CD"] = 0
},
[24] =
{
["X"] = 71.3,
["Y"] = 63.82,
["CD"] = 0
},
[25] =
{
["X"] = 68.84,
["Y"] = 59.76,
["CD"] = 0
},
[26] =
{
["X"] = 68.09,
["Y"] = 59.63,
["CD"] = 0
},
[27] =
{
["X"] = 67.89,
["Y"] = 59.57,
["CD"] = 0
},
[28] =
{
["X"] = 42.19,
["Y"] = 84.08,
["CD"] = 0
},
[29] =
{
["X"] = 34.22,
["Y"] = 48.33,
["CD"] = 0
},
[30] =
{
["X"] = 34.19,
["Y"] = 42.54,
["CD"] = 0
},
[31] =
{
["X"] = 19.86,
["Y"] = 48.49,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 15
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,513 @@
aura_env.herbs =
{
[1] =
{
["X"] = 14.35,
["Y"] = 76.35,
["CD"] = 0
},
[2] =
{
["X"] = 25.28,
["Y"] = 79.69,
["CD"] = 0
},
[3] =
{
["X"] = 28.67,
["Y"] = 77.03,
["CD"] = 0
},
[4] =
{
["X"] = 31.66,
["Y"] = 55.57,
["CD"] = 0
},
[5] =
{
["X"] = 33.42,
["Y"] = 64.79,
["CD"] = 0
},
[6] =
{
["X"] = 41.99,
["Y"] = 64.58,
["CD"] = 0
},
[7] =
{
["X"] = 48.03,
["Y"] = 62.96,
["CD"] = 0
},
[8] =
{
["X"] = 58.05,
["Y"] = 68.72,
["CD"] = 0
},
[9] =
{
["X"] = 60.82,
["Y"] = 59.27,
["CD"] = 0
},
[10] =
{
["X"] = 69.4,
["Y"] = 18.06,
["CD"] = 0
},
[11] =
{
["X"] = 64.09,
["Y"] = 33.24,
["CD"] = 0
},
[12] =
{
["X"] = 25.89,
["Y"] = 52.4,
["CD"] = 0
},
[13] =
{
["X"] = 12.88,
["Y"] = 53.56,
["CD"] = 0
},
[14] =
{
["X"] = 11.28,
["Y"] = 76.14,
["CD"] = 0
},
[15] =
{
["X"] = 16.6,
["Y"] = 76.51,
["CD"] = 0
},
[16] =
{
["X"] = 33.37,
["Y"] = 67.96,
["CD"] = 0
},
[17] =
{
["X"] = 36.36,
["Y"] = 76.93,
["CD"] = 0
},
[18] =
{
["X"] = 30.05,
["Y"] = 26.97,
["CD"] = 0
},
[19] =
{
["X"] = 31.46,
["Y"] = 25.61,
["CD"] = 0
},
[20] =
{
["X"] = 29.86,
["Y"] = 26.25,
["CD"] = 0
},
[21] =
{
["X"] = 32.14,
["Y"] = 25.25,
["CD"] = 0
},
[22] =
{
["X"] = 30.97,
["Y"] = 60.08,
["CD"] = 0
},
[23] =
{
["X"] = 32.46,
["Y"] = 62.51,
["CD"] = 0
},
[24] =
{
["X"] = 71.46,
["Y"] = 26.17,
["CD"] = 0
},
[25] =
{
["X"] = 70.67,
["Y"] = 26.16,
["CD"] = 0
},
[26] =
{
["X"] = 90.04,
["Y"] = 50.75,
["CD"] = 0
},
[27] =
{
["X"] = 90.84,
["Y"] = 50.84,
["CD"] = 0
},
[28] =
{
["X"] = 88.81,
["Y"] = 61.52,
["CD"] = 0
},
[29] =
{
["X"] = 78.92,
["Y"] = 61.4,
["CD"] = 0
},
[30] =
{
["X"] = 82.26,
["Y"] = 59.77,
["CD"] = 0
},
[31] =
{
["X"] = 85.43,
["Y"] = 57.03,
["CD"] = 0
},
[32] =
{
["X"] = 74.46,
["Y"] = 28.13,
["CD"] = 0
},
[33] =
{
["X"] = 69.36,
["Y"] = 25.49,
["CD"] = 0
},
[34] =
{
["X"] = 73.21,
["Y"] = 26.13,
["CD"] = 0
},
[35] =
{
["X"] = 56.52,
["Y"] = 35.9,
["CD"] = 0
},
[36] =
{
["X"] = 57.94,
["Y"] = 33.32,
["CD"] = 0
},
[37] =
{
["X"] = 55.19,
["Y"] = 32.83,
["CD"] = 0
},
[38] =
{
["X"] = 54.89,
["Y"] = 37.13,
["CD"] = 0
},
[39] =
{
["X"] = 51.74,
["Y"] = 38.92,
["CD"] = 0
},
[40] =
{
["X"] = 52.5,
["Y"] = 38.18,
["CD"] = 0
},
[41] =
{
["X"] = 49.22,
["Y"] = 43.37,
["CD"] = 0
},
[42] =
{
["X"] = 49.78,
["Y"] = 50.78,
["CD"] = 0
},
[43] =
{
["X"] = 45.13,
["Y"] = 52.25,
["CD"] = 0
},
[44] =
{
["X"] = 45.02,
["Y"] = 47.11,
["CD"] = 0
},
[45] =
{
["X"] = 31.45,
["Y"] = 55.09,
["CD"] = 0
},
[46] =
{
["X"] = 30.49,
["Y"] = 60.35,
["CD"] = 0
},
[47] =
{
["X"] = 26.19,
["Y"] = 62.12,
["CD"] = 0
},
[48] =
{
["X"] = 19.5,
["Y"] = 61.05,
["CD"] = 0
},
[49] =
{
["X"] = 21.36,
["Y"] = 56.44,
["CD"] = 0
},
[50] =
{
["X"] = 62.63,
["Y"] = 80.15,
["CD"] = 0
},
[51] =
{
["X"] = 61.03,
["Y"] = 83.67,
["CD"] = 0
},
[52] =
{
["X"] = 60.11,
["Y"] = 80.98,
["CD"] = 0
},
[53] =
{
["X"] = 59.29,
["Y"] = 77.46,
["CD"] = 0
},
[54] =
{
["X"] = 56.55,
["Y"] = 77.25,
["CD"] = 0
},
[55] =
{
["X"] = 56.87,
["Y"] = 75.77,
["CD"] = 0
},
[56] =
{
["X"] = 51.04,
["Y"] = 72.92,
["CD"] = 0
},
[57] =
{
["X"] = 45.02,
["Y"] = 70.03,
["CD"] = 0
},
[58] =
{
["X"] = 72.27,
["Y"] = 20.18,
["CD"] = 0
},
[59] =
{
["X"] = 75.45,
["Y"] = 17.55,
["CD"] = 0
},
[60] =
{
["X"] = 76.63,
["Y"] = 19.67,
["CD"] = 0
},
[61] =
{
["X"] = 75.67,
["Y"] = 21.71,
["CD"] = 0
},
[62] =
{
["X"] = 73.78,
["Y"] = 24.85,
["CD"] = 0
},
[63] =
{
["X"] = 70.92,
["Y"] = 34.01,
["CD"] = 0
},
[64] =
{
["X"] = 65.32,
["Y"] = 47.25,
["CD"] = 0
},
[65] =
{
["X"] = 69.86,
["Y"] = 52.11,
["CD"] = 0
},
[66] =
{
["X"] = 74.82,
["Y"] = 57.8,
["CD"] = 0
},
[67] =
{
["X"] = 73.72,
["Y"] = 55.53,
["CD"] = 0
},
[68] =
{
["X"] = 75.55,
["Y"] = 56.07,
["CD"] = 0
},
[69] =
{
["X"] = 78.32,
["Y"] = 59.4,
["CD"] = 0
},
[70] =
{
["X"] = 77.23,
["Y"] = 61.88,
["CD"] = 0
},
[71] =
{
["X"] = 75.08,
["Y"] = 61.89,
["CD"] = 0
},
[72] =
{
["X"] = 72.99,
["Y"] = 62.81,
["CD"] = 0
},
[73] =
{
["X"] = 71.3,
["Y"] = 63.82,
["CD"] = 0
},
[74] =
{
["X"] = 68.84,
["Y"] = 59.76,
["CD"] = 0
},
[75] =
{
["X"] = 68.09,
["Y"] = 59.63,
["CD"] = 0
},
[76] =
{
["X"] = 67.89,
["Y"] = 59.57,
["CD"] = 0
},
[77] =
{
["X"] = 42.19,
["Y"] = 84.08,
["CD"] = 0
},
[78] =
{
["X"] = 34.22,
["Y"] = 48.33,
["CD"] = 0
},
[79] =
{
["X"] = 34.19,
["Y"] = 42.54,
["CD"] = 0
},
[80] =
{
["X"] = 19.86,
["Y"] = 48.49,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 15
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,555 @@
aura_env.herbs =
{
[1] =
{
["X"] = 50.79,
["Y"] = 52.35,
["CD"] = 0
},
[2] =
{
["X"] = 52.7,
["Y"] = 53.22,
["CD"] = 0
},
[3] =
{
["X"] = 53.94,
["Y"] = 53.78,
["CD"] = 0
},
[4] =
{
["X"] = 53.24,
["Y"] = 55.02,
["CD"] = 0
},
[5] =
{
["X"] = 52.65,
["Y"] = 55.24,
["CD"] = 0
},
[6] =
{
["X"] = 51.67,
["Y"] = 54.04,
["CD"] = 0
},
[7] =
{
["X"] = 51.15,
["Y"] = 52.08,
["CD"] = 0
},
[8] =
{
["X"] = 49.47,
["Y"] = 53.86,
["CD"] = 0
},
[9] =
{
["X"] = 44.63,
["Y"] = 60.71,
["CD"] = 0
},
[10] =
{
["X"] = 44.89,
["Y"] = 67.28,
["CD"] = 0
},
[11] =
{
["X"] = 44.44,
["Y"] = 67.36,
["CD"] = 0
},
[12] =
{
["X"] = 44.34,
["Y"] = 68.45,
["CD"] = 0
},
[13] =
{
["X"] = 44.14,
["Y"] = 69.89,
["CD"] = 0
},
[14] =
{
["X"] = 44.17,
["Y"] = 71.32,
["CD"] = 0
},
[15] =
{
["X"] = 47.78,
["Y"] = 68.45,
["CD"] = 0
},
[16] =
{
["X"] = 46.65,
["Y"] = 68.58,
["CD"] = 0
},
[17] =
{
["X"] = 48.76,
["Y"] = 73.26,
["CD"] = 0
},
[18] =
{
["X"] = 48.01,
["Y"] = 72.75,
["CD"] = 0
},
[19] =
{
["X"] = 49.41,
["Y"] = 72.56,
["CD"] = 0
},
[20] =
{
["X"] = 48.95,
["Y"] = 70.6,
["CD"] = 0
},
[21] =
{
["X"] = 47.55,
["Y"] = 70.14,
["CD"] = 0
},
[22] =
{
["X"] = 44.82,
["Y"] = 75.25,
["CD"] = 0
},
[23] =
{
["X"] = 45.77,
["Y"] = 77.89,
["CD"] = 0
},
[24] =
{
["X"] = 44.83,
["Y"] = 76,
["CD"] = 0
},
[25] =
{
["X"] = 43.85,
["Y"] = 75.69,
["CD"] = 0
},
[26] =
{
["X"] = 43.04,
["Y"] = 75.56,
["CD"] = 0
},
[27] =
{
["X"] = 44.83,
["Y"] = 75.18,
["CD"] = 0
},
[28] =
{
["X"] = 43.97,
["Y"] = 74.02,
["CD"] = 0
},
[29] =
{
["X"] = 43.68,
["Y"] = 73.14,
["CD"] = 0
},
[30] =
{
["X"] = 43.75,
["Y"] = 54.52,
["CD"] = 0
},
[31] =
{
["X"] = 45.46,
["Y"] = 53.73,
["CD"] = 0
},
[32] =
{
["X"] = 45.89,
["Y"] = 42.83,
["CD"] = 0
},
[33] =
{
["X"] = 45.45,
["Y"] = 42.34,
["CD"] = 0
},
[34] =
{
["X"] = 45.1,
["Y"] = 42.78,
["CD"] = 0
},
[35] =
{
["X"] = 45.03,
["Y"] = 43.2,
["CD"] = 0
},
[36] =
{
["X"] = 45.68,
["Y"] = 43.92,
["CD"] = 0
},
[37] =
{
["X"] = 47.01,
["Y"] = 44.4,
["CD"] = 0
},
[38] =
{
["X"] = 47.62,
["Y"] = 45.31,
["CD"] = 0
},
[39] =
{
["X"] = 44.35,
["Y"] = 50.32,
["CD"] = 0
},
[40] =
{
["X"] = 43.54,
["Y"] = 47.68,
["CD"] = 0
},
[41] =
{
["X"] = 43.35,
["Y"] = 47.13,
["CD"] = 0
},
[42] =
{
["X"] = 40.68,
["Y"] = 34.69,
["CD"] = 0
},
[43] =
{
["X"] = 41.47,
["Y"] = 36.3,
["CD"] = 0
},
[44] =
{
["X"] = 42.18,
["Y"] = 36.37,
["CD"] = 0
},
[45] =
{
["X"] = 42.68,
["Y"] = 35.45,
["CD"] = 0
},
[46] =
{
["X"] = 42.41,
["Y"] = 34.31,
["CD"] = 0
},
[47] =
{
["X"] = 43.14,
["Y"] = 34.43,
["CD"] = 0
},
[48] =
{
["X"] = 42.81,
["Y"] = 32.83,
["CD"] = 0
},
[49] =
{
["X"] = 43.7,
["Y"] = 33.32,
["CD"] = 0
},
[50] =
{
["X"] = 44.13,
["Y"] = 30.6,
["CD"] = 0
},
[51] =
{
["X"] = 44.71,
["Y"] = 29.48,
["CD"] = 0
},
[52] =
{
["X"] = 43.81,
["Y"] = 27.15,
["CD"] = 0
},
[53] =
{
["X"] = 43.3,
["Y"] = 25.86,
["CD"] = 0
},
[54] =
{
["X"] = 41.18,
["Y"] = 25.89,
["CD"] = 0
},
[55] =
{
["X"] = 41.63,
["Y"] = 24.99,
["CD"] = 0
},
[56] =
{
["X"] = 43.99,
["Y"] = 24.13,
["CD"] = 0
},
[57] =
{
["X"] = 45,
["Y"] = 24.59,
["CD"] = 0
},
[58] =
{
["X"] = 51.32,
["Y"] = 25.48,
["CD"] = 0
},
[59] =
{
["X"] = 50.95,
["Y"] = 26.35,
["CD"] = 0
},
[60] =
{
["X"] = 49.69,
["Y"] = 27.85,
["CD"] = 0
},
[61] =
{
["X"] = 49.88,
["Y"] = 28.33,
["CD"] = 0
},
[62] =
{
["X"] = 49.1,
["Y"] = 29.38,
["CD"] = 0
},
[63] =
{
["X"] = 47.93,
["Y"] = 29.24,
["CD"] = 0
},
[64] =
{
["X"] = 47.05,
["Y"] = 30.01,
["CD"] = 0
},
[65] =
{
["X"] = 46.76,
["Y"] = 32.28,
["CD"] = 0
},
[66] =
{
["X"] = 51.53,
["Y"] = 37.03,
["CD"] = 0
},
[67] =
{
["X"] = 52.24,
["Y"] = 39.43,
["CD"] = 0
},
[68] =
{
["X"] = 51.9,
["Y"] = 38.07,
["CD"] = 0
},
[69] =
{
["X"] = 50.52,
["Y"] = 38.82,
["CD"] = 0
},
[70] =
{
["X"] = 49.72,
["Y"] = 39.5,
["CD"] = 0
},
[71] =
{
["X"] = 47.85,
["Y"] = 68.43,
["CD"] = 0
},
[72] =
{
["X"] = 32.68,
["Y"] = 51.4,
["CD"] = 0
},
[73] =
{
["X"] = 33.07,
["Y"] = 48.65,
["CD"] = 0
},
[74] =
{
["X"] = 34.22,
["Y"] = 47.52,
["CD"] = 0
},
[75] =
{
["X"] = 35.38,
["Y"] = 49.24,
["CD"] = 0
},
[76] =
{
["X"] = 36.3,
["Y"] = 49.81,
["CD"] = 0
},
[77] =
{
["X"] = 37.23,
["Y"] = 53.49,
["CD"] = 0
},
[78] =
{
["X"] = 37.55,
["Y"] = 54.77,
["CD"] = 0
},
[79] =
{
["X"] = 37.48,
["Y"] = 55.75,
["CD"] = 0
},
[80] =
{
["X"] = 39.14,
["Y"] = 59.76,
["CD"] = 0
},
[81] =
{
["X"] = 39.01,
["Y"] = 58.93,
["CD"] = 0
},
[82] =
{
["X"] = 38.69,
["Y"] = 58.31,
["CD"] = 0
},
[83] =
{
["X"] = 38.55,
["Y"] = 57.23,
["CD"] = 0
},
[84] =
{
["X"] = 36.59,
["Y"] = 56.72,
["CD"] = 0
},
[85] =
{
["X"] = 34.3,
["Y"] = 55.25,
["CD"] = 0
},
[86] =
{
["X"] = 26.1,
["Y"] = 14.77,
["CD"] = 0
},
[87] =
{
["X"] = 45.95,
["Y"] = 29.55,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 20
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,555 @@
aura_env.herbs =
{
[1] =
{
["X"] = 67.25,
["Y"] = 73.74,
["CD"] = 0
},
[2] =
{
["X"] = 68.53,
["Y"] = 73.25,
["CD"] = 0
},
[3] =
{
["X"] = 69.34,
["Y"] = 73.84,
["CD"] = 0
},
[4] =
{
["X"] = 62.86,
["Y"] = 51.94,
["CD"] = 0
},
[5] =
{
["X"] = 63.66,
["Y"] = 50.43,
["CD"] = 0
},
[6] =
{
["X"] = 65.41,
["Y"] = 50.69,
["CD"] = 0
},
[7] =
{
["X"] = 64.95,
["Y"] = 51.87,
["CD"] = 0
},
[8] =
{
["X"] = 64.6,
["Y"] = 54.88,
["CD"] = 0
},
[9] =
{
["X"] = 52.44,
["Y"] = 43.72,
["CD"] = 0
},
[10] =
{
["X"] = 51.89,
["Y"] = 42.38,
["CD"] = 0
},
[11] =
{
["X"] = 50.37,
["Y"] = 42.54,
["CD"] = 0
},
[12] =
{
["X"] = 49.81,
["Y"] = 41.96,
["CD"] = 0
},
[13] =
{
["X"] = 49.12,
["Y"] = 40.6,
["CD"] = 0
},
[14] =
{
["X"] = 48.34,
["Y"] = 39.21,
["CD"] = 0
},
[15] =
{
["X"] = 48.02,
["Y"] = 36.6,
["CD"] = 0
},
[16] =
{
["X"] = 46.86,
["Y"] = 36.72,
["CD"] = 0
},
[17] =
{
["X"] = 46.75,
["Y"] = 34.53,
["CD"] = 0
},
[18] =
{
["X"] = 25.94,
["Y"] = 28.99,
["CD"] = 0
},
[19] =
{
["X"] = 29.48,
["Y"] = 25.3,
["CD"] = 0
},
[20] =
{
["X"] = 28.4,
["Y"] = 25.56,
["CD"] = 0
},
[21] =
{
["X"] = 28.51,
["Y"] = 23.82,
["CD"] = 0
},
[22] =
{
["X"] = 29.61,
["Y"] = 22.79,
["CD"] = 0
},
[23] =
{
["X"] = 29.75,
["Y"] = 21.84,
["CD"] = 0
},
[24] =
{
["X"] = 26.43,
["Y"] = 10.9,
["CD"] = 0
},
[25] =
{
["X"] = 25.97,
["Y"] = 12.48,
["CD"] = 0
},
[26] =
{
["X"] = 25.9,
["Y"] = 15.81,
["CD"] = 0
},
[27] =
{
["X"] = 25.73,
["Y"] = 16.64,
["CD"] = 0
},
[28] =
{
["X"] = 25.45,
["Y"] = 17.29,
["CD"] = 0
},
[29] =
{
["X"] = 25.4,
["Y"] = 18.4,
["CD"] = 0
},
[30] =
{
["X"] = 25.26,
["Y"] = 19.79,
["CD"] = 0
},
[31] =
{
["X"] = 26.03,
["Y"] = 24.44,
["CD"] = 0
},
[32] =
{
["X"] = 26.04,
["Y"] = 23.22,
["CD"] = 0
},
[33] =
{
["X"] = 24.19,
["Y"] = 23.27,
["CD"] = 0
},
[34] =
{
["X"] = 24.28,
["Y"] = 24.89,
["CD"] = 0
},
[35] =
{
["X"] = 24.47,
["Y"] = 25.24,
["CD"] = 0
},
[36] =
{
["X"] = 24.46,
["Y"] = 26.17,
["CD"] = 0
},
[37] =
{
["X"] = 24.98,
["Y"] = 27.02,
["CD"] = 0
},
[38] =
{
["X"] = 24.82,
["Y"] = 27.95,
["CD"] = 0
},
[39] =
{
["X"] = 24.87,
["Y"] = 29.34,
["CD"] = 0
},
[40] =
{
["X"] = 24.49,
["Y"] = 30.19,
["CD"] = 0
},
[41] =
{
["X"] = 23.53,
["Y"] = 30.88,
["CD"] = 0
},
[42] =
{
["X"] = 23.17,
["Y"] = 31.72,
["CD"] = 0
},
[43] =
{
["X"] = 22.88,
["Y"] = 32.62,
["CD"] = 0
},
[44] =
{
["X"] = 21.65,
["Y"] = 33.2,
["CD"] = 0
},
[45] =
{
["X"] = 19.95,
["Y"] = 33.28,
["CD"] = 0
},
[46] =
{
["X"] = 21.16,
["Y"] = 34.77,
["CD"] = 0
},
[47] =
{
["X"] = 22.35,
["Y"] = 34.03,
["CD"] = 0
},
[48] =
{
["X"] = 31.87,
["Y"] = 52.38,
["CD"] = 0
},
[49] =
{
["X"] = 30.31,
["Y"] = 53,
["CD"] = 0
},
[50] =
{
["X"] = 28.27,
["Y"] = 53.65,
["CD"] = 0
},
[51] =
{
["X"] = 27.54,
["Y"] = 53.51,
["CD"] = 0
},
[52] =
{
["X"] = 27.6,
["Y"] = 52.81,
["CD"] = 0
},
[53] =
{
["X"] = 26.91,
["Y"] = 53.27,
["CD"] = 0
},
[54] =
{
["X"] = 25.45,
["Y"] = 54.29,
["CD"] = 0
},
[55] =
{
["X"] = 25.36,
["Y"] = 53.45,
["CD"] = 0
},
[56] =
{
["X"] = 22.29,
["Y"] = 54.37,
["CD"] = 0
},
[57] =
{
["X"] = 23.11,
["Y"] = 55.13,
["CD"] = 0
},
[58] =
{
["X"] = 24.34,
["Y"] = 55.09,
["CD"] = 0
},
[59] =
{
["X"] = 24.03,
["Y"] = 55.88,
["CD"] = 0
},
[60] =
{
["X"] = 24.95,
["Y"] = 59.85,
["CD"] = 0
},
[61] =
{
["X"] = 24.84,
["Y"] = 61.41,
["CD"] = 0
},
[62] =
{
["X"] = 34.59,
["Y"] = 69.79,
["CD"] = 0
},
[63] =
{
["X"] = 33.59,
["Y"] = 68.41,
["CD"] = 0
},
[64] =
{
["X"] = 31.96,
["Y"] = 69.06,
["CD"] = 0
},
[65] =
{
["X"] = 29.87,
["Y"] = 65.93,
["CD"] = 0
},
[66] =
{
["X"] = 30.95,
["Y"] = 64.82,
["CD"] = 0
},
[67] =
{
["X"] = 32.43,
["Y"] = 62.85,
["CD"] = 0
},
[68] =
{
["X"] = 32.7,
["Y"] = 61.83,
["CD"] = 0
},
[69] =
{
["X"] = 33.05,
["Y"] = 57.88,
["CD"] = 0
},
[70] =
{
["X"] = 32.43,
["Y"] = 56.41,
["CD"] = 0
},
[71] =
{
["X"] = 33.85,
["Y"] = 54.08,
["CD"] = 0
},
[72] =
{
["X"] = 32.68,
["Y"] = 51.4,
["CD"] = 0
},
[73] =
{
["X"] = 33.07,
["Y"] = 48.65,
["CD"] = 0
},
[74] =
{
["X"] = 34.22,
["Y"] = 47.52,
["CD"] = 0
},
[75] =
{
["X"] = 35.38,
["Y"] = 49.24,
["CD"] = 0
},
[76] =
{
["X"] = 36.3,
["Y"] = 49.81,
["CD"] = 0
},
[77] =
{
["X"] = 37.23,
["Y"] = 53.49,
["CD"] = 0
},
[78] =
{
["X"] = 37.55,
["Y"] = 54.77,
["CD"] = 0
},
[79] =
{
["X"] = 37.48,
["Y"] = 55.75,
["CD"] = 0
},
[80] =
{
["X"] = 39.14,
["Y"] = 59.76,
["CD"] = 0
},
[81] =
{
["X"] = 39.01,
["Y"] = 58.93,
["CD"] = 0
},
[82] =
{
["X"] = 38.69,
["Y"] = 58.31,
["CD"] = 0
},
[83] =
{
["X"] = 38.55,
["Y"] = 57.23,
["CD"] = 0
},
[84] =
{
["X"] = 36.59,
["Y"] = 56.72,
["CD"] = 0
},
[85] =
{
["X"] = 34.3,
["Y"] = 55.25,
["CD"] = 0
},
[86] =
{
["X"] = 26.1,
["Y"] = 14.77,
["CD"] = 0
},
[87] =
{
["X"] = 45.95,
["Y"] = 29.55,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 20
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,513 @@
aura_env.herbs =
{
[1] =
{
["X"] = 29.47,
["Y"] = 31.25,
["CD"] = 0
},
[2] =
{
["X"] = 28.15,
["Y"] = 37.03,
["CD"] = 0
},
[3] =
{
["X"] = 26.89,
["Y"] = 35.94,
["CD"] = 0
},
[4] =
{
["X"] = 26.1,
["Y"] = 38.55,
["CD"] = 0
},
[5] =
{
["X"] = 24.92,
["Y"] = 42.79,
["CD"] = 0
},
[6] =
{
["X"] = 24.22,
["Y"] = 45.41,
["CD"] = 0
},
[7] =
{
["X"] = 23.88,
["Y"] = 48.95,
["CD"] = 0
},
[8] =
{
["X"] = 25.79,
["Y"] = 49.81,
["CD"] = 0
},
[9] =
{
["X"] = 26.82,
["Y"] = 46.94,
["CD"] = 0
},
[10] =
{
["X"] = 31.6,
["Y"] = 49.24,
["CD"] = 0
},
[11] =
{
["X"] = 33.02,
["Y"] = 46.44,
["CD"] = 0
},
[12] =
{
["X"] = 28.44,
["Y"] = 43.1,
["CD"] = 0
},
[13] =
{
["X"] = 23.55,
["Y"] = 48.35,
["CD"] = 0
},
[14] =
{
["X"] = 20.43,
["Y"] = 52.82,
["CD"] = 0
},
[15] =
{
["X"] = 25.81,
["Y"] = 52.62,
["CD"] = 0
},
[16] =
{
["X"] = 26.13,
["Y"] = 55.42,
["CD"] = 0
},
[17] =
{
["X"] = 26.22,
["Y"] = 53.16,
["CD"] = 0
},
[18] =
{
["X"] = 24.67,
["Y"] = 51.58,
["CD"] = 0
},
[19] =
{
["X"] = 24.61,
["Y"] = 47.73,
["CD"] = 0
},
[20] =
{
["X"] = 26.03,
["Y"] = 47.65,
["CD"] = 0
},
[21] =
{
["X"] = 27.94,
["Y"] = 47.19,
["CD"] = 0
},
[22] =
{
["X"] = 27.39,
["Y"] = 44.65,
["CD"] = 0
},
[23] =
{
["X"] = 32.73,
["Y"] = 43.41,
["CD"] = 0
},
[24] =
{
["X"] = 31.98,
["Y"] = 47.64,
["CD"] = 0
},
[25] =
{
["X"] = 32.51,
["Y"] = 38.82,
["CD"] = 0
},
[26] =
{
["X"] = 31.03,
["Y"] = 38.81,
["CD"] = 0
},
[27] =
{
["X"] = 30.59,
["Y"] = 39.67,
["CD"] = 0
},
[28] =
{
["X"] = 30.03,
["Y"] = 40.09,
["CD"] = 0
},
[29] =
{
["X"] = 29.63,
["Y"] = 41.35,
["CD"] = 0
},
[30] =
{
["X"] = 28.81,
["Y"] = 43.12,
["CD"] = 0
},
[31] =
{
["X"] = 30.08,
["Y"] = 45.64,
["CD"] = 0
},
[32] =
{
["X"] = 30.28,
["Y"] = 48.27,
["CD"] = 0
},
[33] =
{
["X"] = 29.93,
["Y"] = 47.4,
["CD"] = 0
},
[34] =
{
["X"] = 28.94,
["Y"] = 47.14,
["CD"] = 0
},
[35] =
{
["X"] = 27.59,
["Y"] = 45.29,
["CD"] = 0
},
[36] =
{
["X"] = 30.01,
["Y"] = 44.34,
["CD"] = 0
},
[37] =
{
["X"] = 32.22,
["Y"] = 39.24,
["CD"] = 0
},
[38] =
{
["X"] = 31.38,
["Y"] = 38.07,
["CD"] = 0
},
[39] =
{
["X"] = 32.23,
["Y"] = 36.98,
["CD"] = 0
},
[40] =
{
["X"] = 31.55,
["Y"] = 31.57,
["CD"] = 0
},
[41] =
{
["X"] = 30.92,
["Y"] = 34.67,
["CD"] = 0
},
[42] =
{
["X"] = 47.19,
["Y"] = 39.83,
["CD"] = 0
},
[43] =
{
["X"] = 50.82,
["Y"] = 40.62,
["CD"] = 0
},
[44] =
{
["X"] = 48.38,
["Y"] = 34.1,
["CD"] = 0
},
[45] =
{
["X"] = 45.59,
["Y"] = 31.09,
["CD"] = 0
},
[46] =
{
["X"] = 43.61,
["Y"] = 35.49,
["CD"] = 0
},
[47] =
{
["X"] = 35.64,
["Y"] = 41.64,
["CD"] = 0
},
[48] =
{
["X"] = 34.44,
["Y"] = 43,
["CD"] = 0
},
[49] =
{
["X"] = 47.66,
["Y"] = 49.41,
["CD"] = 0
},
[50] =
{
["X"] = 48.82,
["Y"] = 47.86,
["CD"] = 0
},
[51] =
{
["X"] = 44.12,
["Y"] = 47.05,
["CD"] = 0
},
[52] =
{
["X"] = 43.09,
["Y"] = 48.75,
["CD"] = 0
},
[53] =
{
["X"] = 40.23,
["Y"] = 47.62,
["CD"] = 0
},
[54] =
{
["X"] = 37.28,
["Y"] = 50.18,
["CD"] = 0
},
[55] =
{
["X"] = 36.33,
["Y"] = 56.29,
["CD"] = 0
},
[56] =
{
["X"] = 38.4,
["Y"] = 56.36,
["CD"] = 0
},
[57] =
{
["X"] = 40.05,
["Y"] = 56.12,
["CD"] = 0
},
[58] =
{
["X"] = 39.51,
["Y"] = 57.12,
["CD"] = 0
},
[59] =
{
["X"] = 39.43,
["Y"] = 54.75,
["CD"] = 0
},
[60] =
{
["X"] = 38.8,
["Y"] = 51.65,
["CD"] = 0
},
[61] =
{
["X"] = 38.74,
["Y"] = 53.13,
["CD"] = 0
},
[62] =
{
["X"] = 38.11,
["Y"] = 53.06,
["CD"] = 0
},
[63] =
{
["X"] = 36.71,
["Y"] = 53.46,
["CD"] = 0
},
[64] =
{
["X"] = 36.17,
["Y"] = 53.81,
["CD"] = 0
},
[65] =
{
["X"] = 34.25,
["Y"] = 55.15,
["CD"] = 0
},
[66] =
{
["X"] = 35.35,
["Y"] = 54.5,
["CD"] = 0
},
[67] =
{
["X"] = 35.27,
["Y"] = 52.65,
["CD"] = 0
},
[68] =
{
["X"] = 32.47,
["Y"] = 45.01,
["CD"] = 0
},
[69] =
{
["X"] = 34.72,
["Y"] = 47.72,
["CD"] = 0
},
[70] =
{
["X"] = 36.55,
["Y"] = 51.57,
["CD"] = 0
},
[71] =
{
["X"] = 70.42,
["Y"] = 64.46,
["CD"] = 0
},
[72] =
{
["X"] = 64.84,
["Y"] = 55.38,
["CD"] = 0
},
[73] =
{
["X"] = 44.86,
["Y"] = 48.82,
["CD"] = 0
},
[74] =
{
["X"] = 29.45,
["Y"] = 77.91,
["CD"] = 0
},
[75] =
{
["X"] = 29.8,
["Y"] = 70.65,
["CD"] = 0
},
[76] =
{
["X"] = 44.01,
["Y"] = 41.2,
["CD"] = 0
},
[77] =
{
["X"] = 41.54,
["Y"] = 40.12,
["CD"] = 0
},
[78] =
{
["X"] = 20.2,
["Y"] = 53.96,
["CD"] = 0
},
[79] =
{
["X"] = 31.44,
["Y"] = 29.22,
["CD"] = 0
},
[80] =
{
["X"] = 15.67,
["Y"] = 37.13,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 50
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,423 @@
aura_env.herbs =
{
[1] =
{
["X"] = 20.97,
["Y"] = 15.47,
["CD"] = 0
},
[2] =
{
["X"] = 27.52,
["Y"] = 9.17,
["CD"] = 0
},
[3] =
{
["X"] = 25.93,
["Y"] = 25.58,
["CD"] = 0
},
[4] =
{
["X"] = 34.07,
["Y"] = 50.83,
["CD"] = 0
},
[5] =
{
["X"] = 37.23,
["Y"] = 54.85,
["CD"] = 0
},
[6] =
{
["X"] = 34.77,
["Y"] = 58.4,
["CD"] = 0
},
[7] =
{
["X"] = 39.56,
["Y"] = 79.48,
["CD"] = 0
},
[8] =
{
["X"] = 66.46,
["Y"] = 57.51,
["CD"] = 0
},
[9] =
{
["X"] = 66.74,
["Y"] = 66.02,
["CD"] = 0
},
[10] =
{
["X"] = 71.94,
["Y"] = 68.81,
["CD"] = 0
},
[11] =
{
["X"] = 69.51,
["Y"] = 67.83,
["CD"] = 0
},
[12] =
{
["X"] = 69.31,
["Y"] = 50.72,
["CD"] = 0
},
[13] =
{
["X"] = 63.31,
["Y"] = 53.33,
["CD"] = 0
},
[14] =
{
["X"] = 63.96,
["Y"] = 50.46,
["CD"] = 0
},
[15] =
{
["X"] = 65.37,
["Y"] = 43.82,
["CD"] = 0
},
[16] =
{
["X"] = 63.15,
["Y"] = 35.17,
["CD"] = 0
},
[17] =
{
["X"] = 60.59,
["Y"] = 44.44,
["CD"] = 0
},
[18] =
{
["X"] = 35.55,
["Y"] = 61.86,
["CD"] = 0
},
[19] =
{
["X"] = 40.1,
["Y"] = 53.5,
["CD"] = 0
},
[20] =
{
["X"] = 47.46,
["Y"] = 47.36,
["CD"] = 0
},
[21] =
{
["X"] = 49.48,
["Y"] = 39.04,
["CD"] = 0
},
[22] =
{
["X"] = 35.79,
["Y"] = 42.74,
["CD"] = 0
},
[23] =
{
["X"] = 33.35,
["Y"] = 45.99,
["CD"] = 0
},
[24] =
{
["X"] = 30.25,
["Y"] = 43.1,
["CD"] = 0
},
[25] =
{
["X"] = 28.76,
["Y"] = 48.41,
["CD"] = 0
},
[26] =
{
["X"] = 30.18,
["Y"] = 65.31,
["CD"] = 0
},
[27] =
{
["X"] = 32.64,
["Y"] = 74.92,
["CD"] = 0
},
[28] =
{
["X"] = 35.41,
["Y"] = 80.33,
["CD"] = 0
},
[29] =
{
["X"] = 32.08,
["Y"] = 81.08,
["CD"] = 0
},
[30] =
{
["X"] = 30.03,
["Y"] = 82.65,
["CD"] = 0
},
[31] =
{
["X"] = 27.52,
["Y"] = 67.32,
["CD"] = 0
},
[32] =
{
["X"] = 26.24,
["Y"] = 69.06,
["CD"] = 0
},
[33] =
{
["X"] = 24.97,
["Y"] = 61.8,
["CD"] = 0
},
[34] =
{
["X"] = 25.91,
["Y"] = 58.23,
["CD"] = 0
},
[35] =
{
["X"] = 34.69,
["Y"] = 39.51,
["CD"] = 0
},
[36] =
{
["X"] = 37.45,
["Y"] = 38.69,
["CD"] = 0
},
[37] =
{
["X"] = 45.96,
["Y"] = 36.33,
["CD"] = 0
},
[38] =
{
["X"] = 46.54,
["Y"] = 33.81,
["CD"] = 0
},
[39] =
{
["X"] = 37.6,
["Y"] = 31.35,
["CD"] = 0
},
[40] =
{
["X"] = 24.73,
["Y"] = 54.01,
["CD"] = 0
},
[41] =
{
["X"] = 21.68,
["Y"] = 47.55,
["CD"] = 0
},
[42] =
{
["X"] = 23.58,
["Y"] = 50.81,
["CD"] = 0
},
[43] =
{
["X"] = 25.01,
["Y"] = 35.96,
["CD"] = 0
},
[44] =
{
["X"] = 25.25,
["Y"] = 37.61,
["CD"] = 0
},
[45] =
{
["X"] = 41.53,
["Y"] = 17.47,
["CD"] = 0
},
[46] =
{
["X"] = 27.84,
["Y"] = 15.94,
["CD"] = 0
},
[47] =
{
["X"] = 44.1,
["Y"] = 24.69,
["CD"] = 0
},
[48] =
{
["X"] = 41.45,
["Y"] = 24.26,
["CD"] = 0
},
[49] =
{
["X"] = 40.28,
["Y"] = 27.75,
["CD"] = 0
},
[50] =
{
["X"] = 37.57,
["Y"] = 27.05,
["CD"] = 0
},
[51] =
{
["X"] = 33.71,
["Y"] = 31.04,
["CD"] = 0
},
[52] =
{
["X"] = 28.85,
["Y"] = 29.61,
["CD"] = 0
},
[53] =
{
["X"] = 27.2,
["Y"] = 29.85,
["CD"] = 0
},
[54] =
{
["X"] = 23.31,
["Y"] = 34.44,
["CD"] = 0
},
[55] =
{
["X"] = 15.86,
["Y"] = 43.89,
["CD"] = 0
},
[56] =
{
["X"] = 16.17,
["Y"] = 39.56,
["CD"] = 0
},
[57] =
{
["X"] = 16.88,
["Y"] = 28.87,
["CD"] = 0
},
[58] =
{
["X"] = 19.56,
["Y"] = 18.08,
["CD"] = 0
},
[59] =
{
["X"] = 19.99,
["Y"] = 18.12,
["CD"] = 0
},
[60] =
{
["X"] = 49.54,
["Y"] = 43.54,
["CD"] = 0
},
[61] =
{
["X"] = 55.47,
["Y"] = 40.72,
["CD"] = 0
},
[62] =
{
["X"] = 57.64,
["Y"] = 37.85,
["CD"] = 0
},
[63] =
{
["X"] = 62.48,
["Y"] = 57.85,
["CD"] = 0
},
[64] =
{
["X"] = 63.78,
["Y"] = 60.52,
["CD"] = 0
},
[65] =
{
["X"] = 50.61,
["Y"] = 60.74,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 50
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,453 @@
aura_env.herbs =
{
[1] =
{
["X"] = 64.49,
["Y"] = 56.55,
["CD"] = 0
},
[2] =
{
["X"] = 63.79,
["Y"] = 54.73,
["CD"] = 0
},
[3] =
{
["X"] = 61.99,
["Y"] = 53.82,
["CD"] = 0
},
[4] =
{
["X"] = 61.48,
["Y"] = 49.4,
["CD"] = 0
},
[5] =
{
["X"] = 61.46,
["Y"] = 47.17,
["CD"] = 0
},
[6] =
{
["X"] = 59.23,
["Y"] = 46.84,
["CD"] = 0
},
[7] =
{
["X"] = 56.86,
["Y"] = 45.6,
["CD"] = 0
},
[8] =
{
["X"] = 55.78,
["Y"] = 44.91,
["CD"] = 0
},
[9] =
{
["X"] = 55.06,
["Y"] = 34.48,
["CD"] = 0
},
[10] =
{
["X"] = 56.92,
["Y"] = 34.22,
["CD"] = 0
},
[11] =
{
["X"] = 59,
["Y"] = 34.83,
["CD"] = 0
},
[12] =
{
["X"] = 60.2,
["Y"] = 36.57,
["CD"] = 0
},
[13] =
{
["X"] = 61.85,
["Y"] = 36.99,
["CD"] = 0
},
[14] =
{
["X"] = 64.38,
["Y"] = 35.48,
["CD"] = 0
},
[15] =
{
["X"] = 66.81,
["Y"] = 36.14,
["CD"] = 0
},
[16] =
{
["X"] = 67.47,
["Y"] = 35.67,
["CD"] = 0
},
[17] =
{
["X"] = 69.55,
["Y"] = 37.38,
["CD"] = 0
},
[18] =
{
["X"] = 69.25,
["Y"] = 37.57,
["CD"] = 0
},
[19] =
{
["X"] = 68.77,
["Y"] = 39.03,
["CD"] = 0
},
[20] =
{
["X"] = 70.23,
["Y"] = 39.53,
["CD"] = 0
},
[21] =
{
["X"] = 72.53,
["Y"] = 40.98,
["CD"] = 0
},
[22] =
{
["X"] = 77.18,
["Y"] = 44.12,
["CD"] = 0
},
[23] =
{
["X"] = 77.7,
["Y"] = 50.51,
["CD"] = 0
},
[24] =
{
["X"] = 77.21,
["Y"] = 49.87,
["CD"] = 0
},
[25] =
{
["X"] = 77.8,
["Y"] = 48.72,
["CD"] = 0
},
[26] =
{
["X"] = 77.04,
["Y"] = 47.98,
["CD"] = 0
},
[27] =
{
["X"] = 74.84,
["Y"] = 48.86,
["CD"] = 0
},
[28] =
{
["X"] = 74.71,
["Y"] = 49.87,
["CD"] = 0
},
[29] =
{
["X"] = 77.44,
["Y"] = 51.67,
["CD"] = 0
},
[30] =
{
["X"] = 78.28,
["Y"] = 52.79,
["CD"] = 0
},
[31] =
{
["X"] = 76.61,
["Y"] = 56.1,
["CD"] = 0
},
[32] =
{
["X"] = 78.15,
["Y"] = 58.13,
["CD"] = 0
},
[33] =
{
["X"] = 77.88,
["Y"] = 59.33,
["CD"] = 0
},
[34] =
{
["X"] = 78.99,
["Y"] = 59.38,
["CD"] = 0
},
[35] =
{
["X"] = 78.7,
["Y"] = 61.8,
["CD"] = 0
},
[36] =
{
["X"] = 80.81,
["Y"] = 62.57,
["CD"] = 0
},
[37] =
{
["X"] = 80.67,
["Y"] = 63.24,
["CD"] = 0
},
[38] =
{
["X"] = 81.77,
["Y"] = 64.74,
["CD"] = 0
},
[39] =
{
["X"] = 81.61,
["Y"] = 67.37,
["CD"] = 0
},
[40] =
{
["X"] = 80.59,
["Y"] = 69.27,
["CD"] = 0
},
[41] =
{
["X"] = 54.85,
["Y"] = 78.82,
["CD"] = 0
},
[42] =
{
["X"] = 54.64,
["Y"] = 77.06,
["CD"] = 0
},
[43] =
{
["X"] = 54.11,
["Y"] = 76.34,
["CD"] = 0
},
[44] =
{
["X"] = 52.14,
["Y"] = 71.88,
["CD"] = 0
},
[45] =
{
["X"] = 49.89,
["Y"] = 61.13,
["CD"] = 0
},
[46] =
{
["X"] = 49.47,
["Y"] = 56.45,
["CD"] = 0
},
[47] =
{
["X"] = 49.33,
["Y"] = 52.48,
["CD"] = 0
},
[48] =
{
["X"] = 49.79,
["Y"] = 47.5,
["CD"] = 0
},
[49] =
{
["X"] = 78.74,
["Y"] = 32.35,
["CD"] = 0
},
[50] =
{
["X"] = 76.86,
["Y"] = 33.06,
["CD"] = 0
},
[51] =
{
["X"] = 74.67,
["Y"] = 37.87,
["CD"] = 0
},
[52] =
{
["X"] = 74.93,
["Y"] = 41.16,
["CD"] = 0
},
[53] =
{
["X"] = 70.73,
["Y"] = 43.54,
["CD"] = 0
},
[54] =
{
["X"] = 70.35,
["Y"] = 45.76,
["CD"] = 0
},
[55] =
{
["X"] = 37.66,
["Y"] = 22.47,
["CD"] = 0
},
[56] =
{
["X"] = 36.85,
["Y"] = 26.28,
["CD"] = 0
},
[57] =
{
["X"] = 33.63,
["Y"] = 29.7,
["CD"] = 0
},
[58] =
{
["X"] = 31.25,
["Y"] = 33.5,
["CD"] = 0
},
[59] =
{
["X"] = 29,
["Y"] = 41.91,
["CD"] = 0
},
[60] =
{
["X"] = 27.51,
["Y"] = 43.03,
["CD"] = 0
},
[61] =
{
["X"] = 29.19,
["Y"] = 44.39,
["CD"] = 0
},
[62] =
{
["X"] = 30.22,
["Y"] = 46.68,
["CD"] = 0
},
[63] =
{
["X"] = 30.56,
["Y"] = 60.35,
["CD"] = 0
},
[64] =
{
["X"] = 31.8,
["Y"] = 62.23,
["CD"] = 0
},
[65] =
{
["X"] = 32.24,
["Y"] = 64.21,
["CD"] = 0
},
[66] =
{
["X"] = 33,
["Y"] = 66.87,
["CD"] = 0
},
[67] =
{
["X"] = 35.52,
["Y"] = 69.32,
["CD"] = 0
},
[68] =
{
["X"] = 33.51,
["Y"] = 70.23,
["CD"] = 0
},
[69] =
{
["X"] = 32.51,
["Y"] = 67.22,
["CD"] = 0
},
[70] =
{
["X"] = 30.69,
["Y"] = 67.28,
["CD"] = 0
}
}
aura_env.cooldown = 600
aura_env.wipeDistance = 50
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,435 @@
aura_env.herbs =
{
[1] =
{
["X"] = 55.21,
["Y"] = 29.38,
["CD"] = 0
},
[2] =
{
["X"] = 56.38,
["Y"] = 30.8,
["CD"] = 0
},
[3] =
{
["X"] = 54.25,
["Y"] = 31.3,
["CD"] = 0
},
[4] =
{
["X"] = 56.5,
["Y"] = 32.12,
["CD"] = 0
},
[5] =
{
["X"] = 58.44,
["Y"] = 35.06,
["CD"] = 0
},
[6] =
{
["X"] = 53.05,
["Y"] = 37.22,
["CD"] = 0
},
[7] =
{
["X"] = 52.92,
["Y"] = 37.71,
["CD"] = 0
},
[8] =
{
["X"] = 56.85,
["Y"] = 37.89,
["CD"] = 0
},
[9] =
{
["X"] = 59.32,
["Y"] = 39.96,
["CD"] = 0
},
[10] =
{
["X"] = 60.24,
["Y"] = 43.26,
["CD"] = 0
},
[11] =
{
["X"] = 62.38,
["Y"] = 44.15,
["CD"] = 0
},
[12] =
{
["X"] = 60.31,
["Y"] = 44.75,
["CD"] = 0
},
[13] =
{
["X"] = 62.63,
["Y"] = 45,
["CD"] = 0
},
[14] =
{
["X"] = 58.79,
["Y"] = 66.11,
["CD"] = 0
},
[15] =
{
["X"] = 58.07,
["Y"] = 67.24,
["CD"] = 0
},
[16] =
{
["X"] = 58.8,
["Y"] = 68.04,
["CD"] = 0
},
[17] =
{
["X"] = 56.18,
["Y"] = 68.4,
["CD"] = 0
},
[18] =
{
["X"] = 56.89,
["Y"] = 68.83,
["CD"] = 0
},
[19] =
{
["X"] = 55.99,
["Y"] = 68.92,
["CD"] = 0
},
[20] =
{
["X"] = 54.79,
["Y"] = 69.16,
["CD"] = 0
},
[21] =
{
["X"] = 78.12,
["Y"] = 69.46,
["CD"] = 0
},
[22] =
{
["X"] = 55.23,
["Y"] = 69.82,
["CD"] = 0
},
[23] =
{
["X"] = 56.47,
["Y"] = 69.86,
["CD"] = 0
},
[24] =
{
["X"] = 78.49,
["Y"] = 70,
["CD"] = 0
},
[25] =
{
["X"] = 57.49,
["Y"] = 70.1,
["CD"] = 0
},
[26] =
{
["X"] = 62.05,
["Y"] = 70.16,
["CD"] = 0
},
[27] =
{
["X"] = 53.23,
["Y"] = 70.74,
["CD"] = 0
},
[28] =
{
["X"] = 55.72,
["Y"] = 70.85,
["CD"] = 0
},
[29] =
{
["X"] = 60.45,
["Y"] = 70.99,
["CD"] = 0
},
[30] =
{
["X"] = 78.71,
["Y"] = 71.05,
["CD"] = 0
},
[31] =
{
["X"] = 59.93,
["Y"] = 71.54,
["CD"] = 0
},
[32] =
{
["X"] = 60.96,
["Y"] = 71.64,
["CD"] = 0
},
[33] =
{
["X"] = 78.05,
["Y"] = 71.69,
["CD"] = 0
},
[34] =
{
["X"] = 53.97,
["Y"] = 71.7,
["CD"] = 0
},
[35] =
{
["X"] = 58.78,
["Y"] = 71.92,
["CD"] = 0
},
[36] =
{
["X"] = 59.19,
["Y"] = 72.7,
["CD"] = 0
},
[37] =
{
["X"] = 57.1,
["Y"] = 72.76,
["CD"] = 0
},
[38] =
{
["X"] = 63.61,
["Y"] = 73.32,
["CD"] = 0
},
[39] =
{
["X"] = 57.6,
["Y"] = 73.39,
["CD"] = 0
},
[40] =
{
["X"] = 55.82,
["Y"] = 73.97,
["CD"] = 0
},
[41] =
{
["X"] = 56.83,
["Y"] = 74.09,
["CD"] = 0
},
[42] =
{
["X"] = 59.48,
["Y"] = 75.05,
["CD"] = 0
},
[43] =
{
["X"] = 57.28,
["Y"] = 75.33,
["CD"] = 0
},
[44] =
{
["X"] = 56.2,
["Y"] = 75.37,
["CD"] = 0
},
[45] =
{
["X"] = 65.04,
["Y"] = 75.73,
["CD"] = 0
},
[46] =
{
["X"] = 57.1,
["Y"] = 75.83,
["CD"] = 0
},
[47] =
{
["X"] = 64.03,
["Y"] = 76.03,
["CD"] = 0
},
[48] =
{
["X"] = 65.94,
["Y"] = 76.67,
["CD"] = 0
},
[49] =
{
["X"] = 60.04,
["Y"] = 76.75,
["CD"] = 0
},
[50] =
{
["X"] = 51.69,
["Y"] = 77.08,
["CD"] = 0
},
[51] =
{
["X"] = 66.38,
["Y"] = 77.13,
["CD"] = 0
},
[52] =
{
["X"] = 61.34,
["Y"] = 77.69,
["CD"] = 0
},
[53] =
{
["X"] = 56.96,
["Y"] = 77.71,
["CD"] = 0
},
[54] =
{
["X"] = 63.81,
["Y"] = 77.73,
["CD"] = 0
},
[55] =
{
["X"] = 65.79,
["Y"] = 77.78,
["CD"] = 0
},
[56] =
{
["X"] = 66.91,
["Y"] = 78.43,
["CD"] = 0
},
[57] =
{
["X"] = 64.63,
["Y"] = 79.29,
["CD"] = 0
},
[58] =
{
["X"] = 63.47,
["Y"] = 79.63,
["CD"] = 0
},
[59] =
{
["X"] = 61.37,
["Y"] = 79.81,
["CD"] = 0
},
[60] =
{
["X"] = 60.47,
["Y"] = 80.35,
["CD"] = 0
},
[61] =
{
["X"] = 62.7,
["Y"] = 80.54,
["CD"] = 0
},
[62] =
{
["X"] = 70.7,
["Y"] = 80.98,
["CD"] = 0
},
[63] =
{
["X"] = 60.52,
["Y"] = 81.06,
["CD"] = 0
},
[64] =
{
["X"] = 72.19,
["Y"] = 82.3,
["CD"] = 0
},
[65] =
{
["X"] = 71.35,
["Y"] = 82.53,
["CD"] = 0
},
[66] =
{
["X"] = 67.39,
["Y"] = 83.15,
["CD"] = 0
},
[67] =
{
["X"] = 71.42,
["Y"] = 84.27,
["CD"] = 0
}
}
aura_env.cooldown = 92
aura_env.wipeDistance = 15
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,153 @@
aura_env.herbs =
{
[1] =
{
["X"] = 51.58,
["Y"] = 43.53,
["CD"] = 0
},
[2] =
{
["X"] = 51.71,
["Y"] = 43.97,
["CD"] = 0
},
[3] =
{
["X"] = 52.19,
["Y"] = 43.75,
["CD"] = 0
},
[4] =
{
["X"] = 53.1,
["Y"] = 43.07,
["CD"] = 0
},
[5] =
{
["X"] = 53.56,
["Y"] = 43.28,
["CD"] = 0
},
[6] =
{
["X"] = 54.06,
["Y"] = 43.34,
["CD"] = 0
},
[7] =
{
["X"] = 54.63,
["Y"] = 43.33,
["CD"] = 0
},
[8] =
{
["X"] = 54.84,
["Y"] = 42.4,
["CD"] = 0
},
[9] =
{
["X"] = 54.89,
["Y"] = 41.74,
["CD"] = 0
},
[10] =
{
["X"] = 54.53,
["Y"] = 41.47,
["CD"] = 0
},
[11] =
{
["X"] = 54.27,
["Y"] = 41.65,
["CD"] = 0
},
[12] =
{
["X"] = 53.86,
["Y"] = 41.66,
["CD"] = 0
},
[13] =
{
["X"] = 53.74,
["Y"] = 40.67,
["CD"] = 0
},
[14] =
{
["X"] = 52.95,
["Y"] = 40.72,
["CD"] = 0
},
[15] =
{
["X"] = 52.78,
["Y"] = 40.24,
["CD"] = 0
},
[16] =
{
["X"] = 47.99,
["Y"] = 45.57,
["CD"] = 0
},
[17] =
{
["X"] = 47.57,
["Y"] = 45.29,
["CD"] = 0
},
[18] =
{
["X"] = 47.57,
["Y"] = 45.38,
["CD"] = 0
},
[19] =
{
["X"] = 48.18,
["Y"] = 46.31,
["CD"] = 0
},
[20] =
{
["X"] = 47.05,
["Y"] = 46.63,
["CD"] = 0
},
}
aura_env.cooldown = 120
aura_env.wipeDistance = 15
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,153 @@
aura_env.herbs =
{
[1] =
{
["X"] = 47.45,
["Y"] = 45.25,
["CD"] = 0
},
[2] =
{
["X"] = 47.1,
["Y"] = 45.39,
["CD"] = 0
},
[3] =
{
["X"] = 46.85,
["Y"] = 45.64,
["CD"] = 0
},
[4] =
{
["X"] = 47.26,
["Y"] = 46.21,
["CD"] = 0
},
[5] =
{
["X"] = 46.37,
["Y"] = 46.44,
["CD"] = 0
},
[6] =
{
["X"] = 46.23,
["Y"] = 47.2,
["CD"] = 0
},
[7] =
{
["X"] = 46.35,
["Y"] = 48,
["CD"] = 0
},
[8] =
{
["X"] = 46.92,
["Y"] = 48.29,
["CD"] = 0
},
[9] =
{
["X"] = 47.02,
["Y"] = 47.71,
["CD"] = 0
},
[10] =
{
["X"] = 47.28,
["Y"] = 47.65,
["CD"] = 0
},
[11] =
{
["X"] = 47.45,
["Y"] = 47.47,
["CD"] = 0
},
[12] =
{
["X"] = 47.55,
["Y"] = 47.42,
["CD"] = 0
},
[13] =
{
["X"] = 47.84,
["Y"] = 46.89,
["CD"] = 0
},
[14] =
{
["X"] = 48.13,
["Y"] = 46.47,
["CD"] = 0
},
[15] =
{
["X"] = 48.24,
["Y"] = 45.63,
["CD"] = 0
},
[16] =
{
["X"] = 47.99,
["Y"] = 45.57,
["CD"] = 0
},
[17] =
{
["X"] = 47.57,
["Y"] = 45.29,
["CD"] = 0
},
[18] =
{
["X"] = 47.57,
["Y"] = 45.38,
["CD"] = 0
},
[19] =
{
["X"] = 48.18,
["Y"] = 46.31,
["CD"] = 0
},
[20] =
{
["X"] = 47.05,
["Y"] = 46.63,
["CD"] = 0
},
}
aura_env.cooldown = 120
aura_env.wipeDistance = 15
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,153 @@
aura_env.herbs =
{
[1] =
{
["X"] = 47.58,
["Y"] = 61.98,
["CD"] = 0
},
[2] =
{
["X"] = 47.75,
["Y"] = 61.61,
["CD"] = 0
},
[3] =
{
["X"] = 49.39,
["Y"] = 61.5,
["CD"] = 0
},
[4] =
{
["X"] = 48.9,
["Y"] = 60.63,
["CD"] = 0
},
[5] =
{
["X"] = 49.1,
["Y"] = 59.96,
["CD"] = 0
},
[6] =
{
["X"] = 49.51,
["Y"] = 60.13,
["CD"] = 0
},
[7] =
{
["X"] = 49.15,
["Y"] = 58.8,
["CD"] = 0
},
[8] =
{
["X"] = 49.67,
["Y"] = 58.14,
["CD"] = 0
},
[9] =
{
["X"] = 48.5,
["Y"] = 58.18,
["CD"] = 0
},
[10] =
{
["X"] = 48.18,
["Y"] = 58.23,
["CD"] = 0
},
[11] =
{
["X"] = 48.13,
["Y"] = 58.66,
["CD"] = 0
},
[12] =
{
["X"] = 47.72,
["Y"] = 58.57,
["CD"] = 0
},
[13] =
{
["X"] = 47.55,
["Y"] = 59.51,
["CD"] = 0
},
[14] =
{
["X"] = 47.97,
["Y"] = 60.7,
["CD"] = 0
},
[15] =
{
["X"] = 47.95,
["Y"] = 60.92,
["CD"] = 0
},
[16] =
{
["X"] = 47.99,
["Y"] = 45.57,
["CD"] = 0
},
[17] =
{
["X"] = 47.57,
["Y"] = 45.29,
["CD"] = 0
},
[18] =
{
["X"] = 47.57,
["Y"] = 45.38,
["CD"] = 0
},
[19] =
{
["X"] = 48.18,
["Y"] = 46.31,
["CD"] = 0
},
[20] =
{
["X"] = 47.05,
["Y"] = 46.63,
["CD"] = 0
},
}
aura_env.cooldown = 120
aura_env.wipeDistance = 15
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,153 @@
aura_env.herbs =
{
[1] =
{
["X"] = 62.88,
["Y"] = 54.49,
["CD"] = 0
},
[2] =
{
["X"] = 62.75,
["Y"] = 54,
["CD"] = 0
},
[3] =
{
["X"] = 62.88,
["Y"] = 53.13,
["CD"] = 0
},
[4] =
{
["X"] = 62.88,
["Y"] = 51.82,
["CD"] = 0
},
[5] =
{
["X"] = 62.78,
["Y"] = 51.54,
["CD"] = 0
},
[6] =
{
["X"] = 62.44,
["Y"] = 50.9,
["CD"] = 0
},
[7] =
{
["X"] = 61.85,
["Y"] = 50.94,
["CD"] = 0
},
[8] =
{
["X"] = 61.45,
["Y"] = 51.58,
["CD"] = 0
},
[9] =
{
["X"] = 61.14,
["Y"] = 51.67,
["CD"] = 0
},
[10] =
{
["X"] = 61.08,
["Y"] = 52.31,
["CD"] = 0
},
[11] =
{
["X"] = 60.35,
["Y"] = 51.69,
["CD"] = 0
},
[12] =
{
["X"] = 60.05,
["Y"] = 51.23,
["CD"] = 0
},
[13] =
{
["X"] = 60.05,
["Y"] = 52.29,
["CD"] = 0
},
[14] =
{
["X"] = 59.53,
["Y"] = 52.96,
["CD"] = 0
},
[15] =
{
["X"] = 59.53,
["Y"] = 53.51,
["CD"] = 0
},
[16] =
{
["X"] = 47.99,
["Y"] = 45.57,
["CD"] = 0
},
[17] =
{
["X"] = 47.57,
["Y"] = 45.29,
["CD"] = 0
},
[18] =
{
["X"] = 47.57,
["Y"] = 45.38,
["CD"] = 0
},
[19] =
{
["X"] = 48.18,
["Y"] = 46.31,
["CD"] = 0
},
[20] =
{
["X"] = 47.05,
["Y"] = 46.63,
["CD"] = 0
},
}
aura_env.cooldown = 120
aura_env.wipeDistance = 15
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,167 @@
/way Eversong Woods 47.45 45.25
/way Eversong Woods 47.1 45.39
/way Eversong Woods 46.85 45.64
/way Eversong Woods 47.26 46.21
/way Eversong Woods 46.37 46.44
/way Eversong Woods 46.23 47.2
/way Eversong Woods 46.35 48
/way Eversong Woods 46.92 48.29
/way Eversong Woods 47.02 47.71
/way Eversong Woods 47.28 47.65
/way Eversong Woods 47.45 47.47
/way Eversong Woods 47.55 47.42
/way Eversong Woods 47.84 46.89
/way Eversong Woods 48.13 46.47
/way Eversong Woods 48.24 45.63
/way Eversong Woods 47.99 45.57
/way Eversong Woods 47.57 45.29
/way Eversong Woods 47.57 45.38
/way Eversong Woods 48.18 46.31
/way Eversong Woods 47.05 46.63
/way Mulgore 47.58 61.98
/way Mulgore 47.75 61.61
/way Mulgore 49.39 61.5
/way Mulgore 48.9 60.63
/way Mulgore 49.1 59.96
/way Mulgore 49.51 60.13
/way Mulgore 49.15 58.8
/way Mulgore 49.67 58.14
/way Mulgore 48.5 58.18
/way Mulgore 48.18 58.23
/way Mulgore 48.13 58.66
/way Mulgore 47.72 58.57
/way Mulgore 47.55 59.51
/way Mulgore 47.97 60.7
/way Mulgore 47.95 60.92
/way Mulgore 47.99 45.57
/way Mulgore 47.57 45.29
/way Mulgore 47.57 45.38
/way Mulgore 48.18 46.31
/way Mulgore 47.05 46.63
/way Durotar 51.58 43.53
/way Durotar 51.71 43.97
/way Durotar 52.19 43.75
/way Durotar 53.1 43.07
/way Durotar 53.56 43.28
/way Durotar 54.06 43.34
/way Durotar 54.63 43.33
/way Durotar 54.84 42.4
/way Durotar 54.89 41.74
/way Durotar 54.53 41.47
/way Durotar 54.27 41.65
/way Durotar 53.86 41.66
/way Durotar 53.74 40.67
/way Durotar 52.95 40.72
/way Durotar 52.78 40.24
/way Durotar 47.99 45.57
/way Durotar 47.57 45.29
/way Durotar 47.57 45.38
/way Durotar 48.18 46.31
/way Durotar 47.05 46.63
/way Tirisfal Glades 62.88 54.49
/way Tirisfal Glades 62.75 54
/way Tirisfal Glades 62.88 53.13
/way Tirisfal Glades 62.88 51.82
/way Tirisfal Glades 62.78 51.54
/way Tirisfal Glades 62.44 50.9
/way Tirisfal Glades 61.85 50.94
/way Tirisfal Glades 61.45 51.58
/way Tirisfal Glades 61.14 51.67
/way Tirisfal Glades 61.08 52.31
/way Tirisfal Glades 60.35 51.69
/way Tirisfal Glades 60.05 51.23
/way Tirisfal Glades 60.05 52.29
/way Tirisfal Glades 59.53 52.96
/way Tirisfal Glades 59.53 53.51
/way Tirisfal Glades 47.99 45.57
/way Tirisfal Glades 47.57 45.29
/way Tirisfal Glades 47.57 45.38
/way Tirisfal Glades 48.18 46.31
/way Tirisfal Glades 47.05 46.63
/way Teldrassil 56.36 51.89
/way Teldrassil 56.3 52.47
/way Teldrassil 56.15 52.66
/way Teldrassil 55.77 52.93
/way Teldrassil 55.59 52.59
/way Teldrassil 55.34 52.53
/way Teldrassil 55.22 52.12
/way Teldrassil 55.36 51.37
/way Teldrassil 55.14 51.69
/way Teldrassil 54.87 49.49
/way Teldrassil 55.15 49.23
/way Teldrassil 55.61 49.51
/way Teldrassil 55.77 49.77
/way Teldrassil 55.7 50.34
/way Teldrassil 55.31 50.68
/way Teldrassil 47.99 45.57
/way Teldrassil 47.57 45.29
/way Teldrassil 47.57 45.38
/way Teldrassil 48.18 46.31
/way Teldrassil 47.05 46.63
/way Azuremyst Isle 50 50.24
/way Azuremyst Isle 48.98 50.97
/way Azuremyst Isle 49.26 50.68
/way Azuremyst Isle 50.18 52.1
/way Azuremyst Isle 49.8 52.07
/way Azuremyst Isle 49.26 52.84
/way Azuremyst Isle 48.83 52.7
/way Azuremyst Isle 48.39 52.23
/way Azuremyst Isle 47.8 51.37
/way Azuremyst Isle 48.02 50.57
/way Azuremyst Isle 48.6 50.24
/way Azuremyst Isle 49.41 49.05
/way Azuremyst Isle 49.77 49.6
/way Azuremyst Isle 50.16 50.91
/way Azuremyst Isle 49.28 51.31
/way Azuremyst Isle 47.99 45.57
/way Azuremyst Isle 47.57 45.29
/way Azuremyst Isle 47.57 45.38
/way Azuremyst Isle 48.18 46.31
/way Azuremyst Isle 47.05 46.63
/way Dun Morogh 53.18 51.5
/way Dun Morogh 52.71 51.12
/way Dun Morogh 53.14 53.76
/way Dun Morogh 53.33 54.06
/way Dun Morogh 53.78 53.14
/way Dun Morogh 54.41 53.24
/way Dun Morogh 54.1 52.4
/way Dun Morogh 54.56 51.32
/way Dun Morogh 54.55 52.1
/way Dun Morogh 53.14 51.99
/way Dun Morogh 53.97 51.94
/way Dun Morogh 53.94 50.74
/way Dun Morogh 53.95 50.29
/way Dun Morogh 54.11 50.07
/way Dun Morogh 54.47 49.32
/way Dun Morogh 47.99 45.57
/way Dun Morogh 47.57 45.29
/way Dun Morogh 47.57 45.38
/way Dun Morogh 48.18 46.31
/way Dun Morogh 47.05 46.63
/way Elwynn Forest 40.72 65.51
/way Elwynn Forest 40.78 64.88
/way Elwynn Forest 40.88 64.47
/way Elwynn Forest 41.23 64.63
/way Elwynn Forest 42.6 63.71
/way Elwynn Forest 42.8 63.79
/way Elwynn Forest 43.74 64.78
/way Elwynn Forest 43.74 65.38
/way Elwynn Forest 44.1 65.46
/way Elwynn Forest 44.55 65.71
/way Elwynn Forest 44.52 66.37
/way Elwynn Forest 43.9 66.74
/way Elwynn Forest 43.17 66.67
/way Elwynn Forest 42.96 66.44
/way Elwynn Forest 54.47 49.32
/way Elwynn Forest 47.99 45.57
/way Elwynn Forest 47.57 45.29
/way Elwynn Forest 47.57 45.38
/way Elwynn Forest 48.18 46.31
/way Elwynn Forest 47.05 46.63

View File

@@ -0,0 +1,279 @@
aura_env.herbs =
{
[1] =
{
["X"] = 57.62,
["Y"] = 72.45,
["CD"] = 0
},
[2] =
{
["X"] = 57.57,
["Y"] = 72.49,
["CD"] = 0
},
[3] =
{
["X"] = 60.72,
["Y"] = 70.21,
["CD"] = 0
},
[4] =
{
["X"] = 57.63,
["Y"] = 72.53,
["CD"] = 0
},
[5] =
{
["X"] = 57.74,
["Y"] = 72.2,
["CD"] = 0
},
[6] =
{
["X"] = 60.67,
["Y"] = 70.3,
["CD"] = 0
},
[7] =
{
["X"] = 57.84,
["Y"] = 72.45,
["CD"] = 0
},
[8] =
{
["X"] = 60.66,
["Y"] = 70.92,
["CD"] = 0
},
[9] =
{
["X"] = 60.71,
["Y"] = 70.26,
["CD"] = 0
},
[10] =
{
["X"] = 60.67,
["Y"] = 70.19,
["CD"] = 0
},
[11] =
{
["X"] = 60.71,
["Y"] = 70.31,
["CD"] = 0
},
[12] =
{
["X"] = 60.64,
["Y"] = 70.15,
["CD"] = 0
},
[13] =
{
["X"] = 60.73,
["Y"] = 70.37,
["CD"] = 0
},
[14] =
{
["X"] = 60.14,
["Y"] = 70.54,
["CD"] = 0
},
[15] =
{
["X"] = 71.7,
["Y"] = 70.48,
["CD"] = 0
},
[16] =
{
["X"] = 72.11,
["Y"] = 71.16,
["CD"] = 0
},
[17] =
{
["X"] = 71.94,
["Y"] = 70.56,
["CD"] = 0
},
[18] =
{
["X"] = 72.01,
["Y"] = 70.35,
["CD"] = 0
},
[19] =
{
["X"] = 66.58,
["Y"] = 69.36,
["CD"] = 0
},
[20] =
{
["X"] = 72.16,
["Y"] = 70.51,
["CD"] = 0
},
[21] =
{
["X"] = 66.99,
["Y"] = 68.62,
["CD"] = 0
},
[22] =
{
["X"] = 65.63,
["Y"] = 69.87,
["CD"] = 0
},
[23] =
{
["X"] = 57.32,
["Y"] = 76.15,
["CD"] = 0
},
[24] =
{
["X"] = 65.54,
["Y"] = 69.99,
["CD"] = 0
},
[25] =
{
["X"] = 65.66,
["Y"] = 69.51,
["CD"] = 0
},
[26] =
{
["X"] = 57.68,
["Y"] = 72.53,
["CD"] = 0
},
[27] =
{
["X"] = 56.46,
["Y"] = 73.39,
["CD"] = 0
},
[28] =
{
["X"] = 64.03,
["Y"] = 73.84,
["CD"] = 0
},
[29] =
{
["X"] = 71.66,
["Y"] = 70.86,
["CD"] = 0
},
[30] =
{
["X"] = 56.82,
["Y"] = 75.45,
["CD"] = 0
},
[31] =
{
["X"] = 56.21,
["Y"] = 76.01,
["CD"] = 0
},
[32] =
{
["X"] = 48.26,
["Y"] = 79.27,
["CD"] = 0
},
[33] =
{
["X"] = 55.4,
["Y"] = 73.17,
["CD"] = 0
},
[34] =
{
["X"] = 56.71,
["Y"] = 78.07,
["CD"] = 0
},
[35] =
{
["X"] = 56.45,
["Y"] = 76.92,
["CD"] = 0
},
[36] =
{
["X"] = 50.67,
["Y"] = 80.17,
["CD"] = 0
},
[37] =
{
["X"] = 55.33,
["Y"] = 76.05,
["CD"] = 0
},
[38] =
{
["X"] = 49.13,
["Y"] = 78.84,
["CD"] = 0
},
[39] =
{
["X"] = 50.61,
["Y"] = 78.54,
["CD"] = 0
},
[40] =
{
["X"] = 46.32,
["Y"] = 78.96,
["CD"] = 0
},
[41] =
{
["X"] = 47.29,
["Y"] = 79.19,
["CD"] = 0
}
}
aura_env.cooldown = 91
aura_env.wipeDistance = 15
aura_env.angle = 0
aura_env.hyp = 0
aura_env.GetClosestHerb = function()
aura_env.minID =
{
["X"] = 0,
["Y"] = 0,
["D"] = 1000,
["ID"] = 0
}
local pX = GetPlayerMapPosition("player") or 0
local pY = select(2, GetPlayerMapPosition("player")) or 0
pX, pY = pX * 100, pY * 100
for k,v in ipairs(aura_env.herbs) do
local hX, hY, cd = aura_env.herbs[k]["X"], aura_env.herbs[k]["Y"], aura_env.herbs[k]["CD"]
if cd == 0 then
local X, Y = pX - hX, pY - hY
local hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
if hyp < aura_env.minID["D"] then
aura_env.minID["X"] = hX
aura_env.minID["Y"] = hY
aura_env.minID["D"] = hyp
aura_env.minID["ID"] = k
end
end
end
return aura_env.minID["ID"]
end

View File

@@ -0,0 +1,5 @@
left: (\d+\.?\d*)%; top: (\d+\.?\d*)
/way [a-z ]+(\d+\.?\d*) (\d+\.?\d*)
left: (\d+\.?\d*)%; top: (\d+\.?\d*)
\[\] = \n\{\n\[\"X\"\] = $1,\n\[\"Y\"\] = $2,\n\[\"CD\"\] = 0\n\},

View File

@@ -0,0 +1,39 @@
--COMBAT_LOG_EVENT_UNFILTERED
function(e, ...)
local se = select(2, ...)
if se == "SPELL_AURA_APPLIED" or se == "SPELL_AURA_APPLIED_DOSE" then
local source = select(5, ...)
if source == UnitName("player") then
local spell = select(13, ...)
local target = select(9, ...)
if spell == "Highfather's Timekeeping" then
if not aura_env.targets[target] then
aura_env.targets[target] = 1
else
aura_env.targets[target] = aura_env.targets[target] + 1
end
return true
end
end
elseif se == "SPELL_AURA_REMOVED" then
local source = select(5, ...)
local target = select(9, ...)
local spell = select(13, ...)
if source == UnitName("player") and spell == "Highfather's Timekeeping" and aura_env.targets[target] then
aura_env.targets[target] = nil
return true
end
end
end
--DISPLAY
function()
local output = ""
for k,v in pairs(aura_env.targets) do
output = output .. k .. " " .. v .. "\n"
end
return output
end
--INIT
aura_env.targets = {}

View File

@@ -0,0 +1,48 @@
DISPLAY
function()
return ("%.0fk / %.0fk"):format(UnitHealth("player") / 1000, UnitHealthMax("player") / 1000);
end
TRIGGER
function()
return true
end
DURATION
function()
curHealth = floor((UnitHealth("player")/UnitHealthMax("player"))*100);
return curHealth,100,true;
end
NAME
function()
local p = math.max(0, UnitHealth("player")) / math.max(1, UnitHealthMax("player")) * 100;
local missing_health = UnitHealthMax("player") - UnitHealth("player")
local b = UnitBuff("player", "Consecration")
local b2 = UnitBuff("player", "Avenging Wrath")
local b3 = UnitBuff("player", "Chain of Thrayn")
local b4 = UnitBuff("player", "Ilterendi, Crown Jewel of Silvermoon")
local versa = GetCombatRatingBonus(CR_VERSATILITY_DAMAGE_DONE)
local hotp_base_heal = 0.3 + (0.36 * 0.3)
local healing_multiplier = 1 + (versa / 100)
if b == "Consecration" then
hotp_base_heal = hotp_base_heal + (0.3 * 0.3)
end
if b3 == "Chain of Thrayn" then
healing_multiplier = healing_multiplier + 0.5
end
if b2 == "Avenging Wrath" then
healing_multiplier = healing_multiplier + 0.35
end
if b4 == "Ilterendi, Crown Jewel of Silvermoon" then
healing_multiplier = healing_multiplier + 0.2
end
local absolute_healing_only_hotp = missing_health * hotp_base_heal
if healing_multiplier > 2 then healing_multiplier = 2 end
local final_heal_absolute = absolute_healing_only_hotp * healing_multiplier
local final_heal_relative = math.floor((final_heal_absolute / UnitHealthMax("player"))*100)
local heal_percentage = math.floor((final_heal_absolute / missing_health) * 100)
--print(heal_percentage)
local new = p + final_heal_relative
return string.format("%.f", p) .. " " .. string.format("%.f", new) .. " " .. string.format("+%.f", final_heal_relative)
end

View File

@@ -0,0 +1,76 @@
DISPLAY
function()
return ("%.0fk / %.0fk"):format(UnitHealth("player") / 1000, UnitHealthMax("player") / 1000);
end
TRIGGER
function()
return true
end
DURATION
function()
local p = math.max(0, UnitHealth("player")) / math.max(1, UnitHealthMax("player")) * 100;
local missing_health = UnitHealthMax("player") - UnitHealth("player")
local b = UnitBuff("player", "Consecration")
local b2 = UnitBuff("player", "Avenging Wrath")
local b3 = UnitBuff("player", "Chain of Thrayn")
local b4 = UnitBuff("player", "Ilterendi, Crown Jewel of Silvermoon")
local versa = GetCombatRatingBonus(CR_VERSATILITY_DAMAGE_DONE)
local hotp_base_heal = 0.3 + (0.42 * 0.3)
local healing_multiplier = 1 + (versa / 100)
if b == "Consecration" then
hotp_base_heal = hotp_base_heal + (0.3 * 0.3)
end
if b3 == "Chain of Thrayn" then
healing_multiplier = healing_multiplier + 0.5
end
if b2 == "Avenging Wrath" then
healing_multiplier = healing_multiplier + 0.35
end
if b4 == "Ilterendi, Crown Jewel of Silvermoon" then
healing_multiplier = healing_multiplier + 0.2
end
local absolute_healing_only_hotp = missing_health * hotp_base_heal
if healing_multiplier > 2 then healing_multiplier = 2 end
local final_heal_absolute = absolute_healing_only_hotp * healing_multiplier
local final_heal_relative = math.floor((final_heal_absolute / UnitHealthMax("player"))*100)
local heal_percentage = math.floor((final_heal_absolute / missing_health) * 100)
--print(heal_percentage)
local new = p + final_heal_relative
return new,100,true;
end
NAME
function()
local p = math.max(0, UnitHealth("player")) / math.max(1, UnitHealthMax("player")) * 100;
local missing_health = UnitHealthMax("player") - UnitHealth("player")
local b = UnitBuff("player", "Consecration")
local b2 = UnitBuff("player", "Avenging Wrath")
local b3 = UnitBuff("player", "Chain of Thrayn")
local b4 = UnitBuff("player", "Ilterendi, Crown Jewel of Silvermoon")
local versa = GetCombatRatingBonus(CR_VERSATILITY_DAMAGE_DONE)
local hotp_base_heal = 0.3 + (0.36 * 0.3)
local healing_multiplier = 1 + (versa / 100)
if b == "Consecration" then
hotp_base_heal = hotp_base_heal + (0.3 * 0.3)
end
if b3 == "Chain of Thrayn" then
healing_multiplier = healing_multiplier + 0.5
end
if b2 == "Avenging Wrath" then
healing_multiplier = healing_multiplier + 0.35
end
if b4 == "Ilterendi, Crown Jewel of Silvermoon" then
healing_multiplier = healing_multiplier + 0.2
end
local absolute_healing_only_hotp = missing_health * hotp_base_heal
if healing_multiplier > 2 then healing_multiplier = 2 end
local final_heal_absolute = absolute_healing_only_hotp * healing_multiplier
local final_heal_relative = math.floor((final_heal_absolute / UnitHealthMax("player"))*100)
local heal_percentage = math.floor((final_heal_absolute / missing_health) * 100)
--print(heal_percentage)
local new = p + final_heal_relative
return string.format("%.f", p) .. " " .. string.format("%.f", new) .. " " .. string.format("+%.f", final_heal_relative)
end

View File

@@ -0,0 +1,79 @@
--HoTP 2.0
TRIGGER
function()
return true
end
ICON --Trigger for scripts
function()
aura_env.percentageHealth = aura_env.round((UnitHealth("player") / UnitHealthMax("player")) * 100, 0)
aura_env.currentHealth = UnitHealth("player")
aura_env.maxHealth = UnitHealthMax("player")
aura_env.missingHealthPercentage = aura_env.round(((UnitHealthMax("player") - UnitHealth("player")) / UnitHealthMax("player")) * 100, 2)
aura_env.missingHealth = UnitHealthMax("player") - UnitHealth("player")
local healingMultiplier = 1.
local versa = GetCombatRatingBonus(CR_VERSATILITY_DAMAGE_DONE)
healingMultiplier = healingMultiplier + (healingMultiplier * (aura_env.traitLevel * aura_env.traitEffectiveness)) + (healingMultiplier * (versa / 100))
for k,v in pairs(aura_env.buffs) do
if UnitBuff("player", k) ~= nil then
healingMultiplier = healingMultiplier + (healingMultiplier * v)
end
end
local talent = select(10, GetTalentInfoByID(22430))
if talent == true then
healingMultiplier = healingMultiplier + (healingMultiplier * 0.3)
end
aura_env.hotpRelativeHeal = 0.3 * healingMultiplier --How much % hotp heals disregarding missing health
aura_env.hotpAbsoluteRelativeHeal = aura_env.hotpRelativeHeal * aura_env.missingHealthPercentage --How much % hp hotp will heal regarding missing health
aura_env.hotpAbsoluteHeal = aura_env.round(aura_env.hotpRelativeHeal * aura_env.missingHealth, 0)
aura_env.newApsoluteHealth = aura_env.round(aura_env.currentHealth + aura_env.hotpAbsoluteHeal, 0)
aura_env.newRelativeHealth = aura_env.round(aura_env.percentageHealth + aura_env.hotpAbsoluteRelativeHeal, 0)
--print(healingMultiplier,aura_env.hotpRelativeHeal,aura_env.hotpAbsoluteRelativeHeal,aura_env.hotpAbsoluteHeal,aura_env.newApsoluteHealth,aura_env.newRelativeHealth) --DEBUG
--print(aura_env.hotpAbsoluteRelativeHeal, aura_env.newRelativeHealth, aura_env.percentageHealth) --DEBUG
--print(aura_env.hotpAbsoluteHeal, aura_env.newApsoluteHealth, aura_env.currentHealth) --DEBUG
--print(aura_env.round(aura_env.hotpRelativeHeal * 100, 0)) --% of health hotp heals
end
DURATION
function()
return aura_env.percentageHealth, 100, 1
end
NAME
function()
return aura_env.percentageHealth .. " " .. aura_env.newRelativeHealth .. " +" .. aura_env.round(aura_env.hotpAbsoluteRelativeHeal, 0)
end
DISPLAY
function()
return ("%.0fk / %.0fk"):format(UnitHealth("player") / 1000, UnitHealthMax("player") / 1000);
end
INIT
aura_env.traitLevel = 7
aura_env.traitEffectiveness = 0.06
aura_env.buffs =
{
["Consecration"] = 0.3,
["Avenging Wrath"] = 0.35,
["Chains of Thrayn"] = 0.5,
["Ilterendi, Crown Jewel of Silvermoon"] = 0.15
}
aura_env.round = function(var, n)
if (n) then
var = math.floor((var * 10^n) + 0.5) / (10^n)
else
var = math.floor(var+0.5)
end
return var
end
aura_env.percentageHealth = 0
aura_env.currentHealth = 0
aura_env.maxHealth = 0
aura_env.hotpRelativeHeal = 0
aura_env.hotpAbsoluteRelativeHeal = 0
aura_env.hotpAbsoluteHeal = 0
aura_env.newApsoluteHealth = 0
aura_env.newRelativeHealth = 0
aura_env.missingHealth = 0
aura_env.missingHealthPercentage = 0

Some files were not shown because too many files have changed in this diff Show More