lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

[/] [trunk/] [KragenPlugs/] [KragenBars/] [GuardianBars.lua] - Blame information for rev 19

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

Line No. Rev Author Line
1 6 Kragenwar-3044
import "Turbine.UI";
2 Kragenwar-3044
import "Turbine.UI.Lotro";
3 Kragenwar-3044
import "Turbine.Gameplay";
4 Kragenwar-3044
import "KragenPlugs.Utils";
5 Kragenwar-3044
import "KragenPlugs.KragenBars";
6 Kragenwar-3044
 
7 Kragenwar-3044
GuardianBars = class( KragenPlugs.KragenBars.ClassBar );
8 Kragenwar-3044
 
9 Kragenwar-3044
function GuardianBars:Constructor()
10 Kragenwar-3044
        KragenPlugs.KragenBars.ClassBar.Constructor( self );
11 Kragenwar-3044
 
12 Kragenwar-3044
    -- class settings arent saved then load the 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.wound = 0;
25 19 Kragenwar-3044
 
26 Kragenwar-3044
        self.effectlist = {};
27 Kragenwar-3044
        -- ENGLISH CLIENT
28 Kragenwar-3044
        if (vars.locale == "en") then
29 Kragenwar-3044
                self.effectlist["GuardiansWard"]                        = "Guardian's Ward";
30 Kragenwar-3044
                self.effectlist["ImprovedGuardiansWard"]        = "Improved Guardian's Ward";
31 Kragenwar-3044
                self.effectlist["BlockResponse"]                        = "Block Response";
32 Kragenwar-3044
                self.effectlist["ShieldSwipe"]                          = "Shield Swipe";
33 Kragenwar-3044
                self.effectlist["ParryResponse"]                        = "Parry Response";
34 Kragenwar-3044
                self.effectlist["Retaliation"]                          = "Retaliation";
35 Kragenwar-3044
                self.effectlist["Stunned"]                                      = "Stunned";
36 Kragenwar-3044
                self.effectlist["Dazed"]                                        = "Dazed";
37 Kragenwar-3044
                self.effectlist["KnockedDown"]                          = "Knocked Down";
38 Kragenwar-3044
                self.effectlist["Overpower"]                            = "Overpower";
39 Kragenwar-3044
                self.effectlist["Campsite"]                                     = "Campsite";
40 Kragenwar-3044
                self.effectlist["WesternesseSpikes"]            = "Westernesse Spikes";
41 Kragenwar-3044
                self.effectlist["BeleriandSpikes"]                      = "Beleriand Spikes";
42 Kragenwar-3044
                self.effectlist["AncientDwarfSpikes"]           = "Ancient-Dwarf Spikes";
43 Kragenwar-3044
                self.effectlist["LargeShieldSpikes"]            = "Large Shield Spikes";
44 Kragenwar-3044
 
45 Kragenwar-3044
        -- FRENCH CLIENT
46 Kragenwar-3044
        elseif (vars.locale == "fr") then
47 Kragenwar-3044
                self.effectlist["GuardiansWard"]                        = "Protection";
48 Kragenwar-3044
                self.effectlist["ImprovedGuardiansWard"]        = "Protect Amélio";
49 Kragenwar-3044
                self.effectlist["BlockResponse"]                        = "Si Blocage";
50 Kragenwar-3044
                self.effectlist["ShieldSwipe"]                          = "Balayage Bouclier";
51 Kragenwar-3044
                self.effectlist["ParryResponse"]                        = "Si Parade";
52 Kragenwar-3044
                self.effectlist["Retaliation"]                          = "Riposte";
53 Kragenwar-3044
                self.effectlist["Stunned"]                                      = "Etourdi";
54 Kragenwar-3044
                self.effectlist["Dazed"]                                        = "Hébété";
55 Kragenwar-3044
                self.effectlist["KnockedDown"]                          = "Renversé";
56 Kragenwar-3044
                self.effectlist["Overpower"]                            = "Surpuissance";
57 Kragenwar-3044
                self.effectlist["Campsite"]                                     = "Campsite";
58 Kragenwar-3044
                self.effectlist["WesternesseSpikes"]            = "Westernesse Spikes";
59 Kragenwar-3044
                self.effectlist["BeleriandSpikes"]                      = "Beleriand Spikes";
60 Kragenwar-3044
                self.effectlist["AncientDwarfSpikes"]           = "Ancient-Dwarf Spikes";
61 Kragenwar-3044
                self.effectlist["LargeShieldSpikes"]            = "Large Shield Spikes";
62 Kragenwar-3044
 
63 Kragenwar-3044
        -- GERMAN CLIENT
64 Kragenwar-3044
        elseif (vars.locale == "de") then
65 Kragenwar-3044
                self.effectlist["GuardiansWard"]                        = "Wächerschild";
66 Kragenwar-3044
                self.effectlist["ImprovedGuardiansWard"]        = "Verbesserung: Wächterschild";
67 Kragenwar-3044
                self.effectlist["BlockResponse"]                        = "Block Response";
68 Kragenwar-3044
                self.effectlist["ShieldSwipe"]                          = "Schildstreich";
69 Kragenwar-3044
                self.effectlist["ParryResponse"]                        = "Erwiderung “Parade”";
70 Kragenwar-3044
                self.effectlist["Retaliation"]                          = "Vergeltung";
71 Kragenwar-3044
                self.effectlist["Stunned"]                                      = "Bewusstlos geschlagen";
72 Kragenwar-3044
                self.effectlist["Dazed"]                                        = "Benommenheit";
73 Kragenwar-3044
                self.effectlist["KnockedDown"]                          = "Zu Boden geschlagen";
74 Kragenwar-3044
                self.effectlist["Overpower"]                            = "Überwältigen";
75 Kragenwar-3044
                self.effectlist["Campsite"]                                     = "Campsite";
76 Kragenwar-3044
                self.effectlist["WesternesseSpikes"]            = "Westernesse Spikes";
77 Kragenwar-3044
                self.effectlist["BeleriandSpikes"]                      = "Beleriand Spikes";
78 Kragenwar-3044
                self.effectlist["AncientDwarfSpikes"]           = "Ancient-Dwarf Spikes";
79 Kragenwar-3044
                self.effectlist["LargeShieldSpikes"]            = "Large Shield Spikes";
80 Kragenwar-3044
        end
81 6 Kragenwar-3044
 
82 Kragenwar-3044
    -- ALL X, Y, WIDTH, HEIGHT values are in quickslot (ie: 1 width = the width of one quickslot: 35 px);
83 Kragenwar-3044
 
84 Kragenwar-3044
    -- Build Windows        SkillWindow( name:String, defaultx:int, defaulty:int, width:int, height:int, settings:table);
85 Kragenwar-3044
    self.windows["SelfBuffs"]   = SkillWindow("Self Buffs",                     1, 1, 6, 1,     self.settings["SelfBuffs"]      );
86 Kragenwar-3044
        self.windows["Utility"]         = SkillWindow("Utility",                        8, 1, 2, 1,     self.settings["Utility"]        );
87 Kragenwar-3044
        self.windows["ClassItems"]      = SkillWindow("Class Items",            11, 1, 2, 1,    self.settings["ClassItems"]     );
88 Kragenwar-3044
        self.windows["Parry"]           = SkillWindow("Parry",                          1, 2, 5, 1,     self.settings["Parry"]          );
89 Kragenwar-3044
        self.windows["Protect"]         = SkillWindow("Protect Fellows",        6, 2, 2, 1,     self.settings["Protect"]        );
90 Kragenwar-3044
        self.windows["Stunned"]         = SkillWindow("Stunned",                        12, 2, 1, 1,    self.settings["Stunned"]        );
91 Kragenwar-3044
        self.windows["Overpower"]       = SkillWindow("Overpower",                      1, 3, 3, 1,     self.settings["Overpower"]  );
92 Kragenwar-3044
        self.windows["Block"]           = SkillWindow("Block",                          1, 3, 4, 1,     self.settings["Block"]          );
93 Kragenwar-3044
    self.windows["Stances"]             = SkillWindow("Stances",                        12, 3, 1, 1,    self.settings["Stances"]        );
94 Kragenwar-3044
    self.windows["Ward"]                = SkillWindow("Ward",                           1, 4, 1, 1,     self.settings["Ward"]           );
95 Kragenwar-3044
        self.windows["Melee"]           = SkillWindow("Melee",                          2, 4, 6, 1,     self.settings["Melee"]          );
96 Kragenwar-3044
    self.windows["Taunt"]               = SkillWindow("Taunt",                          7, 4, 4, 1,     self.settings["Taunt"]          );
