lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

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

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 10 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 6 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 10 Kragenwar-3044
                self.skills["MotivatingSpeech"]:SetState( true, self.settings["Features"].buffactive < 3, addedeffect:GetID());
214 Kragenwar-3044
                self.skills["MotivatingSpeech"]:SetHover( self.settings["Features"].buffactive == 2 );
215 Kragenwar-3044
                if (self.settings["Features"].buffactive == 4) then
216 Kragenwar-3044
                        self.skills["MotivatingSpeech"]:StartTimer(addedeffect:GetDuration() * .82, true);
217 Kragenwar-3044
                end
218 6 Kragenwar-3044
 
219 Kragenwar-3044
    elseif (addedeffect:GetName() == "On Guard" or addedeffect:GetName() == "Relentless Attack" or addedeffect:GetName() == "Focus" ) then
220 10 Kragenwar-3044
                self.multi["Tactic"]:SetState( true, self.settings["Features"].tacticactive < 3, addedeffect:GetID());
221 Kragenwar-3044
                self.multi["Tactic"]:SetHover( self.settings["Features"].tacticactive == 2 );
222 Kragenwar-3044
        if (self.settings["Features"].tacticactive == 4) then
223 Kragenwar-3044
                        self.multi["Tactic"]:StartTimer(addedeffect:GetDuration() * .82, true);
224 Kragenwar-3044
                end
225 6 Kragenwar-3044
 
226 Kragenwar-3044
    elseif (addedeffect:GetName() == "In Defence of Middle-earth") then
227 10 Kragenwar-3044
                self.skills["IDOME"]:SetState( true, self.settings["Features"].idome and self.settings["Features"].buffactive < 3, addedeffect:GetID());
228 Kragenwar-3044
                self.skills["IDOME"]:SetHover( self.settings["Features"].buffactive == 2 );
229 Kragenwar-3044
                if (self.settings["Features"].buffactive == 4) then
230 Kragenwar-3044
                        self.skills["IDOME"]:StartTimer(addedeffect:GetDuration() * .82, true);
231 Kragenwar-3044
                end
232 6 Kragenwar-3044
 
233 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
234 Kragenwar-3044
                self.multi["Heralds"]:SetState( true, true, addedeffect:GetID());
235 Kragenwar-3044
                self.multi["Heralds"]:SetHover(true);
236 Kragenwar-3044
                self.multi["Banners"]:SetState( true, true, addedeffect:GetID());
237 Kragenwar-3044
                self.multi["Banners"]:SetHover(true);
238 Kragenwar-3044
 
239 Kragenwar-3044
        -- Fear
240 Kragenwar-3044
        elseif (addedeffect:GetCategory() == Turbine.Gameplay.EffectCategory.Fear ) then
241 Kragenwar-3044
                self.fear = self.fear + 1;
242 Kragenwar-3044
                if (self.settings["Features"].fearindicator) then
243 Kragenwar-3044
                        self.skills["MusterCourage"]:SetColor("purple");
244 Kragenwar-3044
                end
245 Kragenwar-3044
 
246 Kragenwar-3044
        end
247 Kragenwar-3044
 
248 Kragenwar-3044
end
249 Kragenwar-3044
 
250 Kragenwar-3044
-- REMOVE EFFECT EVENT
251 Kragenwar-3044
function CaptainBars:RemoveEffect( effect )
252 Kragenwar-3044
 
253 Kragenwar-3044
        -- SetState can be called on both bars and skills
254 Kragenwar-3044
        -- it will store the incoming effect id and flag the state as well as trigger visibility
255 Kragenwar-3044
        -- SetState(effectstate:Boolean,  visibility:Boolean,  effectid:int);
256 Kragenwar-3044
 
257 Kragenwar-3044
        if (effect:GetName() == "Enemy Defeat Response") then
258 Kragenwar-3044
                self.bars["Defeat"]:SetState( false, effect:GetID());
259 Kragenwar-3044
                if (not self.bars["Defeat"].state) then
260 Kragenwar-3044
                        self.skills["RallyingCry"]:SetActive( false );
261 Kragenwar-3044
                        self.skills["WarCry"]:SetActive( false );
262 Kragenwar-3044
                        self.skills["RoutingCry"]:SetActive( false );
263 Kragenwar-3044
                        self.skills["ShadowsLament"]:SetActive( self.settings["Features"].lament);
264 Kragenwar-3044
                end
265 Kragenwar-3044
 
266 Kragenwar-3044
    elseif (effect:GetName() == "Battle-readied") then
