Initial commit
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Meta
|
53
Autoloot.lua
Normal file
53
Autoloot.lua
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
local addonname, data = ...
|
||||||
|
---@cast data HeimdallData
|
||||||
|
---@cast addonname string
|
||||||
|
|
||||||
|
data.Inviter = {}
|
||||||
|
function data.Inviter.Init()
|
||||||
|
if not data.config.inviter.enabled then
|
||||||
|
print("Heimdall - Inviter disabled")
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local inviterGroupFrame = CreateFrame("Frame")
|
||||||
|
inviterGroupFrame:RegisterEvent("GROUP_ROSTER_UPDATE")
|
||||||
|
inviterGroupFrame:SetScript("OnEvent", function(self, event, ...)
|
||||||
|
if not UnitIsGroupLeader("player") then return end
|
||||||
|
|
||||||
|
if not IsInRaid() then
|
||||||
|
ConvertToRaid()
|
||||||
|
end
|
||||||
|
|
||||||
|
if not IsEveryoneAssistant() then
|
||||||
|
SetEveryoneIsAssistant(true)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
local inviterChannelFrame = CreateFrame("Frame")
|
||||||
|
inviterChannelFrame:RegisterEvent("CHAT_MSG_CHANNEL")
|
||||||
|
inviterChannelFrame:SetScript("OnEvent", function(self, event, msg, sender, ...)
|
||||||
|
local channelId = select(6, ...)
|
||||||
|
local channelname = ""
|
||||||
|
---@type any[]
|
||||||
|
local channels = { GetChannelList() }
|
||||||
|
for i = 1, #channels, 2 do
|
||||||
|
---@type number
|
||||||
|
local id = channels[i]
|
||||||
|
---@type string
|
||||||
|
local name = channels[i + 1]
|
||||||
|
if id == channelId then
|
||||||
|
channelname = name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if channelname ~= data.config.inviter.listeningChannel then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if msg == data.config.inviter.keyword then
|
||||||
|
InviteUnit(sender)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
print("Heimdall - Inviter loaded")
|
||||||
|
end
|
49
Cyka.lua
Normal file
49
Cyka.lua
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
local addonname, data = ...
|
||||||
|
---@cast data CykaData
|
||||||
|
---@cast addonname string
|
||||||
|
|
||||||
|
local function init()
|
||||||
|
---@class CykaData
|
||||||
|
if not CykaPersistentData then CykaPersistentData = {} end
|
||||||
|
if not CykaPersistentData.config then CykaPersistentData.config = {} end
|
||||||
|
|
||||||
|
---@class CykaData
|
||||||
|
---@field config CykaConfig
|
||||||
|
---@field GetOrDefault fun(table: table<any, any>, keys: string[], default: any): any
|
||||||
|
|
||||||
|
--- Config ---
|
||||||
|
---@class CykaConfig
|
||||||
|
|
||||||
|
data.GetOrDefault = function(table, keys, default)
|
||||||
|
local value = default
|
||||||
|
if not table then return value end
|
||||||
|
if not keys then return value end
|
||||||
|
|
||||||
|
local traverse = table
|
||||||
|
for i = 1, #keys do
|
||||||
|
local key = keys[i]
|
||||||
|
if traverse[key] ~= nil then
|
||||||
|
traverse = traverse[key]
|
||||||
|
else
|
||||||
|
break
|
||||||
|
end
|
||||||
|
|
||||||
|
if i == #keys then
|
||||||
|
value = traverse
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return value
|
||||||
|
end
|
||||||
|
|
||||||
|
data.config = {}
|
||||||
|
|
||||||
|
print("Cyka loaded!")
|
||||||
|
end
|
||||||
|
|
||||||
|
local loadedFrame = CreateFrame("Frame")
|
||||||
|
loadedFrame:RegisterEvent("ADDON_LOADED")
|
||||||
|
loadedFrame:SetScript("OnEvent", function(self, event, addonName)
|
||||||
|
if addonName == addonname then
|
||||||
|
init()
|
||||||
|
end
|
||||||
|
end)
|
Reference in New Issue
Block a user