lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

[/] [branches/] [3.0.0/] [KragenPlugs/] [KragenBars/] [CaptainBars.lua] - Blame information for rev 15

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

Line No. Rev Author Line
1 6 Kragenwar-3044
import "Turbine.UI";
2 Kragenwar-3044
import "Turbine.UI.Lotro";
3 Kragenwar-3044
import "Turbine.Gameplay";
4 Kragenwar-3044
import "KragenPlugs.Utils";
5 Kragenwar-3044
import "KragenPlugs.KragenBars";
6 Kragenwar-3044
 
7 Kragenwar-3044
CaptainBars = class( KragenPlugs.KragenBars.ClassBar );
8 Kragenwar-3044
 
9 Kragenwar-3044
function CaptainBars:Constructor()
10 Kragenwar-3044
        KragenPlugs.KragenBars.ClassBar.Constructor( self );
11 Kragenwar-3044
 
12 Kragenwar-3044
    -- SET AND UPDATE DEFAULT SETTINGS
13 Kragenwar-3044
    if (not settings.class) then
14 Kragenwar-3044
        settings.class = vars.playerclass;
15 Kragenwar-3044
        self:DefaultSettings();
16 Kragenwar-3044
        self:ShowSetup();
17 Kragenwar-3044
    else
18 Kragenwar-3044
        self.settings = settings.classinfo;
19 Kragenwar-3044
        if (settings.vers ~= vars.vers) then
20 Kragenwar-3044
                self:UpdateSettings();
21 Kragenwar-3044
        end
22 Kragenwar-3044
    end
23 Kragenwar-3044
 
24 Kragenwar-3044
    self.fear = 0;
25 Kragenwar-3044
 
26 Kragenwar-3044
 
27 Kragenwar-3044
    -- BUILD WINDOWS BARS SKILLS AND MULTIS --
28 Kragenwar-3044
 
29 Kragenwar-3044
    -- ALL X, Y, WIDTH, HEIGHT values are in quickslot (ie: 1 width = the width of one quickslot: 35 px);
30 Kragenwar-3044
    -- Build Windows        SkillWindow( name:String, defaultx:int, defaulty:int, width:int, height:int, settings:table);
31 Kragenwar-3044
    self.windows["Healing"]                     = SkillWindow("Healing",                        1, 1, 4, 1,     self.settings["Healing"]        );
32 Kragenwar-3044
        self.windows["Buffs"]                   = SkillWindow("Buffs",                          5, 1, 3, 1,     self.settings["Buffs"]          );
33 Kragenwar-3044
    self.windows["Marks"]                       = SkillWindow("Marks",                          1, 2, 3, 1,     self.settings["Marks"]          );
34 Kragenwar-3044
    self.windows["ShieldBro"]           = SkillWindow("Shield Brother",         4, 2, 4, 1,     self.settings["ShieldBro"]  );
35 Kragenwar-3044
    self.windows["BattleBuffs"]         = SkillWindow("Battle Buffs",           9, 2, 2, 1,     self.settings["BattleBuffs"]            );
36 Kragenwar-3044
    self.windows["Defeat"]                      = SkillWindow("DefeatResponse",         1, 3, 4, 1,     self.settings["Defeat"]         );
37 Kragenwar-3044
        self.windows["Emergency"]               = SkillWindow("Emergency",                      5, 3, 2, 1,     self.settings["Emergency"]      );
38 Kragenwar-3044
    self.windows["Rez"]                         = SkillWindow("Rez",                            7, 3, 2, 1,     self.settings["Rez"]            );
39 Kragenwar-3044
    self.windows["Banners"]                     = SkillWindow("Banners/Heralds",        10, 3, 2, 1,    self.settings["Banners"]        );
40 Kragenwar-3044
    self.windows["Debuff"]                      = SkillWindow("Debuff",                         9, 3, 1, 1,     self.settings["Debuff"]         );
41 Kragenwar-3044
        self.windows["Attack"]                  = SkillWindow("Attack",                         1, 4, 4, 1,     self.settings["Attack"]         );
42 Kragenwar-3044
    self.windows["Gated"]                       = SkillWindow("Gated",                          5, 4, 3, 1,     self.settings["Gated"]          );
43 Kragenwar-3044
    self.windows["Utility"]                     = SkillWindow("Utility",                        8, 4, 1, 1,     self.settings["Utility"]        );
44 Kragenwar-3044
    self.windows["Threat"]                      = SkillWindow("Threat",                         9, 4, 3, 1,     self.settings["Threat"]         );
45 Kragenwar-3044
 
46 Kragenwar-3044
    -- Build Bars           SkillBar( parent:SkillWindow, x:int, y:int, width:int, height:int, active:Boolean, exclusive:boolean);
47 Kragenwar-3044
    self.bars["Attack"]                 = SkillBar(self.windows["Attack"],                      1, 1, 4, 1, true, false);
48 Kragenwar-3044
    self.bars["Gated"]                  = SkillBar(self.windows["Gated"],                       1, 1, 3, 1, true, false);
49 Kragenwar-3044
    self.bars["Marks"]                  = SkillBar(self.windows["Marks"],                       1, 1, 3, 1, true, true);
50 Kragenwar-3044
    self.bars["MultiMark"]              = SkillBar(self.windows["Marks"],                       1, 1, 1, 1, true, true);
51 Kragenwar-3044
    self.bars["ShieldBro"]              = SkillBar(self.windows["ShieldBro"],           1, 1, 4, 1, true, false);
52 Kragenwar-3044
    self.bars["Defeat"]                 = SkillBar(self.windows["Defeat"],                      1, 1, 4, 1, true, true);
53 Kragenwar-3044
    self.bars["Healing"]                = SkillBar(self.windows["Healing"],             1, 1, 4, 1, true, false);
54 Kragenwar-3044
    self.bars["Buffs"]                  = SkillBar(self.windows["Buffs"],                       1, 1, 3, 1, true, false);
55 Kragenwar-3044
    self.bars["Emergency"]              = SkillBar(self.windows["Emergency"],           1, 1, 2, 1, true, false);
56 Kragenwar-3044
    self.bars["Rez"]                    = SkillBar(self.windows["Rez"],                         1, 1, 2, 1, true, false);
57 Kragenwar-3044
    self.bars["Threat"]                 = SkillBar(self.windows["Threat"],                      1, 1, 3, 1, true, false);
58 Kragenwar-3044
    self.bars["Utility"]                = SkillBar(self.windows["Utility"],             1, 1, 1, 1, true, false);
59 Kragenwar-3044
    self.bars["Debuff"]                 = SkillBar(self.windows["Debuff"],                      1, 1, 1, 1, true, false);
60 Kragenwar-3044
    self.bars["BattleBuffs"]    = SkillBar(self.windows["BattleBuffs"],         1, 1, 2, 1, true, false);
61 Kragenwar-3044
    self.bars["Banners"]                = SkillBar(self.windows["Banners"],             1, 1, 2, 1, true, false);
62 Kragenwar-3044
 
63 Kragenwar-3044
        -- Build Skills         SkillSlot( parent:SkillBar, x:int, y:int, active:Boolean, level:int, hexcode:String );