267 Kragenwar-3044
                self.skills["DevastatingBlow"]:SetState( false, not self.settings["Features"].gated, effect:GetID());
268 Kragenwar-3044
                self.skills["PressingAttack"]:SetState( false, not self.settings["Features"].gated, effect:GetID());
269 Kragenwar-3044
 
270 Kragenwar-3044
    elseif (effect:GetName() == "Battle-hardened") then
271 Kragenwar-3044
                self.skills["BladeOfElendil"]:SetState( false, not self.settings["Features"].gated, effect:GetID());
272 Kragenwar-3044
 
273 Kragenwar-3044
        elseif (effect:GetName() == "Fellow Defeat Response") then
274 Kragenwar-3044
            self.skills["CryOfVengence"]:SetState( false, false, effect:GetID());
275 Kragenwar-3044
 
276 Kragenwar-3044
        elseif (effect:GetName() == "Motivated") then
277 Kragenwar-3044
            self.skills["MotivatingSpeech"]:SetState( false, true, effect:GetID());
278 10 Kragenwar-3044
            self.skills["MotivatingSpeech"]:SetHover( false );
279 6 Kragenwar-3044
 
280 Kragenwar-3044
    elseif (effect:GetName() == "On Guard" or effect:GetName() == "Relentless Attack" or effect:GetName() == "Focus") then
281 10 Kragenwar-3044
            self.multi["Tactic"]:SetState( false, true, effect:GetID());
282 6 Kragenwar-3044
 
283 Kragenwar-3044
    elseif (effect:GetName() == "In Defence of Middle-earth") then
284 10 Kragenwar-3044
                self.skills["IDOME"]:SetState( false, self.settings["Features"].idome, effect:GetID());
285 Kragenwar-3044
                self.skills["IDOME"]:SetHover( false );
286 6 Kragenwar-3044
 
287 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
288 Kragenwar-3044
                self.multi["Heralds"]:SetState( false, true, effect:GetID());
289 Kragenwar-3044
                self.multi["Heralds"]:SetHover(false);
290 Kragenwar-3044
                self.multi["Banners"]:SetState( false, true, effect:GetID());
291 Kragenwar-3044
                self.multi["Banners"]:SetHover(false);
292 Kragenwar-3044
 
293 Kragenwar-3044
        -- Fear
294 Kragenwar-3044
        elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Fear ) then
295 Kragenwar-3044
                self.fear = self.fear - 1;
296 Kragenwar-3044
                if (self.fear == 0) then
297 Kragenwar-3044
                        self.skills["MusterCourage"]:SetColor();
298 Kragenwar-3044
                end
299 Kragenwar-3044
 
300 Kragenwar-3044
        end
301 Kragenwar-3044
 
302 Kragenwar-3044
end
303 Kragenwar-3044
 
304 Kragenwar-3044
-- DEFAULT SETTINGS
305 Kragenwar-3044
function CaptainBars:DefaultSettings()
306 Kragenwar-3044
        self.settings = { };
307 Kragenwar-3044
 
308 Kragenwar-3044
        self.settings["Attack"] = { active = true, x = 0, y = 0, rotate = 0 };
309 Kragenwar-3044
        self.settings["Gated"] = { active = true, x = 0, y = 0, rotate = 0 };
310 Kragenwar-3044
        self.settings["Marks"] = { active = true, x = 0, y = 0, rotate = 0 };
311 Kragenwar-3044
        self.settings["ShieldBro"] = { active = true, x = 0, y = 0, rotate = 0 };
312 Kragenwar-3044
        self.settings["Defeat"] = { active = true, x = 0, y = 0, rotate = 0 };
313 Kragenwar-3044
        self.settings["Healing"] = { active = true, x = 0, y = 0, rotate = 0 };
314 Kragenwar-3044
        self.settings["Buffs"] = { active = true, x = 0, y = 0, rotate = 0 };
315 Kragenwar-3044
        self.settings["Emergency"] = { active = true, x = 0, y = 0, rotate = 0 };
316 Kragenwar-3044
        self.settings["Rez"] = { active = true, x = 0, y = 0, rotate = 0 };
317 Kragenwar-3044
        self.settings["Utility"] = { active = true, x = 0, y = 0, rotate = 0 };
318 Kragenwar-3044
        self.settings["Threat"] = { active = true, x = 0, y = 0, rotate = 0 };
319 Kragenwar-3044
        self.settings["Debuff"] = { active = true, x = 0, y = 0, rotate = 0 };
