lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

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

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 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.wound = 0;
15 19 Kragenwar-3044
 
16 60 Kragenwar-3044
        self.effectlist = {};
17 Kragenwar-3044
        self.effectlist['GuardiansWard'] = Effect();
18 130 Valdacil-446
        self.effectlist['GuardiansWardTactics'] = Effect();
19 60 Kragenwar-3044
        self.effectlist['ImprovedGuardiansWard'] = Effect();
20 130 Valdacil-446
        self.effectlist['ImprovedGuardiansWardTactics'] = Effect();
21 60 Kragenwar-3044
        self.effectlist['BlockResponse'] = Effect();
22 Kragenwar-3044
        self.effectlist['ShieldSwipe'] = Effect();
23 Kragenwar-3044
        self.effectlist['ParryResponse'] = Effect();
24 Kragenwar-3044
        self.effectlist['Retaliation'] = Effect();
25 Kragenwar-3044
        self.effectlist['Stunned'] = Effect();
26 Kragenwar-3044
        self.effectlist['Dazed'] = Effect();
27 Kragenwar-3044
        self.effectlist['KnockedDown'] = Effect();
28 Kragenwar-3044
        self.effectlist['Overpower'] = Effect();
29 Kragenwar-3044
        self.effectlist['Campsite'] = Effect();
30 Kragenwar-3044
        self.effectlist['ShieldSpikes'] = Effect();
31 Kragenwar-3044
 
32 48 Kragenwar-3044
        -- DEFINE THE EFFECT LIST BASED ON CLIENT LANGUAGE
33 Kragenwar-3044
        self.DefineEffectList = function()
34 Kragenwar-3044
                -- ENGLISH CLIENT
35 Kragenwar-3044
                if (settings.language == 1) then
36 60 Kragenwar-3044
                        self.effectlist['GuardiansWard']                        :SetName("Guardian's Ward");
37 Kragenwar-3044
                        self.effectlist['ImprovedGuardiansWard']        :SetName("Improved Guardian's Ward");
38 130 Valdacil-446
                        self.effectlist['GuardiansWardTactics']         :SetName("Guardian's Ward Tactics");
39 Valdacil-446
                        self.effectlist['ImprovedGuardiansWardTactics'] :SetName("Improved Guardian's Ward Tactics");
40 60 Kragenwar-3044
                        self.effectlist['BlockResponse']                        :SetName('Block Response');
41 Kragenwar-3044
                        self.effectlist['ShieldSwipe']                          :SetName('Shield Swipe');
42 Kragenwar-3044
                        self.effectlist['ParryResponse']                        :SetName('Parry Response');
43 Kragenwar-3044
                        self.effectlist['Retaliation']                          :SetName('Retaliation');
44 Kragenwar-3044
                        self.effectlist['Stunned']                                      :SetName('Stunned');
45 Kragenwar-3044
                        self.effectlist['Dazed']                                        :SetName('Dazed');
46 Kragenwar-3044
                        self.effectlist['KnockedDown']                          :SetName('Knocked Down');
47 Kragenwar-3044
                        self.effectlist['Overpower']                            :SetName('Overpower');
48 Kragenwar-3044
                        self.effectlist['Campsite']                             :SetName('Campsite');
49 Kragenwar-3044
                        self.effectlist['ShieldSpikes']                         :SetName(' Spike');
50 36 Kragenwar-3044
 
51 48 Kragenwar-3044
                -- FRENCH CLIENT
52 82 Kragenwar-3044
                elseif (vars.locale == 'fr') then
53 60 Kragenwar-3044
                        self.effectlist['GuardiansWard']                        :SetName('Protection de gardien');
54 82 Kragenwar-3044
                        self.effectlist['ImprovedGuardiansWard']        :SetName('Protection de gardien améliorée');
55 130 Valdacil-446
                        self.effectlist['GuardiansWardTactics']         :SetName("Guardian's Ward Tactics");
56 Valdacil-446
                        self.effectlist['ImprovedGuardiansWardTactics'] :SetName("Improved Guardian's Ward Tactics");
57 60 Kragenwar-3044
                        self.effectlist['BlockResponse']                        :SetName('Block Response');
58 Kragenwar-3044
                        self.effectlist['ShieldSwipe']                          :SetName('Balayage au bouclier');
59 82 Kragenwar-3044
                        self.effectlist['ParryResponse']                        :SetName('Réaction de parade');
60 60 Kragenwar-3044
                        self.effectlist['Retaliation']                          :SetName('Riposte');
61 Kragenwar-3044
                        self.effectlist['Stunned']                                      :SetName('Etourdi');
62 82 Kragenwar-3044
                        self.effectlist['Dazed']                                        :SetName('Hébété');
63 Kragenwar-3044
                        self.effectlist['KnockedDown']                          :SetName('Renversé');
64 60 Kragenwar-3044
                        self.effectlist['Overpower']                            :SetName('Surpuissance');
65 Kragenwar-3044
                        self.effectlist['Campsite']                             :SetName('Campsite');
66 82 Kragenwar-3044
                        self.effectlist['ShieldSpikes']                         :SetName(' Spike');
67 48 Kragenwar-3044
 
68 Kragenwar-3044
                -- GERMAN CLIENT
69 82 Kragenwar-3044
                elseif (vars.locale == 'de') then
70 105 Kragenwar-3044
                        self.effectlist['GuardiansWard']                        :SetName('Wächterschild');
71 82 Kragenwar-3044
                        self.effectlist['ImprovedGuardiansWard']        :SetName('Verbesserung: Wächterschild');
72 130 Valdacil-446
                        self.effectlist['GuardiansWardTactics']         :SetName("Guardian's Ward Tactics");
73 Valdacil-446
                        self.effectlist['ImprovedGuardiansWardTactics'] :SetName("Improved Guardian's Ward Tactics");
74 60 Kragenwar-3044
                        self.effectlist['BlockResponse']                        :SetName('Block Response');
75 Kragenwar-3044
                        self.effectlist['ShieldSwipe']                          :SetName('Schildstreich');
76 Kragenwar-3044
                        self.effectlist['ParryResponse']                        :SetName('Erwiderung "Parade"');
77 Kragenwar-3044
                        self.effectlist['Retaliation']                          :SetName('Vergeltung');
78 Kragenwar-3044
                        self.effectlist['Stunned']                                      :SetName('Bewusstlos geschlagen');
79 82 Kragenwar-3044
                        self.effectlist['Dazed']                                        :SetName('Benommenheit');
80 60 Kragenwar-3044
                        self.effectlist['KnockedDown']                          :SetName('Zu Boden geschlagen');
81 82 Kragenwar-3044
                        self.effectlist['Overpower']                            :SetName('Überwältigen');
82 105 Kragenwar-3044
                        self.effectlist['Campsite']                             :SetName('Lagerplatz');
83 82 Kragenwar-3044
                        self.effectlist['ShieldSpikes']                         :SetName(' Spike');
84 48 Kragenwar-3044
                end
85 19 Kragenwar-3044
        end
86 6 Kragenwar-3044
 
87 48 Kragenwar-3044
 
88 Kragenwar-3044
        -- BUILD WINDOWS BARS SKILLS AND MULTIS --
89 Kragenwar-3044
 
90 Kragenwar-3044
    -- Build Bars
91 6 Kragenwar-3044
    self.bars["Overpower"]                              = SkillBar(self.windows["Overpower"], 1, 1, 3, 1, true, true);
92 Kragenwar-3044
        self.bars["BlockTier1"]                         = SkillBar(self.windows["Block"], 1, 1, 3, 1, true, true);
93 Kragenwar-3044
    self.bars["BlockTier2"]                             = SkillBar(self.windows["Block"], 1.5, 1, 2, 1, true, true);
94 Kragenwar-3044
    self.bars["BlockTier3"]                             = SkillBar(self.windows["Block"], 4, 1, 1, 1, true, true);
95 131 Valdacil-446
    self.bars["ParryTier1"]                             = SkillBar(self.windows["Parry"], 1, 1, 2, 1, true, true);
