Compare commits

...

127 Commits

Author SHA1 Message Date
64905acbe5 Refactor NameplateStatus trigger logic to use unit identifiers instead of GUIDs 2025-05-25 14:36:15 +02:00
b80a068054 Enhance NameplateStatus with FRAME_UPDATE event handling for PvP state visibility 2025-05-25 14:30:42 +02:00
346abb0bd8 Update subproject commit reference in Meta 2025-05-25 14:27:22 +02:00
0f8cf6a919 Add NameplateStatus project with event handling and configuration 2025-05-25 14:27:13 +02:00
d78ccc1944 Add event handling for achievement sniffer in heimdall 2025-05-22 13:46:43 +02:00
3f0b38c47c Update subproject commit reference in Meta 2025-05-20 20:31:58 +02:00
20c24e3c3f Rename spectralersighter 2025-05-20 20:31:50 +02:00
65198986d5 Fix the fucking afk timer NPE 2025-05-20 20:31:32 +02:00
ad9595122a Fix syntax errors and update interrupt messages in Atrigan project 2025-05-17 18:43:53 +02:00
51bf59e1f4 Update NameplateTargets export 2025-05-17 17:12:56 +02:00
e847715307 Update subproject commit reference in Meta 2025-05-17 17:12:05 +02:00
b8b623c0ac Update NameplateTargets export and remove debug print statement from trigger.lua 2025-05-17 16:56:36 +02:00
4f1d949839 Add NameplateTargets to show targets of players next to their nameplates 2025-05-17 16:56:11 +02:00
da8b7385f6 Update 2025-05-17 16:55:57 +02:00
9839096a4e Add scrolling text files 2025-05-16 19:36:14 +02:00
003f90126d Tumble files around a bit 2025-05-16 14:56:27 +02:00
0e3166a410 Move newage submodule to . 2025-05-16 10:09:34 +02:00
d79e9844d7 Update 2025-05-16 10:02:52 +02:00
c56bd018cd Remove modules as modules 2025-05-16 09:50:28 +02:00
99b1e14bec Merge LegionWA submodule into main 2025-05-16 09:49:42 +02:00
ffa02a50a6 Removed LegionWA as submodule configuration 2025-05-16 09:42:09 +02:00
8618cdada4 Add ui source as a proper submodule 2025-05-16 09:13:57 +02:00
5f547b97aa Update 2025-05-16 07:59:08 +02:00
56393d0609 Update 2025-05-15 21:19:38 +02:00
635147c29b Code format 2025-05-15 21:19:10 +02:00
f085b3bd89 Piece of shit stupid fucking cunt worthless server 2025-05-15 21:19:05 +02:00
49543bd75a Fix rayofhope 2025-05-15 20:37:58 +02:00
69d1f9fd93 Code format 2025-05-15 20:37:50 +02:00
9962841a01 Update 2025-05-15 20:36:53 +02:00
ac4de9a0ab Code format 2025-05-15 19:35:43 +02:00
1d5284bd81 Add damage intake
Cool ass weakaura, like combat log but right there, cool!!
2025-05-15 18:07:06 +02:00
c8653783ce Fuck with shit a bit 2025-05-15 17:52:34 +02:00
0f3fe4f7ee Add damage intake from wago 2025-05-15 17:48:16 +02:00
9e6432d0b0 Update 2025-05-15 17:46:35 +02:00
84bbfcbde5 Update meta 2025-05-09 22:00:32 +02:00
8649b83706 Update 2025-05-04 18:19:19 +02:00
be83442897 Fix up spectraler sighter to not spam 2025-05-04 18:19:16 +02:00
7c9e21291e Add meta as submodule 2025-05-04 18:18:25 +02:00
a6ef4fe831 Remove meta 2025-05-04 18:17:45 +02:00
7a5d868694 Implement spectraler sighter 2025-05-01 14:11:51 +02:00
62e991cc66 Update 2025-03-13 16:28:23 +01:00
468a68c3e7 Fix stinky detector spam 2024-12-14 23:56:44 +01:00
5ef92b23de Rework stinky detector to be a little more simple and a lot more functional 2024-12-13 13:54:37 +01:00
de08a1e9df Create chat frame when an invalid one is found 2024-12-08 00:44:08 +01:00
ae9466f4fb MAKE THE CHAT WINDOW CUNT 2024-12-07 12:44:56 +01:00
bdb6dfdddb Remove subscribed group types from general that are in auto 2024-12-06 20:10:32 +01:00
8df510771b Implement chat channel frame creation and joinage 2024-12-06 19:21:53 +01:00
0e2955131f Update whosniffer 2024-12-06 18:45:10 +01:00
5b69e248e4 Implement channeljoiner... to join channels 2024-12-06 18:45:01 +01:00
4ab2cd0eb9 Fix messenger exploding on nulled messages 2024-11-29 19:27:09 +01:00
73b6e7ca09 Update whosniffer to use named channels 2024-11-29 19:23:26 +01:00
4e0cbbb4ac Update who queries a lil 2024-11-29 19:16:42 +01:00
9fb89056b6 Update spotter to send channel names as args 2024-11-29 19:16:34 +01:00
f813e85755 Update messenger to also accept channel names as args 2024-11-29 19:16:34 +01:00
d325141929 Remove some bugs and fix shit up a lil 2024-11-28 20:24:43 +01:00
740f69ebe8 Add spotter weakaura 2024-11-28 20:07:59 +01:00
5fbaf869f8 Make whosniffer use messenger 2024-11-28 19:45:09 +01:00
d6132848db Add messenger, shared weakaura to use chat 2024-11-28 19:44:59 +01:00
56a08b6cca Refactpr whosniffer a lil 2024-11-28 19:04:05 +01:00
901d42fc71 Update export 2024-11-28 17:16:58 +01:00
800555f59f Add zone changed messages 2024-11-28 17:16:36 +01:00
3107521c55 Add password for joining channels in whosniffer 2024-11-28 16:54:10 +01:00
3bc59f9d73 Update whosniffer export 2024-11-28 16:48:23 +01:00
837fe3b71e Fix channel notifications 2024-11-28 16:48:18 +01:00
9adc6aceda Stop spam while options are open 2024-11-28 16:46:17 +01:00
4220b4d0bd Update cooldown alert with warlock shit 2024-10-13 23:57:21 +02:00
9749f5a6eb Update 2024-08-24 22:45:34 +02:00
054568b2e6 Update 2024-08-24 22:45:28 +02:00
d163cf93eb Move some new weakauras to special foldr 2024-03-07 12:24:39 +01:00
adc0218169 Add argunite cluster filter 2024-03-05 21:27:32 +01:00
3a41afa676 Fix issues with autovendor 2024-03-05 10:34:02 +01:00
74a1e936fb Rework autovendor 2024-03-05 10:24:10 +01:00
dc5e2127dc Implement expansion based filter for professionFilter 2024-03-04 20:51:33 +01:00
fb4c84acaa Fix issue with looting AP 2024-03-04 09:52:08 +01:00
28a3b9b0b0 More fixes and small reworks 2024-03-04 09:39:57 +01:00
029c12eaf6 Fix issues with autoloot 2024-03-04 09:23:47 +01:00
e4b02d4d68 Add getItemSubclassId function and artifactPowerFilter 2024-03-03 20:14:08 +01:00
47c0a5bf54 Rework auto loot 2024-03-03 16:19:26 +01:00
91b04ec9c3 Add EquipmentManager module 2024-03-03 13:49:36 +01:00
ea5269617b Add new Lua files and implement functions for various features 2024-03-03 13:48:29 +01:00
M. David
b48cb28cb5 Add boe filter 2022-08-23 18:32:25 +02:00
M. David
b23ed6cd31 Add bag glow (that doesn't work) 2022-08-23 18:30:07 +02:00
M. David
b0efa87221 Add nearbyPlayers wa 2022-08-23 14:17:07 +02:00
M. David
9398a5edba Remove duplicate export 2022-08-23 14:17:00 +02:00
M. David
32c5a1816b Add inscription to prof filter 2022-08-22 20:29:15 +02:00
M. David
b668fd6b30 Add tostring to debug logs 2022-08-19 21:42:45 +02:00
M. David
c02c74f2c7 Add logging to file and fix a bug 2022-08-19 15:38:21 +02:00
M. David
3c09dd2f34 Minor bugfix 2022-08-19 15:07:56 +02:00
M. David
be60199671 Add [] to icon name 2022-08-19 14:30:46 +02:00
M. David
84e211bbe5 Minor bugfixes 2022-08-19 14:29:53 +02:00
M. David
25174c050e Remove debug print 2022-08-19 14:23:24 +02:00
M. David
4980c875c2 Separate auto loot into logic and icon 2022-08-19 14:22:17 +02:00
M. David
e32f26ffad Add recipe filer 2022-08-19 14:03:17 +02:00
M. David
f618d2bc34 Add more error handling and ancient mana filter 2022-08-19 13:10:04 +02:00
M. David
1f78ad8d5e Add more error handling in loot 2022-08-19 12:47:16 +02:00
M. David
d50e4f6ff2 Add cooldown alert 2022-08-19 12:15:20 +02:00
M. David
d44084bdf9 Add sotr counter 2022-08-19 10:55:31 +02:00
M. David
563243fc6e Add sotr texture 2022-08-19 10:45:52 +02:00
M. David
1f7f6310f9 Fix issue with argunite filter 2022-08-19 10:22:43 +02:00
M. David
d5b336dd5a Add argunite filter to loot 2022-08-19 10:20:18 +02:00
M. David
930eab2143 Fix typo in quest 2022-08-18 23:56:57 +02:00
M. David
82a352718d Update quest export 2022-08-18 23:55:30 +02:00
M. David
1e95203318 Minor folder changes 2022-08-18 23:54:10 +02:00
M. David
d91242f99d Fix small issues in loot and vendor 2022-08-18 23:52:44 +02:00
M. David
374515e222 Add some error checking 2022-08-18 23:50:51 +02:00
M. David
fdf190e2e0 Add autoVendor 2022-08-18 23:50:43 +02:00
M. David
bb726bb860 Add autoQuest 2022-08-18 23:22:35 +02:00
M. David
65071f34fd Add new autoloot aura, better than ever 2022-08-18 22:31:07 +02:00
M. David
eb02b0f5ae Split the code into files 2022-08-15 20:25:35 +02:00
M. David
6dc232dfc5 Add autoloot from freakz 2022-08-15 20:18:10 +02:00
PhatDave
a6b4d8230a Add export 2022-01-06 19:24:54 +01:00
PhatDave
b172e1c18a Add stack display 2022-01-06 19:24:42 +01:00
PhatDave
de8eaf1318 Remove prints 2022-01-04 19:07:19 +01:00
PhatDave
808d3ba96b Implement group and nameplate search 2022-01-04 19:04:39 +01:00
PhatDave
06b11f955c Extend castaurabar functionality to include buffs and debuffs from various sources 2022-01-01 04:04:50 +01:00
PhatDave
5f35c4e4e2 Add dynamic aura tracker 2021-12-31 12:01:02 +01:00
PhatDave
34256fb7d2 add little AH refresh bot to alert about low and high prices 2021-12-05 15:23:20 +01:00
PhatDave
f899e14ff8 Add OverallAbsorbs which is pretty much a copy of NullBarrier 2021-11-30 17:25:24 +01:00
PhatDave
3b9c1133f6 Added PrimaryStatBar 2021-11-27 21:03:04 +01:00
PhatDave
3b48ee0183 Moved export 2021-11-27 20:42:27 +01:00
PhatDave
e07e998fc7 Updated export 2021-11-12 17:07:57 +01:00
PhatDave
806c44d51a Added export 2021-11-12 17:06:35 +01:00
PhatDave
3af5a43390 Added second bar to tell cooldown 2021-11-12 17:03:56 +01:00
PhatDave
e4e33c8e1a Decided to make 2 auras in a group, one for absorb and the other for cooldown 2021-11-12 16:48:55 +01:00
PhatDave
180cd36eb2 Bar now fully functional 2021-11-12 16:33:03 +01:00
PhatDave
d66d6d6687 Absorb amount is now properly displayed 2021-11-12 16:27:51 +01:00
PhatDave
349eac6536 Initial commit 2021-11-12 15:47:08 +01:00
4876 changed files with 77374 additions and 90696 deletions

12
.gitmodules vendored
View File

@@ -1,6 +1,6 @@
[submodule "LegionWA"] [submodule "Meta"]
path = LegionWA path = Meta
url = ./LegionWA url = https://git.site.quack-lab.dev/dave/wow_Meta
[submodule "NewAge"] [submodule "wow-ui-source"]
path = NewAge path = wow-ui-source
url = ./NewAge url = https://github.com/Gethe/wow-ui-source

5
.luacheckrc Symbolic link
View File

@@ -0,0 +1,5 @@
globals = { "CykaPersistentData", "CreateFrame", "GetItemInfo", "aura_env" }
unused_args = false
max_line_length = 150
exclude_files = { "Meta/" }
global = false

14
.luarc.json Symbolic link
View File

@@ -0,0 +1,14 @@
{
"workspace": {
"library": [
"./Meta"
]
},
"diagnostics.disable": [
"unused-local",
"unused-vararg"
],
"diagnostics.globals": [
"aura_env"
]
}

View File

@@ -1,55 +0,0 @@
--Guess attack speed by taking entire data set and comparing 2 - 4 intervals then storing the n into seperate array and incrementing it
--Attack speed with most counts in latter array is the best guess by m%
--Correct this by repeating step on exit combat maybe?
--Look at tolerances as well
local dataSet2s = {
[1]=540390408.9506,
[2]=540392394.9163,
[3]=540394398.5326,
[4]=540396409.5288,
[5]=540398396.6414,
[6]=540400397.0754,
[7]=540402384.8113,
[8]=540404385.3304,
[9]=540406398.99,
[10]=540408386.472,
[11]=540410386.9851,
[12]=540412374.8497,
[13]=540414375.1427,
[14]=540416373.0995,
[15]=540418376.9931,
[16]=540420390.6971
}
local dataSet1p5s = {
[1]=541651364.1916,
[2]=541652857.9058,
[3]=541654365.8491,
[4]=541655858.3292,
[5]=541657352.4962,
[6]=541658846.2963,
[7]=541660354.015,
[8]=541661847.0112,
[9]=541663340.6759,
[10]=541664861.3772,
[11]=541666354.9449,
[12]=541667848.8308,
[13]=541669343.2332,
[14]=541670849.9777,
[15]=541672344.0613,
[16]=541673851.2346
}
local tolerance = 50
local tempAverages = {}
-- rounds .5 to 0 or 1; want to round to .5 or .2 or alike
for k,v in ipairs(dataSet1p5s) do
if k > 1 then
local tempAvg = (dataSet1p5s[k] - dataSet1p5s[k - 1])
print(((math.floor(tempAvg / 1000) - (tempAvg / 1000)) * 1000), (math.ceil(tempAvg / 1000) - (tempAvg / 1000)) * 1000)
if not tempAverages[tempAvg] then tempAverages[tempAvg] = 0 end
tempAverages[tempAvg] = tempAverages[tempAvg] + 1
end
end
for k,v in pairs(tempAverages) do
print(k,v)
end

View File

@@ -1,10 +0,0 @@
if not aura_env.region.text then
local text = aura_env.region:CreateFontString(nil, aura_env.region)
aura_env.region.text = text
print("ok!")
end
aura_env.region.text:SetFont("Fonts\\FRIZQT__.TTF", 10, "OUTLINE, MONOCHROME")
aura_env.region.text:SetTextColor(0, 1, 0, 0.8)
aura_env.region.text:SetPoint("CENTER", aura_env.region, "CENTER", 1, 0)
aura_env.region.text:SetText("SW")
aura_env.region.text:Show()

View File

@@ -1,531 +0,0 @@
--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 v.item:match("%d* Gold") or v.item:match("%d* Silver") or v.item:match("%d* Copper") then LootSlot(slot); print("|cff78cb00loot 1 |r", v.item, type, subtype)
elseif link:match("Azerite") then LootSlot(slot); print("|cff78cb00loot 2 |r", v.item, type, subtype)
elseif v.item:match("War Resources") then LootSlot(slot); print("|cff78cb00loot 3 |r", v.item, type, subtype)
elseif v.item:match("Residuum") then LootSlot(slot); print("|cff78cb00loot 4 |r", v.item, type, subtype)
elseif v.item:match("Manapearl") then LootSlot(slot); print("|cff78cb00loot 5 |r", v.item, type, subtype)
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|cff78cb00 ", v.item, " |rto 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|cff3366ff ", v.item, " |rto 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 (select(7, GetItemInfo(link)) or 0) == "Mount" then LootSlot(slot); print("|cff78cb00loot 6 |r", v.item, type, subtype)
elseif ilvl > 390 then LootSlot(slot); print("|cff78cb00loot 7 |r", v.item, type, subtype)
elseif (select(7, GetItemInfo(link)) or 0) == "Herb" then LootSlot(slot); print("|cff78cb00loot 8 |r", v.item, type, subtype)
elseif (select(7, GetItemInfo(link)) or 0) == "Cooking" then LootSlot(slot); print("|cff78cb00loot 9 |r", v.item, type, subtype)
elseif (select(7, GetItemInfo(link)) or 0) == "Cloth" and type == "Tradeskill" then LootSlot(slot); print("|cff78cb00loot 10 |r", v.item, type, subtype)
elseif (select(7, GetItemInfo(link)) or 0) == "Metal & Stone" then LootSlot(slot); print("|cff78cb00loot 11 |r", v.item, type, subtype)
elseif (select(11, GetItemInfo(link)) or 0) > 150000 and v.quality == 0 then LootSlot(slot); print("|cff78cb00loot 12 |r", v.item, type, subtype)
elseif v.quality > 1 and v.quality < 4 and type ~= "Weapon" and type ~= "Armor" then LootSlot(slot); print("|cff78cb00loot 13 |r", v.item, type, subtype)
elseif v.isQuestItem == true then LootSlot(slot); print("|cff78cb00loot 14 |r", v.item, type, subtype)
elseif v.quality == 0 then LootSlot(slot); print("|cff78cb00loot 15 |r", v.item, type, subtype)
elseif aura_env.whitelist[v.item] then LootSlot(slot); print("|cff78cb00loot 16 |r", v.item, type, subtype)
--elseif type == "Quest" and subtype == "Quest" then LootSlot(slot); print("|cff78cb00loot 17 |r", v.item, type, subtype)
else
print(type, subtype)
if type == "Weapon" or type == "Armor" then
if aura_env.skills[select(3, UnitClass("player"))][subtype] == 1 then
LootSlot(slot); print("|cff78cb00loot 18 |r", v.item, type, subtype)
elseif equip == "INVTYPE_FINGER" or equip == "INVTYPE_TRINKET" or equip == "INVTYPE_CLOAK" or equip == "INVTYPE_NECK" then
LootSlot(slot); print("|cff78cb00loot 19 |r", v.item, type, subtype)
end
elseif type == "Miscellaneous" then
if subtype == "Mount" then
LootSlot(slot); print("|cff78cb00loot 20 |r", v.item, type, subtype)
end
end
end
end
if link then WeakAuras.ScanEvents("ADD_ITEM_SHOW", link, v.quantity, looted) 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 |cFF780000" .. eilvl - ilvl .. "|r 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 |cFF780000" .. eilvl1 - ilvl .. "|r ilvl difference from " .. elink1)
UseContainerItem(i, j)
elseif eilvl2 > ilvl + 5 then
print("Scrapping " .. link .. " over |cFF780000" .. eilvl2 - ilvl .. "|r 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.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,
}
aura_env.sellWhitelist =
{
["Blacksmith Hammer"] = 1,
["Endless Tincture of Renewed Combat"] = 1,
["Mr. Munchykins"] = 1,
}
aura_env.toSell = {}
aura_env.getequipID = function(equip)
if equip == "INVTYPE_HEAD" then return 1
elseif equip == "INVTYPE_NECK" then return 2
elseif equip == "INVTYPE_SHOULDER" then return 3
elseif equip == "INVTYPE_BODY" then return 4
elseif equip == "INVTYPE_CHEST" or equip == "INVTYPE_ROBE" then return 5
elseif equip == "INVTYPE_WAIST" then return 6
elseif equip == "INVTYPE_LEGS" then return 7
elseif equip == "INVTYPE_FEET" then return 8
elseif equip == "INVTYPE_WRIST" then return 9
elseif equip == "INVTYPE_HAND" then return 10
elseif equip == "INVTYPE_CLOAK" then return 15
elseif equip == "INVTYPE_WEAPON" or equip == "INVTYPE_WEAPONMAINHAND" or equip == "INVTYPE_2HWEAPON" then return 16
elseif equip == "INVTYPE_SHIELD" then return 17
else return nil end
end
aura_env.skills =
{
--Warrior
[1] =
{
--Armor Skills
["Cloth"] = 0,
["Leather"] = 0,
["Mail"] = 0,
["Plate"] = 1,
["Shields"] = 1,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 1,
["Bows"] = 1,
["Guns"] = 1,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 1,
["Polearms"] = 1,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 1,
["Warglaives"] = 1,
["Staves"] = 1,
["Fist Weapons"] = 1,
["Daggers"] = 1,
["Crossbows"] = 1,
["Wands"] = 0,
},
--Paladin
[2] =
{
--Armor Skills
["Cloth"] = 0,
["Leather"] = 0,
["Mail"] = 0,
["Plate"] = 1,
["Shields"] = 1,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 1,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 1,
["Polearms"] = 1,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 1,
["Warglaives"] = 0,
["Staves"] = 0,
["Fist Weapons"] = 0,
["Daggers"] = 0,
["Crossbows"] = 0,
["Wands"] = 0,
},
--Hunter
[3] =
{
--Armor Skills
["Cloth"] = 0,
["Leather"] = 0,
["Mail"] = 1,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 1,
["Bows"] = 1,
["Guns"] = 1,
["One-Handed Maces"] = 0,
["Two-Handed Maces"] = 0,
["Polearms"] = 1,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 1,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 1,
["Daggers"] = 1,
["Crossbows"] = 1,
["Wands"] = 0,
},
--Rogue
[4] =
{
--Armor Skills
["Cloth"] = 0,
["Leather"] = 1,
["Mail"] = 0,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 0,
["Polearms"] = 0,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 0,
["Fist Weapons"] = 1,
["Daggers"] = 1,
["Crossbows"] = 0,
["Wands"] = 0,
},
--Priest
[5] =
{
--Armor Skills
["Cloth"] = 1,
["Leather"] = 0,
["Mail"] = 0,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 0,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 0,
["Polearms"] = 0,
["One-Handed Swords"] = 0,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 0,
["Daggers"] = 1,
["Crossbows"] = 0,
["Wands"] = 1,
},
--Death Knight
[6] =
{
--Armor Skills
["Cloth"] = 0,
["Leather"] = 0,
["Mail"] = 0,
["Plate"] = 1,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 1,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 1,
["Polearms"] = 1,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 1,
["Warglaives"] = 0,
["Staves"] = 0,
["Fist Weapons"] = 0,
["Daggers"] = 0,
["Crossbows"] = 0,
["Wands"] = 0,
},
--Shaman
[7] =
{
--Armor Skills
["Cloth"] = 0,
["Leather"] = 0,
["Mail"] = 1,
["Plate"] = 0,
["Shields"] = 1,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 0,
["Polearms"] = 0,
["One-Handed Swords"] = 0,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 1,
["Daggers"] = 1,
["Crossbows"] = 0,
["Wands"] = 0,
},
--Mage
[8] =
{
--Armor Skills
["Cloth"] = 1,
["Leather"] = 0,
["Mail"] = 0,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 0,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 0,
["Two-Handed Maces"] = 0,
["Polearms"] = 0,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 0,
["Daggers"] = 1,
["Crossbows"] = 0,
["Wands"] = 1,
},
--Warlock
[9] =
{
--Armor Skills
["Cloth"] = 1,
["Leather"] = 0,
["Mail"] = 0,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 0,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 0,
["Two-Handed Maces"] = 0,
["Polearms"] = 0,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 0,
["Daggers"] = 1,
["Crossbows"] = 0,
["Wands"] = 1,
},
--Monk
[10] =
{
--Armor Skills
["Cloth"] = 0,
["Leather"] = 1,
["Mail"] = 0,
["Plate"] = 1,
["Shields"] = 1,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 0,
["Polearms"] = 1,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 1,
["Daggers"] = 0,
["Crossbows"] = 0,
["Wands"] = 0,
},
--Druid
[11] =
{
--Armor Skills
["Cloth"] = 0,
["Leather"] = 1,
["Mail"] = 0,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 0,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 1,
["Two-Handed Maces"] = 0,
["Polearms"] = 1,
["One-Handed Swords"] = 0,
["Two-Handed Swords"] = 0,
["Warglaives"] = 0,
["Staves"] = 1,
["Fist Weapons"] = 1,
["Daggers"] = 1,
["Crossbows"] = 0,
["Wands"] = 0,
},
--Demon Hunter
[12] =
{
--Armor Skills
["Cloth"] = 0,
["Leather"] = 1,
["Mail"] = 0,
["Plate"] = 0,
["Shields"] = 0,
--Weapon Skills
["One-Handed Axes"] = 1,
["Two-Handed Axes"] = 0,
["Bows"] = 0,
["Guns"] = 0,
["One-Handed Maces"] = 0,
["Two-Handed Maces"] = 0,
["Polearms"] = 0,
["One-Handed Swords"] = 1,
["Two-Handed Swords"] = 0,
["Warglaives"] = 1,
["Staves"] = 0,
["Fist Weapons"] = 1,
["Daggers"] = 0,
["Crossbows"] = 0,
["Wands"] = 0,
},
}

View File

@@ -1,731 +0,0 @@
--COMBAT_LOG_EVENT_UNFILTERED REMOVE_GUID NAME_PLATE_UNIT_ADDED NAME_PLATE_UNIT_REMOVED
function(allstates, e, ...)
if e == "COMBAT_LOG_EVENT_UNFILTERED" then
local se = select(2, CombatLogGetCurrentEventInfo())
if se == "SPELL_CAST_START" or se == "SPELL_CAST_SUCCESS" then
local spell = select(13, CombatLogGetCurrentEventInfo())
if aura_env.spells[spell] then
local ID = select(7, GetSpellInfo(aura_env.spells[spell].ID))
if ID == aura_env.spells[spell].ID then
local castTime = select(4, GetSpellInfo(aura_env.spells[spell].ID))
local GUID = select(4, CombatLogGetCurrentEventInfo())
if GUID then allstates[GUID] = {} end
if allstates[GUID].timer then allstates[GUID].timer:Cancel() end
local unit = ""
local target = select(9, CombatLogGetCurrentEventInfo())
if target and UnitIsPlayer(target) == true then
local targetClass = UnitClass(target) or ""
target = aura_env.classColor(targetClass) .. target
allstates[GUID].target = target
end
for i = 1, 30 do
if UnitExists("nameplate" .. i) then
if UnitGUID("nameplate" .. i) == GUID then
unit = "nameplate" .. i
break
end
end
end
-- unit = "player"
local LCG = LibStub("LibCustomGlow-1.0")
if castTime > 1000 and se == "SPELL_CAST_START" then
if unit == "player" or unit == "" then unit = "nameplate1" end
if allstates[GUID].timer then allstates[GUID].timer:Cancel() end
allstates[GUID].changed = true
allstates[GUID].show = true
allstates[GUID].showTime = GetTime()
allstates[GUID].ID = aura_env.spells[spell].ID
allstates[GUID].ins = aura_env.spells[spell].ins
allstates[GUID].unit = unit
allstates[GUID].GUID = GUID
allstates[GUID].progressType = "timed"
allstates[GUID].expirationTime = GetTime() + castTime / 1000
allstates[GUID].duration = castTime / 1000
allstates[GUID].timer = C_Timer.NewTimer(castTime / 1000, function() WeakAuras.ScanEvents("REMOVE_GUID", GUID); LCG.PixelGlow_Stop(nameplate); end)
return true
elseif castTime == 0 and se == "SPELL_CAST_SUCCESS" then
if unit == "player" or unit == "" then unit = "nameplate1" end
if allstates[GUID].timer then allstates[GUID].timer:Cancel() end
allstates[GUID].changed = true
allstates[GUID].show = true
allstates[GUID].showTime = GetTime()
allstates[GUID].ID = aura_env.spells[spell].ID
allstates[GUID].ins = aura_env.spells[spell].ins
allstates[GUID].unit = unit
allstates[GUID].GUID = GUID
allstates[GUID].expirationTime = GetTime() + 2
allstates[GUID].timer = C_Timer.NewTimer(2, function() WeakAuras.ScanEvents("REMOVE_GUID", GUID); LCG.PixelGlow_Stop(nameplate); end)
return true
end
end
end
elseif se == "SPELL_CAST_FAILED" then
local spell = select(13, CombatLogGetCurrentEventInfo())
if aura_env.spells[spell] then
local ID = select(7, GetSpellInfo(aura_env.spells[spell].ID))
if ID == aura_env.spells[spell].ID then
local LCG = LibStub("LibCustomGlow-1.0")
local GUID = select(4, CombatLogGetCurrentEventInfo())
if allstates[GUID].timer then allstates[GUID].timer:Cancel() end
local unit = ""
for i = 1, 30 do
if UnitExists("nameplate" .. i) then
if UnitGUID("nameplate" .. i) == GUID then
unit = "nameplate" .. i
break
end
end
end
--WeakAuras.ScanEvents("REMOVE_GUID", GUID)
local rem = allstates[GUID].expirationTime - GetTime()
local maxrem = allstates[GUID].expirationTime - allstates[GUID].showTime
allstates[GUID].changed = true
allstates[GUID].show = true
allstates[GUID].progressType = "static"
allstates[GUID].value = string.format("%.1f", rem)
allstates[GUID].total = maxrem
allstates[GUID].interrupted = true
allstates[GUID].timer = C_Timer.NewTimer(1, function() WeakAuras.ScanEvents("REMOVE_GUID", GUID) end)
if unit ~= "" then
local nameplate = C_NamePlate.GetNamePlateForUnit(unit)
LCG.PixelGlow_Stop(nameplate)
end
return true
end
end
elseif se == "UNIT_DIED" then
local GUID = select(8, CombatLogGetCurrentEventInfo())
if allstates[GUID] and allstates[GUID].expirationTime and not allstates[GUID].interrupted then
local rem = allstates[GUID].expirationTime - GetTime()
local maxrem = allstates[GUID].expirationTime - allstates[GUID].showTime
allstates[GUID].changed = true
allstates[GUID].show = true
allstates[GUID].progressType = "static"
allstates[GUID].value = rem
allstates[GUID].total = maxrem
allstates[GUID].interrupted = true
allstates[GUID].timer = C_Timer.NewTimer(1, function() WeakAuras.ScanEvents("REMOVE_GUID", GUID) end)
return true
end
end
elseif e == "REMOVE_GUID" then
local GUID = select(1, ...)
if allstates[GUID] then
allstates[GUID].show = false
allstates[GUID].changed = true
return true
end
elseif e == "NAME_PLATE_UNIT_ADDED" then
local u = select(1, ...)
if u then
local GUID = UnitGUID(u)
if allstates[GUID] then
local LCG = LibStub("LibCustomGlow-1.0")
local nameplate = C_NamePlate.GetNamePlateForUnit(u)
LCG.PixelGlow_Start(nameplate, {1, 1, 0, 1}, 100, 0, 200, 4, 0, -4)
end
end
elseif e == "NAME_PLATE_UNIT_REMOVED" then
local u = select(1, ...)
if u then
local GUID = UnitGUID(u)
local LCG = LibStub("LibCustomGlow-1.0")
local nameplate = C_NamePlate.GetNamePlateForUnit(u)
LCG.PixelGlow_Stop(nameplate)
end
end
end
--ON SHOW
local LCG = LibStub("LibCustomGlow-1.0")
local font, size, flags = aura_env.region.text:GetFont()
PlaySoundFile("Interface\\AddOns\\WeakAuras\\Media\\Sounds\\RobotBlip.ogg", "Master")
if not aura_env.region.text then
local text = aura_env.region:CreateFontString(nil, "OVERLAY")
aura_env.region.text = text
end
aura_env.region.text:SetFont(font, size, flags)
aura_env.region.text:SetTextColor(1,1,1,1)
aura_env.region.text:ClearAllPoints()
aura_env.region.text:SetPoint("CENTER", aura_env.region, "CENTER")
aura_env.region.text:SetJustifyH("CENTER")
aura_env.region.text:SetJustifyV("CENTER")
local output = aura_env.statee.ins
if aura_env.statee.target then output = output .. " > " .. aura_env.statee.target end
aura_env.region.text:SetText(output)
aura_env.region.text:Show()
local aura_env = aura_env
local nameplate = C_NamePlate.GetNamePlateForUnit(aura_env.statee.unit, true)
LCG.PixelGlow_Start(nameplate, {1, 1, 0, 1}, 100, 0, 200, 4, 0, -4)
local GUID = aura_env.statee.GUID
--ON HIDE
local LCG = LibStub("LibCustomGlow-1.0")
local nameplate = C_NamePlate.GetNamePlateForUnit(aura_env.statee.unit, true)
if nameplate then
LCG.PixelGlow_Stop(nameplate)
end
--ANIMATION
function()
if aura_env.statee and aura_env.statee.interrupted then return 0, 1, 0, 1 end
end
--INIT
aura_env.spells = {
-- ["Vivify"] =
-- {
-- ["ID"] = 116670,
-- ["ins"] = "Test",
-- },
["Brutal Backhand"] =
{
["ID"] = 257426,
["ins"] = "Brutal Backhand - Sidestep",
},
["Shattering Toss"] =
{
["ID"] = 274860,
["ins"] = "Shattering Toss - Brace"
},
["Suppression Slam"] =
{
["ID"] = 270003,
["ins"] = "Suppression Slam - Sidestep"
},
["Axe Barrage"] =
{
["ID"] = 270084,
["ins"] = "Axe Barrage - Stun"
},
["Poison Barrage"] =
{
["ID"] = 270507,
["ins"] = "Poison Barrage - Move with"
},
["Slobber Knocker"] =
{
["ID"] = 256627,
["ins"] = "Slobber Knocker - Sidestep"
},
["Heavy Slash"] =
{
["ID"] = 257292,
["ins"] = "Heavy Slash - Sidestep"
},
["Singing Steel"] =
{
["ID"] = 256709,
["ins"] = "Singing Steel - Sidestep"
},
["Crimson Swipe"] =
{
["ID"] = 268230,
["ins"] = "Crimson Swipe - Sidestep"
},
["Tail Thrash"] =
{
["ID"] = 265910,
["ins"] = "Tail Thrash - Mitigation"
},
["Debilitating Backhand"] =
{
["ID"] = 266237,
["ins"] = "Debilitating Backhand - Sidestep"
},
["Poison Nova"] =
{
["ID"] = 267273,
["ins"] = "Poison Nova - Interrupt"
},
["Blade Combo"] =
{
["ID"] = 268586,
["ins"] = "Blade Combo - Mitigation"
},
["Clear the Deck"] =
{
["ID"] = 269029,
["ins"] = "Clear the Deck - Sidestep"
},
["Viscous Slobber"] =
{
["ID"] = 272827,
["ins"] = "Viscous Slobber - Place out of group"
},
["Crashing Tide"] =
{
["ID"] = 261563,
["ins"] = "Crashing Tide - Face to wall"
},
["Noxious Breath"] =
{
["ID"] = 272657,
["ins"] = "Noxious Breath - Sidestep"
},
["Dust Cloud"] =
{
["ID"] = 268705,
["ins"] = "Dust Cloud - Move enemies"
},
["Shocking Claw"] =
{
["ID"] = 257337,
["ins"] = "Shocking Claw - Sidestep"
},
["Power Through"] =
{
["ID"] = 268415,
["ins"] = "Power Through - Face away"
},
["Cover"] =
{
["ID"] = 263275,
["ins"] = "Cover - Move enemies"
},
["Desperate Measures"] =
{
["ID"] = 263601,
["ins"] = "Desperate Measures - Mitigation"
},
["Blowtorch"] =
{
["ID"] = 263103,
["ins"] = "Blowtorch - Face away"
},
["Echo Blade"] =
{
["ID"] = 268846,
["ins"] = "Echo Blade - Face away"
},
["Charged Shot"] =
{
["ID"] = 269429,
["ins"] = "Charged Shot - Mitigation"
},
["Shockwave"] =
{
["ID"] = 272457,
["ins"] = "Shockwave - Mitigation"
},
["Maddening Gaze"] =
{
["ID"] = 272609,
["ins"] = "Maddening Gaze - Sidestep"
},
["Suppression Fire"] =
{
["ID"] = 258864,
["ins"] = "Suppression Fire - Face away"
},
["Shadow Cleave"] =
{
["ID"] = 265372,
["ins"] = "Shadow Cleave - Face away"
},
["Thorned Barrage"] =
{
["ID"] = 265760,
["ins"] = "Thorned Barrage - Mitigation"
},
["Crush"] =
{
["ID"] = 260508,
["ins"] = "Crush - Mitigation"
},
["Marking Cleave"] =
{
["ID"] = 263905,
["ins"] = "Marking Cleave - Sidestep"
},
["Warding Candles"] =
{
["ID"] = 263961,
["ins"] = "Warding Candles - Move enemies"
},
["Tectonic Smash"] =
{
["ID"] = 275907,
["ins"] = "Tectonic Smash - Sidestep"
},
["Heaving Blow"] =
{
["ID"] = 276268,
["ins"] = "Heaving Blow - Sidestep"
},
["Hindering Cleave"] =
{
["ID"] = 267899,
["ins"] = "Hindering Cleave - Sidestep"
},
["Mental Assault"] =
{
["ID"] = 268391,
["ins"] = "Mental Assault - Sidestep"
},
["Rotten Bile"] =
{
["ID"] = 265540,
["ins"] = "Rotten Bile - MOVE CUNT"
},
["Blade Barrage"] =
{
["ID"] = 257870,
["ins"] = "Blade Barrage - Mitigation"
},
["Skewer"] =
{
["ID"] = 249919,
["ins"] = "Skewer - Mitigation"
},
["Heavy Slash"] =
{
["ID"] = 257292,
["ins"] = "Heavy Slash - Sidestep"
},
["Broadside"] =
{
["ID"] = 268260,
["ins"] = "Broadside - Sidestep"
},
["Crushing Slam"] =
{
["ID"] = 272711,
["ins"] = "Crushing Slam - Sidestep"
},
["Slam"] =
{
["ID"] = 269266,
["ins"] = "Slam - Sidestep"
},
["Energy Lash"] =
{
["ID"] = 262794,
["ins"] = "Energy Lash - Reflect"
},
["Grasping Hex"] =
{
["ID"] = 300436,
["ins"] = "Grasping Hex - Interrupt",
},
["Stoneskin"] =
{
["ID"] = 300514,
["ins"] = "Stoneskin - Interrupt",
},
["Shockwave"] =
{
["ID"] = 300424,
["ins"] = "Shockwave - Sidestep",
},
["Charged Smash"] =
{
["ID"] = 297254,
["ins"] = "Charged Smash - Stack on tank",
},
["Rapid Fire"] =
{
["ID"] = 301667,
["ins"] = "Rapid Fire - Sidestep",
},
["Enlarge"] =
{
["ID"] = 301629,
["ins"] = "Enlarge - Interrupt",
},
["Shrink"] =
{
["ID"] = 284219,
["ins"] = "Shrink - Interrupt",
},
["Wreck"] =
{
["ID"] = 302279,
["ins"] = "Wreck - Mitigation",
},
["Pedal to the Metal"] =
{
["ID"] = 299164,
["ins"] = "Pedal to the Metal - Sidestep",
},
["Burnout"] =
{
["ID"] = 298571,
["ins"] = "Burnout - move from smoke",
},
["Bolt Buster"] =
{
["ID"] = 298940,
["ins"] = "Bolt Buster - Sidestep",
},
["Mega Taze"] =
{
["ID"] = 298718,
["ins"] = "Mega Taze - Run into smoke",
},
["Slimewave"] =
{
["ID"] = 300777,
["ins"] = "Slimewave - Sidestep",
},
["Toxic Wave"] =
{
["ID"] = 297834,
["ins"] = "Toxic Wave - Run to robot",
},
["Disassembling Protocol"] =
{
["ID"] = 301990,
["ins"] = "Disassembling Protocol - Mitigation",
},
["Gyro-Scrap"] =
{
["ID"] = 300159,
["ins"] = "Gyro-Scrap - Run away",
},
["Exhaust"] =
{
["ID"] = 300177,
["ins"] = "Exhaust - Move from smoke",
},
["Repair Protocol"] =
{
["ID"] = 300171,
["ins"] = "Repair Protocol - Interrupt",
},
["Shield Bash"] =
{
["ID"] = 273185,
["ins"] = "Shield Bash - Mitigation",
},
["Overclock"] =
{
["ID"] = 299588,
["ins"] = "Overclock - Interrupt",
},
["Repair"] =
{
["ID"] = 300087,
["ins"] = "Repair - Interrupt",
},
["Scrap Cannon"] =
{
["ID"] = 300188,
["ins"] = "Scrap Cannon - Sidestep",
},
["Detonate"] =
{
["ID"] = 301088,
["ins"] = "Detonate - Interrupt",
},
["Whirling Edge"] =
{
["ID"] = 285020,
["ins"] = "Whirling Edge - Run away",
},
["Maximum Thrust"] =
{
["ID"] = 283421,
["ins"] = "Maximum Thrust - Sidestep",
},
["Process Waste"] =
{
["ID"] = 294290,
["ins"] = "Process Waste - Sidestep",
},
["Venting Flames"] =
{
["ID"] = 291946,
["ins"] = "Venting Flames - Go behind cool cube",
},
["Capacitor Discharge"] =
{
["ID"] = 295169,
["ins"] = "Capacitor Discharge - Run to free floor",
},
["Tune-Up"] =
{
["ID"] = 293729,
["ins"] = "Tune-Up - Interrupt",
},
["Sonic Pulse"] =
{
["ID"] = 293986,
["ins"] = "Sonic Pulse - Sidestep",
},
["Skullcracker"] =
{
["ID"] = 300296,
["ins"] = "Skullcracker - Mitigation",
},
["Coalesce"] =
{
["ID"] = 297835,
["ins"] = "Coalesce - Run to robot",
},
["Maximum Thrust"] =
{
["ID"] = 283421,
["ins"] = "Maximum Thrust - Sidestep",
},
["Vent Jets"] =
{
["ID"] = 285388,
["ins"] = "Vent Jets - Run Away",
},
["Giga-Zap"] =
{
["ID"] = 291939,
["ins"] = "Giga-Zap - Face Away",
},
["Rock Lance"] =
{
["ID"] = 263202,
["ins"] = "Rock Lance - Send Help",
},
["Azerite Heartseeker"] =
{
["ID"] = 262513,
["ins"] = "Azerite Heartseeker - Help",
},
["Savage Cleave"] =
{
["ID"] = 265019,
["ins"] = "Savage Cleave - Sidestep",
},
["Decaying Mind"] =
{
["ID"] = 278961,
["ins"] = "Decaying Mind - Interrupt",
},
["Short Out"] =
{
["ID"] = 297128,
["ins"] = "Short Out - Run to bubble",
},
["Cyclone Strike"] =
{
["ID"] = 263573,
["ins"] = "Cyclone Strike - Sidestep",
},
["Power Shot"] =
{
["ID"] = 264574,
["ins"] = "Power Shot - Sidestep",
},
["Overflow"] =
{
["ID"] = 295346,
["ins"] = "Overflow - Run cunt",
},
["Crushing Reverberation"] =
{
["ID"] = 295332,
["ins"] = "Crushing Reverberation - Stack on tank cunt",
},
["Overwhelming Barrage"] =
{
["ID"] = 295138,
["ins"] = "Overwhelming Barrage - Dodge cunt",
},
["Frostshock Bolts"] =
{
["ID"] = 295601,
["ins"] = "Frostshock Bolts - Dodge cunt",
},
["Inversion"] =
{
["ID"] = 295791,
["ins"] = "Inversion - Spread cunt",
},
["Bioluminescent Cloud"] =
{
["ID"] = 292205,
["ins"] = "Bioluminescent Cloud - Get glowing cunt",
},
["Shock Pulse"] =
{
["ID"] = 292279,
["ins"] = "Shock Pulse - Run cunt",
},
["Arcane Bomb"] =
{
["ID"] = 296746,
["ins"] = "Arcane Bomb - Run cunt",
},
["Gale Buffet"] =
{
["ID"] = 296701,
["ins"] = "Gale Buffet - Run to stormy cunt",
},
["Arcanado Burst"] =
{
["ID"] = 296701,
["ins"] = "Arcanado Burst - Tornados cunt",
},
["Coral Growth"] =
{
["ID"] = 296555,
["ins"] = "Coral Growth - Run cunt",
},
["Briny Bubble"] =
{
["ID"] = 297333,
["ins"] = "Briny Bubble - Help cunt-s",
},
["Rippling Wave"] =
{
["ID"] = 296688,
["ins"] = "Rippling Wave - Soak - s l o w l y - cunt",
},
["Arcing Azerite"] =
{
["ID"] = 296944,
["ins"] = "Arcing Azerite - Destroy Corals cunt",
},
["Conductive Pulse"] =
{
["ID"] = 295822,
["ins"] = "Conductive Pulse - Interrupt cunt",
},
["Frenetic Charge"] =
{
["ID"] = 299914,
["ins"] = "Frenetic Charge - Soak cunt",
},
["Zealous Eruption"] =
{
["ID"] = 301807,
["ins"] = "Zealous Eruption - Run to safe boss cunt",
},
["Fanatical Verdict"] =
{
["ID"] = 296850,
["ins"] = "Fanatical Verdict - Spread cunt",
},
["Potent Spark"] =
{
["ID"] = 301947,
["ins"] = "Potent Spark - Botanist orbs cunt",
},
["Violent Outburst"] =
{
["ID"] = 297325,
["ins"] = "Violent Outburst - Run cunt",
},
}
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 "|cFFFFFFFF" end
end

View File

@@ -1,58 +0,0 @@
--UNIT_AURA COMBAT_LOG_EVENT_UNFILTERED PLAYER_REGEN_ENABLED PLAYER_REGEN_DISABLED
function(e, unit, ...)
if e == "UNIT_AURA" then
if UnitExists(unit) then
if aura_env.UnitDebuffC(aura_env.debuff, unit) and not aura_env.auras[UnitGUID(unit)] and select(7, aura_env.UnitDebuffC(aura_env.debuff, unit)) == "player" then
aura_env.auras[UnitGUID(unit)] = 1
aura_env.count = aura_env.count + 1
return true
elseif not aura_env.UnitDebuffC(aura_env.debuff, unit) and aura_env.auras[UnitGUID(unit)] then
aura_env.auras[UnitGUID(unit)] = nil
aura_env.count = aura_env.count - 1
return true
end
end
elseif e == "COMBAT_LOG_EVENT_UNFILTERED" then
local se = select(1, ...)
if se == "UNIT_DIED" then
local GUID = select(7, ...)
if aura_env.auras[GUID] then
aura_env.auras[GUID] = nil
aura_env.count = aura_env.count - 1
return true
end
end
elseif e == "PLAYER_REGEN_ENABLED" or e == "PLAYER_REGEN_DISABLED" then
for k,v in pairs(aura_env.auras) do
k = nil
v = nil
end
end
end
--UNTRIGGER
function()
if aura_env.count == 0 then return true end
end
--DISPLAY
function()
if aura_env.count > 0 then return aura_env.count else return "" end
end
--INIT
aura_env.debuff = "Dagger in the Back"
aura_env.count = 0
aura_env.auras = {}
aura_env.UnitDebuffC = function(spell, unit)
for i = 1, 40 do
local name = UnitDebuff(unit, i)
if name then
if name == spell then
return UnitDebuff(unit, i)
end
else
return nil
end
end
end

View File

@@ -1,72 +0,0 @@
local baseUrl = "https://www.wowhead.com/"
local keybind = "CTRL-C"
local popupText = "Wowhead %s Link\n" .. keybind .. " to copy"
local typeAttributeMap = {
quest = {"id", "questId", "questID"},
item = {info = {"id"}}
}
local function ShowUrlPopup(id, type)
if not (id or type) then return end
local url = baseUrl .. type .. "=" .. id
StaticPopup_Show("WowheadQuestLinkUrl", type:sub(1, 1):upper() .. type:sub(2), _, url)
end
local function getIdAndType(focus)
local function loop(focus, keys)
if not focus then return end
for key, value in pairs(keys) do
if type(value) == "table" then
return loop(focus[key], value)
end
local id = focus[value]
if id then
return id
end
end
end
if not focus then return end
for type, keys in pairs(typeAttributeMap) do
local id = loop(focus, keys)
if id then
return id, type
end
end
return getIdAndType(focus:GetParent())
end
local function run()
local focus = GetMouseFocus()
local id, type = getIdAndType(focus)
ShowUrlPopup(id, type)
end
StaticPopupDialogs["WowheadQuestLinkUrl"] = {
text = popupText,
button1 = "Close",
OnShow = function(self, data)
local function HidePopup(self) self:GetParent():Hide() end
self.editBox:SetScript("OnEscapePressed", HidePopup)
self.editBox:SetScript("OnEnterPressed", HidePopup)
self.editBox:SetMaxLetters(0)
self.editBox:SetText(data)
self.editBox:HighlightText(0, self.editBox:GetNumLetters())
end,
hasEditBox = true,
editBoxWidth = 233,
timeout = 0,
whileDead = true,
hideOnEscape = true,
preferredIndex = 3,
}
local btn = CreateFrame("BUTTON", "KeybindBtn")
SetBindingClick(keybind, btn:GetName())
btn:SetScript("OnClick", run)

View File

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

View File

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

View File

@@ -1,40 +0,0 @@
PLAYER_ENTERING_WORLD
function()
if aura_env.enabled == 1 then
local r = WeakAuras.regions['julijabutton0'].region
local b = CreateFrame("Button", "JulijaButton", r, "SecureActionButtonTemplate")
if aura_env.type:match("spell") then
b:SetAllPoints()
b:SetAttribute("unit", aura_env.target)
b:SetAttribute("spell", aura_env.name)
b:SetAttribute("type", "spell")
end
if aura_env.type:match("macro") then
b:SetAllPoints()
b:SetAttribute("macro", aura_env.name)
b:SetAttribute("type", "macro")
end
return true
else
return false
end
end
INIT
aura_env.enabled = 0
aura_env.target = "player" --UnitID; player, focus, target, partyn (where n is the number in order of the party member), raidn (For more elaborate UnitIDs look up UnitID API Wiki thing; NO DYNAMIC INFO); I don't think it works for macros though.... So I've disabled it for macros
aura_env.type = "spell" --"spell" or "macro" CASE SENSITIVE
aura_env.name = "Hand of the Protector" --Spell or Macro name CASE SENSITIVE
if aura_env.enabled == 1 then
if not aura_env.type:match("spell") and not aura_env.type:match("macro") then
print("|cFFFF0000Error 'type' on julijabutton0")
aura_env.enabled = 0
end
if aura_env.name == "" then
print("|cFFFF0000Error 'name' on julijabutton0")
end
if aura_env.target == "" and not aura_env.type:match("macro") then
print("|cFFFF0000Error 'target' on julijabutton0")
end
end

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

@@ -1,453 +0,0 @@
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

View File

@@ -1,321 +0,0 @@
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

View File

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

View File

@@ -1,453 +0,0 @@
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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +0,0 @@
PLAYER_ENTERING_WORLD
function()
SetCVar("floatingCombatTextCombatHealing", 1)
end

View File

@@ -1,25 +0,0 @@
--TRIGGER
function()
return true
end
--DURATION
function()
if GetSpecialization() == 1 then
local AP = select(4, UnitDebuff("focus", "Judgment of Light")) or 0
local maxAP = 40
return AP, maxAP, 1
end
if GetSpecialization() == 2 then
local AP = 0
local maxAP = 0
for i = 1, 40 do
if UnitExists("nameplate" .. i) and UnitDebuff("nameplate" .. i,"Judgment of Light") then
local APP = select(4, UnitDebuff("nameplate" .. i, "Judgment of Light")) or 0
maxAP = maxAP + 40
AP = AP + APP
end
end
end
return AP, maxAP, 1
end

View File

@@ -1,25 +0,0 @@
--TRIGGER
function()
return true
end
--DURATION
function()
if GetSpecialization() == 1 then
local AP = select(4, UnitDebuff("focus", "Judgment of Light")) or 0
local maxAP = 40
return AP, maxAP, 1
end
if GetSpecialization() == 2 then
local AP = 0
local maxAP = 0
for i = 1, 40 do
if UnitExists("nameplate" .. i) and UnitDebuff("nameplate" .. i,"Judgment of Light") then
local APP = select(4, UnitDebuff("nameplate" .. i, "Judgment of Light")) or 0
maxAP = maxAP + 40
AP = AP + APP
end
end
end
return AP, maxAP, 1
end

View File

@@ -1,39 +0,0 @@
--TRIGGER
function()
return true --always on
end
--DURATION
function()
local function shorten(val)
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 n = 2
if val < 1e3 then
return round(val, n)
elseif val > 1e3 and val < 1e6 then
return round(val / 1e3, n) .. "k"
elseif val > 1e6 and val < 1e9 then
return round(val / 1e6, n) .. "M"
elseif val > 1e9 then
return round(val / 1e9, n) .. "G"
end
end
for i = 1, 40 do
local spellID = select(11, UnitBuff("player", i)) -- don't know which return arg it is
if spellID == 214577 then
local AP = select(17, UnitBuff("player", i))
return shorten(AP)
end
if spellID == 214572 then
local AP = select(4, UnitBuff("player", i))
return AP
end
end
end

Submodule Complete Projects/Legion/RaiderSA deleted from 7a3f912549

View File

@@ -1,494 +0,0 @@
--Add raid frame glow for target of spellcast
--COMBAT_LOG_EVENT_UNFILTERED REMOVE_GUID NAME_PLATE_UNIT_ADDED NAME_PLATE_UNIT_REMOVED
function(allstates, e, ...)
if e == "COMBAT_LOG_EVENT_UNFILTERED" then
local se = select(2, ...)
if se == "SPELL_CAST_START" or se == "SPELL_CAST_SUCCESS" then
local spell = select(13, ...)
if aura_env.spells[spell] then
local ID = select(7, GetSpellInfo(aura_env.spells[spell].ID))
if ID == aura_env.spells[spell].ID then
local castTime = select(4, GetSpellInfo(aura_env.spells[spell].ID))
local GUID = select(4, ...)
if GUID then allstates[GUID] = {} end
if allstates[GUID].timer then allstates[GUID].timer:Cancel() end
if castTime > 1000 and se == "SPELL_CAST_START" then
if allstates[GUID].timer then allstates[GUID].timer:Cancel() end
allstates[GUID].changed = true
allstates[GUID].show = true
allstates[GUID].showTime = GetTime()
allstates[GUID].ID = aura_env.spells[spell].ID
allstates[GUID].ins = aura_env.spells[spell].ins
allstates[GUID].GUID = GUID
allstates[GUID].progressType = "timed"
allstates[GUID].expirationTime = GetTime() + castTime / 1000
allstates[GUID].duration = castTime / 1000
allstates[GUID].timer = C_Timer.NewTimer(castTime / 1000, function() WeakAuras.ScanEvents("REMOVE_GUID", GUID); end)
allstates[GUID].text = aura_env.spells[spell].ins
return true
elseif castTime == 0 and se == "SPELL_CAST_SUCCESS" then
if allstates[GUID].timer then allstates[GUID].timer:Cancel() end
allstates[GUID].changed = true
allstates[GUID].show = true
allstates[GUID].showTime = GetTime()
allstates[GUID].ID = aura_env.spells[spell].ID
allstates[GUID].ins = aura_env.spells[spell].ins
allstates[GUID].GUID = GUID
allstates[GUID].expirationTime = GetTime() + 2
allstates[GUID].timer = C_Timer.NewTimer(2, function() WeakAuras.ScanEvents("REMOVE_GUID", GUID); end)
allstates[GUID].text = aura_env.spells[spell].ins
return true
end
end
end
elseif se == "SPELL_CAST_FAILED" then
local spell = select(13, ...)
if aura_env.spells[spell] then
local ID = select(7, GetSpellInfo(aura_env.spells[spell].ID))
if ID == aura_env.spells[spell].ID then
local GUID = select(4, ...)
if allstates[GUID].timer then allstates[GUID].timer:Cancel() end
--WeakAuras.ScanEvents("REMOVE_GUID", GUID)
local rem = aura_env.round(allstates[GUID].expirationTime - GetTime(), 1)
local maxrem = allstates[GUID].expirationTime - allstates[GUID].showTime
allstates[GUID].changed = true
allstates[GUID].show = true
allstates[GUID].progressType = "static"
allstates[GUID].value = rem
allstates[GUID].total = maxrem
allstates[GUID].interrupted = true
allstates[GUID].timer = C_Timer.NewTimer(1, function() WeakAuras.ScanEvents("REMOVE_GUID", GUID) end)
return true
end
end
elseif se == "UNIT_DIED" then
local GUID = select(8, ...)
if allstates[GUID] and allstates[GUID].expirationTime and not allstates[GUID].interrupted then
local rem = allstates[GUID].expirationTime - GetTime()
local maxrem = allstates[GUID].expirationTime - allstates[GUID].showTime
allstates[GUID].changed = true
allstates[GUID].show = true
allstates[GUID].progressType = "static"
allstates[GUID].value = rem
allstates[GUID].total = maxrem
allstates[GUID].interrupted = true
allstates[GUID].timer = C_Timer.NewTimer(1, function() WeakAuras.ScanEvents("REMOVE_GUID", GUID) end)
return true
end
end
elseif e == "REMOVE_GUID" then
local GUID = select(1, ...)
if allstates[GUID] then
allstates[GUID].show = false
allstates[GUID].changed = true
return true
end
end
end
--ANIMATION
function()
if aura_env.statee and aura_env.statee.interrupted then return 0, 1, 0, 1 end
end
--ON SHOW
PlaySoundFile("Interface\\AddOns\\WeakAuras\\Media\\Sounds\\RobotBlip.ogg", "Master")
--INIT
aura_env.spells = {
["Hateful Charge"] = {
["ID"] = 224188,
["ins"] = "Hateful Charge - Intercept",
},
["Growing Paranoia"] = {
["ID"] = 200289,
["ins"] = "Growing Paranoia - Avoid",
},
["Waking Nightmare"] = {
["ID"] = 200243,
["ins"] = "Waking Nightmare - Stack",
},
["Static Nova"] = {
["ID"] = 193597,
["ins"] = "Static Nova - Run to island",
},
["Focused Lightning"] = {
["ID"] = 193611,
["ins"] = "Focused Lightning - Run from island",
},
["Scent Of Blood"] = {
["ID"] = 196838,
["ins"] = "Scent Of Blood - Prepare for Claw Frenzy",
},
["Celerity Zone"] = {
["ID"] = 211037,
["ins"] = "Celerity Zone - Get 50% haste",
},
["Sap Soul"] = {
["ID"] = 200905,
["ins"] = "Sap Soul - Manage",
},
["Meteor"] = {
["ID"] = 196249,
["ins"] = "Meteor - Stack",
},
["Fissure"] = {
["ID"] = 192522,
["ins"] = "Fissure - Yoink lava",
},
["Lava Wreath"] = {
["ID"] = 192631,
["ins"] = "Lava Wreath - Yoink lava",
},
["Knockdown Kick"] = {
["ID"] = 214989,
["ins"] = "Knockdown Kick - Beware",
},
["Knife Dance"] = {
["ID"] = 200291,
["ins"] = "Knife Dance - Beware",
},
["Mana Fang"] = {
["ID"] = 209516,
["ins"] = "Mana Fang - Beware",
},
["Frantic Rip"] = {
["ID"] = 200620,
["ins"] = "Frantic Rip - Beware",
},
["Grievous Tear"] = {
["ID"] = 196376,
["ins"] = "Grievous Tear - Beware",
},
["Nightmare Bolt"] = {
["ID"] = 212834,
["ins"] = "Nightmare Bolt - Beware",
},
["Rising Fury"] = {
["ID"] = 195944,
["ins"] = "Rising Fury - Beware",
},
["Ravenous Leap"] = {
["ID"] = 197556,
["ins"] = "Ravenous Leap - Beware",
},
["Lantern Of Darkness"] = {
["ID"] = 192019,
["ins"] = "Lantern Of Darkness - Beware",
},
["Shatter"] = {
["ID"] = 188114,
["ins"] = "Shatter - Beware",
},
["Prophecies Of Doom"] = {
["ID"] = 211771,
["ins"] = "Prophecies Of Doom - Beware",
},
["Quarantine"] = {
["ID"] = 195791,
["ins"] = "Quarantine - Beware",
},
["Deepening Shadows"] = {
["ID"] = 213583,
["ins"] = "Deepening Shadows - Beware",
},
["Maddening Roar"] = {
["ID"] = 200580,
["ins"] = "Maddening Roar - CC",
},
["Spray Sand"] = {
["ID"] = 196129,
["ins"] = "Spray Sand - CC",
},
["Drain"] = {
["ID"] = 202658,
["ins"] = "Drain - CC",
},
["Dark Mending"] = {
["ID"] = 225573,
["ins"] = "Dark Mending - Interrupt",
},
["Hinder"] = {
["ID"] = 215204,
["ins"] = "Hinder - Interrupt",
},
["Drain Magic"] = {
["ID"] = 209485,
["ins"] = "Drain Magic - Interrupt",
},
["Charging Station"] = {
["ID"] = 225100,
["ins"] = "Charging Station - Interrupt",
},
["Unnerving Screech"] = {
["ID"] = 200631,
["ins"] = "Unnerving Screech - Interrupt",
},
["Tormenting Eye"] = {
["ID"] = 204243,
["ins"] = "Tormenting Eye - Interrupt",
},
["Blood Metamorphosis"] = {
["ID"] = 225562,
["ins"] = "Blood Metamorphosis - Interrupt",
},
["Restoration"] = {
["ID"] = 197502,
["ins"] = "Restoration - Interrupt",
},
["Arcane Rebound"] = {
["ID"] = 196028,
["ins"] = "Arcane Rebound - Interrupt",
},
["Polymorph:Fish"] = {
["ID"] = 197105,
["ins"] = "Polymorph:Fish - Interrupt",
},
["Aqua Spout"] = {
["ID"] = 196027,
["ins"] = "Aqua Spout - Interrupt",
},
["Shattered Rune"] = {
["ID"] = 198962,
["ins"] = "Shattered Rune - Interrupt",
},
["Etch"] = {
["ID"] = 198959,
["ins"] = "Etch - Interrupt",
},
["Unruly Yell"] = {
["ID"] = 199726,
["ins"] = "Unruly Yell - Interrupt",
},
["Surge"] = {
["ID"] = 198750,
["ins"] = "Surge - Interrupt",
},
["Void Snap"] = {
["ID"] = 194266,
["ins"] = "Void Snap - Interrupt",
},
["Bound"] = {
["ID"] = 193585,
["ins"] = "Bound - Interrupt",
},
["Demonic Ascension"] = {
["ID"] = 226285,
["ins"] = "Demonic Ascension - Interrupt",
},
["Nightmares"] = {
["ID"] = 193069,
["ins"] = "Nightmares - Interrupt",
},
["Bonebreaking Strike"] = {
["ID"] = 200261,
["ins"] = "Bonebreaking Strike - Avoid",
},
["Ravens Dive"] = {
["ID"] = 214001,
["ins"] = "Ravens Dive - Avoid",
},
["Quelling Strike"] = {
["ID"] = 209027,
["ins"] = "Quelling Strike - Avoid",
},
["Wild Detonation"] = {
["ID"] = 209477,
["ins"] = "Wild Detonation - Avoid",
},
["Charged Blast"] = {
["ID"] = 212031,
["ins"] = "Charged Blast - Avoid",
},
["Charged Smash"] = {
["ID"] = 209495,
["ins"] = "Charged Smash - Avoid",
},
["Fel Detonation"] = {
["ID"] = 211464,
["ins"] = "Fel Detonation - Avoid",
},
["Star Shower"] = {
["ID"] = 200658,
["ins"] = "Star Shower - Avoid",
},
["Nightfall"] = {
["ID"] = 198408,
["ins"] = "Nightfall - Avoid",
},
["Dread Inferno"] = {
["ID"] = 201400,
["ins"] = "Dread Inferno - Avoid",
},
["Thunderstrike"] = {
["ID"] = 198605,
["ins"] = "Thunderstrike - Avoid",
},
["Felblaze Rush"] = {
["ID"] = 193659,
["ins"] = "Felblaze Rush - Avoid",
},
["Deceptive Strike"] = {
["ID"] = 199250,
["ins"] = "Deceptive Strike - Avoid",
},
["Cosmic Scythe"] = {
["ID"] = 194216,
["ins"] = "Cosmic Scythe - Avoid",
},
["Strike Of The Mountain"] = {
["ID"] = 198475,
["ins"] = "Strike Of The Mountain - Avoid",
},
["Spiked Tongue"] = {
["ID"] = 199176,
["ins"] = "Spiked Tongue - Avoid",
},
["Magma Wave"] = {
["ID"] = 200404,
["ins"] = "Magma Wave - Avoid",
},
["Shadow Slash"] = {
["ID"] = 212030,
["ins"] = "Shadow Slash - Avoid",
},
["Blink Strikes"] = {
["ID"] = 199811,
["ins"] = "Blink Strikes - Avoid",
},
["Nether Venom"] = {
["ID"] = 200040,
["ins"] = "Nether Venom - Avoid",
},
["Unstable Mana"] = {
["ID"] = 220871,
["ins"] = "Unstable Mana - Avoid",
},
["Lingering Gaze"] = {
["ID"] = 194945,
["ins"] = "Lingering Gaze - Avoid",
},
["Soul Blade"] = {
["ID"] = 200084,
["ins"] = "Soul Blade - Use Mitigation",
},
["Strike Down"] = {
["ID"] = 225732,
["ins"] = "Strike Down - Use Mitigation",
},
["Vengeful Shear"] = {
["ID"] = 197418,
["ins"] = "Vengeful Shear - Use Mitigation",
},
["Brutal Assault"] = {
["ID"] = 201139,
["ins"] = "Brutal Assault - Use Mitigation",
},
["Indigestion"] = {
["ID"] = 200913,
["ins"] = "Indigestion - Use Mitigation",
},
["Brutal Haymaker"] = {
["ID"] = 198245,
["ins"] = "Brutal Haymaker - Use Mitigation",
},
["Coup De Grace"] = {
["ID"] = 214003,
["ins"] = "Coup De Grace - Use Mitigation",
},
["Primal Rampage"] = {
["ID"] = 198376,
["ins"] = "Primal Rampage - Use Mitigation",
},
["Breath Of Corruption"] = {
["ID"] = 191326,
["ins"] = "Breath Of Corruption - Use Mitigation",
},
["Feed On The Weak"] = {
["ID"] = 200238,
["ins"] = "Feed On The Weak - Use Mitigation",
},
["Crashing Wave"] = {
["ID"] = 191900,
["ins"] = "Crashing Wave - Use Mitigation",
},
["Lightning Breath"] = {
["ID"] = 198888,
["ins"] = "Lightning Breath - Use Mitigation",
},
["Penetrating Shot"] = {
["ID"] = 199210,
["ins"] = "Penetrating Shot - Use Mitigation",
},
["Shield Of Light"] = {
["ID"] = 192018,
["ins"] = "Shield Of Light - Use Mitigation",
},
["Fire Blast"] = {
["ID"] = 202365,
["ins"] = "Fire Blast - Use Mitigation",
},
["Flare"] = {
["ID"] = 202408,
["ins"] = "Flare - Use Mitigation",
},
["Dark Slash"] = {
["ID"] = 193211,
["ins"] = "Dark Slash - Use Mitigation",
},
["Bile Breath"] = {
["ID"] = 194099,
["ins"] = "Bile Breath - Use Mitigation",
},
["Piercing Shards"] = {
["ID"] = 226296,
["ins"] = "Piercing Shards - Use Mitigation",
},
["Razor Shards"] = {
["ID"] = 188169,
["ins"] = "Razor Shards - Use Mitigation",
},
["Sunder"] = {
["ID"] = 198496,
["ins"] = "Sunder - Use Mitigation",
},
["Molten Crash"] = {
["ID"] = 200732,
["ins"] = "Molten Crash - Use Mitigation",
},
["Flame Breath"] = {
["ID"] = 226420,
["ins"] = "Flame Breath - Use Mitigation",
},
["Hatred"] = {
["ID"] = 190836,
["ins"] = "Hatred - Use Mitigation",
},
["a Mothers Love"] = {
["ID"] = 194064,
["ins"] = "a Mothers Love - Use Mitigation",
},
}
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 "|cFFFFFFFF" end
end
aura_env.round = function(var, n)
if (n) then
var = math.floor((var * 10 ^ n) + 0.5) / (10 ^ n)
else
var = math.floor(var + 0.5)
end
return var
end

View File

@@ -1,11 +0,0 @@
local Button = CreateFrame("Button", "MyButton", UIParent, "UIPanelButtonTemplate")
Button:SetWidth(150)
Button:SetHeight(25)
Button:SetPoint("TOP")
Button:SetText("Dance")
Button:RegisterForClicks("AnyUp")
Button:SetScript("OnClick", function()
DoEmote("dance", UnitName("target"))
end )

View File

@@ -1,38 +0,0 @@
EVERY FRAME
function()
local function range (val, min, max, max2)
val = 1 - (((max - val) / (max - min)) * max2)
return val
end
local pX = UnitPosition("player") or 0
local pY = select(2,UnitPosition("player")) or 0
local tX = UnitPosition("Alurielle") or 0
local tY = select(2,UnitPosition("Alurielle")) or 0
local X = pX - tX
local Y = pY - tY
local playerFace = GetPlayerFacing() or 0
local playerA = math.floor(playerFace * 100)
playerA = range(playerA, 0, 630, 360) - 1
playerA = - playerA
playerA = playerA - 90
if playerA < 0 then playerA = playerA + 360 end
aura_env.hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
aura_env.angle = math.deg(math.atan2(X,Y))
if aura_env.angle < 0 then aura_env.angle = aura_env.angle + 360 end
aura_env.angle = aura_env.angle - playerA
end
DISPLAY
function()
local pX = UnitPosition("player") or 0
local pY = select(2,UnitPosition("player")) or 0
local tX = UnitPosition("Alurielle") or 0
local tY = select(2,UnitPosition("Alurielle")) or 0
local X = pX - tX
local Y = pY - tY
local hyp = math.floor(math.sqrt((math.abs(X^2)) + (math.abs(Y^2))))
return hyp
end
INIT
aura_env.angle = 0

View File

@@ -1,31 +0,0 @@
EVERY FRAME
function()
local function range (val, min, max, max2)
val = 1 - (((max - val) / (max - min)) * max2)
return val
end
local pX = UnitPosition("player") or 0
local pY = select(2,UnitPosition("player")) or 0
local tX = UnitPosition("Alurielle") or 0
local tY = select(2,UnitPosition("Alurielle")) or 0
local X = pX - tX
local Y = pY - tY
local playerFace = GetPlayerFacing() or 0
local playerA = math.floor(playerFace * 100)
playerA = range(playerA, 0, 630, 360) - 1
playerA = - playerA
playerA = playerA - 90
if playerA < 0 then playerA = playerA + 360 end
aura_env.hyp = math.sqrt((math.abs(X^2)) + (math.abs(Y^2)))
aura_env.angle = math.deg(math.atan2(X,Y))
if aura_env.angle < 0 then aura_env.angle = aura_env.angle + 360 end
aura_env.angle = aura_env.angle - playerA
end
ANIMATION
function()
return - aura_env.angle
end
INIT
aura_env.angle = 0

View File

@@ -1,3 +0,0 @@
function(progress)
return aura_env.Display.color.r, aura_env.Display.color.g, aura_env.Display.color.b, 1
end

View File

@@ -1,4 +0,0 @@
function()
local current, max = aura_env.ShieldManager.GetStats()
return current, max, 1
end

View File

@@ -1,8 +0,0 @@
-- TICKER_500
function()
for _, shield in pairs(aura_env.Shields) do
shield:Update()
end
aura_env.Display.Update()
return true
end

View File

@@ -1,214 +0,0 @@
---@alias Color {r: number, g: number, b: number}
---@class Colorer
---@field colors table<number, Color>
---@field breakpoints table<number>
aura_env.Colorer = {
--- Make sure colors and breakpoints always have the same number of entries! VERY IMPORTANT!
---@type table<number, Color>
colors = {
{ r = 0.62, g = 0.62, b = 0.62 }, -- Grey
-- { r = 1, g = 1, b = 1 }, -- White
{ r = 0.12, g = 1, b = 0 }, -- Green
{ r = 0, g = 0.44, b = 0.87 }, -- Blue
{ r = 0.64, g = 0.21, b = 0.93 }, -- Purple
{ r = 1, g = 0.5, b = 0 }, -- Orange
{ r = 0.9, g = 0.8, b = 0.5 }, -- Light Gold
{ r = 0, g = 0.8, b = 1.0 }, -- Blizzard Blue
},
breakpoints = { 0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1000.0 },
---@param value number
---@return Color, nil|string
Interpolate = function(value)
local color = { r = 0, g = 0, b = 0 }
---@type table<number, table<number, number>>
local bracket = { { 0, 0 }, { 1, 1 } }
for i = 1, #aura_env.Colorer.breakpoints do
if value < aura_env.Colorer.breakpoints[i] then
bracket[2] = { i, aura_env.Colorer.breakpoints[i] }
break
end
bracket[1] = { i, aura_env.Colorer.breakpoints[i] }
end
---@type Color
local startColor = aura_env.Colorer.colors[bracket[1][1]]
---@type Color
local endColor = aura_env.Colorer.colors[bracket[2][1]]
if startColor == nil or endColor == nil then
return color, "Color not found"
end
local fraction = (value - bracket[1][2]) / (bracket[2][2] - bracket[1][2])
for k, v in pairs(startColor) do
color[k] = aura_env.Colorer.lerp(v, endColor[k], fraction)
end
return color, nil
end,
---@param a number
---@param b number
---@param t number
---@return number
lerp = function(a, b, t)
return a * (1 - t) + b * t
end
}
setmetatable(aura_env.Colorer, { __index = aura_env.Colorer })
---@class ShieldBuffer
---@field records table<number, number>
---@field recordsToKeep number
---@field pointer number
aura_env.ShieldBuffer = {
---@param recordsToKeep number
---@return ShieldBuffer
new = function(recordsToKeep)
local self = setmetatable({}, {
__index = aura_env.ShieldBuffer
})
self.recordsToKeep = recordsToKeep
self.records = {}
self.pointer = 1
for i = 1, recordsToKeep do
self.records[i] = 0
end
return self
end,
---@param self ShieldBuffer
---@param shieldValue number
---@return nil
Append = function(self, shieldValue)
self.records[self.pointer] = shieldValue
self.pointer = (self.pointer % self.recordsToKeep) + 1
end,
---@param self ShieldBuffer
---@return number
GetMax = function(self)
local max = 0
for _, value in pairs(self.records) do
if value > max then
max = value
end
end
if max == nil then return 0 end
return max
end,
---@param self ShieldBuffer
---@return number
GetCurrent = function(self)
local val = self.records[(self.pointer + self.recordsToKeep - 2) % self.recordsToKeep + 1]
if val == nil then return 0 end
return val
end
}
---@class Shield
---@field name string
---@field value number
---@field buffer ShieldBuffer
aura_env.Shield = {
---@param name string
---@return Shield
new = function(name)
local self = setmetatable({}, {
__index = aura_env.Shield
})
self.name = name
self.value = 0
self.buffer = aura_env.ShieldBuffer.new(30)
return self
end,
---@param self Shield
---@return nil, nil|string
Update = function(self)
local shieldValue = select(17, UnitAura("player", self.name))
if shieldValue then
self.value = shieldValue
else
self.value = 0
end
self.buffer:Append(self.value)
end
}
---@class ShieldManager
aura_env.ShieldManager = {
---@return number
GetMax = function()
local value = 0
for _, shield in pairs(aura_env.Shields) do
value = value + shield.buffer:GetMax()
end
return value
end,
---@return number
GetCurrent = function()
local value = 0
for _, shield in pairs(aura_env.Shields) do
value = value + shield.buffer:GetCurrent()
end
return value
end,
---@return number current
---@return number max
GetStats = function()
local max = 0
local current = 0
for _, shield in pairs(aura_env.Shields) do
max = max + shield.buffer:GetMax()
current = current + shield.buffer:GetCurrent()
end
return current, max
end,
---@return string current
---@return string max
---@return number current (raw)
---@return number max (raw)
GetStatsNice = function()
local current, max = aura_env.ShieldManager.GetStats()
if max > 1e6 or current > 1e6 then
return string.format("%.1fM", current / 1e6), string.format("%.1fM", max / 1e6), current, max
end
return string.format("%.0fk", current / 1000), string.format("%.0fk", max / 1000), current, max
end
}
---@class Display
---@field current number
---@field max number
---@field currentRaw number
---@field maxRaw number
---@field ofHp string
---@field ofHpRaw number
---@field ofHpRawFraction number
---@field color Color
aura_env.Display = {
Update = function()
local current, max, currentRaw, maxRaw = aura_env.ShieldManager.GetStatsNice()
local hp = UnitHealthMax("player")
aura_env.Display.current = current
aura_env.Display.max = max
aura_env.Display.currentRaw = currentRaw
aura_env.Display.maxRaw = maxRaw
aura_env.Display.ofHpRaw = currentRaw / hp * 100
aura_env.Display.ofHpRawFraction = aura_env.Display.ofHpRaw / 100
aura_env.Display.ofHp = string.format("%.0f%%", aura_env.Display.ofHpRaw)
aura_env.Display.color = aura_env.Colorer.Interpolate(aura_env.Display.ofHpRawFraction)
return nil
end
}
---@type table<Shield>
aura_env.Shields = {
[108366] = aura_env.Shield.new("Soul Leech"),
[108416] = aura_env.Shield.new("Dark Pact"),
[207472] = aura_env.Shield.new("Xavaric's Magnum Opus"),
[252208] = aura_env.Shield.new("Refractive Shell"),
}

View File

@@ -1,31 +0,0 @@
---@param table table
---@param depth number?
function DumpTable(table, depth)
if depth == nil then
depth = 0
end
if (depth > 200) then
print("Error: Depth > 200 in dumpTable()")
return
end
for k, v in pairs(table) do
if (type(v) == "table") then
print(string.rep(" ", depth) .. k .. ":")
DumpTable(v, depth + 1)
else
print(string.rep(" ", depth) .. k .. ": ", v)
end
end
end
local colorer = Colorer.new()
local value = 1.21
local rgb = colorer:Interpolate(value)
for i = 1, 150 do
local value = i / 100
local rgb = colorer:Interpolate(value)
print(value, rgb.r, rgb.g, rgb.b)
end

View File

@@ -1,4 +0,0 @@
--- PLAYER_TARGET_CHANGED
function(allstates)
aura_env.TryInspect()
end

View File

@@ -1,15 +0,0 @@
--- INSPECT_ACHIEVEMENT_READY
function()
local targetGuid = UnitGUID("target")
if not targetGuid then return end
if not string.match(targetGuid, "Player") then return end
local targetName = UnitName("target")
local should = false
if not WeakAurasSaved.Cyka.AchievementSniffer[targetName] then should = true end
if WeakAurasSaved.Cyka.AchievementSniffer2[targetName] then should = false end
if aura_env.config.rescan then should = true end
if not should then return end
aura_env.Scan(targetName)
end

View File

@@ -1,4 +0,0 @@
-- TICKER_500
function()
aura_env.TryInspect()
end

View File

@@ -1,28 +0,0 @@
--- TICKER_200
function(allstates)
for i = 0, 40 do
local unit = "nameplate" .. i
if UnitIsPlayer(unit) then
local name = UnitName(unit)
local seen = false
if WeakAurasSaved.Cyka.AchievementSniffer[name] then seen = true end
if WeakAurasSaved.Cyka.AchievementSniffer2[name] then seen = true end
allstates[unit] = {
show = true,
changed = true,
name = name,
unit = unit,
seen = seen,
}
else
allstates[unit] = {
show = false,
changed = true,
seen = false,
}
end
end
return true
end

View File

@@ -1 +0,0 @@
!DR1cpTTsw4)livjqQL12XpswDB3nfcu6cbeou0vT1KH4jj(IJDw)aiDvZV99CMX2zodjq4E37QvROk1FEMZ7hEg7jWmyqGFEGV1(MU73kWFwGFi(p4UtYsFiW)WZVUFG)TPzH8SpYgDxyw68a)pgh9JFWYcxoCqAACreCRhpF84CErqFJa)fkxpjlkCWI58a)lpSMrhKgNMbYOVjoL(wIFBj(1gVzrGFzoVBYOPPzxWZUkjQi4Jb(SrfrPj5cvUGLvaxaZmchvC1y4Y8PIRburw0Kj8SCPCg0Cd8Yq(TLJhlvRp170lo6QtHXfqwzgZceWCEC8jH5soNxEl)EEsHpqv0Jb(3Cqx)b34pO7LaZkrfWFEmBbW8MPErgxmv)l6DkWCX9aHXzXftd8tyZ451AAzYkvRqERrPXLZs8NZgXrT3pJfgvMdUkddHV50OzGqVfu34Ojjb(h0R)GExcZlTGHojHRhuLl5tQCzatJtzIilq)nJIz55idadDeEZzLqCSwJKJQF38OFW1VjC7BRsluJQMIOQPiQAkIQg77GtMLenJvWXWz(iwCL1L(WktvMIGQM8QEHtGWI))SKLXxo8OY44LdVEAeWd)mH1jdJHlaFA0iiRTCEnP(OcdkIFSWD13bLViPkncJg1EnaWZsyXFbsxeoplxq9sHmm)K0emPiB0P8KjqKRFlxdm8KazGjfhbPKGn7Fz3dp5k)AXEsIi5VXwQRgSHu0miWdzIScMycfPJUVwOEgTWOBeua2D00iiJzgMYLenEmp7ymZSau9ZNxSkIIfxxhfI6vJTDekcPpX)Gl71dkFlrE(PoMXrfFj070sHbmoAIKjmsDMF)UN17It7oOhMBickw1Hnunvk(QQyKUOqOUbNWnYBMZbraLpadNXIs2(z3ueVDZxuRKegP4uY5XJRcWdo)cH6kkUGscC2n9dsllIJqMF(vdo9K(9evDptgSOVuyuowPpG)iaEtIsVoBJnKDnQmViDgsXvZdXC)6Mbqanf9QJKHq)Ua(f6Y5hMEJKFyfu1v(V7DV7VlkzxoeBFDdp5(LFgV54iEm0KMTkDcMsb72y(VKuo7wE2BxomhA(Km5dec8hXswoCCzYUY2A9HuQ)A9u3Jm1bzlG8DOjsHKayu54vk01C2DDbLk3NDppKq6blUJvRosw)2na1v2p8bukrJxomjTqxg7xX3P8Knm07xo8F9ZLd5jHppt2)P1HpdFx7S)dikRxNSSOcBCki97E79lhgbSyolklF3TKr7TCyyk4Ghk)dv7TJYVE33R05gIR)7vWaWksIIxXcH5i(z5NRtV3NMsJg(kcmDERkOLcYYwDmhdxcYtfzQsNJLTcY1Unb1rf5ysqoeKQeCDniicDU0zsKNlrEEe68CjicDTjZSTLkQJQ888urDCu5shpBcI4Rnmvj00Y1LejC0GEuyBcKyjwgetXY0w1wSGLfPaTTj6pavP12LelT7ysHe1WUdji5ytINaKKa5rYeC8CiUy6KDTPHFpsEka9OqAKSLQA41Ielbylku1a9SBrc1Di5YT7y1HajMaaDjqxnOhfszLhvqE0rBBqHMuivnigyhAwxhJwK8vZwQ02XUdHwArVPHHthk2JITiwHPbnkAA4quCetlqC6OJPY31ud7OHPLug0gfiMQFUEwuCBDSTgwJ(2u73TJg9e3jIP07zq1xpBnSJJgwBCxk)90ShpTgqEDOXJ2gAyZ2AyQ912sB(A8VthI)Y00sh7QH90WTPyszpI1MVRg)BRrpn(yAsTFtltk9wwAJtJxMTAPH1SxBA8Z02JQ)oKhWcyA9KPRPHg2KI18hA5)aUTgwJ)UA83JQ)EA6RxBpnmLFA5taMA)DO1daULg2wd7OH15NNgUTgMOFWd(m0WMA42umDXrwgwA0tZFbSg9T0MpTEeW2uCBn51MYFtJwumn)WYMMpbypnmQF)KS2q1TK8EXUseBPsS1KkcJthXIXDxKnHxCHypoI5IBb(KC5n2Dh5W7ShDTWILWtPuUo9mErzws1cwxRKW9r1iheqKHon5ttlX9jH2aloNVg1ylxw9kPxVaDvMxKvY106TFn)wVaZLA(t5Et0s(Qi2pJNl2052QDcZVEARZ)R7nbURMvCWu(O7obFXpWgUpmcFDoJwfoGTAAQf2vPF97XXNxO4FoiD2CwwuEAcgSxxYK6gBWTfdtNnd2RwZwUR3VRsUTCN5Qz1RMUcR3Y8Iv0(96Dp2WcXgiJahblkuUjYi5Uix7EW02ZOUVh8fX8cEiWUzPjftH)pKTa(DbNjR8oEdoVtsgNUlOc79uMlIk1CEtbL6)qhm(YJw5t30mR0zuZGPkuUD2z5W93VsB3iHO(iTNFrS0X68scNSmu5LEU6g0f81gjixQ77dXMzmiN6ng2HV7ngwYF25TnYI6N3B7ebtFJ0B0qLvMqu5TV8KB0D8ITy(kr03tYC2iL)CZd96Rd(kyvFVwFzpLZKgr0k4)sw5R(ndHKfwoB(wRQ7CruYDGhHTZ3x(5x3x9q(UtRFPHp730q7ZvSHpQHKv3mnke4Br0mEyfL5b(xCA3FT3L3aS74EdU5Gp1T)X9ou)7QO8cmxoCTuS8ZR7X3R5r94WqKOrPKgBLDS6ZTO91Aw3hcAnFrM(wAUY1z5u3BTF4K(GZ6Gb309GpDsVV07SE9hCZL96E4V(craIRzJmz9UhYAooUSQCfFm0XxDYHBX6AK08mRQz1tGLnKGUrJMU7kIH(o7ixCeiL))C5r)3BbmKh(V7kL95Y43Qc41LP36zBA87wun1ddo5G)buL7GFQRr4AWAyWQm(LdxnRxFdGTOSIu4UoVG9F2To1ChIVRRK9Fbw3d(rpGbvEuCoNlx33o3MMgVdUNhTEeR4KIlJfhdRSTGNVN(c7emd2R1qBJNDPBy)sPGXMOqFZcE1cyIw)kYiBHcPEVxAPzvsk5jv)sQFj6ACnADbwNYTLnesiTcQ5VAH8gLsJh)RO2)9TDjvqJGhAeY2SkPPSKj8Wxdjn(x8ITy(nrE8ITy(n(j8Ix3Y14pBG7pQlvKx8NJpLM79kn6NSsYvW6Neis5wtxEH)OS6Zj)7Ajn4xY(3eTjUhpGdjlKF5575dKt7SuOdj0hSydhpI)x(ebeYZzf44C8yKqotmJtXMZ9ECo8468hylE6PKzkpAY0QVNVGuXHvHC2zsNDlR4)mhEguFQoMkG8MfLLLko7lQhTLc(JG1axapvijuey8)4P96FOYqI3KXy2i(36ggc2Y3A609TlsFGNjU8mEye7BY7I)60c9UpYRpdjINcPC8j(45dgC(zb()gK6fng8vN27ObVIdTs1jpj)07ooVLZSZMYWdS08PYZ(YgpUkpi1gBdLZPIVC5vqOO4PNIMhsZcVoJnpW)6MR0pTmv7gs6qtNmjg()74lAymM0mc0bXA4yty4l8GfNXzHlGYC4UjyNbzrw(FtKiCisXhL7UiW)Yg(mMbXymiwziwR5CQivh5cGuwQbEgHUVAbayOGNG44sE1Xpr2IAfdKJjqh5y0212STTHLRNNLNrW4354QCkwuoDDZZsNZZkwuFKxku2LZRrNmEbDsEkAoY1Y01RvlxJwwEwW1vA22Otf0twi00Ae0BKFJArTyw3dSX2c5uW)(

View File

@@ -1,227 +0,0 @@
---@class aura_env
---@field achievements table<number, string>
---@field Scan fun(playerName: string)
---@field TryInspect fun()
---@class WeakAurasSaved
---@field Cyka table<string, table<string, table<number, string>>>
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
if not WeakAurasSaved.Cyka.AchievementSniffer then WeakAurasSaved.Cyka.AchievementSniffer = {} end
if not WeakAurasSaved.Cyka.AchievementSniffer2 then WeakAurasSaved.Cyka.AchievementSniffer2 = {} end
for k,v in pairs(WeakAurasSaved.Cyka.AchievementSniffer2) do
if WeakAurasSaved.Cyka.AchievementSniffer[k] then
WeakAurasSaved.Cyka.AchievementSniffer[k] = nil
end
end
aura_env.achievements = {
15,
153,
245,
506,
507,
513,
524,
648,
649,
651,
655,
657,
660,
661,
667,
668,
669,
671,
676,
678,
681,
682,
697,
777,
958,
974,
975,
1017,
1266,
1556,
1557,
1558,
1576,
2078,
2141,
2200,
4477,
4478,
4624,
4914,
4958,
4960,
5455,
5456,
5749,
5752,
6456,
6460,
6753,
6757,
6758,
6835,
7382,
7383,
7384,
7437,
7948,
8929,
8952,
8956,
8966,
8967,
8969,
8978,
8979,
8980,
8981,
8982,
8983,
9017,
9038,
9132,
9493,
9507,
10059,
10079,
10278,
10460,
10581,
10585,
10595,
10597,
10617,
10657,
10666,
10667,
10668,
10672,
10682,
10684,
10688,
10689,
10692,
10693,
10698,
10706,
10746,
10755,
10756,
10763,
10772,
10775,
10790,
10800,
10818,
10819,
10820,
10875,
10994,
11124,
11126,
11127,
11128,
11153,
11157,
11164,
11188,
11189,
11190,
11214,
11220,
11298,
11338,
11394,
11446,
11473,
11545,
11559,
11610,
11611,
11653,
11657,
11658,
11659,
11660,
11674,
11773,
11787,
11789,
11790,
11796,
11992,
11993,
11994,
11995,
11996,
11997,
11998,
11999,
12000,
12001,
12008,
12015,
12020,
12026,
12028,
12030,
12072,
12074,
12085,
12086,
12103,
12110,
12445,
12447,
12448,
}
aura_env.TryInspect = function()
local targetPlayer = UnitIsPlayer("target")
if not targetPlayer then return end
local targetName = UnitName("target")
local should = false
if not WeakAurasSaved.Cyka.AchievementSniffer[targetName] then should = true end
if WeakAurasSaved.Cyka.AchievementSniffer2[targetName] then should = false end
if aura_env.config.rescan then should = true end
if not should then return end
local canInspect = CheckInteractDistance("target", 1)
if canInspect then
SetAchievementComparisonUnit("target")
end
end
---@param playerName string
aura_env.Scan = function(playerName)
WeakAurasSaved.Cyka.AchievementSniffer[playerName] = {}
for i, aid in ipairs(aura_env.achievements) do
local completed, month, day, year = GetAchievementComparisonInfo(aid)
if completed then
---@type string
local yearstr = "" .. year
if year < 100 then yearstr = "20" .. year end
local date = string.format("%04d-%02d-%02d", yearstr, month, day)
local data = {
id = aid,
date = date,
completed = completed,
}
WeakAurasSaved.Cyka.AchievementSniffer[playerName][aid] = data
end
end
end
--/run WeakAurasSaved.Cyka.AchievementSniffer = {}
--/dump WeakAurasSaved.Cyka.AchievementSniffer["Pinkleta"]

View File

@@ -1,9 +0,0 @@
local year = 20
local month = 7
local day = 12
if year < 100 then
year = "20" .. year
end
print(string.format("%4d-%02d-%02d", year, month, day))

View File

@@ -1,14 +0,0 @@
-- CHAT_MSG_SYSTEM
function(e, msg)
if msg == nil then return false end
if string.find(msg, "You are now Away") then
aura_env.KickTime = time() + 30 * 60
aura_env.AfkSince = time()
return true
end
if string.find(msg, "You are no longer Away") then
aura_env.KickTime = 0
aura_env.AfkSince = 0
return false
end
end

View File

@@ -1,16 +0,0 @@
-- TICKER_500
function(e)
local timeToKick = aura_env.KickTime - time()
if timeToKick > 0 and timeToKick < 10 * 60 then
WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\Sounds\\quack.ogg")
-- SendChatMessage("QUACK", "WHISPER", nil, UnitName("player"))
end
local rewardClaimed = WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].claimed
local onlineTime = WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].onlineTimeInMinutes
if rewardClaimed == 0 and onlineTime >= 120 then
WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\Sounds\\quack.ogg")
end
return aura_env.KickTime > 0
end

View File

@@ -1,6 +0,0 @@
aura_env.KickTime = 0
aura_env.AfkSince = 0
WeakAurasSaved.Cyka.LoginInfo = {
[Today] = WeakAurasSaved.Cyka.LoginInfo[Today] or {}
}

View File

@@ -1,3 +0,0 @@
function(t)
return t[2]
end

View File

@@ -1,7 +0,0 @@
-- CHAT_MSG_LOOT
function(allstates, e, msg)
if msg:match("You receive loot") then
DrawIcon(msg, allstates)
return true
end
end

View File

@@ -1,48 +0,0 @@
local iconDisplayDuration = 3
---@alias CItemInfo {name: string, icon: number, quantity: number, color: string}
---@param msg string
---@return CItemInfo, string | nil
GetItemInfo = function(msg)
local itemInfo = {name = "", icon = 134400, quantity = 0, color = ""}
local name = msg:match("h%[(.+)%]")
if not name then return itemInfo, "No item name found" end
local quantity = msg:match("x(%d+)") or 1
itemInfo.name = name
itemInfo.quantity = quantity
if WeakAurasSaved.Cyka.ItemCache[name] then
itemInfo.icon = WeakAurasSaved.Cyka.ItemCache[name].icon
end
local color = msg:match("cff(%w%w%w%w%w%w)") or "ffffff"
itemInfo.color = color
return itemInfo, nil
end
---@param msg string
---@param allstates allstates
DrawIcon = function(msg, allstates)
local info, err = GetItemInfo(msg)
if err then
print(err)
return
end
local formattedName = "\124cff" .. info.color .. "[" .. info.name .. "]\124r x" .. info.quantity
allstates[#aura_env.allstates + 1] = {
show = true,
changed = true,
index = GetTime(),
resort = true,
icon = info.icon,
name = formattedName,
progressType = "timed",
expirationTime = GetTime() + iconDisplayDuration,
duration = iconDisplayDuration,
autoHide = true,
}
end

View File

@@ -1,6 +0,0 @@
-- LOOT_READY
function(e)
C_Timer.After(0.1, function()
WeakAuras.ScanEvents("DO_AUTOLOOT")
end)
end

View File

@@ -1,819 +0,0 @@
local debug = false
if not WeakAurasSaved then WeakAurasSaved = {} end
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
if not WeakAurasSaved.Cyka.ItemCache then WeakAurasSaved.Cyka.ItemCache = {} end
---@param slot number
---@return string, string|nil
local function getItemLink(slot)
if slot == nil then return "", string.format("Slot can not be nil") end
local link = GetLootSlotLink(slot)
if link == nil then return "", string.format("GetLootSlotLink returned nil for slot %d", slot) end
return link, nil
end
---@param slot number
---@return string, string|nil
local function getItemName(slot)
if slot == nil then return "", string.format("Slot can not be null") end
local name = select(2, GetLootSlotInfo(slot))
if name == nil then return "", string.format("GetLootSlotInfo returned nil for slot %d", slot) end
return name, nil
end
---@param slot number
---@return string, string|nil
local function getItemType(slot)
if slot == nil then return "", string.format("Slot can not be nil") end
local itemLink, err = getItemLink(slot)
if err then return "", err end
local itemType = select(6, GetItemInfo(itemLink))
if itemType == nil then return "", string.format("GetItemInfo returned nil for slot %d", slot) end
return itemType, nil
end
---@param slot number
---@return string, string|nil
local function getItemSubtype(slot)
if slot == nil then return "", string.format("Slot can not be nil") end
local itemLink, err = getItemLink(slot)
if err then return "", err end
local itemSubtype = select(7, GetItemInfo(itemLink))
if itemSubtype == nil then return "", string.format("GetItemInfo returned nil for slot %d", slot) end
return itemSubtype, nil
end
---@param slot number
---@return number, string|nil
local function getItemLevel(slot)
if slot == nil then return 0, string.format("Slot can not be nil") end
local itemLink, err = getItemLink(slot)
if err then return 0, err end
local itemLevel = select(4, GetItemInfo(itemLink))
if itemLevel == nil then return 0, string.format("GetItemInfo returned nil for slot %d", slot) end
return itemLevel, nil
end
---The vendor price in copper, or 0 for items that cannot be sold
---@param slot number
---@return number, string|nil
local function getItemValue(slot)
if slot == nil then return 0, string.format("Slot can not be nil") end
local itemLink, err = getItemLink(slot)
if err then return 0, err end
local value = select(11, GetItemInfo(itemLink))
if value == nil then return 0, string.format("GetItemInfo returned nil for slot %d", slot) end
return value, nil
end
---@param slot number
---@return number, string|nil
local function getItemSubclassId(slot)
if slot == nil then return 0, string.format("Slot can not be nil") end
local itemLink, err = getItemLink(slot)
if err then return 0, err end
local subclassId = select(13, GetItemInfo(itemLink))
if subclassId == nil then return 0, string.format("GetItemInfo returned nil for slot %d", slot) end
return subclassId, nil
end
---@param slot number
---@return number, string|nil
local function getItemQuantity(slot)
if slot == nil then return 0, string.format("Slot can not be nil") end
local quantity = select(3, GetLootSlotInfo(slot))
if quantity == nil then return 0, string.format("GetLootSlotInfo returned nil for slot %d", slot) end
return quantity, nil
end
---@param slot number
---@return Enum.ItemQuality, string|nil
local function getItemQuality(slot)
if slot == nil then return 0, string.format("Slot can not be nil") end
local itemLink, err = getItemLink(slot)
if err then return 0, err end
local quality = select(3, GetItemInfo(itemLink))
if quality == nil then return 0, string.format("GetItemInfo returned nil for slot %d", slot) end
return quality, nil
end
---@param slot number
---@return string, string|nil
local function getItemEquipLocation(slot)
if slot == nil then return "", string.format("Slot can not be nil") end
local itemLink, err = getItemLink(slot)
if err then return "", err end
local equipLoc = select(9, GetItemInfo(itemLink))
if equipLoc == nil then return "", string.format("GetItemInfo returned nil for slot %d", slot) end
return equipLoc, nil
end
---@param slot number
---@return number, string|nil
local function getItemIcon(slot)
if slot == nil then return 134400, string.format("Slot can not be nil") end
local itemLink, err = getItemLink(slot)
if err then return 134400, err end
local icon = select(10, GetItemInfo(itemLink))
if icon == nil then return 134400, string.format("GetItemInfo returned nil for slot %d", slot) end
return icon, nil
end
---@param slot number
---@return number, string|nil
local function getBindType(slot)
if slot == nil then return 0, string.format("Slot can not be nil") end
local itemLink, err = getItemLink(slot)
if err then return 0, err end
local bindType = select(14, GetItemInfo(itemLink))
if bindType == nil then return 0, string.format("GetItemInfo returned nil for slot %d", slot) end
return bindType, nil
end
---@class Filter
---@field requires table<string, fun(slot: number): string|number|boolean> | nil
---@field filter fun(slot: number, provided: table<string, string|number|boolean>): boolean
Filter = {
---@param requires table<string, fun(slot: number): string|number|boolean> | nil
---@param filter fun(slot: number, provided: table<string, string|number|boolean>): boolean
---@return Filter
new = function(requires, filter)
local self = setmetatable({}, {
__index = Filter
})
self.requires = requires
self.filter = filter
return self
end,
---@param self Filter
---@param slot number
---@return boolean, string|nil
Run = function(self, slot)
---@type table<string, string|number|boolean>
local provided = {}
if self.requires then
for k, v in pairs(self.requires) do
local res, err = v(slot)
if err ~= nil then
if debug then print(err) end
return false, err
end
provided[k] = res
end
end
local res, err = self.filter(slot, provided)
if err ~= nil then
if debug then print(err) end
end
return res, nil
end
}
local goldFilter = Filter.new({ ["name"] = getItemName },
function(slot, provided)
---@cast provided { name: string }
if not aura_env.config.goldFilter then return false end
if string.find(provided.name, "Gold") or
string.find(provided.name, "Silver") or
string.find(provided.name, "Copper") then
if debug then print(string.format("Gold filter pass for %s", provided.name)) end
return true
end
if debug then print(string.format("Gold filter fail for %s", provided.name)) end
return false
end)
local orderResourcesFilter = Filter.new({ ["name"] = getItemName },
function(slot, provided)
---@cast provided { name: string }
if not aura_env.config.orderResourcesFilter then return false end
if string.find(provided.name, "Order Resources") then
if debug then print(string.format("Order resource filter pass for %s", provided.name)) end
return true
end
if debug then print(string.format("Order resource filter fail for %s", provided.name)) end
return false
end)
local mountFilter = Filter.new({ ["type"] = getItemType },
function(slot, provided)
---@cast provided { type: string }
if not aura_env.config.mountFilter then return false end
if provided.type == "Mount" then
if debug then print(string.format("Mount filter pass for type %s", provided.type)) end
return true
end
if debug then print(string.format("Mount filter fail for type %s", provided.type)) end
return false
end)
local ilvlFilter = Filter.new({ ["ilvl"] = getItemLevel },
function(slot, provided)
---@cast provided { ilvl: number }
if not aura_env.config.ilvlFilter then return false end
if provided.ilvl and provided.ilvl > aura_env.config.ilvlFilterThreshold then
if debug then print(string.format("ilvl filter pass for ilvl %d", provided.ilvl)) end
return true
end
if debug then print(string.format("ilvl filter fail for ilvl %d", provided.ilvl)) end
return false
end)
local professionFilter = Filter.new({
["type"] = getItemType,
["subtype"] = getItemSubtype
},
function(slot, provided)
---@cast provided { type: string, subtype: string }
if not aura_env.config.professionFilter then return false end
local enabled = {
["Cloth"] = aura_env.config.professionFilterProfessions[1],
["Cooking"] = aura_env.config.professionFilterProfessions[2],
["Enchanting"] = aura_env.config.professionFilterProfessions[3],
["Herb"] = aura_env.config.professionFilterProfessions[4],
["Inscription"] = aura_env.config.professionFilterProfessions[5],
["Jewelcrafting"] = aura_env.config.professionFilterProfessions[6],
["Leather"] = aura_env.config.professionFilterProfessions[7],
["Metal & Stone"] = aura_env.config.professionFilterProfessions[8],
["Ore"] = aura_env.config.professionFilterProfessions[9],
}
-- Maybe implement an expansion based filter
if provided.type == "Tradeskill" then
if enabled[provided.subtype] then
if debug then print(string.format("Profession filter pass for type %s", provided.type)) end
return true
end
end
if debug then print(string.format("Profession filter fail for type %s", provided.type)) end
return false
end)
local valueFilter = Filter.new({
["value"] = getItemValue,
["quantity"] = getItemQuality
},
function(slot, provided)
---@cast provided { value: number, quantity: number }
if not aura_env.config.valueFilter then return false end
local valueThreshold = aura_env.config.valueFilterThreshold
local value = provided.value
if aura_env.config.valueFilterApplyValueToStack then value = value * provided.quantity end
if value > valueThreshold then
if debug then print(string.format("Value filter pass for value %d", value)) end
return true
end
if debug then print(string.format("Value filter fail for value %d", value)) end
return false
end)
local greyValueFilter = Filter.new({
["quality"] = getItemQuality,
["value"] = getItemValue,
["quantity"] = getItemQuantity
},
function(slot, provided)
---@cast provided { quality: number, value: number, quantity: number }
if not aura_env.config.greyValueFilter then return false end
local valueThreshold = aura_env.config.greyValueFilterThreshold
if provided.quality == 0 then
local value = provided.value
if aura_env.config.greyValueFilterApplyValueToStack then value = value * provided.quantity end
if value > valueThreshold then
if debug then
print(string.format("Grey value filter pass for value %d of %s quality items", value,
provided.quality))
end
return true
end
end
if debug then
print(string.format("Grey value filter fail for value %d of %s quality items", provided.value,
provided.quality))
end
return false
end)
local questItemFilter = Filter.new({
["type"] = getItemType,
["subtype"] = getItemSubtype
},
function(slot, provided)
---@cast provided { type: string, subtype: string }
if not aura_env.config.questItemsFilter then return false end
if provided.type == "Quest" and provided.subtype == "Quest" then
if debug then
print(string.format("Quest item filter pass for type %s and subtype", provided.type,
provided.subtype))
end
return true
end
if debug then
print(string.format("Quest item filter fail for type %s and subtype", provided.type,
provided.subtype))
end
return false
end)
local classGearFilter = Filter.new({
["ilvl"] = getItemLevel,
["quality"] = getItemQuality,
["type"] = getItemType,
["subtype"] = getItemSubtype,
["equiploc"] = getItemEquipLocation
},
function(slot, provided)
---@cast provided { ilvl: number, quality: number, type: string, subtype: string, equiploc: string }
if not aura_env.config.classGearFilter then return false end
local ilvlThreshold = aura_env.config.classGearFilterIlvlThreshold
local qualityThreshold = aura_env.config.classGearFilterQualityThreshold
local isEquippable = aura_env.skills[select(3, UnitClass("player"))][provided.subtype] == 1
if isEquippable and provided.ilvl > ilvlThreshold and provided.quality > qualityThreshold then
if debug then
print(string.format("Class gear filter pass for ilvl %d and quality %d", provided.ilvl,
provided.quality))
end
return true
end
if debug then
print(string.format("Class gear filter fail for ilvl %d and quality %d", provided.ilvl,
provided.quality))
end
return false
end)
local nameFilter = Filter.new({ ["name"] = getItemName },
function(slot, provided)
---@cast provided { name: string }
if not aura_env.config.nameFilter then return false end
local names = string.split(",", aura_env.config.nameFilterNames or "")
if #names == 0 then return false end
for _, name in ipairs(names) do
name = string.trim(name)
if aura_env.config.nameFilterIgnoreCase then
name = string.lower(name)
provided.name = string.lower(provided.name)
end
if provided.name == name then
if debug then print(string.format("Name filter pass for %s", provided.name)) end
return true
end
end
if debug then print(string.format("Name filter fail for %s", provided.name)) end
return false
end)
local reicpeFilter = Filter.new({ ["name"] = getItemName },
function(slot, provided)
---@cast provided { name: string }
if string.find(provided.name, "Recipe") or string.find(provided.name, "Technique") then
if debug then print(string.format("Recipe filter pass for %s", provided.name)) end
return true
end
if debug then print(string.format("Recipe filter fail for %s", provided.name)) end
return false
end)
local boeFilter = Filter.new({
["ilvl"] = getItemLevel,
["type"] = getItemType,
["quality"] = getItemQuality,
["equiploc"] = getItemEquipLocation,
["bindtype"] = getBindType
},
function(slot, provided)
---@cast provided { ilvl: number, type: string, quality: number, equiploc: string, bindtype: number }
aura_env.config.boeFilter = true
local ilvlThreshold = aura_env.config.boeFilterIlvlThreshold
local qualityThreshold = aura_env.config.boeFilterQualityThreshold
local itemType = provided.type
local itemEquipLoc = provided.equiploc
if (itemType == "Armor"
or itemType == "Weapon"
or itemEquipLoc == "INVTYPE_FINGER"
or itemEquipLoc == "INVTYPE_TRINKET"
or itemEquipLoc == "INVTYPE_CLOAK"
or itemEquipLoc == "INVTYPE_NECK") then
local itemLevel = provided.ilvl
local itemQuality = provided.quality
local bindType = provided.bindtype
if itemLevel > ilvlThreshold and itemQuality > qualityThreshold and bindType == 1 then
if debug then print(string.format("BoE filter pass for ilvl %d and quality %d", itemLevel, itemQuality)) end
return true
end
end
if debug then print(string.format("BoE filter fail for ilvl %d and quality %d", provided.ilvl, provided.quality)) end
return false
end)
local artifactPowerFilter = Filter.new({
["type"] = getItemType,
["subtype"] = getItemSubtype,
["subclassid"] = getItemSubclassId,
["value"] = getItemValue
}, function(slot, provided)
---@cast provided { type: string, subtype: string, subclassid: number, value: number }
if not aura_env.config.artifactPowerFilter then return false end
if provided.value == 0 and provided.type == "Consumable" and provided.subtype == "Other" and provided.subclassid == 8 then
if debug then
print(string.format("Artifact power filter pass for type %s and subtype %s and subclassid %d with value %d",
provided.type, provided.subtype, provided.subclassid, provided.value))
end
return true
end
if debug then
DevTools_Dump(provided)
print(string.format("Artifact power filter fail for type %s and subtype %s and subclassid %d with value %d",
provided.type, provided.subtype, provided.subclassid, provided.value))
end
return false
end)
local everythingFilter = Filter.new({ ["name"] = getItemName },
function(slot, provided)
---@cast provided { name: string }
return aura_env.config.everythingFilter
end)
---@type table<Filter>
local filters = {
everythingFilter,
artifactPowerFilter,
boeFilter,
classGearFilter,
goldFilter,
greyValueFilter,
ilvlFilter,
mountFilter,
orderResourcesFilter,
professionFilter,
questItemFilter,
-- reicpeFilter,
valueFilter,
nameFilter,
}
---@class FilterService
aura_env.FilterService = {
---@param lootInfo table<number>
Run = function(lootInfo)
---@type table<number>
local slotsToLoot = {}
for slot, item in pairs(lootInfo) do
if debug then
local itemname = getItemName(slot)
print(string.format("Checking slot %d for %s", slot, itemname))
end
for _, filter in ipairs(filters) do
local res, err = filter:Run(slot)
if err then
if debug then print(err) end
end
if res then
slotsToLoot[#slotsToLoot + 1] = slot
break
end
end
end
aura_env.FilterService.doLoot(slotsToLoot)
end,
---@param slots table<number>
---@return nil
doLoot = function(slots)
for i = #slots, 1, -1 do
aura_env.FilterService.lootslot(slots[i])
end
end,
---@param slot number
---@return nil
lootslot = function(slot)
LootSlot(slot)
local itemIcon = getItemIcon(slot) or 134400
local itemName = getItemName(slot) or "Unknown"
itemName = itemName:gsub("\n", ", ")
local itemQuality = getItemQuality(slot) or 0
if string.find(itemName, "Gold") == nil
and string.find(itemName, "Silver") == nil
and string.find(itemName, "Copper") == nil then
if not WeakAurasSaved.Cyka.ItemCache[itemName] then
WeakAurasSaved.Cyka.ItemCache[itemName] = {
icon = itemIcon,
quality = itemQuality,
}
end
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,
},
}
aura_env.qualityColors = {
"\124cff9d9d9d", -- Poor
"\124cffffffff", -- Common
"\124cff1eff00", -- Uncommon
"\124cff0070dd", -- Rare
"\124cffa335ee", -- Epic
"\124cffff8000", -- Legendary
"\124cffe6cc80", -- Artifact
"\124cff00ccff", -- Heirloom
}

View File

@@ -1,15 +0,0 @@
-- MERCHANT_SHOW
function(allstates, e)
if (GetMerchantNumItems() > 0) then
aura_env.allstates = allstates
if CanMerchantRepair() == true then RepairAllItems() end
for container = 0, 4 do
for slot = 1, GetContainerNumSlots(container) do
aura_env.FilterService.Run(container, slot)
end
end
return true
end
end

View File

@@ -1,266 +0,0 @@
local debug = false
local iconDisplayDuration = 3
---@param container number
---@param slot number
---@return string, string|nil
local function getItemLink(container, slot)
if container == nil then return "", string.format("Container is nil") end
if slot == nil then return "", string.format("Slot is nil") end
local link = select(7, GetContainerItemInfo(container, slot))
if link == nil then return "", string.format("GetContainerItemInfo returned nil for link (arg 7)") end
return link
end
---@param container number
---@param slot number
---@return string, string|nil
local function getItemQuantity(container, slot)
if container == nil then return "", string.format("Container is nil") end
if slot == nil then return "", string.format("Slot is nil") end
local quantity = select(2, GetContainerItemInfo(container, slot))
if quantity == nil then
return "",
string.format("GetContainerItemInfo returned nil for quantity (arg 2)")
end
return quantity
end
---@param container number
---@param slot number
---@return string, string|nil
local function getItemName(container, slot)
if container == nil then return "", string.format("Container is nil") end
if slot == nil then return "", string.format("Slot is nil") end
local name = select(1, GetItemInfo(getItemLink(container, slot)))
if name == nil then return "", string.format("GetItemInfo returned nil for name (arg 1)") end
return name
end
---@param container number
---@param slot number
---@return string, string|nil
local function getItemType(container, slot)
if container == nil then return "", string.format("Container is nil") end
if slot == nil then return "", string.format("Slot is nil") end
local type = select(6, GetItemInfo(getItemLink(container, slot)))
if type == nil then return "", string.format("GetItemInfo returned nil for type (arg 6)") end
return type
end
---@param container number
---@param slot number
---@return string, string|nil
local function getItemSubtype(container, slot)
if container == nil then return "", string.format("Container is nil") end
if slot == nil then return "", string.format("Slot is nil") end
local subtype = select(7, GetItemInfo(getItemLink(container, slot)))
if subtype == nil then return "", string.format("GetItemInfo returned nil for subtype (arg 7)") end
return subtype
end
---@param container number
---@param slot number
---@return string, string|nil
local function getItemLevel(container, slot)
if container == nil then return "", string.format("Container is nil") end
if slot == nil then return "", string.format("Slot is nil") end
local level = select(4, GetItemInfo(getItemLink(container, slot)))
if level == nil then return "", string.format("GetItemInfo returned nil for level (arg 4)") end
return level
end
---@param container number
---@param slot number
---@return string, string|nil
local function getItemValue(container, slot)
if container == nil then return "", string.format("Container is nil") end
if slot == nil then return "", string.format("Slot is nil") end
local value = select(11, GetItemInfo(getItemLink(container, slot)))
if value == nil then return "", string.format("GetItemInfo returned nil for value (arg 11)") end
return value
end
---@param container number
---@param slot number
---@return string, string|nil
local function getItemQuality(container, slot)
if container == nil then return "", string.format("Container is nil") end
if slot == nil then return "", string.format("Slot is nil") end
local quality = select(3, GetItemInfo(getItemLink(container, slot)))
if quality == nil then return "", string.format("GetItemInfo returned nil for quality (arg 3)") end
return quality
end
---@param container number
---@param slot number
---@return string, string|nil
local function getItemEquipLocation(container, slot)
if container == nil then return "", string.format("Container is nil") end
if slot == nil then return "", string.format("Slot is nil") end
local equipLoc = select(9, GetItemInfo(getItemLink(container, slot)))
if equipLoc == nil then return "", string.format("GetItemInfo returned nil for equipLoc (arg 9)") end
return equipLoc
end
---@param container number
---@param slot number
---@return string, string|nil
local function getItemIcon(container, slot)
if container == nil then return "", string.format("Container is nil") end
if slot == nil then return "", string.format("Slot is nil") end
local icon = select(10, GetItemInfo(getItemLink(container, slot)))
if icon == nil then return "", string.format("GetItemInfo returned nil for icon (arg 10)") end
return icon
end
---@param container number
---@param slot number
---@return string, string|nil
local function getBindType(container, slot)
if container == nil then return "", string.format("Container is nil") end
if slot == nil then return "", string.format("Slot is nil") end
local bindType = select(14, GetItemInfo(getItemLink(container, slot)))
if bindType == nil then return "", string.format("GetItemInfo returned nil for bindType (arg 14)") end
return bindType
end
---@class Filter
---@field requires table<string, fun(container:number, slot: number): string|number|boolean> | nil
---@field filter fun(container: number, slot: number, provided: table<string, string|number|boolean>): boolean
Filter = {
---@param requires table<string, fun(container:number, slot: number): string|number|boolean> | nil
---@param filter fun(container: number, slot: number, provided: table<string, string|number|boolean>): boolean
---@return Filter
new = function(requires, filter)
local self = setmetatable({}, {
__index = Filter
})
self.requires = requires
self.filter = filter
return self
end,
---@param self Filter
---@param container number
---@param slot number
---@return boolean, string|nil
Run = function(self, container, slot)
---@type table<string, string|number|boolean>
local provided = {}
if self.requires then
for k, v in pairs(self.requires) do
local res, err = v(container, slot)
if err then
if debug then print(err) end
return false, err
end
provided[k] = res
end
end
local res, err = self.filter(container, slot, provided)
if err then
if debug then print(err) end
end
return res, nil
end
}
local grayFilter = Filter.new({
["quality"] = getItemQuality
},
function(container, slot, provided)
if not aura_env.config.grayFilter then return false end
if provided.quality == 0 then
return true
end
return false
end)
local gearFilter = Filter.new({
["ilvl"] = getItemLevel,
["bindType"] = getBindType,
["type"] = getItemType,
["equipLoc"] = getItemEquipLocation
},
function(container, slot, provided)
if not aura_env.config.gearFilter then return false end
local ilvlThreshold = aura_env.config.gearFilterIlvlFilterThreshold
local sellBoe = aura_env.config.gearFilterSellBoe
if provided.type == "Armor"
or provided.type == "Weapon"
or provided.equipLoc == "INVTYPE_FINGER"
or provided.equipLoc == "INVTYPE_TRINKET"
or provided.equipLoc == "INVTYPE_CLOAK"
or provided.equipLoc == "INVTYPE_NECK" then
if provided.ilvl < ilvlThreshold and (provided.bindType == 1 or sellBoe) then
return true
end
end
return false
end)
---@param container number
---@param slot number
---@return nil, string|nil
local function doSell(container, slot)
local itemIcon, err = getItemIcon(container, slot)
if err then return nil, string.format("Error getting item icon: %s", err) end
local itemName, err = getItemName(container, slot)
if err then return nil, string.format("Error getting item name: %s", err) end
local itemQuantity, err = getItemQuantity(container, slot)
if err then return nil, string.format("Error getting item quantity: %s", err) end
local itemQuality, err = getItemQuality(container, slot)
if err then return nil, string.format("Error getting item quality: %s", err) end
local nameWithColor = string.format("%s[%s]\124r", aura_env.qualityColors[itemQuality + 1], itemName)
local nameWithQuantity = string.format("%s x%s", nameWithColor, itemQuantity)
aura_env.allstates[#aura_env.allstates + 1] = {
show = true,
changed = true,
index = GetTime(),
resort = true,
icon = itemIcon,
name = nameWithQuantity,
amount = itemQuantity,
progressType = "timed",
expirationTime = GetTime() + iconDisplayDuration,
duration = iconDisplayDuration,
autoHide = true,
}
UseContainerItem(container, slot)
return nil, nil
end
---@type table<Filter>
local filters = {
grayFilter,
gearFilter
}
---@class FilterService
aura_env.FilterService = {
---@param container number
---@param slot number
---@return nil, nil
Run = function(container, slot)
local itemLink, err = getItemLink(container, slot)
if err then return nil, string.format("Err: slot empty (%d-%d) - %s", container, slot, err) end
for k, filter in pairs(filters) do
local res, err = filter:Run(container, slot)
if err then
if debug then print(err) end
else
if res then
doSell(container, slot)
return
end
end
end
end,
}
aura_env.qualityColors = {
"\124cff9d9d9d", -- Poor
"\124cffffffff", -- Common
"\124cff1eff00", -- Uncommon
"\124cff0070dd", -- Rare
"\124cffa335ee", -- Epic
"\124cffff8000", -- Legendary
"\124cffe6cc80", -- Artifact
"\124cff00ccff", -- Heirloom
}

View File

@@ -1,3 +0,0 @@
function()
return BattlepassInfo.currentDayOnlineTimeMinutes, 120, 1
end

View File

@@ -1,4 +0,0 @@
--- TICKER_10000
function()
BattlepassInfo()
end

View File

@@ -1,114 +0,0 @@
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
if not WeakAurasSaved.Cyka.LoginInfo then WeakAurasSaved.Cyka.LoginInfo = {} end
Today = date("%Y-%m-%d")
if not WeakAurasSaved.Cyka.LoginInfo[Today] then WeakAurasSaved.Cyka.LoginInfo[Today] = {} end
if not WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")] then
WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")] = {
onlineTimeInMinutes = 0,
claimed = 0,
}
end
local greenColor = "|cff00ff00"
local noColor = "|r"
BattlepassAccountInfo = ""
local function UpdateAccountInfo()
local ret = {}
for char, info in pairs(WeakAurasSaved.Cyka.LoginInfo[Today]) do
if info.claimed == 1 then
char = string.format("%s%s %d%s", greenColor, char, info.onlineTimeInMinutes, noColor)
else
char = string.format("%s %d", char, info.onlineTimeInMinutes)
end
ret[#ret + 1] = char
end
BattlepassAccountInfo = table.concat(ret, "\n")
end
-- [02:37 PM] Bluepotato
-- [02:37 PM] onlineTimeInMinutes=120,
-- [02:37 PM] claimed=1
-- [02:37 PM] Smolpotato
-- [02:37 PM] onlineTimeInMinutes=120,
-- [02:37 PM] claimed=1
-- [02:37 PM] Thiccpotato
-- [02:37 PM] onlineTimeInMinutes=57,
-- [02:37 PM] claimed=0
---@param input string
---@param deliminer string
---@return table<string>
aura_env.Split = function(input, deliminer)
local ret = {}
for str in string.gmatch(input, "([^" .. deliminer .. "]+)") do
table.insert(ret, str)
end
return ret
end
---@class BattlepassInfo
---@field week number
---@field getRew number
---@field dayRewardComplete number
---@field lostDay number
---@field cost number
---@field currentDayOnlineTimeMinutes number
---@field currentDayOnlineTimeMilliseconds number
BattlepassInfo = {
PingApi = function()
SendAddonMessage('UIMSG_TO_SERVER', "UIMSG_GET_ONLINETIME_DAY" .. "\t", 'WHISPER', UnitName('player'))
end,
ParseApi = function(msg)
local packets = aura_env.Split(msg, ":")
if packets[1] ~= "UISMSG_EVT_WEEK_TIME" then return end
BattlepassInfo.currentDayOnlineTimeMilliseconds = tonumber(packets[2])
BattlepassInfo.week = tonumber(packets[3]) + 1
BattlepassInfo.getRew = tonumber(packets[4])
BattlepassInfo.dayRewardComplete = tonumber(packets[5])
BattlepassInfo.lostDay = tonumber(packets[6])
BattlepassInfo.cost = tonumber(packets[7])
BattlepassInfo.currentDayOnlineTimeMinutes = math.floor(BattlepassInfo.currentDayOnlineTimeMilliseconds / 60000)
WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].onlineTimeInMinutes = BattlepassInfo
.currentDayOnlineTimeMinutes
WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].claimed = BattlepassInfo.dayRewardComplete
if BattlepassInfo.dayRewardComplete == 0 and BattlepassInfo.currentDayOnlineTimeMinutes >= 120 then
BattlepassInfo.DoClaim()
C_Timer.After(0.2, function()
BattlepassInfo.PingApi()
end)
end
UpdateAccountInfo()
end,
DoClaim = function()
SendAddonMessage('UIMSG_TO_SERVER', "UIMSG_WEEKLY_REW_GET" .. "\t", 'WHISPER', UnitName('player'))
WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\Sounds\\quack.ogg")
SendChatMessage("YEEE", "WHISPER", nil, UnitName("player"))
end
}
setmetatable(BattlepassInfo, {
__call = BattlepassInfo.PingApi,
__index = BattlepassInfo,
__tostring = function()
local ret = {}
for k, v in pairs(BattlepassInfo) do
table.insert(ret, k .. ": " .. tostring(v))
end
return table.concat(ret, "\n")
end
})
for k, v in pairs(BattlepassInfo) do
if type(v) == "number" then
BattlepassInfo[k] = 0
end
end
BattlepassInfo()
-- Claiming rewards works fine
-- But the bar does not hide once rewards are claimed

View File

@@ -1,7 +0,0 @@
--- COMBAT_LOG_EVENT_UNFILTERED
---@param e string
---@param ... any
function(e, ...)
if e ~= "COMBAT_LOG_EVENT_UNFILTERED" then return end
aura_env.LogSpell(...)
end

View File

@@ -1,22 +0,0 @@
local function varargToString(...)
local output = {}
for i = 1, select("#", ...) do
local value = select(i, ...)
output[#output + 1] = "\"" .. tostring(value) .. "\""
end
return table.concat(output, ",")
end
if not WeakAurasSaved then WeakAurasSaved = {} end
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
if not WeakAurasSaved.Cyka.CombatLog then WeakAurasSaved.Cyka.CombatLog = {} end
---@param spellName string
---@param spellId number
---@param subevent string
---@param ... any
aura_env.LogSpell = function(subevent, ...)
print(varargToString(subevent, ...))
table.insert(WeakAurasSaved.Cyka.CombatLog, varargToString(subevent, ...))
end
-- /dump WeakAurasSaved.Cyka.CombatLog
-- /run WeakAurasSaved.Cyka.CombatLog = {}

View File

@@ -1,21 +0,0 @@
-- COMBAT_LOG_EVENT_UNFILTERED
function(e, ...)
local se, err = CLEUParser.GetSubevent(...)
if err ~= nil then return end
local caster, err = CLEUParser.GetSourceGUID(...)
if err ~= nil then return end
local id, err = CLEUParser.GetSpellId(...)
if err ~= nil then return end
if caster == aura_env.player and id == 198590 then
if se == "SPELL_CAST_SUCCESS" then
aura_env.statee:set(1)
end
if se == "SPELL_DAMAGE" then
aura_env.tick:set(aura_env.tick + 1)
end
if se == "SPELL_AURA_REMOVED" then
aura_env.statee:set(0)
end
end
end

View File

@@ -1,28 +0,0 @@
aura_env.timer = 0
aura_env.totalTicks = 6
aura_env.player = UnitGUID("player")
aura_env.tick = ReactiveValue.new(0)
aura_env.statee = ReactiveValue.new(0)
-- Say...
-- 0 - none
-- 1 - channeling
aura_env.statee:onChange(function(newstate)
-- print("newstate ".. newstate)
if newstate == 1 then
-- print("resetting ticks")
aura_env.tick:set(0)
end
end)
aura_env.tick:onChange(function(ticks)
-- print("ticks " .. ticks)
if ticks > 0 then
if ticks == aura_env.totalTicks - 1 then
-- WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\AddOns\\WeakAuras\\Media\\Sounds\\RobotBlip.ogg")
PlaySoundFile("Interface\\AddOns\\WeakAuras\\Media\\Sounds\\RobotBlip.ogg", "Master")
-- elseif ticks == aura_env.totalTicks - 2 then
-- -- WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\AddOns\\WeakAuras\\Media\\Sounds\\WaterDrop.ogg")
-- PlaySoundFile("Interface\\AddOns\\WeakAuras\\Media\\Sounds\\WaterDrop.ogg", "Master")
end
end
end)

View File

@@ -1,74 +0,0 @@
---@class Colorer
---@field colors table<number, Color>
---@field breakpoints table<number>
aura_env.Colorer = {
--- Make sure colors and breakpoints always have the same number of entries! VERY IMPORTANT!
---@type table<number, Color>
colors = {
{ r = 0.62, g = 0.62, b = 0.62 }, -- Grey
{ r = 1, g = 1, b = 1 }, -- White
{ r = 0.12, g = 1, b = 0 }, -- Green
{ r = 0, g = 0.44, b = 0.87 }, -- Blue
{ r = 0.64, g = 0.21, b = 0.93 }, -- Purple
{ r = 1, g = 0.5, b = 0 }, -- Orange
{ r = 1, g = 0.2, b = 0.23 },
{ r = 0, g = 0.8, b = 1.0 }, -- Blizzard Blue
},
breakpoints = { -999, -10, -5, -2, 2, 5, 10, 999 },
---@param value number
---@return Color, nil|string
Interpolate = function(value)
local color = { r = 0, g = 0, b = 0 }
---@type table<number, table<number, number>>
local bracket = { { 0, 0 }, { 1, 1 } }
for i = 1, #aura_env.Colorer.breakpoints do
if value < aura_env.Colorer.breakpoints[i] then
bracket[2] = { i, aura_env.Colorer.breakpoints[i] }
break
end
bracket[1] = { i, aura_env.Colorer.breakpoints[i] }
end
---@type Color
local startColor = aura_env.Colorer.colors[bracket[1][1]]
---@type Color
local endColor = aura_env.Colorer.colors[bracket[2][1]]
local fraction = (value - bracket[1][2]) / (bracket[2][2] - bracket[1][2])
for k, v in pairs(startColor) do
color[k] = aura_env.Colorer.lerp(v, endColor[k], fraction)
end
return color, nil
end,
---@param a number
---@param b number
---@param t number
---@return number
lerp = function(a, b, t)
return a * (1 - t) + b * t
end
}
setmetatable(aura_env.Colorer, { __index = aura_env.Colorer })
aura_env.KeystoneIdMap = {
[165] = "Shadowmoon Burial Grounds",
[166] = "Grimrail Depot",
[197] = "Eye of Azshara",
[198] = "Darkheart Thicket",
[199] = "Black Rook Hold",
[200] = "Halls of Valor",
[206] = "Neltharion's Lair",
[207] = "Vault of the Wardens",
[208] = "Maw of Souls",
[209] = "The Arcway",
[210] = "Court of Stars",
[227] = "Return to Karazhan: Lower",
[233] = "Cathedral of Eternal Night",
[234] = "Return to Karazhan: Upper",
[239] = "Seat of the Triumvirate"
}

View File

@@ -1,3 +0,0 @@
function()
return UnitPower("player", 4)
end

View File

@@ -1,9 +0,0 @@
-- UNIT_POWER_FREQUENT
---@param e string
---@param unit string
---@param power string
function(e, unit, power)
if unit ~= "player" then return end
if power ~= "COMBO_POINTS" then return end
return true
end

View File

@@ -1,4 +0,0 @@
-- FRIENDLIST_UPDATE
function(e)
aura_env.FileFriends()
end

View File

@@ -1,4 +0,0 @@
-- TICKER_60000
function()
ShowFriends()
end

View File

@@ -1,18 +0,0 @@
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
if not WeakAurasSaved.Cyka.Friends then WeakAurasSaved.Cyka.Friends = {} end
aura_env.FileFriends = function()
local info = {}
local now = date("%y-%m-%dT%H:%M:%S")
local friends = GetNumFriends()
for i = 1, friends do
local name, level, class, area, connected, status, note, noteType = GetFriendInfo(i)
table.insert(info, {
["name"] = name,
["connected"] = connected,
["area"] = area,
["status"] = status,
})
end
WeakAurasSaved.Cyka.Friends[now] = info
end

View File

@@ -1,24 +0,0 @@
-- UNIT_SPELLCAST_SENT
---@param allstates allstates
---@param e string
---@param source string
---@param spellname string
---@param _ string
---@param target string
function(allstates, e, source, spellname, _, target)
if source ~= "player" then return end
if spellname ~= "Mining" then return end
if aura_env.depositIterator[target] == nil then aura_env.depositIterator[target] = 0 end
local state = {
changed = true,
show = true,
progressType = "timed",
autoHide = true,
duration = aura_env.cooldown,
expirationTime = GetTime() + aura_env.cooldown,
name = string.format("%s #%d", target, aura_env.depositIterator[target]),
}
allstates[aura_env.depositIterator[target]] = state
aura_env.depositIterator[target] = aura_env.depositIterator[target] + 1
return true
end

View File

@@ -1,35 +0,0 @@
--- CLEU:SPELL_DAMAGE
function(allstates, e, ...)
local source = arg4
if not source or source ~= UnitName("player") then return end
local targetGUID = arg6
if not targetGUID then return end
local targetName = arg7
if not targetName then return end
local overkill = arg13
if not overkill or overkill <= 0 then return end
local currentTime = GetTime()
if aura_env.lastEvent > 0 and currentTime - aura_env.lastEvent < aura_env.throttle then return end
aura_env.lastEvent = currentTime
local cooldown = aura_env.cooldown
-- local lastEventTime = aura_env.lastEventTimes[targetGUID] or currentTime
-- local timeSinceLastEvent = currentTime - lastEventTime
-- local cooldown = timeSinceLastEvent
-- if cooldown == 0 then cooldown = aura_env.cooldown end
local state = {
changed = true,
show = true,
progressType = "timed",
autoHide = true,
duration = cooldown,
expirationTime = currentTime + cooldown,
name = string.format("%s", targetName),
}
aura_env.lastEventTimes[targetGUID] = currentTime
allstates[targetGUID] = state
return true
end

View File

@@ -1,2 +0,0 @@
rt
!LJrBtnoVX)l05M5UPeMeia39HBMM3aY1qcnY8WD94CIWwXrhosPs2qG26F7DxjlBhiaPx78mtNoWKOSA1Q99xKFdFpFI2NS)EnoAVd8jl8jH4)a0iL8EFs3rxn0NCJufYuTPb3gQKl9jTJ5p(ivfMn1tkJt4aOvJMntZs8pP5No(Jh(PpEqJM738OgnB6pRwtGYp42)WJoQ5rFS5N(y96np44Jpc3VPpHkcMlvxi5IeFsNEd96n2DVDKXsfWsdB4pSU)W9nFEG5ZMiq4a6L0agUfHgKWLcTrUsOQeybS)mUGRNBxdlTqH1jkEuetPTu3RaaUmKDt6SzEpSK5toR3Glo5YbW(MFstv09XBLfh3puBPRo9g2DmrcbofFLpzsNweVjeVwJbILIxkzzm9bG4ebDbl)uMJaxaJgNmVKixOygIqUO3GbiEPIswlXY8bY40fcIv0B4tu0qEQg0c1Rd4Rzd4lGl9gGDJ5rIsTkOxmecuG49nMfLRXaAglPgRpC8jbXuTgppiNbiWfPGT2P6S7(uOA(JSNceaFtURtvtzdJPSHXu2WykRV3HiYubFbnHzU5aASv4IncZWdDof4U2v9cJatc5VLsvSSPNKghNn9Q5CGaeLr0SMWWhaTopaCRtx6okb5w0RrlbpfIqkyOAvmJhzvhrkEO94J7A2b0DIKtaNmqmiJB1T)Le4AKju0RZOrTuo3BhKky37lTrjYG7a)ndYhx)a0sXHiUopCl9CUG1P7Pw(lfHYpn58U9Vk(qnedotbonG)jnHAOKnG5eeQLdjDg3RhGOMfplpoYB0fogQVWWpnSY0v8qWBd1M00eGmJwMu6dqvbdyIieHdoQUrSd5v2hintjOX)Mtq2)iNrd)zLipsieOGaNyJB0mKwAxyKrFdeCbLl2ESlIL3o8ToRfb4qMc1T5IFJ6Bu(d5Amq1JTc(X7wwM7cnVBmpLHOJxZlaC4rxnr4wK9AMe8PIPraRp6sVb9h2duYGSmj4vdxSz(kT2fznPQxkoRYLgY00eubAc0wQKrkMwd5Dc4ANuGmMp5ef)XSP)LuAi68b58DQrRA5BguDjo(ppxHEHuMm)ICgYVTjzuRWFMQtyHSqimbz4QH2y6yqObdpyYsvaKEX3Dz)SPTJPIBZzwp3E9r33zqa51DO6eUiQnvD9L9Rv(RAe8agFdjE)BiOLgVCUno0ePgF6TN3F0Xxr)2prh0vmxeMjxSmnjMJPwkSUvuFF1O(caPtUa5XlxgI2esA(3itGrwbwksAHm1Rw4Y6(BPO7Bxic4IYCuEJf42Q6rVC5m3TwRw20lh2hQ)HhWwjeCpZ(sTA1(tGWtxKnLghB4hD1LvrasNRb5seTguTmvf8cBHfKrUzJ7ozJqHuvrSKYTMLkmTq8(cEAxGt21DV7w5wG1t21rHpK9LSP2)4Zk5YS)XNZMUJvtTdG7CMiBQIbUIW3mr4tovPaypi4TdC1BFqmeyctC3EHSLsnpPp4JtHIuF3YC)iB6NbYj4XokTfhiBA9NCtXsOEmQQa1IbH)E5EU)cMtfrSqZ2jQuqj9mu0ZL3)A77sgHUMg82jHVGfUZgqfJooJhYEnY5ktyWPqUdGoxdL3l2WbyRwYThXJVWs6tzj463)HSP)XTJiwR4NDow7ntQGW43VZ7a39)W7qHj3Xz332y8Hk0)FwUSWd97Vfb(roNG2TYJVnUaVnsG(OrjrDEOOTi7lG3ZB0yCWCwWTfPDwVJAdqOO4gsKuKxBoy8HuEO)XMAtglM)tte9DyUuXdfPATOnqgXdGu2UG(QHXfIY33)h5Ic1qO8ZEUeU6H1GUi(FWMIkAjVV4efwMh72gQYC7dDZjGbs1XdYl0uTK7eSSBc2GHNT67e9Ckeq8vxhtnChaOuIPHkdw2LVtK)ZTOphdE2(r6TAjMD4E6dRDNBrJwvW(BooSwdh8YoPADP3Okxz(yc1RaYw107S(D(Zff1nBUw)H9hoS34jd6DINRXXVvPvsd(yBn8zGKyXYmkbZ265WrivTN7Rp9C3bDPDdmBuBu9FWVM6F5)xO(h3)0Z2c9FoA)AgGM)Aga9VKbyt9J)7OHOX(pZqm0m48gmaDgnCIBSK3Ya4WRQfOAOZlAbUX38WaEvu15Vrq(SV5mLzYOcyYsQLdj4TvC5ywA7DqyMhHOr20lGM)JlaBgXbOHjJ7CgpAogTwpFaG2XqrftvesRUD)38vsw3Gu9rlm0gAkkKb5xh273kFjnxU(2p)j9wFIjZ0NAtP184cecwryBgj1C)pvyDJhNlVgpRn8yDeno0C1P0AfgosOV(kg92wqvh91NZc50RjiE6RBlxbDx1sXeudK9Krrqrq5elDUz9IJqL)Lf78F5RQDLhxeHMpku7YHIEwBJMoS(0HzF5L6YY2Kn0Yx(OXOISZBBbEsrL7bB9vkkyLVQy16V6uoPrLYtFNP7TdYAN69LEZP1NqNUcjexGdnBcsmeVR9bhmp3GuXHw7STzqoB04()1rd9An45V10JsqXHXORkJ(nQI7aMR5(O06)Vc

View File

@@ -1,5 +0,0 @@
aura_env.cooldown = 240
aura_env.depositIterator = {}
aura_env.lastEventTimes = {}
aura_env.throttle = 0.5
aura_env.lastEvent = 0

View File

@@ -1,13 +0,0 @@
-- TICKER_500
function(e)
if aura_env.ActiveSet == nil then
aura_env.ActiveSet = aura_env.Cooldowns[UnitClass("player")]
if aura_env.ActiveSet == nil then
aura_env.ActiveSet = {}
end
end
for _, cooldown in ipairs(aura_env.ActiveSet) do
if aura_env.debug then print(string.format("Calling update on %s", cooldown.name)) end
cooldown:Update()
end
end

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