64 Kragenwar-3044
    self.skills["DefensiveStrike"]                      = SkillSlot(self.bars["Attack"],        1, 1, true, { 1, 54 }, { "0x70002F73", "0x7000FF86" } );
65 Kragenwar-3044
    self.skills["SureStrike"]                           = SkillSlot(self.bars["Attack"],        2, 1, true, 1, "0x700215CF");
66 Kragenwar-3044
    self.skills["BattleShout"]                          = SkillSlot(self.bars["Attack"],        3, 1, true, 1, "0x70002F67");
67 Kragenwar-3044
    self.skills["CuttingAttack"]                        = SkillSlot(self.bars["Attack"],        4, 1, true, 4, "0x70003E4C");
68 Kragenwar-3044
 
69 Kragenwar-3044
    self.skills["DevastatingBlow"]                      = SkillSlot(self.bars["Gated"],         1, 1, not self.settings["Features"].gated, 2, "0x70002FCF");
70 Kragenwar-3044
    self.skills["PressingAttack"]                       = SkillSlot(self.bars["Gated"],         2, 1, not self.settings["Features"].gated, 10, "0x70003E50");
71 Kragenwar-3044
    self.skills["BladeOfElendil"]                       = SkillSlot(self.bars["Gated"],         3, 1, not self.settings["Features"].gated, { 30, 52 }, { "0x7000AD9A", "0x70017D31" } );
72 Kragenwar-3044
 
73 Kragenwar-3044
    self.skills["NobleMark"]                            = SkillSlot(self.bars["Marks"],         1, 1, not self.settings["Features"].multimarks, 12, "0x70003E4F");
74 Kragenwar-3044
        self.skills["TellingMark"]                              = SkillSlot(self.bars["Marks"],         2, 1, not self.settings["Features"].multimarks, 18, "0x70003E4D");
75 Kragenwar-3044
    self.skills["RevealingMark"]                        = SkillSlot(self.bars["Marks"],         3, 1, not self.settings["Features"].multimarks, 30, "0x70003E56");
76 Kragenwar-3044
 
77 Kragenwar-3044
    self.skills["ShieldBrother"]                        = SkillSlot(self.bars["ShieldBro"], 1, 1, true, { 22, 64 }, { "0x7000A1D8", "0x70020DF6" } );
78 Kragenwar-3044
    self.skills["Inspire"]                                      = SkillSlot(self.bars["ShieldBro"], 2, 1, true, 22, "0x7000A1D7");
79 Kragenwar-3044
    self.skills["ToArms"]                                       = SkillSlot(self.bars["ShieldBro"], 3, 1, true, 40, "0x7000AA0D");
80 Kragenwar-3044
    self.skills["StrengthOfWill"]                       = SkillSlot(self.bars["ShieldBro"], 4, 1, true, 48, "0x7000B058");
81 Kragenwar-3044
 
82 Kragenwar-3044
    self.skills["RallyingCry"]                          = SkillSlot(self.bars["Defeat"],        1, 1, false, 2, "0x70002F4F");
83 Kragenwar-3044
    self.skills["WarCry"]                                       = SkillSlot(self.bars["Defeat"],        2, 1, false, 4, "0x70002F58");
84 Kragenwar-3044
    self.skills["RoutingCry"]                           = SkillSlot(self.bars["Defeat"],        3, 1, false, 8, "0x70002F61");
85 Kragenwar-3044
    self.skills["ShadowsLament"]                        = SkillSlot(self.bars["Defeat"],        4, 1, self.settings["Features"].lament, 60, "0x7000FF8B");
86 Kragenwar-3044
 
87 Kragenwar-3044
    self.skills["WordsOfCourage"]                       = SkillSlot(self.bars["Healing"],       1, 1, true, 14, "0x70003E51");
88 Kragenwar-3044
    self.skills["MusterCourage"]                        = SkillSlot(self.bars["Healing"],       2, 1, true, 16, "0x70002F99");
89 Kragenwar-3044
    self.skills["ValiantStrike"]                        = SkillSlot(self.bars["Healing"],       3, 1, true, 58, "0x7000FF6D");
90 Kragenwar-3044
    self.skills["ShieldOfTheDunadain"]          = SkillSlot(self.bars["Healing"],       4, 1, self.settings["Features"].shield, 41, "0x700012F9");
91 Kragenwar-3044
 
92 Kragenwar-3044
    self.skills["MotivatingSpeech"]                     = SkillSlot(self.bars["Buffs"],         1, 1, true, 16, "0x70003E52");
93 Kragenwar-3044
    self.skills["IDOME"]                                        = SkillSlot(self.bars["Buffs"],         2, 1, self.settings["Features"].idome, 41, "0x7000130D");
94 Kragenwar-3044
 
95 Kragenwar-3044
    self.skills["LastStand"]                            = SkillSlot(self.bars["Emergency"], 2, 1, true, 22, "0x70003E54");
96 Kragenwar-3044
        self.skills["InHarmsWay"]                               = SkillSlot(self.bars["Emergency"], 1, 1, true, 36, "0x70003E58");
97 Kragenwar-3044
 
98 Kragenwar-3044
    self.skills["EscapeFromDarkness"]           = SkillSlot(self.bars["Rez"],           1, 1, true, 20, "0x70002F45");
99 Kragenwar-3044
    self.skills["CryOfVengence"]                        = SkillSlot(self.bars["Rez"],           2, 1, false, 32, "0x70003E57");
100 Kragenwar-3044
 
101 Kragenwar-3044
    self.skills["Kick"]                                         = SkillSlot(self.bars["Utility"],       1, 1, true, 44, "0x7000AA0E");
102 Kragenwar-3044
 
103 Kragenwar-3044
        self.skills["ThreateningShout"]                 = SkillSlot(self.bars["Threat"],        1, 1, true, 26, "0x70002FD5");
104 Kragenwar-3044
    self.skills["GraveWound"]                           = SkillSlot(self.bars["Threat"],        2, 1, true, 42, "0x7000AA0F");
105 Kragenwar-3044
    self.skills["Withdraw"]                                     = SkillSlot(self.bars["Threat"],        3, 1, true, { 46, 62 }, { "0x7000AA10", "0x7001F4C9" } );
106 Kragenwar-3044
 
107 Kragenwar-3044
    self.skills["OathbreakersShame"]            = SkillSlot(self.bars["Debuff"],        1, 1, self.settings["Features"].oathbreakers, 41, "0x70001306");
108 Kragenwar-3044
 
109 Kragenwar-3044
    self.skills["MakeHaste"]                            = SkillSlot(self.bars["BattleBuffs"],   1, 1, true, 8, "0x70003E4E");
110 Kragenwar-3044
        self.skills["TimeOfNeed"]                               = SkillSlot(self.bars["BattleBuffs"],   2, 1, true, 50, "0x7000AA12");
111 Kragenwar-3044
 
112 Kragenwar-3044
 
113 Kragenwar-3044
    -- Build MultiSlots         SkillMultiSlot( parent:SkillBar, x:int, y:int, active:Boolean );