96 6 Kragenwar-3044
    self.bars["ParryTier2"]                             = SkillBar(self.windows["Parry"], 1, 1, 3, 1, true, true);
97 89 Kragenwar-3044
    self.bars["ParryTier3"]                             = SkillBar(self.windows["Parry"], 4, 1, 1, 1, true, true);
98 6 Kragenwar-3044
 
99 Kragenwar-3044
 
100 48 Kragenwar-3044
        -- Build Skills
101 6 Kragenwar-3044
    self.skills["ShieldSwipe"]                  = SkillSlot(self.bars["BlockTier1"],    1, 1, false, 2, "0x7000305D");
102 Kragenwar-3044
    self.skills["CatchABreath"]                 = SkillSlot(self.bars["BlockTier1"],    2, 1, false, 16, "0x7000307D");
103 Kragenwar-3044
        self.skills["LitanyOfDefiance"]         = SkillSlot(self.bars["BlockTier1"],    3, 1, false, 60, "0x7000F095");
104 Kragenwar-3044
 
105 Kragenwar-3044
    self.skills["ShieldBash"]                   = SkillSlot(self.bars["BlockTier2"],    1, 1, false, 10, "0x70003EE1");
106 Kragenwar-3044
    self.skills["ShieldTaunt"]                  = SkillSlot(self.bars["BlockTier2"],    2, 1, false, 22, "0x70003EE6");
107 Kragenwar-3044
 
108 Kragenwar-3044
    self.skills["ShieldSmash"]                  = SkillSlot(self.bars["BlockTier3"],    1, 1, false, 41, "0x70002EC4");
109 Kragenwar-3044
 
110 131 Valdacil-446
    if (vars.playerlevel >= 70) then
111 Valdacil-446
                self.skills["WhirlingRetaliation"]      = SkillSlot(self.bars["ParryTier1"],1, 1, false, { 14, 70 }, { "0x70003EE4", "0x7002845C" });
112 Valdacil-446
        end
113 Valdacil-446
    self.skills["Retaliation"]                  = SkillSlot(self.bars["ParryTier1"],    2, 1, false, 8, "0x70003EE0");
114 6 Kragenwar-3044
 
115 131 Valdacil-446
        if (vars.playerlevel < 70) then
116 Valdacil-446
                self.skills["WhirlingRetaliation"]      = SkillSlot(self.bars["ParryTier2"],1, 1, false, { 14, 70 }, { "0x70003EE4", "0x7002845C" });
117 Valdacil-446
        end
118 Valdacil-446
    self.skills["Overwhelm"]                    = SkillSlot(self.bars["ParryTier2"],    2, 1, false, { 8, 68 }, { "0x70003EE2", "0x70028414" });
119 6 Kragenwar-3044
        self.skills["Thrust"]                           = SkillSlot(self.bars["ParryTier2"],    3, 1, false, 18, "0x70003EE5");
120 Kragenwar-3044
 
121 Kragenwar-3044
        self.skills["ToTheKing"]                        = SkillSlot(self.bars["ParryTier3"],    1, 1, false, 41, "0x70002EA5");
122 Kragenwar-3044
 
123 127 Valdacil-446
    self.skills["GuardiansWard"]                = SkillSlot(self.bars["Ward"],                  1, 1, true, { 1, 66 }, { "0x70003066", "0x700283E7" });
124 89 Kragenwar-3044
 
125 6 Kragenwar-3044
    self.skills["ShieldBlow"]                   = SkillSlot(self.bars["Melee"],                 1, 1, true, { 1, 54 }, { "0x7000306F", "0x7000F1E0" });
126 Kragenwar-3044
        self.skills["Sting"]                            = SkillSlot(self.bars["Melee"],                 2, 1, true, { 1, 52 }, { "0x70003058", "0x7000F1E1" });
127 Kragenwar-3044
        self.skills["SweepingCut"]                      = SkillSlot(self.bars["Melee"],                 3, 1, true, 4, "0x70003EDE");
128 Kragenwar-3044
    self.skills["VexingBlow"]                   = SkillSlot(self.bars["Melee"],                 4, 1, true, 6, "0x7000308A");
129 89 Kragenwar-3044
        self.skills["SaltTheWound"]                     = SkillSlot(self.bars["Melee"],                 5, 1, true, 22, "0x7000D4AF");
130 Kragenwar-3044
    self.skills["Stamp"]                                = SkillSlot(self.bars["Melee"],                 6, 1, true, 32, "0x70003EE7");
131 Kragenwar-3044
        self.skills["TakeToHeart"]                      = SkillSlot(self.bars["Melee"],                 7, 1, true, 58, "0x7000ED87");
132 6 Kragenwar-3044
 
133 127 Valdacil-446
    self.skills["Challenge"]                    = SkillSlot(self.bars["Taunt"],                 1, 1, true, { 16, 74 }, { "0x70003097", "0x70028B62" });
134 6 Kragenwar-3044
    self.skills["FrayTheEdge"]                  = SkillSlot(self.bars["Taunt"],                 2, 1, true, 40, "0x7000D4B5");
135 Kragenwar-3044
        self.skills["Engage"]                           = SkillSlot(self.bars["Taunt"],                 3, 1, true, 42, "0x7000D4B2");
136 60 Kragenwar-3044
        self.skills["ChallengeTheDarkness"]     = SkillSlot(self.bars["Taunt"],                 4, 1, self.settings.traits["ChallengeTheDarkness"].active, 41, "0x70002EDF");
137 6 Kragenwar-3044
 
138 Kragenwar-3044
    self.skills["GuardiansPledge"]              = SkillSlot(self.bars["SelfBuffs"],     1, 1, true, 20, "0x700030A4");
139 Kragenwar-3044
    self.skills["ThrillOfDanger"]               = SkillSlot(self.bars["SelfBuffs"],     2, 1, true, 26, "0x700030B4");
140 Kragenwar-3044
        self.skills["WarriorsHeart"]            = SkillSlot(self.bars["SelfBuffs"],     3, 1, true, { 30, 64 }, { "0x700030AC", "0x70020DF5" });
141 Kragenwar-3044
    self.skills["DeepBreath"]                   = SkillSlot(self.bars["SelfBuffs"],     4, 1, true, 34, "0x700030A8");
142 Kragenwar-3044
    self.skills["IgnoreThePain"]                = SkillSlot(self.bars["SelfBuffs"],     5, 1, true, 44, "0x70021663");
143 Kragenwar-3044
    self.skills["Charge"]                               = SkillSlot(self.bars["SelfBuffs"],     6, 1, true, { 48, 62 }, { "0x7000DD14", "0x7001F4B6" });
144 Kragenwar-3044
 
145 Kragenwar-3044
    self.skills["Protection"]                   = SkillSlot(self.bars["Protect"],               1, 1, true, 24, "0x7000309A");
146 Kragenwar-3044
        self.skills["ShieldWall"]                       = SkillSlot(self.bars["Protect"],               2, 1, true, 50, "0x7000D4AE");
147 Kragenwar-3044
 
148 Kragenwar-3044
    self.skills["ForcedOpening"]                = SkillSlot(self.bars["Overpower"],     1, 1, false, 30, "0x7000D4B0");
149 Kragenwar-3044
    self.skills["Stagger"]                              = SkillSlot(self.bars["Overpower"],     2, 1, false, 46, "0x7000D4B3");
150 Kragenwar-3044
    self.skills["BrutalAssault"]                = SkillSlot(self.bars["Overpower"],     3, 1, false, 56, "0x7000F158");
151 Kragenwar-3044
 
152 127 Valdacil-446
    self.skills["TurnTheTables"]                = SkillSlot(self.bars["Stunned"],               1, 1, false, { 36, 72 }, { "0x70003EE8", "0x70028B82" });
153 6 Kragenwar-3044
 
154 Kragenwar-3044
    self.skills["SummonTinker"]                 = SkillSlot(self.bars["Utility"],               1, 1, false, 26, "0x7000D4B4");
155 Kragenwar-3044
        self.skills["GuardiansPromise"]         = SkillSlot(self.bars["Utility"],               2, 1, true, 38, "0x70003EE9");