97 Kragenwar-3044
    self.windows["Ranged"]              = SkillWindow("Ranged",                         12, 4, 1, 1,    self.settings["Ranged"] );
98 Kragenwar-3044
 
99 Kragenwar-3044
 
100 Kragenwar-3044
    -- Build Bars           SkillBar( parent:SkillWindow, x:int, y:int, width:int, height:int, active:Boolean);
101 Kragenwar-3044
    self.bars["Overpower"]                              = SkillBar(self.windows["Overpower"], 1, 1, 3, 1, true, true);
102 Kragenwar-3044
        self.bars["BlockTier1"]                         = SkillBar(self.windows["Block"], 1, 1, 3, 1, true, true);
103 Kragenwar-3044
    self.bars["BlockTier2"]                             = SkillBar(self.windows["Block"], 1.5, 1, 2, 1, true, true);
104 Kragenwar-3044
    self.bars["BlockTier3"]                             = SkillBar(self.windows["Block"], 4, 1, 1, 1, true, true);
105 Kragenwar-3044
    self.bars["ParryTier1"]                             = SkillBar(self.windows["Parry"], 2, 1, 1, 1, true, true);
106 Kragenwar-3044
    self.bars["ParryTier2"]                             = SkillBar(self.windows["Parry"], 1, 1, 3, 1, true, true);
107 Kragenwar-3044
    self.bars["ParryTier3"]                             = SkillBar(self.windows["Parry"], 4, 1, 2, 1, true, true);
108 Kragenwar-3044
    self.bars["Ward"]                                   = SkillBar(self.windows["Ward"], 1, 1, 1, 1, true, false);
109 Kragenwar-3044
        self.bars["Melee"]                                      = SkillBar(self.windows["Melee"], 1, 1, 6, 1, true, false);
110 Kragenwar-3044
    self.bars["Taunt"]                                  = SkillBar(self.windows["Taunt"], 1, 1, 4, 1, true, false);
111 Kragenwar-3044
    self.bars["SelfBuffs"]                              = SkillBar(self.windows["SelfBuffs"], 1, 1, 6, 1, true, false);
112 Kragenwar-3044
    self.bars["Protect"]                = SkillBar(self.windows["Protect"], 1, 1, 2, 1, true, false);
113 Kragenwar-3044
    self.bars["Stances"]                                = SkillBar(self.windows["Stances"], 1, 1, 3, 1, true, false);
114 Kragenwar-3044
    self.bars["Stunned"]                                = SkillBar(self.windows["Stunned"], 1, 1, 1, 1, true, false);
115 Kragenwar-3044
    self.bars["Utility"]                                = SkillBar(self.windows["Utility"], 1, 1, 2, 1, true, false);
116 Kragenwar-3044
    self.bars["ClassItems"]                             = SkillBar(self.windows["ClassItems"], 1, 1, 2, 1, true, false);
117 Kragenwar-3044
    self.bars["Ranged"]                                 = SkillBar(self.windows["Ranged"], 1, 1, 1, 1, true, false);
118 Kragenwar-3044
 
119 Kragenwar-3044
 
120 Kragenwar-3044
        -- Build Skills         SkillSlot( parent:SkillBar, x:int, y:int, active:Boolean, level:int, hexcode:String );
121 Kragenwar-3044
        --                      For skills that need to be replaced with a new version you can enter level as a table
122 Kragenwar-3044
        --                                              ie.  {["start"] = 1, ["end"] = 34]}
123 Kragenwar-3044
        --                                              then set the new skill level to 34 and it will replace the old at that level
124 Kragenwar-3044
    self.skills["ShieldSwipe"]                  = SkillSlot(self.bars["BlockTier1"],    1, 1, false, 2, "0x7000305D");
125 Kragenwar-3044
    self.skills["CatchABreath"]                 = SkillSlot(self.bars["BlockTier1"],    2, 1, false, 16, "0x7000307D");
126 Kragenwar-3044
        self.skills["LitanyOfDefiance"]         = SkillSlot(self.bars["BlockTier1"],    3, 1, false, 60, "0x7000F095");
127 Kragenwar-3044
 
128 Kragenwar-3044
    self.skills["ShieldBash"]                   = SkillSlot(self.bars["BlockTier2"],    1, 1, false, 10, "0x70003EE1");
129 Kragenwar-3044
    self.skills["ShieldTaunt"]                  = SkillSlot(self.bars["BlockTier2"],    2, 1, false, 22, "0x70003EE6");
130 Kragenwar-3044
 
131 Kragenwar-3044
    self.skills["ShieldSmash"]                  = SkillSlot(self.bars["BlockTier3"],    1, 1, false, 41, "0x70002EC4");
132 Kragenwar-3044
 
133 Kragenwar-3044
    self.skills["Retaliation"]                  = SkillSlot(self.bars["ParryTier1"],    1, 1, false, 8, "0x70003EE0");
134 Kragenwar-3044
 
135 Kragenwar-3044
    self.skills["Overwhelm"]                    = SkillSlot(self.bars["ParryTier2"],    1, 1, false, 8, "0x70003EE2");
136 Kragenwar-3044
    self.skills["WhirlingRetaliation"]  = SkillSlot(self.bars["ParryTier2"],    2, 1, false, 14, "0x70003EE4");
137 Kragenwar-3044
        self.skills["Thrust"]                           = SkillSlot(self.bars["ParryTier2"],    3, 1, false, 18, "0x70003EE5");
138 Kragenwar-3044
 
139 Kragenwar-3044
    self.skills["SaltTheWound"]                 = SkillSlot(self.bars["ParryTier3"],    2, 1, true, 22, "0x7000D4AF");
140 Kragenwar-3044
        self.skills["ToTheKing"]                        = SkillSlot(self.bars["ParryTier3"],    1, 1, false, 41, "0x70002EA5");
141 Kragenwar-3044
 
142 Kragenwar-3044
    self.skills["GuardiansWard"]                = SkillSlot(self.bars["Ward"],                  1, 1, true, 1, "0x70003066");
143 Kragenwar-3044
    self.skills["ShieldBlow"]                   = SkillSlot(self.bars["Melee"],                 1, 1, true, { 1, 54 }, { "0x7000306F", "0x7000F1E0" });
144 Kragenwar-3044
        self.skills["Sting"]                            = SkillSlot(self.bars["Melee"],                 2, 1, true, { 1, 52 }, { "0x70003058", "0x7000F1E1" });
145 Kragenwar-3044
        self.skills["SweepingCut"]                      = SkillSlot(self.bars["Melee"],                 3, 1, true, 4, "0x70003EDE");
146 Kragenwar-3044
    self.skills["VexingBlow"]                   = SkillSlot(self.bars["Melee"],                 4, 1, true, 6, "0x7000308A");
147 Kragenwar-3044
    self.skills["Stamp"]                                = SkillSlot(self.bars["Melee"],                 5, 1, true, 32, "0x70003EE7");
148 Kragenwar-3044
    self.skills["TakeToHeart"]                  = SkillSlot(self.bars["Melee"],                 6, 1, true, 58, "0x7000ED87");
149 Kragenwar-3044
 
150 Kragenwar-3044
    self.skills["Challenge"]                    = SkillSlot(self.bars["Taunt"],                 1, 1, true, 16, "0x70003097");
151 Kragenwar-3044
    self.skills["FrayTheEdge"]                  = SkillSlot(self.bars["Taunt"],                 2, 1, true, 40, "0x7000D4B5");
152 Kragenwar-3044
        self.skills["Engage"]                           = SkillSlot(self.bars["Taunt"],                 3, 1, true, 42, "0x7000D4B2");
153 Kragenwar-3044
        self.skills["ChallengeTheDarkness"]     = SkillSlot(self.bars["Taunt"],                 4, 1, self.settings["Features"].darkness, 41, "0x70002EDF");
154 Kragenwar-3044
 
155 Kragenwar-3044
    self.skills["GuardiansPledge"]              = SkillSlot(self.bars["SelfBuffs"],     1, 1, true, 20, "0x700030A4");
156 Kragenwar-3044
    self.skills["ThrillOfDanger"]               = SkillSlot(self.bars["SelfBuffs"],     2, 1, true, 26, "0x700030B4");
157 Kragenwar-3044
        self.skills["WarriorsHeart"]            = SkillSlot(self.bars["SelfBuffs"],     3, 1, true, { 30, 64 }, { "0x700030AC", "0x70020DF5" });
158 Kragenwar-3044
    self.skills["DeepBreath"]                   = SkillSlot(self.bars["SelfBuffs"],     4, 1, true, 34, "0x700030A8");
