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