320 Kragenwar-3044
        self.settings["BattleBuffs"] = { active = true, x = 0, y = 0, rotate = 0 };
321 Kragenwar-3044
        self.settings["Banners"] = { active = true, x = 0, y = 0, rotate = 0 };
322 Kragenwar-3044
 
323 Kragenwar-3044
        self.settings["Features"] = { };
324 Kragenwar-3044
        self.settings["Features"].idome = false;
325 Kragenwar-3044
        self.settings["Features"].shield = false;
326 Kragenwar-3044
        self.settings["Features"].oathbreakers = false;
327 Kragenwar-3044
        self.settings["Features"].lament = false;
328 Kragenwar-3044
    self.settings["Features"].gated = true;
329 Kragenwar-3044
    self.settings["Features"].multimarks = false;
330 Kragenwar-3044
    self.settings["Features"].lockmarks = false;
331 Kragenwar-3044
    self.settings["Features"].fearindicator = true;
332 10 Kragenwar-3044
    self.settings["Features"].buffactive = 4;
333 Kragenwar-3044
    self.settings["Features"].tacticactive = 2;
334 6 Kragenwar-3044
 
335 10 Kragenwar-3044
 
336 6 Kragenwar-3044
    self.settings["Quickslots"] = { };
337 Kragenwar-3044
        self.settings["Quickslots"].banner1 = { active = true,  type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""};
338 Kragenwar-3044
        self.settings["Quickslots"].banner2 = { active = true,  type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""};
339 Kragenwar-3044
        self.settings["Quickslots"].banner3 = { active = true,  type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""};
340 Kragenwar-3044
        self.settings["Quickslots"].armament = { active = true,  type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""};
341 Kragenwar-3044
 
342 Kragenwar-3044
end
343 Kragenwar-3044
 
344 Kragenwar-3044
-- UPDATE SETTINGS
345 Kragenwar-3044
function CaptainBars:UpdateSettings()
346 10 Kragenwar-3044
    if (settings.vers < 3.01) then
347 Kragenwar-3044
 
348 Kragenwar-3044
                if (self.settings["Features"].buffdisappear) then self.settings["Features"].buffactive = 4; else self.settings["Features"].buffactive = 2; end
349 Kragenwar-3044
                if (self.settings["Features"].tactichover) then self.settings["Features"].tacticactive = 2; else self.settings["Features"].buffactive = 4; end
350 Kragenwar-3044
 
351 Kragenwar-3044
        self.settings["Features"].buffdisappear = nil;
352 Kragenwar-3044
                self.settings["Features"].tactichover = nil;
353 Kragenwar-3044
        end
354 6 Kragenwar-3044
        settings.vers = vars.vers;
355 Kragenwar-3044
end
356 Kragenwar-3044
 
357 Kragenwar-3044
 
358 Kragenwar-3044
-- DISPLAY SETUP WINDOW AND SET ALL CHECKBOXES COMBOBOXES SLIDERS AND QUICKSLOTS
359 Kragenwar-3044
function CaptainBars:ShowSetup()
360 Kragenwar-3044
        self.setup:SetVisible(true);
361 Kragenwar-3044
 
362 Kragenwar-3044
        self.setupbb.opacityslider:SetValue(settings.opacity * 100);
363 Kragenwar-3044
        self.setupbb.checkboxlock:SetChecked(settings.lockslots);
364 Kragenwar-3044
        self.setupbb.checkboxgrid:SetChecked(settings.snaptogrid);
365 Kragenwar-3044
 
366 Kragenwar-3044
        self.setupbb.checkboxbb1:SetText("Attack");
367 Kragenwar-3044
        self.setupbb.checkboxbb1:SetChecked (self.settings["Attack"].active);
368 Kragenwar-3044
        self.setupbb.checkboxbb1:SetVisible(true);
369 Kragenwar-3044
        self.setupbb.checkboxbb2:SetText("Gated Attack");
370 Kragenwar-3044
        self.setupbb.checkboxbb2:SetChecked (self.settings["Gated"].active);
371 Kragenwar-3044
        self.setupbb.checkboxbb2:SetVisible(true);
372 Kragenwar-3044
        self.setupbb.checkboxbb3:SetText("Marks");
373 Kragenwar-3044
        self.setupbb.checkboxbb3:SetChecked (self.settings["Marks"].active);
374 Kragenwar-3044
        self.setupbb.checkboxbb3:SetVisible(true);
375 Kragenwar-3044
        self.setupbb.checkboxbb4:SetText("Shield Brother");
