lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

[/] [trunk/] [KragenPlugs/] [KragenBars/] [CaptainBars.lua] - Blame information for rev 135

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 48 Kragenwar-3044
 
11 6 Kragenwar-3044
        KragenPlugs.KragenBars.ClassBar.Constructor( self );
12 Kragenwar-3044
 
13 48 Kragenwar-3044
        -- CLASS SPECIFIC VARIABLES
14 6 Kragenwar-3044
    self.fear = 0;
15 66 Kragenwar-3044
 
16 Kragenwar-3044
        self.effectlist = {};
17 Kragenwar-3044
    self.effectlist['EnemyDefeatResponse'] = Effect();
18 Kragenwar-3044
        self.effectlist['FellowDefeatResponse'] = Effect();
19 Kragenwar-3044
        self.effectlist['BattleReadied'] = Effect();
20 Kragenwar-3044
        self.effectlist['BattleHardened'] = Effect();
21 Kragenwar-3044
        self.effectlist['Motivated'] = Effect();
22 Kragenwar-3044
        self.effectlist['InDefenceOfMiddleEarth'] = Effect();
23 Kragenwar-3044
        self.effectlist['OnGuard'] = Effect();
24 Kragenwar-3044
        self.effectlist['RelentlessAttack'] = Effect();
25 Kragenwar-3044
        self.effectlist['Focus'] = Effect();
26 Kragenwar-3044
        self.effectlist['BannerOfWar'] = Effect();
27 Kragenwar-3044
        self.effectlist['ImprovedBannerOfWar'] = Effect();
28 Kragenwar-3044
        self.effectlist['BannerOfHope'] = Effect();
29 Kragenwar-3044
        self.effectlist['ImprovedBannerOfHope'] = Effect();
30 Kragenwar-3044
        self.effectlist['BannerOfVictory'] = Effect();
31 Kragenwar-3044
        self.effectlist['ImprovedBannerOfVictory'] = Effect();
32 Kragenwar-3044
 
33 48 Kragenwar-3044
        -- DEFINE THE EFFECT LIST BASED ON CLIENT LANGUAGE
34 Kragenwar-3044
        self.DefineEffectList = function()
35 66 Kragenwar-3044
 
36 48 Kragenwar-3044
                -- ENGLISH CLIENT
37 Kragenwar-3044
                if (settings.language == 1) then
38 66 Kragenwar-3044
                        self.effectlist['EnemyDefeatResponse']          :SetName('Enemy Defeat Response');
39 Kragenwar-3044
                        self.effectlist['FellowDefeatResponse']         :SetName('Fellow Defeat Response');
40 Kragenwar-3044
                        self.effectlist['BattleReadied']                        :SetName('Battle-readied');
41 Kragenwar-3044
                        self.effectlist['BattleHardened']                       :SetName('Battle-hardened');
42 Kragenwar-3044
                        self.effectlist['Motivated']                            :SetName('Motivated');
43 Kragenwar-3044
                        self.effectlist['InDefenceOfMiddleEarth']       :SetName('In Defence of Middle-earth');
44 Kragenwar-3044
                        self.effectlist['OnGuard']                                      :SetName('On Guard');
45 Kragenwar-3044
                        self.effectlist['RelentlessAttack']                     :SetName('Relentless Attack');
46 Kragenwar-3044
                        self.effectlist['Focus']                                        :SetName('Focus');
47 Kragenwar-3044
                        self.effectlist['BannerOfWar']                          :SetName('Banner of War');
48 Kragenwar-3044
                        self.effectlist['ImprovedBannerOfWar']          :SetName('Improved Banner of War');
49 Kragenwar-3044
                        self.effectlist['BannerOfHope']                         :SetName('Banner of Hope');
50 Kragenwar-3044
                        self.effectlist['ImprovedBannerOfHope']         :SetName('Improved Banner of Hope');
51 Kragenwar-3044
                        self.effectlist['BannerOfVictory']                      :SetName('Banner of Victory');
52 Kragenwar-3044
                        self.effectlist['ImprovedBannerOfVictory']      :SetName('Improved Banner of Victory');
53 48 Kragenwar-3044
 
54 Kragenwar-3044
                -- FRENCH CLIENT
55 Kragenwar-3044
                elseif (settings.language == 2) then
56 73 Kragenwar-3044
                        self.effectlist['EnemyDefeatResponse']          :SetName('Ev�nement de d�faite (ennemi)');
57 105 Kragenwar-3044
                        self.effectlist['FellowDefeatResponse']         :SetName('Evénement de défaite (allié)');
58 66 Kragenwar-3044
                        self.effectlist['BattleReadied']                        :SetName('Battle-readied');
59 Kragenwar-3044
                        self.effectlist['BattleHardened']                       :SetName('Battle-hardened');
60 Kragenwar-3044
                        self.effectlist['Motivated']                            :SetName('Motivation');
61 105 Kragenwar-3044
                        self.effectlist['InDefenceOfMiddleEarth']       :SetName('Défense de la Terre du Milieu');
62 66 Kragenwar-3044
                        self.effectlist['OnGuard']                                      :SetName('En garde');
63 Kragenwar-3044
                        self.effectlist['RelentlessAttack']                     :SetName('Attaque retenue');
64 Kragenwar-3044
                        self.effectlist['Focus']                                        :SetName('Concentration');
65 105 Kragenwar-3044
                        self.effectlist['BannerOfWar']                          :SetName('Bannière de Guerre');
66 Kragenwar-3044
                        self.effectlist['ImprovedBannerOfWar']          :SetName('Bannière de Guerre améliorée');
67 Kragenwar-3044
                        self.effectlist['BannerOfHope']                         :SetName("Bannière d'Espoir");
68 Kragenwar-3044
                        self.effectlist['ImprovedBannerOfHope']         :SetName("Bannière d'Espoir améliorée");
69 Kragenwar-3044
                        self.effectlist['BannerOfVictory']                      :SetName('Bannière de Victoire');
70 Kragenwar-3044
                        self.effectlist['ImprovedBannerOfVictory']      :SetName('Bannière de Victoire améliorée');
71 49 Kragenwar-3044
                        Turbine.Shell.WriteLine("Some features may not function with the French Client.  If you would like to help with French effect names goto http://www.lotrointerface.com/downloads/info384-KragenBars.html");
72 48 Kragenwar-3044
 
73 Kragenwar-3044
                -- GERMAN CLIENT
74 Kragenwar-3044
                elseif (settings.language == 3) then
75 66 Kragenwar-3044
                        self.effectlist['EnemyDefeatResponse']          :SetName('Erwiderung "Vernichtung des Gegners"');
76 105 Kragenwar-3044
                        self.effectlist['FellowDefeatResponse']         :SetName('Erwiderung "Vernichtung eines Gefährten"');
77 135 Valdacil-446
                        self.effectlist['BattleReadied']                        :SetName('Kampfbereit');
78 Valdacil-446
                        self.effectlist['BattleHardened']                       :SetName('Kampfgestählt');
79 66 Kragenwar-3044
                        self.effectlist['Motivated']                            :SetName('Motiviert');
80 Kragenwar-3044
                        self.effectlist['InDefenceOfMiddleEarth']       :SetName('Verteidigung von Mittelerde');
81 Kragenwar-3044
                        self.effectlist['OnGuard']                                      :SetName('In Bereitschaft');
82 Kragenwar-3044
                        self.effectlist['RelentlessAttack']                     :SetName('Gnadenloser Angriff');
83 Kragenwar-3044
                        self.effectlist['Focus']                                        :SetName('Fokus');
84 Kragenwar-3044
                        self.effectlist['BannerOfWar']                          :SetName('Kriegsbanner');
