lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

[/] [trunk/] [KragenPlugs/] [KragenBars/] [MiniBars.lua] - Rev 84

Go to most recent revision | Compare with Previous | Blame | View Log

import "Turbine.UI";
import "Turbine.UI.Lotro";
import "Turbine.Gameplay";
import "KragenPlugs.Utils";
import "KragenPlugs.KragenBars";

MiniBars = class( KragenPlugs.KragenBars.ClassBar );

function MiniBars:Constructor()

        KragenPlugs.KragenBars.ClassBar.Constructor( self );

        -- CLASS SPECIFIC VARIABLES
        
        self.effectlist["BalladofVigour"]                               = Effect();
        self.effectlist["BalladofSteel"]                                = Effect();
        self.effectlist["BalladofResonance"]                    = Effect();
        self.effectlist["BalladofSwiftness"]                    = Effect();
        self.effectlist["BalladofBalance"]                              = Effect();
        self.effectlist["BalladoftheStout"]                             = Effect();
        self.effectlist["BalladofWar"]                                  = Effect();
        self.effectlist["BalladofUnshakeableWill"]              = Effect();
        self.effectlist["BalladofFlame"]                                = Effect();
        self.effectlist["AnthemoftheFreePeoples"]               = Effect();
        self.effectlist["AnthemofCompassion"]                   = Effect();
        self.effectlist["BalladTier1"]                                  = Effect();
        self.effectlist["BalladTier2"]                                  = Effect();
        self.effectlist["BalladTier3"]                                  = Effect();
        self.effectlist["Warspeech"]                                    = Effect();
        self.effectlist["Silenced"]                                             = Effect();
        self.effectlist["TaleofHeroism"]                                = Effect();
        self.effectlist["TaleofBattle"]                                 = Effect();
        self.effectlist["TaleofWarding"]                                = Effect();
        self.effectlist["TaleofFrostandFlame"]                  = Effect();
        self.effectlist["TaleofWardingandHeroism"]              = Effect();
        self.effectlist["TaleofFrostandFlamesBattle"]   = Effect();
        self.effectlist["LuteStrings"]                                  = Effect();
    
        
        -- DEFINE THE EFFECT LIST BASED ON CLIENT LANGUAGE
        self.DefineEffectList = function()
                -- ENGLISH CLIENT
                if (settings.language == 1) then
                        self.effectlist["BalladofVigour"]                               :SetName("Ballad of Vigour");
                        self.effectlist["BalladofSteel"]                                :SetName("Ballad of Steel");
                        self.effectlist["BalladofResonance"]                    :SetName("Ballad of Resonance");
                        self.effectlist["BalladofSwiftness"]                    :SetName("Ballad of Swiftness");
                        self.effectlist["BalladofBalance"]                              :SetName("Ballad of Balance");
                        self.effectlist["BalladoftheStout"]                     :SetName("Ballad of the Stout");
                        self.effectlist["BalladofWar"]                                  :SetName("Ballad of War");
                        self.effectlist["BalladofUnshakeableWill"]              :SetName("Ballad of Unshakeable Will");
                        self.effectlist["BalladofFlame"]                                :SetName("Ballad of Flame");
                        self.effectlist["AnthemoftheFreePeoples"]               :SetName("Anthem of the Free Peoples");
                        self.effectlist["AnthemofCompassion"]                   :SetName("Anthem of Compassion");
                        self.effectlist["BalladTier1"]                                  :SetName("Ballad Tier 1");
                        self.effectlist["BalladTier2"]                                  :SetName("Ballad Tier 2");
                        self.effectlist["BalladTier3"]                                  :SetName("Ballad Tier 3");
                        self.effectlist["Warspeech"]                                    :SetName("War-speech");
                        self.effectlist["Silenced"]                                     :SetName("Silenced");
                        self.effectlist["TaleofHeroism"]                                :SetName("Tale of Heroism");
                        self.effectlist["TaleofBattle"]                                 :SetName("Tale of Battle");
                        self.effectlist["TaleofWarding"]                                :SetName("Tale of Warding");
                        self.effectlist["TaleofFrostandFlame"]                  :SetName("Tale of Frost and Flame");
                        self.effectlist["TaleofWardingandHeroism"]              :SetName("Tale of Warding and Heroism");
                        self.effectlist["TaleofFrostandFlamesBattle"]   :SetName("Tale of Frost and Flame's Battle");
                        self.effectlist["LuteStrings"]                                  :SetName("Lute Strings");
                elseif (settings.language == 2) then
                        self.effectlist["BalladofVigour"]                               :SetName("Ballad of Vigour");
                        self.effectlist["BalladofSteel"]                                :SetName("Ballad of Steel");
                        self.effectlist["BalladofResonance"]                    :SetName("Ballad of Resonance");
                        self.effectlist["BalladofSwiftness"]                    :SetName("Ballad of Swiftness");
                        self.effectlist["BalladofBalance"]                              :SetName("Ballad of Balance");
                        self.effectlist["BalladoftheStout"]                     :SetName("Ballad of the Stout");
                        self.effectlist["BalladofWar"]                                  :SetName("Ballad of War");
                        self.effectlist["BalladofUnshakeableWill"]              :SetName("Ballad of Unshakeable Will");
                        self.effectlist["BalladofFlame"]                                :SetName("Ballad of Flame");
                        self.effectlist["AnthemoftheFreePeoples"]               :SetName("Anthem of the Free Peoples");
                        self.effectlist["AnthemofCompassion"]                   :SetName("Anthem of Compassion");
                        self.effectlist["BalladTier1"]                                  :SetName("Ballad Tier 1");
                        self.effectlist["BalladTier2"]                                  :SetName("Ballad Tier 2");
                        self.effectlist["BalladTier3"]                                  :SetName("Ballad Tier 3");
                        self.effectlist["Warspeech"]                                    :SetName("War-speech");
                        self.effectlist["Silenced"]                                     :SetName("Silenced");
                        self.effectlist["TaleofHeroism"]                                :SetName("Tale of Heroism");
                        self.effectlist["TaleofBattle"]                                 :SetName("Tale of Battle");
                        self.effectlist["TaleofWarding"]                                :SetName("Tale of Warding");
                        self.effectlist["TaleofFrostandFlame"]                  :SetName("Tale of Frost and Flame");
                        self.effectlist["TaleofWardingandHeroism"]              :SetName("Tale of Warding and Heroism");
                        self.effectlist["TaleofFrostandFlamesBattle"]   :SetName("Tale of Frost and Flame's Battle");
                        self.effectlist["LuteStrings"]                                  :SetName("Lute Strings");
                        Turbine.Shell.WriteLine("Some features may not function with the French Client.  If you would like to help with French effect names goto http://www.lotrointerface.com/downloads/info384-KragenBars.html");
                elseif (settings.language == 3) then
                        self.effectlist["BalladofVigour"]                               :SetName("Ballade der Lebenskraft");
                        self.effectlist["BalladofSteel"]                                :SetName("Ballade des Stahls");
                        self.effectlist["BalladofResonance"]                    :SetName("Ballade der Resonanz");
                        self.effectlist["BalladofSwiftness"]                    :SetName("Ballade der Schnelligkeit");
                        self.effectlist["BalladofBalance"]                              :SetName("Ballade des Gleichgewichts");
                        self.effectlist["BalladoftheStout"]                     :SetName("Ballade der Starken");
                        self.effectlist["BalladofWar"]                                  :SetName("Ballade des Krieges");
                        self.effectlist["BalladofUnshakeableWill"]              :SetName("Ballade der Willenskraft");
                        self.effectlist["BalladofFlame"]                                :SetName("Ballade der Flamme");
                        self.effectlist["AnthemoftheFreePeoples"]               :SetName("Hymne der freien V�lker");
                        self.effectlist["AnthemofCompassion"]                   :SetName("Hymne des Mitgef�hls");
                        self.effectlist["BalladTier1"]                                  :SetName("Ballade, Stufe 1");
                        self.effectlist["BalladTier2"]                                  :SetName("Ballade, Stufe 2");
                        self.effectlist["BalladTier3"]                                  :SetName("Ballade, Stufe 3");
                        self.effectlist["Warspeech"]                                    :SetName("Kriegsrede");
                        self.effectlist["Silenced"]                                     :SetName("Verstummt");
                        self.effectlist["TaleofHeroism"]                                :SetName("Heldensage");
                        self.effectlist["TaleofBattle"]                                 :SetName("Geschichte des Gefechts");
                        self.effectlist["TaleofWarding"]                                :SetName("Geschichte der Bewachung");
                        self.effectlist["TaleofFrostandFlame"]                  :SetName("Geschichte von Frost- und Flamme");
                        self.effectlist["TaleofWardingandHeroism"]              :SetName("Geschichte der Bewachung und Heldensagen");
                        self.effectlist["TaleofFrostandFlamesBattle"]   :SetName("Geschichte vom Frost-und Flammengefecht");
                        self.effectlist["LuteStrings"]                                  :SetName("Lauten-Saiten");
                end
        end

 
    -- BUILD WINDOWS BARS SKILLS AND MULTIS --
 
        -- Build Skills         SkillSlot( parent:SkillBar, x:int, y:int, active:Boolean, level:int, hexcode:String );
    self.skills["BalladofVigour"]                       = SkillSlot(self.bars["BalladsT1"],     1, 1, true, 1, "0x70003E7C");
    self.skills["BalladofSteel"]                        = SkillSlot(self.bars["BalladsT1"],     2, 1, true, 4, "0x70003E7E");
    self.skills["BalladofResonance"]            = SkillSlot(self.bars["BalladsT1"],     3, 1, true, 8, "0x700031A8");
    
    self.skills["BalladofSwiftness"]            = SkillSlot(self.bars["BalladsT2"],     1, 1, false, 2, "0x70003E7F");
    self.skills["BalladofBalance"]                      = SkillSlot(self.bars["BalladsT2"],     2, 1, false, 12, "0x70003E83");
    self.skills["BalladoftheStout"]                     = SkillSlot(self.bars["BalladsT2"],     3, 1, false, 36, "0x70003E8F");
    
    self.skills["BalladofWar"]                          = SkillSlot(self.bars["BalladsT3"],     1, 1, false, 6, "0x7000317F");
    self.skills["BalladofUnshakeableWill"]      = SkillSlot(self.bars["BalladsT3"],     2, 1, false, 8, "0x70003E80");
    self.skills["BalladofFlame"]                        = SkillSlot(self.bars["BalladsT3"],     3, 1, false, 32, "0x70003E8D");
    
    self.skills["AnthemoftheFreePeoples"]       = SkillSlot(self.bars["Anthems"],               1, 1, false, 18, "0x70003E88");
    self.skills["AnthemofCompassion"]           = SkillSlot(self.bars["Anthems"],               2, 1, false, 24, "0x70003E8A");
    self.skills["AnthemoftheValar"]                     = SkillSlot(self.bars["Anthems"],               3, 1, false, 40, "0x70003184");
    self.skills["AnthemoftheWizards"]           = SkillSlot(self.bars["Anthems"],               4, 1, false, 41, "0x70001270");
    
    self.skills["Warspeech"]                            = SkillSlot(self.bars["Warspeech"],     1, 1, true, 10, "0x7000B699");

    self.skills["CallofOrome"]                          = SkillSlot(self.bars["Calls"],                 1, 1, false, 14, "0x7000B69A");
    self.skills["CalloftheSecondAge"]           = SkillSlot(self.bars["Calls"],                 2, 1, false, 34, "0x7000B69B");
    self.skills["CalltoFate"]                           = SkillSlot(self.bars["Calls"],                 3, 1, false, 56, "0x7000F250");
    
    self.skills["EchoesofBattle"]                       = SkillSlot(self.bars["Damage"],                1, 1, true, 6, "0x7000B697");
    self.skills["PiercingCry"]                          = SkillSlot(self.bars["Damage"],                2, 1, true, 2, "0x70003E7D");
    
    self.skills["SongofSoothing"]                       = SkillSlot(self.bars["Dethreat"],              1, 1, true, 28, "0x700031B7");
    self.skills["StillasDeath"]                         = SkillSlot(self.bars["Dethreat"],              2, 1, true, 38, "0x70003E90");

    self.skills["NobleCause"]                           = SkillSlot(self.bars["Melee"],                 1, 1, true, 14, "0x70003E84");
    self.skills["HeraldsStrike"]                        = SkillSlot(self.bars["Melee"],                 2, 1, true, { 1, 52 }, { "0x70003E7A", "0x70015A3C" });

    self.skills["RaisetheSpirit"]                       = SkillSlot(self.bars["Heals"],                 1, 1, true, 1, "0x70003E7B");
    self.skills["BolsterCourage"]                       = SkillSlot(self.bars["Heals"],                 2, 1, true, 16, "0x70003E85");
    self.skills["InspireFellows"]                       = SkillSlot(self.bars["Heals"],                 3, 1, true, 20, "0x70003E81");
    self.skills["TriumphantSpirit"]                     = SkillSlot(self.bars["Heals"],                 4, 1, true, 30, "0x70003E8C");
    self.skills["ChordofSalvation"]                     = SkillSlot(self.bars["Heals"],                 5, 1, true, 38, "0x7000BC01");
    self.skills["SoliloquyofSpirit"]            = SkillSlot(self.bars["Heals"],                 6, 1, true, 60, "0x7000F1F4");
    
    self.skills["SongofAid"]                            = SkillSlot(self.bars["Utility"],               1, 1, true, 30, "0x7000318C");
    self.skills["CalltotheFellowship"]          = SkillSlot(self.bars["Utility"],               2, 1, true, 46, "0x7000B69D");
    self.skills["GiftoftheHammerhand"]          = SkillSlot(self.bars["Utility"],               3, 1, true, 48, "0x7000B69E");
    self.skills["CalltoGreatness"]                      = SkillSlot(self.bars["Utility"],               4, 1, true, 50, "0x7000B69C");
    self.skills["SongoftheHopefulHeart"]        = SkillSlot(self.bars["Utility"],               5, 1, self.settings.traits["SongoftheHopefulHeart"].active, 41, "0x7000125F");
    
    self.skills["SongofRestoration"]            = SkillSlot(self.bars["Rez"],                   1, 1, true, { 18, 62 }, { "0x70003E86", "0x7000F25F" });
    self.skills["EnliveningGrace"]                      = SkillSlot(self.bars["Rez"],                   2, 1, true, 20, "0x700031AD");
    self.skills["Rally"]                                        = SkillSlot(self.bars["Rez"],                   3, 1, self.settings.traits["Rally"].active, 41, "0x70001251");
 
        self.skills["CryoftheValar"]                    = SkillSlot(self.bars["CrowdControl"],  1, 1, true, 12, "0x70003E82");
        self.skills["SongoftheDead"]                    = SkillSlot(self.bars["CrowdControl"],  2, 1, true, 16, "0x70003E87");
        self.skills["SongofDistraction"]                = SkillSlot(self.bars["CrowdControl"],  3, 1, true, 34, "0x70003E8E");
    
    self.skills["LayoftheHammerhand"]           = SkillSlot(self.bars["PowerShield"],   1, 1, true, { 42, 64 }, { "0x70003E91", "0x70020DF9" });

    self.skills["CryoftheChorus"]                       = SkillSlot(self.bars["Silenced"],              1, 1, self.settings.features["AlwaysShowChorus"].active, { 26, 54 }, { "0x700031B2", "0x7000F260" });
        
    self.skills["CureFear"]                                     = SkillSlot(self.bars["Cure"],                  1, 1, true, 26, "0x70003E8B");
    self.skills["FellowshipsHeart"]                     = SkillSlot(self.bars["Cure"],                  2, 1, self.settings.traits["FellowshipsHeart"].active, 45, "0x70006CEB");
    
        -- Build Quickslots         ItemSlot( parent:SkillBar, x:int, y:int, active:Boolean, type:int, data:String );
        self.skills["LuteStrings"]                              = ItemSlot(self.bars["Consumables"],    1, 1, true, self.settings.quickslots["LuteStrings"]);
        self.skills["SheetMusic"]                               = ItemSlot(self.bars["Consumables"],    2, 1, true, self.settings.quickslots["SheetMusic"]);
        
    -- Build MultiSlots         SkillMultiSlot( parent:SkillBar, x:int, y:int, active:Boolean );
    --                                                  multi:AddShortCut(name:String, level:int, hex:String);
        self.multi["TalesSlot"]                         = SkillMultiSlot(self.bars["Tales"], 1, 1, true);
        self.multi["TalesSlot"]:AddShortCut("TaleofHeroism",            22, "0x70003E89");
    self.multi["TalesSlot"]:AddShortCut("TaleofBattle",                 32, "0x7000B661");
    self.multi["TalesSlot"]:AddShortCut("TaleofWarding",                44, "0x7000B660");
    self.multi["TalesSlot"]:AddShortCut("TaleofFrostandFlame",  58, "0x7000F216");
    if (self.settings.traits["MasterofTales"].active) then self.multi["TalesSlot"]:AddShortCut("TaleofWardingandHeroism",               55, "0x7000F21B"); end
    if (self.settings.traits["MasterofTales"].active) then self.multi["TalesSlot"]:AddShortCut("TaleofFrostandFlamesBattle",    55, "0x7000F21C"); end
    self.multi["TalesSlot"]:LevelCheck();
        self.multi["TalesSlot"]:SetIndex(self.settings.defaults["PrimaryTale"].selected);

        -- SET COMBAT STATES
        self.skills["SongofSoothing"]:SetCombat(true, false);
        self.skills["StillasDeath"]:SetCombat(true, false);
        self.skills["SongofRestoration"]:SetCombat(false, true);
        self.skills["EnliveningGrace"]:SetCombat(false, true);
        self.skills["SheetMusic"]:SetCombat(true, false);
        
        -- CLASS SPECIFIC SETUP/DEFAULT CODE

        
    -- EVENTS

        -- Stance Change Event
        AddCallback(vars.classattr, "StanceChanged", function(sender, args)
                KragenBars:StanceChange(vars.classattr:GetStance());
        end);
        
        -- Ballad Tier Change Events
        -- AddCallback(vars.classattr, "IsSerenadeTier1AvailableChanged", function(sender, args)
                -- KragenBars:BalladT1Change(vars.classattr:IsSerenadeTier1Available());
        -- end);
        
        -- AddCallback(vars.classattr, "IsSerenadeTier2Changed", function(sender, args)
                -- KragenBars:BalladT2Change(vars.classattr:IsSerenadeTier2Available());
        -- end);
        
        -- AddCallback(vars.classattr, "IsSerenadeTier3Changed", function(sender, args)
                -- KragenBars:BalladT3Change(vars.classattr:IsSerenadeTier3Available());
        -- end);
        

        -- INITIALIZE BARS
        self:InitBars();
        self:CombatChange(vars.player:IsInCombat());
        -- self:StanceChange(vars.classattr:GetStance());
        -- self:BalladT1Change(vars.classattr:IsSerenadeTier1Available());
        -- self:BalladT2Change(vars.classattr:IsSerenadeTier2Available());
        -- self:BalladT2Change(vars.classattr:IsSerenadeTier2Available());
        
