diff --git a/FreshShit/CLEUSaver/event.lua b/FreshShit/CLEUSaver/event.lua
index cc47a47..e76d162 100644
--- a/FreshShit/CLEUSaver/event.lua
+++ b/FreshShit/CLEUSaver/event.lua
@@ -1,13 +1,7 @@
--- COMBAT_LOG_EVENT_UNFILTERED
---@param e string
---@param ... any
-function(allstates, e, ...)
- local spellId, err = CLEUParser.GetSpellId(...)
- if err then return end
- local spellname, err = CLEUParser.GetSpellName(...)
- if err then return end
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return end
-
- aura_env.LogSpell(spellname, spellId, subevent, ...)
+function(e, ...)
+ if e ~= "COMBAT_LOG_EVENT_UNFILTERED" then return end
+ aura_env.LogSpell(...)
end
diff --git a/FreshShit/CLEUSaver/init.lua b/FreshShit/CLEUSaver/init.lua
index 42ce27d..623b307 100644
--- a/FreshShit/CLEUSaver/init.lua
+++ b/FreshShit/CLEUSaver/init.lua
@@ -1,1041 +1,3 @@
-CLEUEventInfo = {
- ["GENERIC"] = {
- ["timestamp"] = 1,
- ["subevent"] = 2,
- ["hideCaster"] = 3,
- ["sourceGUID"] = 4,
- ["sourceName"] = 5,
- ["sourceFlags"] = 6,
- ["sourceRaidFlags"] = 7,
- ["destGUID"] = 8,
- ["destName"] = 9,
- ["destFlags"] = 10,
- ["destRaidFlags"] = 11,
- },
- ["GENERIC_SPELL"] = {
- ["spellId"] = 12,
- ["spellName"] = 13,
- ["spellSchool"] = 14,
- },
- ["GENERIC_DAMAGE"] = {
- ["amount"] = 15,
- ["overkill"] = 16,
- ["school"] = 17,
- ["resisted"] = 18,
- ["blocked"] = 19,
- ["absorbed"] = 20,
- ["critical"] = 21,
- ["glancing"] = 22,
- ["crushing"] = 23,
- ["isOffHand"] = 24,
- },
- ["GENERIC_MISSED"] = {
- ["missType"] = 15,
- ["isOffHand"] = 16,
- ["amountMissed"] = 17,
- ["critical"] = 18,
- },
- ["GENERIC_HEAL"] = {
- ["amount"] = 15,
- ["overhealing"] = 16,
- ["absorbed"] = 17,
- ["critical"] = 18,
- },
- ["GENERIC_HEAL_ABSORBED"] = {
- ["extraGUID"] = 15,
- ["extraName"] = 16,
- ["extraFlags"] = 17,
- ["extraRaidFlags"] = 18,
- ["extraSpellID"] = 19,
- ["extraSpellName"] = 20,
- ["extraSchool"] = 21,
- ["absorbedAmount"] = 22,
- ["totalAmount"] = 23,
- },
- ["GENERIC_ENERGIZE"] = {
- ["amount"] = 15,
- ["overEnergize"] = 16,
- ["powerType"] = 17,
- },
- ["GENERIC_DRAIN"] = {
- ["amount"] = 15,
- ["powerType"] = 16,
- ["extraAmount"] = 17,
- },
- ["GENERIC_LEECH"] = {
- ["amount"] = 15,
- ["powerType"] = 16,
- ["extraAmount"] = 17,
- },
- ["GENERIC_INTERRUPT"] = {
- ["extraSpellId"] = 15,
- ["extraSpellName"] = 16,
- ["extraSchool"] = 17,
- },
- ["GENERIC_DISPEL"] = {
- ["extraSpellId"] = 15,
- ["extraSpellName"] = 16,
- ["extraSchool"] = 17,
- ["auraType"] = 18,
- },
- ["GENERIC_DISPEL_FAILED"] = {
- ["extraSpellId"] = 15,
- ["extraSpellName"] = 16,
- ["extraSchool"] = 17,
- },
- ["GENERIC_STOLEN"] = {
- ["extraSpellId"] = 15,
- ["extraSpellName"] = 16,
- ["extraSchool"] = 17,
- ["auraType"] = 18,
- },
- ["GENERIC_EXTRA_ATTACKS"] = {
- ["amount"] = 15,
- },
- ["GENERIC_AURA_APPLIED"] = {
- ["auraType"] = 15,
- ["amount"] = 16,
- },
- ["GENERIC_AURA_REMOVED"] = {
- ["auraType"] = 15,
- ["amount"] = 16,
- },
- ["GENERIC_AURA_APPLIED_DOSE"] = {
- ["auraType"] = 15,
- ["amount"] = 16,
- },
- ["GENERIC_AURA_REMOVED_DOSE"] = {
- ["auraType"] = 15,
- ["amount"] = 16,
- },
- ["GENERIC_AURA_REFRESH"] = {
- ["auraType"] = 15,
- },
- ["GENERIC_AURA_BROKEN"] = {
- ["auraType"] = 15,
- },
- ["GENERIC_AURA_BROKEN_SPELL"] = {
- ["extraSpellId"] = 15,
- ["extraSpellName"] = 16,
- ["extraSchool"] = 17,
- ["auraType"] = 18,
- },
- ["GENERIC_CAST_START"] = {
- },
- ["GENERIC_CAST_SUCCESS"] = {
- },
- ["GENERIC_CAST_FAILED"] = {
- },
-}
-
-CLEUEventInfo["SWING_DAMAGE"] = CLEUEventInfo["GENERIC_DAMAGE"]
-CLEUEventInfo["SWING_MISSED"] = CLEUEventInfo["GENERIC_MISSED"]
-CLEUEventInfo["SWING_HEAL"] = CLEUEventInfo["GENERIC_HEAL"]
-CLEUEventInfo["SWING_HEAL_ABSORBED"] = CLEUEventInfo["GENERIC_HEAL_ABSORBED"]
-CLEUEventInfo["SWING_ENERGIZE"] = CLEUEventInfo["GENERIC_ENERGIZE"]
-CLEUEventInfo["SWING_DRAIN"] = CLEUEventInfo["GENERIC_DRAIN"]
-CLEUEventInfo["SWING_LEECH"] = CLEUEventInfo["GENERIC_LEECH"]
-CLEUEventInfo["SWING_INTERRUPT"] = CLEUEventInfo["GENERIC_INTERRUPT"]
-CLEUEventInfo["SWING_DISPEL"] = CLEUEventInfo["GENERIC_DISPEL"]
-CLEUEventInfo["SWING_DISPEL_FAILED"] = CLEUEventInfo["GENERIC_DISPEL_FAILED"]
-CLEUEventInfo["SWING_STOLEN"] = CLEUEventInfo["GENERIC_STOLEN"]
-CLEUEventInfo["SWING_EXTRA_ATTACKS"] = CLEUEventInfo["GENERIC_EXTRA_ATTACKS"]
-CLEUEventInfo["SWING_AURA_APPLIED"] = CLEUEventInfo["GENERIC_AURA_APPLIED"]
-CLEUEventInfo["SWING_AURA_REMOVED"] = CLEUEventInfo["GENERIC_AURA_REMOVED"]
-CLEUEventInfo["SWING_AURA_APPLIED_DOSE"] = CLEUEventInfo["GENERIC_AURA_APPLIED_DOSE"]
-CLEUEventInfo["SWING_AURA_REMOVED_DOSE"] = CLEUEventInfo["GENERIC_AURA_REMOVED_DOSE"]
-CLEUEventInfo["SWING_AURA_REFRESH"] = CLEUEventInfo["GENERIC_AURA_REFRESH"]
-CLEUEventInfo["SWING_AURA_BROKEN"] = CLEUEventInfo["GENERIC_AURA_BROKEN"]
-CLEUEventInfo["SWING_AURA_BROKEN_SPELL"] = CLEUEventInfo["GENERIC_AURA_BROKEN_SPELL"]
-CLEUEventInfo["SWING_CAST_START"] = CLEUEventInfo["GENERIC_CAST_START"]
-CLEUEventInfo["SWING_CAST_SUCCESS"] = CLEUEventInfo["GENERIC_CAST_SUCCESS"]
-CLEUEventInfo["SWING_CAST_FAILED"] = CLEUEventInfo["GENERIC_CAST_FAILED"]
-
-CLEUEventInfo["RANGE_DAMAGE"] = CLEUEventInfo["GENERIC_DAMAGE"]
-CLEUEventInfo["RANGE_MISSED"] = CLEUEventInfo["GENERIC_MISSED"]
-CLEUEventInfo["RANGE_HEAL"] = CLEUEventInfo["GENERIC_HEAL"]
-CLEUEventInfo["RANGE_HEAL_ABSORBED"] = CLEUEventInfo["GENERIC_HEAL_ABSORBED"]
-CLEUEventInfo["RANGE_ENERGIZE"] = CLEUEventInfo["GENERIC_ENERGIZE"]
-CLEUEventInfo["RANGE_DRAIN"] = CLEUEventInfo["GENERIC_DRAIN"]
-CLEUEventInfo["RANGE_LEECH"] = CLEUEventInfo["GENERIC_LEECH"]
-CLEUEventInfo["RANGE_INTERRUPT"] = CLEUEventInfo["GENERIC_INTERRUPT"]
-CLEUEventInfo["RANGE_DISPEL"] = CLEUEventInfo["GENERIC_DISPEL"]
-CLEUEventInfo["RANGE_DISPEL_FAILED"] = CLEUEventInfo["GENERIC_DISPEL_FAILED"]
-CLEUEventInfo["RANGE_STOLEN"] = CLEUEventInfo["GENERIC_STOLEN"]
-CLEUEventInfo["RANGE_EXTRA_ATTACKS"] = CLEUEventInfo["GENERIC_EXTRA_ATTACKS"]
-CLEUEventInfo["RANGE_AURA_APPLIED"] = CLEUEventInfo["GENERIC_AURA_APPLIED"]
-CLEUEventInfo["RANGE_AURA_REMOVED"] = CLEUEventInfo["GENERIC_AURA_REMOVED"]
-CLEUEventInfo["RANGE_AURA_APPLIED_DOSE"] = CLEUEventInfo["GENERIC_AURA_APPLIED_DOSE"]
-CLEUEventInfo["RANGE_AURA_REMOVED_DOSE"] = CLEUEventInfo["GENERIC_AURA_REMOVED_DOSE"]
-CLEUEventInfo["RANGE_AURA_REFRESH"] = CLEUEventInfo["GENERIC_AURA_REFRESH"]
-CLEUEventInfo["RANGE_AURA_BROKEN"] = CLEUEventInfo["GENERIC_AURA_BROKEN"]
-CLEUEventInfo["RANGE_AURA_BROKEN_SPELL"] = CLEUEventInfo["GENERIC_AURA_BROKEN_SPELL"]
-CLEUEventInfo["RANGE_CAST_START"] = CLEUEventInfo["GENERIC_CAST_START"]
-CLEUEventInfo["RANGE_CAST_SUCCESS"] = CLEUEventInfo["GENERIC_CAST_SUCCESS"]
-CLEUEventInfo["RANGE_CAST_FAILED"] = CLEUEventInfo["GENERIC_CAST_FAILED"]
-
-CLEUEventInfo["SPELL_DAMAGE"] = CLEUEventInfo["GENERIC_DAMAGE"]
-CLEUEventInfo["SPELL_MISSED"] = CLEUEventInfo["GENERIC_MISSED"]
-CLEUEventInfo["SPELL_HEAL"] = CLEUEventInfo["GENERIC_HEAL"]
-CLEUEventInfo["SPELL_HEAL_ABSORBED"] = CLEUEventInfo["GENERIC_HEAL_ABSORBED"]
-CLEUEventInfo["SPELL_ENERGIZE"] = CLEUEventInfo["GENERIC_ENERGIZE"]
-CLEUEventInfo["SPELL_DRAIN"] = CLEUEventInfo["GENERIC_DRAIN"]
-CLEUEventInfo["SPELL_LEECH"] = CLEUEventInfo["GENERIC_LEECH"]
-CLEUEventInfo["SPELL_INTERRUPT"] = CLEUEventInfo["GENERIC_INTERRUPT"]
-CLEUEventInfo["SPELL_DISPEL"] = CLEUEventInfo["GENERIC_DISPEL"]
-CLEUEventInfo["SPELL_DISPEL_FAILED"] = CLEUEventInfo["GENERIC_DISPEL_FAILED"]
-CLEUEventInfo["SPELL_STOLEN"] = CLEUEventInfo["GENERIC_STOLEN"]
-CLEUEventInfo["SPELL_EXTRA_ATTACKS"] = CLEUEventInfo["GENERIC_EXTRA_ATTACKS"]
-CLEUEventInfo["SPELL_AURA_APPLIED"] = CLEUEventInfo["GENERIC_AURA_APPLIED"]
-CLEUEventInfo["SPELL_AURA_REMOVED"] = CLEUEventInfo["GENERIC_AURA_REMOVED"]
-CLEUEventInfo["SPELL_AURA_APPLIED_DOSE"] = CLEUEventInfo["GENERIC_AURA_APPLIED_DOSE"]
-CLEUEventInfo["SPELL_AURA_REMOVED_DOSE"] = CLEUEventInfo["GENERIC_AURA_REMOVED_DOSE"]
-CLEUEventInfo["SPELL_AURA_REFRESH"] = CLEUEventInfo["GENERIC_AURA_REFRESH"]
-CLEUEventInfo["SPELL_AURA_BROKEN"] = CLEUEventInfo["GENERIC_AURA_BROKEN"]
-CLEUEventInfo["SPELL_AURA_BROKEN_SPELL"] = CLEUEventInfo["GENERIC_AURA_BROKEN_SPELL"]
-CLEUEventInfo["SPELL_CAST_START"] = CLEUEventInfo["GENERIC_CAST_START"]
-CLEUEventInfo["SPELL_CAST_SUCCESS"] = CLEUEventInfo["GENERIC_CAST_SUCCESS"]
-CLEUEventInfo["SPELL_CAST_FAILED"] = CLEUEventInfo["GENERIC_CAST_FAILED"]
-
-CLEUEventInfo["SPELL_PERIODIC_DAMAGE"] = CLEUEventInfo["GENERIC_DAMAGE"]
-CLEUEventInfo["SPELL_PERIODIC_MISSED"] = CLEUEventInfo["GENERIC_MISSED"]
-CLEUEventInfo["SPELL_PERIODIC_HEAL"] = CLEUEventInfo["GENERIC_HEAL"]
-CLEUEventInfo["SPELL_PERIODIC_HEAL_ABSORBED"] = CLEUEventInfo["GENERIC_HEAL_ABSORBED"]
-CLEUEventInfo["SPELL_PERIODIC_ENERGIZE"] = CLEUEventInfo["GENERIC_ENERGIZE"]
-CLEUEventInfo["SPELL_PERIODIC_DRAIN"] = CLEUEventInfo["GENERIC_DRAIN"]
-CLEUEventInfo["SPELL_PERIODIC_LEECH"] = CLEUEventInfo["GENERIC_LEECH"]
-CLEUEventInfo["SPELL_PERIODIC_INTERRUPT"] = CLEUEventInfo["GENERIC_INTERRUPT"]
-CLEUEventInfo["SPELL_PERIODIC_DISPEL"] = CLEUEventInfo["GENERIC_DISPEL"]
-CLEUEventInfo["SPELL_PERIODIC_DISPEL_FAILED"] = CLEUEventInfo["GENERIC_DISPEL_FAILED"]
-CLEUEventInfo["SPELL_PERIODIC_STOLEN"] = CLEUEventInfo["GENERIC_STOLEN"]
-CLEUEventInfo["SPELL_PERIODIC_EXTRA_ATTACKS"] = CLEUEventInfo["GENERIC_EXTRA_ATTACKS"]
-CLEUEventInfo["SPELL_PERIODIC_AURA_APPLIED"] = CLEUEventInfo["GENERIC_AURA_APPLIED"]
-CLEUEventInfo["SPELL_PERIODIC_AURA_REMOVED"] = CLEUEventInfo["GENERIC_AURA_REMOVED"]
-CLEUEventInfo["SPELL_PERIODIC_AURA_APPLIED_DOSE"] = CLEUEventInfo["GENERIC_AURA_APPLIED_DOSE"]
-CLEUEventInfo["SPELL_PERIODIC_AURA_REMOVED_DOSE"] = CLEUEventInfo["GENERIC_AURA_REMOVED_DOSE"]
-CLEUEventInfo["SPELL_PERIODIC_AURA_REFRESH"] = CLEUEventInfo["GENERIC_AURA_REFRESH"]
-CLEUEventInfo["SPELL_PERIODIC_AURA_BROKEN"] = CLEUEventInfo["GENERIC_AURA_BROKEN"]
-CLEUEventInfo["SPELL_PERIODIC_AURA_BROKEN_SPELL"] = CLEUEventInfo["GENERIC_AURA_BROKEN_SPELL"]
-CLEUEventInfo["SPELL_PERIODIC_CAST_START"] = CLEUEventInfo["GENERIC_CAST_START"]
-CLEUEventInfo["SPELL_PERIODIC_CAST_SUCCESS"] = CLEUEventInfo["GENERIC_CAST_SUCCESS"]
-CLEUEventInfo["SPELL_PERIODIC_CAST_FAILED"] = CLEUEventInfo["GENERIC_CAST_FAILED"]
-
----@class CLEUParser
-CLEUParser = {
- ---@param ... any
- ---@return number, nil|string
- GetTimestamp = function(...)
- local val = select(CLEUEventInfo["GENERIC"]["timestamp"], ...)
- if val == nil then return 0, "Timestamp is nil or missing" end
- if type(val) ~= "number" then return 0, "Timestamp is not a number" end
- return val, nil
- end,
- ---@param ... any
- ---@return string, nil|string
- GetSubevent = function(...)
- local val = select(CLEUEventInfo["GENERIC"]["subevent"], ...)
- if val == nil then return "", "Subevent is nil or missing" end
- if type(val) ~= "string" then return "", "Subevent is not a string" end
- return val, nil
- end,
- ---@param ... any
- ---@return boolean, nil|string
- GetHideCaster = function(...)
- local val = select(CLEUEventInfo["GENERIC"]["hideCaster"], ...)
- if val == nil then return false, "HideCaster is nil or missing" end
- if type(val) ~= "boolean" then return false, "HideCaster is not a boolean" end
- return val, nil
- end,
- ---@param ... any
- ---@return string, nil|string
- GetSourceGUID = function(...)
- local val = select(CLEUEventInfo["GENERIC"]["sourceGUID"], ...)
- if val == nil then return "", "SourceGUID is nil or missing" end
- if type(val) ~= "string" then return "", "SourceGUID is not a string" end
- return val, nil
- end,
- ---@param ... any
- ---@return string, nil|string
- GetSourceName = function(...)
- local val = select(CLEUEventInfo["GENERIC"]["sourceName"], ...)
- if val == nil then return "", "SourceName is nil or missing" end
- if type(val) ~= "string" then return "", "SourceName is not a string" end
- return val, nil
- end,
- ---@param ... any
- ---@return number, nil|string
- GetSourceFlags = function(...)
- local val = select(CLEUEventInfo["GENERIC"]["sourceFlags"], ...)
- if val == nil then return 0, "SourceFlags is nil or missing" end
- if type(val) ~= "number" then return 0, "SourceFlags is not a number" end
- return val, nil
- end,
- ---@param ... any
- ---@return number, nil|string
- GetSourceRaidFlags = function(...)
- local val = select(CLEUEventInfo["GENERIC"]["sourceRaidFlags"], ...)
- if val == nil then return 0, "SourceRaidFlags is nil or missing" end
- if type(val) ~= "number" then return 0, "SourceRaidFlags is not a number" end
- return val, nil
- end,
- ---@param ... any
- ---@return string, nil|string
- GetDestGUID = function(...)
- local val = select(CLEUEventInfo["GENERIC"]["destGUID"], ...)
- if val == nil then return "", "DestGUID is nil or missing" end
- if type(val) ~= "string" then return "", "DestGUID is not a string" end
- return val, nil
- end,
- ---@param ... any
- ---@return string, nil|string
- GetDestName = function(...)
- local val = select(CLEUEventInfo["GENERIC"]["destName"], ...)
- if val == nil then return "", "DestName is nil or missing" end
- if type(val) ~= "string" then return "", "DestName is not a string" end
- return val, nil
- end,
- ---@param ... any
- ---@return number, nil|string
- GetDestFlags = function(...)
- local val = select(CLEUEventInfo["GENERIC"]["destFlags"], ...)
- if val == nil then return 0, "DestFlags is nil or missing" end
- if type(val) ~= "number" then return 0, "DestFlags is not a number" end
- return val, nil
- end,
- ---@param ... any
- ---@return number, nil|string
- GetDestRaidFlags = function(...)
- local val = select(CLEUEventInfo["GENERIC"]["destRaidFlags"], ...)
- if val == nil then return 0, "DestRaidFlags is nil or missing" end
- if type(val) ~= "number" then return 0, "DestRaidFlags is not a number" end
- return val, nil
- end,
-
-
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---@param ... any
- ---@return number, nil|string
- GetSpellId = function(...)
- local val = select(CLEUEventInfo["GENERIC_SPELL"]["spellId"], ...)
- if val == nil then return 0, "SpellId is nil or missing" end
- if type(val) ~= "number" then return 0, "SpellId is not a number" end
- return val, nil
- end,
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---@param ... any
- ---@return string, nil|string
- GetSpellName = function(...)
- local val = select(CLEUEventInfo["GENERIC_SPELL"]["spellName"], ...)
- if val == nil then return "", "SpellName is nil or missing" end
- if type(val) ~= "string" then return "", "SpellName is not a string" end
- return val, nil
- end,
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---@param ... any
- ---@return number, nil|string
- GetSpellSchool = function(...)
- local val = select(CLEUEventInfo["GENERIC_SPELL"]["spellSchool"], ...)
- if val == nil then return 0, "SpellSchool is nil or missing" end
- if type(val) ~= "number" then return 0, "SpellSchool is not a number" end
- return val, nil
- end,
-
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_DAMAGE|
- --- |_HEAL|
- --- |_ENERGIZE|
- --- |_DRAIN|
- --- |_LEECH|
- --- |_EXTRA_ATTACKS|
- --- |_AURA_APPLIED|
- --- |_AURA_REMOVED|
- --- |_AURA_APPLIED_DOSE|
- --- |_AURA_REMOVED_DOSE|
- ---@param ... any
- ---@return number, nil|string
- GetAmount = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["amount"], ...)
- if val == nil then return 0, "Amount is nil or missing" end
- if type(val) ~= "number" then return 0, "Amount is not a number" end
- return val, nil
- end,
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_DAMAGE|
- ---@param ... any
- ---@return number, nil|string
- GetOverkill = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["overkill"], ...)
- if val == nil then return 0, "Overkill is nil or missing" end
- if type(val) ~= "number" then return 0, "Overkill is not a number" end
- return val, nil
- end,
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_DAMAGE|
- ---@param ... any
- ---@return number, nil|string
- GetSchool = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["school"], ...)
- if val == nil then return 0, "School is nil or missing" end
- if type(val) ~= "number" then return 0, "School is not a number" end
- return val, nil
- end,
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_DAMAGE|
- ---
- --- Apparently this is allowed to be nil?
- ---@param ... any
- ---@return boolean, nil|string
- GetResisted = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return false, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["resisted"], ...)
- if val == nil then return false, "Resisted is nil or missing" end
- if type(val) ~= "boolean" then return false, "Resisted is not a boolean" end
- return val, nil
- end,
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_DAMAGE|
- ---
- --- Apparently this is allowed to be nil?
- ---@param ... any
- ---@return boolean, nil|string
- GetBlocked = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return false, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["blocked"], ...)
- if val == nil then return false, "Blocked is nil or missing" end
- if type(val) ~= "boolean" then return false, "Blocked is not a boolean" end
- return val, nil
- end,
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_DAMAGE|
- --- |_HEAL|
- ---
- --- Apparently this is allowed to be nil?
- ---@param ... any
- ---@return boolean, nil|string
- GetAbsorbed = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return false, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["absorbed"], ...)
- if val == nil then return false, "Absorbed is nil or missing" end
- if type(val) ~= "boolean" then return false, "Absorbed is not a boolean" end
- return val, nil
- end,
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_DAMAGE|
- --- |_MISSED|
- --- |_HEAL|
- ---@param ... any
- ---@return boolean, nil|string
- GetCritical = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return false, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["critical"], ...)
- if val == nil then return false, "Critical is nil or missing" end
- if type(val) ~= "boolean" then return false, "Critical is not a boolean" end
- return val, nil
- end,
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_DAMAGE|
- ---@param ... any
- ---@return boolean, nil|string
- GetGlancing = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return false, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["glancing"], ...)
- if val == nil then return false, "Glancing is nil or missing" end
- if type(val) ~= "boolean" then return false, "Glancing is not a boolean" end
- return val, nil
- end,
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_DAMAGE|
- ---@param ... any
- ---@return boolean, nil|string
- GetCrushing = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return false, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["crushing"], ...)
- if val == nil then return false, "Crushing is nil or missing" end
- if type(val) ~= "boolean" then return false, "Crushing is not a boolean" end
- return val, nil
- end,
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_DAMAGE|
- --- |_MISSED|
- ---@param ... any
- ---@return boolean, nil|string
- GetIsOffHand = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return false, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["isOffHand"], ...)
- if val == nil then return false, "IsOffHand is nil or missing" end
- if type(val) ~= "boolean" then return false, "IsOffHand is not a boolean" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_MISSED|
- ---
- --- return type is unconfirmed!
- ---@param ... any
- ---@return string, nil|string
- GetMissType = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return "", string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["missType"], ...)
- if val == nil then return "", "MissType is nil or missing" end
- if type(val) ~= "string" then return "", "MissType is not a string" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_MISSED|
- ---@param ... any
- ---@return number, nil|string
- ---
- --- return type is unconfirmed!
- GetAmountMissed = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["amountMissed"], ...)
- if val == nil then return 0, "AmountMissed is nil or missing" end
- if type(val) ~= "number" then return 0, "AmountMissed is not a number" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_HEAL|
- ---
- --- return type is unconfirmed!
- ---@param ... any
- ---@return number, nil|string
- GetOverhealing = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["overhealing"], ...)
- if val == nil then return 0, "Overhealing is nil or missing" end
- if type(val) ~= "number" then return 0, "Overhealing is not a number" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_HEAL_ABSORBED|
- ---@param ... any
- ---@return string, nil|string
- GetExtraGUID = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return "", string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["extraGUID"], ...)
- if val == nil then return "", "ExtraGUID is nil or missing" end
- if type(val) ~= "string" then return "", "ExtraGUID is not a string" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_HEAL_ABSORBED|
- ---@param ... any
- ---@return string, nil|string
- GetExtraName = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return "", string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["extraName"], ...)
- if val == nil then return "", "ExtraName is nil or missing" end
- if type(val) ~= "string" then return "", "ExtraName is not a string" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_HEAL_ABSORBED|
- ---@param ... any
- ---@return number, nil|string
- GetExtraFlags = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["extraFlags"], ...)
- if val == nil then return 0, "ExtraFlags is nil or missing" end
- if type(val) ~= "number" then return 0, "ExtraFlags is not a number" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_HEAL_ABSORBED|
- ---@param ... any
- ---@return number, nil|string
- GetExtraRaidFlags = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["extraRaidFlags"], ...)
- if val == nil then return 0, "ExtraRaidFlags is nil or missing" end
- if type(val) ~= "number" then return 0, "ExtraRaidFlags is not a number" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_HEAL_ABSORBED|
- ---
- --- WARNING! Different from "GetExtraSpellId" (capital ID!)
- --- This is the doing of Blizzard, not me.
- ---@see CLEUParser.GetExtraSpellId
- ---@param ... any
- ---@return number, nil|string
- GetExtraSpellID = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["extraSpellID"], ...)
- if val == nil then return 0, "ExtraSpellID is nil or missing" end
- if type(val) ~= "number" then return 0, "ExtraSpellID is not a number" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_HEAL_ABSORBED|
- --- |_INTERRUPT|
- --- |_DISPEL|
- --- |_DISPEL_FAILED|
- --- |_STOLEN|
- --- |_AURA_BROKEN_SPELL|
- ---@param ... any
- ---@return string, nil|string
- GetExtraSpellName = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return "", string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["extraSpellName"], ...)
- if val == nil then return "", "extraSpellName is nil or missing" end
- if type(val) ~= "string" then return "", "extraSpellName is not a string" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_HEAL_ABSORBED|
- --- |_INTERRUPT|
- --- |_DISPEL|
- --- |_DISPEL_FAILED|
- --- |_STOLEN|
- --- |_AURA_BROKEN_SPELL|
- ---@param ... any
- ---@return number, nil|string
- GetExtraSchool = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["extraSchool"], ...)
- if val == nil then return 0, "ExtraSchool is nil or missing" end
- if type(val) ~= "number" then return 0, "ExtraSchool is not a number" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_HEAL_ABSORBED|
- ---@param ... any
- ---@return number, nil|string
- GetAbsorbedAmount = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["absorbedAmount"], ...)
- if val == nil then return 0, "AbsorbedAmount is nil or missing" end
- if type(val) ~= "number" then return 0, "AbsorbedAmount is not a number" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_ENERGIZE|
- ---@param ... any
- ---@return number, nil|string
- GetOverEnergize = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["overEnergize"], ...)
- if val == nil then return 0, "OverEnergize is nil or missing" end
- if type(val) ~= "number" then return 0, "OverEnergize is not a number" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_ENERGIZE|
- --- |_DRAIN|
- --- |_LEECH|
- ---
- --- return type is unconfirmed!
- ---@param ... any
- ---@return number, nil|string
- GetPowerType = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["powerType"], ...)
- if val == nil then return 0, "PowerType is nil or missing" end
- if type(val) ~= "number" then return 0, "PowerType is not a number" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_DRAIN|
- --- |_LEECH|
- ---@param ... any
- ---@return number, nil|string
- GetExtraAmount = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["extraAmount"], ...)
- if val == nil then return 0, "ExtraAmount is nil or missing" end
- if type(val) ~= "number" then return 0, "ExtraAmount is not a number" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_INTERRUPT|
- --- |_DISPEL|
- --- |_DISPEL_FAILED|
- --- |_STOLEN|
- --- |_AURA_BROKEN_SPELL|
- ---
- --- WARNING! Different from "GetExtraSpellID" (capital ID!)
- --- This is the doing of Blizzard, not me.
- ---@see CLEUParser.GetExtraSpellID
- ---@param ... any
- ---@return number, nil|string
- GetExtraSpellId = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["extraSpellId"], ...)
- if val == nil then return 0, "ExtraSpellId is nil or missing" end
- if type(val) ~= "number" then return 0, "ExtraSpellId is not a number" end
- return val, nil
- end,
-
- --- Specific to subevents prefixed by:
- --- |Prefix|
- --- |-----|
- --- |RANGE|
- --- |SWING|
- --- |SPELL|
- --- |SPELL_PERIODIC|
- --- |SPELL_BUILDING|
- ---
- --- And suffixed by:
- --- |Suffix|
- --- |------|
- --- |_DISPEL|
- --- |_STOLEN|
- --- |_AURA_APPLIED|
- --- |_AURA_REMOVED|
- --- |_AURA_APPLIED_DOSE|
- --- |_AURA_REMOVED_DOSE|
- --- |_AURA_REFRESH|
- --- |_AURA_BROKEN|
- --- |_AURA_BROKEN_SPELL|
- ---@param ... any
- ---@return number, nil|string
- GetExtraAuraType = function(...)
- local subevent, err = CLEUParser.GetSubevent(...)
- if err then return 0, string.format("Failed getting subevent due to: %s", err) end
- local val = select(CLEUEventInfo[subevent]["auraType"], ...)
- if val == nil then return 0, "AuraType is nil or missing" end
- if type(val) ~= "number" then return 0, "AuraType is not a number" end
- return val, nil
- end,
-}
-
local function varargToString(...)
local output = {}
for i = 1, select("#", ...) do
@@ -1046,12 +8,13 @@ end
if not WeakAurasSaved then WeakAurasSaved = {} end
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
-if not WeakAurasSaved.Cyka.CLEUExample then WeakAurasSaved.Cyka.CLEUExample = {} end
---/run WeakAurasSaved.Cyka.CLEUExample = {}
+if not WeakAurasSaved.Cyka.CombatLog then WeakAurasSaved.Cyka.CombatLog = {} end
+--/run WeakAurasSaved.Cyka.CombatLog = {}
---@param spellName string
---@param spellId number
---@param subevent string
---@param ... any
-aura_env.LogSpell = function(spellName, spellId, subevent, ...)
- table.insert(WeakAurasSaved.Cyka.CLEUExample, varargToString(spellName, spellId, subevent, ...))
+aura_env.LogSpell = function(subevent, ...)
+ table.insert(WeakAurasSaved.Cyka.CombatLog, varargToString(subevent, ...))
end
+/dump WeakAurasSaved.Cyka.CombatLog
\ No newline at end of file