85 Kragenwar-3044
                        self.effectlist['ImprovedBannerOfWar']          :SetName('Verbesserung: Kriegsbanner');
86 Kragenwar-3044
                        self.effectlist['BannerOfHope']                         :SetName('Banner der Hoffnung');
87 Kragenwar-3044
                        self.effectlist['ImprovedBannerOfHope']         :SetName('Verbesserung: Banner der Hoffnung');
88 Kragenwar-3044
                        self.effectlist['BannerOfVictory']                      :SetName('Banner des Sieges');
89 Kragenwar-3044
                        self.effectlist['ImprovedBannerOfVictory']      :SetName('Verbesserung: Banner des Sieges');
90 135 Valdacil-446
                        -- Turbine.Shell.WriteLine("Some features may not function with the German Client.  If you would like to help with German effect names goto http://www.lotrointerface.com/downloads/info384-KragenBars.html");
91 48 Kragenwar-3044
                end
92 21 Kragenwar-3044
        end
93 6 Kragenwar-3044
 
94 Kragenwar-3044
    -- BUILD WINDOWS BARS SKILLS AND MULTIS --
95 Kragenwar-3044
 
96 48 Kragenwar-3044
    -- Build Windows
97 66 Kragenwar-3044
        self.bars["Marks"]                      = SkillBar(self.windows["Marks"],                       1, 1, 3, 1, true, true);
98 6 Kragenwar-3044
    self.bars["MultiMark"]              = SkillBar(self.windows["Marks"],                       1, 1, 1, 1, true, true);
99 Kragenwar-3044
 
100 48 Kragenwar-3044
        -- Build Skills
101 6 Kragenwar-3044
    self.skills["DefensiveStrike"]                      = SkillSlot(self.bars["Attack"],        1, 1, true, { 1, 54 }, { "0x70002F73", "0x7000FF86" } );
102 127 Valdacil-446
    self.skills["SureStrike"]                           = SkillSlot(self.bars["Attack"],        2, 1, true, { 1, 66 }, { "0x700215CF", "0x70028DB4" } );
103 6 Kragenwar-3044
    self.skills["BattleShout"]                          = SkillSlot(self.bars["Attack"],        3, 1, true, 1, "0x70002F67");
104 127 Valdacil-446
    self.skills["CuttingAttack"]                        = SkillSlot(self.bars["Attack"],        4, 1, true, { 4, 72 }, { "0x70003E4C", "0x70028FA5" } );
105 6 Kragenwar-3044
 
106 78 Kragenwar-3044
    self.skills["DevastatingBlow"]                      = SkillSlot(self.bars["Gated"],         1, 1, not self.settings.features["GateSkills"], 2, "0x70002FCF");
107 Kragenwar-3044
    self.skills["PressingAttack"]                       = SkillSlot(self.bars["Gated"],         2, 1, not self.settings.features["GateSkills"], 10, "0x70003E50");
108 Kragenwar-3044
    self.skills["BladeOfElendil"]                       = SkillSlot(self.bars["Gated"],         3, 1, not self.settings.features["GateSkills"], { 30, 52 }, { "0x7000AD9A", "0x70017D31" } );
109 6 Kragenwar-3044
 
110 66 Kragenwar-3044
    self.skills["NobleMark"]                            = SkillSlot(self.bars["Marks"],         1, 1, not self.settings.features["MultiMarks"].active, 12, "0x70003E4F");
111 Kragenwar-3044
        self.skills["TellingMark"]                              = SkillSlot(self.bars["Marks"],         2, 1, not self.settings.features["MultiMarks"].active, 18, "0x70003E4D");
112 Kragenwar-3044
    self.skills["RevealingMark"]                        = SkillSlot(self.bars["Marks"],         3, 1, not self.settings.features["MultiMarks"].active, 30, "0x70003E56");
113 6 Kragenwar-3044
 
114 Kragenwar-3044
    self.skills["Inspire"]                                      = SkillSlot(self.bars["ShieldBro"], 2, 1, true, 22, "0x7000A1D7");
115 Kragenwar-3044
    self.skills["ToArms"]                                       = SkillSlot(self.bars["ShieldBro"], 3, 1, true, 40, "0x7000AA0D");
116 Kragenwar-3044
    self.skills["StrengthOfWill"]                       = SkillSlot(self.bars["ShieldBro"], 4, 1, true, 48, "0x7000B058");
117 Kragenwar-3044
 
118 Kragenwar-3044
    self.skills["RallyingCry"]                          = SkillSlot(self.bars["Defeat"],        1, 1, false, 2, "0x70002F4F");
119 Kragenwar-3044
    self.skills["WarCry"]                                       = SkillSlot(self.bars["Defeat"],        2, 1, false, 4, "0x70002F58");
120 127 Valdacil-446
    self.skills["RoutingCry"]                           = SkillSlot(self.bars["Defeat"],        3, 1, self.settings.traits["LeaderofMen"].active, 8, "0x70002F61");
121 66 Kragenwar-3044
    self.skills["ShadowsLament"]                        = SkillSlot(self.bars["Defeat"],        4, 1, self.settings.traits["MasterOfWar"].active, 60, "0x7000FF8B");
122 6 Kragenwar-3044
 
123 Kragenwar-3044
    self.skills["WordsOfCourage"]                       = SkillSlot(self.bars["Healing"],       1, 1, true, 14, "0x70003E51");
124 Kragenwar-3044
    self.skills["MusterCourage"]                        = SkillSlot(self.bars["Healing"],       2, 1, true, 16, "0x70002F99");
125 Kragenwar-3044
    self.skills["ValiantStrike"]                        = SkillSlot(self.bars["Healing"],       3, 1, true, 58, "0x7000FF6D");
126 66 Kragenwar-3044
    self.skills["ShieldOfTheDunadain"]          = SkillSlot(self.bars["Healing"],       4, 1, self.settings.traits["ShieldOfTheDunadain"].active, 41, "0x700012F9");
127 6 Kragenwar-3044
 
128 Kragenwar-3044
    self.skills["MotivatingSpeech"]                     = SkillSlot(self.bars["Buffs"],         1, 1, true, 16, "0x70003E52");
129 66 Kragenwar-3044
    self.skills["IDOME"]                                        = SkillSlot(self.bars["Buffs"],         2, 1, self.settings.traits["IDOME"].active, 41, "0x7000130D");
130 6 Kragenwar-3044
 
131 Kragenwar-3044
    self.skills["LastStand"]                            = SkillSlot(self.bars["Emergency"], 2, 1, true, 22, "0x70003E54");
132 Kragenwar-3044
        self.skills["InHarmsWay"]                               = SkillSlot(self.bars["Emergency"], 1, 1, true, 36, "0x70003E58");
133 Kragenwar-3044
 
134 Kragenwar-3044
    self.skills["EscapeFromDarkness"]           = SkillSlot(self.bars["Rez"],           1, 1, true, 20, "0x70002F45");
135 Kragenwar-3044
    self.skills["CryOfVengence"]                        = SkillSlot(self.bars["Rez"],           2, 1, false, 32, "0x70003E57");
136 Kragenwar-3044
 
137 Kragenwar-3044
    self.skills["Kick"]                                         = SkillSlot(self.bars["Utility"],       1, 1, true, 44, "0x7000AA0E");
138 Kragenwar-3044
 
139 Kragenwar-3044
        self.skills["ThreateningShout"]                 = SkillSlot(self.bars["Threat"],        1, 1, true, 26, "0x70002FD5");