159 Kragenwar-3044
    self.skills["IgnoreThePain"]                = SkillSlot(self.bars["SelfBuffs"],     5, 1, true, 44, "0x70021663");
160 Kragenwar-3044
    self.skills["Charge"]                               = SkillSlot(self.bars["SelfBuffs"],     6, 1, true, { 48, 62 }, { "0x7000DD14", "0x7001F4B6" });
161 Kragenwar-3044
 
162 Kragenwar-3044
    self.skills["Protection"]                   = SkillSlot(self.bars["Protect"],               1, 1, true, 24, "0x7000309A");
163 Kragenwar-3044
        self.skills["ShieldWall"]                       = SkillSlot(self.bars["Protect"],               2, 1, true, 50, "0x7000D4AE");
164 Kragenwar-3044
 
165 Kragenwar-3044
    self.skills["ForcedOpening"]                = SkillSlot(self.bars["Overpower"],     1, 1, false, 30, "0x7000D4B0");
166 Kragenwar-3044
    self.skills["Stagger"]                              = SkillSlot(self.bars["Overpower"],     2, 1, false, 46, "0x7000D4B3");
167 Kragenwar-3044
    self.skills["BrutalAssault"]                = SkillSlot(self.bars["Overpower"],     3, 1, false, 56, "0x7000F158");
168 Kragenwar-3044
 
169 Kragenwar-3044
    self.skills["TurnTheTables"]                = SkillSlot(self.bars["Stunned"],               1, 1, false, 36, "0x70003EE8");
170 Kragenwar-3044
 
171 Kragenwar-3044
    self.skills["SummonTinker"]                 = SkillSlot(self.bars["Utility"],               1, 1, false, 26, "0x7000D4B4");
172 Kragenwar-3044
        self.skills["GuardiansPromise"]         = SkillSlot(self.bars["Utility"],               2, 1, true, 38, "0x70003EE9");
173 Kragenwar-3044
 
174 Kragenwar-3044
        self.skills["LetFly"]                           = SkillSlot(self.bars["Ranged"],                1, 1, true, 30, "0x70003E14");
175 Kragenwar-3044
 
176 Kragenwar-3044
 
177 Kragenwar-3044
        -- Build Stance Slot (Multi)        SkillMultiSlot(parent:SkillBar, x:int, y:int, active:Boolean);
178 Kragenwar-3044
    -- AddShortcut to Multi Slot        SkillMultiSlot:AddShortcut(skillname:String, level:int, hex:String);
179 Kragenwar-3044
    --                                  After Declaring Shortcuts you need to call LevelCheck to validate the levels
180 Kragenwar-3044
        --                                  LevelCheck should also be called on refresh.
181 Kragenwar-3044
    self.multi = { };
182 Kragenwar-3044
        self.multi["StanceSlot"]           = SkillMultiSlot(self.bars["Stances"], 1, 1, true);
183 Kragenwar-3044
        self.multi["StanceSlot"]:AddShortCut("GuardiansDefence",         4, "0x70003EDF");
184 Kragenwar-3044
    self.multi["StanceSlot"]:AddShortCut("GuardiansParry",              12, "0x70003EE3");
185 Kragenwar-3044
    self.multi["StanceSlot"]:AddShortCut("Overpower",                   30, "0x7000D4B1");
186 Kragenwar-3044
    if (self.settings["Features"].threatstance) then self.multi["StanceSlot"]:AddShortCut("GuardiansThreat",    41, "0x70002ED4"); end
187 Kragenwar-3044
    self.multi["StanceSlot"]:LevelCheck();
188 Kragenwar-3044
 
189 Kragenwar-3044
    self.multi["ShieldSpikes"]                  = ItemMultiSlot(self.bars["ClassItems"], 2, 1, true);
190 Kragenwar-3044
        self.multi["ShieldSpikes"]:AddShortCut("Spike1",                self.settings["Quickslots"].spike1["active"], self.settings["Quickslots"].spike1["type"], self.settings["Quickslots"].spike1["data"]);
191 Kragenwar-3044
        self.multi["ShieldSpikes"]:AddShortCut("Spike2",                self.settings["Quickslots"].spike2["active"], self.settings["Quickslots"].spike2["type"], self.settings["Quickslots"].spike2["data"]);
192 Kragenwar-3044
        self.multi["ShieldSpikes"]:AddShortCut("Spike3",        self.settings["Quickslots"].spike3["active"], self.settings["Quickslots"].spike3["type"], self.settings["Quickslots"].spike3["data"]);
193 Kragenwar-3044
    self.multi["ShieldSpikes"]:AddShortCut("Spike4",    self.settings["Quickslots"].spike4["active"], self.settings["Quickslots"].spike4["type"], self.settings["Quickslots"].spike4["data"]);
194 Kragenwar-3044
 
195 Kragenwar-3044
        -- Stance Change Event
196 Kragenwar-3044
        AddCallback(vars.classattr, "StanceChanged", function(sender, args)
197 Kragenwar-3044
                KragenBars:StanceChange(vars.classattr:GetStance());
198 Kragenwar-3044
        end);
199 Kragenwar-3044
 
200 Kragenwar-3044
        -- Block/Parry Events
201 Kragenwar-3044
        AddCallback(vars.classattr, "IsBlockTier3AvailableChanged", function(sender, args)
202 Kragenwar-3044
                KragenBars:BlockChange(3, vars.classattr:IsBlockTier3Available());
203 Kragenwar-3044
        end);
204 Kragenwar-3044
        AddCallback(vars.classattr, "IsParryTier3AvailableChanged", function(sender, args)
205 Kragenwar-3044
                KragenBars:ParryChange(3, vars.classattr:IsParryTier3Available());
206 Kragenwar-3044
        end);
207 Kragenwar-3044
 
208 Kragenwar-3044
        -- Set Combat States
209 Kragenwar-3044
        self.skills["ThrillOfDanger"]:SetCombat( true, false );
210 Kragenwar-3044
        self.skills["GuardiansPromise"]:SetCombat( false, true );
211 Kragenwar-3044
        self.skills["SummonTinker"]:SetCombat( false, true );
212 19 Kragenwar-3044
        self.skills["GuardiansWard"]:SetCombat( true , false );
213 6 Kragenwar-3044
 
214 Kragenwar-3044
        -- Initial Checks (Setting up inital states for combat states and stances and such)
215 Kragenwar-3044
        self:InitBars();
216 Kragenwar-3044
        self:BlockChange(3, vars.classattr:IsBlockTier3Available());
217 Kragenwar-3044
        self:ParryChange(3, vars.classattr:IsParryTier3Available());
218 Kragenwar-3044
        self:StanceChange(vars.classattr:GetStance());
219 Kragenwar-3044
        self:CombatChange(vars.player:IsInCombat());
220 Kragenwar-3044
 
221 Kragenwar-3044
 
222 Kragenwar-3044
 
223 Kragenwar-3044
end
224 Kragenwar-3044
 
225 Kragenwar-3044
function GuardianBars:AddEffect( effectIndex )
226 19 Kragenwar-3044
        local effect = vars.player:GetEffects():Get( effectIndex );
227 6 Kragenwar-3044
 
228 Kragenwar-3044
        -- Guardian's Ward
229 19 Kragenwar-3044
        if ((effect:GetName() == self.effectlist["GuardiansWard"] or effect:GetName() == self.effectlist["ImprovedGuardiansWard"])) then
230 Kragenwar-3044
        self.skills["GuardiansWard"]:SetState( true , self.settings["Features"].wardactive < 3, effect:GetID());
231 10 Kragenwar-3044
                if (self.settings["Features"].wardactive == 2) then
232 Kragenwar-3044
                        self.skills["GuardiansWard"]:SetHover( true );
233 Kragenwar-3044
                elseif (self.settings["Features"].wardactive == 4) then
234 19 Kragenwar-3044
                        self.skills["GuardiansWard"]:StartTimer( effect:GetDuration() * .70, true );
235 6 Kragenwar-3044
                end
236 Kragenwar-3044
 
237 19 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["BlockResponse"]) then
238 Kragenwar-3044
                self.bars["BlockTier1"]:SetState( true, effect:GetID());
239 6 Kragenwar-3044
                if (not self.bars["BlockTier2"].state) then
240 Kragenwar-3044
                        self.skills["ShieldSwipe"]:SetActive(true);
241 Kragenwar-3044
                        self.skills["CatchABreath"]:SetActive(true);
242 Kragenwar-3044
                        self.skills["LitanyOfDefiance"]:SetActive(true);
243 10 Kragenwar-3044
                        if (vars.playerlevel >= 10) then
244 Kragenwar-3044
                                self.bars["BlockTier1"]:SetZOrder(0);