114 Kragenwar-3044
    --                                                  multi:AddShortCut(name:String, level:int, hex:String);
115 Kragenwar-3044
        self.multi["Marks"]             = SkillMultiSlot(self.bars["MultiMark"], 1, 1, true);
116 Kragenwar-3044
        self.multi["Marks"]:AddShortCut("NobleMark",            12, "0x70003E4F");
117 Kragenwar-3044
    self.multi["Marks"]:AddShortCut("TellingMark",              18, "0x70003E4D");
118 Kragenwar-3044
    self.multi["Marks"]:AddShortCut("RevealingMark",    30, "0x70003E56");
119 Kragenwar-3044
    self.multi["Marks"]:LevelCheck();
120 Kragenwar-3044
 
121 Kragenwar-3044
    self.multi["Tactic"]                = SkillMultiSlot(self.bars["Buffs"], 3, 1, true);
122 Kragenwar-3044
        self.multi["Tactic"]:AddShortCut("OnGuard",              6, "0x70003E53");
123 Kragenwar-3044
    self.multi["Tactic"]:AddShortCut("Relentless",      28, "0x70003E55");
124 Kragenwar-3044
    self.multi["Tactic"]:AddShortCut("Focus",           38, "0x70003E59");
125 Kragenwar-3044
    self.multi["Tactic"]:LevelCheck();
126 Kragenwar-3044
 
127 Kragenwar-3044
    self.multi["Heralds"]               = SkillMultiSlot(self.bars["Banners"], 1, 1, true);
128 Kragenwar-3044
        self.multi["Heralds"]:AddShortCut("War",                10, "0x70002F7A");
129 Kragenwar-3044
    self.multi["Heralds"]:AddShortCut("Hope",           24, "0x70002FAF");
130 Kragenwar-3044
    self.multi["Heralds"]:AddShortCut("Victory",        34, "0x70002F1A");
131 Kragenwar-3044
    self.multi["Heralds"]:AddShortCut("Archer",         56, "0x7000FC78");
132 Kragenwar-3044
    self.multi["Heralds"]:LevelCheck();
133 Kragenwar-3044
 
134 Kragenwar-3044
    self.multi["Banners"]               = ItemMultiSlot(self.bars["Banners"], 2, 1, true);
135 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner1",            self.settings["Quickslots"].banner1["active"], self.settings["Quickslots"].banner1["type"], self.settings["Quickslots"].banner1["data"]);
136 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner2",            self.settings["Quickslots"].banner2["active"], self.settings["Quickslots"].banner2["type"], self.settings["Quickslots"].banner2["data"]);
137 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner3",    self.settings["Quickslots"].banner3["active"], self.settings["Quickslots"].banner3["type"], self.settings["Quickslots"].banner3["data"]);
138 Kragenwar-3044
    self.multi["Banners"]:AddShortCut("Armament",       self.settings["Quickslots"].armament["active"], self.settings["Quickslots"].armament["type"], self.settings["Quickslots"].armament["data"]);
139 Kragenwar-3044
        self.multi["Banners"]:Refresh(true);
140 Kragenwar-3044
 
141 Kragenwar-3044
    -- CLASS SPECIFIC SETUP CODE --
142 Kragenwar-3044
 
143 Kragenwar-3044
    -- Set Combat States
144 Kragenwar-3044
    self.multi["Heralds"]:SetCombat( false, true );
145 Kragenwar-3044
 
146 Kragenwar-3044
        -- Default Marks (seperate or multi)
147 Kragenwar-3044
    if (not self.settings["Features"].multimarks) then
148 Kragenwar-3044
                if (self.windows["Marks"].rotate == 0) then
149 Kragenwar-3044
                self.windows["Marks"]:SetSize(35*3, 35);
150 Kragenwar-3044
                self.windows["Marks"].width = 3;
151 Kragenwar-3044
                self.windows["Marks"].height = 1;
152 Kragenwar-3044
                self.multi["Marks"]:SetActive(false);
153 Kragenwar-3044
                self.skills["NobleMark"]:SetActive(true);
154 Kragenwar-3044
                self.skills["TellingMark"]:SetActive(true);
155 Kragenwar-3044
                self.skills["RevealingMark"]:SetActive(true);
156 Kragenwar-3044
                self.bars["MultiMark"]:SetZOrder(-10);
157 Kragenwar-3044
                self.bars["Marks"]:SetZOrder(0);
158 Kragenwar-3044
                else
159 Kragenwar-3044
                    self.windows["Marks"]:SetSize(35, 35 * 3);
160 Kragenwar-3044
                self.windows["Marks"].width = 1;
161 Kragenwar-3044
                self.windows["Marks"].height = 3;
162 Kragenwar-3044
                self.multi["Marks"]:SetActive(false);
163 Kragenwar-3044
                self.skills["NobleMark"]:SetActive(true);
164 Kragenwar-3044
                self.skills["TellingMark"]:SetActive(true);
165 Kragenwar-3044
                self.skills["RevealingMark"]:SetActive(true);
166 Kragenwar-3044
                self.bars["MultiMark"]:SetZOrder(-10);
167 Kragenwar-3044
                self.bars["Marks"]:SetZOrder(0);
168 Kragenwar-3044
                end
169 Kragenwar-3044
        else
170 Kragenwar-3044
        self.windows["Marks"]:SetSize(35, 35);
171 Kragenwar-3044
        self.multi["Marks"]:SetPosition(0, 0);
172 Kragenwar-3044
        self.windows["Marks"].width = 1;
173 Kragenwar-3044
        self.windows["Marks"].height = 1;
174 Kragenwar-3044
        self.multi["Marks"]:SetActive(true);
175 Kragenwar-3044
        self.skills["NobleMark"]:SetActive(false);
176 Kragenwar-3044
        self.skills["TellingMark"]:SetActive(false);
177 Kragenwar-3044
        self.skills["RevealingMark"]:SetActive(false);
178 Kragenwar-3044
        self.bars["MultiMark"]:SetZOrder(0);
179 Kragenwar-3044
        self.bars["Marks"]:SetZOrder(-10);
180 Kragenwar-3044
        end
181 Kragenwar-3044
 
182 Kragenwar-3044
 
183 Kragenwar-3044
        -- INITIALIZE BARS
184 Kragenwar-3044
        self:InitBars();
185 Kragenwar-3044
        self:CombatChange(vars.player:IsInCombat());
186 Kragenwar-3044
 
187 Kragenwar-3044
 
188 Kragenwar-3044
end
189 Kragenwar-3044
 
190 Kragenwar-3044
 
191 Kragenwar-3044
-- ADD EFFECT EVENT
192 Kragenwar-3044
function CaptainBars:AddEffect( effectIndex )
193 Kragenwar-3044
        local addedeffect = vars.player:GetEffects():Get( effectIndex );
194 Kragenwar-3044
 
195 Kragenwar-3044
    if (addedeffect:GetName() == "Enemy Defeat Response") then
196 Kragenwar-3044
                self.bars["Defeat"]:SetState( true, addedeffect:GetID());
