local Srendarr = _G['Srendarr']
local L = Srendarr:GetLocale()

local data = {
    -- ---------------------------------------------------
    -- WEAPONS -------------------------------------------
    -- ---------------------------------------------------

    -- TWO HANDED ----------------------------------------
    [L.Aura_Cleave]                 = {0,       10,     0   },
    [L.Aura_Brawler]                = {8,       10,     0,      3   },  -- damage shield, disabled corrections
    [L.Aura_Carve]                  = {0,       10,     0   },
    [L.Aura_Stampede]               = {0,       3.5,    0   },
    [L.Aura_Uppercut]               = {0,       3.5,    0.8 },
    [L.Aura_Dizzying_Swing]         = {0,       7.5,    0.8 },
    [L.Aura_Wrecking_Blow]          = {0,       3.5,    0.8 },
--  [L.Aura_Momentum]               = {30,      0,      0   },  -- Tracked by the game
--  [L.Aura_Forward_Momentum]       = {33,      0,      0   },  -- Tracked by the game
--  [L.Aura_Rally]                  = {33,      0,      0   },  -- Tracked by the game

    -- ONE_HANDED_AND_SHIELD -----------------------------
    [L.Aura_Puncture]               = {0,       15,     0   },
    [L.Aura_Pierce_Armor]           = {0,       15,     0   },
    [L.Aura_Ransack]                = {0,       15,     0   },
    [L.Aura_Low_Slash]              = {0,       9,      0   },
    [L.Aura_Crippling_Slash]        = {0,       12,     0   },
    [L.Aura_Deep_Slash]             = {0,       12,     0   },
    [L.Aura_Shield_Charge]          = {0,       2,      0   },
    [L.Aura_Invasion]               = {0,       2,      0   },
    [L.Aura_Shielded_Assault]       = {6,       2,      0,      3   },  -- damage shield
    [L.Aura_Power_Bash]             = {0,       17,     0   },
    [L.Aura_Power_Slam]             = {0,       17,     0   },
    [L.Aura_Reverberating_Bash]     = {0,       17,     0   },

    -- DUAL_WEILD ----------------------------------------
    [L.Aura_Twin_Slashes]           = {0,       9,      0   },
    [L.Aura_Blood_Craze]            = {9,       9,      0   },
    [L.Aura_Rending_Slashes]        = {0,       9,      0   },
--  [L.Aura_Rapid_Strikes]          = {6,       0,      1.3 },
    [L.Aura_Whirling_Blades]        = {10,      0,      0   },
    [L.Aura_Blade_Cloak]            = {15,      0,      0   },
    [L.Aura_Quick_Cloak]            = {15,      0,      0   },
    [L.Aura_Deadly_Cloak]           = {15,      0,      0   },
    [L.Aura_Hidden_Blade]           = {0,       6,      0   },
    [L.Aura_Flying_Blade]           = {0,       6,      0   },
    [L.Aura_Shrouded_Daggers]       = {0,       6,      0   },

    -- BOW -----------------------------------------------
    [L.Aura_Poison_Arrow]           = {0,       10,     0   },
    [L.Aura_Poison_Injection]       = {0,       10,     0   },
    [L.Aura_Venom_Arrow]            = {0,       10,     0   },
    [L.Aura_Volley]                 = {0,       5,      1.5 }, --fictive cast time for the arrows to reach the ground and begin to inflict damage
    [L.Aura_Scorched_Earth]         = {0,       11,     1.5 }, -- "
    [L.Aura_Arrow_Barrage]          = {0,       5,      1.5 }, -- "
    [L.Aura_Scatter_Shot]           = {0,       5,      0   },
    [L.Aura_Draining_Shot]          = {0,       6,      0   },
    [L.Aura_Magnum_Shot]            = {0,       5,      0   },
    [L.Aura_Arrow_Spray]            = {0,       5,      0   },
    [L.Aura_Acid_Spray]             = {0,       5,      0   },
    [L.Aura_Bombard]                = {0,       6.5,    0   },
    [L.Aura_Snipe]                  = {0,       0,      1.05},
    [L.Aura_Focused_Aim]            = {0,       10,     1.05},
    [L.Aura_Lethal_Arrow]           = {0,       10,     1.05},

    -- DESTRUCTION_STAFF ---------------------------------
    [L.Aura_Destructive_Touch]      = {0,       8,      0   }, -- added by silentgecko
    [L.Aura_Shock_Touch]            = {0,       8,      0   }, -- added by silentgecko
    [L.Aura_Frost_Touch]            = {0,       8,      0   }, -- added by silentgecko
    [L.Aura_Flame_Touch]            = {0,       8,      0   }, -- added by silentgecko
    [L.Aura_Destructive_Clench]     = {0,       8,      0   }, -- added by silentgecko
    [L.Aura_Flame_Clench]           = {0,       8,      0   }, -- added by silentgecko
    [L.Aura_Shock_Clench]           = {0,       8,      0   }, -- added by silentgecko
    [L.Aura_Frost_Clench]           = {0,       8,      0   }, -- added by silentgecko
    [L.Aura_Destructive_Reach]      = {0,       8,      0   }, -- added by silentgecko
    [L.Aura_Shock_Reach]            = {0,       8,      0   }, -- added by silentgecko
    [L.Aura_Flame_Reach]            = {0,       8,      0   }, -- added by silentgecko
    [L.Aura_Frost_Reach]            = {0,       8,      0   }, -- added by silentgecko
    [L.Aura_Wall_of_Elements]       = {0,       6,    0   },
    [L.Aura_Wall_of_Fire]           = {0,       6,    0   },
    [L.Aura_Wall_of_Frost]          = {0,       6,    0   },
    [L.Aura_Wall_of_Storms]         = {0,       6,    0   },
    [L.Aura_Wall_of_Cinders]        = {0,       6,    0   },
    [L.Aura_Unstable_Wall_of_Elements] = {0,    6,    0   },
    [L.Aura_Unstable_Wall_of_Fire]     = {0,    6,    0   },
    [L.Aura_Unstable_Wall_of_Frost]    = {0,    6,    0   },
    [L.Aura_Unstable_Wall_of_Storms]   = {0,    6,    0   },
    [L.Aura_Unstable_Wall_of_Cinders]  = {0,    6,    0   },
    [L.Aura_Elemental_Blockade]     = {0,       8,      0   },
    [L.Aura_Blockade_of_Fire]       = {0,       8,      0   },
    [L.Aura_Blockade_of_Frost]      = {0,       8,      0   },
    [L.Aura_Blockade_of_Storms]     = {0,       8,      0   },
    [L.Aura_Blockade_of_Cinders]    = {0,       8,      0   },
    [L.Aura_Weakness_To_Elements]   = {0,       21,     0   },
    [L.Aura_Elemental_Drain]        = {0,       21,     0   },
    [L.Aura_Elemental_Susceptibility] = {0,     24,     0   },
    [L.Aura_Greater_Distribution]   = {0,       18,     0,    18},
    [L.Aura_Elemental_Ring]         = {0,       10,     0   },
    [L.Aura_Fire_Ring]              = {0,       10,     0   },
    [L.Aura_Frost_Ring]             = {0,       10,     0   },
    [L.Aura_Shock_Ring]             = {0,       10,     0   },
    [L.Aura_Pulsar]                 = {0,       33,     0   },
    [L.Aura_Fiery_Pulsar]           = {0,       33,     0   },
    [L.Aura_Icy_Pulsar]             = {0,       33,     0   },
    [L.Aura_Electric_Pulsar]        = {0,       33,     0   },

    -- RESTORATION_STAFF ---------------------------------
    [L.Aura_Grand_Healing]          = {3,       0,      0   },
    [L.Aura_Healing_Springs]        = {3,       0,      0   },
    [L.Aura_Illustrious_Healing]    = {4,       0,      0   },
    [L.Aura_Regeneration]           = {20,      0,      0   },
    [L.Aura_Mutagen]                = {20,      0,      0   },
    [L.Aura_Rapid_Regeneration]     = {16.5,    0,      0   },
    [L.Aura_Blessing_Of_Protection] = {8,       0,      0   },
    [L.Aura_Blessing_Of_Restoration]= {15,      0,      0   },
    [L.Aura_Combat_Prayer]          = {8,       0,      0   },
    [L.Aura_Steadfast_Ward]         = {6,       0,      0   },  -- damage shield
    [L.Aura_Healing_Ward]           = {6,       0,      0   },  -- damage shield
    [L.Aura_Ward_Ally]              = {6,       0,      0   },  -- damage shield
    [L.Aura_Force_Siphon]           = {0,       20,     1.5 },
    [L.Aura_Quick_Siphon]           = {0,       20,     0   },
    [L.Aura_Siphon_Spirit]          = {0,       20,     1.5 },

    -- ---------------------------------------------------
    -- ARMOUR --------------------------------------------
    -- ---------------------------------------------------

    -- LIGHT_ARMOUR --------------------------------------
    [L.Aura_Annulment]              = {20,      0,      0   },  -- damage shield
    [L.Aura_Dampen_Magic]           = {20,      0,      0   },  -- damage shield
    [L.Aura_Harness_Magicka]        = {20,      0,      0   },  -- damage shield

    -- MEDIUM_ARMOUR -------------------------------------
    [L.Aura_Evasion]                = {20,      0,      0   },
    [L.Aura_Elude]                  = {23,      0,      0   },
    [L.Aura_Shuffle]                = {23,      0,      0   },

    -- HEAVY_ARMOUR --------------------------------------
    [L.Aura_Immovable]              = {8,       0,      0   },
    [L.Aura_Immovable_Brute]        = {8,       0,      0   },
    [L.Aura_Unstoppable]            = {8.8,     0,      0   },

    -- ---------------------------------------------------
    -- GUILDS --------------------------------------------
    -- ---------------------------------------------------

    -- FIGHTERS_GUILD ------------------------------------
    [L.Aura_Expert_Hunter]          = {10,      0,      0   },  -- need special case to track the ever extending nature
    [L.Aura_Evil_Hunter]            = {13,      0,      0   },  -- need special case to track the ever extending nature
    [L.Aura_Camouflaged_Hunter]     = {13,      0,      0   },  -- need special case to track the ever extending nature
    [L.Aura_Circle_of_Protection]   = {20,      0,      0   },
    [L.Aura_Turn_Undead]            = {20,      0,      0   },
    [L.Aura_Ring_of_Preservation]   = {20,      0,      0   },
    [L.Aura_Beast_Trap]             = {0,       24,     0   },  -- added Beast Trap
    [L.Aura_Rearming_Trap]          = {0,       24,     0   },  -- added Beast Trap Morph
    [L.Aura_LightweightBeast_Trap]  = {0,       24,     0   },  -- added Beast Trap Morph

    -- MAGES_GUILD ---------------------------------------
    [L.Aura_Meteor]                 = {0,       12,     0   },
    [L.Aura_Ice_Comet]              = {0,       12,     0   },
    [L.Aura_Shooting_Star]          = {0,       12,     0   },
    [L.Aura_Entropy]                = {20,      14.4,   0,      2   },  --corrections for debuff, buff (major sorcery) is always 20s
    [L.Aura_Degeneration]           = {20,      14.4,   0,      2   },
    [L.Aura_Structured_Entropy]     = {20,      14.4,   0,      2   },
    [L.Aura_Equilibrium]            = {0,       4,      0   },
    [L.Aura_Spell_Symmetry]         = {5,       4,      0   },
    [L.Aura_Balance]                = {24,      4,      0   },

    -- UNDAUNTED -----------------------------------------
    [L.Aura_Inner_Fire]             = {0,       15,     0   },
    [L.Aura_Inner_Rage]             = {0,       15,     0   },
    [L.Aura_Inner_Beast]            = {0,       15,     0   },
    [L.Aura_Bone_Shield]            = {6,       0,      0   },
    [L.Aura_Bone_Surge]             = {6,       0,      0   },
    [L.Aura_Spiked_Bone_Shield]     = {6,       0,      0   },

    -- ---------------------------------------------------
    -- WORLD ---------------------------------------------
    -- ---------------------------------------------------

    -- SOUL_MAGIC ----------------------------------------
    [L.Aura_Soul_Strike]            = {0,       2.85,   0   },
    [L.Aura_Shatter_Soul]           = {0,       2.85,   0   },
    [L.Aura_Soul_Assault]           = {0,       3.85,   0   },
    [L.Aura_Soul_Trap]              = {0,       10,     0   },
    [L.Aura_Consuming_Trap]         = {0,       10,     0   },
    [L.Aura_Soul_Splitting_Trap]    = {0,       10,     0   },

    -- WEREWOLF ------------------------------------------
    [L.Aura_Hircines_Rage]          = {17,      0,      0   },
    [L.Aura_Hircines_Fortitude]     = {8,       0,      0   },
    [L.Aura_Roar]                   = {0,       3.5,    1   },
    [L.Aura_Ferocious_Roar]         = {0,       4.25,   1   },
    [L.Aura_Rousing_Roar]           = {4,       3.5,    1,      3   },
    [L.Aura_Piercing_Howl]          = {0,       3,      0   },
    [L.Aura_Howl_of_Despair]        = {0,       3,      0   },
    [L.Aura_Howl_of_Agony]          = {0,       3,      0   },
    [L.Aura_Infectious_Claws]       = {0,       10,     0   },
    [L.Aura_Claws_of_Anguish]       = {0,       10,     0   },
    [L.Aura_Claws_of_Life]          = {0,       10,     0   },

    -- VAMPIRE -------------------------------------------
    [L.Aura_Bat_Swarm]              = {0,       5,      0   },
    [L.Aura_Clouding_Swarm]         = {0,       5,      0   },
    [L.Aura_Devouring_Swarm]        = {0,       5,      0   },
    [L.Aura_Drain_Essence]          = {3,       3,      0   },
    [L.Aura_Invigorating_Drain]     = {3,       3,      0   },
    [L.Aura_Midnight_Drain]         = {3,       3,      0   },
    [L.Aura_Mist_Form]              = {3,       0,      0   },
    [L.Aura_Elusive_Mist]           = {4,       0,      0   },
    [L.Aura_Poison_Mist]            = {4,       0,      0   },

    -- ---------------------------------------------------
    -- ALLIANCE_WAR --------------------------------------
    -- ---------------------------------------------------

    -- ASSAULT -------------------------------------------
    [L.Aura_War_Horn]               = {27,      0,      0   },  -- max rank is tracked by game
--  [L.Aura_Aggressive_Horn]        = {30,      0,      0   },  -- Tracked by the game
--  [L.Aura_Sturdy_Horn]            = {30,      0,      0   },  -- Tracked by the game
    [L.Aura_Rapid_Maneuver]         = {20,      0,      0   },  -- can end early on making an attack
    [L.Aura_Charging_Maneuver]      = {20,      0,      0   },  -- can end early on making an attack
    [L.Aura_Retreating_Maneuver]    = {20,      0,      0   },  -- can end early on making an attack
    [L.Aura_Caltrops]               = {0,       27,     1   },  -- fake cast time for ground targeted skill
    [L.Aura_Anti_Cavalry_Caltrops]  = {0,       35,     1   },  -- fake cast time for ground targeted skill
    [L.Aura_Razor_Caltrops]         = {0,       30,     1   },  -- fake cast time for ground targeted skill
    [L.Aura_Magicka_Detonation]     = {0,       4,      1.8 },
    [L.Aura_Inevitable_Detonation]  = {0,       4,      2   },
    [L.Aura_Proximity_Detonation]   = {0,       4,      1.8 },
    [L.Aura_Vigor]                  = {5,       0,      0   },
    [L.Aura_Echoing_Vigor]          = {5,       0,      0   },
    [L.Aura_Resolving_Vigor]        = {5,       0,      0   },

    -- SUPPORT -------------------------------------------
--  [L.Aura_Barrier]                = {30,      0,      0   },  -- damage shield | Tracked by the game
--  [L.Aura_Replenishing_Barrier]   = {30,      0,      0   },  -- damage shield | Tracked by the game
--  [L.Aura_Reviving_Barrier]       = {30,      0,      0   },  -- damage shield | Tracked by the game
    [L.Aura_Siege_Shield]           = {17,      0,      0   },  -- damage shield
    [L.Aura_Propelling_Shield]      = {20,      0,      0   },  -- damage shield
    [L.Aura_Siege_Weapon_Shield]    = {20,      0,      0   },  -- damage shield
    [L.Aura_Purge]                  = {3,       0,      0   },
    [L.Aura_Cleanse]                = {6,       0,      0   },
    [L.Aura_Efficient_Purge]        = {6,       0,      0   },

    -- ---------------------------------------------------
    -- CLASS:_DRAGONKNIGHT -------------------------------
    -- ---------------------------------------------------

    -- ARDENT_FLAME --------------------------------------
    [L.Aura_Dragonknight_Standard]  = {17,      17,     0   },
    [L.Aura_Shifting_Standard]      = {17,      17,     0   },
    [L.Aura_Standard_of_Might]      = {17,      17,     0   },
    [L.Aura_Searing_Strike]         = {0,       10.5,   0   },
    [L.Aura_Unstable_Flame]         = {0,       10.5,   0   },
    [L.Aura_Burning_Embers]         = {0,       10.5,   0   },
    [L.Aura_Fiery_Breath]           = {0,       10,     0   },
    [L.Aura_Burning_Breath]         = {0,       10,     0   },
    [L.Aura_Engulfing_Flames]       = {0,       10,     0   },
    [L.Aura_Power_Lash]             = {0,       2,      0   },

    -- DRACONIC_POWER ------------------------------------
    [L.Aura_Ferocious_Leap]         = {6,       0,      0   },
    [L.Aura_Spiked_Armor]           = {20,      0,      0   },
    [L.Aura_Volatile_Armor]         = {20,      0,      0   },
    [L.Aura_Hardened_Armor]         = {20,      0,      0   },
    [L.Aura_Dark_Talons]            = {0,       4,      0   },
    [L.Aura_Burning_Talons]         = {0,       4,      0   },
    [L.Aura_Choking_Talons]         = {0,       4,      0   },
    [L.Aura_Dragon_Blood]           = {23,      0,      0   },
    [L.Aura_Green_Dragon_Blood]     = {23,      0,      0   },
    [L.Aura_Coagulating_Blood]      = {23,      0,      0   },
    [L.Aura_Reflective_Scale]       = {4,       0,      0   },
    [L.Aura_Reflective_Plate]       = {4,       0,      0   },
    [L.Aura_Dragon_Fire_Scale]      = {4,       0,      0   },

    -- EARTHEN_HEART -------------------------------------
    [L.Aura_Magma_Armor]            = {10.8,    0,      0   },
    [L.Aura_Magma_Shell]            = {10.8,    0,      0   },
    [L.Aura_Corrosive_Armor]        = {10.8,    0,      0   },
    [L.Aura_Stonefist]              = {0,       3.6,    0   },
    [L.Aura_Obsidian_Shard]         = {0,       3.6,    0   },
    [L.Aura_Stone_Giant]            = {21.6,    3.6,    0,      2   },
    [L.Aura_Molten_Weapons]         = {9.6,     0,      0   },
    [L.Aura_Igneous_Weapons]        = {9.6,     0,      0   },
    [L.Aura_Molten_Armaments]       = {9.6,     0,      0   },
    [L.Aura_Obsidian_Shield]        = {24,      0,      0   },  -- damage shield
    [L.Aura_Fragmented_Shield]      = {24,      0,      0   },  -- damage shield
    [L.Aura_Igneous_Shield]         = {24,      0,      0   },  -- damage shield
    [L.Aura_Petrify]                = {0,       24,     0   },
    [L.Aura_Fossilize]              = {0,       24,     0   },
    [L.Aura_Shattering_Rocks]       = {0,       24,     0   },
    [L.Aura_Ash_Cloud]              = {0,       18,     0   },
    [L.Aura_Cinder_Storm]           = {0,       18,     0   },
    [L.Aura_Eruption]               = {0,       18,     0   },

    -- ---------------------------------------------------
    -- CLASS:_SORCERER -----------------------------------
    -- ---------------------------------------------------

    -- DAEDRIC_SUMMONING ---------------------------------
    [L.Aura_Summon_Storm_Atronach]  = {0,       18,     0   },
    [L.Aura_Greater_Storm_Atronach] = {0,       28,     0   },
    [L.Aura_Summon_Charged_Atronach]= {0,       18,     0   },
    [L.Aura_Daedric_Curse]          = {0,       6,      0   },
    [L.Aura_Daedric_Prey]           = {0,       6,      0   },
    [L.Aura_Velocious_Curse]        = {0,       3.5,    0   },
    [L.Aura_Conjured_Ward]          = {20,      0,      0   },  -- damage shield
    [L.Aura_Empowered_Ward]         = {20,      0,      0   },  -- damage shield
    [L.Aura_Hardened_Ward]          = {20,      0,      0   },  -- damage shield

    -- DARK_MAGIC ----------------------------------------
    [L.Aura_Negate_Magic]           = {0,       11.4,   0   },
    [L.Aura_Absorption_Field]       = {0,       11.4,   0   },
    [L.Aura_Suppression_Field]      = {0,       11.4,   0   },
    [L.Aura_Crystal_Shard]          = {0,       2.4,    1   },
    [L.Aura_Crystal_Blast]          = {0,       2.4,    1   },
    [L.Aura_Crystal_Fragments]      = {0,       2.4,    1   },
    [L.Aura_Encase]                 = {0,       5.4,    0   },
    [L.Aura_Restraining_Prison]     = {0,       5.4,    0   },
    [L.Aura_Shattering_Prison]      = {0,       5.4,    0   },
    [L.Aura_Rune_Prison]            = {0,       19.9,   0   },
    [L.Aura_Rune_Cage]              = {0,       19.9,   0   },
    [L.Aura_Weakening_Prison]       = {0,       19.9,   0   },
    [L.Aura_Dark_Exchange]          = {4,       0,      0   },
    [L.Aura_Dark_Conversion]        = {4,       0,      0   },
    [L.Aura_Dark_Deal]              = {4,       0,      0   },

    -- STORM_CALLING -------------------------------------
    [L.Aura_Mages_Fury]             = {0,       4,      0   },
    [L.Aura_Endless_Fury]           = {0,       4,      0   },
    [L.Aura_Mages_Wrath]            = {0,       4,      0   },
    [L.Aura_Lightning_Form]         = {15,      0,      0   },
    [L.Aura_Boundless_Storm]        = {15,      0,      0   },
    [L.Aura_Thundering_Presence]    = {23,      0,      0   },
    [L.Aura_Lightning_Splash]       = {0,       6,      0   },
    [L.Aura_Liquid_Lightning]       = {0,       10,     0   },
    [L.Aura_Lightning_Flood]        = {0,       6,      0   },
    [L.Aura_Surge]                  = {20,      0,      0   },
    [L.Aura_Critical_Surge]         = {20,      0,      0   },
    [L.Aura_Power_Surge]            = {40,      0,      0   },
    [L.Aura_Bolt_Escape]            = {0,       2,      0,      3   },
    [L.Aura_Ball_of_Lightning]      = {6.5,     2,      0,      3   },
    [L.Aura_Streak]                 = {0,       2,      0,      3   },

    -- ---------------------------------------------------
    -- CLASS:_NIGHTBLADE ---------------------------------
    -- ---------------------------------------------------

    -- ASSASSINATION -------------------------------------
    [L.Aura_Teleport_Strike]        = {0,       1.5,    0.8 },
    [L.Aura_Ambush]                 = {0,       1.5,    0.8 },
    [L.Aura_Lotus_Fan]              = {0,       6,      0.8 },
    [L.Aura_Blur]                   = {26,      0,      0   },
    [L.Aura_Double_Take]            = {26,      0,      0   },
    [L.Aura_Mirage]                 = {26,      0,      0   },
    [L.Aura_Mark_Target]            = {0,       60,     0   },
    [L.Aura_Piercing_Mark]          = {0,       60,     0   },
    [L.Aura_Reapers_Mark]           = {0,       60,     0   },
    [L.Aura_Grim_Focus]             = {20,      0,      0   },
    [L.Aura_Relentless_Focus]       = {20,      0,      0   },
    [L.Aura_Merciless_Resolve]      = {20,      0,      0   },
    [L.Aura_Death_Stroke]           = {0,       6,      0   },
    [L.Aura_Incapacitating_Strike]  = {0,       6,      0   },
    [L.Aura_Soul_Harvest]           = {0,       6,      0   },

    -- SHADOW --------------------------------------------
    [L.Aura_Consuming_Darkness]     = {0,       17.2,   0   },
    [L.Aura_Bolstering_Darkness]    = {0,       17.2,   0   },
    [L.Aura_Veil_of_Blades]         = {17.2,    17.2,   0   },
    [L.Aura_Shadow_Cloak]           = {2.9,     0,      0   },
    [L.Aura_Shadowy_Disguise]       = {2.9,     0,      0   },
    [L.Aura_Dark_Cloak]             = {2.9,     0,      0   },
    [L.Aura_Veiled_Strike]          = {0,       4.6,    0   },
    [L.Aura_Concealed_Weapon]       = {0,       4.6,    0   },
    [L.Aura_Surprise_Attack]        = {0,       17.2,   0   },
    [L.Aura_Path_of_Darkness]       = {11.5,    11.5,      0   }, -- added Path of Darkness to Debuff Bar
    [L.Aura_Refreshing_Path]        = {11.5,    11.5,      0   }, -- added Refreshing Path to Debuff Bar
    [L.Aura_Twisting_Path]          = {11.5,    11.5,      0   }, -- added Twisting Path to Debuff Bar
    [L.Aura_Aspect_of_Terror]       = {0,       4.6,    0   },
    [L.Aura_Mass_Hysteria]          = {0,       4.6,    0   },
    [L.Aura_Summon_Shade]           = {23,      0,      0   },
    [L.Aura_Dark_Shades]            = {23,      0,      0   },
    [L.Aura_Shadow_Image]           = {23,      0,      0   },

    -- SIPHONING -----------------------------------------
    [L.Aura_Soul_Shred]             = {0,       3,      0   },
    [L.Aura_Soul_Siphon]            = {4,       0,      0   },
    [L.Aura_Soul_Tether]            = {8,       4.5,    0,      1   },
    [L.Aura_Strife]                 = {10,      0,      0   },
    [L.Aura_Funnel_Health]          = {10,      0,      0   },
    [L.Aura_Swallow_Soul]           = {10,      0,      0   },
    [L.Aura_Agony]                  = {0,       30,     1.2 },  -- can end early when target takes a damage
    [L.Aura_Malefic_Wreath]         = {0,       30,     1.2 },  -- dtto
    [L.Aura_Prolonged_Suffering]    = {0,       30,     1.2 },  -- dtto
    [L.Aura_Cripple]                = {8,       8,      0   },
    [L.Aura_Crippling_Grasp]        = {8,       8,      0   },
    [L.Aura_Debilitate]             = {8,       8,      0   },
    [L.Aura_Drain_Power]            = {20,      0,      0   },
    [L.Aura_Power_Extraction]       = {20,      0,      0   },
    [L.Aura_Sap_Essence]            = {20,      0,      0   },

    -- ---------------------------------------------------
    -- CLASS:_TEMPLAR ------------------------------------
    -- ---------------------------------------------------

    -- AEDRIC_SPEAR --------------------------------------
    [L.Aura_Radial_Sweep]           = {0,       6,      0   },
    [L.Aura_Empowering_Sweep]       = {8,       6,      0,      3   },
    [L.Aura_Crescent_Sweep]         = {0,       6,      0   },
    [L.Aura_Biting_Jabs]            = {8,       0,      0   },
    [L.Aura_Binding_Javelin]        = {0,       3.5,    0.5 },  -- Timer edited for more accuracy by Lumber
    [L.Aura_Focused_Charge]         = {0,       3,      0   },  -- Debuff occur only if target casting
    [L.Aura_Explosive_Charge]       = {0,       3,      0   },  -- Debuff occur only if target casting
    [L.Aura_Toppling_Charge]        = {0,       2.4,    0   },  -- Timer edited for more accuracy by Lumber (debuff lasts 5 sec if target casting)
    [L.Aura_Spear_Shards]           = {0,       6,      1.5 },  -- can end early if synergy is used by an other player
    [L.Aura_Luminous_Shards]        = {0,       6,      1.5 },  -- can end early if synergy is used by an other player
    [L.Aura_Blazing_Spear]          = {0,       6,      1.5 },  -- can end early if synergy is used by an other player
    [L.Aura_Sun_Shield]             = {6,       0,      0   },  -- damage shield
    [L.Aura_Radiant_Ward]           = {6,       0,      0   },  -- damage shield
    [L.Aura_Blazing_Shield]         = {6,       0,      0   },  -- damage shield

    -- DAWNS_WRATH ---------------------------------------
    [L.Aura_Nova]                   = {0,       9.6,    0   },
    [L.Aura_Solar_Prison]           = {0,       9.6,    0   },
    [L.Aura_Solar_Disturbance]      = {0,       9.6,    0   },
    [L.Aura_Sun_Fire]               = {6,       6,      0   },
    [L.Aura_Vampires_Bane]          = {8.4,     8.4,    0,  },
    [L.Aura_Reflective_Light]       = {6,       6,      0   },
    [L.Aura_Dark_Flare]             = {0,       7.2,    1.1 },
    [L.Aura_Backlash]               = {0,       6,      0   },
    [L.Aura_Purifying_Light]        = {7.2,     6,      0,      2   },
    [L.Aura_Power_of_the_Light]     = {0,       6,      0   },
    [L.Aura_Eclipse]                = {0,       6,      0   },
    [L.Aura_Total_Dark]             = {0,       6,      0   },
    [L.Aura_Unstable_Core]          = {0,       6,      0   },
    [L.Aura_Radiant_Destruction]    = {0,       3.6,    0   },
    [L.Aura_Radiant_Glory]          = {0,       3.6,    0   },
    [L.Aura_Radiant_Oppresion]      = {0,       3.6,    0   },

    -- RESTORING_LIGHT -----------------------------------
    [L.Aura_Rite_Of_Passage]        = {4,       0,      0   },
    [L.Aura_Remembrance]            = {4,       0,      0   },
    [L.Aura_Practiced_Incantation]  = {6,       0,      0   },
    [L.Aura_Honor_The_Dead]         = {8,       0,      0   }, -- buff occur only if target is under 50% health
    [L.Aura_Lingering_Ritual]       = {8,       0,      2   },
    [L.Aura_Restoring_Aura]         = {18,      0,      0   },
    [L.Aura_Radiant_Aura]           = {18,      0,      0   },
    [L.Aura_Cleansing_Ritual]       = {12,      0,      0   },
    [L.Aura_Extended_Ritual]        = {22,      0,      0   },
    [L.Aura_Purifying_Ritual]       = {12,      0,      0   },
    [L.Aura_Rune_Focus]             = {15,      0,      0   },
    [L.Aura_Channeled_Focus]        = {15,      0,      0   },
    [L.Aura_Restoring_Focus]        = {15,      0,      0   },

    --triggered effects
    [L.Trigger_Crystal_Fragments_Passive] = {8, 0,      0,      3   },
}