245 Kragenwar-3044
                                self.bars["BlockTier2"]:SetZOrder(-10);
246 Kragenwar-3044
                        end
247 6 Kragenwar-3044
                end
248 Kragenwar-3044
 
249 19 Kragenwar-3044
    elseif (effect:GetName() == self.effectlist["ShieldSwipe"]) then
250 Kragenwar-3044
                self.bars["BlockTier2"]:SetState( true, effect:GetID());
251 6 Kragenwar-3044
                self.skills["ShieldSwipe"]:SetActive(false);
252 Kragenwar-3044
                self.skills["CatchABreath"]:SetActive(false);
253 Kragenwar-3044
                self.skills["LitanyOfDefiance"]:SetActive(false);
254 Kragenwar-3044
                self.bars["BlockTier1"]:SetZOrder(-10);
255 Kragenwar-3044
                self.bars["BlockTier2"]:SetZOrder(0);
256 Kragenwar-3044
                self.skills["ShieldTaunt"]:SetActive(true);
257 Kragenwar-3044
                self.skills["ShieldBash"]:SetActive(true);
258 Kragenwar-3044
 
259 19 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["ParryResponse"]) then
260 Kragenwar-3044
                self.bars["ParryTier1"]:SetState( true, effect:GetID());
261 6 Kragenwar-3044
                if (not self.bars["ParryTier2"].state) then
262 Kragenwar-3044
                        self.skills["Retaliation"]:SetActive( true );
263 Kragenwar-3044
                        self.bars["ParryTier1"]:SetZOrder(0);
264 Kragenwar-3044
                        self.bars["ParryTier2"]:SetZOrder(-10);
265 Kragenwar-3044
                end
266 Kragenwar-3044
 
267 19 Kragenwar-3044
    elseif (effect:GetName() == self.effectlist["Retaliation"]) then
268 Kragenwar-3044
                self.bars["ParryTier2"]:SetState( true, effect:GetID());
269 6 Kragenwar-3044
                self.skills["Retaliation"]:SetActive( false );
270 Kragenwar-3044
                self.bars["ParryTier1"]:SetZOrder(-10);
271 Kragenwar-3044
                self.bars["ParryTier2"]:SetZOrder(0);
272 Kragenwar-3044
                self.skills["Overwhelm"]:SetActive( true );
273 Kragenwar-3044
                self.skills["Thrust"]:SetActive( true );
274 Kragenwar-3044
                self.skills["WhirlingRetaliation"]:SetActive( true );
275 Kragenwar-3044
 
276 Kragenwar-3044
        -- Stunned, Dazed, Knocked Down
277 19 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["Stunned"] or effect:GetName() == self.effectlist["Dazed"] or effect:GetName() == self.effectlist["KnockedDown"]) then
278 Kragenwar-3044
        self.skills["TurnTheTables"]:SetState( true , true, effect:GetID());
279 6 Kragenwar-3044
 
280 Kragenwar-3044
        -- Stance Change
281 19 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["Overpower"]) then
282 Kragenwar-3044
                self.bars["Overpower"]:SetState( true, effect:GetID() );
283 6 Kragenwar-3044
                self.windows["Overpower"]:SetZOrder(0);
284 Kragenwar-3044
            self.windows["Block"]:SetZOrder(-10);
285 Kragenwar-3044
                self.skills["ForcedOpening"]:SetActive( true );
286 Kragenwar-3044
                self.skills["Stagger"]:SetActive( true );
287 Kragenwar-3044
                self.skills["BrutalAssault"]:SetActive( true );
288 Kragenwar-3044
                self.skills["ShieldBlow"]:SetActive( false );
289 Kragenwar-3044
                self.skills["Protection"]:SetActive( false );
290 Kragenwar-3044
                self.skills["ShieldWall"]:SetActive( false );
291 Kragenwar-3044
 
292 19 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["Campsite"]) then
293 Kragenwar-3044
                self.skills["SummonTinker"]:SetState(true, true, effect:GetID() );
294 6 Kragenwar-3044
 
295 19 Kragenwar-3044
    elseif (effect:GetName() == self.effectlist["WesternesseSpikes"] or effect:GetName() == self.effectlist["BeleriandSpikes"] or effect:GetName() == self.effectlist["AncientDwarfSpikes"] or effect:GetName() == self.effectlist["LargeShieldSpikes"]) then
296 Kragenwar-3044
                self.multi["ShieldSpikes"]:SetState(true, true, effect:GetID() );
297 6 Kragenwar-3044
                self.multi["ShieldSpikes"]:SetHover(true);
298 Kragenwar-3044
 
299 Kragenwar-3044
        -- Wound
300 19 Kragenwar-3044
        elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Wound ) then
301 6 Kragenwar-3044
                self.wound = self.wound + 1;
302 Kragenwar-3044
                if (self.settings["Features"].woundindicator) then
303 Kragenwar-3044
                        self.skills["IgnoreThePain"]:SetColor("red");
304 Kragenwar-3044
                end
305 Kragenwar-3044
 
306 Kragenwar-3044
 
307 Kragenwar-3044
    end
308 Kragenwar-3044
end
309 Kragenwar-3044
 
310 Kragenwar-3044
function GuardianBars:RemoveEffect( effect )
311 Kragenwar-3044
 
312 Kragenwar-3044
        -- SetState can be called on both bars and skills
313 Kragenwar-3044
        -- it will store the incoming effect id and flag the state
314 Kragenwar-3044
        -- SetState(effectstate:Boolean,  effectid:int);
315 Kragenwar-3044
 
316 Kragenwar-3044
        -- Guardian's Ward
317 19 Kragenwar-3044
        if (effect:GetName() == self.effectlist["GuardiansWard"] or effect:GetName() == self.effectlist["ImprovedGuardiansWard"]) then
318 6 Kragenwar-3044
        self.skills["GuardiansWard"]:SetState( false , true, effect:GetID());
319 19 Kragenwar-3044
        if (not self.skills["GuardiansWard"].state) then
320 Kragenwar-3044
                        self.skills["GuardiansWard"]:SetHover( false );
321 Kragenwar-3044
                end
322 6 Kragenwar-3044
 
323 19 Kragenwar-3044
    elseif (effect:GetName() == self.effectlist["BlockResponse"]) then
324 6 Kragenwar-3044
                self.bars["BlockTier1"]:SetState( false, effect:GetID());
325 Kragenwar-3044
                if (not self.bars["BlockTier1"].state) then
326 Kragenwar-3044
                        self.skills["ShieldSwipe"]:SetActive(false);
327 Kragenwar-3044
                        self.skills["CatchABreath"]:SetActive(false);
328 Kragenwar-3044
                        self.skills["LitanyOfDefiance"]:SetActive(false);
329 Kragenwar-3044
                end
330 Kragenwar-3044
 
331 19 Kragenwar-3044
    elseif (effect:GetName() == self.effectlist["ShieldSwipe"]) then
332 6 Kragenwar-3044
        self.bars["BlockTier2"]:SetState( false, effect:GetID());
333 Kragenwar-3044
                if (not self.bars["BlockTier2"].state) then
334 Kragenwar-3044
                        self.skills["ShieldTaunt"]:SetActive(false);
335 Kragenwar-3044
                        self.skills["ShieldBash"]:SetActive(false);
336 Kragenwar-3044
                        if (self.bars["BlockTier1"].state) then
337 Kragenwar-3044
                                self.skills["ShieldSwipe"]:SetActive(true);
338 Kragenwar-3044
                                self.skills["CatchABreath"]:SetActive(true);
339 Kragenwar-3044
                                self.skills["LitanyOfDefiance"]:SetActive(true);
340 Kragenwar-3044
                                self.bars["BlockTier1"]:SetZOrder(0);
341 Kragenwar-3044
                                self.bars["BlockTier2"]:SetZOrder(-10);
342 Kragenwar-3044
                        end
343 Kragenwar-3044
                end
344 Kragenwar-3044
 
345 19 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["ParryResponse"]) then
346 6 Kragenwar-3044
                self.bars["ParryTier1"]:SetState( false, effect:GetID());
347 Kragenwar-3044
                if (not self.bars["ParryTier1"].state) then
348 Kragenwar-3044
                        self.skills["Retaliation"]:SetActive(false);
349 Kragenwar-3044
                end
350 Kragenwar-3044
 
351 19 Kragenwar-3044
    elseif (effect:GetName() == self.effectlist["Retaliation"]) then
352 6 Kragenwar-3044
        self.bars["ParryTier2"]:SetState( false, effect:GetID());
353 Kragenwar-3044
                if (not self.bars["ParryTier2"].state) then