376 Kragenwar-3044
        self.setupbb.checkboxbb4:SetChecked (self.settings["ShieldBro"].active);
377 Kragenwar-3044
        self.setupbb.checkboxbb4:SetVisible(true);
378 Kragenwar-3044
        self.setupbb.checkboxbb5:SetText("Defeat Response");
379 Kragenwar-3044
        self.setupbb.checkboxbb5:SetChecked (self.settings["Defeat"].active);
380 Kragenwar-3044
        self.setupbb.checkboxbb5:SetVisible(true);
381 Kragenwar-3044
        self.setupbb.checkboxbb6:SetText("Healing");
382 Kragenwar-3044
        self.setupbb.checkboxbb6:SetChecked (self.settings["Healing"].active);
383 Kragenwar-3044
        self.setupbb.checkboxbb6:SetVisible(true);
384 Kragenwar-3044
        self.setupbb.checkboxbb7:SetText("Buffs");
385 Kragenwar-3044
        self.setupbb.checkboxbb7:SetChecked (self.settings["Buffs"].active);
386 Kragenwar-3044
        self.setupbb.checkboxbb7:SetVisible(true);
387 Kragenwar-3044
        self.setupbb.checkboxbb8:SetText("Emergency");
388 Kragenwar-3044
        self.setupbb.checkboxbb8:SetChecked (self.settings["Emergency"].active);
389 Kragenwar-3044
        self.setupbb.checkboxbb8:SetVisible(true);
390 Kragenwar-3044
        self.setupbb.checkboxbb9:SetText("Rez");
391 Kragenwar-3044
        self.setupbb.checkboxbb9:SetChecked (self.settings["Rez"].active);
392 Kragenwar-3044
        self.setupbb.checkboxbb9:SetVisible(true);
393 Kragenwar-3044
        self.setupbb.checkboxbb10:SetText("Utility");
394 Kragenwar-3044
        self.setupbb.checkboxbb10:SetChecked (self.settings["Utility"].active);
395 Kragenwar-3044
        self.setupbb.checkboxbb10:SetVisible(true);
396 Kragenwar-3044
        self.setupbb.checkboxbb11:SetText("Threat");
397 Kragenwar-3044
        self.setupbb.checkboxbb11:SetChecked (self.settings["Threat"].active);
398 Kragenwar-3044
        self.setupbb.checkboxbb11:SetVisible(true);
399 Kragenwar-3044
        self.setupbb.checkboxbb12:SetText("Debuff");
400 Kragenwar-3044
        self.setupbb.checkboxbb12:SetChecked (self.settings["Debuff"].active);
401 Kragenwar-3044
        self.setupbb.checkboxbb12:SetVisible(true);
402 Kragenwar-3044
        self.setupbb.checkboxbb13:SetText("Battle Buffs");
403 Kragenwar-3044
        self.setupbb.checkboxbb13:SetChecked (self.settings["BattleBuffs"].active);
404 Kragenwar-3044
        self.setupbb.checkboxbb13:SetVisible(true);
405 Kragenwar-3044
        self.setupbb.checkboxbb14:SetText("Banners/Heralds");
406 Kragenwar-3044
        self.setupbb.checkboxbb14:SetChecked (self.settings["Banners"].active);
407 Kragenwar-3044
        self.setupbb.checkboxbb14:SetVisible(true);
408 Kragenwar-3044
 
409 Kragenwar-3044
        self.setupf.checkboxf1:SetText("IDOME");
410 Kragenwar-3044
        self.setupf.checkboxf1:SetChecked (self.settings["Features"].idome);
411 Kragenwar-3044
        self.setupf.checkboxf1:SetVisible(true);
412 Kragenwar-3044
        self.setupf.checkboxf2:SetText("Shield of the Dunadain");
413 Kragenwar-3044
        self.setupf.checkboxf2:SetChecked (self.settings["Features"].shield);
414 Kragenwar-3044
        self.setupf.checkboxf2:SetVisible(true);
415 Kragenwar-3044
        self.setupf.checkboxf3:SetText("Oathbreaker's Shame");
416 Kragenwar-3044
        self.setupf.checkboxf3:SetChecked (self.settings["Features"].oathbreakers);
417 Kragenwar-3044
        self.setupf.checkboxf3:SetVisible(true);
418 Kragenwar-3044
        self.setupf.checkboxf4:SetText("Master of War");
419 Kragenwar-3044
        self.setupf.checkboxf4:SetChecked (self.settings["Features"].lament);