local potionDurations = {
    [1] = { --standard potions from loot or from vendor. Potions can be any level, so duration is just estimated.
        [L.Potion_Sip]              = 4,    --lvl 1-5   3.3 + (1+5) / 2 * 0.257 = 4.071
        [L.Potion_Tincture]         = 5.3,  --lvl 6-10
        [L.Potion_Serum]            = 6.6,  --lvl 11-15
        [L.Potion_Dram]             = 7.8,  --lvl 16-20
        [L.Potion_Effusion]         = 9.1,  --lvl 21-35
        [L.Potion_Potion]           = 10.4, --lvl 26-30
        [L.Potion_Draught]          = 11.7, --lvl 31-35
        [L.Potion_Solution]         = 13,   --lvl 36-40
        [L.Potion_Philter]          = 14.3, --lvl 41-45
        [L.Potion_Elixir]           = 16.7, --lvl 46-51 3.3 + (46+51) / 2 * 0.257 = 15.7645
        [L.Potion_Panacea]          = 18.2, --VR 5
        [L.Potion_Distillate]       = 20.3, --VR 10
        [L.Potion_Essence]          = 22.1, --VR 15
    },
    [2] = { --crafted 2 ingredients potions with long buff
        [L.Potion_Sip]              = 10.5, --lvl 3      9 +  4 * 0.375 = 10.425  (9 + itemLevel * 0.375)
        [L.Potion_Tincture]         = 13.1, --lvl 10     9 + 11 * 0.375 = 13.125
        [L.Potion_Dram]             = 16.8, --lvl 20     9 + 21 * 0.375 = 16.875
        [L.Potion_Draught]          = 20.6, --lvl 30     9 + 31 * 0.375 = 20.625
        [L.Potion_Solution]         = 24.3, --lvl 40     9 + 41 * 0.375 = 24.375
        [L.Potion_Elixir]           = 28.8, --VR 1       9 + 53 * 0.375 = 28.875
        [L.Potion_Panacea]          = 31,   --VR 5       9 + 59 * 0.375 = 31.125
        [L.Potion_Distillate]       = 34,   --VR 10
        [L.Potion_Essence]          = 37, --VR 15
    },
    [3] = {  --crafted 3 ingredients potions with long buff (+4 sec)
        [L.Potion_Sip]              = 14.5, --lvl 3
        [L.Potion_Tincture]         = 17.1, --lvl 10
        [L.Potion_Dram]             = 20.8, --lvl 20
        [L.Potion_Draught]          = 24.6, --lvl 30
        [L.Potion_Solution]         = 28.3, --lvl 40
        [L.Potion_Elixir]           = 32.8, --VR 1
        [L.Potion_Panacea]          = 35,   --VR 5
        [L.Potion_Distillate]       = 38,   --VR 10
        [L.Potion_Essence]          = 42,   --VR 15
    },
    [4] = {  --crafted 2 ingredients potions with short buff
        [L.Potion_Sip]              = 4.5,  --lvl 3     4 +  4 * 0.129 = 4.516
        [L.Potion_Tincture]         = 5.4,  --lvl 10    4 + 11 * 0.129 = 5.419
        [L.Potion_Dram]             = 6.7,  --lvl 20    4 + 21 * 0.129 = 6.709
        [L.Potion_Draught]          = 8,    --lvl 30    4 + 31 * 0.129 = 7.999
        [L.Potion_Solution]         = 9.3,  --lvl 40    4 + 41 * 0.129 = 9.289
        [L.Potion_Elixir]           = 10.8, --VR 1      4 + 53 * 0.129 = 10.837
        [L.Potion_Panacea]          = 11.6, --VR 5      4 + 59 * 0.129 = 11.611
        [L.Potion_Distillate]       = 12.4,   --VR 10
        [L.Potion_Essence]          = 13.2, --VR 15
    },
    [5] = {  --crafted 3 ingredients potions with short buff (+2 sec)
        [L.Potion_Sip]              = 6.5,  --lvl 3
        [L.Potion_Tincture]         = 7.4,  --lvl 10
        [L.Potion_Dram]             = 8.7,  --lvl 20
        [L.Potion_Draught]          = 10,   --lvl 30
        [L.Potion_Solution]         = 11.3, --lvl 40
        [L.Potion_Elixir]           = 12.8, --VR 1
        [L.Potion_Panacea]          = 13.6, --VR 5
        [L.Potion_Distillate]       = 14.4, --VR 10
        [L.Potion_Essence]          = 15.2, --VR 15
    },
}

