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 |
HunterBars = class( KragenPlugs.KragenBars.ClassBar ); |
8 |
|
Kragenwar-3044 |
|
9 |
|
Kragenwar-3044 |
function HunterBars:Constructor() |
10 |
|
Kragenwar-3044 |
|
11 |
|
Kragenwar-3044 |
KragenPlugs.KragenBars.ClassBar.Constructor( self ); |
12 |
|
Kragenwar-3044 |
|
13 |
|
Kragenwar-3044 |
-- SET AND UPDATE DEFAULT SETTINGS |
14 |
|
Kragenwar-3044 |
if (not settings.class) then |
15 |
|
Kragenwar-3044 |
settings.class = vars.playerclass; |
16 |
|
Kragenwar-3044 |
self:DefaultSettings(); |
17 |
|
Kragenwar-3044 |
self:ShowSetup(); |
18 |
|
Kragenwar-3044 |
else |
19 |
|
Kragenwar-3044 |
self.settings = settings.classinfo; |
20 |
|
Kragenwar-3044 |
if (settings.vers ~= vars.vers) then |
21 |
|
Kragenwar-3044 |
self:UpdateSettings(); |
22 |
|
Kragenwar-3044 |
end |
23 |
|
Kragenwar-3044 |
end |
24 |
|
Kragenwar-3044 |
|
25 |
|
Kragenwar-3044 |
-- BUILD WINDOWS BARS SKILLS AND MULTIS -- |
26 |
|
Kragenwar-3044 |
|
27 |
|
Kragenwar-3044 |
-- ALL X, Y, WIDTH, HEIGHT values are in quickslot (ie: 1 width = the width of one quickslot: 35 px); |
28 |
|
Kragenwar-3044 |
-- Build Windows SkillWindow( name:String, defaultx:int, defaulty:int, width:int, height:int, settings:table); |
29 |
|
Kragenwar-3044 |
self.windows["Parry"] = SkillWindow("Parry", 1, 1, 1, 1, self.settings["Parry"] ); |
30 |
|
Kragenwar-3044 |
self.windows["Melee"] = SkillWindow("Melee", 2, 1, 5, 1, self.settings["Melee"] ); |
31 |
|
Kragenwar-3044 |
self.windows["BowInduct"] = SkillWindow("BowInduct", 1, 2, 5, 1, self.settings["BowInduct"] ); |
32 |
|
Kragenwar-3044 |
self.windows["BowFocus"] = SkillWindow("BowFocus", 1, 3, 5, 1, self.settings["BowFocus"] ); |
33 |
|
Kragenwar-3044 |
self.windows["Dethreat"] = SkillWindow("Dethreat", 7, 2, 1, 1, self.settings["Dethreat"] ); |
34 |
|
Kragenwar-3044 |
self.windows["Utility"] = SkillWindow("Utility", 1, 4, 3, 1, self.settings["Utility"] ); |
35 |
|
Kragenwar-3044 |
self.windows["Tracking"] = SkillWindow("Tracking", 4, 4, 1, 1, self.settings["Tracking"] ); |
36 |
|
Kragenwar-3044 |
self.windows["Fear"] = SkillWindow("Fear", 5, 2, 2, 1, self.settings["Fear"] ); |
37 |
|
Kragenwar-3044 |
self.windows["Stance"] = SkillWindow("Stance", 6, 4, 2, 1, self.settings["Stance"] ); |
38 |
|
Kragenwar-3044 |
self.windows["Focus"] = SkillWindow("Focus", 1, 5, 4, 1, self.settings["Focus"] ); |
39 |
|
Kragenwar-3044 |
self.windows["Restoration"] = SkillWindow("Restoration",5, 5, 3, 1, self.settings["Restoration"]); |
40 |
|
Kragenwar-3044 |
self.windows["Trapping"] = SkillWindow("Trapping", 5, 4, 1, 1, self.settings["Trapping"] ); |
41 |
|
Kragenwar-3044 |
self.windows["Oils"] = SkillWindow("Oils", 8, 4, 2, 1, self.settings["Oils"] ); |
42 |
14 |
Valdacil-446 |
self.windows["Ports"] = SkillWindow("Ports", 8, 5, 1, 1, self.settings["Ports"] ); |
43 |
6 |
Kragenwar-3044 |
|
44 |
|
Kragenwar-3044 |
-- Build Bars SkillBar( parent:SkillWindow, x:int, y:int, width:int, height:int, active:Boolean, exclusive:boolean); |
45 |
|
Kragenwar-3044 |
self.bars["Parry"] = SkillBar(self.windows["Parry"], 1, 1, 1, 1, true, false); |
46 |
|
Kragenwar-3044 |
self.bars["Melee"] = SkillBar(self.windows["Melee"], 1, 1, 5, 1, true, false); |
47 |
|
Kragenwar-3044 |
self.bars["BowInduct"] = SkillBar(self.windows["BowInduct"], 1, 1, 5, 1, true, false); |
48 |
|
Kragenwar-3044 |
self.bars["BowFocus"] = SkillBar(self.windows["BowFocus"], 1, 1, 5, 1, true, false); |
49 |
|
Kragenwar-3044 |
self.bars["Dethreat"] = SkillBar(self.windows["Dethreat"], 1, 1, 1, 1, true, false); |
50 |
|
Kragenwar-3044 |
self.bars["Utility"] = SkillBar(self.windows["Utility"], 1, 1, 3, 1, true, false); |
51 |
|
Kragenwar-3044 |
self.bars["Tracking"] = SkillBar(self.windows["Tracking"], 1, 1, 1, 1, true, false); |
52 |
|
Kragenwar-3044 |
self.bars["Fear"] = SkillBar(self.windows["Fear"], 1, 1, 2, 1, true, false); |
53 |
|
Kragenwar-3044 |
self.bars["Stance"] = SkillBar(self.windows["Stance"], 1, 1, 2, 1, true, false); |
54 |
|
Kragenwar-3044 |
self.bars["Focus"] = SkillBar(self.windows["Focus"], 1, 1, 4, 1, true, false); |
55 |
|
Kragenwar-3044 |
self.bars["Restoration"] = SkillBar(self.windows["Restoration"], 1, 1, 3, 1, true, false); |
56 |
|
Kragenwar-3044 |
self.bars["Trapping"] = SkillBar(self.windows["Trapping"], 1, 1, 1, 1, true, false); |
57 |
|
Kragenwar-3044 |
self.bars["Oils"] = SkillBar(self.windows["Oils"], 1, 1, 2, 1, true, false); |
58 |
14 |
Valdacil-446 |
self.bars["Ports"] = SkillBar(self.windows["Ports"], 1, 1, 1, 1, true, false); |
59 |
6 |
Kragenwar-3044 |
|
60 |
|
Kragenwar-3044 |
-- Build Skills SkillSlot( parent:SkillBar, x:int, y:int, active:Boolean, level:int, hexcode:String ); |
61 |
|
Kragenwar-3044 |
self.skills["AgileRejoinder"] = SkillSlot(self.bars["Parry"], 1, 1, false, 24, "0x70003F3C"); |
62 |
|
Kragenwar-3044 |
|
63 |
|
Kragenwar-3044 |
self.skills["SwiftStroke"] = SkillSlot(self.bars["Melee"], 1, 1, true, 1, "0x70003F38"); |
64 |
|
Kragenwar-3044 |
self.skills["Blindside"] = SkillSlot(self.bars["Melee"], 4, 1, true, 1, "0x70003F3B"); |
65 |
|
Kragenwar-3044 |
self.skills["ScourgingBlow"] = SkillSlot(self.bars["Melee"], 2, 1, true, 4, "0x70003F3A"); |
66 |
|
Kragenwar-3044 |
self.skills["LowCut"] = SkillSlot(self.bars["Melee"], 3, 1, true, 16, "0x70003F39"); |
67 |
|
Kragenwar-3044 |
self.skills["DazingBlow"] = SkillSlot(self.bars["Melee"], 5, 1, true, { 48, 52 }, { "0x70021D0E", "0x70021D18" }); |
68 |
|
Kragenwar-3044 |
|
69 |
|
Kragenwar-3044 |
self.skills["QuickShot"] = SkillSlot(self.bars["BowInduct"], 1, 1, true, 1, "0x70003F32"); |
70 |
|
Kragenwar-3044 |
self.skills["BarbedArrow"] = SkillSlot(self.bars["BowInduct"], 2, 1, true, 4, "0x70003F33"); |
71 |
|
Kragenwar-3044 |
self.skills["SwiftBow"] = SkillSlot(self.bars["BowInduct"], 3, 1, true, { 10, 54 }, { "0x70003F34", "0x700153E2" }); |
72 |
|
Kragenwar-3044 |
self.skills["HeartSeeker"] = SkillSlot(self.bars["BowInduct"], 4, 1, true, 50, "0x7000A2D3"); |
73 |
|
Kragenwar-3044 |
self.skills["DistractingShot"] = SkillSlot(self.bars["BowFocus"], 5, 1, true, 58, "0x7000F9AB"); |
74 |
|
Kragenwar-3044 |
|
75 |
|
Kragenwar-3044 |
self.skills["PenetratingShot"] = SkillSlot(self.bars["BowFocus"], 1, 1, true, 2, "0x70003F35"); |
76 |
|
Kragenwar-3044 |
self.skills["RainofArrows"] = SkillSlot(self.bars["BowFocus"], 2, 1, true, 20, "0x70003F36"); |
77 |
|
Kragenwar-3044 |
self.skills["MercifulShot"] = SkillSlot(self.bars["BowFocus"], 3, 1, true, { 30, 52 }, { "0x70003F37", "0x700153E5" }); |
78 |
|
Kragenwar-3044 |
self.skills["BloodArrow"] = SkillSlot(self.bars["BowFocus"], 4, 1, true, 44, "0x70021D0D"); |
79 |
|
Kragenwar-3044 |
self.skills["RainofThorns"] = SkillSlot(self.bars["BowFocus"], 5, 1, self.settings["Features"].thorns, 41, "0x700010F4"); |
80 |
|
Kragenwar-3044 |
|
81 |
|
Kragenwar-3044 |
self.skills["BeneathNotice"] = SkillSlot(self.bars["Dethreat"], 1, 1, true, { 38, 64 }, { "0x700030EC", "0x70020DF8" }); |
82 |
|
Kragenwar-3044 |
|
83 |
|
Kragenwar-3044 |
self.skills["DesperateFlight"] = SkillSlot(self.bars["Utility"], 1, 1, true, 20, "0x70003F40"); |
84 |
|
Kragenwar-3044 |
self.skills["BrightCampfire"] = SkillSlot(self.bars["Utility"], 2, 1, true, 22, "0x70003F3F"); |
85 |
|
Kragenwar-3044 |
self.skills["Camouflage"] = SkillSlot(self.bars["Utility"], 3, 1, true, 40, "0x70003F48"); |
86 |
|
Kragenwar-3044 |
|
87 |
|
Kragenwar-3044 |
self.skills["CryofthePredator"] = SkillSlot(self.bars["Fear"], 1, 1, true, 12, "0x70003F49"); |
88 |
18 |
Valdacil-446 |
self.skills["BardsArrow"] = SkillSlot(self.bars["Fear"], 2, 1, self.settings["Features"].bards, 41, "0x700010D3"); |
89 |
6 |
Kragenwar-3044 |
|
90 |
|
Kragenwar-3044 |
self.skills["FindthePath"] = SkillSlot(self.bars["Stance"], 2, 1, true, 14, "0x70003F3D"); |
91 |
|
Kragenwar-3044 |
|
92 |
|
Kragenwar-3044 |
self.skills["Focus"] = SkillSlot(self.bars["Focus"], 1, 1, true, 8, "0x70003F4C"); |
93 |
|
Kragenwar-3044 |
self.skills["IntentConcentration"] = SkillSlot(self.bars["Focus"], 2, 1, true, 20, "0x700030DE"); |
94 |
|
Kragenwar-3044 |
self.skills["NeedfulHaste"] = SkillSlot(self.bars["Focus"], 3, 1, true, 34, "0x700030F3"); |
95 |
|
Kragenwar-3044 |
self.skills["BurnHot"] = SkillSlot(self.bars["Focus"], 4, 1, true, 60, "0x7000F835"); |
96 |
|
Kragenwar-3044 |
|
97 |
|
Kragenwar-3044 |
self.skills["PurgePoison"] = SkillSlot(self.bars["Restoration"],1, 1, true, 16, "0x70003F3E"); |
98 |
|
Kragenwar-3044 |
self.skills["StrengthoftheEarth"] = SkillSlot(self.bars["Restoration"],2, 1, true, 42, "0x7000A2D4"); |
99 |
|
Kragenwar-3044 |
self.skills["PressOnward"] = SkillSlot(self.bars["Restoration"],3, 1, self.settings["Features"].pressonward, 41, "0x700010E5"); |
100 |
|
Kragenwar-3044 |
|
101 |
|
Kragenwar-3044 |
-- Build Quickslots ItemSlot( parent:SkillBar, x:int, y:int, active:Boolean, type:int, data:String ); |
102 |
|
Kragenwar-3044 |
self.skills["FireOil"] = ItemSlot(self.bars["Oils"], 1, 1, self.settings["Quickslots"].fireoil["active"], self.settings["Quickslots"].fireoil["type"], self.settings["Quickslots"].fireoil["data"]); |
103 |
|
Kragenwar-3044 |
self.skills["LightOil"] = ItemSlot(self.bars["Oils"], 2, 1, self.settings["Quickslots"].lightoil["active"], self.settings["Quickslots"].lightoil["type"], self.settings["Quickslots"].lightoil["data"]); |
104 |
|
Kragenwar-3044 |
|
105 |
|
Kragenwar-3044 |
-- Build MultiSlots SkillMultiSlot( parent:SkillBar, x:int, y:int, active:Boolean ); |
106 |
|
Kragenwar-3044 |
-- multi:AddShortCut(name:String, level:int, hex:String); |
107 |
|
Kragenwar-3044 |
self.multi["TrackingSlot"] = SkillMultiSlot(self.bars["Tracking"], 1, 1, true); |
108 |
|
Kragenwar-3044 |
self.multi["TrackingSlot"]:AddShortCut("PassageofNature", 12, "0x70003F45"); |
109 |
|
Kragenwar-3044 |
self.multi["TrackingSlot"]:AddShortCut("PassageofFoes", 22, "0x70003F46"); |
110 |
|
Kragenwar-3044 |
self.multi["TrackingSlot"]:AddShortCut("PassageofShadow", 32, "0x70003F47"); |
111 |
|
Kragenwar-3044 |
self.multi["TrackingSlot"]:LevelCheck(); |
112 |
|
Kragenwar-3044 |
|
113 |
|
Kragenwar-3044 |
self.multi["StanceSlot"] = SkillMultiSlot(self.bars["Stance"], 1, 1, true); |
114 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:AddShortCut("StrengthStance", 6, "0x70003F4E"); |
115 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:AddShortCut("PrecisionStance", 18, "0x70003F4D"); |
116 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:AddShortCut("EnduranceStance", 28, "0x70003F4F"); |
117 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:AddShortCut("FleetStance", 56, "0x70010065"); |
118 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:LevelCheck(); |
119 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:SetIndex(self.settings["Features"].primarystance); |
120 |
|
Kragenwar-3044 |
|
121 |
|
Kragenwar-3044 |
self.multi["TrappingSlot"] = SkillMultiSlot(self.bars["Trapping"], 1, 1, true); |
122 |
|
Kragenwar-3044 |
self.multi["TrappingSlot"]:AddShortCut("SetTrap", 6, "0x700030BB"); |
123 |
|
Kragenwar-3044 |
self.multi["TrappingSlot"]:AddShortCut("SetSnare", 36, "0x7000A6B1"); |
124 |
|
Kragenwar-3044 |
self.multi["TrappingSlot"]:LevelCheck(); |
125 |
14 |
Valdacil-446 |
|
126 |
|
Valdacil-446 |
self.multi["PortsSlot"] = SkillMultiSlot(self.bars["Ports"], 1, 1, true); |
127 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoMichelDelving", 22, "0x7000A2C3"); |
128 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoThorinsHall", 24, "0x70003F41"); |
129 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("ReturntoCamp", 26, "0x7000A2C1"); |
130 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoOstGuruth", 26, "0x7000A2C2"); |
131 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoBree", 32, "0x70003F42"); |
132 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoEsteldin", 34, "0x70003F43"); |
133 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoEvendim", 36, "0x7000A2C4"); |
134 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoWestAngmar", 44, "0x7000A2C5"); |
135 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoRivendell", 46, "0x70003F44"); |
136 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoSuriKyla", 48, "0x70017C82"); |
137 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoEastAngmar", 48, "0x7000A2C6"); |
138 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoEchadDunann", 50, "0x70017C81"); |
139 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoTwentyFirstHall",56, "0x70017C7A"); |
140 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoMirkEaves", 62, "0x7001F459"); |
141 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoHarndirion", 62, "0x700235EF"); |
142 |
|
Valdacil-446 |
self.multi["PortsSlot"]:LevelCheck(); |
143 |
6 |
Kragenwar-3044 |
|
144 |
14 |
Valdacil-446 |
|
145 |
6 |
Kragenwar-3044 |
-- Set Combat States |
146 |
|
Kragenwar-3044 |
self.skills["StrengthoftheEarth"]:SetCombat(true, false); |
147 |
|
Kragenwar-3044 |
self.skills["PressOnward"]:SetCombat(self.settings["Features"].combatpressonward, self.settings["Features"].pressonward); |
148 |
|
Kragenwar-3044 |
self.skills["Focus"]:SetCombat(false, true); |
149 |
|
Kragenwar-3044 |
self.skills["Camouflage"]:SetCombat(false, true); |
150 |
|
Kragenwar-3044 |
self.skills["BrightCampfire"]:SetCombat(false, true); |
151 |
|
Kragenwar-3044 |
self.multi["TrackingSlot"]:SetCombat(false, true); |
152 |
|
Kragenwar-3044 |
self.multi["TrappingSlot"]:SetCombat(self.settings["Features"].combattraps, true); |
153 |
|
Kragenwar-3044 |
|
154 |
|
Kragenwar-3044 |
|
155 |
|
Kragenwar-3044 |
-- EVENTS |
156 |
|
Kragenwar-3044 |
|
157 |
|
Kragenwar-3044 |
-- Stance Change Event |
158 |
|
Kragenwar-3044 |
AddCallback(vars.classattr, "StanceChanged", function(sender, args) |
159 |
|
Kragenwar-3044 |
KragenBars:StanceChange(vars.classattr:GetStance()); |
160 |
|
Kragenwar-3044 |
end); |
161 |
|
Kragenwar-3044 |
|
162 |
|
Kragenwar-3044 |
-- Focus Change Event |
163 |
|
Kragenwar-3044 |
AddCallback(vars.classattr, "FocusChanged", function(sender, args) |
164 |
|
Kragenwar-3044 |
KragenBars:FocusChange(vars.classattr:GetFocus()); |
165 |
|
Kragenwar-3044 |
end); |
166 |
|
Kragenwar-3044 |
|
167 |
|
Kragenwar-3044 |
|
168 |
|
Kragenwar-3044 |
-- INITIALIZE BARS |
169 |
|
Kragenwar-3044 |
self:InitBars(); |
170 |
|
Kragenwar-3044 |
self:CombatChange(vars.player:IsInCombat()); |
171 |
|
Kragenwar-3044 |
self:StanceChange(vars.classattr:GetStance()); |
172 |
|
Kragenwar-3044 |
self:FocusChange(vars.classattr:GetFocus()); |
173 |
|
Kragenwar-3044 |
|
174 |
|
Kragenwar-3044 |
end |
175 |
|
Kragenwar-3044 |
|
176 |
|
Kragenwar-3044 |
|
177 |
|
Kragenwar-3044 |
-- ADD EFFECT EVENT |
178 |
|
Kragenwar-3044 |
function HunterBars:AddEffect( effectIndex ) |
179 |
|
Kragenwar-3044 |
local addedeffect = vars.player:GetEffects():Get( effectIndex ); |
180 |
|
Kragenwar-3044 |
|
181 |
|
Kragenwar-3044 |
if (addedeffect:GetName() == "Parry Response") then |
182 |
|
Kragenwar-3044 |
self.skills["AgileRejoinder"]:SetState( true , true, addedeffect:GetID()); |
183 |
|
Kragenwar-3044 |
|
184 |
|
Kragenwar-3044 |
elseif (addedeffect:GetName() == "Find the Path") then |
185 |
|
Kragenwar-3044 |
if (self.settings["Features"].findpathactive == 1) then |
186 |
|
Kragenwar-3044 |
self.skills["FindthePath"]:SetState(true, true, addedeffect:GetID()); |
187 |
|
Kragenwar-3044 |
elseif (self.settings["Features"].findpathactive == 2) then |
188 |
|
Kragenwar-3044 |
self.skills["FindthePath"]:SetState(true, true, addedeffect:GetID()); |
189 |
|
Kragenwar-3044 |
self.skills["FindthePath"]:SetHover(true); |
190 |
|
Kragenwar-3044 |
else |
191 |
|
Kragenwar-3044 |
self.skills["FindthePath"]:SetState(true, false, addedeffect:GetID()); |
192 |
|
Kragenwar-3044 |
end |
193 |
|
Kragenwar-3044 |
|
194 |
|
Kragenwar-3044 |
elseif (addedeffect:GetName() == "Swift Stroke" and self.settings["Features"].dimswiftstroke) then |
195 |
|
Kragenwar-3044 |
self.skills["SwiftStroke"]:SetState(true, true, addedeffect:GetID()); |
196 |
|
Kragenwar-3044 |
self.skills["SwiftStroke"]:SetHover(true); |
197 |
|
Kragenwar-3044 |
|
198 |
|
Kragenwar-3044 |
elseif (addedeffect:GetName() == "Simple Fire-oil" or addedeffect:GetName() == "Fire-oil" or addedeffect:GetName() == "Refined Fire-oil" or addedeffect:GetName() == "Pure Fire-oil") then |
199 |
|
Kragenwar-3044 |
self.skills["FireOil"]:SetState(true, false, addedeffect:GetID()); |
200 |
|
Kragenwar-3044 |
self.skills["FireOil"]:SetHover(true); |
201 |
|
Kragenwar-3044 |
self.skills["FireOil"]:StartTimer(addedeffect:GetDuration() * .85, true); |
202 |
|
Kragenwar-3044 |
self.skills["LightOil"]:SetHover(true); |
203 |
|
Kragenwar-3044 |
|
204 |
|
Kragenwar-3044 |
elseif (addedeffect:GetName() == "Simple Light-oil" or addedeffect:GetName() == "Light-oil" or addedeffect:GetName() == "Refined Light-oil" or addedeffect:GetName() == "Pure Light-oil") then |
205 |
|
Kragenwar-3044 |
self.skills["LightOil"]:SetState(true, false, addedeffect:GetID()); |
206 |
|
Kragenwar-3044 |
self.skills["LightOil"]:SetHover(true); |
207 |
|
Kragenwar-3044 |
self.skills["LightOil"]:StartTimer(addedeffect:GetDuration() * .85, true); |
208 |
|
Kragenwar-3044 |
self.skills["FireOil"]:SetHover(true); |
209 |
|
Kragenwar-3044 |
|
210 |
|
Kragenwar-3044 |
|
211 |
|
Kragenwar-3044 |
end |
212 |
|
Kragenwar-3044 |
end |
213 |
|
Kragenwar-3044 |
|
214 |
|
Kragenwar-3044 |
|
215 |
|
Kragenwar-3044 |
-- REMOVE EFFECT EVENT |
216 |
|
Kragenwar-3044 |
function HunterBars:RemoveEffect( effect ) |
217 |
|
Kragenwar-3044 |
|
218 |
|
Kragenwar-3044 |
-- SetState can be called on both bars and skills |
219 |
|
Kragenwar-3044 |
-- it will store the incoming effect id and flag the state as well as trigger visibility |
220 |
|
Kragenwar-3044 |
-- SetState(effectstate:Boolean, visibility:Boolean, effectid:int); |
221 |
|
Kragenwar-3044 |
|
222 |
|
Kragenwar-3044 |
if (effect:GetName() == "Parry Response") then |
223 |
|
Kragenwar-3044 |
self.skills["AgileRejoinder"]:SetState( false , false, effect:GetID()); |
224 |
|
Kragenwar-3044 |
|
225 |
|
Kragenwar-3044 |
elseif (effect:GetName() == "Find the Path") then |
226 |
|
Kragenwar-3044 |
self.skills["FindthePath"]:SetState (false, true, effect:GetID()); |
227 |
|
Kragenwar-3044 |
self.skills["FindthePath"]:SetHover(self.skills["FindthePath"].state); |
228 |
|
Kragenwar-3044 |
|
229 |
|
Kragenwar-3044 |
elseif (effect:GetName() == "Swift Stroke") then |
230 |
|
Kragenwar-3044 |
self.skills["SwiftStroke"]:SetState(false, true, effect:GetID()); |
231 |
|
Kragenwar-3044 |
self.skills["SwiftStroke"]:SetHover(false); |
232 |
|
Kragenwar-3044 |
|
233 |
|
Kragenwar-3044 |
elseif (effect:GetName() == "Simple Fire-oil" or effect:GetName() == "Fire-oil" or effect:GetName() == "Refined Fire-oil" or effect:GetName() == "Pure Fire-oil") then |
234 |
|
Kragenwar-3044 |
self.skills["FireOil"]:SetState(false, true, effect:GetID()); |
235 |
|
Kragenwar-3044 |
self.skills["LightOil"]:SetHover(false); |
236 |
|
Kragenwar-3044 |
self.skills["FireOil"]:SetHover(false); |
237 |
|
Kragenwar-3044 |
|
238 |
|
Kragenwar-3044 |
elseif (effect:GetName() == "Simple Light-oil" or effect:GetName() == "Light-oil" or effect:GetName() == "Refined Light-oil" or effect:GetName() == "Pure Light-oil") then |
239 |
|
Kragenwar-3044 |
self.skills["LightOil"]:SetState(false, true, effect:GetID()); |
240 |
|
Kragenwar-3044 |
self.skills["FireOil"]:SetHover(false); |
241 |
|
Kragenwar-3044 |
self.skills["LightOil"]:SetHover(false); |
242 |
|
Kragenwar-3044 |
|
243 |
|
Kragenwar-3044 |
end |
244 |
|
Kragenwar-3044 |
end |
245 |
|
Kragenwar-3044 |
|
246 |
|
Kragenwar-3044 |
|
247 |
|
Kragenwar-3044 |
function HunterBars:FocusChange(focus) |
248 |
|
Kragenwar-3044 |
|
249 |
|
Kragenwar-3044 |
if (focus == 0) then |
250 |
|
Kragenwar-3044 |
self.skills["PenetratingShot"]:SetActive(false); |
251 |
|
Kragenwar-3044 |
self.skills["BloodArrow"]:SetActive(false); |
252 |
|
Kragenwar-3044 |
self.skills["RainofArrows"]:SetActive(false); |
253 |
|
Kragenwar-3044 |
self.skills["NeedfulHaste"]:SetActive(false); |
254 |
|
Kragenwar-3044 |
self.skills["MercifulShot"]:SetActive(false); |
255 |
|
Kragenwar-3044 |
self.skills["RainofThorns"]:SetActive(false); |
256 |
|
Kragenwar-3044 |
elseif (focus > 0 and focus < 2) then |
257 |
|
Kragenwar-3044 |
self.skills["PenetratingShot"]:SetActive(false); |
258 |
|
Kragenwar-3044 |
self.skills["BloodArrow"]:SetActive(false); |
259 |
|
Kragenwar-3044 |
self.skills["RainofArrows"]:SetActive(false); |
260 |
|
Kragenwar-3044 |
self.skills["NeedfulHaste"]:SetActive(false); |
261 |
|
Kragenwar-3044 |
self.skills["MercifulShot"]:SetActive(false); |
262 |
|
Kragenwar-3044 |
self.skills["RainofThorns"]:SetActive(false); |
263 |
|
Kragenwar-3044 |
elseif (focus >= 2 and focus < 3) then |
264 |
|
Kragenwar-3044 |
self.skills["PenetratingShot"]:SetActive(self.settings["Features"].strongdraw); |
265 |
|
Kragenwar-3044 |
self.skills["BloodArrow"]:SetActive(self.settings["Features"].strongdraw); |
266 |
|
Kragenwar-3044 |
self.skills["RainofArrows"]:SetActive(self.settings["Features"].arrowstorm); |
267 |
|
Kragenwar-3044 |
self.skills["NeedfulHaste"]:SetActive(false); |
268 |
|
Kragenwar-3044 |
self.skills["MercifulShot"]:SetActive(false); |
269 |
|
Kragenwar-3044 |
self.skills["RainofThorns"]:SetActive(false); |
270 |
|
Kragenwar-3044 |
elseif (focus >= 3 and focus < 6) then |
271 |
|
Kragenwar-3044 |
self.skills["PenetratingShot"]:SetActive(true); |
272 |
|
Kragenwar-3044 |
self.skills["BloodArrow"]:SetActive(true); |
273 |
|
Kragenwar-3044 |
self.skills["RainofArrows"]:SetActive(true); |
274 |
|
Kragenwar-3044 |
self.skills["NeedfulHaste"]:SetActive(true); |
275 |
|
Kragenwar-3044 |
self.skills["MercifulShot"]:SetActive(false); |
276 |
|
Kragenwar-3044 |
self.skills["RainofThorns"]:SetActive(false); |
277 |
|
Kragenwar-3044 |
elseif (focus >= 6) then |
278 |
|
Kragenwar-3044 |
self.skills["PenetratingShot"]:SetActive(true); |
279 |
|
Kragenwar-3044 |
self.skills["BloodArrow"]:SetActive(true); |
280 |
|
Kragenwar-3044 |
self.skills["RainofArrows"]:SetActive(true); |
281 |
|
Kragenwar-3044 |
self.skills["NeedfulHaste"]:SetActive(true); |
282 |
|
Kragenwar-3044 |
self.skills["MercifulShot"]:SetActive(true); |
283 |
|
Kragenwar-3044 |
self.skills["RainofThorns"]:SetActive(self.settings["Features"].thorns); |
284 |
|
Kragenwar-3044 |
|
285 |
|
Kragenwar-3044 |
end |
286 |
|
Kragenwar-3044 |
end |
287 |
|
Kragenwar-3044 |
|
288 |
|
Kragenwar-3044 |
|
289 |
|
Kragenwar-3044 |
function HunterBars:StanceChange(stance) |
290 |
|
Kragenwar-3044 |
local stancenew = 0; |
291 |
|
Kragenwar-3044 |
|
292 |
|
Kragenwar-3044 |
-- Hack because Turbine put the stances in the wrong order |
293 |
|
Kragenwar-3044 |
if (stance == 1) then |
294 |
|
Kragenwar-3044 |
stancenew = 2; |
295 |
|
Kragenwar-3044 |
elseif (stance == 2) then |
296 |
|
Kragenwar-3044 |
stancenew = 1; |
297 |
|
Kragenwar-3044 |
else |
298 |
|
Kragenwar-3044 |
stancenew = stance; |
299 |
|
Kragenwar-3044 |
end |
300 |
|
Kragenwar-3044 |
|
301 |
14 |
Valdacil-446 |
if (stancenew ~= self.settings["Features"].primarystance) then |
302 |
|
Valdacil-446 |
self.multi["StanceSlot"]:SetIndex(self.settings["Features"].primarystance); |
303 |
6 |
Kragenwar-3044 |
else |
304 |
14 |
Valdacil-446 |
self.multi["StanceSlot"]:SetIndex(self.settings["Features"].secondarystance); |
305 |
|
Valdacil-446 |
end |
306 |
|
Valdacil-446 |
|
307 |
|
Valdacil-446 |
if (stance == 0) then |
308 |
|
Valdacil-446 |
self.multi["StanceSlot"]:SetHover( false ); |
309 |
|
Valdacil-446 |
self.multi["StanceSlot"]:SetActive( true ); |
310 |
|
Valdacil-446 |
else |
311 |
|
Valdacil-446 |
self.multi["StanceSlot"]:SetActive( self.settings["Features"].stanceactive ~= 3); |
312 |
|
Valdacil-446 |
self.multi["StanceSlot"]:SetHover( self.settings["Features"].stanceactive == 2 ); |
313 |
|
Valdacil-446 |
end |
314 |
6 |
Kragenwar-3044 |
|
315 |
14 |
Valdacil-446 |
|
316 |
6 |
Kragenwar-3044 |
end |
317 |
|
Kragenwar-3044 |
|
318 |
|
Kragenwar-3044 |
-- DEFAULT SETTINGS |
319 |
|
Kragenwar-3044 |
function HunterBars:DefaultSettings() |
320 |
|
Kragenwar-3044 |
self.settings = { }; |
321 |
|
Kragenwar-3044 |
|
322 |
14 |
Valdacil-446 |
local windowlist = {"Parry", "Melee", "BowInduct", "BowFocus", "Dethreat", "Utility", "Tracking", "Fear", "Stance", "Focus", "Restoration", "Trapping", "Oils", "Ports"}; |
323 |
6 |
Kragenwar-3044 |
for k,v in pairs(windowlist) do |
324 |
|
Kragenwar-3044 |
self.settings[v] = { active = true, x = 0, y = 0, rotate = 0 }; |
325 |
|
Kragenwar-3044 |
end |
326 |
|
Kragenwar-3044 |
|
327 |
|
Kragenwar-3044 |
self.settings["Features"] = { }; |
328 |
|
Kragenwar-3044 |
self.settings["Features"].dimswiftstroke = true; |
329 |
|
Kragenwar-3044 |
self.settings["Features"].thorns = false; |
330 |
|
Kragenwar-3044 |
self.settings["Features"].bards = false; |
331 |
|
Kragenwar-3044 |
self.settings["Features"].pressonward = false; |
332 |
|
Kragenwar-3044 |
self.settings["Features"].combattraps = false; |
333 |
|
Kragenwar-3044 |
self.settings["Features"].strongdraw = false; |
334 |
|
Kragenwar-3044 |
self.settings["Features"].arrowstorm = false; |
335 |
|
Kragenwar-3044 |
self.settings["Features"].combatpressonward = false; |
336 |
|
Kragenwar-3044 |
self.settings["Features"].primarystance = 1; |
337 |
|
Kragenwar-3044 |
self.settings["Features"].secondarystance = 2; |
338 |
|
Kragenwar-3044 |
self.settings["Features"].findpathactive = 2; |
339 |
14 |
Valdacil-446 |
self.settings["Features"].stanceactive = 2; |
340 |
6 |
Kragenwar-3044 |
|
341 |
|
Kragenwar-3044 |
self.settings["Quickslots"] = { }; |
342 |
|
Kragenwar-3044 |
self.settings["Quickslots"].fireoil = { active = false, type = Turbine.UI.Lotro.ShortcutType.Undefined, data = "" }; |
343 |
|
Kragenwar-3044 |
self.settings["Quickslots"].lightoil = { active = false, type = Turbine.UI.Lotro.ShortcutType.Undefined, data = "" }; |
344 |
|
Kragenwar-3044 |
|
345 |
|
Kragenwar-3044 |
end |
346 |
|
Kragenwar-3044 |
|
347 |
|
Kragenwar-3044 |
|
348 |
|
Kragenwar-3044 |
-- UPDATE SETTINGS |
349 |
|
Kragenwar-3044 |
function HunterBars:UpdateSettings() |
350 |
14 |
Valdacil-446 |
|
351 |
|
Valdacil-446 |
if (settings.vers < 3.10) then |
352 |
|
Valdacil-446 |
self.settings["Features"].stanceactive = 2; |
353 |
|
Valdacil-446 |
self.settings["Ports"] = { active = true, x = 0, y = 0, rotate = 0 }; |
354 |
|
Valdacil-446 |
end |
355 |
|
Valdacil-446 |
|
356 |
6 |
Kragenwar-3044 |
settings.vers = vars.vers; |
357 |
|
Kragenwar-3044 |
|
358 |
|
Kragenwar-3044 |
end |
359 |
|
Kragenwar-3044 |
|
360 |
|
Kragenwar-3044 |
|
361 |
|
Kragenwar-3044 |
-- DISPLAY SETUP WINDOW AND SET ALL CHECKBOXES COMBOBOXES SLIDERS AND QUICKSLOTS |
362 |
|
Kragenwar-3044 |
function HunterBars:ShowSetup() |
363 |
|
Kragenwar-3044 |
self.setup:SetVisible(true); |
364 |
|
Kragenwar-3044 |
|
365 |
|
Kragenwar-3044 |
self.setupbb.opacityslider:SetValue(settings.opacity * 100); |
366 |
|
Kragenwar-3044 |
self.setupbb.checkboxlock:SetChecked(settings.lockslots); |
367 |
|
Kragenwar-3044 |
self.setupbb.checkboxgrid:SetChecked(settings.snaptogrid); |
368 |
|
Kragenwar-3044 |
|
369 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb1:SetText("Parry Response"); |
370 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb1:SetChecked (self.settings["Parry"].active); |
371 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb1:SetVisible(true); |
372 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb2:SetText("Melee"); |
373 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb2:SetChecked (self.settings["Melee"].active); |
374 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb2:SetVisible(true); |
375 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb3:SetText("Bow: Induction"); |
376 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb3:SetChecked (self.settings["BowInduct"].active); |
377 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb3:SetVisible(true); |
378 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb4:SetText("Bow: Focus"); |
379 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb4:SetChecked (self.settings["BowFocus"].active); |
380 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb4:SetVisible(true); |
381 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb5:SetText("Dethreat"); |
382 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb5:SetChecked (self.settings["Dethreat"].active); |
383 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb5:SetVisible(true); |
384 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb6:SetText("Utility"); |
385 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb6:SetChecked (self.settings["Utility"].active); |
386 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb6:SetVisible(true); |
387 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb7:SetText("Tracking"); |
388 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb7:SetChecked (self.settings["Tracking"].active); |
389 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb7:SetVisible(true); |
390 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb8:SetText("Fear"); |
391 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb8:SetChecked (self.settings["Fear"].active); |
392 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb8:SetVisible(true); |
393 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb9:SetText("Stance"); |
394 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb9:SetChecked (self.settings["Stance"].active); |
395 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb9:SetVisible(true); |
396 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb10:SetText("Focus"); |
397 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb10:SetChecked (self.settings["Focus"].active); |
398 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb10:SetVisible(true); |
399 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb11:SetText("Restoration"); |
400 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb11:SetChecked (self.settings["Restoration"].active); |
401 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb11:SetVisible(true); |
402 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb12:SetText("Trapping"); |
403 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb12:SetChecked (self.settings["Trapping"].active); |
404 |
|
Kragenwar-3044 |
self.setupbb.checkboxbb12:SetVisible(true); |
405 |
14 |
Valdacil-446 |
self.setupbb.checkboxbb13:SetText("Oils"); |
406 |
|
Valdacil-446 |
self.setupbb.checkboxbb13:SetChecked (self.settings["Oils"].active); |
407 |
|
Valdacil-446 |
self.setupbb.checkboxbb13:SetVisible(true); |
408 |
|
Valdacil-446 |
self.setupbb.checkboxbb14:SetText("Ports"); |
409 |
|
Valdacil-446 |
self.setupbb.checkboxbb14:SetChecked (self.settings["Ports"].active); |
410 |
|
Valdacil-446 |
self.setupbb.checkboxbb14:SetVisible(true); |
411 |
6 |
Kragenwar-3044 |
|
412 |
|
Kragenwar-3044 |
self.setupf.checkboxf1:SetText("Rain of Thorns"); |
413 |
|
Kragenwar-3044 |
self.setupf.checkboxf1:SetChecked (self.settings["Features"].thorns); |
414 |
|
Kragenwar-3044 |
self.setupf.checkboxf1:SetVisible(true); |
415 |
|
Kragenwar-3044 |
self.setupf.checkboxf2:SetText("Bard's Arrow"); |
416 |
|
Kragenwar-3044 |
self.setupf.checkboxf2:SetChecked (self.settings["Features"].bards); |
417 |
|
Kragenwar-3044 |
self.setupf.checkboxf2:SetVisible(true); |
418 |
|
Kragenwar-3044 |
self.setupf.checkboxf3:SetText("Press Onward"); |
419 |
|
Kragenwar-3044 |
self.setupf.checkboxf3:SetChecked (self.settings["Features"].pressonward); |
420 |
|
Kragenwar-3044 |
self.setupf.checkboxf3:SetVisible(true); |
421 |
|
Kragenwar-3044 |
self.setupf.checkboxf4:SetText("Combat Traps"); |
422 |
|
Kragenwar-3044 |
self.setupf.checkboxf4:SetChecked (self.settings["Features"].combattraps); |
423 |
|
Kragenwar-3044 |
self.setupf.checkboxf4:SetVisible(true); |
424 |
|
Kragenwar-3044 |
self.setupf.checkboxf5:SetText("Strong Draw"); |
425 |
|
Kragenwar-3044 |
self.setupf.checkboxf5:SetChecked (self.settings["Features"].strongdraw); |
426 |
|
Kragenwar-3044 |
self.setupf.checkboxf5:SetVisible(true); |
427 |
|
Kragenwar-3044 |
self.setupf.checkboxf6:SetText("arrowstorm"); |
428 |
|
Kragenwar-3044 |
self.setupf.checkboxf6:SetChecked (self.settings["Features"].arrowstorm); |
429 |
|
Kragenwar-3044 |
self.setupf.checkboxf6:SetVisible(true); |
430 |
|
Kragenwar-3044 |
self.setupf.checkboxf7:SetText("Combat Press Onward"); |
431 |
|
Kragenwar-3044 |
self.setupf.checkboxf7:SetChecked (self.settings["Features"].combatpressonward); |
432 |
|
Kragenwar-3044 |
self.setupf.checkboxf7:SetVisible(true); |
433 |
|
Kragenwar-3044 |
|
434 |
|
Kragenwar-3044 |
self.setupf.checkboxf10:SetText("Dim Swift Stroke"); |
435 |
|
Kragenwar-3044 |
self.setupf.checkboxf10:SetChecked (self.settings["Features"].dimswiftstroke); |
436 |
|
Kragenwar-3044 |
self.setupf.checkboxf10:SetVisible(true); |
437 |
|
Kragenwar-3044 |
|
438 |
14 |
Valdacil-446 |
self.setupf.combo1box.listBox:ClearItems(); |
439 |
|
Valdacil-446 |
self.setupf.combo1Label:SetText("Primary Stance"); |
440 |
|
Valdacil-446 |
self.setupf.combo1Label:SetVisible(true); |
441 |
|
Valdacil-446 |
local combolist = {"Strength", "Precision", "Endurance", "Fleet"} |
442 |
|
Valdacil-446 |
for k,v in pairs(combolist) do |
443 |
|
Valdacil-446 |
self.setupf.combo1box:AddItem(v, k); |
444 |
6 |
Kragenwar-3044 |
end |
445 |
14 |
Valdacil-446 |
self.setupf.combo1box:SetVisible(true); |
446 |
6 |
Kragenwar-3044 |
self.setupf.combo1box:SetSelection(self.settings["Features"].primarystance); |
447 |
14 |
Valdacil-446 |
|
448 |
|
Valdacil-446 |
self.setupf.combo2box.listBox:ClearItems(); |
449 |
|
Valdacil-446 |
self.setupf.combo2Label:SetText("Secondary Stance"); |
450 |
|
Valdacil-446 |
self.setupf.combo2Label:SetVisible(true); |
451 |
|
Valdacil-446 |
combolist = {"Strength", "Precision", "Endurance", "Fleet"} |
452 |
|
Valdacil-446 |
for k,v in pairs(combolist) do |
453 |
|
Valdacil-446 |
self.setupf.combo2box:AddItem(v, k); |
454 |
6 |
Kragenwar-3044 |
end |
455 |
14 |
Valdacil-446 |
self.setupf.combo2box:SetVisible(true); |
456 |
6 |
Kragenwar-3044 |
self.setupf.combo2box:SetSelection(self.settings["Features"].secondarystance); |
457 |
|
Kragenwar-3044 |
|
458 |
14 |
Valdacil-446 |
self.setupf.combo3box.listBox:ClearItems(); |
459 |
|
Valdacil-446 |
self.setupf.combo3Label:SetText("Find Path Active"); |
460 |
|
Valdacil-446 |
self.setupf.combo3Label:SetVisible(true); |
461 |
|
Valdacil-446 |
combolist = {"None", "Dim", "Hide"} |
462 |
|
Valdacil-446 |
for k,v in pairs(combolist) do |
463 |
|
Valdacil-446 |
self.setupf.combo3box:AddItem(v, k); |
464 |
6 |
Kragenwar-3044 |
end |
465 |
14 |
Valdacil-446 |
self.setupf.combo3box:SetVisible(true); |
466 |
|
Valdacil-446 |
self.setupf.combo3box:SetSelection(self.settings["Features"].findpathactive); |
467 |
6 |
Kragenwar-3044 |
|
468 |
14 |
Valdacil-446 |
self.setupf.combo4box.listBox:ClearItems(); |
469 |
|
Valdacil-446 |
self.setupf.combo4Label:SetText("Stance Active"); |
470 |
|
Valdacil-446 |
self.setupf.combo4Label:SetVisible(true); |
471 |
|
Valdacil-446 |
combolist = {"None", "Dim", "Hide"} |
472 |
|
Valdacil-446 |
for k,v in pairs(combolist) do |
473 |
|
Valdacil-446 |
self.setupf.combo4box:AddItem(v, k); |
474 |
|
Valdacil-446 |
end |
475 |
|
Valdacil-446 |
self.setupf.combo4box:SetVisible(true); |
476 |
|
Valdacil-446 |
self.setupf.combo4box:SetSelection(self.settings["Features"].stanceactive); |
477 |
|
Valdacil-446 |
|
478 |
6 |
Kragenwar-3044 |
self.setupqs.quickslot1:SetVisible(true); |
479 |
|
Kragenwar-3044 |
pcall(function() self.setupqs.quickslot1:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].fireoil["type"], self.settings["Quickslots"].fireoil["data"] ) ); end); |
480 |
|
Kragenwar-3044 |
self.setupqs.quickslot1cb:SetText("Fire Oil"); |
481 |
|
Kragenwar-3044 |
self.setupqs.quickslot1cb:SetChecked(self.settings["Quickslots"].fireoil["active"]); |
482 |
|
Kragenwar-3044 |
self.setupqs.quickslot1cb:SetVisible(true); |
483 |
|
Kragenwar-3044 |
self.setupqs.quickslot2:SetVisible(true); |
484 |
|
Kragenwar-3044 |
pcall(function() self.setupqs.quickslot2:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].lightoil["type"], self.settings["Quickslots"].lightoil["data"] ) ); end); |
485 |
|
Kragenwar-3044 |
self.setupqs.quickslot2cb:SetText("Light Oil"); |
486 |
|
Kragenwar-3044 |
self.setupqs.quickslot2cb:SetChecked(self.settings["Quickslots"].lightoil["active"]); |
487 |
|
Kragenwar-3044 |
self.setupqs.quickslot2cb:SetVisible(true); |
488 |
|
Kragenwar-3044 |
|
489 |
|
Kragenwar-3044 |
|
490 |
|
Kragenwar-3044 |
end |
491 |
|
Kragenwar-3044 |
|
492 |
|
Kragenwar-3044 |
|
493 |
|
Kragenwar-3044 |
-- SET ALL VARIABLES OFF OF SETUP WINDOW |
494 |
|
Kragenwar-3044 |
function HunterBars:SetupClosing() |
495 |
|
Kragenwar-3044 |
self.settings["Parry"].active = self.setupbb.checkboxbb1:IsChecked(); |
496 |
|
Kragenwar-3044 |
self.settings["Melee"].active = self.setupbb.checkboxbb2:IsChecked(); |
497 |
|
Kragenwar-3044 |
self.settings["BowInduct"].active = self.setupbb.checkboxbb3:IsChecked(); |
498 |
|
Kragenwar-3044 |
self.settings["BowFocus"].active = self.setupbb.checkboxbb4:IsChecked(); |
499 |
|
Kragenwar-3044 |
self.settings["Dethreat"].active = self.setupbb.checkboxbb5:IsChecked(); |
500 |
|
Kragenwar-3044 |
self.settings["Utility"].active = self.setupbb.checkboxbb6:IsChecked(); |
501 |
|
Kragenwar-3044 |
self.settings["Tracking"].active = self.setupbb.checkboxbb7:IsChecked(); |
502 |
|
Kragenwar-3044 |
self.settings["Fear"].active = self.setupbb.checkboxbb8:IsChecked(); |
503 |
|
Kragenwar-3044 |
self.settings["Stance"].active = self.setupbb.checkboxbb9:IsChecked(); |
504 |
|
Kragenwar-3044 |
self.settings["Focus"].active = self.setupbb.checkboxbb10:IsChecked(); |
505 |
|
Kragenwar-3044 |
self.settings["Restoration"].active = self.setupbb.checkboxbb11:IsChecked(); |
506 |
|
Kragenwar-3044 |
self.settings["Trapping"].active = self.setupbb.checkboxbb12:IsChecked(); |
507 |
14 |
Valdacil-446 |
self.settings["Oils"].active = self.setupbb.checkboxbb13:IsChecked(); |
508 |
|
Valdacil-446 |
self.settings["Ports"].active = self.setupbb.checkboxbb14:IsChecked(); |
509 |
6 |
Kragenwar-3044 |
|
510 |
|
Kragenwar-3044 |
self.settings["Features"].thorns = self.setupf.checkboxf1:IsChecked(); |
511 |
|
Kragenwar-3044 |
self.settings["Features"].bards = self.setupf.checkboxf2:IsChecked(); |
512 |
|
Kragenwar-3044 |
self.settings["Features"].pressonward = self.setupf.checkboxf3:IsChecked(); |
513 |
|
Kragenwar-3044 |
self.settings["Features"].combattraps = self.setupf.checkboxf4:IsChecked(); |
514 |
|
Kragenwar-3044 |
self.settings["Features"].strongdraw = self.setupf.checkboxf5:IsChecked(); |
515 |
|
Kragenwar-3044 |
self.settings["Features"].arrowstorm = self.setupf.checkboxf6:IsChecked(); |
516 |
|
Kragenwar-3044 |
self.settings["Features"].combatpressonward = self.setupf.checkboxf7:IsChecked(); |
517 |
|
Kragenwar-3044 |
|
518 |
|
Kragenwar-3044 |
self.settings["Features"].dimswiftstroke = self.setupf.checkboxf10:IsChecked(); |
519 |
|
Kragenwar-3044 |
|
520 |
|
Kragenwar-3044 |
self.settings["Features"].primarystance = self.setupf.combo1box:GetSelection(); |
521 |
|
Kragenwar-3044 |
self.settings["Features"].secondarystance = self.setupf.combo2box:GetSelection(); |
522 |
|
Kragenwar-3044 |
self.settings["Features"].findpathactive = self.setupf.combo3box:GetSelection(); |
523 |
14 |
Valdacil-446 |
self.settings["Features"].stanceactive = self.setupf.combo4box:GetSelection(); |
524 |
6 |
Kragenwar-3044 |
|
525 |
|
Kragenwar-3044 |
if (self.setupqs.quickslot1:GetShortcut():GetData() ~= "" ) then |
526 |
|
Kragenwar-3044 |
self.settings["Quickslots"].fireoil = { active = self.setupqs.quickslot1cb:IsChecked(), type = self.setupqs.quickslot1:GetShortcut():GetType(), data = self.setupqs.quickslot1:GetShortcut():GetData() }; |
527 |
|
Kragenwar-3044 |
else |
528 |
|
Kragenwar-3044 |
self.settings["Quickslots"].fireoil = { active = false, type = Turbine.UI.Lotro.ShortcutType.Undefined, data = "" }; |
529 |
|
Kragenwar-3044 |
end |
530 |
|
Kragenwar-3044 |
if (self.setupqs.quickslot2:GetShortcut():GetData() ~= "" ) then |
531 |
|
Kragenwar-3044 |
self.settings["Quickslots"].lightoil = { active = self.setupqs.quickslot2cb:IsChecked(), type = self.setupqs.quickslot2:GetShortcut():GetType(), data = self.setupqs.quickslot2:GetShortcut():GetData() }; |
532 |
|
Kragenwar-3044 |
else |
533 |
|
Kragenwar-3044 |
self.settings["Quickslots"].lightoil = { active = false, type = Turbine.UI.Lotro.ShortcutType.Undefined, data = "" }; |
534 |
|
Kragenwar-3044 |
end |
535 |
|
Kragenwar-3044 |
|
536 |
|
Kragenwar-3044 |
settings.opacity = (self.setupbb.opacityslider:GetValue() / 100); |
537 |
|
Kragenwar-3044 |
settings.lockslots = self.setupbb.checkboxlock:IsChecked(); |
538 |
|
Kragenwar-3044 |
settings.snaptogrid = self.setupbb.checkboxgrid:IsChecked(); |
539 |
|
Kragenwar-3044 |
|
540 |
|
Kragenwar-3044 |
self:SaveSettings(); |
541 |
|
Kragenwar-3044 |
self:Refresh(); |
542 |
|
Kragenwar-3044 |
|
543 |
|
Kragenwar-3044 |
end |
544 |
|
Kragenwar-3044 |
|
545 |
|
Kragenwar-3044 |
|
546 |
|
Kragenwar-3044 |
-- REFRESH SKILLS AND BARS |
547 |
|
Kragenwar-3044 |
function HunterBars:Refresh() |
548 |
|
Kragenwar-3044 |
|
549 |
|
Kragenwar-3044 |
-- Refresh Player Level |
550 |
|
Kragenwar-3044 |
vars.playerlevel = vars.player:GetLevel(); |
551 |
|
Kragenwar-3044 |
|
552 |
|
Kragenwar-3044 |
-- GENERIC REFRESH (Required for all classes) |
553 |
|
Kragenwar-3044 |
self:RefreshBars(); |
554 |
|
Kragenwar-3044 |
|
555 |
|
Kragenwar-3044 |
-- CLASS SPECIFIC REFRESH |
556 |
|
Kragenwar-3044 |
-- Setup Features |
557 |
|
Kragenwar-3044 |
self.skills["RainofThorns"]:SetActive(self.settings["Features"].thorns); |
558 |
|
Kragenwar-3044 |
self.skills["BardsArrow"]:SetActive(self.settings["Features"].bards); |
559 |
|
Kragenwar-3044 |
self.skills["PressOnward"]:SetActive(self.settings["Features"].pressonward); |
560 |
|
Kragenwar-3044 |
|
561 |
|
Kragenwar-3044 |
self.skills["FireOil"]:SetQuickslot(self.settings["Quickslots"].fireoil["active"], self.settings["Quickslots"].fireoil["type"], self.settings["Quickslots"].fireoil["data"]); |
562 |
|
Kragenwar-3044 |
self.skills["LightOil"]:SetQuickslot(self.settings["Quickslots"].lightoil["active"], self.settings["Quickslots"].lightoil["type"], self.settings["Quickslots"].lightoil["data"]); |
563 |
|
Kragenwar-3044 |
|
564 |
|
Kragenwar-3044 |
self.multi["TrackingSlot"]:Clear(); |
565 |
|
Kragenwar-3044 |
self.multi["TrackingSlot"]:AddShortCut("PassageofNature", 12, "0x70003F45"); |
566 |
|
Kragenwar-3044 |
self.multi["TrackingSlot"]:AddShortCut("PassageofFoes", 22, "0x70003F46"); |
567 |
|
Kragenwar-3044 |
self.multi["TrackingSlot"]:AddShortCut("PassageofShadow", 32, "0x70003F47"); |
568 |
|
Kragenwar-3044 |
self.multi["TrackingSlot"]:LevelCheck(); |
569 |
|
Kragenwar-3044 |
|
570 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:Clear(); |
571 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:AddShortCut("StrengthStance", 6, "0x70003F4E"); |
572 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:AddShortCut("PrecisionStance", 18, "0x70003F4D"); |
573 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:AddShortCut("EnduranceStance", 28, "0x70003F4F"); |
574 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:AddShortCut("FleetStance", 56, "0x70010065"); |
575 |
|
Kragenwar-3044 |
self.multi["StanceSlot"]:LevelCheck(); |
576 |
|
Kragenwar-3044 |
|
577 |
|
Kragenwar-3044 |
self.multi["TrappingSlot"]:Clear(); |
578 |
|
Kragenwar-3044 |
self.multi["TrappingSlot"]:AddShortCut("SetTrap", 6, "0x700030BB"); |
579 |
|
Kragenwar-3044 |
self.multi["TrappingSlot"]:AddShortCut("SetSnare", 36, "0x7000A6B1"); |
580 |
|
Kragenwar-3044 |
self.multi["TrappingSlot"]:LevelCheck(); |
581 |
14 |
Valdacil-446 |
|
582 |
|
Valdacil-446 |
self.multi["PortsSlot"]:Clear(); |
583 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoMichelDelving", 22, "0x7000A2C3"); |
584 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoThorinsHall", 24, "0x70003F41"); |
585 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("ReturntoCamp", 26, "0x7000A2C1"); |
586 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoOstGuruth", 26, "0x7000A2C2"); |
587 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoBree", 32, "0x70003F42"); |
588 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoEsteldin", 34, "0x70003F43"); |
589 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoEvendim", 36, "0x7000A2C4"); |
590 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoWestAngmar", 44, "0x7000A2C5"); |
591 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoRivendell", 46, "0x70003F44"); |
592 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoSuriKyla", 48, "0x70017C82"); |
593 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoEastAngmar", 48, "0x7000A2C6"); |
594 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoEchadDunann", 50, "0x70017C81"); |
595 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoTwentyFirstHall",56, "0x70017C7A"); |
596 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoMirkEaves", 62, "0x7001F459"); |
597 |
|
Valdacil-446 |
self.multi["PortsSlot"]:AddShortCut("GuidetoHarndirion", 62, "0x700235EF"); |
598 |
|
Valdacil-446 |
self.multi["PortsSlot"]:LevelCheck(); |
599 |
|
Valdacil-446 |
|
600 |
6 |
Kragenwar-3044 |
if (self.settings["Features"].findpathactive == 1) then |
601 |
|
Kragenwar-3044 |
self.skills["FindthePath"]:SetActive(true); |
602 |
|
Kragenwar-3044 |
self.skills["FindthePath"]:SetHover(false); |
603 |
|
Kragenwar-3044 |
elseif (self.settings["Features"].findpathactive == 2) then |
604 |
|
Kragenwar-3044 |
self.skills["FindthePath"]:SetActive(true); |
605 |
|
Kragenwar-3044 |
self.skills["FindthePath"]:SetHover(self.skills["FindthePath"].state); |
606 |
|
Kragenwar-3044 |
else |
607 |
|
Kragenwar-3044 |
self.skills["FindthePath"]:SetActive(not self.skills["FindthePath"].state); |
608 |
|
Kragenwar-3044 |
end |
609 |
|
Kragenwar-3044 |
self.skills["PressOnward"]:SetCombat(self.settings["Features"].combatpressonward, self.settings["Features"].pressonward); |
610 |
|
Kragenwar-3044 |
self.multi["TrappingSlot"]:SetCombat(self.settings["Features"].combattraps, true); |
611 |
|
Kragenwar-3044 |
|
612 |
|
Kragenwar-3044 |
-- Refresh States |
613 |
|
Kragenwar-3044 |
self:CombatChange(vars.player:IsInCombat()); |
614 |
|
Kragenwar-3044 |
self:StanceChange(vars.classattr:GetStance()); |
615 |
|
Kragenwar-3044 |
self:FocusChange(vars.classattr:GetFocus()); |
616 |
|
Kragenwar-3044 |
|
617 |
|
Kragenwar-3044 |
Turbine.Shell.WriteLine("KragenBars: Hunter Bars refresh completed successfully."); |
618 |
|
Kragenwar-3044 |
|
619 |
|
Kragenwar-3044 |
end |