diff --git a/OverwriteFTC.lua b/OverwriteFTC.lua index 703855a..e75e1c4 100644 --- a/OverwriteFTC.lua +++ b/OverwriteFTC.lua @@ -7,6 +7,9 @@ FTC = _G['FTC'] * -------------------------------- * Called by EVENT_COMBAT_EVENT * -------------------------------- + * + * Update for PanicModeCombatAnalyzer: Only added abilityId to function call + * ]]-- function FTC.OnCombatEvent( eventCode , result , isError , abilityName , abilityGraphic , abilityActionSlotType , sourceName , sourceType , targetName , targetType , hitValue , powerType , damageType , log , sourceUnitId , targetUnitId , abilityId ) @@ -24,6 +27,9 @@ end * -------------------------------- * Called by FTC:OnCombatEvent() * -------------------------------- + * + * Update for PanicModeCombatAnalyzer: Only added abilityId to damage object + * ]]-- function FTC.Damage:New( result , abilityName , abilityGraphic , abilityActionSlotType , sourceName , sourceType , targetName , targetType , hitValue , powerType , damageType, abilityId ) diff --git a/PanicModeCombatAnalyzer.lua b/PanicModeCombatAnalyzer.lua index ff5ef8e..0484d56 100644 --- a/PanicModeCombatAnalyzer.lua +++ b/PanicModeCombatAnalyzer.lua @@ -2,7 +2,7 @@ PanicModeCombatAnalyzer = PanicModeCombatAnalyzer or {} PanicModeCombatAnalyzer.name = 'PanicModeCombatAnalyzer' -PanicModeCombatAnalyzer.version = '1.0.3' +PanicModeCombatAnalyzer.version = '1.0.4' PanicModeCombatAnalyzer.versionDB = 2 PanicModeCombatAnalyzer.loaded = false PanicModeCombatAnalyzer.author = 'silentgecko, deevilius' @@ -35,37 +35,35 @@ function PanicModeCombatAnalyzer.Initialize(_, addonName) self.savedVariables = ZO_SavedVars:New(self.savedVarsName, self.versionDB, nil, self.variables) - -- reset previously saved data --- if self.savedVariables.fights ~= nil then --- self.savedVariables.fights = nil --- end --- if self.savedVariables.groups ~= nil then --- self.savedVariables.groups = nil --- end --- if self.savedVariables.trials ~= nil then --- self.savedVariables.trials = nil --- end - - -- todo cleanup old data - --save current server and language self.savedVariables.metadata = { server = GetWorldName(), language = GetCVar('language.2') } - EVENT_MANAGER:RegisterForEvent(self.name, EVENT_PLAYER_COMBAT_STATE, self.OnPlayerCombatState) + self.cleanUp() + CALLBACK_MANAGER:RegisterCallback("FTC_NewDamage", self.addDamage) end -function PanicModeCombatAnalyzer.OnPlayerCombatState(_, inCombat) - PanicModeCombatAnalyzer.tempVars.inFight = inCombat +-- cleanup +function PanicModeCombatAnalyzer.cleanUp() + local self = PanicModeCombatAnalyzer + local savedVars = self.savedVariables.data + local currentTs = GetTimeStamp() + local limitTs = currentTs - 604800 -- one week in seconds + + for ts, data in pairs(savedVars) do + if ts <= limitTs then + self.savedVariables.data[ts] = nil + end + end end +-- get current trial function PanicModeCombatAnalyzer.getTrial() local self = PanicModeCombatAnalyzer local currentRaid = GetCurrentParticipatingRaidId() or 0 - return currentRaid end @@ -119,6 +117,7 @@ function PanicModeCombatAnalyzer.addDamage(damage) end end +-- get group function PanicModeCombatAnalyzer.getGroup() local self = PanicModeCombatAnalyzer local groupSize = GetGroupSize() @@ -144,24 +143,5 @@ function PanicModeCombatAnalyzer.debug(message, data) d(message, data) end --- deep copy of table -function PanicModeCombatAnalyzer.copyTableAndClean(orig) - local self = PanicModeCombatAnalyzer - local orig_type = type(orig) - local copy - if orig_type == 'table' then - copy = {} - for orig_key, orig_value in next, orig, nil do - if orig_key ~= 'Total' and orig_key ~= 'icon' then - copy[self.copyTableAndClean(orig_key)] = self.copyTableAndClean(orig_value) - end - end - setmetatable(copy, self.copyTableAndClean(getmetatable(orig))) - else -- number, string, boolean, etc - copy = orig - end - return copy -end - ---------Events------- EVENT_MANAGER:RegisterForEvent(PanicModeCombatAnalyzer.name, EVENT_ADD_ON_LOADED, PanicModeCombatAnalyzer.Initialize) diff --git a/PanicModeCombatAnalyzer.txt b/PanicModeCombatAnalyzer.txt index f1e1c33..9d526d1 100644 --- a/PanicModeCombatAnalyzer.txt +++ b/PanicModeCombatAnalyzer.txt @@ -1,7 +1,7 @@ ## Title: |cEFEBBEPanic Mode Combat Analyzer|r ## Description: Saves your dps during fight, based on FTC DPS Meter. ## Author: |c009ad6silentgecko|r, deevilius -## Version: 1.0.3 +## Version: 1.0.4 ## APIVersion: 100013 ## SavedVariables: PMCAVars ## OptionalDependsOn: FoundryTacticalCombat