local potionEffects = {             --buff, debuff, potionType
    --drop & vendor potions
    [17302]                         = {true, false, 1}, --health
    [17322]                         = {true, false, 1}, --magicka
    [17328]                         = {true, false, 1}, --stamina
    --crafted potions (positive effects)
    [45221]                         = {true, false, 2}, --Health
    [45223]                         = {true, false, 2}, --Magicka
    [45225]                         = {true, false, 2}, --Stamina
    [45227]                         = {true, false, 2}, --Spell Power
    [45228]                         = {true, false, 2}, --Weapon Power
    [45233]                         = {true, false, 2}, --Spell Protection
    [45234]                         = {true, false, 2}, --Armor
    [45235]                         = {true, false, 2}, --Speed
    [45236]                         = {true, false, 2}, --Detection
    [45237]                         = {true, false, 4}, --Invisiblity
    [45239]                         = {true, false, 4}, --Immovability
    [45241]                         = {true, false, 2}, --Weapon Crit
    [45382]                         = {true, false, 3}, --Health (longer duration)
    [45385]                         = {true, false, 3}, --Magicka (longer duration)
    [45388]                         = {true, false, 3}, --Stamina (longer duration)
    [45460]                         = {true, false, 5}, --Invisiblity (longer duration)
    [45463]                         = {true, false, 5}, --Immovability (longer duration)
    [45466]                         = {true, false, 3}, --Weapon Crit (longer duration)
    [47193]                         = {true, false, 2}, --Spell Crit
    [47195]                         = {true, false, 3}, --Spell Crit (longer duration)
    --crafted potions (negative effects)
    [46111]                         = {false, true, 2}, --Ravage Health
    [46193]                         = {false, true, 2}, --Ravage Magicka
    [46199]                         = {false, true, 2}, --Ravage Stamina
    [46202]                         = {false, true, 2}, --Ravage Spell Power
    [46204]                         = {false, true, 2}, --Ravage Weapon Power
    [46206]                         = {false, true, 2}, --Ravage Spell Protection
    [46210]                         = {false, true, 2}, --Slow
    [46215]                         = {false, true, 3}, --Ravage Health (longer duration)
    [46237]                         = {false, true, 3}, --Ravage Magicka (longer duration)
    [46240]                         = {false, true, 3}, --Ravage Stamina (longer duration)
    [46244]                         = {false, true, 2}, --Ravage Spell Power (longer duration)
    [46246]                         = {false, true, 3}, --Ravage Weapon Power (longer duration)
    [47203]                         = {false, true, 2}, --Ravage Weapon Critical
    [47204]                         = {false, true, 2}, --Ravage Spell Critical
    [47213]                         = {false, true, 2}, --Stun
}

