224 lines
3.3 KiB
Lua
224 lines
3.3 KiB
Lua
---@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"]
|