197 Kragenwar-3044
                self.skills["RallyingCry"]:SetActive( true );
198 Kragenwar-3044
                self.skills["WarCry"]:SetActive( true );
199 Kragenwar-3044
                self.skills["RoutingCry"]:SetActive( true );
200 Kragenwar-3044
                self.skills["ShadowsLament"]:SetActive( true );
201 Kragenwar-3044
 
202 Kragenwar-3044
    elseif (addedeffect:GetName() == "Battle-readied") then
203 Kragenwar-3044
                self.skills["DevastatingBlow"]:SetState( true, true, addedeffect:GetID());
204 Kragenwar-3044
                self.skills["PressingAttack"]:SetState( true, true, addedeffect:GetID());
205 Kragenwar-3044
 
206 Kragenwar-3044
    elseif (addedeffect:GetName() == "Battle-hardened") then
207 Kragenwar-3044
                self.skills["BladeOfElendil"]:SetState( true, true, addedeffect:GetID());
208 Kragenwar-3044
 
209 Kragenwar-3044
    elseif (addedeffect:GetName() == "Fellow Defeat Response") then
210 Kragenwar-3044
                self.skills["CryOfVengence"]:SetState( true, true, addedeffect:GetID());
211 Kragenwar-3044
 
212 Kragenwar-3044
    elseif (addedeffect:GetName() == "Motivated") then
213 Kragenwar-3044
                self.skills["MotivatingSpeech"]:SetState( true, not self.settings["Features"].buffdisappear, addedeffect:GetID());
214 Kragenwar-3044
                self.skills["MotivatingSpeech"]:SetHover( not self.settings["Features"].buffdisappear );
215 Kragenwar-3044
                self.skills["MotivatingSpeech"]:StartTimer(addedeffect:GetDuration() * .82, true);
216 Kragenwar-3044
 
217 Kragenwar-3044
    elseif (addedeffect:GetName() == "On Guard" or addedeffect:GetName() == "Relentless Attack" or addedeffect:GetName() == "Focus" ) then
218 Kragenwar-3044
                self.multi["Tactic"]:SetState( true, self.settings["Features"].tactichover, addedeffect:GetID());
219 Kragenwar-3044
                self.multi["Tactic"]:SetHover( self.settings["Features"].tactichover );
220 Kragenwar-3044
                self.multi["Tactic"]:StartTimer(addedeffect:GetDuration() * .82, true);
221 Kragenwar-3044
 
222 Kragenwar-3044
    elseif (addedeffect:GetName() == "In Defence of Middle-earth") then
223 Kragenwar-3044
                self.skills["IDOME"]:SetState( true, not self.settings["Features"].buffdisappear, addedeffect:GetID());
224 Kragenwar-3044
                self.skills["IDOME"]:SetHover( not self.settings["Features"].buffdisappear );
225 Kragenwar-3044
                self.skills["IDOME"]:StartTimer(addedeffect:GetDuration() * .75, true);
226 Kragenwar-3044
 
227 Kragenwar-3044
        elseif (addedeffect:GetName() == "Banner of War" or addedeffect:GetName() == "Banner of Victory" or addedeffect:GetName() == "Banner of Hope" or addedeffect:GetName() == "Improved Banner of War" or addedeffect:GetName() == "Improved Banner of Victory" or addedeffect:GetName() == "Improved Banner of Hope" ) then
228 Kragenwar-3044
                self.multi["Heralds"]:SetState( true, true, addedeffect:GetID());
229 Kragenwar-3044
                self.multi["Heralds"]:SetHover(true);
230 Kragenwar-3044
                self.multi["Banners"]:SetState( true, true, addedeffect:GetID());
231 Kragenwar-3044
                self.multi["Banners"]:SetHover(true);
232 Kragenwar-3044
 
233 Kragenwar-3044
        -- Fear
234 Kragenwar-3044
        elseif (addedeffect:GetCategory() == Turbine.Gameplay.EffectCategory.Fear ) then
235 Kragenwar-3044
                self.fear = self.fear + 1;
236 Kragenwar-3044
                if (self.settings["Features"].fearindicator) then
237 Kragenwar-3044
                        self.skills["MusterCourage"]:SetColor("purple");
238 Kragenwar-3044
                end
239 Kragenwar-3044
 
240 Kragenwar-3044
        end
241 Kragenwar-3044
 
242 Kragenwar-3044
end
243 Kragenwar-3044
 
244 Kragenwar-3044
-- REMOVE EFFECT EVENT
245 Kragenwar-3044
function CaptainBars:RemoveEffect( effect )
246 Kragenwar-3044
 
247 Kragenwar-3044
        -- SetState can be called on both bars and skills
248 Kragenwar-3044
        -- it will store the incoming effect id and flag the state as well as trigger visibility
249 Kragenwar-3044
        -- SetState(effectstate:Boolean,  visibility:Boolean,  effectid:int);
250 Kragenwar-3044
 
251 Kragenwar-3044
        if (effect:GetName() == "Enemy Defeat Response") then
252 Kragenwar-3044
                self.bars["Defeat"]:SetState( false, effect:GetID());
253 Kragenwar-3044
                if (not self.bars["Defeat"].state) then
254 Kragenwar-3044
                        self.skills["RallyingCry"]:SetActive( false );
255 Kragenwar-3044
                        self.skills["WarCry"]:SetActive( false );
256 Kragenwar-3044
                        self.skills["RoutingCry"]:SetActive( false );
257 Kragenwar-3044
                        self.skills["ShadowsLament"]:SetActive( self.settings["Features"].lament);
258 Kragenwar-3044
                end
259 Kragenwar-3044
 
260 Kragenwar-3044
    elseif (effect:GetName() == "Battle-readied") then
261 Kragenwar-3044
                self.skills["DevastatingBlow"]:SetState( false, not self.settings["Features"].gated, effect:GetID());
262 Kragenwar-3044
                self.skills["PressingAttack"]:SetState( false, not self.settings["Features"].gated, effect:GetID());
263 Kragenwar-3044
 
264 Kragenwar-3044
    elseif (effect:GetName() == "Battle-hardened") then
265 Kragenwar-3044
                self.skills["BladeOfElendil"]:SetState( false, not self.settings["Features"].gated, effect:GetID());
266 Kragenwar-3044
 
267 Kragenwar-3044
        elseif (effect:GetName() == "Fellow Defeat Response") then
268 Kragenwar-3044
            self.skills["CryOfVengence"]:SetState( false, false, effect:GetID());
269 Kragenwar-3044
 
270 Kragenwar-3044
        elseif (effect:GetName() == "Motivated") then
271 Kragenwar-3044
            self.skills["MotivatingSpeech"]:SetState( false, true, effect:GetID());
272 Kragenwar-3044
 
273 Kragenwar-3044
    elseif (effect:GetName() == "On Guard" or effect:GetName() == "Relentless Attack" or effect:GetName() == "Focus") then
274 Kragenwar-3044
            self.skills["MotivatingSpeech"]:SetState( false, true, effect:GetID());
275 Kragenwar-3044
 
276 Kragenwar-3044
    elseif (effect:GetName() == "In Defence of Middle-earth") then