local toggledEffects = {
    [L.Toggled_Inferno]                     = true,
    [L.Toggled_Flames_Of_Oblivion]          = true,
    [L.Toggled_Sea_Of_Flames]               = true,
    [L.Toggled_Unstable_Familiar]           = true,
    [L.Toggled_Unstable_Clannfear]          = true,
    [L.Toggled_Volatile_Familiar]           = true,
    [L.Toggled_Summon_Winged_Twilight]      = true,
    [L.Toggled_Summon_Restoring_Twilight]   = true,
    [L.Toggled_Summon_Twilight_Matriarch]   = true,
    [L.Toggled_Bound_Armor]                 = true,
    [L.Toggled_Bound_Armaments]             = true,
    [L.Toggled_Bound_Aegis]                 = true,
    [L.Toggled_Siphoning_Strikes]           = true,
    [L.Toggled_Leeching_Strikes]            = true,
    [L.Toggled_Siphoning_Attacks]           = true,
    [L.Toggled_Magelight]                   = true,
    [L.Toggled_Inner_Light]                 = true,
    [L.Toggled_Radiant_Magelight]           = true,
}

local damageShields = {
    [L.DamageShield_Shielded_Assault]       = true,
    [L.DamageShield_Brawler]                = true,
    [L.DamageShield_Steadfast_Ward]         = true,
    [L.DamageShield_Ward_Ally]              = true,
    [L.DamageShield_Healing_Ward]           = true,
    [L.DamageShield_Annulment]              = true,
    [L.DamageShield_Dampen_Magic]           = true,
    [L.DamageShield_Harness_Magicka]        = true,
    [L.DamageShield_Barrier]                = true,
    [L.DamageShield_Replenishing_Barrier]   = true,
    [L.DamageShield_Reviving_Barrier]       = true,
--  [L.DamageShield_Hardened_Armor]         = true,
    [L.DamageShield_Obsidian_Shield]        = true,
    [L.DamageShield_Fragmented_Shield]      = true,
    [L.DamageShield_Igneous_Shield]         = true,
    [L.DamageShield_Conjured_Ward]          = true,
    [L.DamageShield_Empowered_Ward]         = true,
    [L.DamageShield_Hardened_Ward]          = true,
    [L.DamageShield_Sun_Shield]             = true,
    [L.DamageShield_Radiant_Ward]           = true,
    [L.DamageShield_Blazing_Shield]         = true,
}