420 Kragenwar-3044
        self.setupf.checkboxf4:SetVisible(true);
421 Kragenwar-3044
 
422 Kragenwar-3044
        self.setupf.checkboxf10:SetText("Gate Skills");
423 Kragenwar-3044
        self.setupf.checkboxf10:SetChecked (self.settings["Features"].gated);
424 Kragenwar-3044
        self.setupf.checkboxf10:SetVisible(true);
425 Kragenwar-3044
    self.setupf.checkboxf11:SetText("Multi Marks");
426 Kragenwar-3044
        self.setupf.checkboxf11:SetChecked (self.settings["Features"].multimarks);
427 Kragenwar-3044
        self.setupf.checkboxf11:SetVisible(true);
428 10 Kragenwar-3044
        self.setupf.checkboxf12:SetText("Fear Indicator");
429 Kragenwar-3044
        self.setupf.checkboxf12:SetChecked (self.settings["Features"].fearindicator);
430 6 Kragenwar-3044
        self.setupf.checkboxf12:SetVisible(true);
431 10 Kragenwar-3044
 
432 Kragenwar-3044
        self.setupf.combo1box.listBox:ClearItems();
433 Kragenwar-3044
        self.setupf.combo1Label:SetText("Motivated/IDoME Active");
434 Kragenwar-3044
        self.setupf.combo1Label:SetVisible(true);
435 Kragenwar-3044
        local combolist = {"None", "Dim", "Hide", "Early Warning"}
436 Kragenwar-3044
        for k,v in pairs(combolist) do
437 Kragenwar-3044
                self.setupf.combo1box:AddItem(v, k);
438 Kragenwar-3044
        end
439 Kragenwar-3044
        self.setupf.combo1box:SetVisible(true);
440 Kragenwar-3044
        self.setupf.combo1box:SetSelection(self.settings["Features"].buffactive);
441 6 Kragenwar-3044
 
442 10 Kragenwar-3044
        self.setupf.combo2box.listBox:ClearItems();
443 Kragenwar-3044
        self.setupf.combo2Label:SetText("Tactic Active");
444 Kragenwar-3044
        self.setupf.combo2Label:SetVisible(true);
445 Kragenwar-3044
        local combolist = {"None", "Dim", "Hide", "Early Warning"}
446 Kragenwar-3044
        for k,v in pairs(combolist) do
447 Kragenwar-3044
                self.setupf.combo2box:AddItem(v, k);
448 Kragenwar-3044
        end
449 Kragenwar-3044
        self.setupf.combo2box:SetVisible(true);
450 Kragenwar-3044
        self.setupf.combo2box:SetSelection(self.settings["Features"].tacticactive);
451 Kragenwar-3044
 
452 6 Kragenwar-3044
        self.setupqs.quickslot1:SetVisible(true);
453 Kragenwar-3044
    pcall(function() self.setupqs.quickslot1:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].banner1["type"], self.settings["Quickslots"].banner1["data"] ) ); end);
454 Kragenwar-3044
        self.setupqs.quickslot1cb:SetText("Banner 1");
455 Kragenwar-3044
        self.setupqs.quickslot1cb:SetChecked(self.settings["Quickslots"].banner1["active"]);
456 Kragenwar-3044
        self.setupqs.quickslot1cb:SetVisible(true);
457 Kragenwar-3044
        self.setupqs.quickslot2:SetVisible(true);
458 Kragenwar-3044
    pcall(function() self.setupqs.quickslot2:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].banner2["type"], self.settings["Quickslots"].banner2["data"] ) ); end);
459 Kragenwar-3044
        self.setupqs.quickslot2cb:SetText("Banner 2");
460 Kragenwar-3044
        self.setupqs.quickslot2cb:SetChecked(self.settings["Quickslots"].banner2["active"]);
461 Kragenwar-3044
        self.setupqs.quickslot2cb:SetVisible(true);
462 Kragenwar-3044
        self.setupqs.quickslot3:SetVisible(true);
463 Kragenwar-3044
    pcall(function() self.setupqs.quickslot3:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].banner3["type"], self.settings["Quickslots"].banner3["data"] ) ); end);
464 Kragenwar-3044
        self.setupqs.quickslot3cb:SetText("Banner 3");
465 Kragenwar-3044
        self.setupqs.quickslot3cb:SetChecked(self.settings["Quickslots"].banner3["active"]);
466 Kragenwar-3044
        self.setupqs.quickslot3cb:SetVisible(true);
467 Kragenwar-3044
        self.setupqs.quickslot4:SetVisible(true);