140 127 Valdacil-446
    self.skills["GraveWound"]                           = SkillSlot(self.bars["Threat"],        2, 1, true, { 42, 68 }, { "0x7000AA0F", "0x70028E4B" } );
141 6 Kragenwar-3044
    self.skills["Withdraw"]                                     = SkillSlot(self.bars["Threat"],        3, 1, true, { 46, 62 }, { "0x7000AA10", "0x7001F4C9" } );
142 Kragenwar-3044
 
143 66 Kragenwar-3044
    self.skills["OathbreakersShame"]            = SkillSlot(self.bars["Debuff"],        1, 1, self.settings.traits["OathbreakersShame"].active, 41, "0x70001306");
144 6 Kragenwar-3044
 
145 Kragenwar-3044
    self.skills["MakeHaste"]                            = SkillSlot(self.bars["BattleBuffs"],   1, 1, true, 8, "0x70003E4E");
146 Kragenwar-3044
        self.skills["TimeOfNeed"]                               = SkillSlot(self.bars["BattleBuffs"],   2, 1, true, 50, "0x7000AA12");
147 49 Kragenwar-3044
 
148 78 Kragenwar-3044
        self.skills["SummoningHorn"]                    = ItemSlot(self.bars["ClassItems"],     1, 1, true, self.settings.quickslots["SummoningHorn"]);
149 Kragenwar-3044
        self.skills["BattleTonic"]                              = ItemSlot(self.bars["ClassItems"],     2, 1, true, self.settings.quickslots["BattleTonic"]);
150 Kragenwar-3044
        self.skills["BlazonedCrest"]                    = ItemSlot(self.bars["ClassItems"],     3, 1, true, self.settings.quickslots["BlazonedCrest"]);
151 6 Kragenwar-3044
 
152 127 Valdacil-446
    -- Build Brother Slot
153 Valdacil-446
        self.multi["Brothers"]                  = SkillMultiSlot(self.bars["ShieldBro"], 1, 1, true);
154 Valdacil-446
        if (vars.playerlevel >= 64) then
155 Valdacil-446
                self.multi["Brothers"]:AddShortCut("ShieldBro",         64, "0x70020DF6");
156 Valdacil-446
        else
157 Valdacil-446
                self.multi["Brothers"]:AddShortCut("ShieldBro",         22, "0x7000A1D8");
158 Valdacil-446
        end
159 Valdacil-446
        self.multi["Brothers"]:AddShortCut("SongBro",           70, "0x70028EFB");
160 Valdacil-446
        self.multi["Brothers"]:AddShortCut("BladeBro",          74, "0x70028EFF");
161 Valdacil-446
    self.multi["Brothers"]:LevelCheck();
162 Valdacil-446
 
163 Valdacil-446
        -- Build MultiMark Slot
164 6 Kragenwar-3044
        self.multi["Marks"]             = SkillMultiSlot(self.bars["MultiMark"], 1, 1, true);
165 Kragenwar-3044
        self.multi["Marks"]:AddShortCut("NobleMark",            12, "0x70003E4F");
166 Kragenwar-3044
    self.multi["Marks"]:AddShortCut("TellingMark",              18, "0x70003E4D");
167 Kragenwar-3044
    self.multi["Marks"]:AddShortCut("RevealingMark",    30, "0x70003E56");
168 Kragenwar-3044
    self.multi["Marks"]:LevelCheck();
169 87 Kragenwar-3044
        self.multi["Marks"]:SetSwap(false);
170 6 Kragenwar-3044
 
171 48 Kragenwar-3044
        -- Build Tactic Slot
172 6 Kragenwar-3044
    self.multi["Tactic"]                = SkillMultiSlot(self.bars["Buffs"], 3, 1, true);
173 Kragenwar-3044
        self.multi["Tactic"]:AddShortCut("OnGuard",              6, "0x70003E53");
174 Kragenwar-3044
    self.multi["Tactic"]:AddShortCut("Relentless",      28, "0x70003E55");
175 Kragenwar-3044
    self.multi["Tactic"]:AddShortCut("Focus",           38, "0x70003E59");
176 Kragenwar-3044
    self.multi["Tactic"]:LevelCheck();
177 Kragenwar-3044
 
178 48 Kragenwar-3044
        -- Build Herald Slot
179 6 Kragenwar-3044
    self.multi["Heralds"]               = SkillMultiSlot(self.bars["Banners"], 1, 1, true);
180 Kragenwar-3044
        self.multi["Heralds"]:AddShortCut("War",                10, "0x70002F7A");
181 Kragenwar-3044
    self.multi["Heralds"]:AddShortCut("Hope",           24, "0x70002FAF");
182 Kragenwar-3044
    self.multi["Heralds"]:AddShortCut("Victory",        34, "0x70002F1A");
183 Kragenwar-3044
    self.multi["Heralds"]:AddShortCut("Archer",         56, "0x7000FC78");
184 Kragenwar-3044
    self.multi["Heralds"]:LevelCheck();
185 Kragenwar-3044
 
186 48 Kragenwar-3044
        -- Build Banner Slot
187 6 Kragenwar-3044
    self.multi["Banners"]               = ItemMultiSlot(self.bars["Banners"], 2, 1, true);
188 78 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner1",    self.settings.quickslots["Banner1"]);
189 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner2",    self.settings.quickslots["Banner2"]);
190 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner3",    self.settings.quickslots["Banner3"]);
191 Kragenwar-3044
    self.multi["Banners"]:AddShortCut("Armament",       self.settings.quickslots["Armament"]);
192 6 Kragenwar-3044
        self.multi["Banners"]:Refresh(true);
193 94 Kragenwar-3044
 
194 48 Kragenwar-3044
    -- SET COMBAT STATES
195 73 Kragenwar-3044
    --self.multi["Heralds"]:SetCombat( false, true );
196 Kragenwar-3044
        --self.skills["SummoningHorn"]:SetCombat( false, true );
197 48 Kragenwar-3044
 
198 66 Kragenwar-3044
        -- ITEM MANAGER
199 78 Kragenwar-3044
        --self.itemmanager = ItemManager();
200 Kragenwar-3044
        --self.itemmanager:RegisterItem("Carved Rallying Horn", { "Finely" }, { }, self.skills["SummoningHorn"]);
201 Kragenwar-3044
        --self.itemmanager:RegisterItem("Battle Tonic", { "Expert","Artisan","Master","Supreme" }, {"Recipe"}, self.skills["BattleTonic"]);
202 Kragenwar-3044
        --self.itemmanager:RegisterItem("Blazoned Crest", { "Expert","Artisan","Master","Supreme" }, {"Recipe"}, self.skills["BlazonedCrest"]);
203 Kragenwar-3044
        --self.itemmanager:ParseItems();
204 66 Kragenwar-3044
 
205 48 Kragenwar-3044
        -- CLASS SPECIFIC SETUP/DEFAULT CODE
206 6 Kragenwar-3044
        -- Default Marks (seperate or multi)
207 66 Kragenwar-3044
    if (not self.settings.features["MultiMarks"].active) then
208 Kragenwar-3044
                if (self.windows["Marks"].rotate == false) then
209 6 Kragenwar-3044
                self.windows["Marks"]:SetSize(35*3, 35);
210 Kragenwar-3044
                self.windows["Marks"].width = 3;
211 Kragenwar-3044
                self.windows["Marks"].height = 1;
212 Kragenwar-3044
                self.multi["Marks"]:SetActive(false);
213 Kragenwar-3044
                self.skills["NobleMark"]:SetActive(true);
214 Kragenwar-3044
                self.skills["TellingMark"]:SetActive(true);
215 Kragenwar-3044
                self.skills["RevealingMark"]:SetActive(true);