156 Kragenwar-3044
 
157 Kragenwar-3044
        self.skills["LetFly"]                           = SkillSlot(self.bars["Ranged"],                1, 1, true, 30, "0x70003E14");
158 49 Kragenwar-3044
 
159 78 Kragenwar-3044
        self.skills["OverpowerTactics"]         = ItemSlot(self.bars["ClassItems"],     1, 1, false, self.settings.quickslots["Tactics"]);
160 6 Kragenwar-3044
 
161 Kragenwar-3044
 
162 48 Kragenwar-3044
        -- Build Stance Slot
163 6 Kragenwar-3044
        self.multi["StanceSlot"]           = SkillMultiSlot(self.bars["Stances"], 1, 1, true);
164 127 Valdacil-446
        if (vars.playerlevel >= 74) then
165 Valdacil-446
                self.multi["StanceSlot"]:AddShortCut("GuardiansDefence",         74, "0x70028510");
166 Valdacil-446
        else
167 Valdacil-446
                self.multi["StanceSlot"]:AddShortCut("GuardiansDefence",         4, "0x70003EDF");
168 Valdacil-446
        end
169 6 Kragenwar-3044
    self.multi["StanceSlot"]:AddShortCut("GuardiansParry",              12, "0x70003EE3");
170 127 Valdacil-446
    self.multi["StanceSlot"]:AddShortCut("Overpower",                   10, "0x7000D4B1");
171 60 Kragenwar-3044
    if (self.settings.traits["ThreatStance"].active) then self.multi["StanceSlot"]:AddShortCut("GuardiansThreat",       41, "0x70002ED4"); end
172 6 Kragenwar-3044
    self.multi["StanceSlot"]:LevelCheck();
173 Kragenwar-3044
 
174 78 Kragenwar-3044
        -- Build Spike Slot
175 Kragenwar-3044
        self.multi["ShieldSpikes"]           = ItemMultiSlot(self.bars["ClassItems"], 1, 1, true);
176 Kragenwar-3044
        self.multi["ShieldSpikes"]:AddShortCut("Spikes1", self.settings.quickslots["Spike1"]);
177 Kragenwar-3044
    self.multi["ShieldSpikes"]:AddShortCut("Spikes2", self.settings.quickslots["Spike2"]);
178 Kragenwar-3044
    self.multi["ShieldSpikes"]:AddShortCut("Spikes3", self.settings.quickslots["Spike3"]);
179 Kragenwar-3044
        self.multi["ShieldSpikes"]:AddShortCut("Spikes4", self.settings.quickslots["Spike4"]);
180 Kragenwar-3044
        self.multi["ShieldSpikes"]:Refresh(true);
181 Kragenwar-3044
 
182 48 Kragenwar-3044
        -- SET COMBAT STATES
183 Kragenwar-3044
        self.skills["ThrillOfDanger"]:SetCombat( true, false );
184 Kragenwar-3044
        self.skills["GuardiansPromise"]:SetCombat( false, true );
185 Kragenwar-3044
        self.skills["SummonTinker"]:SetCombat( false, true );
186 Kragenwar-3044
 
187 66 Kragenwar-3044
        -- ITEM MANAGER
188 73 Kragenwar-3044
        --self.itemmanager = ItemManager();
189 Kragenwar-3044
        --self.itemmanager:RegisterItem("spike Kit", { "Expert","Resiliant Expert","Artisan","Resiliant Artisan","Master","Resiliant Master","Supreme","Resiliant Supreme","Basic","Resiliant Basic","Improved","Resiliant Improved","Sharp","Resiliant Sharp","Deadly","Resiliant Deadly","Lethal","Resiliant Lethal" }, {"Recipe"}, self.skills["ShieldSpikes"]);
190 Kragenwar-3044
        --self.itemmanager:RegisterItem("Overpower Tactic", { "Journeyman","Skillful Journeyman","Expert","Skillful Expert","Artisan","Skillful Artisan","Master","Skillful Master","Supreme","Skillful Supreme" }, {"Recipe"}, self.skills["OverpowerTactics"]);
191 Kragenwar-3044
        --self.itemmanager:ParseItems();
192 66 Kragenwar-3044
 
193 48 Kragenwar-3044
        -- CLASS SPECIFIC SETUP/DEFAULT CODE
194 60 Kragenwar-3044
        self.windows["Overpower"]:SetZOrder(-10);
195 92 Kragenwar-3044
        self.windows["Block"]:SetZOrder(0);
196 48 Kragenwar-3044
 
197 Kragenwar-3044
        -- CLASS SPECIFIC EVENTS
198 Kragenwar-3044
 
199 Kragenwar-3044
        -- Stance Changed Event
200 6 Kragenwar-3044
        AddCallback(vars.classattr, "StanceChanged", function(sender, args)
201 Kragenwar-3044
                KragenBars:StanceChange(vars.classattr:GetStance());
202 Kragenwar-3044
        end);
203 Kragenwar-3044
 
204 48 Kragenwar-3044
        -- Block Changed Event
205 6 Kragenwar-3044
        AddCallback(vars.classattr, "IsBlockTier3AvailableChanged", function(sender, args)
206 Kragenwar-3044
                KragenBars:BlockChange(3, vars.classattr:IsBlockTier3Available());
207 Kragenwar-3044
        end);
208 48 Kragenwar-3044
 
209 Kragenwar-3044
        -- Parry Changed Event
210 6 Kragenwar-3044
        AddCallback(vars.classattr, "IsParryTier3AvailableChanged", function(sender, args)
211 Kragenwar-3044
                KragenBars:ParryChange(3, vars.classattr:IsParryTier3Available());
212 Kragenwar-3044
        end);
213 Kragenwar-3044
 
214 131 Valdacil-446
        if (vars.playerlevel >= 70) then
215 132 Valdacil-446
                self.skills["WhirlingRetaliation"]:SetParent(self.bars["ParryTier1"]);
216 Valdacil-446
                self.skills["WhirlingRetaliation"]:SetPosition(0,0);
217 131 Valdacil-446
        else
218 132 Valdacil-446
                self.skills["WhirlingRetaliation"]:SetParent(self.bars["ParryTier2"]);
219 Valdacil-446
                self.skills["WhirlingRetaliation"]:SetPosition(0,0);
220 131 Valdacil-446
        end
221 Valdacil-446
 
222 48 Kragenwar-3044
        -- INITIALIZE BARS
223 6 Kragenwar-3044
        self:InitBars();
224 Kragenwar-3044
        self:BlockChange(3, vars.classattr:IsBlockTier3Available());
225 Kragenwar-3044
        self:ParryChange(3, vars.classattr:IsParryTier3Available());
226 Kragenwar-3044
        self:StanceChange(vars.classattr:GetStance());
227 Kragenwar-3044
        self:CombatChange(vars.player:IsInCombat());
228 Kragenwar-3044
 
229 Kragenwar-3044
 
230 Kragenwar-3044
 
231 Kragenwar-3044
end
232 Kragenwar-3044
 
233 48 Kragenwar-3044
 
234 Kragenwar-3044
-- ADD EFFECT EVENT
235 6 Kragenwar-3044
function GuardianBars:AddEffect( effectIndex )
236 19 Kragenwar-3044
        local effect = vars.player:GetEffects():Get( effectIndex );
237 61 Kragenwar-3044
        local effectname = effect:GetName();
238 Kragenwar-3044
        local effectid = effect:GetID();
239 6 Kragenwar-3044
 
240 Kragenwar-3044
        -- Guardian's Ward
241 130 Valdacil-446
        if (effectname == self.effectlist["GuardiansWard"]:GetName() or effectname == self.effectlist["ImprovedGuardiansWard"]:GetName() or effectname == self.effectlist["GuardiansWardTactics"]:GetName() or effectname == self.effectlist["ImprovedGuardiansWardTactics"]:GetName()) then
242 61 Kragenwar-3044
        if (self.effectlist["GuardiansWard"]:SetState( true , effectid)) then