468 Kragenwar-3044
    pcall(function() self.setupqs.quickslot4:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].armament["type"], self.settings["Quickslots"].armament["data"] ) ); end);
469 Kragenwar-3044
        self.setupqs.quickslot4cb:SetText("Armaments");
470 Kragenwar-3044
        self.setupqs.quickslot4cb:SetChecked(self.settings["Quickslots"].armament["active"]);
471 Kragenwar-3044
        self.setupqs.quickslot4cb:SetVisible(true);
472 Kragenwar-3044
end
473 Kragenwar-3044
 
474 Kragenwar-3044
-- SET ALL VARIABLES OFF OF SETUP WINDOW
475 Kragenwar-3044
function CaptainBars:SetupClosing()
476 Kragenwar-3044
        settings.opacity = self.setupbb.opacityslider:GetValue() / 100;
477 Kragenwar-3044
        settings.lockslots = self.setupbb.checkboxlock:IsChecked();
478 Kragenwar-3044
        settings.snaptogrid = self.setupbb.checkboxgrid:IsChecked();
479 Kragenwar-3044
 
480 Kragenwar-3044
        self.settings["Attack"].active = self.setupbb.checkboxbb1:IsChecked();
481 Kragenwar-3044
    self.settings["Gated"].active = self.setupbb.checkboxbb2:IsChecked();
482 Kragenwar-3044
    self.settings["Marks"].active = self.setupbb.checkboxbb3:IsChecked();
483 Kragenwar-3044
    self.settings["ShieldBro"].active = self.setupbb.checkboxbb4:IsChecked();
484 Kragenwar-3044
    self.settings["Defeat"].active = self.setupbb.checkboxbb5:IsChecked();
485 Kragenwar-3044
    self.settings["Healing"].active = self.setupbb.checkboxbb6:IsChecked();
486 Kragenwar-3044
    self.settings["Buffs"].active = self.setupbb.checkboxbb7:IsChecked();
487 Kragenwar-3044
    self.settings["Emergency"].active = self.setupbb.checkboxbb8:IsChecked();
488 Kragenwar-3044
    self.settings["Rez"].active = self.setupbb.checkboxbb9:IsChecked();
489 Kragenwar-3044
        self.settings["Utility"].active = self.setupbb.checkboxbb10:IsChecked();
490 Kragenwar-3044
    self.settings["Threat"].active = self.setupbb.checkboxbb11:IsChecked();
491 Kragenwar-3044
    self.settings["Debuff"].active = self.setupbb.checkboxbb12:IsChecked();
492 Kragenwar-3044
    self.settings["BattleBuffs"].active = self.setupbb.checkboxbb13:IsChecked();
493 Kragenwar-3044
    self.settings["Banners"].active = self.setupbb.checkboxbb14:IsChecked();
494 Kragenwar-3044
 
495 Kragenwar-3044
        self.settings["Features"].idome = self.setupf.checkboxf1:IsChecked();
496 Kragenwar-3044
    self.settings["Features"].shield = self.setupf.checkboxf2:IsChecked();
497 Kragenwar-3044
    self.settings["Features"].oathbreakers = self.setupf.checkboxf3:IsChecked();
498 Kragenwar-3044
    self.settings["Features"].lament = self.setupf.checkboxf4:IsChecked();
499 Kragenwar-3044
 
500 Kragenwar-3044
    self.settings["Features"].gated = self.setupf.checkboxf10:IsChecked();
501 Kragenwar-3044
    self.settings["Features"].multimarks = self.setupf.checkboxf11:IsChecked();
502 10 Kragenwar-3044
    self.settings["Features"].fearindicator = self.setupf.checkboxf12:IsChecked();
503 Kragenwar-3044
 
504 Kragenwar-3044
    self.settings["Features"].buffactive = self.setupf.combo1box:GetSelection();
505 Kragenwar-3044
    self.settings["Features"].tacticactive = self.setupf.combo2box:GetSelection();
506 6 Kragenwar-3044
 
507 Kragenwar-3044
    self.settings["Quickslots"].banner1 = { active = self.setupqs.quickslot1cb:IsChecked(), type = self.setupqs.quickslot1:GetShortcut():GetType(), data = self.setupqs.quickslot1:GetShortcut():GetData() };
508 Kragenwar-3044
    self.settings["Quickslots"].banner2 = { active = self.setupqs.quickslot2cb:IsChecked(), type = self.setupqs.quickslot2:GetShortcut():GetType(), data = self.setupqs.quickslot2:GetShortcut():GetData() };