354 Kragenwar-3044
                        self.skills["Overwhelm"]:SetActive(false);
355 Kragenwar-3044
                        self.skills["Thrust"]:SetActive(false);
356 Kragenwar-3044
                        self.skills["WhirlingRetaliation"]:SetActive(false);
357 Kragenwar-3044
                        if (self.bars["ParryTier1"].state) then
358 Kragenwar-3044
                                self.skills["Retaliation"]:SetActive(true);
359 Kragenwar-3044
                                self.bars["ParryTier1"]:SetZOrder(0);
360 Kragenwar-3044
                                self.bars["ParryTier2"]:SetZOrder(-10);
361 Kragenwar-3044
                        end
362 Kragenwar-3044
                end
363 Kragenwar-3044
 
364 Kragenwar-3044
        -- Stunned, Dazed or Knocked Down
365 19 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["Stunned"] or effect:GetName() == self.effectlist["Dazed"] or effect:GetName() == self.effectlist["KnockedDown"]) then
366 6 Kragenwar-3044
        self.skills["TurnTheTables"]:SetState( false , false, effect:GetID());
367 Kragenwar-3044
 
368 Kragenwar-3044
    -- Stance Change
369 19 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["Overpower"]) then
370 6 Kragenwar-3044
                self.bars["Overpower"]:SetState( false, effect:GetID() );
371 Kragenwar-3044
                if (not self.bars["Overpower"].state) then
372 Kragenwar-3044
                        self.windows["Overpower"]:SetZOrder(-10);
373 Kragenwar-3044
                self.windows["Block"]:SetZOrder(0);
374 Kragenwar-3044
                self.skills["ForcedOpening"]:SetActive( false );
375 Kragenwar-3044
                        self.skills["Stagger"]:SetActive( false );
376 Kragenwar-3044
                        self.skills["BrutalAssault"]:SetActive( false );
377 Kragenwar-3044
                        self.skills["ShieldBlow"]:SetActive( true );
378 Kragenwar-3044
                        self.skills["Protection"]:SetActive( true );
379 Kragenwar-3044
                        self.skills["ShieldWall"]:SetActive( true );
380 Kragenwar-3044
                end
381 Kragenwar-3044
 
382 Kragenwar-3044
 
383 19 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["Campsite"]) then
384 6 Kragenwar-3044
                self.skills["SummonTinker"]:SetState(false, false, effect:GetID() );
385 Kragenwar-3044
 
386 19 Kragenwar-3044
    elseif (effect:GetName() == self.effectlist["WesternesseSpikes"] or effect:GetName() == self.effectlist["BeleriandSpikes"] or effect:GetName() == self.effectlist["AncientDwarfSpikes"] or effect:GetName() == self.effectlist["LargeShieldSpikes"]) then
387 6 Kragenwar-3044
                self.multi["ShieldSpikes"]:SetState(false, true, effect:GetID() );
388 Kragenwar-3044
                self.multi["ShieldSpikes"]:SetHover(false);
389 Kragenwar-3044
 
390 Kragenwar-3044
        -- Wound
391 Kragenwar-3044
        elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Wound ) then
392 Kragenwar-3044
                self.wound = self.wound - 1;
393 Kragenwar-3044
                if (self.wound == 0) then
394 Kragenwar-3044
                        self.skills["IgnoreThePain"]:SetColor();
395 Kragenwar-3044
                end
396 Kragenwar-3044
 
397 Kragenwar-3044
        end
398 Kragenwar-3044
end
399 Kragenwar-3044
 
400 Kragenwar-3044
 
401 Kragenwar-3044
function GuardianBars:StanceChange(stance)
402 Kragenwar-3044
 
403 Kragenwar-3044
        -- PRIMARY STANCE SWITCHING
404 Kragenwar-3044
        if (self.settings["Features"].stancepriority) then
405 Kragenwar-3044
                local newstance = 0;
406 Kragenwar-3044
 
407 Kragenwar-3044
                if (stance == 3) then
408 Kragenwar-3044
                        newstance = 4;
409 Kragenwar-3044
                elseif (stance == 4) then
410 Kragenwar-3044
                        newstance = 3;
411 Kragenwar-3044
                else
412 Kragenwar-3044
                    newstance = stance;
413 Kragenwar-3044
                end
414 Kragenwar-3044
 
415 Kragenwar-3044
                if (newstance == self.settings["Features"].primarystance) then
416 Kragenwar-3044
                        self.multi["StanceSlot"]:SetIndex(self.settings["Features"].secondarystance);
417 Kragenwar-3044
                else
418 Kragenwar-3044
                    self.multi["StanceSlot"]:SetIndex(self.settings["Features"].primarystance);
419 Kragenwar-3044
                end
420 Kragenwar-3044
        end
421 Kragenwar-3044
 
422 Kragenwar-3044
        -- HOVER/DISAPPEAR SWITCHING
423 10 Kragenwar-3044
        if (stance == 0) then
424 Kragenwar-3044
                self.multi["StanceSlot"]:SetHover( false );
425 Kragenwar-3044
                self.multi["StanceSlot"]:SetActive( true );
426 Kragenwar-3044
        else
427 12 Valdacil-446
                self.multi["StanceSlot"]:SetActive( self.settings["Features"].stanceactive ~= 3);
428 10 Kragenwar-3044
        self.multi["StanceSlot"]:SetHover( self.settings["Features"].stanceactive == 2 );
429 6 Kragenwar-3044
        end
430 Kragenwar-3044
end
431 Kragenwar-3044
 
432 Kragenwar-3044
function GuardianBars:BlockChange(tier, state)
433 Kragenwar-3044
        if (tier == 3) then
434 Kragenwar-3044
                self.skills["ShieldSmash"]:SetActive( state and self.settings["Features"].shieldsmash );
435 Kragenwar-3044
        end
436 Kragenwar-3044
end
437 Kragenwar-3044
 
438 Kragenwar-3044
function GuardianBars:ParryChange(tier, state)
439 Kragenwar-3044
    if (tier == 3) then
440 Kragenwar-3044
                self.skills["ToTheKing"]:SetActive( state and self.settings["Features"].totheking );
441 Kragenwar-3044
        end
442 Kragenwar-3044
end
443 Kragenwar-3044
 
444 Kragenwar-3044
 
445 Kragenwar-3044
function GuardianBars:DefaultSettings()
446 Kragenwar-3044
        self.settings = { };
447 Kragenwar-3044
 
448 Kragenwar-3044
        self.settings["Block"] = { };
449 Kragenwar-3044
        self.settings["Block"].active = true;
450 Kragenwar-3044
        self.settings["Block"].x = 0;
451 Kragenwar-3044
        self.settings["Block"].y = 0;
452 Kragenwar-3044
 
453 Kragenwar-3044
        self.settings["Parry"] = { };
454 Kragenwar-3044
        self.settings["Parry"].active = true;
455 Kragenwar-3044
        self.settings["Parry"].x = 0;
456 Kragenwar-3044
        self.settings["Parry"].y = 0;
457 Kragenwar-3044
 
458 Kragenwar-3044
        self.settings["Overpower"] = { };
459 Kragenwar-3044
        self.settings["Overpower"].active = true;
460 Kragenwar-3044
        self.settings["Overpower"].x = 0;
461 Kragenwar-3044
        self.settings["Overpower"].y = 0;
462 Kragenwar-3044
 
463 Kragenwar-3044
        self.settings["Ward"] = { };
464 Kragenwar-3044
        self.settings["Ward"].active = true;
465 Kragenwar-3044
        self.settings["Ward"].x = 0;
466 Kragenwar-3044
        self.settings["Ward"].y = 0;
467 Kragenwar-3044
 
468 Kragenwar-3044
        self.settings["Melee"] = { };
469 Kragenwar-3044
        self.settings["Melee"].active = true;
470 Kragenwar-3044
        self.settings["Melee"].x = 0;
471 Kragenwar-3044
        self.settings["Melee"].y = 0;
472 Kragenwar-3044
 
473 Kragenwar-3044
        self.settings["SelfBuffs"] = { };
474 Kragenwar-3044
        self.settings["SelfBuffs"].active = true;
475 Kragenwar-3044
        self.settings["SelfBuffs"].x = 0;
476 Kragenwar-3044
        self.settings["SelfBuffs"].y = 0;
477 Kragenwar-3044
 
478 Kragenwar-3044
        self.settings["Protect"] = { };
479 Kragenwar-3044
        self.settings["Protect"].active = true;
480 Kragenwar-3044
        self.settings["Protect"].x = 0;
481 Kragenwar-3044
        self.settings["Protect"].y = 0;
482 Kragenwar-3044
 
