lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

[/] [branches/] [3.10/] [KragenBars/] [HunterBars.lua] - Blame information for rev 15

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 Kragenwar-3044
import "Turbine.UI";
2 Kragenwar-3044
import "Turbine.UI.Lotro";
3 Kragenwar-3044
import "Turbine.Gameplay";
4 Kragenwar-3044
import "KragenPlugs.Utils";
5 Kragenwar-3044
import "KragenPlugs.KragenBars";
6 Kragenwar-3044
 
7 Kragenwar-3044
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 Kragenwar-3044
    self.skills["BardsArrow"]                           = SkillSlot(self.bars["Fear"],          2, 1, self.settings["Features"].bardsarrow, 41, "0x700010D3");
89 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

All times are GMT -5. The time now is 01:55 AM.


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