216 Kragenwar-3044
                self.bars["MultiMark"]:SetZOrder(-10);
217 Kragenwar-3044
                self.bars["Marks"]:SetZOrder(0);
218 Kragenwar-3044
                else
219 Kragenwar-3044
                    self.windows["Marks"]:SetSize(35, 35 * 3);
220 Kragenwar-3044
                self.windows["Marks"].width = 1;
221 Kragenwar-3044
                self.windows["Marks"].height = 3;
222 Kragenwar-3044
                self.multi["Marks"]:SetActive(false);
223 Kragenwar-3044
                self.skills["NobleMark"]:SetActive(true);
224 Kragenwar-3044
                self.skills["TellingMark"]:SetActive(true);
225 Kragenwar-3044
                self.skills["RevealingMark"]:SetActive(true);
226 Kragenwar-3044
                self.bars["MultiMark"]:SetZOrder(-10);
227 Kragenwar-3044
                self.bars["Marks"]:SetZOrder(0);
228 Kragenwar-3044
                end
229 Kragenwar-3044
        else
230 Kragenwar-3044
        self.windows["Marks"]:SetSize(35, 35);
231 Kragenwar-3044
        self.multi["Marks"]:SetPosition(0, 0);
232 Kragenwar-3044
        self.windows["Marks"].width = 1;
233 Kragenwar-3044
        self.windows["Marks"].height = 1;
234 Kragenwar-3044
        self.multi["Marks"]:SetActive(true);
235 Kragenwar-3044
        self.skills["NobleMark"]:SetActive(false);
236 Kragenwar-3044
        self.skills["TellingMark"]:SetActive(false);
237 Kragenwar-3044
        self.skills["RevealingMark"]:SetActive(false);
238 Kragenwar-3044
        self.bars["MultiMark"]:SetZOrder(0);
239 Kragenwar-3044
        self.bars["Marks"]:SetZOrder(-10);
240 Kragenwar-3044
        end
241 Kragenwar-3044
 
242 48 Kragenwar-3044
        -- CLASS SPECIFIC EVENTS
243 6 Kragenwar-3044
 
244 Kragenwar-3044
        -- INITIALIZE BARS
245 Kragenwar-3044
        self:InitBars();
246 Kragenwar-3044
        self:CombatChange(vars.player:IsInCombat());
247 Kragenwar-3044
 
248 Kragenwar-3044
 
249 Kragenwar-3044
end
250 Kragenwar-3044
 
251 Kragenwar-3044
 
252 Kragenwar-3044
-- ADD EFFECT EVENT
253 Kragenwar-3044
function CaptainBars:AddEffect( effectIndex )
254 21 Kragenwar-3044
        local effect = vars.player:GetEffects():Get( effectIndex );
255 66 Kragenwar-3044
        local effectname = effect:GetName();
256 Kragenwar-3044
        local effectid = effect:GetID();
257 6 Kragenwar-3044
 
258 66 Kragenwar-3044
    if (effectname == self.effectlist["EnemyDefeatResponse"]:GetName()) then
259 Kragenwar-3044
                if (self.effectlist["EnemyDefeatResponse"]:SetState( true, effectid )) then
260 Kragenwar-3044
                        self.skills["RallyingCry"]:SetActive( true );
261 Kragenwar-3044
                        self.skills["WarCry"]:SetActive( true );
262 Kragenwar-3044
                        self.skills["RoutingCry"]:SetActive( true );
263 Kragenwar-3044
                        self.skills["ShadowsLament"]:SetActive( true );
264 Kragenwar-3044
                end
265 6 Kragenwar-3044
 
266 66 Kragenwar-3044
    elseif (effectname == self.effectlist["BattleReadied"]:GetName()) then
267 Kragenwar-3044
                if (self.effectlist["BattleReadied"]:SetState( true, effectid) ) then
268 Kragenwar-3044
                        self.skills["DevastatingBlow"]:SetActive( true );
269 Kragenwar-3044
                        self.skills["PressingAttack"]:SetActive( true );
270 Kragenwar-3044
                end
271 6 Kragenwar-3044
 
272 66 Kragenwar-3044
    elseif (effectname == self.effectlist["BattleHardened"]:GetName()) then
273 Kragenwar-3044
                if (self.effectlist["BattleHardened"]:SetState( true, effectid )) then
274 Kragenwar-3044
                        self.skills["BladeOfElendil"]:SetActive( true );
275 Kragenwar-3044
                end
276 6 Kragenwar-3044
 
277 66 Kragenwar-3044
    elseif (effectname == self.effectlist["FellowDefeatResponse"]:GetName()) then
278 Kragenwar-3044
                if (self.effectlist["FellowDefeatResponse"]:SetState( true, effectid )) then
279 Kragenwar-3044
                        self.skills["CryOfVengence"]:SetActive( true );
280 Kragenwar-3044
                end
281 6 Kragenwar-3044
 
282 66 Kragenwar-3044
    elseif (effectname == self.effectlist["Motivated"]:GetName()) then
283 Kragenwar-3044
                if (self.effectlist["Motivated"]:SetState( true, effectid )) then
284 Kragenwar-3044
                        self.skills["MotivatingSpeech"]:SetActive( true );
285 Kragenwar-3044
                        if (self.settings.defaults["BuffActive"].selected == 2) then
286 Kragenwar-3044
                                self.skills["MotivatingSpeech"]:SetHover( true );
287 Kragenwar-3044
                        elseif (self.settings.defaults["BuffActive"].selected >= 3) then
288 Kragenwar-3044
                                self.skills["MotivatingSpeech"]:SetActive( false );
289 Kragenwar-3044
                        end
290 Kragenwar-3044
                        if (self.settings.defaults["BuffActive"].selected == 4) then
291 Kragenwar-3044
                                self.skills["MotivatingSpeech"]:StartTimer(effect:GetDuration() * .82, true);
292 Kragenwar-3044
                        end
293 21 Kragenwar-3044
                end
294 66 Kragenwar-3044
 
295 Kragenwar-3044
    elseif (effectname == self.effectlist["OnGuard"]:GetName() or effectname == self.effectlist["RelentlessAttack"]:GetName() or effectname == self.effectlist["Focus"]:GetName() ) then
296 Kragenwar-3044
                if (self.effectlist["OnGuard"]:SetState( true, effectid )) then
297 Kragenwar-3044
                        self.multi["Tactic"]:SetActive( true );
298 Kragenwar-3044
                        if (self.settings.defaults["TacticActive"].selected == 2) then
299 Kragenwar-3044
                                self.multi["Tactic"]:SetHover( true );
300 Kragenwar-3044
                        elseif (self.settings.defaults["TacticActive"].selected >= 3) then
301 Kragenwar-3044
                                self.multi["Tactic"]:SetActive(false);
302 Kragenwar-3044
                        end
303 Kragenwar-3044
                        if (self.settings.defaults["TacticActive"].selected == 4) then
304 Kragenwar-3044
                                self.multi["Tactic"]:StartTimer(effect:GetDuration() * .82, true);
305 Kragenwar-3044
                        end
306 10 Kragenwar-3044
                end
307 6 Kragenwar-3044
 
308 66 Kragenwar-3044
    elseif (effectname == self.effectlist["InDefenceOfMiddleEarth"]:GetName()) then
309 Kragenwar-3044
                if (self.effectlist["InDefenceOfMiddleEarth"]:SetState( true, effectid )) then
310 Kragenwar-3044
                        self.skills["IDOME"]:SetActive( self.settings.traits["IDOME"].active );
311 127 Valdacil-446
                        if (self.settings.defaults["IDoMEActive"].selected == 2) then