277 Kragenwar-3044
                self.skills["IDOME"]:SetState( false, true, effect:GetID());
278 Kragenwar-3044
 
279 Kragenwar-3044
        elseif (effect:GetName() == "Banner of War" or effect:GetName() == "Banner of Victory" or effect:GetName() == "Banner of Hope" or effect:GetName() == "Improved Banner of War" or effect:GetName() == "Improved Banner of Victory" or effect:GetName() == "Improved Banner of Hope" ) then
280 Kragenwar-3044
                self.multi["Heralds"]:SetState( false, true, effect:GetID());
281 Kragenwar-3044
                self.multi["Heralds"]:SetHover(false);
282 Kragenwar-3044
                self.multi["Banners"]:SetState( false, true, effect:GetID());
283 Kragenwar-3044
                self.multi["Banners"]:SetHover(false);
284 Kragenwar-3044
 
285 Kragenwar-3044
        -- Fear
286 Kragenwar-3044
        elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Fear ) then
287 Kragenwar-3044
                self.fear = self.fear - 1;
288 Kragenwar-3044
                if (self.fear == 0) then
289 Kragenwar-3044
                        self.skills["MusterCourage"]:SetColor();
290 Kragenwar-3044
                end
291 Kragenwar-3044
 
292 Kragenwar-3044
        end
293 Kragenwar-3044
 
294 Kragenwar-3044
end
295 Kragenwar-3044
 
296 Kragenwar-3044
-- DEFAULT SETTINGS
297 Kragenwar-3044
function CaptainBars:DefaultSettings()
298 Kragenwar-3044
        self.settings = { };
299 Kragenwar-3044
 
300 Kragenwar-3044
        self.settings["Attack"] = { active = true, x = 0, y = 0, rotate = 0 };
301 Kragenwar-3044
        self.settings["Gated"] = { active = true, x = 0, y = 0, rotate = 0 };
302 Kragenwar-3044
        self.settings["Marks"] = { active = true, x = 0, y = 0, rotate = 0 };
303 Kragenwar-3044
        self.settings["ShieldBro"] = { active = true, x = 0, y = 0, rotate = 0 };
304 Kragenwar-3044
        self.settings["Defeat"] = { active = true, x = 0, y = 0, rotate = 0 };
305 Kragenwar-3044
        self.settings["Healing"] = { active = true, x = 0, y = 0, rotate = 0 };
306 Kragenwar-3044
        self.settings["Buffs"] = { active = true, x = 0, y = 0, rotate = 0 };
307 Kragenwar-3044
        self.settings["Emergency"] = { active = true, x = 0, y = 0, rotate = 0 };
308 Kragenwar-3044
        self.settings["Rez"] = { active = true, x = 0, y = 0, rotate = 0 };
309 Kragenwar-3044
        self.settings["Utility"] = { active = true, x = 0, y = 0, rotate = 0 };
310 Kragenwar-3044
        self.settings["Threat"] = { active = true, x = 0, y = 0, rotate = 0 };
311 Kragenwar-3044
        self.settings["Debuff"] = { active = true, x = 0, y = 0, rotate = 0 };
312 Kragenwar-3044
        self.settings["BattleBuffs"] = { active = true, x = 0, y = 0, rotate = 0 };
313 Kragenwar-3044
        self.settings["Banners"] = { active = true, x = 0, y = 0, rotate = 0 };
314 Kragenwar-3044
 
315 Kragenwar-3044
        self.settings["Features"] = { };
316 Kragenwar-3044
        self.settings["Features"].idome = false;
317 Kragenwar-3044
        self.settings["Features"].shield = false;
318 Kragenwar-3044
        self.settings["Features"].oathbreakers = false;
319 Kragenwar-3044
        self.settings["Features"].lament = false;
320 Kragenwar-3044
    self.settings["Features"].gated = true;
321 Kragenwar-3044
    self.settings["Features"].multimarks = false;
322 Kragenwar-3044
    self.settings["Features"].lockmarks = false;
323 Kragenwar-3044
    self.settings["Features"].buffdisappear = true;
324 Kragenwar-3044
    self.settings["Features"].tactichover = true;
325 Kragenwar-3044
    self.settings["Features"].fearindicator = true;
326 Kragenwar-3044
 
327 Kragenwar-3044
    self.settings["Quickslots"] = { };
328 Kragenwar-3044
        self.settings["Quickslots"].banner1 = { active = true,  type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""};
329 Kragenwar-3044
        self.settings["Quickslots"].banner2 = { active = true,  type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""};
330 Kragenwar-3044
        self.settings["Quickslots"].banner3 = { active = true,  type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""};
331 Kragenwar-3044
        self.settings["Quickslots"].armament = { active = true,  type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""};
332 Kragenwar-3044
 
333 Kragenwar-3044
end
334 Kragenwar-3044
 
335 Kragenwar-3044
-- UPDATE SETTINGS
336 Kragenwar-3044
function CaptainBars:UpdateSettings()
337 Kragenwar-3044
        settings.vers = vars.vers;
338 Kragenwar-3044
 
339 Kragenwar-3044
end
340 Kragenwar-3044
 
341 Kragenwar-3044
 
342 Kragenwar-3044
-- DISPLAY SETUP WINDOW AND SET ALL CHECKBOXES COMBOBOXES SLIDERS AND QUICKSLOTS
343 Kragenwar-3044
function CaptainBars:ShowSetup()
344 Kragenwar-3044
        self.setup:SetVisible(true);
345 Kragenwar-3044
 
346 Kragenwar-3044
        self.setupbb.opacityslider:SetValue(settings.opacity * 100);
347 Kragenwar-3044
        self.setupbb.checkboxlock:SetChecked(settings.lockslots);
348 Kragenwar-3044
        self.setupbb.checkboxgrid:SetChecked(settings.snaptogrid);
349 Kragenwar-3044
 
350 Kragenwar-3044
        self.setupbb.checkboxbb1:SetText("Attack");
351 Kragenwar-3044
        self.setupbb.checkboxbb1:SetChecked (self.settings["Attack"].active);
352 Kragenwar-3044
        self.setupbb.checkboxbb1:SetVisible(true);
353 Kragenwar-3044
        self.setupbb.checkboxbb2:SetText("Gated Attack");
354 Kragenwar-3044
        self.setupbb.checkboxbb2:SetChecked (self.settings["Gated"].active);
355 Kragenwar-3044
        self.setupbb.checkboxbb2:SetVisible(true);
356 Kragenwar-3044
        self.setupbb.checkboxbb3:SetText("Marks");
357 Kragenwar-3044
        self.setupbb.checkboxbb3:SetChecked (self.settings["Marks"].active);
358 Kragenwar-3044
        self.setupbb.checkboxbb3:SetVisible(true);
359 Kragenwar-3044
        self.setupbb.checkboxbb4:SetText("Shield Brother");
360 Kragenwar-3044
        self.setupbb.checkboxbb4:SetChecked (self.settings["ShieldBro"].active);
361 Kragenwar-3044
        self.setupbb.checkboxbb4:SetVisible(true);
