version 1.0.6

René Welbers [01-31-16 - 18:07]
version 1.0.6
finally got filtering working
Filename
PanicModeCombatAnalyzer.lua
PanicModeCombatAnalyzer.txt
diff --git a/PanicModeCombatAnalyzer.lua b/PanicModeCombatAnalyzer.lua
index a14633c..65f8a12 100644
--- a/PanicModeCombatAnalyzer.lua
+++ b/PanicModeCombatAnalyzer.lua
@@ -2,7 +2,7 @@
 PanicModeCombatAnalyzer = PanicModeCombatAnalyzer or {}

 PanicModeCombatAnalyzer.name		  = 'PanicModeCombatAnalyzer'
-PanicModeCombatAnalyzer.version	      = '1.0.5'
+PanicModeCombatAnalyzer.version	      = '1.0.6'
 PanicModeCombatAnalyzer.versionDB	  = 2
 PanicModeCombatAnalyzer.loaded	      = false
 PanicModeCombatAnalyzer.author        = 'silentgecko, deevilius'
@@ -25,26 +25,6 @@ PanicModeCombatAnalyzer.tempVars = {
     trialId      = 0,
 }

-PanicModeCombatAnalyzer.ignoredAbilities = {}
-PanicModeCombatAnalyzer.ignoredAbilities[52790] = true
-PanicModeCombatAnalyzer.ignoredAbilities[38541] = true
-PanicModeCombatAnalyzer.ignoredAbilities[43380] = true
-PanicModeCombatAnalyzer.ignoredAbilities[43381] = true
-PanicModeCombatAnalyzer.ignoredAbilities[38527] = true
-PanicModeCombatAnalyzer.ignoredAbilities[36287] = true
-PanicModeCombatAnalyzer.ignoredAbilities[46184] = true
-PanicModeCombatAnalyzer.ignoredAbilities[35942] = true
-PanicModeCombatAnalyzer.ignoredAbilities[68359] = true
-PanicModeCombatAnalyzer.ignoredAbilities[62491] = true
-PanicModeCombatAnalyzer.ignoredAbilities[62490] = true
-PanicModeCombatAnalyzer.ignoredAbilities[61898] = true
-PanicModeCombatAnalyzer.ignoredAbilities[48019] = true
-PanicModeCombatAnalyzer.ignoredAbilities[47570] = true
-PanicModeCombatAnalyzer.ignoredAbilities[15383] = true
-PanicModeCombatAnalyzer.ignoredAbilities[21929] = true
-PanicModeCombatAnalyzer.ignoredAbilities[68464] = true
-PanicModeCombatAnalyzer.ignoredAbilities[68463] = true
-
 ---------Passing saved variables to the labels at initialize-------
 function PanicModeCombatAnalyzer.Initialize(_, addonName)
     local self = PanicModeCombatAnalyzer
@@ -54,6 +34,7 @@ function PanicModeCombatAnalyzer.Initialize(_, addonName)
     EVENT_MANAGER:UnregisterForEvent(self.name, EVENT_ADD_ON_LOADED)

     self.savedVariables = ZO_SavedVars:New(self.savedVarsName, self.versionDB, nil, self.variables)
+    self.savedVariables.data = {}
     --save current server and language
     self.savedVariables.metadata = {
         server = GetWorldName(),
@@ -91,7 +72,7 @@ function PanicModeCombatAnalyzer.addDamage(damage)
     local self = PanicModeCombatAnalyzer

     --only log outgoing stuff and greater than zero
-    if damage['out'] and damage['value'] > 0 then
+    if damage['out'] and damage['value'] > 0 and damage['target'] ~= '' then
         local data         = self.savedVariables.data or {}
         local lastSave     = self.tempVars.lastSave
         local lastSaveTS   = self.tempVars.lastSaveTimeStamp
@@ -111,19 +92,22 @@ function PanicModeCombatAnalyzer.addDamage(damage)

         local damageData = {
             abilityId = damage['abilityId'],
-            damage    = damage['value'],
+            value     = damage['value'],
             crit      = damage['crit'],
             ms        = damage['ms'],
             ability   = damage['ability'],
         }

         if damage['heal'] then
-            local currentData = data[lastSaveTS]['healing'][damage['target']] or {}
-            table.insert(currentData, damageData)
-            data[lastSaveTS]['healing'][damage['target']] = currentData
+            --filter unwanted stuff
+            if damage['result'] == ACTION_RESULT_HEAL or damage['result'] == ACTION_RESULT_CRITICAL_HEAL or damage['result'] == ACTION_RESULT_HOT_TICK or damage['result'] == ACTION_RESULT_HOT_TICK_CRITICAL then
+                local currentData = data[lastSaveTS]['healing'][damage['target']] or {}
+                table.insert(currentData, damageData)
+                data[lastSaveTS]['healing'][damage['target']] = currentData
+            end
         else
             --filter unwanted stuff
-            if self.ignoredAbilities[damage['abilityId']] ~= true then
+            if damage['result'] == ACTION_RESULT_DAMAGE or damage['result'] == ACTION_RESULT_CRITICAL_DAMAGE or damage['result'] == ACTION_RESULT_DOT_TICK or damage['result'] == ACTION_RESULT_DOT_TICK_CRITICAL then
                 local currentData = data[lastSaveTS]['damage'][damage['target']] or {}
                 table.insert(currentData, damageData)
                 data[lastSaveTS]['damage'][damage['target']] = currentData
diff --git a/PanicModeCombatAnalyzer.txt b/PanicModeCombatAnalyzer.txt
index 1a48b3a..0653b88 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.5
+## Version: 1.0.6
 ## APIVersion: 100013
 ## SavedVariables: PMCAVars
 ## OptionalDependsOn: FoundryTacticalCombat