312 66 Kragenwar-3044
                                self.skills["IDOME"]:SetHover( true );
313 127 Valdacil-446
                        elseif (self.settings.defaults["IDoMEActive"].selected == 3) then
314 66 Kragenwar-3044
                                self.skills["IDOME"]:SetActive( false );
315 Kragenwar-3044
                        end
316 10 Kragenwar-3044
                end
317 6 Kragenwar-3044
 
318 66 Kragenwar-3044
        elseif (effectname == self.effectlist["BannerOfWar"]:GetName() or effectname == self.effectlist["BannerOfVictory"]:GetName() or effectname == self.effectlist["BannerOfHope"]:GetName() or effectname == self.effectlist["ImprovedBannerOfWar"]:GetName() or effectname == self.effectlist["ImprovedBannerOfVictory"]:GetName() or effectname == self.effectlist["ImprovedBannerOfHope"]:GetName() ) then
319 Kragenwar-3044
                if (self.effectlist["BannerOfWar"]:SetState( true, effectid )) then
320 Kragenwar-3044
                        self.multi["Heralds"]:SetHover(true);
321 Kragenwar-3044
                        self.multi["Banners"]:SetHover(true);
322 21 Kragenwar-3044
                end
323 6 Kragenwar-3044
 
324 Kragenwar-3044
        -- Fear
325 21 Kragenwar-3044
        elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Fear ) then
326 6 Kragenwar-3044
                self.fear = self.fear + 1;
327 127 Valdacil-446
                if (settings.skilldata["MusterCourage"].parent ~= nil and vars.playerlevel >= self.skills["MusterCourage"].level[1] and self.settings.features["FearIndicator"].active) then
328 Valdacil-446
                        if (self.settings.userconf[settings.skilldata["MusterCourage"].parent].active) then
329 Valdacil-446
                                self.skills["MusterCourage"]:SetColor("purple");
330 Valdacil-446
                        end
331 6 Kragenwar-3044
                end
332 Kragenwar-3044
 
333 Kragenwar-3044
        end
334 Kragenwar-3044
end
335 Kragenwar-3044
 
336 Kragenwar-3044
-- REMOVE EFFECT EVENT
337 Kragenwar-3044
function CaptainBars:RemoveEffect( effect )
338 66 Kragenwar-3044
        local effectname = effect:GetName();
339 Kragenwar-3044
        local effectid = effect:GetID();
340 6 Kragenwar-3044
 
341 66 Kragenwar-3044
        if (effectname == self.effectlist["EnemyDefeatResponse"]:GetName()) then
342 Kragenwar-3044
                if (not self.effectlist["EnemyDefeatResponse"]:SetState( false, effectid )) then
343 6 Kragenwar-3044
                        self.skills["RallyingCry"]:SetActive( false );
344 Kragenwar-3044
                        self.skills["WarCry"]:SetActive( false );
345 127 Valdacil-446
                        self.skills["RoutingCry"]:SetActive( self.settings.traits["LeaderofMen"].active );
346 66 Kragenwar-3044
                        self.skills["ShadowsLament"]:SetActive( self.settings.traits["MasterOfWar"].active );
347 6 Kragenwar-3044
                end
348 Kragenwar-3044
 
349 66 Kragenwar-3044
    elseif (effectname == self.effectlist["BattleReadied"]:GetName()) then
350 Kragenwar-3044
                if (not self.effectlist["BattleReadied"]:SetState( false, effectid )) then
351 Kragenwar-3044
                        self.skills["DevastatingBlow"]:SetActive( not self.settings.features["GateSkills"].active );
352 Kragenwar-3044
                        self.skills["PressingAttack"]:SetActive( not self.settings.features["GateSkills"].active );
353 Kragenwar-3044
                end
354 6 Kragenwar-3044
 
355 66 Kragenwar-3044
    elseif (effectname == self.effectlist["BattleHardened"]:GetName()) then
356 Kragenwar-3044
                if (not self.effectlist["BattleHardened"]:SetState( false, effectid )) then
357 Kragenwar-3044
                        self.skills["BladeOfElendil"]:SetActive( not self.settings.features["GateSkills"].active );
358 Kragenwar-3044
                end
359 6 Kragenwar-3044
 
360 66 Kragenwar-3044
        elseif (effectname == self.effectlist["FellowDefeatResponse"]:GetName()) then
361 Kragenwar-3044
            if (not self.effectlist["FellowDefeatResponse"]:SetState( false, effectid )) then
362 Kragenwar-3044
                        self.skills["CryOfVengence"]:SetActive( false );
363 Kragenwar-3044
                end
364 6 Kragenwar-3044
 
365 66 Kragenwar-3044
        elseif (effectname == self.effectlist["Motivated"]:GetName()) then
366 Kragenwar-3044
                if (not self.effectlist["Motivated"]:SetState( false, effectid )) then
367 Kragenwar-3044
                        self.skills["MotivatingSpeech"]:SetActive( true );
368 21 Kragenwar-3044
                        self.skills["MotivatingSpeech"]:SetHover( false );
369 Kragenwar-3044
                end
370 6 Kragenwar-3044
 
371 66 Kragenwar-3044
    elseif (effectname == self.effectlist["OnGuard"]:GetName() or effectname == self.effectlist["RelentlessAttack"]:GetName() or effectname == self.effectlist["Focus"]:GetName()) then
372 Kragenwar-3044
            if (not self.effectlist["OnGuard"]:SetState( false, effectid )) then
373 Kragenwar-3044
                        self.multi["Tactic"]:SetActive( true );
374 Kragenwar-3044
                        self.multi["Tactic"]:SetHover( false );
375 Kragenwar-3044
                end
376 6 Kragenwar-3044
 
377 66 Kragenwar-3044
    elseif (effectname == self.effectlist["InDefenceOfMiddleEarth"]:GetName()) then
378 Kragenwar-3044
                if (not self.effectlist["InDefenceOfMiddleEarth"]:SetState( false, effectid )) then
379 Kragenwar-3044
                        self.skills["IDOME"]:SetActive( self.settings.traits["IDOME"].active );
380 21 Kragenwar-3044
                        self.skills["IDOME"]:SetHover( false );
381 Kragenwar-3044
                end
382 6 Kragenwar-3044
 
383 66 Kragenwar-3044
        elseif (effectname == self.effectlist["BannerOfWar"]:GetName() or effectname == self.effectlist["BannerOfVictory"]:GetName() or effectname == self.effectlist["BannerOfHope"]:GetName() or effectname == self.effectlist["ImprovedBannerOfWar"]:GetName() or effectname == self.effectlist["ImprovedBannerOfVictory"]:GetName() or effectname == self.effectlist["ImprovedBannerOfHope"]:GetName() ) then
384 Kragenwar-3044
                if (not self.effectlist["BannerOfWar"]:SetState( false, effectid )) then
385 Kragenwar-3044
                        self.multi["Heralds"]:SetHover(false);
386 Kragenwar-3044
                        self.multi["Banners"]:SetHover(false);
387 Kragenwar-3044
                end
388 6 Kragenwar-3044
 
389 Kragenwar-3044
        -- Fear
390 Kragenwar-3044
        elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Fear ) then
391 Kragenwar-3044
                self.fear = self.fear - 1;
392 Kragenwar-3044
                if (self.fear == 0) then
393 Kragenwar-3044
                        self.skills["MusterCourage"]:SetColor();
394 Kragenwar-3044
                end
395 Kragenwar-3044
 
396 Kragenwar-3044
        end
397 Kragenwar-3044
 
398 Kragenwar-3044
end
399 Kragenwar-3044
 