local vampLycanEffects = {
    [L.VampLycan_Fed_on_ally]               = true,
    [L.VampLycan_Bit_an_ally]               = true,
    [L.VampLycan_Dark_Stalker]              = true,
    [L.VampLycan_Supernatural_Recovery]     = true,
    [L.VampLycan_Stage_1_Vampirism]         = true,
    [L.VampLycan_Stage_2_Vampirism]         = true,
    [L.VampLycan_Stage_3_Vampirism]         = true,
    [L.VampLycan_Stage_4_Vampirism]         = true,
    [L.VampLycan_Vampirism]                 = true,
    [L.VampLycan_Lycanthropy]               = true,
    [L.VampLycan_Call_of_the_Pack]          = true,
    [L.VampLycan_Sanies_Lupinus]            = true,
}

local ignoredEffects = {
    --alchemy
    [L.Passive_MedicinalUse]                = true,
    --champion points
    [L.Passive_SpellShield]                 = true,
    [L.Passive_Nourishing]                  = true,
    --night blade
    [L.Passive_SoulSiphoner]                = true,
    --light armor
    [L.Passive_Concentration]               = true,
    --ESO Plus
    [L.Passive_ESO_Plus_Member]             = true,
}

local isProc = {
    [L.Trigger_Assassins_Will]              = true,
    [L.Trigger_Power_Lash]                  = true,
    [L.Trigger_Deadly_Throw]                = true,
}