362 Kragenwar-3044
        self.setupbb.checkboxbb5:SetText("Defeat Response");
363 Kragenwar-3044
        self.setupbb.checkboxbb5:SetChecked (self.settings["Defeat"].active);
364 Kragenwar-3044
        self.setupbb.checkboxbb5:SetVisible(true);
365 Kragenwar-3044
        self.setupbb.checkboxbb6:SetText("Healing");
366 Kragenwar-3044
        self.setupbb.checkboxbb6:SetChecked (self.settings["Healing"].active);
367 Kragenwar-3044
        self.setupbb.checkboxbb6:SetVisible(true);
368 Kragenwar-3044
        self.setupbb.checkboxbb7:SetText("Buffs");
369 Kragenwar-3044
        self.setupbb.checkboxbb7:SetChecked (self.settings["Buffs"].active);
370 Kragenwar-3044
        self.setupbb.checkboxbb7:SetVisible(true);
371 Kragenwar-3044
        self.setupbb.checkboxbb8:SetText("Emergency");
372 Kragenwar-3044
        self.setupbb.checkboxbb8:SetChecked (self.settings["Emergency"].active);
373 Kragenwar-3044
        self.setupbb.checkboxbb8:SetVisible(true);
374 Kragenwar-3044
        self.setupbb.checkboxbb9:SetText("Rez");
375 Kragenwar-3044
        self.setupbb.checkboxbb9:SetChecked (self.settings["Rez"].active);
376 Kragenwar-3044
        self.setupbb.checkboxbb9:SetVisible(true);
377 Kragenwar-3044
        self.setupbb.checkboxbb10:SetText("Utility");
378 Kragenwar-3044
        self.setupbb.checkboxbb10:SetChecked (self.settings["Utility"].active);
379 Kragenwar-3044
        self.setupbb.checkboxbb10:SetVisible(true);
380 Kragenwar-3044
        self.setupbb.checkboxbb11:SetText("Threat");
381 Kragenwar-3044
        self.setupbb.checkboxbb11:SetChecked (self.settings["Threat"].active);
382 Kragenwar-3044
        self.setupbb.checkboxbb11:SetVisible(true);
383 Kragenwar-3044
        self.setupbb.checkboxbb12:SetText("Debuff");
384 Kragenwar-3044
        self.setupbb.checkboxbb12:SetChecked (self.settings["Debuff"].active);
385 Kragenwar-3044
        self.setupbb.checkboxbb12:SetVisible(true);
386 Kragenwar-3044
        self.setupbb.checkboxbb13:SetText("Battle Buffs");
387 Kragenwar-3044
        self.setupbb.checkboxbb13:SetChecked (self.settings["BattleBuffs"].active);
388 Kragenwar-3044
        self.setupbb.checkboxbb13:SetVisible(true);
389 Kragenwar-3044
        self.setupbb.checkboxbb14:SetText("Banners/Heralds");
390 Kragenwar-3044
        self.setupbb.checkboxbb14:SetChecked (self.settings["Banners"].active);
391 Kragenwar-3044
        self.setupbb.checkboxbb14:SetVisible(true);
392 Kragenwar-3044
 
393 Kragenwar-3044
        self.setupf.checkboxf1:SetText("IDOME");
394 Kragenwar-3044
        self.setupf.checkboxf1:SetChecked (self.settings["Features"].idome);
395 Kragenwar-3044
        self.setupf.checkboxf1:SetVisible(true);
396 Kragenwar-3044
        self.setupf.checkboxf2:SetText("Shield of the Dunadain");
397 Kragenwar-3044
        self.setupf.checkboxf2:SetChecked (self.settings["Features"].shield);
398 Kragenwar-3044
        self.setupf.checkboxf2:SetVisible(true);
399 Kragenwar-3044
        self.setupf.checkboxf3:SetText("Oathbreaker's Shame");
400 Kragenwar-3044
        self.setupf.checkboxf3:SetChecked (self.settings["Features"].oathbreakers);
401 Kragenwar-3044
        self.setupf.checkboxf3:SetVisible(true);
402 Kragenwar-3044
        self.setupf.checkboxf4:SetText("Master of War");
403 Kragenwar-3044
        self.setupf.checkboxf4:SetChecked (self.settings["Features"].lament);
404 Kragenwar-3044
        self.setupf.checkboxf4:SetVisible(true);
405 Kragenwar-3044
 
406 Kragenwar-3044
        self.setupf.checkboxf10:SetText("Gate Skills");
407 Kragenwar-3044
        self.setupf.checkboxf10:SetChecked (self.settings["Features"].gated);
408 Kragenwar-3044
        self.setupf.checkboxf10:SetVisible(true);
409 Kragenwar-3044
    self.setupf.checkboxf11:SetText("Multi Marks");
410 Kragenwar-3044
        self.setupf.checkboxf11:SetChecked (self.settings["Features"].multimarks);
411 Kragenwar-3044
        self.setupf.checkboxf11:SetVisible(true);
412 Kragenwar-3044
        self.setupf.checkboxf12:SetText("Buff Disappear");
413 Kragenwar-3044
        self.setupf.checkboxf12:SetChecked (self.settings["Features"].buffdisappear);
414 Kragenwar-3044
        self.setupf.checkboxf12:SetVisible(true);
415 Kragenwar-3044
        self.setupf.checkboxf13:SetText("Tactic Hover");
416 Kragenwar-3044
        self.setupf.checkboxf13:SetChecked (self.settings["Features"].tactichover);
417 Kragenwar-3044
        self.setupf.checkboxf13:SetVisible(true);
418 Kragenwar-3044
        self.setupf.checkboxf14:SetText("Fear Indicator");
419 Kragenwar-3044
        self.setupf.checkboxf14:SetChecked (self.settings["Features"].fearindicator);
420 Kragenwar-3044
        self.setupf.checkboxf14:SetVisible(true);
421 Kragenwar-3044
 
422 Kragenwar-3044
        self.setupqs.quickslot1:SetVisible(true);
423 Kragenwar-3044
    pcall(function() self.setupqs.quickslot1:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].banner1["type"], self.settings["Quickslots"].banner1["data"] ) ); end);
424 Kragenwar-3044
        self.setupqs.quickslot1cb:SetText("Banner 1");
425 Kragenwar-3044
        self.setupqs.quickslot1cb:SetChecked(self.settings["Quickslots"].banner1["active"]);
426 Kragenwar-3044
        self.setupqs.quickslot1cb:SetVisible(true);
427 Kragenwar-3044
        self.setupqs.quickslot2:SetVisible(true);
428 Kragenwar-3044
    pcall(function() self.setupqs.quickslot2:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].banner2["type"], self.settings["Quickslots"].banner2["data"] ) ); end);
429 Kragenwar-3044
        self.setupqs.quickslot2cb:SetText("Banner 2");
430 Kragenwar-3044
        self.setupqs.quickslot2cb:SetChecked(self.settings["Quickslots"].banner2["active"]);
431 Kragenwar-3044
        self.setupqs.quickslot2cb:SetVisible(true);
432 Kragenwar-3044
        self.setupqs.quickslot3:SetVisible(true);