243 Kragenwar-3044
                        self.skills["GuardiansWard"]:SetActive(self.settings.defaults["WardActive"].selected < 3);
244 Kragenwar-3044
                        if (self.settings.defaults["WardActive"].selected == 2) then
245 Kragenwar-3044
                                self.skills["GuardiansWard"]:SetHover( true );
246 Kragenwar-3044
                        elseif (self.settings.defaults["WardActive"].selected == 4) then
247 Kragenwar-3044
                                self.skills["GuardiansWard"]:StartTimer( effect:GetDuration() * .70, true );
248 Kragenwar-3044
                        end
249 6 Kragenwar-3044
                end
250 Kragenwar-3044
 
251 61 Kragenwar-3044
        elseif (effectname == self.effectlist["BlockResponse"]:GetName()) then
252 Kragenwar-3044
                if (self.effectlist["BlockResponse"]:SetState( true, effectid)) then
253 Kragenwar-3044
                        if (not self.effectlist["ShieldSwipe"]:GetState()) then
254 Kragenwar-3044
                                self.skills["ShieldSwipe"]:SetActive(true);
255 Kragenwar-3044
                                self.skills["CatchABreath"]:SetActive(true);
256 Kragenwar-3044
                                self.skills["LitanyOfDefiance"]:SetActive(true);
257 Kragenwar-3044
                                if (vars.playerlevel >= 10) then
258 Kragenwar-3044
                                        self.bars["BlockTier1"]:SetZOrder(0);
259 Kragenwar-3044
                                        self.bars["BlockTier2"]:SetZOrder(-10);
260 Kragenwar-3044
                                end
261 10 Kragenwar-3044
                        end
262 6 Kragenwar-3044
                end
263 Kragenwar-3044
 
264 61 Kragenwar-3044
    elseif (effectname == self.effectlist["ShieldSwipe"]:GetName()) then
265 Kragenwar-3044
                if (self.effectlist["ShieldSwipe"]:SetState( true, effectid)) then
266 Kragenwar-3044
                        self.skills["ShieldSwipe"]:SetActive(false);
267 Kragenwar-3044
                        self.skills["CatchABreath"]:SetActive(false);
268 Kragenwar-3044
                        self.skills["LitanyOfDefiance"]:SetActive(false);
269 Kragenwar-3044
                        self.bars["BlockTier1"]:SetZOrder(-10);
270 Kragenwar-3044
                        self.bars["BlockTier2"]:SetZOrder(0);
271 Kragenwar-3044
                        self.skills["ShieldTaunt"]:SetActive(true);
272 Kragenwar-3044
                        self.skills["ShieldBash"]:SetActive(true);
273 Kragenwar-3044
                end
274 6 Kragenwar-3044
 
275 61 Kragenwar-3044
        elseif (effectname == self.effectlist["ParryResponse"]:GetName()) then
276 Kragenwar-3044
                if (self.effectlist["ParryResponse"]:SetState( true, effectid)) then
277 Kragenwar-3044
                        if (not self.effectlist["Retaliation"]:GetState()) then
278 Kragenwar-3044
                                self.skills["Retaliation"]:SetActive( true );
279 133 Valdacil-446
                                if (vars.playerlevel >= 70) then
280 Valdacil-446
                                        self.skills["WhirlingRetaliation"]:SetActive(true);
281 Valdacil-446
                                end
282 61 Kragenwar-3044
                                self.bars["ParryTier1"]:SetZOrder(0);
283 Kragenwar-3044
                                self.bars["ParryTier2"]:SetZOrder(-10);
284 Kragenwar-3044
                        end
285 6 Kragenwar-3044
                end
286 Kragenwar-3044
 
287 61 Kragenwar-3044
    elseif (effectname == self.effectlist["Retaliation"]:GetName()) then
288 Kragenwar-3044
                if (self.effectlist["Retaliation"]:SetState( true, effectid)) then
289 Kragenwar-3044
                        self.skills["Retaliation"]:SetActive( false );
290 Kragenwar-3044
                        self.bars["ParryTier1"]:SetZOrder(-10);
291 Kragenwar-3044
                        self.bars["ParryTier2"]:SetZOrder(0);
292 Kragenwar-3044
                        self.skills["Overwhelm"]:SetActive( true );
293 Kragenwar-3044
                        self.skills["Thrust"]:SetActive( true );
294 133 Valdacil-446
                        if (vars.playerlevel < 70) then
295 Valdacil-446
                                self.skills["WhirlingRetaliation"]:SetActive( true );
296 Valdacil-446
                        end
297 61 Kragenwar-3044
                end
298 6 Kragenwar-3044
 
299 Kragenwar-3044
        -- Stunned, Dazed, Knocked Down
300 61 Kragenwar-3044
        elseif (effectname == self.effectlist["Stunned"]:GetName() or effectname == self.effectlist["Dazed"]:GetName() or effectname == self.effectlist["KnockedDown"]:GetName()) then
301 Kragenwar-3044
        if (self.effectlist["Stunned"]:SetState( true , effectid)) then
302 Kragenwar-3044
                        self.skills["TurnTheTables"]:SetActive( true );
303 Kragenwar-3044
                end
304 6 Kragenwar-3044
 
305 Kragenwar-3044
        -- Stance Change
306 61 Kragenwar-3044
        elseif (effectname == self.effectlist["Overpower"]:GetName()) then
307 Kragenwar-3044
                if (self.effectlist["Overpower"]:SetState( true, effectid )) then
308 Kragenwar-3044
                        self.windows["Overpower"]:SetZOrder(0);
309 Kragenwar-3044
                        self.windows["Block"]:SetZOrder(-10);
310 Kragenwar-3044
                        self.skills["ForcedOpening"]:SetActive( true );
311 Kragenwar-3044
                        self.skills["Stagger"]:SetActive( true );
312 Kragenwar-3044
                        self.skills["BrutalAssault"]:SetActive( true );
313 66 Kragenwar-3044
                        self.skills["OverpowerTactics"]:SetActive( true );
314 Kragenwar-3044
                        self.skills["OverpowerTactics"]:SetZOrder( 0 );
315 61 Kragenwar-3044
                        self.skills["ShieldBlow"]:SetActive( false );
316 Kragenwar-3044
                        self.skills["ShieldWall"]:SetActive( false );
317 78 Kragenwar-3044
                        self.multi["ShieldSpikes"]:SetActive( false );
318 Kragenwar-3044
                        self.multi["ShieldSpikes"]:SetZOrder( -10 );
319 61 Kragenwar-3044
                end
320 6 Kragenwar-3044
 
321 61 Kragenwar-3044
        elseif (effectname == self.effectlist["Campsite"]:GetName()) then
322 Kragenwar-3044
                if (self.effectlist["Campsite"]:SetState( true, effectid )) then
323 Kragenwar-3044
                        self.skills["SummonTinker"]:SetActive( true );
324 Kragenwar-3044
                end
325 6 Kragenwar-3044
 
326 61 Kragenwar-3044
    elseif (string.find(effectname, self.effectlist["ShieldSpikes"]:GetName()) ~= nil ) then
327 Kragenwar-3044
                if (self.effectlist["ShieldSpikes"]:SetState( true, effectid )) then
328 127 Valdacil-446
                        self.multi["ShieldSpikes"]:SetHover(true);
329 61 Kragenwar-3044
                end
330 6 Kragenwar-3044
 
331 Kragenwar-3044
        -- Wound
332 19 Kragenwar-3044
        elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Wound ) then
333 6 Kragenwar-3044
                self.wound = self.wound + 1;
334 127 Valdacil-446
                if (settings.skilldata["IgnoreThePain"].parent ~= nil and vars.playerlevel >= self.skills["IgnoreThePain"].level[1] and self.settings.features["WoundIndicator"].active) then
335 Valdacil-446
                        if (self.settings.userconf[settings.skilldata["IgnoreThePain"].parent].active) then
336 129 Valdacil-446
                                self.skills["IgnoreThePain"]:SetColor("red");
337 127 Valdacil-446
                        end
338 6 Kragenwar-3044
                end
339 Kragenwar-3044
 