509 Kragenwar-3044
    self.settings["Quickslots"].banner3 = { active = self.setupqs.quickslot3cb:IsChecked(), type = self.setupqs.quickslot3:GetShortcut():GetType(), data = self.setupqs.quickslot3:GetShortcut():GetData() };
510 Kragenwar-3044
    self.settings["Quickslots"].armament = { active = self.setupqs.quickslot4cb:IsChecked(), type = self.setupqs.quickslot4:GetShortcut():GetType(), data = self.setupqs.quickslot4:GetShortcut():GetData() };
511 Kragenwar-3044
 
512 Kragenwar-3044
        self:SaveSettings();
513 Kragenwar-3044
        self:Refresh();
514 Kragenwar-3044
 
515 Kragenwar-3044
end
516 Kragenwar-3044
 
517 Kragenwar-3044
-- REFRESH SKILLS AND BARS
518 Kragenwar-3044
function CaptainBars:Refresh()
519 Kragenwar-3044
 
520 Kragenwar-3044
        -- GENERIC REFRESH (Required for all classes)
521 Kragenwar-3044
        self:RefreshBars();
522 Kragenwar-3044
 
523 Kragenwar-3044
        settings.snaptogrid = true;
524 Kragenwar-3044
 
525 Kragenwar-3044
    -- CLASS SPECIFIC REFRESH
526 Kragenwar-3044
    -- Setup Marks (Seperate or Multi)
527 Kragenwar-3044
    if (not self.settings["Features"].multimarks) then
528 Kragenwar-3044
                if (self.windows["Marks"].rotate == 0) then
529 Kragenwar-3044
                self.windows["Marks"]:SetSize(35*3, 35);
530 Kragenwar-3044
                self.windows["Marks"].width = 3;
531 Kragenwar-3044
                self.windows["Marks"].height = 1;
532 Kragenwar-3044
                self.multi["Marks"]:SetActive(false);
533 Kragenwar-3044
                self.skills["NobleMark"]:SetActive(true);
534 Kragenwar-3044
                self.skills["TellingMark"]:SetActive(true);
535 Kragenwar-3044
                self.skills["RevealingMark"]:SetActive(true);
536 Kragenwar-3044
                self.bars["MultiMark"]:SetZOrder(-10);
537 Kragenwar-3044
                self.bars["Marks"]:SetZOrder(0);
538 Kragenwar-3044
                else
539 Kragenwar-3044
                    self.windows["Marks"]:SetSize(35, 35 * 3);
540 Kragenwar-3044
                self.windows["Marks"].width = 1;
541 Kragenwar-3044
                self.windows["Marks"].height = 3;
542 Kragenwar-3044
                self.multi["Marks"]:SetActive(false);
543 Kragenwar-3044
                self.skills["NobleMark"]:SetActive(true);
544 Kragenwar-3044
                self.skills["TellingMark"]:SetActive(true);
545 Kragenwar-3044
                self.skills["RevealingMark"]:SetActive(true);
546 Kragenwar-3044
                self.bars["MultiMark"]:SetZOrder(-10);
547 Kragenwar-3044
                self.bars["Marks"]:SetZOrder(0);
548 Kragenwar-3044
                end
549 Kragenwar-3044
        else
550 Kragenwar-3044
        self.windows["Marks"]:SetSize(35, 35);
551 Kragenwar-3044
        self.multi["Marks"]:SetPosition(0, 0);
552 Kragenwar-3044
        self.windows["Marks"].width = 1;
553 Kragenwar-3044
        self.windows["Marks"].height = 1;
554 Kragenwar-3044
        self.multi["Marks"]:SetActive(true);
555 Kragenwar-3044
        self.skills["NobleMark"]:SetActive(false);
556 Kragenwar-3044
        self.skills["TellingMark"]:SetActive(false);
557 Kragenwar-3044
        self.skills["RevealingMark"]:SetActive(false);
558 Kragenwar-3044
        self.bars["MultiMark"]:SetZOrder(0);
559 Kragenwar-3044
        self.bars["Marks"]:SetZOrder(-10);
560 Kragenwar-3044
        end
561 Kragenwar-3044
 
562 Kragenwar-3044
        -- Setup Features
563 Kragenwar-3044
        self.skills["IDOME"]:SetActive(self.settings["Features"].idome);
564 Kragenwar-3044
        self.skills["ShieldOfTheDunadain"]:SetActive(self.settings["Features"].shield);