local hasProc = {
    [L.Aura_Crystal_Fragments]              = L.Trigger_Crystal_Fragments_Passive,
}

local isMagesGuild = {
    [L.Aura_Meteor]                         = true,
    [L.Aura_Ice_Comet]                      = true,
    [L.Aura_Shooting_Star]                  = true,
    [L.Toggled_Magelight]                   = true,
    [L.Toggled_Inner_Light]                 = true,
    [L.Toggled_Radiant_Magelight]           = true,
    [L.MagesGuild_Fire_Rune]                = true,
    [L.MagesGuild_Volcanic_Rune]            = true,
    [L.MagesGuild_Scalding_Rune]            = true,
    [L.Aura_Entropy]                        = true,
    [L.Aura_Degeneration]                   = true,
    [L.Aura_Structured_Entropy]             = true,
    [L.Aura_Equilibrium]                    = true,
    [L.Aura_Spell_Symmetry]                 = true,
    [L.Aura_Balance]                        = true,
}

local isArdentFlame = {
    [L.Aura_Dragonknight_Standard]          = true,
    [L.Aura_Shifting_Standard]              = true,
    [L.Aura_Standard_of_Might]              = true,
    [L.Aura_Fiery_Grip]                     = true,
    [L.Aura_Extended_Chains]                = true,
    [L.Aura_Empowering_Chains]              = true,
    [L.Aura_Searing_Strike]                 = true,
    [L.Aura_Unstable_Flame]                 = true,
    [L.Aura_Burning_Embers]                 = true,
    [L.Aura_Fiery_Breath]                   = true,
    [L.Aura_Burning_Breath]                 = true,
    [L.Aura_Engulfing_Flames]               = true,
    [L.Aura_Lava_Whip ]                     = true,
    [L.Aura_Molten_Whip]                    = true,
    [L.Aura_Flame_Lash]                     = true,
    [L.Aura_Power_Lash]                     = true,
    [L.Toggled_Inferno]                     = true,
    [L.Toggled_Flames_Of_Oblivion]          = true,
    [L.Toggled_Sea_Of_Flames]               = true,
}

local isEarthenHeart = {
    [L.Aura_Magma_Armor]                    = true,
    [L.Aura_Magma_Shell]                    = true,
    [L.Aura_Corrosive_Armor]                = true,
    [L.Aura_Stonefist]                      = true,
    [L.Aura_Obsidian_Shard]                 = true,
    [L.Aura_Stone_Giant]                    = true,
    [L.Aura_Molten_Weapons]                 = true,
    [L.Aura_Igneous_Weapons]                = true,
    [L.Aura_Molten_Armaments]               = true,
    [L.Aura_Obsidian_Shield]                = true,
    [L.Aura_Fragmented_Shield]              = true,
    [L.Aura_Igneous_Shield]                 = true,
    [L.Aura_Petrify]                        = true,
    [L.Aura_Fossilize]                      = true,
    [L.Aura_Shattering_Rocks]               = true,
    [L.Aura_Ash_Cloud]                      = true,
    [L.Aura_Cinder_Storm]                   = true,
    [L.Aura_Eruption]                       = true,
}

local isDarkMagic = {
    [L.Aura_Negate_Magic]                   = true,
    [L.Aura_Absorption_Field]               = true,
    [L.Aura_Suppression_Field]              = true,
    [L.Aura_Crystal_Shard]                  = true,
    [L.Aura_Crystal_Blast]                  = true,
    [L.Aura_Crystal_Fragments]              = true,
    [L.Aura_Encase]                         = true,
    [L.Aura_Restraining_Prison]             = true,
    [L.Aura_Shattering_Prison]              = true,
    [L.Aura_Rune_Prison]                    = true,
    [L.Aura_Rune_Cage]                      = true,
    [L.Aura_Weakening_Prison]               = true,
    [L.Aura_Dark_Exchange]                  = true,
    [L.Aura_Dark_Conversion]                = true,
    [L.Aura_Dark_Deal]                      = true,
    [L.Aura_Daedric_Mines]                  = true,
    [L.Aura_Daedric_Minefield]              = true,
    [L.Aura_Daedric_Tomb]                   = true,
}