400 Kragenwar-3044
-- DEFAULT SETTINGS
401 Kragenwar-3044
function CaptainBars:DefaultSettings()
402 66 Kragenwar-3044
        self.settings = { preconf = { }, userconf = { }, traits = { }, features = { }, defaults = { }, quickslots = { } };
403 6 Kragenwar-3044
 
404 66 Kragenwar-3044
        self.settings.preconf["Marks"]                  = { id = 1,     name = "Marks",                 defpos = {1,2},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
405 6 Kragenwar-3044
 
406 66 Kragenwar-3044
        self.settings.userconf["Attack"]                = { id = 2,     name = "Attack Skills",         defpos = {1,4},         size={4,1}, pos = {0,0}, combat = {true,true}, active = true };
407 Kragenwar-3044
        self.settings.userconf["Gated"]                 = { id = 3,     name = "Gated Skills",          defpos = {5,4},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
408 Kragenwar-3044
        self.settings.userconf["Defeat"]                = { id = 4,     name = "Defeat Responses",      defpos = {1,3},         size={4,1}, pos = {0,0}, combat = {true,true}, active = true };
409 Kragenwar-3044
        self.settings.userconf["Healing"]               = { id = 5,     name = "Healing",                       defpos = {1,1},         size={4,1}, pos = {0,0}, combat = {true,true}, active = true };
410 Kragenwar-3044
        self.settings.userconf["Buffs"]                 = { id = 6,     name = "Buffs",                         defpos = {5,1},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
411 Kragenwar-3044
        self.settings.userconf["Threat"]                = { id = 7,     name = "Threat",                        defpos = {9,4},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
412 Kragenwar-3044
        self.settings.userconf["Emergency"]     = { id = 8,     name = "Emergency",                     defpos = {5,3},         size={2,1}, pos = {0,0}, combat = {true,true}, active = true };
413 Kragenwar-3044
        self.settings.userconf["Rez"]                   = { id = 9,     name = "Rez",                           defpos = {7,3},         size={2,1}, pos = {0,0}, combat = {true,true}, active = true };
414 Kragenwar-3044
        self.settings.userconf["ShieldBro"]     = { id = 10,    name = "Shield Brother",        defpos = {4,2},         size={4,1}, pos = {0,0}, combat = {true,true}, active = true };
415 Kragenwar-3044
        self.settings.userconf["BattleBuffs"]   = { id = 11,    name = "Battle Buffs",          defpos = {9,2},         size={2,1}, pos = {0,0}, combat = {true,true}, active = true };
416 Kragenwar-3044
        self.settings.userconf["Debuff"]                = { id = 12,    name = "Debuff",                        defpos = {9,3},         size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
417 Kragenwar-3044
        self.settings.userconf["Banners"]               = { id = 13,    name = "Banners",                       defpos = {10,3},        size={2,1}, pos = {0,0}, combat = {true,true}, active = true };
418 Kragenwar-3044
        self.settings.userconf["Utility"]               = { id = 14,    name = "Utility",                       defpos = {8,4},         size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
419 Kragenwar-3044
        self.settings.userconf["ClassItems"]    = { id = 15,    name = "Class Items",           defpos = {9,1},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
420 Kragenwar-3044
 
421 Kragenwar-3044
        self.settings.traits["IDOME"]                           = { id = 1, name = 'IDoME', active = false };
422 Kragenwar-3044
        self.settings.traits["OathbreakersShame"]       = { id = 2, name = 'Oathbreakers Shame', active = false };
423 Kragenwar-3044
        self.settings.traits["ShieldOfTheDunadain"]     = { id = 3, name = 'Shield of the Dunadain', active = false };
424 Kragenwar-3044
        self.settings.traits["MasterOfWar"]                     = { id = 4, name = 'Master of War', active = false };
425 127 Valdacil-446
        self.settings.traits["LeaderofMen"]                     = { id = 5, name = 'Leader of Men', active = false };
426 66 Kragenwar-3044
 
427 Kragenwar-3044
        self.settings.features["GateSkills"]            = { id = 1, name = 'Gate Skills', active = true };
428 Kragenwar-3044
        self.settings.features["MultiMarks"]            = { id = 2, name = 'Combine Marks', active = false };
429 Kragenwar-3044
        self.settings.features["FearIndicator"]         = { id = 3, name = 'Fear Indicator', active = true };
430 Kragenwar-3044
 
431 127 Valdacil-446
        self.settings.defaults["BuffActive"]            = { id = 1, name = 'Motivated Active', selected = 4, list = { "None", "Dim", "Hide", "Early Warning" } };
432 66 Kragenwar-3044
        self.settings.defaults["TacticActive"]          = { id = 2, name = 'Tactic Active', selected = 2, list = { "None", "Dim", "Hide", "Early Warning" } };
433 127 Valdacil-446
        self.settings.defaults["IDoMEActive"]           = { id = 3, name = 'IDoME Active', selected = 2, list = { "None", "Dim", "Hide" } };
434 6 Kragenwar-3044
 
435 66 Kragenwar-3044
        self.settings.quickslots["Banner1"]                     = {id = 1, name = "Banner 1", active = false, type = 0, data = ""};
436 Kragenwar-3044
        self.settings.quickslots["Banner2"]                     = {id = 2, name = "Banner 2", active = false, type = 0, data = ""};
437 Kragenwar-3044
        self.settings.quickslots["Banner3"]                     = {id = 3, name = "Banner 3", active = false, type = 0, data = ""};
438 Kragenwar-3044
        self.settings.quickslots["Armament"]            = {id = 4, name = "Armaments", active = false, type = 0, data = ""};
439 78 Kragenwar-3044
        self.settings.quickslots["SummoningHorn"]       = {id = 5, name = "Summoning Horn", active = false, type = 0, data = ""};
440 Kragenwar-3044
        self.settings.quickslots["BattleTonic"]         = {id = 6, name = "Battle Tonic", active = false, type = 0, data = ""};
441 Kragenwar-3044
        self.settings.quickslots["BlazonedCrest"]       = {id = 7, name = "Blazoned Crest", active = false, type = 0, data = ""};
442 6 Kragenwar-3044
 
443 Kragenwar-3044
end
444 Kragenwar-3044
 
445 Kragenwar-3044
-- UPDATE SETTINGS
446 Kragenwar-3044
function CaptainBars:UpdateSettings()
447 10 Kragenwar-3044
    if (settings.vers < 3.01) then
448 Kragenwar-3044
 
449 Kragenwar-3044
                if (self.settings["Features"].buffdisappear) then self.settings["Features"].buffactive = 4; else self.settings["Features"].buffactive = 2; end
450 21 Kragenwar-3044
                if (self.settings["Features"].tactichover) then self.settings["Features"].tacticactive = 2; else self.settings["Features"].tacticactive = 4; end
451 10 Kragenwar-3044
 
452 Kragenwar-3044
        self.settings["Features"].buffdisappear = nil;
453 Kragenwar-3044
                self.settings["Features"].tactichover = nil;
454 Kragenwar-3044
        end
455 49 Kragenwar-3044
        if (settings.vers < 3.20) then
456 Kragenwar-3044
                self.settings["ClassItems"] = { active = true, x = 0, y = 0, rotate = 0 };
457 Kragenwar-3044
                self.settings["Quickslots"].horn = { active = true,  type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""};
458 Kragenwar-3044
                self.settings["Quickslots"].tonic = { active = true,  type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""};
459 Kragenwar-3044
                self.settings["Quickslots"].crest = { active = true,  type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""};
460 Kragenwar-3044
        end
461 113 Kragenwar-3044
        if (settings.vers < 4.00) then
462 66 Kragenwar-3044
                local oldclassinfo = self.settings;
463 Kragenwar-3044
                self:DefaultSettings();
464 Kragenwar-3044
                for k,v in pairs(oldclassinfo) do
465 Kragenwar-3044
                        if (k ~= "Features" and k ~= "Quickslots") then
466 Kragenwar-3044
                                if (self.settings.preconf[k] == nil) then
467 Kragenwar-3044
                                        if (self.settings.userconf[k] ~= nil) then
468 Kragenwar-3044
                                                self.settings.userconf[k].pos = { v.x, v.y };
469 Kragenwar-3044
                                                self.settings.userconf[k].combat = { true, true };
470 Kragenwar-3044
                                                self.settings.userconf[k].active = v.active;
471 Kragenwar-3044
                                        end
472 Kragenwar-3044
                                else
473 Kragenwar-3044
                                        self.settings.preconf[k].pos = { v.x, v.y };
474 Kragenwar-3044
                                        self.settings.preconf[k].combat = { true, true };
475 Kragenwar-3044
                                        self.settings.preconf[k].active = v.active;
476 Kragenwar-3044
                                end
477 Kragenwar-3044
                        elseif (k == "Features") then
478 Kragenwar-3044
                                for key, value in pairs(v) do
479 Kragenwar-3044
                                        if (key == 'idome') then
480 Kragenwar-3044
                                                self.settings.traits["IDOME"].active = value;
481 Kragenwar-3044
                                        elseif (key == 'oathbreakers') then
482 Kragenwar-3044
                                                self.settings.traits["OathbreakersShame"].active = value;
483 Kragenwar-3044
                                        elseif (key == 'shield') then
484 Kragenwar-3044
                                                self.settings.traits["ShieldOfTheDunadain"].active = value;
485 Kragenwar-3044
                                        elseif (key == 'lament') then
486 Kragenwar-3044
                                                self.settings.traits["MasterOfWar"].active = value;
487 Kragenwar-3044
                                        elseif (key == 'fearindicator') then
488 Kragenwar-3044
                                                self.settings.features["FearIndicator"].active = value;
489 Kragenwar-3044
                                        elseif (key == 'multimarks') then
490 Kragenwar-3044
                                                self.settings.features["MultiMarks"].active = value;
491 Kragenwar-3044
                                        elseif (key == 'gated') then
492 Kragenwar-3044
                                                self.settings.features["GateSkills"].active = value;
493 Kragenwar-3044
                                        elseif (key == 'buffactive') then
494 Kragenwar-3044
                                                self.settings.defaults["BuffActive"].selected = value;
495 Kragenwar-3044
                                        elseif (key == 'tacticactive') then
496 Kragenwar-3044
                                                self.settings.defaults["TacticActive"].selected = value;
497 Kragenwar-3044
                                        end
498 Kragenwar-3044
                                end
499 Kragenwar-3044
                        elseif (k == "Quickslots") then
500 Kragenwar-3044
                                for key, value in pairs(v) do
501 Kragenwar-3044
                                        if (key == 'banner1') then
502 Kragenwar-3044
                                                self.settings.quickslots["Banner1"].active = value.active;
503 Kragenwar-3044
                                                self.settings.quickslots["Banner1"].type = value.type;
504 Kragenwar-3044
                                                self.settings.quickslots["Banner1"].data = value.data;
505 Kragenwar-3044
                                        elseif (key == 'banner2') then
506 Kragenwar-3044
                                                self.settings.quickslots["Banner2"].active = value.active;
507 Kragenwar-3044
                                                self.settings.quickslots["Banner2"].type = value.type;
508 Kragenwar-3044
                                                self.settings.quickslots["Banner2"].data = value.data;
509 Kragenwar-3044
                                        elseif (key == 'banner3') then
510 Kragenwar-3044
                                                self.settings.quickslots["Banner3"].active = value.active;
511 Kragenwar-3044
                                                self.settings.quickslots["Banner3"].type = value.type;
512 Kragenwar-3044
                                                self.settings.quickslots["Banner3"].data = value.data;
513 Kragenwar-3044
                                        elseif (key == 'armament') then
514 106 Kragenwar-3044
                                                self.settings.quickslots["Armament"].active = value.active;
515 Kragenwar-3044
                                                self.settings.quickslots["Armament"].type = value.type;
516 Kragenwar-3044
                                                self.settings.quickslots["Armament"].data = value.data;
517 66 Kragenwar-3044
                                        end
518 Kragenwar-3044
                                end
519 Kragenwar-3044
                        end
520 Kragenwar-3044
                end
521 Kragenwar-3044
        end
522 127 Valdacil-446
 
523 Valdacil-446
        if (settings.vers < 5.00) then
524 Valdacil-446
                self.settings.traits["LeaderofMen"]                     = { id = 5, name = 'Leader of Men', active = false };
525 Valdacil-446
                self.settings.defaults["IDoMEActive"]           = { id = 3, name = 'IDoME Active', selected = 2, list = { "None", "Dim", "Hide" } };
526 Valdacil-446
                self.settings.defaults["BuffActive"].name = "Motivated Active";
527 Valdacil-446
                settings.multidata["Brothers"] = { current = { 1 }, lock = false, parent = settings.skilldata["ShieldBrother"].parent, layer = 1, pos = settings.skilldata["ShieldBrother"].pos };
528 Valdacil-446
                settings.skilldata["ShieldBrother"] = nil;
529 Valdacil-446
        end
530 Valdacil-446
 
531 6 Kragenwar-3044
        settings.vers = vars.vers;
532 Kragenwar-3044
end
533 Kragenwar-3044
 
534 Kragenwar-3044
 
535 Kragenwar-3044
-- REFRESH SKILLS AND BARS
536 Kragenwar-3044
function CaptainBars:Refresh()
537 Kragenwar-3044
 
538 Kragenwar-3044
        -- GENERIC REFRESH (Required for all classes)
539 Kragenwar-3044
        self:RefreshBars();
540 Kragenwar-3044
 
541 48 Kragenwar-3044
        -- REDEFINE EFFECTLIST IN CASE OF LANGUAGE CHANGE
542 Kragenwar-3044
        self.DefineEffectList();
543 6 Kragenwar-3044
 
544 Kragenwar-3044
    -- CLASS SPECIFIC REFRESH
545 Kragenwar-3044
    -- Setup Marks (Seperate or Multi)
546 66 Kragenwar-3044
    if (not self.settings.features["MultiMarks"].active) then
547 Kragenwar-3044
                if (self.windows["Marks"].rotate == false) then
548 6 Kragenwar-3044
                self.windows["Marks"]:SetSize(35*3, 35);
549 Kragenwar-3044
                self.windows["Marks"].width = 3;
550 Kragenwar-3044
                self.windows["Marks"].height = 1;
551 Kragenwar-3044
                self.multi["Marks"]:SetActive(false);
552 Kragenwar-3044
                self.skills["NobleMark"]:SetActive(true);
553 Kragenwar-3044
                self.skills["TellingMark"]:SetActive(true);
554 Kragenwar-3044
                self.skills["RevealingMark"]:SetActive(true);
555 Kragenwar-3044
                self.bars["MultiMark"]:SetZOrder(-10);
556 Kragenwar-3044
                self.bars["Marks"]:SetZOrder(0);
557 Kragenwar-3044
                else
558 Kragenwar-3044
                    self.windows["Marks"]:SetSize(35, 35 * 3);
559 Kragenwar-3044
                self.windows["Marks"].width = 1;
560 Kragenwar-3044
                self.windows["Marks"].height = 3;
561 Kragenwar-3044
                self.multi["Marks"]:SetActive(false);
562 Kragenwar-3044
                self.skills["NobleMark"]:SetActive(true);
563 Kragenwar-3044
                self.skills["TellingMark"]:SetActive(true);
564 Kragenwar-3044
                self.skills["RevealingMark"]:SetActive(true);
565 Kragenwar-3044
                self.bars["MultiMark"]:SetZOrder(-10);
566 Kragenwar-3044
                self.bars["Marks"]:SetZOrder(0);
567 Kragenwar-3044
                end
568 Kragenwar-3044
        else
569 Kragenwar-3044
        self.windows["Marks"]:SetSize(35, 35);
570 Kragenwar-3044
        self.multi["Marks"]:SetPosition(0, 0);
571 Kragenwar-3044
        self.windows["Marks"].width = 1;
572 Kragenwar-3044
        self.windows["Marks"].height = 1;
573 Kragenwar-3044
        self.multi["Marks"]:SetActive(true);
574 Kragenwar-3044
        self.skills["NobleMark"]:SetActive(false);
575 Kragenwar-3044
        self.skills["TellingMark"]:SetActive(false);
576 Kragenwar-3044
        self.skills["RevealingMark"]:SetActive(false);
577 Kragenwar-3044
        self.bars["MultiMark"]:SetZOrder(0);
578 Kragenwar-3044
        self.bars["Marks"]:SetZOrder(-10);
579 Kragenwar-3044
        end
580 Kragenwar-3044
 
581 Kragenwar-3044
        -- Setup Features
582 66 Kragenwar-3044
        self.skills["ShieldOfTheDunadain"]:SetActive(self.settings.traits["ShieldOfTheDunadain"].active);
583 Kragenwar-3044
        self.skills["OathbreakersShame"]:SetActive(self.settings.traits["OathbreakersShame"].active);
584 95 Kragenwar-3044
        self.skills["DevastatingBlow"]:SetActive(not self.settings.features["GateSkills"].active or self.effectlist["BattleReadied"]:GetState());
585 Kragenwar-3044
        self.skills["PressingAttack"]:SetActive(not self.settings.features["GateSkills"].active or self.effectlist["BattleReadied"]:GetState());
586 Kragenwar-3044
        self.skills["BladeOfElendil"]:SetActive(not self.settings.features["GateSkills"].active or self.effectlist["BattleHardened"]:GetState());
587 127 Valdacil-446
        self.skills["RoutingCry"]:SetActive(self.settings.traits["LeaderofMen"].active or self.effectlist["EnemyDefeatResponse"]:GetState());
588 95 Kragenwar-3044
        self.skills["ShadowsLament"]:SetActive(self.settings.traits["MasterOfWar"].active or self.effectlist["EnemyDefeatResponse"]:GetState());
589 6 Kragenwar-3044
 
590 Kragenwar-3044
        -- Level Check Multis
591 127 Valdacil-446
        self.multi["Brothers"]:LevelCheck();
592 6 Kragenwar-3044
    self.multi["Tactic"]:LevelCheck();
593 Kragenwar-3044
    self.multi["Marks"]:LevelCheck();
594 Kragenwar-3044
    self.multi["Heralds"]:LevelCheck();
595 Kragenwar-3044
 
596 78 Kragenwar-3044
        -- Set Quickslots
597 Kragenwar-3044
        self.skills["SummoningHorn"]:SetQuickslot(self.settings.quickslots["SummoningHorn"]);
598 Kragenwar-3044
        self.skills["BattleTonic"]:SetQuickslot(self.settings.quickslots["BattleTonic"]);
599 Kragenwar-3044
        self.skills["BlazonedCrest"]:SetQuickslot(self.settings.quickslots["BlazonedCrest"]);
600 Kragenwar-3044
 
601 48 Kragenwar-3044
        -- Rebuild Banner Multi
602 6 Kragenwar-3044
        self.multi["Banners"]:Clear();
603 79 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner 1",   self.settings.quickslots["Banner1"]);
604 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner 2",   self.settings.quickslots["Banner2"]);
605 Kragenwar-3044
        self.multi["Banners"]:AddShortCut("Banner 3",   self.settings.quickslots["Banner3"]);
606 Kragenwar-3044
    self.multi["Banners"]:AddShortCut("Armament",       self.settings.quickslots["Armament"]);
607 6 Kragenwar-3044
        self.multi["Banners"]:Refresh(true);
608 Kragenwar-3044
 
609 48 Kragenwar-3044
        -- Set Buff Visibility/Hover based on BuffActive settings
610 10 Kragenwar-3044
    self.skills["MotivatingSpeech"]:SetActive( true );
611 21 Kragenwar-3044
        self.skills["MotivatingSpeech"]:SetHover( false );
612 66 Kragenwar-3044
    self.skills["IDOME"]:SetActive( self.settings.traits["IDOME"].active );
613 21 Kragenwar-3044
        self.skills["IDOME"]:SetHover( false );
614 66 Kragenwar-3044
        if (self.settings.defaults["BuffActive"].selected == 2) then
615 78 Kragenwar-3044
                self.skills["MotivatingSpeech"]:SetHover( self.effectlist["Motivated"]:GetState() );
616 66 Kragenwar-3044
        elseif (self.settings.defaults["BuffActive"].selected >= 3) then
617 78 Kragenwar-3044
                self.skills["MotivatingSpeech"]:SetActive( not self.effectlist["Motivated"]:GetState() );
618 127 Valdacil-446
        end
619 Valdacil-446
        if (self.settings.defaults["IDoMEActive"].selected == 2) then
620 Valdacil-446
                self.skills["IDOME"]:SetHover( self.effectlist["InDefenceOfMiddleEarth"]:GetState() );
621 Valdacil-446
        elseif (self.settings.defaults["IDoMEActive"].selected == 3) then
622 78 Kragenwar-3044
                self.skills["IDOME"]:SetActive( not self.effectlist["InDefenceOfMiddleEarth"]:GetState() and self.settings.traits["IDOME"].active );
623 6 Kragenwar-3044
        end
624 10 Kragenwar-3044
        self.multi["Tactic"]:SetActive( true );
625 21 Kragenwar-3044
        self.multi["Tactic"]:SetHover( false );
626 66 Kragenwar-3044
        if (self.settings.defaults["TacticActive"].selected == 2) then
627 78 Kragenwar-3044
                self.multi["Tactic"]:SetHover( self.effectlist["OnGuard"]:GetState() );
628 66 Kragenwar-3044
        elseif (self.settings.defaults["TacticActive"].selected >= 3) then
629 78 Kragenwar-3044
                self.multi["Tactic"]:SetActive( not self.effectlist["OnGuard"]:GetState() );
630 6 Kragenwar-3044
        end
631 Kragenwar-3044
 
632 48 Kragenwar-3044
        -- Set Fear Indicator
633 127 Valdacil-446
        if (settings.skilldata["MusterCourage"].parent ~= nil and vars.playerlevel >= self.skills["MusterCourage"].level[1] and self.settings.features["FearIndicator"].active and self.fear > 0) then
634 Valdacil-446
                if (self.settings.userconf[settings.skilldata["MusterCourage"].parent].active) then
635 Valdacil-446
                        self.skills["MusterCourage"]:SetColor("purple");
636 Valdacil-446
                end
637 6 Kragenwar-3044
        else
638 Kragenwar-3044
                self.skills["MusterCourage"]:SetColor();
639 Kragenwar-3044
        end
640 Kragenwar-3044
 
641 Kragenwar-3044
    -- Refresh States
642 Kragenwar-3044
    self:CombatChange(vars.player:IsInCombat());
643 Kragenwar-3044
 
644 Kragenwar-3044
end

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


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