340 Kragenwar-3044
    end
341 Kragenwar-3044
end
342 Kragenwar-3044
 
343 48 Kragenwar-3044
-- REMOVE EFFECT EVENT
344 6 Kragenwar-3044
function GuardianBars:RemoveEffect( effect )
345 61 Kragenwar-3044
        local effectname = effect:GetName();
346 Kragenwar-3044
        local effectid = effect:GetID();
347 Kragenwar-3044
 
348 6 Kragenwar-3044
        -- Guardian's Ward
349 130 Valdacil-446
        if (effectname == self.effectlist["GuardiansWard"]:GetName() or effectname == self.effectlist["ImprovedGuardiansWard"]:GetName() or effectname == self.effectlist["GuardiansWardTactics"]:GetName() or effectname == self.effectlist["ImprovedGuardiansWardTactics"]:GetName()) then
350 61 Kragenwar-3044
        if (not self.effectlist["GuardiansWard"]:SetState( false, effectid)) then
351 Kragenwar-3044
                self.skills["GuardiansWard"]:SetActive( true );
352 19 Kragenwar-3044
                        self.skills["GuardiansWard"]:SetHover( false );
353 Kragenwar-3044
                end
354 6 Kragenwar-3044
 
355 61 Kragenwar-3044
    elseif (effectname == self.effectlist["BlockResponse"]:GetName()) then
356 Kragenwar-3044
                if (not self.effectlist["BlockResponse"]:SetState( false, effectid )) then
357 6 Kragenwar-3044
                        self.skills["ShieldSwipe"]:SetActive(false);
358 Kragenwar-3044
                        self.skills["CatchABreath"]:SetActive(false);
359 Kragenwar-3044
                        self.skills["LitanyOfDefiance"]:SetActive(false);
360 Kragenwar-3044
                end
361 Kragenwar-3044
 
362 61 Kragenwar-3044
    elseif (effectname == self.effectlist["ShieldSwipe"]:GetName()) then
363 Kragenwar-3044
        if (not self.effectlist["ShieldSwipe"]:SetState( false, effectid )) then
364 6 Kragenwar-3044
                        self.skills["ShieldTaunt"]:SetActive(false);
365 Kragenwar-3044
                        self.skills["ShieldBash"]:SetActive(false);
366 61 Kragenwar-3044
                        if (self.effectlist["BlockResponse"]:GetState()) then
367 6 Kragenwar-3044
                                self.skills["ShieldSwipe"]:SetActive(true);
368 Kragenwar-3044
                                self.skills["CatchABreath"]:SetActive(true);
369 Kragenwar-3044
                                self.skills["LitanyOfDefiance"]:SetActive(true);
370 Kragenwar-3044
                                self.bars["BlockTier1"]:SetZOrder(0);
371 Kragenwar-3044
                                self.bars["BlockTier2"]:SetZOrder(-10);
372 Kragenwar-3044
                        end
373 Kragenwar-3044
                end
374 Kragenwar-3044
 
375 61 Kragenwar-3044
        elseif (effectname == self.effectlist["ParryResponse"]:GetName()) then
376 Kragenwar-3044
                if (not self.effectlist["ParryResponse"]:SetState( false, effectid )) then
377 6 Kragenwar-3044
                        self.skills["Retaliation"]:SetActive(false);
378 133 Valdacil-446
                        if (vars.playerlevel >= 70) then
379 Valdacil-446
                                self.skills["WhirlingRetaliation"]:SetActive(false);
380 Valdacil-446
                        end
381 6 Kragenwar-3044
                end
382 Kragenwar-3044
 
383 61 Kragenwar-3044
    elseif (effectname == self.effectlist["Retaliation"]:GetName()) then
384 Kragenwar-3044
        if (not self.effectlist["Retaliation"]:SetState( false, effectid )) then
385 6 Kragenwar-3044
                        self.skills["Overwhelm"]:SetActive(false);
386 Kragenwar-3044
                        self.skills["Thrust"]:SetActive(false);
387 133 Valdacil-446
                        if (vars.playerlevel < 70) then
388 Valdacil-446
                                self.skills["WhirlingRetaliation"]:SetActive(false);
389 Valdacil-446
                        end
390 61 Kragenwar-3044
                        if (self.effectlist["ParryResponse"]:GetState()) then
391 6 Kragenwar-3044
                                self.skills["Retaliation"]:SetActive(true);
392 133 Valdacil-446
                                if (vars.playerlevel >= 70) then
393 Valdacil-446
                                        self.skills["WhirlingRetaliation"]:SetActive(true);
394 Valdacil-446
                                end
395 6 Kragenwar-3044
                                self.bars["ParryTier1"]:SetZOrder(0);
396 Kragenwar-3044
                                self.bars["ParryTier2"]:SetZOrder(-10);
397 Kragenwar-3044
                        end
398 Kragenwar-3044
                end
399 Kragenwar-3044
 
400 Kragenwar-3044
        -- Stunned, Dazed or Knocked Down
401 61 Kragenwar-3044
        elseif (effectname == self.effectlist["Stunned"]:GetName() or effectname == self.effectlist["Dazed"]:GetName() or effectname == self.effectlist["KnockedDown"]:GetName()) then
402 Kragenwar-3044
        if (not self.effectlist["Stunned"]:SetState( false , effectid )) then
403 Kragenwar-3044
                        self.skills["TurnTheTables"]:SetActive( false );
404 Kragenwar-3044
                end
405 6 Kragenwar-3044
 
406 48 Kragenwar-3044
    -- Overpower
407 61 Kragenwar-3044
        elseif (effectname == self.effectlist["Overpower"]:GetName()) then
408 Kragenwar-3044
                if (not self.effectlist["Overpower"]:SetState( false, effectid )) then
409 6 Kragenwar-3044
                        self.windows["Overpower"]:SetZOrder(-10);
410 Kragenwar-3044
                self.windows["Block"]:SetZOrder(0);
411 Kragenwar-3044
                self.skills["ForcedOpening"]:SetActive( false );
412 Kragenwar-3044
                        self.skills["Stagger"]:SetActive( false );
413 Kragenwar-3044
                        self.skills["BrutalAssault"]:SetActive( false );
414 66 Kragenwar-3044
                        self.skills["OverpowerTactics"]:SetActive( false );
415 Kragenwar-3044
                        self.skills["OverpowerTactics"]:SetZOrder( -10 );
416 6 Kragenwar-3044
                        self.skills["ShieldBlow"]:SetActive( true );
417 Kragenwar-3044
                        self.skills["ShieldWall"]:SetActive( true );
418 78 Kragenwar-3044
                        self.multi["ShieldSpikes"]:SetActive( true );
419 Kragenwar-3044
                        self.multi["ShieldSpikes"]:SetZOrder( 0 );
420 6 Kragenwar-3044
                end
421 Kragenwar-3044
 
422 48 Kragenwar-3044
        -- Summon Tinker Available
423 61 Kragenwar-3044
        elseif (effectname == self.effectlist["Campsite"]:GetName()) then
424 Kragenwar-3044
                if (not self.effectlist["Campsite"]:SetState(false, effectid )) then
425 Kragenwar-3044
                        self.skills["SummonTinker"]:SetActive( false );
426 Kragenwar-3044
                end
427 48 Kragenwar-3044
 
428 Kragenwar-3044
        -- Shield Spikes Used
429 61 Kragenwar-3044
    elseif (string.find(effectname, self.effectlist["ShieldSpikes"]:GetName()) ~= nil ) then
430 Kragenwar-3044
                if (not self.effectlist["ShieldSpikes"]:SetState(false, effectid )) then
431 127 Valdacil-446
                        self.multi["ShieldSpikes"]:SetHover(false);
432 61 Kragenwar-3044
                end
433 6 Kragenwar-3044
 
434 Kragenwar-3044
        -- Wound
435 Kragenwar-3044
        elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Wound ) then
436 Kragenwar-3044
                self.wound = self.wound - 1;
437 Kragenwar-3044
                if (self.wound == 0) then
438 Kragenwar-3044
                        self.skills["IgnoreThePain"]:SetColor();