local isShadow = {
    [L.Aura_Consuming_Darkness]             = true,
    [L.Aura_Bolstering_Darkness]            = true,
    [L.Aura_Veil_of_Blades]                 = true,
    [L.Aura_Shadow_Cloak]                   = true,
    [L.Aura_Shadowy_Disguise]               = true,
    [L.Aura_Dark_Cloak]                     = true,
    [L.Aura_Veiled_Strike]                  = true,
    [L.Aura_Concealed_Weapon]               = true,
    [L.Aura_Surprise_Attack]                = true,
    [L.Aura_Path_of_Darkness]               = true,
    [L.Aura_Refreshing_Path]                = true,
    [L.Aura_Twisting_Path]                  = true,
    [L.Aura_Aspect_of_Terror]               = true,
    [L.Aura_Mass_Hysteria]                  = true,
    [L.Aura_Manifestation_of_Terror]        = true,
    [L.Aura_Summon_Shade]                   = true,
    [L.Aura_Dark_Shades]                    = true,
    [L.Aura_Shadow_Image]                   = true,
}

local isDawnsWrath = {
    [L.Aura_Nova]                           = true,
    [L.Aura_Solar_Prison]                   = true,
    [L.Aura_Solar_Disturbance]              = true,
    [L.Aura_Sun_Fire]                       = true,
    [L.Aura_Vampires_Bane]                  = true,
    [L.Aura_Reflective_Light]               = true,
    [L.Aura_Solar_Flare]                    = true,
    [L.Aura_Dark_Flare]                     = true,
    [L.Aura_Solar_Barrage]                  = true,
    [L.Aura_Backlash]                       = true,
    [L.Aura_Purifying_Light]                = true,
    [L.Aura_Power_of_the_Light]             = true,
    [L.Aura_Eclipse]                        = true,
    [L.Aura_Total_Dark]                     = true,
    [L.Aura_Unstable_Core]                  = true,
    [L.Aura_Radiant_Destruction]            = true,
    [L.Aura_Radiant_Glory]                  = true,
    [L.Aura_Radiant_Oppresion]              = true,
}

function Srendarr:GetAuraData(ability)
    local data = data[ability]
    if (data) then
        return (data[1] > 0) and data[1] or false, (data[2] > 0) and data[2] or false, data[3], data[4]
    end
    return false, false, 0
end

function Srendarr:IsDamageShield(ability)
    return damageShields[ability] or false
end

function Srendarr:IsToggled(ability)
    return toggledEffects[ability] or false
end

function Srendarr:IsProc(ability)
    return isProc[ability] or false
end

function Srendarr:HasProc(ability)
    return hasProc[ability] or false
end

do --passive skill effects
    local GetUnitClassId                = GetUnitClassId
    local GetSkillAbilityId             = GetSkillAbilityId
    local GetSkillAbilityInfo           = GetSkillAbilityInfo
    local GetSkillAbilityUpgradeInfo    = GetSkillAbilityUpgradeInfo

    local passiveSkillEffects = {
        --Dragon Knight
--      ["Warmth"]                      = { name = false, buff = false, debuff = false, texture= "", abilityId = 0 },
        ["Mountain's Blessing"]         = { name = false, buff = false, debuff = false, texture= "", abilityId = 0 },
        --Sorcerer
        ["Exploitation"]                = { name = false, buff = false, debuff = false, texture= "", abilityId = 0 },
        --Nightblade
--      ["Hemorrhage"]                  = { name = false, buff = false, debuff = false, texture= "", abilityId = 0 },
        ["Shadow Barrier"]              = { name = false, buff = false, debuff = false, texture= "", abilityId = 0 },
        --Templar
        ["Illuminate"]                  = { name = false, buff = false, debuff = false, texture= "", abilityId = 0 },
        --Mages Guild
        ["Might of the Guild"]          = { name = false, buff = false, debuff = false, texture= "", abilityId = 0 },
    }

    local function GetSkillData(skillType, skillLine, abilityIndex)
        local name, texture, _, _, _, purchased = GetSkillAbilityInfo(skillType, skillLine, abilityIndex)
        if purchased then
            local upgradeLevel = GetSkillAbilityUpgradeInfo(skillType, skillLine, abilityIndex)
            local abilityId = GetSkillAbilityId(skillType, skillLine, abilityIndex, false)

            return name, texture, upgradeLevel, abilityId
        end
        return false, "", 0, 0
    end

    function Srendarr:GetDragonKnightEffect(ability)
        if isEarthenHeart[ability] then
            local data = passiveSkillEffects["Mountain's Blessing"]
            return data.name, data.buff, data.debuff, data.texture, data.abilityId
        end
        return false, false, false, "", 0
    end

    function Srendarr:GetSorcererEffect(ability)
        if isDarkMagic[ability] then
            local data = passiveSkillEffects["Exploitation"]
            return data.name, data.buff, data.debuff, data.texture, data.abilityId
        end
        return false, false, false, "", 0
    end

    function Srendarr:GetNightbladeEffect(ability)
        if isShadow[ability] then
            local data = passiveSkillEffects["Shadow Barrier"]
            return data.name, data.buff, data.debuff, data.texture, data.abilityId
        end
        return false, false, false, "", 0
    end

    function Srendarr:GetTemplarEffect(ability)
        if isDawnsWrath[ability] then
            local data = passiveSkillEffects["Illuminate"]
            return data.name, data.buff, data.debuff, data.texture, data.abilityId
        end
        return false, false, false, "", 0
    end

    function Srendarr:GetClassPassiveSkillEffect(ability)
        if self.classId == 1 then
            return self:GetDragonKnightEffect(ability)
        elseif self.classId == 2 then
            return self:GetSorcererEffect(ability)
        elseif self.classId == 3 then
            return self:GetNightbladeEffect(ability)
        elseif self.classId == 6 then
            return self:GetTemplarEffect(ability)
        end
        return false, false, false, "", 0
    end

    function Srendarr:GetMagesGuildEffect(ability)
        if isMagesGuild[ability] then
            local data = passiveSkillEffects["Might of the Guild"]
            return data.name, data.buff, data.debuff, data.texture, data.abilityId
        end
        return false, false, false, "", 0
    end

    function Srendarr:SetupPassiveSkillEffects()
        self.classId = self.classId or GetUnitClassId("player")

        --Dragon Knight
        if self.classId == 1 then
        --[[
            --Warmth
            local name, texture, upgradeLevel, abilityId = GetSkillData(SKILL_TYPE_CLASS, 1, 8)
            passiveSkillEffects["Warmth"].name              = name
            passiveSkillEffects["Warmth"].buff              = false
            passiveSkillEffects["Warmth"].debuff            = 2 * upgradeLevel
            passiveSkillEffects["Warmth"].texture           = texture
            passiveSkillEffects["Warmth"].abilityId         = abilityId
        --]]
            --Mountain's Blessing
            local name, texture, upgradeLevel, abilityId = GetSkillData(SKILL_TYPE_CLASS, 3, 9)
            passiveSkillEffects["Mountain's Blessing"].name      = name
            passiveSkillEffects["Mountain's Blessing"].buff      = 10 * upgradeLevel
            passiveSkillEffects["Mountain's Blessing"].debuff    = false
            passiveSkillEffects["Mountain's Blessing"].texture   = texture
            passiveSkillEffects["Mountain's Blessing"].abilityId = abilityId

        --Sorcerer
        elseif self.classId == 2 then
            --Exploitation
            local name, texture, upgradeLevel, abilityId = GetSkillData(SKILL_TYPE_CLASS, 1, 10)
            passiveSkillEffects["Exploitation"].name        = name
            passiveSkillEffects["Exploitation"].buff        = 10 * upgradeLevel
            passiveSkillEffects["Exploitation"].debuff      = false
            passiveSkillEffects["Exploitation"].texture     = texture
            passiveSkillEffects["Exploitation"].abilityId   = abilityId

        --Nightblade
        elseif self.classId == 3 then
        --[[
            --Hemorrhage
            local name, texture, upgradeLevel, abilityId = GetSkillData(SKILL_TYPE_CLASS, 1, 10)
            passiveSkillEffects["Hemorrhage"].name          = name
            passiveSkillEffects["Hemorrhage"].buff          = 10 * upgradeLevel
            passiveSkillEffects["Hemorrhage"].debuff        = false
            passiveSkillEffects["Hemorrhage"].texture       = texture
            passiveSkillEffects["Hemorrhage"].abilityId     = abilityId
        --]]
            --Shadow Barrier
            local name, texture, upgradeLevel, abilityId = GetSkillData(SKILL_TYPE_CLASS, 2, 8)
            passiveSkillEffects["Shadow Barrier"].name      = name
            passiveSkillEffects["Shadow Barrier"].buff      = (2 * upgradeLevel) * (1 + (self:GetNumArmorPieces(ARMORTYPE_HEAVY) * 0.25))
            passiveSkillEffects["Shadow Barrier"].debuff    = false
            passiveSkillEffects["Shadow Barrier"].texture   = texture
            passiveSkillEffects["Shadow Barrier"].abilityId = abilityId

        --Templar
        elseif self.classId == 6 then
            --Illuminate
            local name, texture, upgradeLevel, abilityId = GetSkillData(SKILL_TYPE_CLASS, 2, 9)
            passiveSkillEffects["Illuminate"].name          = name
            passiveSkillEffects["Illuminate"].buff          = 10 * upgradeLevel
            passiveSkillEffects["Illuminate"].debuff        = false
            passiveSkillEffects["Illuminate"].texture       = texture
            passiveSkillEffects["Illuminate"].abilityId     = abilityId
        end

        --Mages Guild
        local name, texture, upgradeLevel, abilityId = GetSkillData(SKILL_TYPE_GUILD, 2, 10)
        passiveSkillEffects["Might of the Guild"].name      = name
        passiveSkillEffects["Might of the Guild"].buff      = 5
        passiveSkillEffects["Might of the Guild"].debuff    = false
        passiveSkillEffects["Might of the Guild"].texture   = texture
        passiveSkillEffects["Might of the Guild"].abilityId = abilityId
    end