483 Kragenwar-3044
        self.settings["Taunt"] = { };
484 Kragenwar-3044
        self.settings["Taunt"].active = true;
485 Kragenwar-3044
        self.settings["Taunt"].x = 0;
486 Kragenwar-3044
        self.settings["Taunt"].y = 0;
487 Kragenwar-3044
 
488 Kragenwar-3044
        self.settings["Stances"] = { };
489 Kragenwar-3044
        self.settings["Stances"].active = true;
490 Kragenwar-3044
        self.settings["Stances"].x = 0;
491 Kragenwar-3044
        self.settings["Stances"].y = 0;
492 Kragenwar-3044
 
493 Kragenwar-3044
        self.settings["Stunned"] = { };
494 Kragenwar-3044
        self.settings["Stunned"].active = true;
495 Kragenwar-3044
        self.settings["Stunned"].x = 0;
496 Kragenwar-3044
        self.settings["Stunned"].y = 0;
497 Kragenwar-3044
 
498 Kragenwar-3044
        self.settings["Utility"] = { };
499 Kragenwar-3044
        self.settings["Utility"].active = true;
500 Kragenwar-3044
        self.settings["Utility"].x = 0;
501 Kragenwar-3044
        self.settings["Utility"].y = 0;
502 Kragenwar-3044
 
503 Kragenwar-3044
        self.settings["ClassItems"] = { };
504 Kragenwar-3044
        self.settings["ClassItems"].active = true;
505 Kragenwar-3044
        self.settings["ClassItems"].x = 0;
506 Kragenwar-3044
        self.settings["ClassItems"].y = 0;
507 Kragenwar-3044
 
508 Kragenwar-3044
        self.settings["Ranged"] = { };
509 Kragenwar-3044
        self.settings["Ranged"].active = true;
510 Kragenwar-3044
        self.settings["Ranged"].x = 0;
511 Kragenwar-3044
        self.settings["Ranged"].y = 0;
512 Kragenwar-3044
 
513 Kragenwar-3044
        self.settings["Features"] = { };
514 Kragenwar-3044
        self.settings["Features"].threatstance = false;
515 Kragenwar-3044
        self.settings["Features"].totheking = false;
516 Kragenwar-3044
        self.settings["Features"].darkness = false;
517 Kragenwar-3044
        self.settings["Features"].shieldsmash = false;
518 Kragenwar-3044
        self.settings["Features"].stancepriority = true;
519 Kragenwar-3044
        self.settings["Features"].primarystance = 1;
520 Kragenwar-3044
        self.settings["Features"].secondarystance = 3;
521 Kragenwar-3044
        self.settings["Features"].woundindicator = true;
522 10 Kragenwar-3044
        self.settings["Features"].stanceactive = 2;
523 Kragenwar-3044
        self.settings["Features"].wardactive = 4;
524 6 Kragenwar-3044
 
525 10 Kragenwar-3044
 
526 6 Kragenwar-3044
        self.settings["Quickslots"] = { };
527 Kragenwar-3044
        self.settings["Quickslots"].spike1 = {active = false, type = 0, data = "" }
528 Kragenwar-3044
        self.settings["Quickslots"].spike2 = {active = false, type = 0, data = "" }
529 Kragenwar-3044
        self.settings["Quickslots"].spike3 = {active = false, type = 0, data = "" }
530 Kragenwar-3044
        self.settings["Quickslots"].spike4 = {active = false, type = 0, data = "" }
531 Kragenwar-3044
 
532 Kragenwar-3044
end
533 Kragenwar-3044
 
534 Kragenwar-3044
 
535 Kragenwar-3044
function GuardianBars:UpdateSettings()
536 10 Kragenwar-3044
        if (settings.vers < 3.01) then
537 Kragenwar-3044
 
538 Kragenwar-3044
                if (self.settings["Features"].wardwarning) then self.settings["Features"].wardactive = 4; else self.settings["Features"].wardactive = 3; end
539 Kragenwar-3044
                if (self.settings["Features"].stancehover) then self.settings["Features"].stanceactive = 2; else if (self.settings["Features"].stancedisappear) then self.settings["Features"].stanceactive = 3; else self.settings["Features"].stanceactive = 1; end end
540 Kragenwar-3044
 
541 Kragenwar-3044
                self.settings["Features"].wardwarning = nil;
542 Kragenwar-3044
                self.settings["Features"].stancehover = nil;
543 Kragenwar-3044
                self.settings["Features"].stancedisappear = nil;
544 Kragenwar-3044
        end
545 Kragenwar-3044
 
546 Kragenwar-3044
        settings.vers = vars.vers;
547 6 Kragenwar-3044
 
548 Kragenwar-3044
end
549 Kragenwar-3044
 
550 Kragenwar-3044
 
551 Kragenwar-3044
function GuardianBars:ShowSetup()
552 Kragenwar-3044
        self.setup:SetVisible(true);
553 Kragenwar-3044
 
554 Kragenwar-3044
        self.setupbb.opacityslider:SetValue(settings.opacity * 100);
555 Kragenwar-3044
        self.setupbb.checkboxlock:SetChecked(settings.lockslots);
556 Kragenwar-3044
        self.setupbb.checkboxgrid:SetChecked(settings.snaptogrid);
557 Kragenwar-3044
 
558 Kragenwar-3044
        self.setupbb.checkboxbb1:SetText("Block Reactives");
559 Kragenwar-3044
        self.setupbb.checkboxbb1:SetChecked (self.settings["Block"].active);
560 Kragenwar-3044
        self.setupbb.checkboxbb1:SetVisible(true);
561 Kragenwar-3044
        self.setupbb.checkboxbb2:SetText("Parry Reactives");
562 Kragenwar-3044
        self.setupbb.checkboxbb2:SetChecked (self.settings["Parry"].active);
563 Kragenwar-3044
        self.setupbb.checkboxbb2:SetVisible(true);
564 Kragenwar-3044
        self.setupbb.checkboxbb3:SetText("Overpower Skills");
565 Kragenwar-3044
        self.setupbb.checkboxbb3:SetChecked (self.settings["Overpower"].active);
566 Kragenwar-3044
        self.setupbb.checkboxbb3:SetVisible(true);
567 Kragenwar-3044
        self.setupbb.checkboxbb4:SetText("Guardians Ward");
568 Kragenwar-3044
        self.setupbb.checkboxbb4:SetChecked (self.settings["Ward"].active);
569 Kragenwar-3044
        self.setupbb.checkboxbb4:SetVisible(true);
570 Kragenwar-3044
        self.setupbb.checkboxbb5:SetText("Melee Skills");
571 Kragenwar-3044
        self.setupbb.checkboxbb5:SetChecked (self.settings["Melee"].active);
572 Kragenwar-3044
        self.setupbb.checkboxbb5:SetVisible(true);
573 Kragenwar-3044
        self.setupbb.checkboxbb6:SetText("Self Buffs");
574 Kragenwar-3044
        self.setupbb.checkboxbb6:SetChecked (self.settings["SelfBuffs"].active);
575 Kragenwar-3044
        self.setupbb.checkboxbb6:SetVisible(true);
576 Kragenwar-3044
        self.setupbb.checkboxbb7:SetText("Protect Fellows");
577 Kragenwar-3044
        self.setupbb.checkboxbb7:SetChecked (self.settings["Protect"].active);
578 Kragenwar-3044
        self.setupbb.checkboxbb7:SetVisible(true);
579 Kragenwar-3044
        self.setupbb.checkboxbb8:SetText("Taunt");
580 Kragenwar-3044
        self.setupbb.checkboxbb8:SetChecked (self.settings["Taunt"].active);
581 Kragenwar-3044
        self.setupbb.checkboxbb8:SetVisible(true);
582 Kragenwar-3044
        self.setupbb.checkboxbb9:SetText("Stances");
583 Kragenwar-3044
        self.setupbb.checkboxbb9:SetChecked (self.settings["Stances"].active);
584 Kragenwar-3044
        self.setupbb.checkboxbb9:SetVisible(true);
585 Kragenwar-3044
        self.setupbb.checkboxbb10:SetText("Stunned");
586 Kragenwar-3044
        self.setupbb.checkboxbb10:SetChecked (self.settings["Stunned"].active);
587 Kragenwar-3044
        self.setupbb.checkboxbb10:SetVisible(true);
588 Kragenwar-3044
        self.setupbb.checkboxbb11:SetText("Utility");
589 Kragenwar-3044
        self.setupbb.checkboxbb11:SetChecked (self.settings["Utility"].active);
590 Kragenwar-3044
        self.setupbb.checkboxbb11:SetVisible(true);