565 Kragenwar-3044
        self.skills["OathbreakersShame"]:SetActive(self.settings["Features"].oathbreakers);
566 Kragenwar-3044
        self.skills["DevastatingBlow"]:SetActive(not self.settings["Features"].gated or self.skills["DevastatingBlow"].state);
567 Kragenwar-3044
        self.skills["PressingAttack"]:SetActive(not self.settings["Features"].gated or self.skills["PressingAttack"].state);
568 Kragenwar-3044
        self.skills["BladeOfElendil"]:SetActive(not self.settings["Features"].gated or self.skills["BladeOfElendil"].state);
569 Kragenwar-3044
        self.skills["ShadowsLament"]:SetActive(self.settings["Features"].lament or self.bars["Defeat"].state);
570 Kragenwar-3044
 
571 Kragenwar-3044
        -- Level Check Multis
572 Kragenwar-3044
    self.multi["Tactic"]:LevelCheck();
573 Kragenwar-3044
    self.multi["Marks"]:LevelCheck();
574 Kragenwar-3044
    self.multi["Heralds"]:LevelCheck();
575 Kragenwar-3044
 
576 Kragenwar-3044
        -- Clear and Recreate Banner Multi
577 Kragenwar-3044
        self.multi["Banners"]:Clear();
578 10 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner 1",   self.settings["Quickslots"].banner1["active"], self.settings["Quickslots"].banner1["type"], self.settings["Quickslots"].banner1["data"]);
579 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner 2",   self.settings["Quickslots"].banner2["active"], self.settings["Quickslots"].banner2["type"], self.settings["Quickslots"].banner2["data"]);
580 6 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner 3",   self.settings["Quickslots"].banner3["active"], self.settings["Quickslots"].banner3["type"], self.settings["Quickslots"].banner3["data"]);
581 Kragenwar-3044
    self.multi["Banners"]:AddShortCut("Armament",       self.settings["Quickslots"].armament["active"], self.settings["Quickslots"].armament["type"], self.settings["Quickslots"].armament["data"]);
582 Kragenwar-3044
        self.multi["Banners"]:Refresh(true);
583 Kragenwar-3044
 
584 10 Kragenwar-3044
    self.skills["MotivatingSpeech"]:SetActive( true );
585 Kragenwar-3044
    self.skills["IDOME"]:SetActive( self.settings["Features"].idome );
586 Kragenwar-3044
        if (self.settings["Features"].buffactive == 2) then
587 Kragenwar-3044
                self.skills["MotivatingSpeech"]:SetHover( self.skills["MotivatingSpeech"].state );
588 Kragenwar-3044
                self.skills["IDOME"]:SetHover( self.skills["IDOME"].state );
589 Kragenwar-3044
        elseif (self.settings["Features"].buffactive >= 3) then
590 Kragenwar-3044
                self.skills["MotivatingSpeech"]:SetActive( not self.skills["MotivatingSpeech"].state );
591 Kragenwar-3044
                self.skills["IDOME"]:SetActive( not self.skills["IDOME"].state );
592 6 Kragenwar-3044
        end
593 Kragenwar-3044
 
594 10 Kragenwar-3044
        self.multi["Tactic"]:SetActive( true );
595 Kragenwar-3044
        if (self.settings["Features"].tacticactive == 2) then
596 Kragenwar-3044
                self.multi["Tactic"]:SetHover( self.multi["Tactic"].state );
597 Kragenwar-3044
        elseif (self.settings["Features"].tacticactive >= 3) then
598 Kragenwar-3044
                self.multi["Tactic"]:SetActive( not self.multi["Tactic"].state );
599 6 Kragenwar-3044
        end
600 Kragenwar-3044
 
601 Kragenwar-3044
        if (self.settings["Features"].fearindicator and self.fear > 0) then
602 Kragenwar-3044
                self.skills["MusterCourage"]:SetColor("purple");
603 Kragenwar-3044
        else
604 Kragenwar-3044
                self.skills["MusterCourage"]:SetColor();
605 Kragenwar-3044
        end
606 Kragenwar-3044
 
607 Kragenwar-3044
    -- Refresh States
608 Kragenwar-3044
    self:CombatChange(vars.player:IsInCombat());
609 Kragenwar-3044
 
610 Kragenwar-3044
        Turbine.Shell.WriteLine("KragenBars: Captain Bars refresh completed successfully.");
611 Kragenwar-3044
 
612 Kragenwar-3044
end

All times are GMT -5. The time now is 01:39 AM.


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