end


-- ADD EFFECT EVENT
function MiniBars:AddEffect( effectIndex )
        local effect = vars.player:GetEffects():Get( effectIndex );
        local name = effect:GetName();
        local id = effect:GetID();
        
        if (name == self.effectlist["BalladofVigour"]:GetName() and self.settings.defaults["ActiveBallad"].selected ~= 1) then
        if (self.effectlist["BalladofVigour"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladofVigour"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveBallad"].selected == 3) then
                                self.skills["BalladofVigour"]:SetActive(false);
                        end
                end

        elseif (name == self.effectlist["BalladofSteel"]:GetName() and self.settings.defaults["ActiveBallad"].selected ~= 1) then
        if (self.effectlist["BalladofSteel"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladofSteel"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveBallad"].selected == 3) then
                                self.skills["BalladofSteel"]:SetActive(false);
                        end
                end

        elseif (name == self.effectlist["BalladofResonance"]:GetName() and self.settings.defaults["ActiveBallad"].selected ~= 1) then
        if (self.effectlist["BalladofResonance"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladofResonance"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveBallad"].selected == 3) then
                                self.skills["BalladofResonance"]:SetActive(false);
                        end
                end

        elseif (name == self.effectlist["BalladofSwiftness"]:GetName() and self.settings.defaults["ActiveBallad"].selected ~= 1) then
        if (self.effectlist["BalladofSwiftness"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladofSwiftness"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveBallad"].selected == 3) then
                                self.skills["BalladofSwiftness"]:SetActive(false);
                        end
                end

        elseif (name == self.effectlist["BalladofBalance"]:GetName() and self.settings.defaults["ActiveBallad"].selected ~= 1) then
        if (self.effectlist["BalladofBalance"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladofBalance"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveBallad"].selected == 3) then
                                self.skills["BalladofBalance"]:SetActive(false);
                        end
                end

        elseif (name == self.effectlist["BalladoftheStout"]:GetName() and self.settings.defaults["ActiveBallad"].selected ~= 1) then
        if (self.effectlist["BalladoftheStout"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladoftheStout"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveBallad"].selected == 3) then
                                self.skills["BalladoftheStout"]:SetActive(false);
                        end
                end

        elseif (name == self.effectlist["BalladofWar"]:GetName() and self.settings.defaults["ActiveBallad"].selected ~= 1) then
        if (self.effectlist["BalladofWar"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladofWar"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveBallad"].selected == 3) then
                                self.skills["BalladofWar"]:SetActive(false);
                        end
                end

        elseif (name == self.effectlist["BalladofUnshakeableWill"]:GetName() and self.settings.defaults["ActiveBallad"].selected ~= 1) then
        if (self.effectlist["BalladofUnshakeableWill"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladofUnshakeableWill"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveBallad"].selected == 3) then
                                self.skills["BalladofUnshakeableWill"]:SetActive(false);
                        end
                end

        elseif (name == self.effectlist["BalladofFlame"]:GetName() and self.settings.defaults["ActiveBallad"].selected ~= 1) then
        if (self.effectlist["BalladofFlame"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladofFlame"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveBallad"].selected == 3) then
                                self.skills["BalladofFlame"]:SetActive(false);
                        end
                end

        elseif (name == self.effectlist["AnthemoftheFreePeoples"]:GetName() and self.settings.defaults["ActiveBallad"].selected ~= 1) then
        if (self.effectlist["AnthemoftheFreePeoples"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["AnthemoftheFreePeoples"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveBallad"].selected == 3) then
                                self.skills["AnthemoftheFreePeoples"]:SetActive(false);
                        end
                end

        elseif (name == self.effectlist["AnthemofCompassion"]:GetName() and self.settings.defaults["ActiveBallad"].selected ~= 1) then
        if (self.effectlist["AnthemofCompassion"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["AnthemofCompassion"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveBallad"].selected == 3) then
                                self.skills["AnthemofCompassion"]:SetActive(false);
                        end
                end
                
        elseif (name == self.effectlist["BalladTier1"]:GetName()) then
        if (self.effectlist["BalladTier1"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 1 or self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladofSwiftness"]:SetActive(true);
                                self.skills["BalladofBalance"]:SetActive(true);
                                self.skills["BalladoftheStout"]:SetActive(true);
                        else
                                self.skills["BalladofSwiftness"]:SetActive(not self.effectlist["BalladofSwiftness"]:GetState());
                                self.skills["BalladofBalance"]:SetActive(not self.effectlist["BalladofBalance"]:GetState());
                                self.skills["BalladoftheStout"]:SetActive(not self.effectlist["BalladoftheStout"]:GetState());
                        end
                end

        elseif (name == self.effectlist["BalladTier2"]:GetName()) then
        if (self.effectlist["BalladTier2"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 1 or self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladofWar"]:SetActive(true);
                                self.skills["BalladofUnshakeableWill"]:SetActive(true);
                                self.skills["BalladofFlame"]:SetActive(true);
                        else
                                self.skills["BalladofWar"]:SetActive(not self.skills["BalladofWar"]:GetState());
                                self.skills["BalladofUnshakeableWill"]:SetActive(not self.skills["BalladofUnshakeableWill"]:GetState());
                                self.skills["BalladofFlame"]:SetActive(not self.skills["BalladofFlame"]:GetState());
                        end
                end

        elseif (name == self.effectlist["BalladTier3"]:GetName()) then
        if (self.effectlist["BalladTier3"]:SetState(true, id)) then
                        self.skills["AnthemoftheValar"]:SetActive(true);
                        self.skills["AnthemoftheWizards"]:SetActive(self.settings.traits["AnthemoftheWizards"].active);
                        if (self.settings.defaults["ActiveBallad"].selected == 1 or self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["AnthemoftheFreePeoples"]:SetActive(true);
                                self.skills["AnthemofCompassion"]:SetActive(true);
                        else
                                self.skills["AnthemoftheFreePeoples"]:SetActive(not self.skills["AnthemoftheFreePeoples"]:GetState());
                                self.skills["AnthemofCompassion"]:SetActive(not self.skills["AnthemofCompassion"]:GetState());
                        end
                end
        
        elseif (name == self.effectlist["Warspeech"]:GetName()) then
        if (self.effectlist["Warspeech"]:SetState(true, id)) then
                        self.skills["CallofOrome"]:SetActive(true);
                        self.skills["CalloftheSecondAge"]:SetActive(true);
                        self.skills["CalltoFate"]:SetActive(true);
                end
                
        elseif (name == self.effectlist["Silenced"]:GetName() and not self.settings.features["AlwaysShowChorus"].active) then
        if (self.effectlist["Silenced"]:SetState(true, id)) then
                        self.skills["CryoftheChorus"]:SetActive(true);
                end
                
        elseif (name == self.effectlist["TaleofHeroism"]:GetName() or name == self.effectlist["TaleofBattle"]:GetName() or name == self.effectlist["TaleofWarding"]:GetName() or name == self.effectlist["TaleofFrostandFlame"]:GetName() or name == self.effectlist["TaleofWardingandHeroism"]:GetName() or name == self.effectlist["TaleofFrostandFlamesBattle"]:GetName()) then
        if (self.effectlist["TaleofHeroism"]:SetState(true, id)) then
                        self.multi["TalesSlot"]:SetHover(true);
                end
                
        elseif (string.find(name, self.effectlist["LuteStrings"]:GetName()) ~= nil) then
        if (self.effectlist["LuteStrings"]:SetState(true, id)) then
                        self.skills["LuteStrings"]:SetActive(false);
                        self.skills["LuteStrings"]:SetHover(true);
                        self.skills["LuteStrings"]:StartTimer(effect:GetDuration() * .85, true);
                end
        
    end
end


-- REMOVE EFFECT EVENT
function MiniBars:RemoveEffect( effect )
        local name = effect:GetName();
        local id = effect:GetID();

        if (name == self.effectlist["BalladofVigour"]:GetName()) then
                if (not self.effectlist["BalladofVigour"]:SetState(false, id)) then
                        self.skills["BalladofVigour"]:SetActive(true);
                        self.skills["BalladofVigour"]:SetHover(false);
                end

        elseif (name == self.effectlist["BalladofSteel"]:GetName()) then
                if (not self.effectlist["BalladofSteel"]:SetState(false, id)) then
                        self.skills["BalladofSteel"]:SetActive(true);
                        self.skills["BalladofSteel"]:SetHover(false);
                end

        elseif (name == self.effectlist["BalladofResonance"]:GetName()) then
                if (not self.effectlist["BalladofResonance"]:SetState(false, id)) then
                        self.skills["BalladofResonance"]:SetActive(true);
                        self.skills["BalladofResonance"]:SetHover(false);
                end

        elseif (name == self.effectlist["BalladofSwiftness"]:GetName()) then
                if (not self.effectlist["BalladofSwiftness"]:SetState(false, id)) then
                        self.skills["BalladofSwiftness"]:SetActive(self.effectlist["BalladTier1"]:GetState());
                        self.skills["BalladofSwiftness"]:SetHover(false);
                end

        elseif (name == self.effectlist["BalladofBalance"]:GetName()) then
                if (not self.effectlist["BalladofBalance"]:SetState(false, id)) then
                        self.skills["BalladofBalance"]:SetActive(self.effectlist["BalladTier1"]:GetState());
                        self.skills["BalladofBalance"]:SetHover(false);
                end

        elseif (name == self.effectlist["BalladoftheStout"]:GetName()) then
                if (not self.effectlist["BalladoftheStout"]:SetState(false, id)) then
                        self.skills["BalladoftheStout"]:SetActive(self.effectlist["BalladTier1"]:GetState());
                        self.skills["BalladoftheStout"]:SetHover(false);
                end

        elseif (name == self.effectlist["BalladofWar"]:GetName()) then
                if (not self.effectlist["BalladofWar"]:SetState(false, id)) then
                        self.skills["BalladofWar"]:SetActive(self.effectlist["BalladTier2"]:GetState());
                        self.skills["BalladofWar"]:SetHover(false);
                end

        elseif (name == self.effectlist["BalladofUnshakeableWill"]:GetName()) then
                if (not self.effectlist["BalladofUnshakeableWill"]:SetState(false, id)) then
                        self.skills["BalladofUnshakeableWill"]:SetActive(self.effectlist["BalladTier2"]:GetState());
                        self.skills["BalladofUnshakeableWill"]:SetHover(false);
                end

        elseif (name == self.effectlist["BalladofFlame"]:GetName()) then
                if (not self.effectlist["BalladofFlame"]:SetState(false, id)) then
                        self.skills["BalladofFlame"]:SetActive(self.effectlist["BalladTier2"]:GetState());
                        self.skills["BalladofFlame"]:SetHover(false);
                end

        elseif (name == self.effectlist["AnthemoftheFreePeoples"]:GetName()) then
                if (not self.effectlist["AnthemoftheFreePeoples"]:SetState(false, id)) then
                        self.skills["AnthemoftheFreePeoples"]:SetActive(self.effectlist["BalladTier3"]:GetState());
                        self.skills["AnthemoftheFreePeoples"]:SetHover(false);
                end

        elseif (name == self.effectlist["AnthemofCompassion"]:GetName()) then
                if (not self.effectlist["AnthemofCompassion"]:SetState(false, id)) then
                        self.skills["AnthemofCompassion"]:SetActive(self.effectlist["BalladTier3"]:GetState());
                        self.skills["AnthemofCompassion"]:SetHover(false);
                end

        elseif (name == self.effectlist["BalladTier1"]:GetName()) then
                if (not self.effectlist["BalladTier1"]:SetState(false, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 1 or self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladofSwiftness"]:SetActive(self.effectlist["BalladTier1"]:GetState());
                                self.skills["BalladofBalance"]:SetActive(self.effectlist["BalladTier1"]:GetState());
                                self.skills["BalladoftheStout"]:SetActive(self.effectlist["BalladTier1"]:GetState());
                        else
                                self.skills["BalladofSwiftness"]:SetActive(self.effectlist["BalladTier1"]:GetState() and not self.effectlist["BalladofSwiftness"]:GetState());
                                self.skills["BalladofBalance"]:SetActive(self.effectlist["BalladTier1"]:GetState() and not self.effectlist["BalladofBalance"]:GetState());
                                self.skills["BalladoftheStout"]:SetActive(self.effectlist["BalladTier1"]:GetState() and not self.effectlist["BalladoftheStout"]:GetState());
                        end
                end

        elseif (name == self.effectlist["BalladTier2"]:GetName()) then
                if (not self.effectlist["BalladTier2"]:SetState(false, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 1 or self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["BalladofWar"]:SetActive(self.effectlist["BalladTier2"]:GetState());
                                self.skills["BalladofUnshakeableWill"]:SetActive(self.effectlist["BalladTier2"]:GetState());
                                self.skills["BalladofFlame"]:SetActive(self.effectlist["BalladTier2"]:GetState());
                        else
                                self.skills["BalladofWar"]:SetActive(self.effectlist["BalladTier2"]:GetState() and not self.effectlist["BalladofWar"]:GetState());
                                self.skills["BalladofUnshakeableWill"]:SetActive(self.effectlist["BalladTier2"]:GetState() and not self.effectlist["BalladofUnshakeableWill"]:GetState());
                                self.skills["BalladofFlame"]:SetActive(self.effectlist["BalladTier2"]:GetState() and not self.effectlist["BalladofFlame"]:GetState());
                        end
                end

        elseif (name == self.effectlist["BalladTier3"]:GetName()) then
                if (not self.effectlist["BalladTier3"]:SetState(false, id)) then
                        if (self.settings.defaults["ActiveBallad"].selected == 1 or self.settings.defaults["ActiveBallad"].selected == 2) then
                                self.skills["AnthemoftheFreePeoples"]:SetActive(self.effectlist["BalladTier3"]:GetState());
                                self.skills["AnthemofCompassion"]:SetActive(self.effectlist["BalladTier3"]:GetState());
                        else
                                self.skills["AnthemoftheFreePeoples"]:SetActive(self.effectlist["BalladTier3"]:GetState() and not self.effectlist["AnthemoftheFreePeoples"]:GetState());
                                self.skills["AnthemofCompassion"]:SetActive(self.effectlist["BalladTier3"]:GetState() and not self.effectlist["AnthemofCompassion"]:GetState());
                        end
                        self.skills["AnthemoftheValar"]:SetActive(false);
                        self.skills["AnthemoftheWizards"]:SetActive(false);
                end
                
        elseif (name == self.effectlist["Warspeech"]:GetName()) then
                if (not self.effectlist["Warspeech"]:SetState(false, id)) then
                        self.skills["CallofOrome"]:SetActive(false);
                        self.skills["CalloftheSecondAge"]:SetActive(false);
                        self.skills["CalltoFate"]:SetActive(false);
                end
                
        elseif (name == self.effectlist["Silenced"]:GetName() and not self.settings.features["AlwaysShowChorus"].active) then
                if (not self.effectlist["Silenced"]:SetState(false, id)) then
                        self.skills["CryoftheChorus"]:SetState( false , false, id);
                end

        elseif (name == self.effectlist["TaleofHeroism"]:GetName() or name == self.effectlist["TaleofBattle"]:GetName() or name == self.effectlist["TaleofWarding"]:GetName() or name == self.effectlist["TaleofFrostandFlame"]:GetName() or name == self.effectlist["TaleofWardingandHeroism"]:GetName() or name == self.effectlist["TaleofFrostandFlamesBattle"]:GetName()) then
                if (not self.effectlist["TaleofHeroism"]:SetState(false, id)) then
                        self.multi["TalesSlot"]:SetHover(false);
                end
        
        elseif (string.find(name, self.effectlist["LuteStrings"]:GetName()) ~= nil) then
                if (not self.effectlist["LuteStrings"]:SetState(false, id)) then
                        self.skills["LuteStrings"]:SetActive(true);
                        self.skills["LuteStrings"]:SetHover(false);
                end
        
        end
end


function MiniBars:StanceChange(stance)
        -- Turbine.Shell.WriteLine("KragenBars: Stance Change: " ..vars.classattr:GetStance());

        -- if (stance == 1) then
                -- self.skills["CallofOrome"]:SetActive(true);
                -- self.skills["CalloftheSecondAge"]:SetActive(true);
                -- self.skills["CalltoFate"]:SetActive(true);
        -- else
                -- self.skills["CallofOrome"]:SetActive(false);
                -- self.skills["CalloftheSecondAge"]:SetActive(false);
                -- self.skills["CalltoFate"]:SetActive(false);
        -- end

end


function MiniBars:BalladT1Change(bol)
        -- if (vars.classattr:IsSerenadeTier1Available()) then
                -- Turbine.Shell.WriteLine("KragenBars: BalladT1 Change: true");
        -- else
                -- Turbine.Shell.WriteLine("KragenBars: BalladT1 Change: false");
        -- end
                
        -- if (bol) then
                -- if (self.settings["Features"].activeballad == 0 or self.settings["Features"].activeballad == 1) then
                        -- self.skills["BalladofSwiftness"]:SetActive(true);
                        -- self.skills["BalladofBalance"]:SetActive(true);
                        -- self.skills["BalladoftheStout"]:SetActive(true);
                -- else
                        -- self.skills["BalladofSwiftness"]:SetActive(not self.skills["BalladofSwiftness"].state);
                        -- self.skills["BalladofBalance"]:SetActive(not self.skills["BalladofBalance"].state);
                        -- self.skills["BalladoftheStout"]:SetActive(not self.skills["BalladoftheStout"].state);
                -- end
        -- else
                -- self.skills["BalladofSwiftness"]:SetActive(false);
                -- self.skills["BalladofBalance"]:SetActive(false);
                -- self.skills["BalladoftheStout"]:SetActive(false);
        -- end

end


function MiniBars:BalladT2Change(bol)
        -- if (vars.classattr:IsSerenadeTier2Available()) then
                -- Turbine.Shell.WriteLine("KragenBars: BalladT2 Change: true");
        -- else
                -- Turbine.Shell.WriteLine("KragenBars: BalladT2 Change: false");
        -- end


        -- if (bol) then
                -- if (self.settings["Features"].activeballad == 0 or self.settings["Features"].activeballad == 1) then
                        -- self.skills["BalladofWar"]:SetActive(true);
                        -- self.skills["BalladofUnshakeableWill"]:SetActive(true);
                        -- self.skills["BalladofFlame"]:SetActive(true);
                -- else
                        -- self.skills["BalladofWar"]:SetActive(not self.skills["BalladofWar"].state);
                        -- self.skills["BalladofUnshakeableWill"]:SetActive(not self.skills["BalladofUnshakeableWill"].state);
                        -- self.skills["BalladofFlame"]:SetActive(not self.skills["BalladofFlame"].state);
                -- end
        -- else
                -- self.skills["BalladofWar"]:SetActive(false);
                -- self.skills["BalladofUnshakeableWill"]:SetActive(false);
                -- self.skills["BalladofFlame"]:SetActive(false);
        -- end

end


function MiniBars:BalladT3Change(bol)
        -- if (vars.classattr:IsSerenadeTier3Available()) then
                -- Turbine.Shell.WriteLine("KragenBars: BalladT3 Change: true");
        -- else
                -- Turbine.Shell.WriteLine("KragenBars: BalladT3 Change: false");
        -- end

        -- if (bol) then
                -- self.skills["AnthemoftheValar"]:SetActive(true);
                -- self.skills["AnthemoftheWizards"]:SetActive(self.settings["Features"].wizards);
                -- if (self.settings["Features"].activeballad == 0 or self.settings["Features"].activeballad == 1) then
                        -- self.skills["AnthemoftheFreePeoples"]:SetActive(true);
                        -- self.skills["AnthemofCompassion"]:SetActive(true);
                -- else
                        -- self.skills["AnthemoftheFreePeoples"]:SetActive(not self.skills["AnthemoftheFreePeoples"].state);
                        -- self.skills["AnthemofCompassion"]:SetActive(not self.skills["AnthemofCompassion"].state);
                -- end
        -- else
                -- self.skills["AnthemoftheFreePeoples"]:SetActive(false);
                -- self.skills["AnthemofCompassion"]:SetActive(false);
        -- end

end


function MiniBars:DefaultSettings()
        self.settings = { preconf = { }, userconf = { }, traits = { }, features = { }, defaults = { }, quickslots = { } };

        self.settings.userconf["BalladsT1"]     = { id = 1,     name = "Ballads T1",    defpos = {1,1},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["BalladsT2"]     = { id = 2,     name = "Ballads T2",    defpos = {1,2},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["BalladsT3"]     = { id = 3,     name = "Ballads T3",    defpos = {1,3},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Anthems"]               = { id = 4,     name = "Anthems",               defpos = {1,4},         size={4,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Warspeech"]     = { id = 5,     name = "Warspeech",             defpos = {4,1},         size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Calls"]                 = { id = 6,     name = "Calls",                 defpos = {5,1},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Damage"]                = { id = 7,     name = "Damage",                defpos = {8,1},         size={2,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Dethreat"]              = { id = 8,     name = "Dethreat",              defpos = {10,1},        size={2,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Melee"]                 = { id = 9,     name = "Melee",                 defpos = {4,2},         size={2,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Heals"]                 = { id = 10,    name = "Heals",                 defpos = {1,5},         size={6,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Tales"]                 = { id = 11,    name = "Tales",                 defpos = {6,2},         size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Utility"]               = { id = 12,    name = "Utility",               defpos = {7,2},         size={5,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Rez"]                   = { id = 13,    name = "Rez",                   defpos = {4,3},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["CrowdControl"]  = { id = 14,    name = "Crowd Control", defpos = {8,2},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["PowerShield"]   = { id = 15,    name = "PowerShield",   defpos = {5,4},         size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Silenced"]              = { id = 16,    name = "Silenced",              defpos = {6,4},         size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Cure"]                  = { id = 17,    name = "Cure",                  defpos = {7,4},         size={2,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Consumables"]   = { id = 18,    name = "Consumables",   defpos = {9,4},         size={2,1}, pos = {0,0}, combat = {true,true}, active = true };

        self.settings.traits["SongoftheHopefulHeart"]   = { id = 1, name = "Song..Hopeful Heart", active = false };
        self.settings.traits["FellowshipsHeart"]                = { id = 2, name = "Fellowship's Heart", active = false };
        self.settings.traits["Rally"]                                   = { id = 3, name = "Rally", active = false };
        self.settings.traits["AnthemoftheWizards"]              = { id = 4, name = "Anthem...Wizards", active = false };
        self.settings.traits["MasterofTales"]                   = { id = 5, name = "Master of Tales", active = false };
        
        self.settings.features["AlwaysShowChorus"]              = { id = 1, name = "Always Show Chorus", active = false };

        self.settings.defaults["PrimaryTale"]   = { id = 1, name = "Primary Tale", selected = 1, list = { "Tale of Heroism", "Tale of Battle", "Tale of Warding", "Tale of Frost and Flame", "Tale of Warding and Heroism", "Tale of Frost and Flame's Battle" } };
        self.settings.defaults["ActiveBallad"]  = { id = 2, name = "Active Ballad Effect", selected = 1, list = { "None", "Dim", "Hide" } };

        self.settings.quickslots["LuteStrings"]         = {id = 1, name = "Lute Strings", active = false, type = 0, data = ""};
        self.settings.quickslots["SheetMusic"]          = {id = 2, name = "Sheet Music", active = false, type = 0, data = ""};

end


function MiniBars:UpdateSettings()
        if (settings.vers < 3.12) then
                self.settings["Consumables"] = { active = true, x = 0, y = 0, rotate = 0 };
                
                self.settings["Quickslots"] = { };
                self.settings["Quickslots"].lutestrings = { active = false, type = Turbine.UI.Lotro.ShortcutType.Undefined, data = "" };
                self.settings["Quickslots"].sheetmusic = { active = false, type = Turbine.UI.Lotro.ShortcutType.Undefined, data = "" };
        end

        if (settings.vers < 3.21) then
                local oldclassinfo = self.settings;
                self:DefaultSettings();
                for k,v in pairs(oldclassinfo) do
                        if (k ~= "Features" and k ~= "Quickslots") then
                                if (self.settings.preconf[k] == nil) then
                                        if (self.settings.userconf[k] ~= nil) then
                                                self.settings.userconf[k].pos = { v.x, v.y };
                                                self.settings.userconf[k].combat = { true, true };
                                                self.settings.userconf[k].active = v.active;
                                        end
                                else
                                        self.settings.preconf[k].pos = { v.x, v.y };
                                        self.settings.preconf[k].combat = { true, true };
                                        self.settings.preconf[k].active = v.active;
                                end
                        elseif (k == "Features") then
                                for key, value in pairs(v) do
                                        if (key == 'activeballad') then
                                                self.settings.defaults["ActiveBallad"].selected = value;
                                        elseif (key == 'wizards') then
                                                self.settings.traits["AnthemoftheWizards"].active = value;
                                        elseif (key == 'primarytale') then
                                                self.settings.defaults["PrimaryTale"].selected = value;
                                        elseif (key == 'mastertales') then
                                                self.settings.traits["MasterofTales"].active = value;
                                        elseif (key == 'hopefulheart') then
                                                self.settings.traits["SongoftheHopefulHeart"].active = value;
                                        elseif (key == 'rally') then
                                                self.settings.traits["Rally"].active = value;
                                        elseif (key == 'fellowshipsheart') then
                                                self.settings.traits["FellowshipsHeart"].active = value;
                                        end
                                end
                        elseif (k == "Quickslots") then
                                for key, value in pairs(v) do
                                        if (key == 'lutestrings') then
                                                self.settings.quickslots["LuteStrings"].active = value.active;
                                                self.settings.quickslots["LuteStrings"].type = value.type;
                                                self.settings.quickslots["LuteStrings"].data = value.data;
                                        elseif (key == 'sheetmusic') then
                                                self.settings.quickslots["SheetMusic"].active = value.active;
                                                self.settings.quickslots["SheetMusic"].type = value.type;
                                                self.settings.quickslots["SheetMusic"].data = value.data;
                                        end
                                end
                        end
                end
        end
        
        if (self.settings.features["AlwaysShowChorus"] == nil) then
                self.settings.features["AlwaysShowChorus"] = { id = 1, name = "Always Show Chorus", active = false };
        end


        settings.vers = vars.vers;

end


function MiniBars:Refresh()

        -- GENERIC REFRESH (Required for all classes)
        self:RefreshBars();
        
        -- REDEFINE EFFECTLIST IN CASE OF LANGUAGE CHANGE
        self.DefineEffectList();

    -- CLASS SPECIFIC REFRESH
    -- Setup Features
        self.skills["AnthemoftheWizards"]:SetActive(self.settings.traits["AnthemoftheWizards"].active and self.effectlist["BalladTier3"]:GetState());
        self.skills["SongoftheHopefulHeart"]:SetActive(self.settings.traits["SongoftheHopefulHeart"].active);
        self.skills["Rally"]:SetActive(self.settings.traits["Rally"].active);
        self.skills["FellowshipsHeart"]:SetActive(self.settings.traits["FellowshipsHeart"].active);
        
        self.skills["CryoftheChorus"]:SetActive(self.settings.features["AlwaysShowChorus"].active or self.effectlist["Silenced"]:GetState());
        
        self.skills["LuteStrings"]:SetQuickslot(self.settings.quickslots["LuteStrings"]);
        self.skills["SheetMusic"]:SetQuickslot(self.settings.quickslots["SheetMusic"]);

        -- Build Multi Slots
        self.multi["TalesSlot"]:Clear();
        self.multi["TalesSlot"]:AddShortCut("TaleofHeroism",            22, "0x70003E89");
    self.multi["TalesSlot"]:AddShortCut("TaleofBattle",                 32, "0x7000B661");
    self.multi["TalesSlot"]:AddShortCut("TaleofWarding",                44, "0x7000B660");
    self.multi["TalesSlot"]:AddShortCut("TaleofFrostandFlame",  58, "0x7000F216");
    if (self.settings.traits["MasterofTales"].active) then self.multi["TalesSlot"]:AddShortCut("TaleofWardingandHeroism",               55, "0x7000F21B"); end
    if (self.settings.traits["MasterofTales"].active) then self.multi["TalesSlot"]:AddShortCut("TaleofFrostandFlamesBattle",    55, "0x7000F21C"); end
    self.multi["TalesSlot"]:LevelCheck();
        self.multi["TalesSlot"]:SetIndex(self.settings.defaults["PrimaryTale"].selected);
        if (self.effectlist["TaleofHeroism"]:GetState()) then
                self.multi["TalesSlot"]:SetHover(true);
        end             
    
    -- Refresh States
    self:CombatChange(vars.player:IsInCombat());
        -- self:StanceChange(vars.classattr:GetStance());
        -- self:BalladT1Change(vars.classattr:IsSerenadeTier1Available());
        -- self:BalladT2Change(vars.classattr:IsSerenadeTier2Available());
        -- self:BalladT2Change(vars.classattr:IsSerenadeTier2Available());

end

Go to most recent revision | Compare with Previous | Blame


All times are GMT -5. The time now is 09:37 AM.


Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | ESOUI | LoTROInterface | MMOUI | Swtorui