591 Kragenwar-3044
        self.setupbb.checkboxbb12:SetText("Class Items");
592 Kragenwar-3044
        self.setupbb.checkboxbb12:SetChecked (self.settings["ClassItems"].active);
593 Kragenwar-3044
        self.setupbb.checkboxbb12:SetVisible(true);
594 Kragenwar-3044
        self.setupbb.checkboxbb13:SetText("Ranged");
595 Kragenwar-3044
        self.setupbb.checkboxbb13:SetChecked (self.settings["Ranged"].active);
596 Kragenwar-3044
        self.setupbb.checkboxbb13:SetVisible(true);
597 Kragenwar-3044
 
598 Kragenwar-3044
        self.setupf.checkboxf1:SetText("Guardian's Threat");
599 Kragenwar-3044
        self.setupf.checkboxf1:SetChecked (self.settings["Features"].threatstance);
600 Kragenwar-3044
        self.setupf.checkboxf1:SetVisible(true);
601 Kragenwar-3044
        self.setupf.checkboxf2:SetText("Shield Smash");
602 Kragenwar-3044
        self.setupf.checkboxf2:SetChecked (self.settings["Features"].shieldsmash);
603 Kragenwar-3044
        self.setupf.checkboxf2:SetVisible(true);
604 Kragenwar-3044
        self.setupf.checkboxf3:SetText("To The King");
605 Kragenwar-3044
        self.setupf.checkboxf3:SetChecked (self.settings["Features"].totheking);
606 Kragenwar-3044
        self.setupf.checkboxf3:SetVisible(true);
607 Kragenwar-3044
        self.setupf.checkboxf4:SetText("Challenge The Darkness");
608 Kragenwar-3044
        self.setupf.checkboxf4:SetChecked (self.settings["Features"].darkness);
609 Kragenwar-3044
        self.setupf.checkboxf4:SetVisible(true);
610 Kragenwar-3044
 
611 10 Kragenwar-3044
        self.setupf.checkboxf10:SetText("Stance Priority");
612 Kragenwar-3044
        self.setupf.checkboxf10:SetChecked (self.settings["Features"].stancepriority);
613 6 Kragenwar-3044
        self.setupf.checkboxf10:SetVisible(true);
614 Kragenwar-3044
 
615 10 Kragenwar-3044
        self.setupf.checkboxf11:SetText("Wound Indicator");
616 Kragenwar-3044
        self.setupf.checkboxf11:SetChecked (self.settings["Features"].woundindicator);
617 6 Kragenwar-3044
        self.setupf.checkboxf11:SetVisible(true);
618 Kragenwar-3044
 
619 10 Kragenwar-3044
        self.setupf.combo1box.listBox:ClearItems();
620 Kragenwar-3044
        self.setupf.combo1Label:SetText("Guardian's Ward Active");
621 Kragenwar-3044
        self.setupf.combo1Label:SetVisible(true);
622 Kragenwar-3044
        local combolist = {"None", "Dim", "Hide", "Early Warning"}
623 Kragenwar-3044
        for k,v in pairs(combolist) do
624 Kragenwar-3044
                self.setupf.combo1box:AddItem(v, k);
625 Kragenwar-3044
        end
626 Kragenwar-3044
        self.setupf.combo1box:SetVisible(true);
627 Kragenwar-3044
        self.setupf.combo1box:SetSelection(self.settings["Features"].wardactive);
628 6 Kragenwar-3044
 
629 10 Kragenwar-3044
        self.setupf.combo2box.listBox:ClearItems();
630 Kragenwar-3044
        self.setupf.combo2Label:SetText("Primary Stance");
631 Kragenwar-3044
        self.setupf.combo2Label:SetVisible(true);
632 Kragenwar-3044
        local combolist = {"Guardian's Defence", "Guardian's Parry", "Overpower", "Threat"}
633 Kragenwar-3044
        for k,v in pairs(combolist) do
634 Kragenwar-3044
            self.setupf.combo2box:AddItem(v, k);
635 Kragenwar-3044
        end
636 Kragenwar-3044
        self.setupf.combo2box:SetVisible(true);
637 Kragenwar-3044
        self.setupf.combo2box:SetSelection(self.settings["Features"].primarystance);
638 6 Kragenwar-3044
 
639 10 Kragenwar-3044
        self.setupf.combo3box.listBox:ClearItems();
640 Kragenwar-3044
        self.setupf.combo3Label:SetText("Secondary Stance");
641 Kragenwar-3044
        self.setupf.combo3Label:SetVisible(true);
642 Kragenwar-3044
        local combolist = {"Guardian's Defence", "Guardian's Parry", "Overpower", "Threat"}
643 Kragenwar-3044
        for k,v in pairs(combolist) do
644 Kragenwar-3044
            self.setupf.combo3box:AddItem(v, k);
645 6 Kragenwar-3044
        end
646 10 Kragenwar-3044
        self.setupf.combo3box:SetVisible(true);
647 Kragenwar-3044
    self.setupf.combo3box:SetSelection(self.settings["Features"].secondarystance);
648 Kragenwar-3044
 
649 Kragenwar-3044
        self.setupf.combo4box.listBox:ClearItems();
650 Kragenwar-3044
        self.setupf.combo4Label:SetText("Stance Active");
651 Kragenwar-3044
        self.setupf.combo4Label:SetVisible(true);
652 Kragenwar-3044
        local combolist = {"None", "Dim", "Hide"}
653 Kragenwar-3044
        for k,v in pairs(combolist) do
654 Kragenwar-3044
                self.setupf.combo4box:AddItem(v, k);
655 Kragenwar-3044
        end
656 Kragenwar-3044
        self.setupf.combo4box:SetVisible(true);
657 Kragenwar-3044
        self.setupf.combo4box:SetSelection(self.settings["Features"].stanceactive);
658 6 Kragenwar-3044
 
659 Kragenwar-3044
        self.setupqs.quickslot1:SetVisible(true);
660 Kragenwar-3044
    pcall(function() self.setupqs.quickslot1:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].spike1["type"], self.settings["Quickslots"].spike1["data"] ) ); end);
661 Kragenwar-3044
        self.setupqs.quickslot1cb:SetText("Shield Spikes");
662 Kragenwar-3044
        self.setupqs.quickslot1cb:SetChecked(self.settings["Quickslots"].spike1["active"]);
663 Kragenwar-3044
        self.setupqs.quickslot1cb:SetVisible(true);
664 Kragenwar-3044
        self.setupqs.quickslot2:SetVisible(true);
665 Kragenwar-3044
    pcall(function() self.setupqs.quickslot2:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].spike2["type"], self.settings["Quickslots"].spike2["data"] ) ); end);
666 Kragenwar-3044
        self.setupqs.quickslot2cb:SetText("Shield Spikes");
667 Kragenwar-3044
        self.setupqs.quickslot2cb:SetChecked(self.settings["Quickslots"].spike2["active"]);
668 Kragenwar-3044
        self.setupqs.quickslot2cb:SetVisible(true);
669 Kragenwar-3044
        self.setupqs.quickslot3:SetVisible(true);
670 Kragenwar-3044
    pcall(function() self.setupqs.quickslot3:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].spike3["type"], self.settings["Quickslots"].spike3["data"] ) ); end);
671 Kragenwar-3044
        self.setupqs.quickslot3cb:SetText("Shield Spikes");
672 Kragenwar-3044
        self.setupqs.quickslot3cb:SetChecked(self.settings["Quickslots"].spike3["active"]);
673 Kragenwar-3044
        self.setupqs.quickslot3cb:SetVisible(true);
674 Kragenwar-3044
        self.setupqs.quickslot4:SetVisible(true);
675 Kragenwar-3044
    pcall(function() self.setupqs.quickslot4:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].spike4["type"], self.settings["Quickslots"].spike4["data"] ) ); end);
676 Kragenwar-3044
        self.setupqs.quickslot4cb:SetText("Shield Spikes");
677 Kragenwar-3044
        self.setupqs.quickslot4cb:SetChecked(self.settings["Quickslots"].spike4["active"]);
678 Kragenwar-3044
        self.setupqs.quickslot4cb:SetVisible(true);
679 Kragenwar-3044
 
680 Kragenwar-3044
 
681 Kragenwar-3044
end
682 Kragenwar-3044
 
683 Kragenwar-3044
 
684 Kragenwar-3044
function GuardianBars:SetupClosing()
685 Kragenwar-3044
        settings.opacity = self.setupbb.opacityslider:GetValue() / 100;
686 Kragenwar-3044
        settings.lockslots = self.setupbb.checkboxlock:IsChecked();
