Add new code snippets
This commit is contained in:
239
Complete Projects/Legion/ABS.lua
Normal file
239
Complete Projects/Legion/ABS.lua
Normal 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
|
||||
318
Complete Projects/Legion/Achiv Inspector.lua
Normal file
318
Complete Projects/Legion/Achiv Inspector.lua
Normal 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 = ""
|
||||
9
Complete Projects/Legion/Active Seeds.lua
Normal file
9
Complete Projects/Legion/Active Seeds.lua
Normal 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
|
||||
305
Complete Projects/Legion/AntorusQuestlineThing.lua
Normal file
305
Complete Projects/Legion/AntorusQuestlineThing.lua
Normal 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")
|
||||
56
Complete Projects/Legion/AutoAttackInterval.lua
Normal file
56
Complete Projects/Legion/AutoAttackInterval.lua
Normal 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
|
||||
698
Complete Projects/Legion/Autoloot.lua
Normal file
698
Complete Projects/Legion/Autoloot.lua
Normal 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,
|
||||
},
|
||||
}
|
||||
40
Complete Projects/Legion/Average Raid Health.lua
Normal file
40
Complete Projects/Legion/Average Raid Health.lua
Normal 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
|
||||
25
Complete Projects/Legion/Ben Paralytic.lua
Normal file
25
Complete Projects/Legion/Ben Paralytic.lua
Normal 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
|
||||
17
Complete Projects/Legion/Boat Fish (Draenor).lua
Normal file
17
Complete Projects/Legion/Boat Fish (Draenor).lua
Normal 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
|
||||
275
Complete Projects/Legion/BossHpNameplate(VERY INEFFICIENT!!).lua
Normal file
275
Complete Projects/Legion/BossHpNameplate(VERY INEFFICIENT!!).lua
Normal 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 = ""
|
||||
67
Complete Projects/Legion/Bulwark of Order.lua
Normal file
67
Complete Projects/Legion/Bulwark of Order.lua
Normal 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
|
||||
40
Complete Projects/Legion/Buttons.lua
Normal file
40
Complete Projects/Legion/Buttons.lua
Normal 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
|
||||
32
Complete Projects/Legion/CachedNPCLevels.lua
Normal file
32
Complete Projects/Legion/CachedNPCLevels.lua
Normal 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 = {}
|
||||
33
Complete Projects/Legion/Celestial Map.lua
Normal file
33
Complete Projects/Legion/Celestial Map.lua
Normal 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
|
||||
44
Complete Projects/Legion/Chat !.lua
Normal file
44
Complete Projects/Legion/Chat !.lua
Normal 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()
|
||||
48
Complete Projects/Legion/Chat.lua
Normal file
48
Complete Projects/Legion/Chat.lua
Normal 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
|
||||
135
Complete Projects/Legion/ChatFilter.lua
Normal file
135
Complete Projects/Legion/ChatFilter.lua
Normal 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
|
||||
95
Complete Projects/Legion/ClassMissChance.lua
Normal file
95
Complete Projects/Legion/ClassMissChance.lua
Normal 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
|
||||
105
Complete Projects/Legion/CombatLogFindClass.lua
Normal file
105
Complete Projects/Legion/CombatLogFindClass.lua
Normal 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,
|
||||
}
|
||||
9
Complete Projects/Legion/Concordance.lua
Normal file
9
Complete Projects/Legion/Concordance.lua
Normal 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
|
||||
116
Complete Projects/Legion/CooldownAnnouncer.lua
Normal file
116
Complete Projects/Legion/CooldownAnnouncer.lua
Normal 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
|
||||
66
Complete Projects/Legion/Cross Char Quota.lua
Normal file
66
Complete Projects/Legion/Cross Char Quota.lua
Normal 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 = ""
|
||||
44
Complete Projects/Legion/DAI KEY 2.lua
Normal file
44
Complete Projects/Legion/DAI KEY 2.lua
Normal 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 = ""
|
||||
79
Complete Projects/Legion/DAI KEY.lua
Normal file
79
Complete Projects/Legion/DAI KEY.lua
Normal 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
|
||||
26
Complete Projects/Legion/DK Bone Shield Stacks.lua
Normal file
26
Complete Projects/Legion/DK Bone Shield Stacks.lua
Normal 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
|
||||
51
Complete Projects/Legion/DPS HPS.lua
Normal file
51
Complete Projects/Legion/DPS HPS.lua
Normal 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
|
||||
18
Complete Projects/Legion/Dangerous Spells!.lua
Normal file
18
Complete Projects/Legion/Dangerous Spells!.lua
Normal 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
|
||||
76
Complete Projects/Legion/DavyStone.lua
Normal file
76
Complete Projects/Legion/DavyStone.lua
Normal 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
|
||||
411
Complete Projects/Legion/DavyStone2.lua
Normal file
411
Complete Projects/Legion/DavyStone2.lua
Normal 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
|
||||
}
|
||||
64
Complete Projects/Legion/DeathTrack.lua
Normal file
64
Complete Projects/Legion/DeathTrack.lua
Normal 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
|
||||
14
Complete Projects/Legion/Delete Items.lua
Normal file
14
Complete Projects/Legion/Delete Items.lua
Normal 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
|
||||
30
Complete Projects/Legion/DickRiderCounter.lua
Normal file
30
Complete Projects/Legion/DickRiderCounter.lua
Normal 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 = {}
|
||||
33
Complete Projects/Legion/Divine Purpose Procs.lua
Normal file
33
Complete Projects/Legion/Divine Purpose Procs.lua
Normal 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
|
||||
28
Complete Projects/Legion/Drums.lua
Normal file
28
Complete Projects/Legion/Drums.lua
Normal 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
|
||||
694
Complete Projects/Legion/EHP.lua
Normal file
694
Complete Projects/Legion/EHP.lua
Normal 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
|
||||
55
Complete Projects/Legion/Easter Achiv Bullshit.lua
Normal file
55
Complete Projects/Legion/Easter Achiv Bullshit.lua
Normal 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 = {}
|
||||
116
Complete Projects/Legion/ElwynnForestSpam.lua
Normal file
116
Complete Projects/Legion/ElwynnForestSpam.lua
Normal 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!", "C’mon, 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.", "It’s past my bedtime. Please don’t tell my mommy.", "Mommy says people my age shouldn’t 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",
|
||||
"Don’t you get tired of sleeping?",
|
||||
"Ass kissing can be a cry for help",
|
||||
"Stop using a condom",
|
||||
"Simply being beautiful, doesn’t mean you’re 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 don’t understand a single word of what I am saying",
|
||||
"The only distinction between daylight and an imaginary friend, is that an imaginary friend doesn’t 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)
|
||||
131
Complete Projects/Legion/Emote on Friendlies.lua
Normal file
131
Complete Projects/Legion/Emote on Friendlies.lua
Normal 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
|
||||
45
Complete Projects/Legion/Emotebot.lua
Normal file
45
Complete Projects/Legion/Emotebot.lua
Normal 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
|
||||
28
Complete Projects/Legion/Fevered Carapace.lua
Normal file
28
Complete Projects/Legion/Fevered Carapace.lua
Normal 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
|
||||
9
Complete Projects/Legion/Fish.lua
Normal file
9
Complete Projects/Legion/Fish.lua
Normal 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
|
||||
30
Complete Projects/Legion/Focus Thing.lua
Normal file
30
Complete Projects/Legion/Focus Thing.lua
Normal 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
|
||||
29
Complete Projects/Legion/Friendlist.lua
Normal file
29
Complete Projects/Legion/Friendlist.lua
Normal 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
|
||||
10
Complete Projects/Legion/Full House.lua
Normal file
10
Complete Projects/Legion/Full House.lua
Normal 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
|
||||
66
Complete Projects/Legion/GMCommandsResearch(.add).lua
Normal file
66
Complete Projects/Legion/GMCommandsResearch(.add).lua
Normal 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
|
||||
23
Complete Projects/Legion/GPS.lua
Normal file
23
Complete Projects/Legion/GPS.lua
Normal 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
|
||||
5001
Complete Projects/Legion/GUIDSniffer.lua
Normal file
5001
Complete Projects/Legion/GUIDSniffer.lua
Normal file
File diff suppressed because it is too large
Load Diff
148
Complete Projects/Legion/Glowing Raid Frames.lua
Normal file
148
Complete Projects/Legion/Glowing Raid Frames.lua
Normal 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
|
||||
76
Complete Projects/Legion/Group Breakdown.lua
Normal file
76
Complete Projects/Legion/Group Breakdown.lua
Normal 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
|
||||
39
Complete Projects/Legion/GuildRecap.lua
Normal file
39
Complete Projects/Legion/GuildRecap.lua
Normal 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 = {}
|
||||
24
Complete Projects/Legion/GuildWave.lua
Normal file
24
Complete Projects/Legion/GuildWave.lua
Normal 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 = {}
|
||||
23
Complete Projects/Legion/Hammers n Shields.lua
Normal file
23
Complete Projects/Legion/Hammers n Shields.lua
Normal 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
|
||||
76
Complete Projects/Legion/HealerDispels.lua
Normal file
76
Complete Projects/Legion/HealerDispels.lua
Normal 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
|
||||
34
Complete Projects/Legion/Herb Counter 2.0.lua
Normal file
34
Complete Projects/Legion/Herb Counter 2.0.lua
Normal 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 = {}
|
||||
37
Complete Projects/Legion/Herb Counter.lua
Normal file
37
Complete Projects/Legion/Herb Counter.lua
Normal 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"}
|
||||
63
Complete Projects/Legion/Herb Quota.lua
Normal file
63
Complete Projects/Legion/Herb Quota.lua
Normal 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,
|
||||
}
|
||||
65
Complete Projects/Legion/Herb Sniffer/0.5/Direction.lua
Normal file
65
Complete Projects/Legion/Herb Sniffer/0.5/Direction.lua
Normal 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
|
||||
14
Complete Projects/Legion/Herb Sniffer/0.5/Distance.lua
Normal file
14
Complete Projects/Legion/Herb Sniffer/0.5/Distance.lua
Normal 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
|
||||
6582
Complete Projects/Legion/Herb Sniffer/0.5/Herb Arrays Legion.lua
Normal file
6582
Complete Projects/Legion/Herb Sniffer/0.5/Herb Arrays Legion.lua
Normal file
File diff suppressed because it is too large
Load Diff
1337
Complete Projects/Legion/Herb Sniffer/2.0/Direction.lua
Normal file
1337
Complete Projects/Legion/Herb Sniffer/2.0/Direction.lua
Normal file
File diff suppressed because it is too large
Load Diff
67
Complete Projects/Legion/Herb Sniffer/Direction.lua
Normal file
67
Complete Projects/Legion/Herb Sniffer/Direction.lua
Normal 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
|
||||
14
Complete Projects/Legion/Herb Sniffer/Distance.lua
Normal file
14
Complete Projects/Legion/Herb Sniffer/Distance.lua
Normal 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
|
||||
82
Complete Projects/Legion/Herb Sniffer/Herb Arrays Legion.lua
Normal file
82
Complete Projects/Legion/Herb Sniffer/Herb Arrays Legion.lua
Normal 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
|
||||
2625
Complete Projects/Legion/Herb Sniffer/Herb Arrays/All Ores.lua
Normal file
2625
Complete Projects/Legion/Herb Sniffer/Herb Arrays/All Ores.lua
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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,
|
||||
},
|
||||
}
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
@@ -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
@@ -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
|
||||
@@ -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
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -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
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
5
Complete Projects/Legion/Herb Sniffer/Herb Arrays/Thing
Normal file
5
Complete Projects/Legion/Herb Sniffer/Herb Arrays/Thing
Normal 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\},
|
||||
39
Complete Projects/Legion/Highfathers.lua
Normal file
39
Complete Projects/Legion/Highfathers.lua
Normal 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 = {}
|
||||
48
Complete Projects/Legion/HoTP heal bars/1.0/HP1.lua
Normal file
48
Complete Projects/Legion/HoTP heal bars/1.0/HP1.lua
Normal 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
|
||||
76
Complete Projects/Legion/HoTP heal bars/1.0/HP2.lua
Normal file
76
Complete Projects/Legion/HoTP heal bars/1.0/HP2.lua
Normal 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
|
||||
|
||||
79
Complete Projects/Legion/HoTP heal bars/2.0/HP1 2.0.lua
Normal file
79
Complete Projects/Legion/HoTP heal bars/2.0/HP1 2.0.lua
Normal 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
Reference in New Issue
Block a user