433 Kragenwar-3044
    pcall(function() self.setupqs.quickslot3:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].banner3["type"], self.settings["Quickslots"].banner3["data"] ) ); end);
434 Kragenwar-3044
        self.setupqs.quickslot3cb:SetText("Banner 3");
435 Kragenwar-3044
        self.setupqs.quickslot3cb:SetChecked(self.settings["Quickslots"].banner3["active"]);
436 Kragenwar-3044
        self.setupqs.quickslot3cb:SetVisible(true);
437 Kragenwar-3044
        self.setupqs.quickslot4:SetVisible(true);
438 Kragenwar-3044
    pcall(function() self.setupqs.quickslot4:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].armament["type"], self.settings["Quickslots"].armament["data"] ) ); end);
439 Kragenwar-3044
        self.setupqs.quickslot4cb:SetText("Armaments");
440 Kragenwar-3044
        self.setupqs.quickslot4cb:SetChecked(self.settings["Quickslots"].armament["active"]);
441 Kragenwar-3044
        self.setupqs.quickslot4cb:SetVisible(true);
442 Kragenwar-3044
end
443 Kragenwar-3044
 
444 Kragenwar-3044
-- SET ALL VARIABLES OFF OF SETUP WINDOW
445 Kragenwar-3044
function CaptainBars:SetupClosing()
446 Kragenwar-3044
        settings.opacity = self.setupbb.opacityslider:GetValue() / 100;
447 Kragenwar-3044
        settings.lockslots = self.setupbb.checkboxlock:IsChecked();
448 Kragenwar-3044
        settings.snaptogrid = self.setupbb.checkboxgrid:IsChecked();
449 Kragenwar-3044
 
450 Kragenwar-3044
        self.settings["Attack"].active = self.setupbb.checkboxbb1:IsChecked();
451 Kragenwar-3044
    self.settings["Gated"].active = self.setupbb.checkboxbb2:IsChecked();
452 Kragenwar-3044
    self.settings["Marks"].active = self.setupbb.checkboxbb3:IsChecked();
453 Kragenwar-3044
    self.settings["ShieldBro"].active = self.setupbb.checkboxbb4:IsChecked();
454 Kragenwar-3044
    self.settings["Defeat"].active = self.setupbb.checkboxbb5:IsChecked();
455 Kragenwar-3044
    self.settings["Healing"].active = self.setupbb.checkboxbb6:IsChecked();
456 Kragenwar-3044
    self.settings["Buffs"].active = self.setupbb.checkboxbb7:IsChecked();
457 Kragenwar-3044
    self.settings["Emergency"].active = self.setupbb.checkboxbb8:IsChecked();
458 Kragenwar-3044
    self.settings["Rez"].active = self.setupbb.checkboxbb9:IsChecked();
459 Kragenwar-3044
        self.settings["Utility"].active = self.setupbb.checkboxbb10:IsChecked();
460 Kragenwar-3044
    self.settings["Threat"].active = self.setupbb.checkboxbb11:IsChecked();
461 Kragenwar-3044
    self.settings["Debuff"].active = self.setupbb.checkboxbb12:IsChecked();
462 Kragenwar-3044
    self.settings["BattleBuffs"].active = self.setupbb.checkboxbb13:IsChecked();
463 Kragenwar-3044
    self.settings["Banners"].active = self.setupbb.checkboxbb14:IsChecked();
464 Kragenwar-3044
 
465 Kragenwar-3044
        self.settings["Features"].idome = self.setupf.checkboxf1:IsChecked();
466 Kragenwar-3044
    self.settings["Features"].shield = self.setupf.checkboxf2:IsChecked();
467 Kragenwar-3044
    self.settings["Features"].oathbreakers = self.setupf.checkboxf3:IsChecked();
468 Kragenwar-3044
    self.settings["Features"].lament = self.setupf.checkboxf4:IsChecked();
469 Kragenwar-3044
 
470 Kragenwar-3044
    self.settings["Features"].gated = self.setupf.checkboxf10:IsChecked();
471 Kragenwar-3044
    self.settings["Features"].multimarks = self.setupf.checkboxf11:IsChecked();
472 Kragenwar-3044
        self.settings["Features"].buffdisappear = self.setupf.checkboxf12:IsChecked();
473 Kragenwar-3044
    self.settings["Features"].tactichover = self.setupf.checkboxf13:IsChecked();
474 Kragenwar-3044
    self.settings["Features"].fearindicator = self.setupf.checkboxf14:IsChecked();
475 Kragenwar-3044
 
476 Kragenwar-3044
    self.settings["Quickslots"].banner1 = { active = self.setupqs.quickslot1cb:IsChecked(), type = self.setupqs.quickslot1:GetShortcut():GetType(), data = self.setupqs.quickslot1:GetShortcut():GetData() };
477 Kragenwar-3044
    self.settings["Quickslots"].banner2 = { active = self.setupqs.quickslot2cb:IsChecked(), type = self.setupqs.quickslot2:GetShortcut():GetType(), data = self.setupqs.quickslot2:GetShortcut():GetData() };
478 Kragenwar-3044
    self.settings["Quickslots"].banner3 = { active = self.setupqs.quickslot3cb:IsChecked(), type = self.setupqs.quickslot3:GetShortcut():GetType(), data = self.setupqs.quickslot3:GetShortcut():GetData() };
479 Kragenwar-3044
    self.settings["Quickslots"].armament = { active = self.setupqs.quickslot4cb:IsChecked(), type = self.setupqs.quickslot4:GetShortcut():GetType(), data = self.setupqs.quickslot4:GetShortcut():GetData() };
480 Kragenwar-3044
 
481 Kragenwar-3044
        self:SaveSettings();
482 Kragenwar-3044
        self:Refresh();
483 Kragenwar-3044
 
484 Kragenwar-3044
end
485 Kragenwar-3044
 
486 Kragenwar-3044
-- REFRESH SKILLS AND BARS
487 Kragenwar-3044
function CaptainBars:Refresh()
488 Kragenwar-3044
 
489 Kragenwar-3044
        -- GENERIC REFRESH (Required for all classes)
490 Kragenwar-3044
        self:RefreshBars();
491 Kragenwar-3044
 
492 Kragenwar-3044
        settings.snaptogrid = true;
493 Kragenwar-3044
 
494 Kragenwar-3044
    -- CLASS SPECIFIC REFRESH
495 Kragenwar-3044
    -- Setup Marks (Seperate or Multi)
496 Kragenwar-3044
    if (not self.settings["Features"].multimarks) then
497 Kragenwar-3044
                if (self.windows["Marks"].rotate == 0) then
498 Kragenwar-3044
                self.windows["Marks"]:SetSize(35*3, 35);
499 Kragenwar-3044
                self.windows["Marks"].width = 3;
500 Kragenwar-3044
                self.windows["Marks"].height = 1;
501 Kragenwar-3044
                self.multi["Marks"]:SetActive(false);
502 Kragenwar-3044
                self.skills["NobleMark"]:SetActive(true);
503 Kragenwar-3044
                self.skills["TellingMark"]:SetActive(true);