end

do --potions
    local strfind                       = zo_plainstrfind
    local strlower                      = zo_strlower
    local GetCurrentQuickslot           = GetCurrentQuickslot

    local medicinalUseCoefficient = 1

    local medicinalUseCoefficients = {
        [45569] = 1.1,
        [45571] = 1.2,
        [45573] = 1.3,
    }

    function Srendarr:GetMedicinalUseCoefficient()
        return medicinalUseCoefficient
    end

    function Srendarr:SetMedicinalUseCoefficient(abilityId)
        local newValue = medicinalUseCoefficients[abilityId]
        if newValue ~= nil and newValue ~= medicinalUseCoefficient  then
            medicinalUseCoefficient = newValue
            self.OnQuickSlotChanged(nil, GetCurrentQuickslot())
        end
    end

    function Srendarr:GetPotionData(ability, abilityId)
        local data = potionEffects[abilityId]

        if (data) then
            local buff, debuff, potionType = unpack(data)
            local duration = 0

            local potionDuration = potionDurations[potionType]

            for potionStrength, value in pairs(potionDuration) do
                if strfind(strlower(ability), strlower(potionStrength)) then
                    duration = value
                    break
                end
            end

            if duration > 0 then
                return buff and duration or false, debuff and duration or false
            end
        end

        return false, false
    end
end

do
    local ABILITY_TYPE_BLOCK            = ABILITY_TYPE_BLOCK
    local ABILITY_TYPE_CHANGEAPPEARANCE = ABILITY_TYPE_CHANGEAPPEARANCE
    local ABILITY_TYPE_NONE             = ABILITY_TYPE_NONE
    local ABILITY_TYPE_BONUS            = ABILITY_TYPE_BONUS
    local strMundus                     = L.Passive_Mundus
    local strHomeKeep                   = L.Passive_HomeKeepBonus
    local strEnemyKeep                  = L.Passive_EnemyKeepBonus
    local strScroll                     = L.Passive_ScrollBonus
    local strEmperor                    = L.Passive_Emperorship
    local strBattleSpirit               = L.Passive_Battle_Spirit
    local strBlessingOfWar              = L.Passive_Blessing_of_War
    local strSoulSummons                = L.Passive_SoulSummons
    local strfind                       = zo_plainstrfind
    local effectIDs                     = {}
    local db

    function Srendarr:IsWatchedTimed(ability)
        if ((not db.showVampLycan and vampLycanEffects[ability]) or (not db.showSoulSummons and ability == strSoulSummons) or (not db.showCyrodiil and ability == strBlessingOfWar)) then
            return false
        end
        return true
    end

    function Srendarr:IsWatchedTimedTarget(ability)
        if ((not db.showVampLycanTarget and vampLycanEffects[ability]) or (not db.showSoulSummonsTarget and ability == strSoulSummons) or (not db.showCyrodiil and ability == strBlessing)) then
            return false
        end
        return true
    end

    function Srendarr:IsWatchedPassive(ability, abilityType)
        if (not db.showPassive) then return false end -- quick abort if not showing passives

        -- vamp/ww
        if (vampLycanEffects[ability]) then return db.showVampLycan end
        -- blocking
        if (abilityType == ABILITY_TYPE_BLOCK) then return false end
        -- disguises
        if (abilityType == ABILITY_TYPE_CHANGEAPPEARANCE) then return db.showDisguise end
        --ignored effects
        if (ignoredEffects[ability]) then return db.showAllEffects end
        -- bonuses
        if (abilityType == ABILITY_TYPE_BONUS) then
            -- mundus boons
            if (not db.showMundus and strfind(ability, strMundus)) then return false end
            -- cyrodiil bonuses
            if (not db.showCyrodiil) then
                if (strfind(ability, strScroll) or strfind(ability, 'Keep Bonus') or strfind(ability, strHomeKeep) or strfind(ability, strEnemyKeep) or ability == strEmperor or ability == strBattleSpirit) then return false end
            end
        end

        return true -- passive must be wanted
    end

    function Srendarr:IsWatchedPassiveTarget(ability, abilityType)
        if (not db.showPassiveTarget) then return false end -- quick abort if not showing passives

        -- vamp/ww
        if (vampLycanEffects[ability]) then return db.showVampLycanTarget end
        -- blocking
        if (abilityType == ABILITY_TYPE_BLOCK) then return false end
        -- disguises
        if (abilityType == ABILITY_TYPE_CHANGEAPPEARANCE) then return db.showDisguiseTarget end
        --ignored effects
        if (ignoredEffects[ability]) then return db.showAllEffectsTarget end
        -- bonuses
        if (abilityType == ABILITY_TYPE_BONUS) then
            -- mundus boons
            if (not db.showMundusTarget and strfind(ability, strMundus)) then return false end
            -- cyrodiil bonuses
            if (not db.showCyrodiilTarget) then
                if (strfind(ability, strScroll) or strfind(ability, 'Keep Bonus') or strfind(ability, strHomeKeep) or strfind(ability, strEnemyKeep) or ability == strEmperor or ability == strBattleSpirit) then return false end
            end
        end

        return true -- passive must be wanted
    end

    function Srendarr:InitializeAbilityCheck()
        db = self.db -- just add a shortcut for a bit of speed
    end
end