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 |
10 |
Kragenwar-3044 |
self.skills["GuardiansWard"]:SetState( true , self.settings["Features"].wardactive < 3, addedeffect:GetID()); |
174 |
|
Kragenwar-3044 |
if (self.settings["Features"].wardactive == 2) then |
175 |
|
Kragenwar-3044 |
self.skills["GuardiansWard"]:SetHover( true ); |
176 |
|
Kragenwar-3044 |
elseif (self.settings["Features"].wardactive == 4) then |
177 |
6 |
Kragenwar-3044 |
self.skills["GuardiansWard"]:StartTimer( addedeffect:GetDuration() * .70, true ); |
178 |
|
Kragenwar-3044 |
end |
179 |
|
Kragenwar-3044 |
|
180 |
|
Kragenwar-3044 |
elseif (addedeffect:GetName() == "Block Response") then |
181 |
|
Kragenwar-3044 |
self.bars["BlockTier1"]:SetState( true, addedeffect:GetID()); |
182 |
|
Kragenwar-3044 |
if (not self.bars["BlockTier2"].state) then |
183 |
|
Kragenwar-3044 |
self.skills["ShieldSwipe"]:SetActive(true); |
184 |
|
Kragenwar-3044 |
self.skills["CatchABreath"]:SetActive(true); |
185 |
|
Kragenwar-3044 |
self.skills["LitanyOfDefiance"]:SetActive(true); |
186 |
10 |
Kragenwar-3044 |
if (vars.playerlevel >= 10) then |
187 |
|
Kragenwar-3044 |
self.bars["BlockTier1"]:SetZOrder(0); |
188 |
|
Kragenwar-3044 |
self.bars["BlockTier2"]:SetZOrder(-10); |
189 |
|
Kragenwar-3044 |
end |
190 |
6 |
Kragenwar-3044 |
end |
191 |
|
Kragenwar-3044 |
|
192 |
|
Kragenwar-3044 |
elseif (addedeffect:GetName() == "Shield Swipe") then |
193 |
|
Kragenwar-3044 |
self.bars["BlockTier2"]:SetState( true, addedeffect:GetID()); |
194 |
|
Kragenwar-3044 |
self.skills["ShieldSwipe"]:SetActive(false); |
195 |
|
Kragenwar-3044 |
self.skills["CatchABreath"]:SetActive(false); |
196 |
|
Kragenwar-3044 |
self.skills["LitanyOfDefiance"]:SetActive(false); |
197 |
|
Kragenwar-3044 |
self.bars["BlockTier1"]:SetZOrder(-10); |
198 |
|
Kragenwar-3044 |
self.bars["BlockTier2"]:SetZOrder(0); |
199 |
|
Kragenwar-3044 |
self.skills["ShieldTaunt"]:SetActive(true); |
200 |
|
Kragenwar-3044 |
self.skills["ShieldBash"]:SetActive(true); |
201 |
|
Kragenwar-3044 |
|
202 |
|
Kragenwar-3044 |
elseif (addedeffect:GetName() == "Parry Response") then |
203 |
|
Kragenwar-3044 |
self.bars["ParryTier1"]:SetState( true, addedeffect:GetID()); |
204 |
|
Kragenwar-3044 |
if (not self.bars["ParryTier2"].state) then |
205 |
|
Kragenwar-3044 |
self.skills["Retaliation"]:SetActive( true ); |
206 |
|
Kragenwar-3044 |
self.bars["ParryTier1"]:SetZOrder(0); |
207 |
|
Kragenwar-3044 |
self.bars["ParryTier2"]:SetZOrder(-10); |
208 |
|
Kragenwar-3044 |
end |
209 |
|
Kragenwar-3044 |
|
210 |
|
Kragenwar-3044 |
elseif (addedeffect:GetName() == "Retaliation") then |
211 |
|
Kragenwar-3044 |
self.bars["ParryTier2"]:SetState( true, addedeffect:GetID()); |
212 |
|
Kragenwar-3044 |
self.skills["Retaliation"]:SetActive( false ); |
213 |
|
Kragenwar-3044 |
self.bars["ParryTier1"]:SetZOrder(-10); |
214 |
|
Kragenwar-3044 |
self.bars["ParryTier2"]:SetZOrder(0); |
215 |
|
Kragenwar-3044 |
self.skills["Overwhelm"]:SetActive( true ); |
216 |
|
Kragenwar-3044 |
self.skills["Thrust"]:SetActive( true ); |
217 |
|
Kragenwar-3044 |
self.skills["WhirlingRetaliation"]:SetActive( true ); |
218 |
|
Kragenwar-3044 |
|
219 |
|
Kragenwar-3044 |
-- Stunned, Dazed, Knocked Down |
220 |
|
Kragenwar-3044 |
elseif (addedeffect:GetName() == "Stunned" or addedeffect:GetName() == "Dazed" or addedeffect:GetName() == "Knocked Down") then |
221 |
|
Kragenwar-3044 |
self.skills["TurnTheTables"]:SetState( true , true, addedeffect:GetID()); |
222 |
|
Kragenwar-3044 |
|
223 |
|
Kragenwar-3044 |
-- Stance Change |
224 |
|
Kragenwar-3044 |
elseif (addedeffect:GetName() == "Overpower") then |
225 |
|
Kragenwar-3044 |
self.bars["Overpower"]:SetState( true, addedeffect:GetID() ); |
226 |
|
Kragenwar-3044 |
self.windows["Overpower"]:SetZOrder(0); |
227 |
|
Kragenwar-3044 |
self.windows["Block"]:SetZOrder(-10); |
228 |
|
Kragenwar-3044 |
self.skills["ForcedOpening"]:SetActive( true ); |
229 |
|
Kragenwar-3044 |
self.skills["Stagger"]:SetActive( true ); |
230 |
|
Kragenwar-3044 |
self.skills["BrutalAssault"]:SetActive( true ); |
231 |
|
Kragenwar-3044 |
self.skills["ShieldBlow"]:SetActive( false ); |
232 |
|
Kragenwar-3044 |
self.skills["Protection"]:SetActive( false ); |
233 |
|
Kragenwar-3044 |
self.skills["ShieldWall"]:SetActive( false ); |
234 |
|
Kragenwar-3044 |
|
235 |
|
Kragenwar-3044 |
elseif (addedeffect:GetName() == "Campsite") then |
236 |
|
Kragenwar-3044 |
self.skills["SummonTinker"]:SetState(true, true, addedeffect:GetID() ); |
237 |
|
Kragenwar-3044 |
|
238 |
10 |
Kragenwar-3044 |
elseif (addedeffect:GetName() == "Westernesse Spikes" or addedeffect:GetName() == "Beleriand Spikes" or addedeffect:GetName() == "Ancient-Dwarf Spikes" or addedeffect:GetName() == "Large Shield Spikes") then |
239 |
6 |
Kragenwar-3044 |
self.multi["ShieldSpikes"]:SetState(true, true, addedeffect:GetID() ); |
240 |
|
Kragenwar-3044 |
self.multi["ShieldSpikes"]:SetHover(true); |
241 |
|
Kragenwar-3044 |
|
242 |
|
Kragenwar-3044 |
-- Wound |
243 |
|
Kragenwar-3044 |
elseif (addedeffect:GetCategory() == Turbine.Gameplay.EffectCategory.Wound ) then |
244 |
|
Kragenwar-3044 |
self.wound = self.wound + 1; |
245 |
|
Kragenwar-3044 |
if (self.settings["Features"].woundindicator) then |
246 |
|
Kragenwar-3044 |
self.skills["IgnoreThePain"]:SetColor("red"); |
247 |
|
Kragenwar-3044 |
end |
248 |
|
Kragenwar-3044 |
|
249 |
|
Kragenwar-3044 |
|
250 |
|
Kragenwar-3044 |
end |
251 |
|
Kragenwar-3044 |
end |
252 |
|
Kragenwar-3044 |
|
253 |
|
Kragenwar-3044 |
function GuardianBars:RemoveEffect( effect ) |
254 |
|
Kragenwar-3044 |
|
255 |
|
Kragenwar-3044 |
-- SetState can be called on both bars and skills |
256 |
|
Kragenwar-3044 |
-- it will store the incoming effect id and flag the state |
257 |
|
Kragenwar-3044 |
-- SetState(effectstate:Boolean, effectid:int); |
258 |
|
Kragenwar-3044 |
|
259 |
|
Kragenwar-3044 |
-- Guardian's Ward |
260 |
|
Kragenwar-3044 |
if (effect:GetName() == "Guardian's Ward" or effect:GetName() == "Improved Guardian's Ward") then |
261 |
|
Kragenwar-3044 |
self.skills["GuardiansWard"]:SetState( false , true, effect:GetID()); |
262 |
10 |
Kragenwar-3044 |
self.skills["GuardiansWard"]:SetHover( false ); |
263 |
6 |
Kragenwar-3044 |
|
264 |
|
Kragenwar-3044 |
elseif (effect:GetName() == "Block Response") then |
265 |
|
Kragenwar-3044 |
self.bars["BlockTier1"]:SetState( false, effect:GetID()); |
266 |
|
Kragenwar-3044 |
if (not self.bars["BlockTier1"].state) then |
267 |
|
Kragenwar-3044 |
self.skills["ShieldSwipe"]:SetActive(false); |
268 |
|
Kragenwar-3044 |
self.skills["CatchABreath"]:SetActive(false); |
269 |
|
Kragenwar-3044 |
self.skills["LitanyOfDefiance"]:SetActive(false); |
270 |
|
Kragenwar-3044 |
end |
271 |
|
Kragenwar-3044 |
|
272 |
|
Kragenwar-3044 |
elseif (effect:GetName() == "Shield Swipe") then |
273 |
|
Kragenwar-3044 |
self.bars["BlockTier2"]:SetState( false, effect:GetID()); |
274 |
|
Kragenwar-3044 |
if (not self.bars["BlockTier2"].state) then |
275 |
|
Kragenwar-3044 |
self.skills["ShieldTaunt"]:SetActive(false); |
276 |
|
Kragenwar-3044 |
self.skills["ShieldBash"]:SetActive(false); |
277 |
|
Kragenwar-3044 |
if (self.bars["BlockTier1"].state) then |
278 |
|
Kragenwar-3044 |
self.skills["ShieldSwipe"]:SetActive(true); |
279 |
|
Kragenwar-3044 |
self.skills["CatchABreath"]:SetActive(true); |
280 |
|
Kragenwar-3044 |
self.skills["LitanyOfDefiance"]:SetActive(true); |
281 |
|
Kragenwar-3044 |
self.bars["BlockTier1"]:SetZOrder(0); |
282 |
|
Kragenwar-3044 |
self.bars["BlockTier2"]:SetZOrder(-10); |
283 |
|
Kragenwar-3044 |
end |
284 |
|
Kragenwar-3044 |
end |
285 |
|
Kragenwar-3044 |
|
286 |
|
Kragenwar-3044 |
elseif (effect:GetName() == "Parry Response") then |
287 |
|
Kragenwar-3044 |
self.bars["ParryTier1"]:SetState( false, effect:GetID()); |
288 |
|
Kragenwar-3044 |
if (not self.bars["ParryTier1"].state) then |
289 |
|
Kragenwar-3044 |
self.skills["Retaliation"]:SetActive(false); |
290 |
|
Kragenwar-3044 |
end |
291 |
|
Kragenwar-3044 |
|
292 |
|
Kragenwar-3044 |
elseif (effect:GetName() == "Retaliation") then |
293 |
|
Kragenwar-3044 |
self.bars["ParryTier2"]:SetState( false, effect:GetID()); |
294 |
|
Kragenwar-3044 |
if (not self.bars["ParryTier2"].state) then |
295 |
|
Kragenwar-3044 |
self.skills["Overwhelm"]:SetActive(false); |
296 |
|
Kragenwar-3044 |
self.skills["Thrust"]:SetActive(false); |
297 |
|
Kragenwar-3044 |
self.skills["WhirlingRetaliation"]:SetActive(false); |
298 |
|
Kragenwar-3044 |
if (self.bars["ParryTier1"].state) then |
299 |
|
Kragenwar-3044 |
self.skills["Retaliation"]:SetActive(true); |
300 |
|
Kragenwar-3044 |
self.bars["ParryTier1"]:SetZOrder(0); |
301 |
|
Kragenwar-3044 |
self.bars["ParryTier2"]:SetZOrder(-10); |
302 |
|
Kragenwar-3044 |
end |
303 |
|
Kragenwar-3044 |
end |
304 |
|
Kragenwar-3044 |
|
305 |
|
Kragenwar-3044 |
-- Stunned, Dazed or Knocked Down |
306 |
|
Kragenwar-3044 |
elseif (effect:GetName() == "Stunned" or effect:GetName() == "Dazed" or effect:GetName() == "Knocked Down") then |
307 |
|
Kragenwar-3044 |
self.skills["TurnTheTables"]:SetState( false , false, effect:GetID()); |
308 |
|
Kragenwar-3044 |
|
309 |
|
Kragenwar-3044 |
-- Stance Change |
310 |
|
Kragenwar-3044 |
elseif (effect:GetName() == "Overpower") then |
311 |
|
Kragenwar-3044 |
self.bars["Overpower"]:SetState( false, effect:GetID() ); |
312 |
|
Kragenwar-3044 |
if (not self.bars["Overpower"].state) then |
313 |
|
Kragenwar-3044 |
self.windows["Overpower"]:SetZOrder(-10); |
314 |
|
Kragenwar-3044 |
self.windows["Block"]:SetZOrder(0); |
315 |
|
Kragenwar-3044 |
self.skills["ForcedOpening"]:SetActive( false ); |
316 |
|
Kragenwar-3044 |
self.skills["Stagger"]:SetActive( false ); |
317 |
|
Kragenwar-3044 |
self.skills["BrutalAssault"]:SetActive( false ); |
318 |
|
Kragenwar-3044 |
self.skills["ShieldBlow"]:SetActive( true ); |
319 |
|
Kragenwar-3044 |
self.skills["Protection"]:SetActive( true ); |
320 |
|
Kragenwar-3044 |
self.skills["ShieldWall"]:SetActive( true ); |
321 |
|
Kragenwar-3044 |
end |
322 |
|
Kragenwar-3044 |
|
323 |
|
Kragenwar-3044 |
|
324 |
|
Kragenwar-3044 |
elseif (effect:GetName() == "Campsite") then |
325 |
|
Kragenwar-3044 |
self.skills["SummonTinker"]:SetState(false, false, effect:GetID() ); |
326 |
|
Kragenwar-3044 |
|
327 |
10 |
Kragenwar-3044 |
elseif (effect:GetName() == "Westernesse Spikes" or effect:GetName() == "Beleriand Spikes" or effect:GetName() == "Ancient Dwarf Spikes" or effect:GetName() == "Large Shield Spikes") then |
328 |
6 |
Kragenwar-3044 |
self.multi["ShieldSpikes"]:SetState(false, true, effect:GetID() ); |
329 |
|
Kragenwar-3044 |
self.multi["ShieldSpikes"]:SetHover(false); |
330 |
|
Kragenwar-3044 |
|
331 |
|
Kragenwar-3044 |
-- Wound |
332 |
|
Kragenwar-3044 |
elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Wound ) then |
333 |
|
Kragenwar-3044 |
self.wound = self.wound - 1; |
334 |
|
Kragenwar-3044 |
if (self.wound == 0) then |
335 |
|
Kragenwar-3044 |
self.skills["IgnoreThePain"]:SetColor(); |
336 |
|
Kragenwar-3044 |
end |
337 |
|
Kragenwar-3044 |
|
338 |
|
Kragenwar-3044 |
end |
339 |
|
Kragenwar-3044 |
end |
340 |
|
Kragenwar-3044 |
|
341 |
|
Kragenwar-3044 |
|
342 |
|
Kragenwar-3044 |
function GuardianBars:StanceChange(stance) |
343 |
|
Kragenwar-3044 |
|
344 |
|
Kragenwar-3044 |
-- PRIMARY STANCE SWITCHING |
345 |
|
Kragenwar-3044 |
if (self.settings["Features"].stancepriority) then |
346 |
|
Kragenwar-3044 |
local newstance = 0; |
347 |
|
Kragenwar-3044 |
|
348 |
|
Kragenwar-3044 |
if (stance == 3) then |
349 |
|
Kragenwar-3044 |
newstance = 4; |
350 |
|
Kragenwar-3044 |
elseif (stance == 4) then |
351 |
|
Kragenwar-3044 |
newstance = 3; |
352 |
|
Kragenwar-3044 |
else |
353 |
|
Kragenwar-3044 |
newstance = stance; |
354 |
|
Kragenwar-3044 |
end |
355 |
|
Kragenwar-3044 |
|
356 |
|
Kragenwar-3044 |
if (newstance == self.settings["Features"].primarystance) then |
357 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:SetIndex(self.settings["Features"].secondarystance); |
358 |
|
Kragenwar-3044 |
else |
359 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:SetIndex(self.settings["Features"].primarystance); |
360 |
|
Kragenwar-3044 |
end |
361 |
|
Kragenwar-3044 |
end |
362 |
|
Kragenwar-3044 |
|
363 |
|
Kragenwar-3044 |
-- HOVER/DISAPPEAR SWITCHING |
364 |
10 |
Kragenwar-3044 |
if (stance == 0) then |
365 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:SetHover( false ); |
366 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:SetActive( true ); |
367 |
|
Kragenwar-3044 |
else |
368 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:SetHover( self.settings["Features"].stanceactive == 2 ); |
369 |
|
Kragenwar-3044 |
if (self.settings["Features"].stanceactive == 3) then |
370 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:SetActive( false ); |
371 |
|
Kragenwar-3044 |
end |
372 |
6 |
Kragenwar-3044 |
end |
373 |
|
Kragenwar-3044 |
end |
374 |
|
Kragenwar-3044 |
|
375 |
|
Kragenwar-3044 |
function GuardianBars:BlockChange(tier, state) |
376 |
|
Kragenwar-3044 |
if (tier == 3) then |
377 |
|
Kragenwar-3044 |
self.skills["ShieldSmash"]:SetActive( state and self.settings["Features"].shieldsmash ); |
378 |
|
Kragenwar-3044 |
end |
379 |
|
Kragenwar-3044 |
end |
380 |
|
Kragenwar-3044 |
|
381 |
|
Kragenwar-3044 |
function GuardianBars:ParryChange(tier, state) |
382 |
|
Kragenwar-3044 |
if (tier == 3) then |
383 |
|
Kragenwar-3044 |
self.skills["ToTheKing"]:SetActive( state and self.settings["Features"].totheking ); |
384 |
|
Kragenwar-3044 |
end |
385 |
|
Kragenwar-3044 |
end |
386 |
|
Kragenwar-3044 |
|
387 |
|
Kragenwar-3044 |
|
388 |
|
Kragenwar-3044 |
function GuardianBars:DefaultSettings() |
389 |
|
Kragenwar-3044 |
self.settings = { }; |
390 |
|
Kragenwar-3044 |
|
391 |
|
Kragenwar-3044 |
self.settings["Block"] = { }; |
392 |
|
Kragenwar-3044 |
self.settings["Block"].active = true; |
393 |
|
Kragenwar-3044 |
self.settings["Block"].x = 0; |
394 |
|
Kragenwar-3044 |
self.settings["Block"].y = 0; |
395 |
|
Kragenwar-3044 |
|
396 |
|
Kragenwar-3044 |
self.settings["Parry"] = { }; |
397 |
|
Kragenwar-3044 |
self.settings["Parry"].active = true; |
398 |
|
Kragenwar-3044 |
self.settings["Parry"].x = 0; |
399 |
|
Kragenwar-3044 |
self.settings["Parry"].y = 0; |
400 |
|
Kragenwar-3044 |
|
401 |
|
Kragenwar-3044 |
self.settings["Overpower"] = { }; |
402 |
|
Kragenwar-3044 |
self.settings["Overpower"].active = true; |
403 |
|
Kragenwar-3044 |
self.settings["Overpower"].x = 0; |
404 |
|
Kragenwar-3044 |
self.settings["Overpower"].y = 0; |
405 |
|
Kragenwar-3044 |
|
406 |
|
Kragenwar-3044 |
self.settings["Ward"] = { }; |
407 |
|
Kragenwar-3044 |
self.settings["Ward"].active = true; |
408 |
|
Kragenwar-3044 |
self.settings["Ward"].x = 0; |
409 |
|
Kragenwar-3044 |
self.settings["Ward"].y = 0; |
410 |
|
Kragenwar-3044 |
|
411 |
|
Kragenwar-3044 |
self.settings["Melee"] = { }; |
412 |
|
Kragenwar-3044 |
self.settings["Melee"].active = true; |
413 |
|
Kragenwar-3044 |
self.settings["Melee"].x = 0; |
414 |
|
Kragenwar-3044 |
self.settings["Melee"].y = 0; |
415 |
|
Kragenwar-3044 |
|
416 |
|
Kragenwar-3044 |
self.settings["SelfBuffs"] = { }; |
417 |
|
Kragenwar-3044 |
self.settings["SelfBuffs"].active = true; |
418 |
|
Kragenwar-3044 |
self.settings["SelfBuffs"].x = 0; |
419 |
|
Kragenwar-3044 |
self.settings["SelfBuffs"].y = 0; |
420 |
|
Kragenwar-3044 |
|
421 |
|
Kragenwar-3044 |
self.settings["Protect"] = { }; |
422 |
|
Kragenwar-3044 |
self.settings["Protect"].active = true; |
423 |
|
Kragenwar-3044 |
self.settings["Protect"].x = 0; |
424 |
|
Kragenwar-3044 |
self.settings["Protect"].y = 0; |
425 |
|
Kragenwar-3044 |
|
426 |
|
Kragenwar-3044 |
self.settings["Taunt"] = { }; |
427 |
|
Kragenwar-3044 |
self.settings["Taunt"].active = true; |
428 |
|
Kragenwar-3044 |
self.settings["Taunt"].x = 0; |
429 |
|
Kragenwar-3044 |
self.settings["Taunt"].y = 0; |
430 |
|
Kragenwar-3044 |
|
431 |
|
Kragenwar-3044 |
self.settings["Stances"] = { }; |
432 |
|
Kragenwar-3044 |
self.settings["Stances"].active = true; |
433 |
|
Kragenwar-3044 |
self.settings["Stances"].x = 0; |
434 |
|
Kragenwar-3044 |
self.settings["Stances"].y = 0; |
435 |
|
Kragenwar-3044 |
|
436 |
|
Kragenwar-3044 |
self.settings["Stunned"] = { }; |
437 |
|
Kragenwar-3044 |
self.settings["Stunned"].active = true; |
438 |
|
Kragenwar-3044 |
self.settings["Stunned"].x = 0; |
439 |
|
Kragenwar-3044 |
self.settings["Stunned"].y = 0; |
440 |
|
Kragenwar-3044 |
|
441 |
|
Kragenwar-3044 |
self.settings["Utility"] = { }; |
442 |
|
Kragenwar-3044 |
self.settings["Utility"].active = true; |
443 |
|
Kragenwar-3044 |
self.settings["Utility"].x = 0; |
444 |
|
Kragenwar-3044 |
self.settings["Utility"].y = 0; |
445 |
|
Kragenwar-3044 |
|
446 |
|
Kragenwar-3044 |
self.settings["ClassItems"] = { }; |
447 |
|
Kragenwar-3044 |
self.settings["ClassItems"].active = true; |
448 |
|
Kragenwar-3044 |
self.settings["ClassItems"].x = 0; |
449 |
|
Kragenwar-3044 |
self.settings["ClassItems"].y = 0; |
450 |
|
Kragenwar-3044 |
|
451 |
|
Kragenwar-3044 |
self.settings["Ranged"] = { }; |
452 |
|
Kragenwar-3044 |
self.settings["Ranged"].active = true; |
453 |
|
Kragenwar-3044 |
self.settings["Ranged"].x = 0; |
454 |
|
Kragenwar-3044 |
self.settings["Ranged"].y = 0; |
455 |
|
Kragenwar-3044 |
|
456 |
|
Kragenwar-3044 |
self.settings["Features"] = { }; |
457 |
|
Kragenwar-3044 |
self.settings["Features"].threatstance = false; |
458 |
|
Kragenwar-3044 |
self.settings["Features"].totheking = false; |
459 |
|
Kragenwar-3044 |
self.settings["Features"].darkness = false; |
460 |
|
Kragenwar-3044 |
self.settings["Features"].shieldsmash = false; |
461 |
|
Kragenwar-3044 |
self.settings["Features"].stancepriority = true; |
462 |
|
Kragenwar-3044 |
self.settings["Features"].primarystance = 1; |
463 |
|
Kragenwar-3044 |
self.settings["Features"].secondarystance = 3; |
464 |
|
Kragenwar-3044 |
self.settings["Features"].woundindicator = true; |
465 |
10 |
Kragenwar-3044 |
self.settings["Features"].stanceactive = 2; |
466 |
|
Kragenwar-3044 |
self.settings["Features"].wardactive = 4; |
467 |
6 |
Kragenwar-3044 |
|
468 |
10 |
Kragenwar-3044 |
|
469 |
6 |
Kragenwar-3044 |
self.settings["Quickslots"] = { }; |
470 |
|
Kragenwar-3044 |
self.settings["Quickslots"].spike1 = {active = false, type = 0, data = "" } |
471 |
|
Kragenwar-3044 |
self.settings["Quickslots"].spike2 = {active = false, type = 0, data = "" } |
472 |
|
Kragenwar-3044 |
self.settings["Quickslots"].spike3 = {active = false, type = 0, data = "" } |
473 |
|
Kragenwar-3044 |
self.settings["Quickslots"].spike4 = {active = false, type = 0, data = "" } |
474 |
|
Kragenwar-3044 |
|
475 |
|
Kragenwar-3044 |
end |
476 |
|
Kragenwar-3044 |
|
477 |
|
Kragenwar-3044 |
|
478 |
|
Kragenwar-3044 |
function GuardianBars:UpdateSettings() |
479 |
10 |
Kragenwar-3044 |
if (settings.vers < 3.01) then |
480 |
|
Kragenwar-3044 |
|
481 |
|
Kragenwar-3044 |
if (self.settings["Features"].wardwarning) then self.settings["Features"].wardactive = 4; else self.settings["Features"].wardactive = 3; end |
482 |
|
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 |
483 |
|
Kragenwar-3044 |
|
484 |
|
Kragenwar-3044 |
self.settings["Features"].wardwarning = nil; |
485 |
|
Kragenwar-3044 |
self.settings["Features"].stancehover = nil; |
486 |
|
Kragenwar-3044 |
self.settings["Features"].stancedisappear = nil; |
487 |
|
Kragenwar-3044 |
end |
488 |
|
Kragenwar-3044 |
|
489 |
|
Kragenwar-3044 |
settings.vers = vars.vers; |
490 |
6 |
Kragenwar-3044 |
|
491 |
|
Kragenwar-3044 |
end |
492 |
|
Kragenwar-3044 |
|
493 |
|
Kragenwar-3044 |
|
494 |
|
Kragenwar-3044 |
function GuardianBars:ShowSetup() |
495 |
|
Kragenwar-3044 |
self.setup:SetVisible(true); |
496 |
|
Kragenwar-3044 |
|
497 |
|
Kragenwar-3044 |
self.setupbb.opacityslider:SetValue(settings.opacity * 100); |
498 |
|
Kragenwar-3044 |
self.setupbb.checkboxlock:SetChecked(settings.lockslots); |
499 |
|
Kragenwar-3044 |
self.setupbb.checkboxgrid:SetChecked(settings.snaptogrid); |
500 |
|
Kragenwar-3044 |
|
501 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb1:SetText("Block Reactives"); |
502 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb1:SetChecked (self.settings["Block"].active); |
503 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb1:SetVisible(true); |
504 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb2:SetText("Parry Reactives"); |
505 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb2:SetChecked (self.settings["Parry"].active); |
506 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb2:SetVisible(true); |
507 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb3:SetText("Overpower Skills"); |
508 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb3:SetChecked (self.settings["Overpower"].active); |
509 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb3:SetVisible(true); |
510 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb4:SetText("Guardians Ward"); |
511 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb4:SetChecked (self.settings["Ward"].active); |
512 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb4:SetVisible(true); |
513 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb5:SetText("Melee Skills"); |
514 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb5:SetChecked (self.settings["Melee"].active); |
515 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb5:SetVisible(true); |
516 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb6:SetText("Self Buffs"); |
517 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb6:SetChecked (self.settings["SelfBuffs"].active); |
518 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb6:SetVisible(true); |
519 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb7:SetText("Protect Fellows"); |
520 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb7:SetChecked (self.settings["Protect"].active); |
521 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb7:SetVisible(true); |
522 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb8:SetText("Taunt"); |
523 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb8:SetChecked (self.settings["Taunt"].active); |
524 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb8:SetVisible(true); |
525 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb9:SetText("Stances"); |
526 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb9:SetChecked (self.settings["Stances"].active); |
527 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb9:SetVisible(true); |
528 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb10:SetText("Stunned"); |
529 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb10:SetChecked (self.settings["Stunned"].active); |
530 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb10:SetVisible(true); |
531 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb11:SetText("Utility"); |
532 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb11:SetChecked (self.settings["Utility"].active); |
533 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb11:SetVisible(true); |
534 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb12:SetText("Class Items"); |
535 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb12:SetChecked (self.settings["ClassItems"].active); |
536 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb12:SetVisible(true); |
537 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb13:SetText("Ranged"); |
538 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb13:SetChecked (self.settings["Ranged"].active); |
539 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb13:SetVisible(true); |
540 |
|
Kragenwar-3044 |
|
541 |
|
Kragenwar-3044 |
self.setupf.checkboxf1:SetText("Guardian's Threat"); |
542 |
|
Kragenwar-3044 |
self.setupf.checkboxf1:SetChecked (self.settings["Features"].threatstance); |
543 |
|
Kragenwar-3044 |
self.setupf.checkboxf1:SetVisible(true); |
544 |
|
Kragenwar-3044 |
self.setupf.checkboxf2:SetText("Shield Smash"); |
545 |
|
Kragenwar-3044 |
self.setupf.checkboxf2:SetChecked (self.settings["Features"].shieldsmash); |
546 |
|
Kragenwar-3044 |
self.setupf.checkboxf2:SetVisible(true); |
547 |
|
Kragenwar-3044 |
self.setupf.checkboxf3:SetText("To The King"); |
548 |
|
Kragenwar-3044 |
self.setupf.checkboxf3:SetChecked (self.settings["Features"].totheking); |
549 |
|
Kragenwar-3044 |
self.setupf.checkboxf3:SetVisible(true); |
550 |
|
Kragenwar-3044 |
self.setupf.checkboxf4:SetText("Challenge The Darkness"); |
551 |
|
Kragenwar-3044 |
self.setupf.checkboxf4:SetChecked (self.settings["Features"].darkness); |
552 |
|
Kragenwar-3044 |
self.setupf.checkboxf4:SetVisible(true); |
553 |
|
Kragenwar-3044 |
|
554 |
10 |
Kragenwar-3044 |
self.setupf.checkboxf10:SetText("Stance Priority"); |
555 |
|
Kragenwar-3044 |
self.setupf.checkboxf10:SetChecked (self.settings["Features"].stancepriority); |
556 |
6 |
Kragenwar-3044 |
self.setupf.checkboxf10:SetVisible(true); |
557 |
|
Kragenwar-3044 |
|
558 |
10 |
Kragenwar-3044 |
self.setupf.checkboxf11:SetText("Wound Indicator"); |
559 |
|
Kragenwar-3044 |
self.setupf.checkboxf11:SetChecked (self.settings["Features"].woundindicator); |
560 |
6 |
Kragenwar-3044 |
self.setupf.checkboxf11:SetVisible(true); |
561 |
|
Kragenwar-3044 |
|
562 |
10 |
Kragenwar-3044 |
self.setupf.combo1box.listBox:ClearItems(); |
563 |
|
Kragenwar-3044 |
self.setupf.combo1Label:SetText("Guardian's Ward Active"); |
564 |
|
Kragenwar-3044 |
self.setupf.combo1Label:SetVisible(true); |
565 |
|
Kragenwar-3044 |
local combolist = {"None", "Dim", "Hide", "Early Warning"} |
566 |
|
Kragenwar-3044 |
for k,v in pairs(combolist) do |
567 |
|
Kragenwar-3044 |
self.setupf.combo1box:AddItem(v, k); |
568 |
|
Kragenwar-3044 |
end |
569 |
|
Kragenwar-3044 |
self.setupf.combo1box:SetVisible(true); |
570 |
|
Kragenwar-3044 |
self.setupf.combo1box:SetSelection(self.settings["Features"].wardactive); |
571 |
6 |
Kragenwar-3044 |
|
572 |
10 |
Kragenwar-3044 |
self.setupf.combo2box.listBox:ClearItems(); |
573 |
|
Kragenwar-3044 |
self.setupf.combo2Label:SetText("Primary Stance"); |
574 |
|
Kragenwar-3044 |
self.setupf.combo2Label:SetVisible(true); |
575 |
|
Kragenwar-3044 |
local combolist = {"Guardian's Defence", "Guardian's Parry", "Overpower", "Threat"} |
576 |
|
Kragenwar-3044 |
for k,v in pairs(combolist) do |
577 |
|
Kragenwar-3044 |
self.setupf.combo2box:AddItem(v, k); |
578 |
|
Kragenwar-3044 |
end |
579 |
|
Kragenwar-3044 |
self.setupf.combo2box:SetVisible(true); |
580 |
|
Kragenwar-3044 |
self.setupf.combo2box:SetSelection(self.settings["Features"].primarystance); |
581 |
6 |
Kragenwar-3044 |
|
582 |
10 |
Kragenwar-3044 |
self.setupf.combo3box.listBox:ClearItems(); |
583 |
|
Kragenwar-3044 |
self.setupf.combo3Label:SetText("Secondary Stance"); |
584 |
|
Kragenwar-3044 |
self.setupf.combo3Label:SetVisible(true); |
585 |
|
Kragenwar-3044 |
local combolist = {"Guardian's Defence", "Guardian's Parry", "Overpower", "Threat"} |
586 |
|
Kragenwar-3044 |
for k,v in pairs(combolist) do |
587 |
|
Kragenwar-3044 |
self.setupf.combo3box:AddItem(v, k); |
588 |
6 |
Kragenwar-3044 |
end |
589 |
10 |
Kragenwar-3044 |
self.setupf.combo3box:SetVisible(true); |
590 |
|
Kragenwar-3044 |
self.setupf.combo3box:SetSelection(self.settings["Features"].secondarystance); |
591 |
|
Kragenwar-3044 |
|
592 |
|
Kragenwar-3044 |
self.setupf.combo4box.listBox:ClearItems(); |
593 |
|
Kragenwar-3044 |
self.setupf.combo4Label:SetText("Stance Active"); |
594 |
|
Kragenwar-3044 |
self.setupf.combo4Label:SetVisible(true); |
595 |
|
Kragenwar-3044 |
local combolist = {"None", "Dim", "Hide"} |
596 |
|
Kragenwar-3044 |
for k,v in pairs(combolist) do |
597 |
|
Kragenwar-3044 |
self.setupf.combo4box:AddItem(v, k); |
598 |
|
Kragenwar-3044 |
end |
599 |
|
Kragenwar-3044 |
self.setupf.combo4box:SetVisible(true); |
600 |
|
Kragenwar-3044 |
self.setupf.combo4box:SetSelection(self.settings["Features"].stanceactive); |
601 |
6 |
Kragenwar-3044 |
|
602 |
|
Kragenwar-3044 |
self.setupqs.quickslot1:SetVisible(true); |
603 |
|
Kragenwar-3044 |
pcall(function() self.setupqs.quickslot1:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].spike1["type"], self.settings["Quickslots"].spike1["data"] ) ); end); |
604 |
|
Kragenwar-3044 |
self.setupqs.quickslot1cb:SetText("Shield Spikes"); |
605 |
|
Kragenwar-3044 |
self.setupqs.quickslot1cb:SetChecked(self.settings["Quickslots"].spike1["active"]); |
606 |
|
Kragenwar-3044 |
self.setupqs.quickslot1cb:SetVisible(true); |
607 |
|
Kragenwar-3044 |
self.setupqs.quickslot2:SetVisible(true); |
608 |
|
Kragenwar-3044 |
pcall(function() self.setupqs.quickslot2:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].spike2["type"], self.settings["Quickslots"].spike2["data"] ) ); end); |
609 |
|
Kragenwar-3044 |
self.setupqs.quickslot2cb:SetText("Shield Spikes"); |
610 |
|
Kragenwar-3044 |
self.setupqs.quickslot2cb:SetChecked(self.settings["Quickslots"].spike2["active"]); |
611 |
|
Kragenwar-3044 |
self.setupqs.quickslot2cb:SetVisible(true); |
612 |
|
Kragenwar-3044 |
self.setupqs.quickslot3:SetVisible(true); |
613 |
|
Kragenwar-3044 |
pcall(function() self.setupqs.quickslot3:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].spike3["type"], self.settings["Quickslots"].spike3["data"] ) ); end); |
614 |
|
Kragenwar-3044 |
self.setupqs.quickslot3cb:SetText("Shield Spikes"); |
615 |
|
Kragenwar-3044 |
self.setupqs.quickslot3cb:SetChecked(self.settings["Quickslots"].spike3["active"]); |
616 |
|
Kragenwar-3044 |
self.setupqs.quickslot3cb:SetVisible(true); |
617 |
|
Kragenwar-3044 |
self.setupqs.quickslot4:SetVisible(true); |
618 |
|
Kragenwar-3044 |
pcall(function() self.setupqs.quickslot4:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].spike4["type"], self.settings["Quickslots"].spike4["data"] ) ); end); |
619 |
|
Kragenwar-3044 |
self.setupqs.quickslot4cb:SetText("Shield Spikes"); |
620 |
|
Kragenwar-3044 |
self.setupqs.quickslot4cb:SetChecked(self.settings["Quickslots"].spike4["active"]); |
621 |
|
Kragenwar-3044 |
self.setupqs.quickslot4cb:SetVisible(true); |
622 |
|
Kragenwar-3044 |
|
623 |
|
Kragenwar-3044 |
|
624 |
|
Kragenwar-3044 |
end |
625 |
|
Kragenwar-3044 |
|
626 |
|
Kragenwar-3044 |
|
627 |
|
Kragenwar-3044 |
function GuardianBars:SetupClosing() |
628 |
|
Kragenwar-3044 |
settings.opacity = self.setupbb.opacityslider:GetValue() / 100; |
629 |
|
Kragenwar-3044 |
settings.lockslots = self.setupbb.checkboxlock:IsChecked(); |
630 |
|
Kragenwar-3044 |
settings.snaptogrid = self.setupbb.checkboxgrid:IsChecked(); |
631 |
|
Kragenwar-3044 |
|
632 |
|
Kragenwar-3044 |
self.settings["Block"].active = self.setupbb.checkboxbb1:IsChecked(); |
633 |
|
Kragenwar-3044 |
self.settings["Parry"].active = self.setupbb.checkboxbb2:IsChecked(); |
634 |
|
Kragenwar-3044 |
self.settings["Overpower"].active = self.setupbb.checkboxbb3:IsChecked(); |
635 |
|
Kragenwar-3044 |
self.settings["Ward"].active = self.setupbb.checkboxbb4:IsChecked(); |
636 |
|
Kragenwar-3044 |
self.settings["Melee"].active = self.setupbb.checkboxbb5:IsChecked(); |
637 |
|
Kragenwar-3044 |
self.settings["SelfBuffs"].active = self.setupbb.checkboxbb6:IsChecked(); |
638 |
|
Kragenwar-3044 |
self.settings["Protect"].active = self.setupbb.checkboxbb7:IsChecked(); |
639 |
|
Kragenwar-3044 |
self.settings["Taunt"].active = self.setupbb.checkboxbb8:IsChecked(); |
640 |
|
Kragenwar-3044 |
self.settings["Stances"].active = self.setupbb.checkboxbb9:IsChecked(); |
641 |
|
Kragenwar-3044 |
self.settings["Stunned"].active = self.setupbb.checkboxbb10:IsChecked(); |
642 |
|
Kragenwar-3044 |
self.settings["Utility"].active = self.setupbb.checkboxbb11:IsChecked(); |
643 |
|
Kragenwar-3044 |
self.settings["ClassItems"].active = self.setupbb.checkboxbb12:IsChecked(); |
644 |
|
Kragenwar-3044 |
self.settings["Ranged"].active = self.setupbb.checkboxbb13:IsChecked(); |
645 |
|
Kragenwar-3044 |
|
646 |
|
Kragenwar-3044 |
self.settings["Features"].threatstance = self.setupf.checkboxf1:IsChecked(); |
647 |
|
Kragenwar-3044 |
self.settings["Features"].shieldsmash = self.setupf.checkboxf2:IsChecked(); |
648 |
|
Kragenwar-3044 |
self.settings["Features"].totheking = self.setupf.checkboxf3:IsChecked(); |
649 |
|
Kragenwar-3044 |
self.settings["Features"].darkness = self.setupf.checkboxf4:IsChecked(); |
650 |
|
Kragenwar-3044 |
|
651 |
10 |
Kragenwar-3044 |
self.settings["Features"].stancepriority = self.setupf.checkboxf10:IsChecked(); |
652 |
|
Kragenwar-3044 |
self.settings["Features"].woundindicator = self.setupf.checkboxf11:IsChecked(); |
653 |
6 |
Kragenwar-3044 |
|
654 |
10 |
Kragenwar-3044 |
self.settings["Features"].wardactive = self.setupf.combo1box:GetSelection(); |
655 |
|
Kragenwar-3044 |
self.settings["Features"].primarystance = self.setupf.combo2box:GetSelection(); |
656 |
|
Kragenwar-3044 |
self.settings["Features"].secondarystance = self.setupf.combo3box:GetSelection(); |
657 |
|
Kragenwar-3044 |
self.settings["Features"].stanceactive = self.setupf.combo4box:GetSelection(); |
658 |
6 |
Kragenwar-3044 |
|
659 |
|
Kragenwar-3044 |
self.settings["Quickslots"].spike1 = { active = self.setupqs.quickslot1cb:IsChecked(), type = self.setupqs.quickslot1:GetShortcut():GetType(), data = self.setupqs.quickslot1:GetShortcut():GetData() }; |
660 |
|
Kragenwar-3044 |
self.settings["Quickslots"].spike2 = { active = self.setupqs.quickslot2cb:IsChecked(), type = self.setupqs.quickslot2:GetShortcut():GetType(), data = self.setupqs.quickslot2:GetShortcut():GetData() }; |
661 |
|
Kragenwar-3044 |
self.settings["Quickslots"].spike3 = { active = self.setupqs.quickslot3cb:IsChecked(), type = self.setupqs.quickslot3:GetShortcut():GetType(), data = self.setupqs.quickslot3:GetShortcut():GetData() }; |
662 |
|
Kragenwar-3044 |
self.settings["Quickslots"].spike4 = { active = self.setupqs.quickslot4cb:IsChecked(), type = self.setupqs.quickslot4:GetShortcut():GetType(), data = self.setupqs.quickslot4:GetShortcut():GetData() }; |
663 |
|
Kragenwar-3044 |
|
664 |
|
Kragenwar-3044 |
self:SaveSettings(); |
665 |
|
Kragenwar-3044 |
self:Refresh(); |
666 |
|
Kragenwar-3044 |
|
667 |
|
Kragenwar-3044 |
end |
668 |
|
Kragenwar-3044 |
|
669 |
|
Kragenwar-3044 |
|
670 |
|
Kragenwar-3044 |
function GuardianBars:Refresh() |
671 |
|
Kragenwar-3044 |
|
672 |
|
Kragenwar-3044 |
self:RefreshBars(); |
673 |
|
Kragenwar-3044 |
|
674 |
10 |
Kragenwar-3044 |
self.skills["GuardiansWard"]:SetActive( true ); |
675 |
|
Kragenwar-3044 |
if (self.settings["Features"].wardactive == 2) then |
676 |
|
Kragenwar-3044 |
self.skills["GuardiansWard"]:SetHover( self.skills["GuardiansWard"].state ); |
677 |
|
Kragenwar-3044 |
elseif (self.settings["Features"].wardactive >= 3) then |
678 |
|
Kragenwar-3044 |
self.skills["GuardiansWard"]:SetActive( not self.skills["GuardiansWard"].state ); |
679 |
|
Kragenwar-3044 |
end |
680 |
|
Kragenwar-3044 |
|
681 |
6 |
Kragenwar-3044 |
-- Set State on Legendary Skills |
682 |
|
Kragenwar-3044 |
self.skills["ShieldSmash"]:SetActive(self.settings["Features"].shieldsmash and vars.classattr:IsBlockTier3Available()); |
683 |
|
Kragenwar-3044 |
self.skills["ToTheKing"]:SetActive(self.settings["Features"].totheking and vars.classattr:IsParryTier3Available()); |
684 |
|
Kragenwar-3044 |
self.skills["ChallengeTheDarkness"]:SetActive(self.settings["Features"].darkness); |
685 |
|
Kragenwar-3044 |
|
686 |
|
Kragenwar-3044 |
-- Re-Build Stance Slot (Multi) |
687 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:Clear(); |
688 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:AddShortCut("GuardiansDefence", 4, "0x70003EDF"); |
689 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:AddShortCut("GuardiansParry", 12, "0x70003EE3"); |
690 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:AddShortCut("Overpower", 30, "0x7000D4B1"); |
691 |
|
Kragenwar-3044 |
if (self.settings["Features"].threatstance) then self.multi["StanceSlot"]:AddShortCut("GuardiansThreat", 41, "0x70002ED4"); end |
692 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:LevelCheck(); |
693 |
|
Kragenwar-3044 |
|
694 |
|
Kragenwar-3044 |
self.multi["ShieldSpikes"]:Clear(); |
695 |
|
Kragenwar-3044 |
self.multi["ShieldSpikes"]:AddShortCut("Spike1", self.settings["Quickslots"].spike1["active"], self.settings["Quickslots"].spike1["type"], self.settings["Quickslots"].spike1["data"]); |
696 |
|
Kragenwar-3044 |
self.multi["ShieldSpikes"]:AddShortCut("Spike2", self.settings["Quickslots"].spike2["active"], self.settings["Quickslots"].spike2["type"], self.settings["Quickslots"].spike2["data"]); |
697 |
|
Kragenwar-3044 |
self.multi["ShieldSpikes"]:AddShortCut("Spike3", self.settings["Quickslots"].spike3["active"], self.settings["Quickslots"].spike3["type"], self.settings["Quickslots"].spike3["data"]); |
698 |
|
Kragenwar-3044 |
self.multi["ShieldSpikes"]:AddShortCut("Spike4", self.settings["Quickslots"].spike4["active"], self.settings["Quickslots"].spike4["type"], self.settings["Quickslots"].spike4["data"]); |
699 |
|
Kragenwar-3044 |
self.multi["ShieldSpikes"]:Refresh(); |
700 |
|
Kragenwar-3044 |
|
701 |
|
Kragenwar-3044 |
if (self.settings["Features"].woundindicator and self.wound > 0) then |
702 |
|
Kragenwar-3044 |
self.skills["IgnoreThePain"]:SetColor("red"); |
703 |
|
Kragenwar-3044 |
else |
704 |
|
Kragenwar-3044 |
self.skills["IgnoreThePain"]:SetColor(); |
705 |
|
Kragenwar-3044 |
end |
706 |
|
Kragenwar-3044 |
|
707 |
|
Kragenwar-3044 |
self:StanceChange(vars.classattr:GetStance()); |
708 |
|
Kragenwar-3044 |
self:CombatChange(vars.player:IsInCombat()); |
709 |
|
Kragenwar-3044 |
|
710 |
|
Kragenwar-3044 |
Turbine.Shell.WriteLine("KragenBars: Guardian Bars refresh completed successfully."); |
711 |
|
Kragenwar-3044 |
|
712 |
|
Kragenwar-3044 |
end |