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