439 Kragenwar-3044
                end
440 Kragenwar-3044
 
441 Kragenwar-3044
        end
442 Kragenwar-3044
end
443 Kragenwar-3044
 
444 Kragenwar-3044
 
445 48 Kragenwar-3044
-- STANCE CHANGED EVENT
446 Kragenwar-3044
function GuardianBars:StanceChange(stance)
447 6 Kragenwar-3044
        -- PRIMARY STANCE SWITCHING
448 60 Kragenwar-3044
        if (self.settings.features["StancePriority"].active) then
449 127 Valdacil-446
 
450 6 Kragenwar-3044
                local newstance = 0;
451 Kragenwar-3044
 
452 Kragenwar-3044
                if (stance == 3) then
453 Kragenwar-3044
                        newstance = 4;
454 Kragenwar-3044
                elseif (stance == 4) then
455 Kragenwar-3044
                        newstance = 3;
456 Kragenwar-3044
                else
457 Kragenwar-3044
                    newstance = stance;
458 Kragenwar-3044
                end
459 Kragenwar-3044
 
460 60 Kragenwar-3044
                if (newstance == self.settings.defaults["PrimaryStance"].selected) then
461 Kragenwar-3044
                        self.multi["StanceSlot"]:SetIndex(self.settings.defaults["SecondaryStance"].selected);
462 6 Kragenwar-3044
                else
463 60 Kragenwar-3044
                    self.multi["StanceSlot"]:SetIndex(self.settings.defaults["PrimaryStance"].selected);
464 6 Kragenwar-3044
                end
465 Kragenwar-3044
        end
466 Kragenwar-3044
 
467 Kragenwar-3044
        -- HOVER/DISAPPEAR SWITCHING
468 10 Kragenwar-3044
        if (stance == 0) then
469 Kragenwar-3044
                self.multi["StanceSlot"]:SetHover( false );
470 Kragenwar-3044
                self.multi["StanceSlot"]:SetActive( true );
471 Kragenwar-3044
        else
472 60 Kragenwar-3044
                self.multi["StanceSlot"]:SetActive( self.settings.defaults["StanceActive"].selected ~= 3);
473 Kragenwar-3044
        self.multi["StanceSlot"]:SetHover( self.settings.defaults["StanceActive"].selected == 2 );
474 6 Kragenwar-3044
        end
475 Kragenwar-3044
end
476 Kragenwar-3044
 
477 48 Kragenwar-3044
-- BLOCK CHANGED EVENT
478 6 Kragenwar-3044
function GuardianBars:BlockChange(tier, state)
479 Kragenwar-3044
        if (tier == 3) then
480 60 Kragenwar-3044
                self.skills["ShieldSmash"]:SetActive( state and self.settings.traits["ShieldSmash"].active );
481 6 Kragenwar-3044
        end
482 Kragenwar-3044
end
483 Kragenwar-3044
 
484 48 Kragenwar-3044
-- PARRY CHANGED EVENT
485 6 Kragenwar-3044
function GuardianBars:ParryChange(tier, state)
486 Kragenwar-3044
    if (tier == 3) then
487 60 Kragenwar-3044
                self.skills["ToTheKing"]:SetActive( state and self.settings.traits["ToTheKing"].active );
488 6 Kragenwar-3044
        end
489 Kragenwar-3044
end
490 Kragenwar-3044
 
491 48 Kragenwar-3044
-- DEFAULT SETTINGS
492 6 Kragenwar-3044
function GuardianBars:DefaultSettings()
493 60 Kragenwar-3044
        self.settings = { preconf = { }, userconf = { }, traits = { }, features = { }, defaults = { }, quickslots = { } };
494 6 Kragenwar-3044
 
495 63 Kragenwar-3044
        self.settings.preconf["Block"]                  = { id = 1,     name = "Block Reactives",       defpos = {1,3},         size={4,1}, pos = {0,0}, combat = {true,true}, active = true };
496 89 Kragenwar-3044
        self.settings.preconf["Parry"]                  = { id = 2,     name = "Parry Reactives",       defpos = {1,2},         size={4,1}, pos = {0,0}, combat = {true,true}, active = true };
497 63 Kragenwar-3044
        self.settings.preconf["Overpower"]              = { id = 3,     name = "Overpower",             defpos = {1,3},         size={3,1}, pos = {0,0}, combat = {true,true}, active = true };
498 6 Kragenwar-3044
 
