lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

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

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.ballads = 0;

        self.effectlist["BalladDamageBonus"]                    = Effect();
        self.effectlist["BalladHealingBonus"]                   = Effect();
        self.effectlist["BalladPowerBonus"]                             = Effect();
        self.effectlist["Silenced"]                                             = Effect();
        self.effectlist["TaleofHeroism"]                                = Effect();
        self.effectlist["TaleofBattle"]                                 = Effect();
        self.effectlist["ImprovedTaleofBattle"]                 = Effect();
        self.effectlist["TaleofWarding"]                                = Effect();
        self.effectlist["ImprovedTaleofWarding"]                = Effect();
        self.effectlist["TaleofFrostandFlame"]                  = Effect();
        self.effectlist["TaleofWardingandHeroism"]              = Effect();
        self.effectlist["TaleofFrostandFlamesBattle"]   = Effect();
        self.effectlist["AnthemofWar"]                                  = Effect();
        self.effectlist["AnthemoftheFreePeoples"]               = Effect();
        self.effectlist["AnthemofProwess"]                              = Effect();
        self.effectlist["AnthemofCompassion"]                   = Effect();
        self.effectlist["AnthemoftheThirdAge"]                  = Effect();
        self.effectlist["AnthemoftheThirdAgeWS"]                = Effect();
        self.effectlist["AnthemofComposure"]                    = Effect();
        self.effectlist["Warspeech"]                                    = Effect();
        self.effectlist["Harmony"]                                              = 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["BalladDamageBonus"]                    :SetName("Ballad Damage Bonus");
                        self.effectlist["BalladHealingBonus"]                   :SetName("Ballad Healing Bonus");
                        self.effectlist["BalladPowerBonus"]                             :SetName("Ballad Power Bonus");
                        self.effectlist["Silenced"]                                     :SetName("Silenced");
                        self.effectlist["TaleofHeroism"]                                :SetName("Tale of Heroism");
                        self.effectlist["TaleofBattle"]                                 :SetName("Tale of Battle");
                        self.effectlist["ImprovedTaleofBattle"]                 :SetName("Improved Tale of Battle");
                        self.effectlist["TaleofWarding"]                                :SetName("Tale of Warding and Hope");
                        self.effectlist["ImprovedTaleofWarding"]                :SetName("Improved 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["AnthemofWar"]                                  :SetName("Anthem of War");
                        self.effectlist["AnthemoftheFreePeoples"]               :SetName("Anthem of the Free People");
                        self.effectlist["AnthemofProwess"]                              :SetName("Anthem of Prowess");
                        self.effectlist["AnthemofCompassion"]                   :SetName("Anthem of Compassion");
                        self.effectlist["AnthemoftheThirdAge"]                  :SetName("Anthem of the Third Age");
                        self.effectlist["AnthemoftheThirdAgeWS"]                :SetName("Anthem of the Third Age (War-speech)");
                        self.effectlist["AnthemofComposure"]                    :SetName("Anthem of Composure");
                        self.effectlist["Warspeech"]                                    :SetName("War-speech");
                        self.effectlist["Harmony"]                                              :SetName("Harmony");
                        self.effectlist["LuteStrings"]                                  :SetName("Lute Strings");
                elseif (settings.language == 2) then
                        self.effectlist["BalladDamageBonus"]                    :SetName("Ballad Damage Bonus");
                        self.effectlist["BalladHealingBonus"]                   :SetName("Ballad Healing Bonus");
                        self.effectlist["BalladPowerBonus"]                             :SetName("Ballad Power Bonus");
                        self.effectlist["Silenced"]                                     :SetName("Silenced");
                        self.effectlist["TaleofHeroism"]                                :SetName("Tale of Heroism");
                        self.effectlist["TaleofBattle"]                                 :SetName("Tale of Battle");
                        self.effectlist["ImprovedTaleofBattle"]                 :SetName("Improved Tale of Battle");
                        self.effectlist["TaleofWarding"]                                :SetName("Tale of Warding and Hope");
                        self.effectlist["ImprovedTaleofWarding"]                :SetName("Improved 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["AnthemofWar"]                                  :SetName("Anthem of War");
                        self.effectlist["AnthemoftheFreePeoples"]               :SetName("Anthem of the Free People");
                        self.effectlist["AnthemofProwess"]                              :SetName("Anthem of Prowess");
                        self.effectlist["AnthemofCompassion"]                   :SetName("Anthem of Compassion");
                        self.effectlist["AnthemoftheThirdAge"]                  :SetName("Anthem of the Third Age");
                        self.effectlist["AnthemoftheThirdAgeWS"]                :SetName("Anthem of the Third Age (War-speech)");
                        self.effectlist["AnthemofComposure"]                    :SetName("Anthem of Composure");
                        self.effectlist["Warspeech"]                                    :SetName("War-speech");
                        self.effectlist["Harmony"]                                              :SetName("Harmony");
                        self.effectlist["LuteStrings"]                                  :SetName("Lute Strings");
                        Turbine.Shell.WriteLine("KragenBars: Some features may not function with the French Client.\nIf 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["BalladDamageBonus"]                    :SetName("Bonus: Balladenschaden");
                        self.effectlist["BalladHealingBonus"]                   :SetName("Balladenheilungs-Bonus");
                        self.effectlist["BalladPowerBonus"]                             :SetName("Bonus: Balladenkraft");
                        self.effectlist["Silenced"]                                     :SetName("Verstummt");
                        self.effectlist["TaleofHeroism"]                                :SetName("Heldensage");
                        self.effectlist["TaleofBattle"]                                 :SetName("Geschichte des Gefechts");
                        self.effectlist["ImprovedTaleofBattle"]                 :SetName("Verbesserung: Widerhall des Kampfes");
                        self.effectlist["TaleofWarding"]                                :SetName("Geschichte der Bewachung");
                        self.effectlist["ImprovedTaleofWarding"]                :SetName("Improved Tale of Warding");
                        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");
                        self.effectlist["AnthemofWar"]                                  :SetName("Hymne des Krieges");
                        self.effectlist["AnthemoftheFreePeoples"]               :SetName("Hymne der freien V�lker");
                        self.effectlist["AnthemofProwess"]                              :SetName("Ballade der Schnelligkeit");
                        self.effectlist["AnthemofCompassion"]                   :SetName("Hymne des Mitgef�hls");
                        self.effectlist["AnthemoftheThirdAge"]                  :SetName("Hymne des dritten Zeitalters");
                        self.effectlist["AnthemoftheThirdAgeWS"]                :SetName("Hymne des dritten Zeitalters (Kriegsrede)");
                        self.effectlist["AnthemofComposure"]                    :SetName("Hymne der Selbstbeherrschung");
                        self.effectlist["Warspeech"]                                    :SetName("Kriegsrede");
                        self.effectlist["Harmony"]                                              :SetName("Harmonie");
                        self.effectlist["LuteStrings"]                                  :SetName("Lauten-Saiten");
                        Turbine.Shell.WriteLine("KragenBars: Some features may not function with the German Client.\n If you would like to help with German effect names goto http://www.lotrointerface.com/downloads/info384-KragenBars.html");
                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["MinorBallad"]                          = SkillSlot(self.bars["Ballads"],               1, 1, true, 1, "0x700031A8");
    self.skills["MajorBallad"]                          = SkillSlot(self.bars["Ballads"],               2, 1, true, 2, "0x70003E7C");
    self.skills["PerfectBallad"]                        = SkillSlot(self.bars["Ballads"],               3, 1, true, 6, "0x70003E7E");
    
        self.skills["AnthemofWar"]                              = SkillSlot(self.bars["Anthems1"],              1, 1, false, 6, "0x7000317F");
    self.skills["AnthemoftheFreePeoples"]       = SkillSlot(self.bars["Anthems1"],              2, 1, false, 18, "0x70003E88");
    self.skills["AnthemofProwess"]                      = SkillSlot(self.bars["Anthems1"],              3, 1, false, 20, "0x70003E7F");
    self.skills["AnthemofCompassion"]           = SkillSlot(self.bars["Anthems2"],              1, 1, false, 24, "0x70003E8A");
        self.skills["AnthemoftheThirdAge"]              = SkillSlot(self.bars["Anthems2"],              2, 1, false, 28, "0x700264BA");
    self.skills["AnthemofComposure"]            = SkillSlot(self.bars["Anthems2"],              3, 1, false, 36, "0x70003E80");
        
        self.skills["CodaofVigour"]                             = SkillSlot(self.bars["Coda"],                  1, 1, false, 1, "0x700293C4");
        
        self.skills["MelodyofBattle"]                   = SkillSlot(self.bars["Damage"],                1, 1, true, 6, "0x7000B697");
    self.skills["PiercingCry"]                          = SkillSlot(self.bars["Damage"],                2, 1, true, 2, "0x70003E7D");
    self.skills["CryoftheValar"]                        = SkillSlot(self.bars["Damage"],                3, 1, true, { 40, 74 }, { "0x70003184", "0x70029A04" });
    self.skills["CryoftheWizards"]                      = SkillSlot(self.bars["Damage"],                4, 1, self.settings.traits["CryoftheWizards"].active, 41, "0x70001270");

    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", "0x70015A3D" });

    self.skills["CallofOrome"]                          = SkillSlot(self.bars["Calls"],                 1, 1, false, 10, "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["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, 72 }, { "0x7000BC01", "0x70029888" });
    self.skills["SoliloquyofSpirit"]            = SkillSlot(self.bars["Heals"],                 6, 1, true, 60, "0x7000F1F4");

    self.skills["SongofRestoration"]            = SkillSlot(self.bars["Rez"],                   1, 1, true, { 18, 62 }, { "0x70003E86", "0x7000F25F" });
    self.skills["EnliveningGrace"]                      = SkillSlot(self.bars["Rez"],                   2, 1, true, { 14, 68 }, { "0x700031AD", "0x70029904" });
    self.skills["Rally"]                                        = SkillSlot(self.bars["Rez"],                   3, 1, self.settings.traits["Rally"].active, 41, "0x70001251");

        self.skills["InvocationofElbereth"]             = 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, 70 }, { "0x70003E8E", "0x70029905" });

    self.skills["CryoftheChorus"]                       = SkillSlot(self.bars["Silenced"],              1, 1, self.settings.features["AlwaysShowChorus"].active, { 26, 54 }, { "0x700031B2", "0x7000F260" });

    self.skills["StoryofCourage"]                       = SkillSlot(self.bars["Cure"],                  1, 1, true, { 26, 66} , { "0x70003E8B", "0x70029906" });
    self.skills["FellowshipsHeart"]                     = SkillSlot(self.bars["Cure"],                  2, 1, self.settings.traits["FellowshipsHeart"].active, 45, "0x70006CEB");
 
    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["SongofAid"]                            = SkillSlot(self.bars["Utility"],               1, 1, true, { 30, 66 }, { "0x7000318C", "0x7000318E" });
    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["StoryoftheHammerhand"]         = SkillSlot(self.bars["DamageShield"],  1, 1, true, { 42, 64 }, { "0x70003E91", "0x70020DF9" });


        -- Build MultiSlots         SkillMultiSlot( parent:SkillBar, x:int, y:int, active:Boolean );
        -- multi:AddShortCut(name:String, level:int, hex:String);
        self.multi["StanceSlot"]                                = SkillMultiSlot(self.bars["Stance"], 1, 1, true);
        self.multi["StanceSlot"]:AddShortCut("Warspeech",                       10, "0x7000B699");
        self.multi["StanceSlot"]:AddShortCut("Harmony",                         22, "0x700293C8");
        self.multi["StanceSlot"]:LevelCheck();
        self.multi["StanceSlot"]:SetIndex(self.settings.defaults["DefaultStance"].selected);

        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);

        
        -- 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"]);
                

        -- 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);
        self.skills["MajorBallad"]: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);
        

        -- INITIALIZE BARS
        self:InitBars();
        self:CombatChange(vars.player:IsInCombat());
        -- self:StanceChange(vars.classattr:GetStance());
        
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["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);
                        self.multi["StanceSlot"]:SetIndex(1);
                        self.skills["InspireFellows"]:SetActive(false);
                        self.skills["TriumphantSpirit"]:SetActive(false);
                        self.skills["FellowshipsHeart"]:SetActive(false);
                        self.skills["MajorBallad"]:SetCombat(true, true);
                end
                
        elseif (name == self.effectlist["Harmony"]:GetName()) then
        if (self.effectlist["Harmony"]:SetState(true, id)) then
                        self.multi["StanceSlot"]:SetIndex(2);
                        self.skills["MajorBallad"]:SetCombat(true, 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["ImprovedTaleofBattle"]:GetName() or name == self.effectlist["TaleofWarding"]:GetName() or name == self.effectlist["ImprovedTaleofWarding"]: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
        
        elseif (name == self.effectlist["BalladDamageBonus"]:GetName() or name == self.effectlist["BalladPowerBonus"]:GetName() or name == self.effectlist["BalladHealingBonus"]:GetName()) then
        if (self.effectlist["BalladDamageBonus"]:SetState(true, id)) then
                        if (self.ballads < 3) then
                                self.ballads = self.ballads + 1;
                                if (self.ballads >= 3) then
                                        if (self.settings.defaults["ActiveAnthem"].selected == 3) then
                                                self.skills["AnthemofWar"]:SetActive(not self.effectlist["AnthemofWar"]:GetState());
                                                self.skills["AnthemoftheFreePeoples"]:SetActive(true);
                                                self.skills["AnthemofProwess"]:SetActive(true);
                                                self.skills["AnthemofCompassion"]:SetActive(true);
                                                self.skills["AnthemoftheThirdAge"]:SetActive(true);
                                                self.skills["AnthemofComposure"]:SetActive(true);
                                                self.skills["CodaofVigour"]:SetActive(true);
                                        else
                                                self.skills["AnthemofWar"]:SetActive(true);
                                                self.skills["AnthemoftheFreePeoples"]:SetActive(true);
                                                self.skills["AnthemofProwess"]:SetActive(true);
                                                self.skills["AnthemofCompassion"]:SetActive(true);
                                                self.skills["AnthemoftheThirdAge"]:SetActive(true);
                                                self.skills["AnthemofComposure"]:SetActive(true);
                                                self.skills["CodaofVigour"]:SetActive(true);
                                        end
                                end
                        end
                end
        
        elseif (name == self.effectlist["AnthemofWar"]:GetName()) then
        if (self.effectlist["AnthemofWar"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveAnthem"].selected == 2) then
                                self.skills["AnthemofWar"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveAnthem"].selected == 3) then
                                self.skills["AnthemofWar"]:SetActive(false);
                        end
                end
                
        elseif (name == self.effectlist["AnthemoftheFreePeoples"]:GetName()) then
        if (self.effectlist["AnthemoftheFreePeoples"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveAnthem"].selected == 2) then
                                self.skills["AnthemoftheFreePeoples"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveAnthem"].selected == 3) then
                                self.skills["AnthemoftheFreePeoples"]:SetActive(false);
                        end
                end
                
        elseif (name == self.effectlist["AnthemofProwess"]:GetName()) then
        if (self.effectlist["AnthemofProwess"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveAnthem"].selected == 2) then
                                self.skills["AnthemofProwess"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveAnthem"].selected == 3) then
                                self.skills["AnthemofProwess"]:SetActive(false);
                        end
                end
                
        elseif (name == self.effectlist["AnthemofCompassion"]:GetName()) then
        if (self.effectlist["AnthemofCompassion"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveAnthem"].selected == 2) then
                                self.skills["AnthemofCompassion"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveAnthem"].selected == 3) then
                                self.skills["AnthemofCompassion"]:SetActive(false);
                        end
                end
                
        elseif (name == self.effectlist["AnthemoftheThirdAge"]:GetName() or name == self.effectlist["AnthemoftheThirdAgeWS"]:GetName()) then
        if (self.effectlist["AnthemoftheThirdAge"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveAnthem"].selected == 2) then
                                self.skills["AnthemoftheThirdAge"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveAnthem"].selected == 3) then
                                self.skills["AnthemoftheThirdAge"]:SetActive(false);
                        end
                end
                
        elseif (name == self.effectlist["AnthemofComposure"]:GetName()) then
        if (self.effectlist["AnthemofComposure"]:SetState(true, id)) then
                        if (self.settings.defaults["ActiveAnthem"].selected == 2) then
                                self.skills["AnthemofComposure"]:SetHover(true);
                        elseif (self.settings.defaults["ActiveAnthem"].selected == 3) then
                                self.skills["AnthemofComposure"]:SetActive(false);
                        end
                end
        
    end
end


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

        if (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);
                        self.skills["InspireFellows"]:SetActive(true);
                        self.skills["TriumphantSpirit"]:SetActive(true);
                        self.skills["FellowshipsHeart"]:SetActive(self.settings.traits["FellowshipsHeart"].active);
                        self.skills["MajorBallad"]:SetCombat(true, false);
                        self.multi["StanceSlot"]:SetIndex(self.settings.defaults["DefaultStance"].selected);
                end

        elseif (name == self.effectlist["Harmony"]:GetName()) then
                if (not self.effectlist["Harmony"]:SetState(false, id)) then
                        self.skills["MajorBallad"]:SetCombat(true, false);
                        self.multi["StanceSlot"]:SetIndex(self.settings.defaults["DefaultStance"].selected);
                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["ImprovedTaleofBattle"]:GetName() or name == self.effectlist["TaleofWarding"]:GetName() or name == self.effectlist["ImprovedTaleofWarding"]: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
        
        elseif (name == self.effectlist["BalladDamageBonus"]:GetName() or name == self.effectlist["BalladPowerBonus"]:GetName() or name == self.effectlist["BalladHealingBonus"]:GetName()) then
        if (not self.effectlist["BalladDamageBonus"]:SetState(false, id)) then
                        self.ballads = 0;
                        if (self.ballads < 3) then
                                self.skills["AnthemofWar"]:SetActive(false);
                                self.skills["AnthemoftheFreePeoples"]:SetActive(false);
                                self.skills["AnthemofProwess"]:SetActive(false);
                                self.skills["AnthemofCompassion"]:SetActive(false);
                                self.skills["AnthemoftheThirdAge"]:SetActive(false);
                                self.skills["AnthemofComposure"]:SetActive(false);
                                self.skills["CodaofVigour"]:SetActive(false);
                        end
                end
                
        elseif (name == self.effectlist["AnthemofWar"]:GetName()) then
        if (not self.effectlist["AnthemofWar"]:SetState(false, id)) then
                        self.skills["AnthemofWar"]:SetHover(false);
                        if (self.ballads >= 3) then
                                self.skills["AnthemofWar"]:SetActive(true);
                        else
                                self.skills["AnthemofWar"]:SetActive(false);
                        end
                end

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

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

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

        elseif (name == self.effectlist["AnthemoftheThirdAge"]:GetName() or name == self.effectlist["AnthemoftheThirdAgeWS"]:GetName()) then
        if (not self.effectlist["AnthemoftheThirdAge"]:SetState(false, id)) then
                        self.skills["AnthemoftheThirdAge"]:SetHover(false);
                        if (self.ballads >= 3) then
                                self.skills["AnthemoftheThirdAge"]:SetActive(true);
                        else
                                self.skills["AnthemoftheThirdAge"]:SetActive(false);
                        end
                end

        elseif (name == self.effectlist["AnthemofComposure"]:GetName()) then
        if (not self.effectlist["AnthemofComposure"]:SetState(false, id)) then
                        self.skills["AnthemofComposure"]:SetHover(false);
                        if (self.ballads >= 3) then
                                self.skills["AnthemofComposure"]:SetActive(true);
                        else
                                self.skills["AnthemofComposure"]:SetActive(false);
                        end
                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:DefaultSettings()
        self.settings = { preconf = { }, userconf = { }, traits = { }, features = { }, defaults = { }, quickslots = { } };

        self.settings.userconf["Ballads"]               = { id = 1,     name = "Ballads",               defpos = {1,1},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Anthems1"]              = { id = 2,     name = "Anthems 1",             defpos = {1,2},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Anthems2"]              = { id = 3,     name = "Anthems 2",             defpos = {1,3},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Coda"]                  = { id = 4,     name = "Coda",                  defpos = {1,4},         size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Stance"]                = { id = 5,     name = "Stance",                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={4,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Dethreat"]              = { id = 8,     name = "Dethreat",              defpos = {4,4},         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,3},         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["DamageShield"]  = { id = 15,    name = "DamageShield",  defpos = {6,4},         size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Silenced"]              = { id = 16,    name = "Silenced",              defpos = {7,4},         size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Cure"]                  = { id = 17,    name = "Cure",                  defpos = {8,4},         size={2,1}, pos = {0,0}, combat = {true,true}, active = true };
        self.settings.userconf["Consumables"]   = { id = 18,    name = "Consumables",   defpos = {10,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["CryoftheWizards"]                 = { id = 4, name = "Cry of the 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["ActiveAnthem"]  = { id = 2, name = "Active Anthem Effect", selected = 1, list = { "None", "Dim", "Hide" } };
        self.settings.defaults["DefaultStance"] = { id = 3, name = "Default Stance", selected = 1, list = { "War-speech", "Harmony" } };

        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 < 4.00) 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

        if (settings.vers < 4.10) then
                settings.skilldata["AnthemoftheThirdAge"] = {parent = nil, pos = {1,1}};
                settings.skilldata["BalladofComposure"] = {parent = settings.skilldata["BalladofUnshakeableWill"].parent, pos = {settings.skilldata["BalladofUnshakeableWill"].pos[1],settings.skilldata["BalladofUnshakeableWill"].pos[2]}};
                settings.skilldata["BalladofUnshakeableWill"] = nil;
        end

        if (settings.vers < 4.20) then
                self.settings.defaults["BoCEffect"]     = { id = 3, name = "BoComp Trigger Effect", selected = 1, list = { "Fear Resistance", "Ranged Damage" } };
                self.settings.defaults["BoFEffect"]     = { id = 4, name = "BoFlame Trigger Effect", selected = 1, list = { "Fire Mitigation", "Tactical Damage" } };
        end

        if (settings.vers < 5.00) then
                local oldclassinfo = self.settings;
                local oldskillinfo = settings.skilldata;
                local oldcustominfo = settings.customslots;
                self:DefaultSettings();
                for k,v in pairs(oldclassinfo) do
                        if (k == "userconf") then
                                for key, value in pairs(v) do
                                        if (self.settings.userconf[key] ~= nil) then
                                                self.settings.userconf[key].combat = { value.combat[1], value.combat[2] };
                                                self.settings.userconf[key].size = { value.size[1], value.size[2] };
                                                self.settings.userconf[key].active = value.active;
                                                self.settings.userconf[key].pos = { value.pos[1], value.pos[2] };
                                                if (key == "Damage" and value.size[2] < 4) then
                                                        self.settings.userconf[key].size = { 4, value.size[2] };
                                                else
                                                        self.settings.userconf[key].size = { value.size[1], value.size[2] };
                                                end
                                        elseif (key == "BalladsT1") then
                                                self.settings.userconf["Ballads"].size = { value.size[1], value.size[2] };
                                                self.settings.userconf["Ballads"].pos = { value.pos[1], value.pos[2] };
                                                self.settings.userconf["Ballads"].combat = { value.combat[1], value.combat[2] };
                                                self.settings.userconf["Ballads"].active = value.active;
                                        elseif (key == "BalladsT2") then
                                                self.settings.userconf["Anthems1"].size = { value.size[1], value.size[2] };
                                                self.settings.userconf["Anthems1"].pos = { value.pos[1], value.pos[2] };
                                                self.settings.userconf["Anthems1"].combat = { value.combat[1], value.combat[2] };
                                                self.settings.userconf["Anthems1"].active = value.active;
                                        elseif (key == "BalladsT3") then
                                                self.settings.userconf["Anthems2"].size = { value.size[1], value.size[2] };
                                                self.settings.userconf["Anthems2"].pos = { value.pos[1], value.pos[2] };
                                                self.settings.userconf["Anthems2"].combat = { value.combat[1], value.combat[2] };
                                                self.settings.userconf["Anthems2"].active = value.active;
                                        elseif (key == "Anthems") then
                                                self.settings.userconf["Coda"].size = { value.size[1], value.size[2] };
                                                self.settings.userconf["Coda"].pos = { value.pos[1], value.pos[2] };
                                                self.settings.userconf["Coda"].combat = { value.combat[1], value.combat[2] };
                                                self.settings.userconf["Coda"].active = value.active;
                                        elseif (key == "Warspeech") then
                                                self.settings.userconf["Stance"].size = { value.size[1], value.size[2] };
                                                self.settings.userconf["Stance"].pos = { value.pos[1], value.pos[2] };
                                                self.settings.userconf["Stance"].combat = { value.combat[1], value.combat[2] };
                                                self.settings.userconf["Stance"].active = value.active;
                                        elseif (key == "PowerShield") then
                                                self.settings.userconf["DamageShield"].size = { value.size[1], value.size[2] };
                                                self.settings.userconf["DamageShield"].pos = { value.pos[1], value.pos[2] };
                                                self.settings.userconf["DamageShield"].combat = { value.combat[1], value.combat[2] };
                                                self.settings.userconf["DamageShield"].active = value.active;
                                        else
                                                self.settings.userconf[key] = { id = value.id, name = value.name, defpos = value.defpos, size = value.size, pos = value.pos , combat = value.combat , active = value.active };
                                        end
                                end
                        elseif (k == "traits") then
                                for key, value in pairs(v) do
                                        if (key == "AnthemoftheWizards") then
                                                self.settings.traits["CryoftheWizards"].active = value.active;
                                        else
                                                self.settings.traits[key].active = value.active;
                                        end
                                end
                        elseif (k == "features") then
                                for key, value in pairs(v) do
                                        self.settings.features[key].active = value.active;
                                end
                        elseif (k == "defaults") then
                                for key, value in pairs(v) do
                                        if (key == "PrimaryTale") then
                                                self.settings.defaults[key].selected = value.selected;
                                        end
                                end
                        elseif (k == "quickslots") then
                                for key, value in pairs(v) do
                                        self.settings.quickslots[key].active = value.active;
                                        self.settings.quickslots[key].type = value.type;
                                        self.settings.quickslots[key].data = value.data;
                                end
                        end
                end
                settings.skilldata = { };
                settings.skilldata["CodaofVigour"] = { parent = "Coda", pos = {1,1} };
                for k,v in pairs(oldskillinfo) do
                        if (k ~= "BalladofBalance" and k ~= "BalladoftheStout" and k ~= "BalladofFlame") then
                                if (k == "BalladofResonance") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["MinorBallad"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["MinorBallad"] = { parent = "Ballads", pos = { 1,1 } };
                                        end
                                elseif (k == "BalladofVigour") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["MajorBallad"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["MajorBallad"] = { parent = "Ballads", pos = { 2,1 } };
                                        end
                                elseif (k == "BalladofSteel") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["PerfectBallad"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["PerfectBallad"] = { parent = "Ballads", pos = { 3,1 } };
                                        end
                                elseif (k == "BalladofWar") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["AnthemofWar"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["AnthemofWar"] = { parent = "Anthems1", pos = { 1,1 } };
                                        end
                                elseif (k == "EchoesofBattle") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["MelodyofBattle"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["MelodyofBattle"] = { parent = "Damage", pos = { 1,1 } };
                                        end
                                elseif (k == "CryoftheValar") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["InvocationofElbereth"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["InvocationofElbereth"] = { parent = "CrowdControl", pos = { 1,1 } };
                                        end
                                elseif (k == "BalladofSwiftness") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["AnthemofProwess"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["AnthemofProwess"] = { parent = "Anthems1", pos = { 3,1 } };
                                        end
                                elseif (k == "CureFear") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["StoryofCourage"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["StoryofCourage"] = { parent = "Cure", pos = { 1,1 } };
                                        end
                                elseif (k == "BalladofComposure") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["AnthemofComposure"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["AnthemofComposure"] = { parent = "Anthems2", pos = { 3,1 } };
                                        end
                                elseif (k == "AnthemoftheValar") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["CryoftheValar"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["CryoftheValar"] = { parent = "Damage", pos = { 3,1 } };
                                        end
                                elseif (k == "LayoftheHammerhand") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["StoryoftheHammerhand"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["StoryoftheHammerhand"] = { parent = "DamageShield", pos = { 1,1 } };
                                        end
                                elseif (k == "AnthemoftheWizards") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["CryoftheValar"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["CryoftheValar"] = { parent = "Damage", pos = { 4,1 } };
                                        end
                                elseif (k == "AnthemoftheFreePeoples") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["AnthemoftheFreePeoples"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["AnthemoftheFreePeoples"] = { parent = "Anthems1", pos = { 2,1 } };
                                        end
                                elseif (k == "AnthemofCompassion") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["AnthemofCompassion"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["AnthemofCompassion"] = { parent = "Anthems2", pos = { 1,1 } };
                                        end
                                elseif (k == "AnthemoftheThirdAge") then
                                        if (self.settings.userconf[v.parent] ~= nil) then
                                                settings.skilldata["AnthemoftheThirdAge"] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                        else
                                                settings.skilldata["AnthemoftheThirdAge"] = { parent = "Anthems2", pos = { 2,1 } };
                                        end
                                elseif (k ~= "Warspeech") then
                                        settings.skilldata[k] = { parent = v.parent, pos = { v.pos[1], v.pos[2] } };
                                end
                        end
                end
                settings.customslots = { };
                for k,v in pairs(oldcustominfo) do
                        if (self.settings.userconf[v.parent] ~= nil) then
                                settings.customslots[k] = { x = v.x, y = v.y, parent = v.parent, data = v.data, type = v.type };
                        end
                end
        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["CryoftheWizards"]:SetActive(self.settings.traits["CryoftheWizards"].active);
        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["StanceSlot"]:Clear();
        self.multi["StanceSlot"]:AddShortCut("Warspeech",                       10, "0x7000B699");
        self.multi["StanceSlot"]:AddShortCut("Harmony",                         22, "0x700293C8");
        self.multi["StanceSlot"]:LevelCheck();
        if (self.effectlist["Warspeech"]:GetState()) then
                self.multi["StanceSlot"]:SetIndex(1);
        elseif (self.effectlist["Harmony"]:GetState()) then
                self.multi["StanceSlot"]:SetIndex(2);
        else
                self.multi["StanceSlot"]:SetIndex(self.settings.defaults["DefaultStance"].selected);
        end
        
        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());

end

Compare with Previous | Blame


All times are GMT -5. The time now is 12:15 PM.


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