687 Kragenwar-3044
        settings.snaptogrid = self.setupbb.checkboxgrid:IsChecked();
688 Kragenwar-3044
 
689 Kragenwar-3044
        self.settings["Block"].active = self.setupbb.checkboxbb1:IsChecked();
690 Kragenwar-3044
    self.settings["Parry"].active = self.setupbb.checkboxbb2:IsChecked();
691 Kragenwar-3044
    self.settings["Overpower"].active = self.setupbb.checkboxbb3:IsChecked();
692 Kragenwar-3044
    self.settings["Ward"].active = self.setupbb.checkboxbb4:IsChecked();
693 Kragenwar-3044
        self.settings["Melee"].active = self.setupbb.checkboxbb5:IsChecked();
694 Kragenwar-3044
    self.settings["SelfBuffs"].active = self.setupbb.checkboxbb6:IsChecked();
695 Kragenwar-3044
    self.settings["Protect"].active = self.setupbb.checkboxbb7:IsChecked();
696 Kragenwar-3044
    self.settings["Taunt"].active = self.setupbb.checkboxbb8:IsChecked();
697 Kragenwar-3044
    self.settings["Stances"].active = self.setupbb.checkboxbb9:IsChecked();
698 Kragenwar-3044
    self.settings["Stunned"].active = self.setupbb.checkboxbb10:IsChecked();
699 Kragenwar-3044
    self.settings["Utility"].active = self.setupbb.checkboxbb11:IsChecked();
700 Kragenwar-3044
    self.settings["ClassItems"].active = self.setupbb.checkboxbb12:IsChecked();
701 Kragenwar-3044
    self.settings["Ranged"].active = self.setupbb.checkboxbb13:IsChecked();
702 Kragenwar-3044
 
703 Kragenwar-3044
        self.settings["Features"].threatstance = self.setupf.checkboxf1:IsChecked();
704 Kragenwar-3044
    self.settings["Features"].shieldsmash = self.setupf.checkboxf2:IsChecked();
705 Kragenwar-3044
    self.settings["Features"].totheking = self.setupf.checkboxf3:IsChecked();
706 Kragenwar-3044
    self.settings["Features"].darkness = self.setupf.checkboxf4:IsChecked();
707 Kragenwar-3044
 
708 10 Kragenwar-3044
    self.settings["Features"].stancepriority = self.setupf.checkboxf10:IsChecked();
709 Kragenwar-3044
    self.settings["Features"].woundindicator = self.setupf.checkboxf11:IsChecked();
710 6 Kragenwar-3044
 
711 10 Kragenwar-3044
    self.settings["Features"].wardactive = self.setupf.combo1box:GetSelection();
712 Kragenwar-3044
        self.settings["Features"].primarystance = self.setupf.combo2box:GetSelection();
713 Kragenwar-3044
    self.settings["Features"].secondarystance = self.setupf.combo3box:GetSelection();
714 Kragenwar-3044
    self.settings["Features"].stanceactive = self.setupf.combo4box:GetSelection();
715 6 Kragenwar-3044
 
716 Kragenwar-3044
    self.settings["Quickslots"].spike1 = { active = self.setupqs.quickslot1cb:IsChecked(), type = self.setupqs.quickslot1:GetShortcut():GetType(), data = self.setupqs.quickslot1:GetShortcut():GetData() };
717 Kragenwar-3044
    self.settings["Quickslots"].spike2 = { active = self.setupqs.quickslot2cb:IsChecked(), type = self.setupqs.quickslot2:GetShortcut():GetType(), data = self.setupqs.quickslot2:GetShortcut():GetData() };
718 Kragenwar-3044
    self.settings["Quickslots"].spike3 = { active = self.setupqs.quickslot3cb:IsChecked(), type = self.setupqs.quickslot3:GetShortcut():GetType(), data = self.setupqs.quickslot3:GetShortcut():GetData() };
719 Kragenwar-3044
    self.settings["Quickslots"].spike4 = { active = self.setupqs.quickslot4cb:IsChecked(), type = self.setupqs.quickslot4:GetShortcut():GetType(), data = self.setupqs.quickslot4:GetShortcut():GetData() };
720 Kragenwar-3044
 
721 Kragenwar-3044
        self:SaveSettings();
722 Kragenwar-3044
        self:Refresh();
723 Kragenwar-3044
 
724 Kragenwar-3044
end
725 Kragenwar-3044
 
726 Kragenwar-3044
 
727 Kragenwar-3044
function GuardianBars:Refresh()
728 Kragenwar-3044
 
729 Kragenwar-3044
        self:RefreshBars();
730 Kragenwar-3044
 
731 10 Kragenwar-3044
        self.skills["GuardiansWard"]:SetActive( true );
732 Kragenwar-3044
        if (self.settings["Features"].wardactive == 2) then
733 Kragenwar-3044
                self.skills["GuardiansWard"]:SetHover( self.skills["GuardiansWard"].state );
734 Kragenwar-3044
        elseif (self.settings["Features"].wardactive >= 3) then
735 Kragenwar-3044
                self.skills["GuardiansWard"]:SetActive( not self.skills["GuardiansWard"].state );
736 Kragenwar-3044
        end
737 Kragenwar-3044
 
738 6 Kragenwar-3044
        -- Set State on Legendary Skills
739 Kragenwar-3044
        self.skills["ShieldSmash"]:SetActive(self.settings["Features"].shieldsmash and vars.classattr:IsBlockTier3Available());
740 Kragenwar-3044
        self.skills["ToTheKing"]:SetActive(self.settings["Features"].totheking and vars.classattr:IsParryTier3Available());
741 Kragenwar-3044
        self.skills["ChallengeTheDarkness"]:SetActive(self.settings["Features"].darkness);
742 Kragenwar-3044
 
743 Kragenwar-3044
        -- Re-Build Stance Slot (Multi)
744 Kragenwar-3044
        self.multi["StanceSlot"]:Clear();
745 Kragenwar-3044
        self.multi["StanceSlot"]:AddShortCut("GuardiansDefence",         4, "0x70003EDF");
746 Kragenwar-3044
    self.multi["StanceSlot"]:AddShortCut("GuardiansParry",              12, "0x70003EE3");
747 Kragenwar-3044
    self.multi["StanceSlot"]:AddShortCut("Overpower",                   30, "0x7000D4B1");
748 Kragenwar-3044
    if (self.settings["Features"].threatstance) then self.multi["StanceSlot"]:AddShortCut("GuardiansThreat",    41, "0x70002ED4"); end
749 Kragenwar-3044
    self.multi["StanceSlot"]:LevelCheck();
750 Kragenwar-3044
 
751 Kragenwar-3044
    self.multi["ShieldSpikes"]:Clear();
752 Kragenwar-3044
        self.multi["ShieldSpikes"]:AddShortCut("Spike1",        self.settings["Quickslots"].spike1["active"], self.settings["Quickslots"].spike1["type"], self.settings["Quickslots"].spike1["data"]);
753 Kragenwar-3044
        self.multi["ShieldSpikes"]:AddShortCut("Spike2",        self.settings["Quickslots"].spike2["active"], self.settings["Quickslots"].spike2["type"], self.settings["Quickslots"].spike2["data"]);
754 Kragenwar-3044
        self.multi["ShieldSpikes"]:AddShortCut("Spike3",        self.settings["Quickslots"].spike3["active"], self.settings["Quickslots"].spike3["type"], self.settings["Quickslots"].spike3["data"]);
755 Kragenwar-3044
    self.multi["ShieldSpikes"]:AddShortCut("Spike4",    self.settings["Quickslots"].spike4["active"], self.settings["Quickslots"].spike4["type"], self.settings["Quickslots"].spike4["data"]);
756 Kragenwar-3044
    self.multi["ShieldSpikes"]:Refresh();
757 Kragenwar-3044
 
758 Kragenwar-3044
    if (self.settings["Features"].woundindicator and self.wound > 0) then
759 Kragenwar-3044
                self.skills["IgnoreThePain"]:SetColor("red");
760 Kragenwar-3044
        else
761 Kragenwar-3044
                self.skills["IgnoreThePain"]:SetColor();
762 Kragenwar-3044
        end
763 Kragenwar-3044
 
764 Kragenwar-3044
        self:StanceChange(vars.classattr:GetStance());
765 Kragenwar-3044
        self:CombatChange(vars.player:IsInCombat());
766 Kragenwar-3044
 
767 Kragenwar-3044
        Turbine.Shell.WriteLine("KragenBars: Guardian Bars refresh completed successfully.");
768 Kragenwar-3044
 
769 Kragenwar-3044
end

All times are GMT -5. The time now is 10:12 AM.


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