499 63 Kragenwar-3044
        self.settings.userconf["Ward"]                  = { id = 4,     name = "Ward",                          defpos = {1,4},         size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
500 89 Kragenwar-3044
        self.settings.userconf["Melee"]                 = { id = 5,     name = "Melee",                         defpos = {2,4},         size={7,1}, pos = {0,0}, combat = {true,true}, active = true };
501 102 Kragenwar-3044
        self.settings.userconf["Taunt"]                 = { id = 6,     name = "Taunt",                         defpos = {6,3},         size={4,1}, pos = {0,0}, combat = {true,true}, active = true };
502 89 Kragenwar-3044
        self.settings.userconf["SelfBuffs"]     = { id = 7,     name = "Self Buffs",            defpos = {1,1},         size={6,1}, pos = {0,0}, combat = {true,true}, active = true };
503 63 Kragenwar-3044
        self.settings.userconf["Protect"]               = { id = 8,     name = "Protect",                       defpos = {6,2},         size={2,1}, pos = {0,0}, combat = {true,true}, active = true };
504 Kragenwar-3044
        self.settings.userconf["Stances"]               = { id = 9,     name = "Stances",                       defpos = {12,3},        size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
505 Kragenwar-3044
        self.settings.userconf["Stunned"]               = { id = 10,    name = "Stunned",                       defpos = {12,2},        size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
506 Kragenwar-3044
        self.settings.userconf["Utility"]               = { id = 11,    name = "Utility",                       defpos = {8,1},         size={2,1}, pos = {0,0}, combat = {true,true}, active = true };
507 Kragenwar-3044
        self.settings.userconf["Ranged"]                = { id = 12,    name = "Ranged",                        defpos = {12,4},        size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
508 66 Kragenwar-3044
        self.settings.userconf["ClassItems"]    = { id = 13,    name = "Class Items",           defpos = {12,1},        size={1,1}, pos = {0,0}, combat = {true,true}, active = true };
509 60 Kragenwar-3044
 
510 Kragenwar-3044
        self.settings.traits["ToTheKing"]                               = { id = 1, name = 'To The King', active = false };
511 Kragenwar-3044
        self.settings.traits["ShieldSmash"]                     = { id = 2, name = 'Shield Smash', active = false };
512 Kragenwar-3044
        self.settings.traits["ThreatStance"]                    = { id = 3, name = 'Threat Stance', active = false };
513 Kragenwar-3044
        self.settings.traits["ChallengeTheDarkness"]    = { id = 4, name = 'Challenge The Darkness', active = false };
514 6 Kragenwar-3044
 
515 60 Kragenwar-3044
        self.settings.features["StancePriority"] = { id = 1, name = 'Stance Priority', active = true };
516 Kragenwar-3044
        self.settings.features["WoundIndicator"] = { id = 2, name = 'Wound Indicator', active = true };
517 6 Kragenwar-3044
 
518 60 Kragenwar-3044
        self.settings.defaults["PrimaryStance"]         = { id = 1, name = 'Primary Stance', selected = 1, list = { "Guardian's Defence", "Guardian's Parry", "Overpower", "Threat" } };
519 Kragenwar-3044
        self.settings.defaults["SecondaryStance"]       = { id = 2, name = 'Secondary Stance', selected = 3, list = { "Guardian's Defence", "Guardian's Parry", "Overpower", "Threat" } };
520 Kragenwar-3044
        self.settings.defaults["StanceActive"]          = { id = 3, name = 'Stance Active', selected = 2, list = { "None", "Dim", "Hide" } };
521 Kragenwar-3044
        self.settings.defaults["WardActive"]            = { id = 4, name = 'Guardians Ward Active', selected = 4, list = { "None", "Dim", "Hide", "Early Warning" } };
522 6 Kragenwar-3044
 
523 60 Kragenwar-3044
        self.settings.quickslots["Spike1"]              = {id = 1, name = "Shield Spikes 1", active = false, type = 0, data = ""};
524 Kragenwar-3044
        self.settings.quickslots["Spike2"]              = {id = 2, name = "Shield Spikes 2", active = false, type = 0, data = ""};
525 Kragenwar-3044
        self.settings.quickslots["Spike3"]              = {id = 3, name = "Shield Spikes 3", active = false, type = 0, data = ""};
526 Kragenwar-3044
        self.settings.quickslots["Spike4"]              = {id = 4, name = "Shield Spikes 4", active = false, type = 0, data = ""};
527 Kragenwar-3044
        self.settings.quickslots["Tactics"]             = {id = 5, name = "Overpower Tactics", active = false, type = 0, data = ""};
528 6 Kragenwar-3044
 
529 Kragenwar-3044
end
530 Kragenwar-3044
 
531 48 Kragenwar-3044
-- UPDATE SETTINGS
532 6 Kragenwar-3044
function GuardianBars:UpdateSettings()
533 10 Kragenwar-3044
        if (settings.vers < 3.01) then
534 Kragenwar-3044
 
535 60 Kragenwar-3044
                if (self.settings["Features"].wardwarning) then self.settings.defaults["WardActive"].selected = 4; else self.settings.defaults["WardActive"].selected = 3; end
536 Kragenwar-3044
                if (self.settings["Features"].stancehover) then self.settings.defaults["StanceActive"].selected = 2; else if (self.settings["Features"].stancedisappear) then self.settings.defaults["StanceActive"].selected = 3; else self.settings.defaults["StanceActive"].selected = 1; end end
537 10 Kragenwar-3044
 
538 Kragenwar-3044
                self.settings["Features"].wardwarning = nil;
539 Kragenwar-3044
                self.settings["Features"].stancehover = nil;
540 Kragenwar-3044
                self.settings["Features"].stancedisappear = nil;
541 Kragenwar-3044
        end
542 49 Kragenwar-3044
 
543 Kragenwar-3044
        if (settings.vers < 3.20) then
544 Kragenwar-3044
                self.settings["Quickslots"].tactics = {active = false, type = 0, data = "" }
545 Kragenwar-3044
        end
546 60 Kragenwar-3044
 
547 113 Kragenwar-3044
        if (settings.vers < 4.00) then
548 60 Kragenwar-3044
                local oldclassinfo = self.settings;
549 Kragenwar-3044
                self:DefaultSettings();
550 Kragenwar-3044
                for k,v in pairs(oldclassinfo) do
551 Kragenwar-3044
                        if (k ~= "Features" and k ~= "Quickslots") then
552 Kragenwar-3044
                                if (self.settings.preconf[k] == nil) then
553 Kragenwar-3044
                                        if (self.settings.userconf[k] ~= nil) then
554 63 Kragenwar-3044
                                                self.settings.userconf[k].pos = { v.x, v.y };
555 Kragenwar-3044
                                                self.settings.userconf[k].combat = { true, true };
556 60 Kragenwar-3044
                                                self.settings.userconf[k].active = v.active;
557 Kragenwar-3044
                                        end
558 Kragenwar-3044
                                else
559 63 Kragenwar-3044
                                        self.settings.preconf[k].pos = { v.x, v.y };
560 Kragenwar-3044
                                        self.settings.preconf[k].combat = { true, true };
561 60 Kragenwar-3044
                                        self.settings.preconf[k].active = v.active;
562 Kragenwar-3044
                                end
563 Kragenwar-3044
                        elseif (k == "Features") then
564 Kragenwar-3044
                                for key, value in pairs(v) do
565 Kragenwar-3044
                                        if (key == 'totheking') then
566 Kragenwar-3044
                                                self.settings.traits["ToTheKing"].active = value;
567 Kragenwar-3044
                                        elseif (key == 'shieldsmash') then
568 Kragenwar-3044
                                                self.settings.traits["ShieldSmash"].active = value;
569 Kragenwar-3044
                                        elseif (key == 'darkness') then
570 Kragenwar-3044
                                                self.settings.traits["ChallengeTheDarkness"].active = value;
571 Kragenwar-3044
                                        elseif (key == 'threat') then
572 Kragenwar-3044
                                                self.settings.traits["ThreatStance"].active = value;
573 Kragenwar-3044
                                        elseif (key == 'woundindicator') then
574 Kragenwar-3044
                                                self.settings.features["WoundIndicator"].active = value;
575 Kragenwar-3044
                                        elseif (key == 'stancepriority') then
576 Kragenwar-3044
                                                self.settings.features["StancePriority"].active = value;
577 Kragenwar-3044
                                        elseif (key == 'stanceactive') then
578 Kragenwar-3044
                                                self.settings.defaults["StanceActive"].selected = value;
579 Kragenwar-3044
                                        elseif (key == 'wardactive') then
580 Kragenwar-3044
                                                self.settings.defaults["WardActive"].selected = value;
581 Kragenwar-3044
                                        elseif (key == 'stanceactive') then
582 Kragenwar-3044
                                                self.settings.defaults["PrimaryStance"].selected = value;
583 Kragenwar-3044
                                        elseif (key == 'secondarystance') then
584 Kragenwar-3044
                                                self.settings.defaults["SecondaryStance"].selected = value;
585 Kragenwar-3044
                                        end
586 Kragenwar-3044
                                end
587 Kragenwar-3044
                        elseif (k == "Quickslots") then
588 Kragenwar-3044
                                for key, value in pairs(v) do
589 Kragenwar-3044
                                        if (key == 'spike1') then
590 Kragenwar-3044
                                                self.settings.quickslots["Spike1"].active = value.active;
591 Kragenwar-3044
                                                self.settings.quickslots["Spike1"].type = value.type;
592 Kragenwar-3044
                                                self.settings.quickslots["Spike1"].data = value.data;
593 Kragenwar-3044
                                        elseif (key == 'spike2') then
594 Kragenwar-3044
                                                self.settings.quickslots["Spike2"].active = value.active;
595 Kragenwar-3044
                                                self.settings.quickslots["Spike2"].type = value.type;
596 Kragenwar-3044
                                                self.settings.quickslots["Spike2"].data = value.data;
597 Kragenwar-3044
                                        elseif (key == 'spike3') then
598 Kragenwar-3044
                                                self.settings.quickslots["Spike3"].active = value.active;
599 Kragenwar-3044
                                                self.settings.quickslots["Spike3"].type = value.type;
600 Kragenwar-3044
                                                self.settings.quickslots["Spike3"].data = value.data;
601 Kragenwar-3044
                                        elseif (key == 'spike4') then
602 Kragenwar-3044
                                                self.settings.quickslots["Spike4"].active = value.active;
603 Kragenwar-3044
                                                self.settings.quickslots["Spike4"].type = value.type;
604 Kragenwar-3044
                                                self.settings.quickslots["Spike4"].data = value.data;
605 Kragenwar-3044
                                        end
606 Kragenwar-3044
                                end
607 Kragenwar-3044
                        end
608 Kragenwar-3044
                end
609 89 Kragenwar-3044
                if (settings.skilldata["SaltTheWound"] ~= nil) then
610 Kragenwar-3044
                        settings.skilldata["SaltTheWound"].parent = "Melee";
611 Kragenwar-3044
                        settings.skilldata["SaltTheWound"].pos = {7, 1};
612 Kragenwar-3044
                end
613 Kragenwar-3044
                if (settings.multidata["ShieldSpikes"] ~= nil) then
614 Kragenwar-3044
                        settings.multidata["ShieldSpikes"].parent = "ClassItems";
615 Kragenwar-3044
                        settings.multidata["ShieldSpikes"].pos = {1, 1};
616 Kragenwar-3044
                end
617 Kragenwar-3044
                if (settings.skilldata["OverpowerTactics"] ~= nil) then
618 Kragenwar-3044
                        settings.skilldata["OverpowerTactics"].parent = "ClassItems";
619 Kragenwar-3044
                        settings.skilldata["OverpowerTactics"].pos = {1, 1};
620 Kragenwar-3044
                end
621 Kragenwar-3044
                settings.skilldata["SaltTheWound"].parent = "Melee";
622 Kragenwar-3044
                settings.skilldata["SaltTheWound"].pos = {7, 1};
623 61 Kragenwar-3044
                if (self.settings.userconf["Taunt"] ~= nil) then self.settings.userconf["Taunt"].defpo = { 8,4 }; end
624 89 Kragenwar-3044
                if (self.settings.userconf["SelfBuffs"] ~= nil) then self.settings.userconf["SelfBuffs"].size = { 6,1 }; end
625 Kragenwar-3044
                if (self.settings.userconf["Melee"] ~= nil) then self.settings.userconf["Melee"].size = { 7,1 }; end
626 Kragenwar-3044
                if (self.settings.preconf["Parry"] ~= nil) then self.settings.preconf["Parry"].size = { 4,1 }; end
627 111 Kragenwar-3044
                if (self.settings.userconf["ClassItems"] ~= nil) then self.settings.userconf["ClassItems"].size = { 1,1 }; end
628 60 Kragenwar-3044
        end
629 89 Kragenwar-3044
 
630 131 Valdacil-446
        if (settings.vers < 5.04) then
631 Valdacil-446
                if (vars.playerlevel >= 70) then
632 Valdacil-446
                        settings.skilldata["WhirlingRetaliation"] = { parent = "ParryTier1", pos = { 1, 1 } };
633 Valdacil-446
                else
634 Valdacil-446
                        settings.skilldata["WhirlingRetaliation"] = { parent = "ParryTier2", pos = { 1, 1 } };
635 Valdacil-446
                end
636 Valdacil-446
                settings.skilldata["Retaliation"] = { parent = "ParryTier1", pos = { 2, 1 } };
637 Valdacil-446
                settings.skilldata["Overwhelm"] = { parent = "ParryTier2", pos = { 2, 1 } };
638 Valdacil-446
        end
639 Valdacil-446
 
640 10 Kragenwar-3044
        settings.vers = vars.vers;
641 6 Kragenwar-3044
 
642 Kragenwar-3044
end
643 Kragenwar-3044
 
644 48 Kragenwar-3044
-- REFRESH SKILLS AND BARS
645 6 Kragenwar-3044
function GuardianBars:Refresh()
646 Kragenwar-3044
 
647 48 Kragenwar-3044
        -- GENERIC REFRESH (Required for all classes)
648 6 Kragenwar-3044
        self:RefreshBars();
649 Kragenwar-3044
 
650 48 Kragenwar-3044
        -- REDEFINE EFFECTLIST IN CASE OF LANGUAGE CHANGE
651 Kragenwar-3044
        self.DefineEffectList();
652 Kragenwar-3044
 
653 Kragenwar-3044
        -- CLASS SPECIFIC REFRESH
654 Kragenwar-3044
    -- Setup Features
655 10 Kragenwar-3044
        self.skills["GuardiansWard"]:SetActive( true );
656 60 Kragenwar-3044
        if (self.settings.defaults["WardActive"].selected == 2) then
657 78 Kragenwar-3044
                self.skills["GuardiansWard"]:SetHover( self.effectlist["GuardiansWard"]:GetState() );
658 60 Kragenwar-3044
        elseif (self.settings.defaults["WardActive"].selected >= 3) then
659 78 Kragenwar-3044
                self.skills["GuardiansWard"]:SetActive( not self.effectlist["GuardiansWard"]:GetState() );
660 10 Kragenwar-3044
        end
661 78 Kragenwar-3044
 
662 Kragenwar-3044
        -- Reset Quickslots
663 Kragenwar-3044
        self.skills["OverpowerTactics"]:SetQuickslot(self.settings.quickslots["Tactics"]);
664 Kragenwar-3044
 
665 Kragenwar-3044
        self.multi["ShieldSpikes"]:Clear();
666 Kragenwar-3044
        self.multi["ShieldSpikes"]:AddShortCut("Spikes1", self.settings.quickslots["Spike1"]);
667 Kragenwar-3044
    self.multi["ShieldSpikes"]:AddShortCut("Spikes2", self.settings.quickslots["Spike2"]);
668 Kragenwar-3044
    self.multi["ShieldSpikes"]:AddShortCut("Spikes3", self.settings.quickslots["Spike3"]);
669 Kragenwar-3044
        self.multi["ShieldSpikes"]:AddShortCut("Spikes4", self.settings.quickslots["Spike4"]);
670 Kragenwar-3044
        self.multi["ShieldSpikes"]:Refresh(not self.effectlist["Overpower"]:GetState());
671 10 Kragenwar-3044
 
672 6 Kragenwar-3044
        -- Set State on Legendary Skills
673 60 Kragenwar-3044
        self.skills["ShieldSmash"]:SetActive(self.settings.traits["ShieldSmash"].active and vars.classattr:IsBlockTier3Available());
674 Kragenwar-3044
        self.skills["ToTheKing"]:SetActive(self.settings.traits["ToTheKing"].active and vars.classattr:IsParryTier3Available());
675 Kragenwar-3044
        self.skills["ChallengeTheDarkness"]:SetActive(self.settings.traits["ChallengeTheDarkness"].active);
676 6 Kragenwar-3044
 
677 48 Kragenwar-3044
        -- Rebuild Stance Slot
678 6 Kragenwar-3044
        self.multi["StanceSlot"]:Clear();
679 Kragenwar-3044
        self.multi["StanceSlot"]:AddShortCut("GuardiansDefence",         4, "0x70003EDF");
680 Kragenwar-3044
    self.multi["StanceSlot"]:AddShortCut("GuardiansParry",              12, "0x70003EE3");
681 63 Kragenwar-3044
    self.multi["StanceSlot"]:AddShortCut("Overpower",                   12, "0x7000D4B1");
682 60 Kragenwar-3044
    if (self.settings.traits["ThreatStance"].active) then self.multi["StanceSlot"]:AddShortCut("GuardiansThreat",       41, "0x70002ED4"); end
683 6 Kragenwar-3044
    self.multi["StanceSlot"]:LevelCheck();
684 Kragenwar-3044
 
685 48 Kragenwar-3044
        -- Set Wound Indicator
686 128 Valdacil-446
        if (settings.skilldata["IgnoreThePain"].parent ~= nil and vars.playerlevel >= self.skills["IgnoreThePain"].level[1] and self.settings.features["WoundIndicator"].active and self.wound > 0) then
687 127 Valdacil-446
                if (self.settings.userconf[settings.skilldata["IgnoreThePain"].parent].active) then
688 Valdacil-446
                        self.skills["IgnoreThePain"]:SetColor("green");
689 Valdacil-446
                end
690 6 Kragenwar-3044
        else
691 Kragenwar-3044
                self.skills["IgnoreThePain"]:SetColor();
692 Kragenwar-3044
        end
693 Kragenwar-3044
 
694 48 Kragenwar-3044
        -- Refresh States
695 6 Kragenwar-3044
        self:StanceChange(vars.classattr:GetStance());
696 Kragenwar-3044
        self:CombatChange(vars.player:IsInCombat());
697 92 Kragenwar-3044
 
698 Kragenwar-3044
        if (self.effectlist["Overpower"]:GetState()) then
699 Kragenwar-3044
                self.windows["Overpower"]:SetZOrder(0);
700 Kragenwar-3044
                self.windows["Block"]:SetZOrder(-10);
701 Kragenwar-3044
        else
702 Kragenwar-3044
                self.windows["Overpower"]:SetZOrder(-10);
703 Kragenwar-3044
                self.windows["Block"]:SetZOrder(0);
704 Kragenwar-3044
        end
705 6 Kragenwar-3044
 
706 60 Kragenwar-3044
        --Turbine.Shell.WriteLine("KragenBars: Guardian Bars refresh completed successfully.");
707 6 Kragenwar-3044
 
708 Kragenwar-3044
end

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


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