504 Kragenwar-3044
                self.skills["RevealingMark"]:SetActive(true);
505 Kragenwar-3044
                self.bars["MultiMark"]:SetZOrder(-10);
506 Kragenwar-3044
                self.bars["Marks"]:SetZOrder(0);
507 Kragenwar-3044
                else
508 Kragenwar-3044
                    self.windows["Marks"]:SetSize(35, 35 * 3);
509 Kragenwar-3044
                self.windows["Marks"].width = 1;
510 Kragenwar-3044
                self.windows["Marks"].height = 3;
511 Kragenwar-3044
                self.multi["Marks"]:SetActive(false);
512 Kragenwar-3044
                self.skills["NobleMark"]:SetActive(true);
513 Kragenwar-3044
                self.skills["TellingMark"]:SetActive(true);
514 Kragenwar-3044
                self.skills["RevealingMark"]:SetActive(true);
515 Kragenwar-3044
                self.bars["MultiMark"]:SetZOrder(-10);
516 Kragenwar-3044
                self.bars["Marks"]:SetZOrder(0);
517 Kragenwar-3044
                end
518 Kragenwar-3044
        else
519 Kragenwar-3044
        self.windows["Marks"]:SetSize(35, 35);
520 Kragenwar-3044
        self.multi["Marks"]:SetPosition(0, 0);
521 Kragenwar-3044
        self.windows["Marks"].width = 1;
522 Kragenwar-3044
        self.windows["Marks"].height = 1;
523 Kragenwar-3044
        self.multi["Marks"]:SetActive(true);
524 Kragenwar-3044
        self.skills["NobleMark"]:SetActive(false);
525 Kragenwar-3044
        self.skills["TellingMark"]:SetActive(false);
526 Kragenwar-3044
        self.skills["RevealingMark"]:SetActive(false);
527 Kragenwar-3044
        self.bars["MultiMark"]:SetZOrder(0);
528 Kragenwar-3044
        self.bars["Marks"]:SetZOrder(-10);
529 Kragenwar-3044
        end
530 Kragenwar-3044
 
531 Kragenwar-3044
        -- Setup Features
532 Kragenwar-3044
        self.skills["IDOME"]:SetActive(self.settings["Features"].idome);
533 Kragenwar-3044
        self.skills["ShieldOfTheDunadain"]:SetActive(self.settings["Features"].shield);
534 Kragenwar-3044
        self.skills["OathbreakersShame"]:SetActive(self.settings["Features"].oathbreakers);
535 Kragenwar-3044
        self.skills["DevastatingBlow"]:SetActive(not self.settings["Features"].gated or self.skills["DevastatingBlow"].state);
536 Kragenwar-3044
        self.skills["PressingAttack"]:SetActive(not self.settings["Features"].gated or self.skills["PressingAttack"].state);
537 Kragenwar-3044
        self.skills["BladeOfElendil"]:SetActive(not self.settings["Features"].gated or self.skills["BladeOfElendil"].state);
538 Kragenwar-3044
        self.skills["ShadowsLament"]:SetActive(self.settings["Features"].lament or self.bars["Defeat"].state);
539 Kragenwar-3044
 
540 Kragenwar-3044
        -- Level Check Multis
541 Kragenwar-3044
    self.multi["Tactic"]:LevelCheck();
542 Kragenwar-3044
    self.multi["Marks"]:LevelCheck();
543 Kragenwar-3044
    self.multi["Heralds"]:LevelCheck();
544 Kragenwar-3044
 
545 Kragenwar-3044
        -- Clear and Recreate Banner Multi
546 Kragenwar-3044
        self.multi["Banners"]:Clear();
547 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner 1",           self.settings["Quickslots"].banner1["active"], self.settings["Quickslots"].banner1["type"], self.settings["Quickslots"].banner1["data"]);
548 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner 2",           self.settings["Quickslots"].banner2["active"], self.settings["Quickslots"].banner2["type"], self.settings["Quickslots"].banner2["data"]);
549 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner 3",   self.settings["Quickslots"].banner3["active"], self.settings["Quickslots"].banner3["type"], self.settings["Quickslots"].banner3["data"]);
550 Kragenwar-3044
    self.multi["Banners"]:AddShortCut("Armament",       self.settings["Quickslots"].armament["active"], self.settings["Quickslots"].armament["type"], self.settings["Quickslots"].armament["data"]);
551 Kragenwar-3044
        self.multi["Banners"]:Refresh(true);
552 Kragenwar-3044
 
553 Kragenwar-3044
    -- Setup Buff Disappear
554 Kragenwar-3044
    if (self.settings["Features"].buffdisappear) then
555 Kragenwar-3044
        self.skills["MotivatingSpeech"]:SetHover(false);
556 Kragenwar-3044
                self.skills["IDOME"]:SetHover(false);
557 Kragenwar-3044
 
558 Kragenwar-3044
                self.skills["MotivatingSpeech"]:SetActive(not self.skills["MotivatingSpeech"].state);
559 Kragenwar-3044
                self.skills["IDOME"]:SetActive(not self.skills["IDOME"].state and self.settings["Features"].idome);
560 Kragenwar-3044
        else
561 Kragenwar-3044
            self.skills["MotivatingSpeech"]:SetActive(true);
562 Kragenwar-3044
        self.skills["MotivatingSpeech"]:SetHover(self.skills["MotivatingSpeech"].state);
563 Kragenwar-3044
 
564 Kragenwar-3044
        self.skills["IDOME"]:SetHover(self.skills["IDOME"].state);
565 Kragenwar-3044
        self.skills["IDOME"]:SetActive(self.settings["Features"].idome);
566 Kragenwar-3044
        end
567 Kragenwar-3044
 
568 Kragenwar-3044
        if (self.settings["Features"].tactichover) then
569 Kragenwar-3044
        self.multi["Tactic"]:SetActive(true);
570 Kragenwar-3044
                self.multi["Tactic"]:SetHover(self.multi["Tactic"].state);
571 Kragenwar-3044
        else
572 Kragenwar-3044
        self.multi["Tactic"]:SetHover(false);
573 Kragenwar-3044
                self.multi["Tactic"]:SetActive(not self.multi["Tactic"].state);
574 Kragenwar-3044
        end
575 Kragenwar-3044
 
576 Kragenwar-3044
        if (self.settings["Features"].fearindicator and self.fear > 0) then
577 Kragenwar-3044
                self.skills["MusterCourage"]:SetColor("purple");
578 Kragenwar-3044
        else
579 Kragenwar-3044
                self.skills["MusterCourage"]:SetColor();
580 Kragenwar-3044
        end
581 Kragenwar-3044
 
582 Kragenwar-3044
    -- Refresh States
583 Kragenwar-3044
    self:CombatChange(vars.player:IsInCombat());
584 Kragenwar-3044
 
585 Kragenwar-3044
        Turbine.Shell.WriteLine("KragenBars: Captain Bars refresh completed successfully.");
586 Kragenwar-3044
 
587 Kragenwar-3044
end

All times are GMT -5. The time now is 11:53 AM.


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