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