lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

[/] [branches/] [3.11/] [KragenBars/] [BurglarBars.lua] - Blame information for rev 26

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
BurglarBars = class( KragenPlugs.KragenBars.ClassBar );
8 Kragenwar-3044
 
9 Kragenwar-3044
function BurglarBars:Constructor()
10 Kragenwar-3044
 
11 Kragenwar-3044
    KragenPlugs.KragenBars.ClassBar.Constructor( self );
12 Kragenwar-3044
 
13 Kragenwar-3044
    -- class settings arent saved then load the 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
    if (vars.classattr:GetStance() == 1) then
26 Kragenwar-3044
                self.mischiefflag = 2;
27 Kragenwar-3044
        else
28 Kragenwar-3044
                self.mischiefflag = 0;
29 Kragenwar-3044
        end
30 Kragenwar-3044
 
31 Kragenwar-3044
        self.poison = 0;
32 21 Kragenwar-3044
 
33 Kragenwar-3044
        self.effectlist = {};
34 Kragenwar-3044
        -- ENGLISH CLIENT
35 Kragenwar-3044
        if (vars.locale == 'en') then
36 Kragenwar-3044
                self.effectlist['CriticalResponse']             = 'Critical Response';
37 Kragenwar-3044
                self.effectlist['DoubleEdged']                          = 'Double Edged';
38 Kragenwar-3044
                self.effectlist['FMResponse']                           = 'Fellowship Manoeuvre Response';
39 Kragenwar-3044
                self.effectlist['ImprovedFeint']                        = 'Improved Feint';
40 Kragenwar-3044
                self.effectlist['Campsite']                             = 'Campsite';
41 Kragenwar-3044
                self.effectlist['Stunned']                                      = 'Stunned';
42 Kragenwar-3044
                self.effectlist['Dazed']                                        = 'Dazed';
43 Kragenwar-3044
                self.effectlist['KnockedDown']                          = 'Knocked Down';
44 Kragenwar-3044
                self.effectlist['KnockedOut']                           = 'Knocked Out';
45 Kragenwar-3044
 
46 Kragenwar-3044
        -- FRENCH CLIENT
47 Kragenwar-3044
        elseif (vars.locale == 'fr') then
48 Kragenwar-3044
                self.effectlist['CriticalResponse']             = 'Critical Response';
49 Kragenwar-3044
                self.effectlist['DoubleEdged']                          = 'Double Edged';
50 Kragenwar-3044
                self.effectlist['FMResponse']                           = 'Fellowship Manoeuvre Response';
51 Kragenwar-3044
                self.effectlist['ImprovedFeint']                        = 'Improved Feint';
52 Kragenwar-3044
                self.effectlist['Campsite']                             = 'Campsite';
53 Kragenwar-3044
                self.effectlist['Stunned']                                      = 'Etourdissement';
54 Kragenwar-3044
                self.effectlist['Dazed']                                        = 'Hébété';
55 Kragenwar-3044
                self.effectlist['KnockedDown']                          = 'Renversé';
56 Kragenwar-3044
                self.effectlist['KnockedOut']                           = 'Knocked Out';
57 Kragenwar-3044
 
58 Kragenwar-3044
        -- GERMAN CLIENT
59 Kragenwar-3044
        elseif (vars.locale == 'de') then
60 Kragenwar-3044
                self.effectlist['CriticalResponse']             = 'Kritische Erwiderung';
61 Kragenwar-3044
                self.effectlist['DoubleEdged']                          = 'Zweischneidiger Schlag';
62 Kragenwar-3044
                self.effectlist['FMResponse']                           = 'Erwiderung "Gefährtenmanöver"';
63 Kragenwar-3044
                self.effectlist['ImprovedFeint']                        = 'Improved Feint';
64 Kragenwar-3044
                self.effectlist['Campsite']                             = 'Campsite';
65 Kragenwar-3044
                self.effectlist['Stunned']                                      = 'Bewusstlos geschlagen';
66 Kragenwar-3044
                self.effectlist['Dazed']                                        = 'Benommenheit';
67 Kragenwar-3044
                self.effectlist['KnockedDown']                          = 'Zu Boden geschlagen';
68 Kragenwar-3044
                self.effectlist['KnockedOut']                           = 'Knocked Out';
69 Kragenwar-3044
        end
70 6 Kragenwar-3044
 
71 Kragenwar-3044
    -- ALL X, Y, WIDTH, HEIGHT values are in quickslot (ie: 1 width = the width of one quickslot: 35 px);
72 Kragenwar-3044
 
73 Kragenwar-3044
    -- Build Windows        SkillWindow( name:String, defaultx:int, defaulty:int, width:int, height:int, settings:table);
74 Kragenwar-3044
    self.windows["QuickBar8"]   = SkillWindow("KB: Bar8",                       7, 1, 6, 1,     self.settings["QuickBar8"]              );
75 Kragenwar-3044
        self.windows["QuickBar7"]       = SkillWindow("KB: Bar7",                       1, 1, 6, 1,     self.settings["QuickBar7"]              );
76 Kragenwar-3044
        self.windows["QuickBar6"]       = SkillWindow("KB: Bar6",                       7, 2, 6, 1,     self.settings["QuickBar6"]              );
77 Kragenwar-3044
        self.windows["QuickBar5"]       = SkillWindow("KB: Bar5",                       1, 2, 6, 1,     self.settings["QuickBar5"]              );
78 Kragenwar-3044
        self.windows["QuickBar4"]       = SkillWindow("KB: Bar4",                       7, 3, 6, 1,     self.settings["QuickBar4"]              );
79 Kragenwar-3044
        self.windows["QuickBar3"]       = SkillWindow("KB: Bar3",                       1, 3, 6, 1,     self.settings["QuickBar3"]              );
80 Kragenwar-3044
        self.windows["QuickBar2"]       = SkillWindow("KB: Bar2",                       7, 4, 6, 1,     self.settings["QuickBar2"]              );
81 Kragenwar-3044
        self.windows["QuickBar1"]       = SkillWindow("KB: Bar1",                       1, 4, 6, 1,     self.settings["QuickBar1"]              );
82 Kragenwar-3044
 
83 Kragenwar-3044
        self.windows["FMReactives"]     = SkillWindow("FM Reactives",                   7, 1, 2, 1,     self.settings["FMReactives"]    );
84 Kragenwar-3044
    self.windows["Crit"]                = SkillWindow("Crit Reactives",                 1, 2, 3, 2,     self.settings["Crit"]                   );
85 Kragenwar-3044
    self.windows["Stunned"]             = SkillWindow("Stun",                                   12, 2, 1, 1,    self.settings["Stunned"]                );
86 Kragenwar-3044
    self.windows["Stance"]              = SkillWindow("Stance",                                 11, 3, 2, 1,    self.settings["Stance"]                 );
87 Kragenwar-3044
 
88 Kragenwar-3044
 
89 Kragenwar-3044
    -- Build Bars           SkillBar( parent:SkillWindow, x:int, y:int, width:int, height:int, active:Boolean);
90 Kragenwar-3044
    self.bars["CritTier3"]                      = SkillBar(self.windows["Crit"],                1, 1, 3, 2, true, true);
91 Kragenwar-3044
    self.bars["CritTier1"]                      = SkillBar(self.windows["Crit"],                1, 2, 1, 1, true, true);
92 Kragenwar-3044
        self.bars["CritTier2"]                  = SkillBar(self.windows["Crit"],                1, 2, 1, 1, true, true);
93 Kragenwar-3044
 
94 Kragenwar-3044
    self.bars["Stance"]                         = SkillBar(self.windows["Stance"],              1, 1, 2, 1, true, true);
95 Kragenwar-3044
    self.bars["Stunned"]            = SkillBar(self.windows["Stunned"],         1, 1, 1, 1, true, false);
96 Kragenwar-3044
    self.bars["FMReactives"]            = SkillBar(self.windows["FMReactives"], 1, 1, 2, 1, true, true);
97 Kragenwar-3044
 
98 Kragenwar-3044
        self.bars["QuickBar1"]          = SkillBar(self.windows["QuickBar1"],   1, 1, 6, 1, true, false);
99 Kragenwar-3044
        self.bars["QuickBar2"]          = SkillBar(self.windows["QuickBar2"],   1, 1, 6, 1, true, false);
100 Kragenwar-3044
        self.bars["QuickBar3"]          = SkillBar(self.windows["QuickBar3"],   1, 1, 6, 1, true, false);
101 Kragenwar-3044
        self.bars["QuickBar4"]          = SkillBar(self.windows["QuickBar4"],   1, 1, 6, 1, true, false);
102 Kragenwar-3044
        self.bars["QuickBar5"]          = SkillBar(self.windows["QuickBar5"],   1, 1, 6, 1, true, false);
103 Kragenwar-3044
        self.bars["QuickBar6"]          = SkillBar(self.windows["QuickBar6"],   1, 1, 6, 1, true, false);
104 Kragenwar-3044
        self.bars["QuickBar7"]          = SkillBar(self.windows["QuickBar7"],   1, 1, 6, 1, true, false);
105 Kragenwar-3044
        self.bars["QuickBar8"]          = SkillBar(self.windows["QuickBar8"],   1, 1, 6, 1, true, false);
106 Kragenwar-3044
 
107 Kragenwar-3044
 
108 Kragenwar-3044
        -- Build Skills         SkillSlot( parent:SkillBar, x:int, y:int, active:Boolean, level:int, hexcode:String );
109 Kragenwar-3044
        --                      For skills that need to be replaced with a new version you can enter level as a table
110 Kragenwar-3044
        --                                              ie.  {["start"] = 1, ["end"] = 34]}
111 Kragenwar-3044
        --                                              then set the new skill level to 34 and it will replace the old at that level
112 Kragenwar-3044
    self.skills["BurglarsAdvantage"]            = SkillSlot(self.bars["CritTier1"],     1, 1, false, 2, "0x70003F0B");
113 Kragenwar-3044
    self.skills["DoubleEdgedStrike"]            = SkillSlot(self.bars["CritTier2"],     1, 1, false, 24, "0x70003F0C");
114 Kragenwar-3044
    self.skills["ExposedThroat"]                        = SkillSlot(self.bars["CritTier3"],     2, 2, false, 41, "0x70000F80");
115 Kragenwar-3044
    self.skills["FlashingBlades"]                       = SkillSlot(self.bars["CritTier3"],     3, 2, false, 41, "0x70000F5D");
116 Kragenwar-3044
    self.skills["LuckyStrike"]                          = SkillSlot(self.bars["CritTier3"],     1, 1, false, 56, "0x7000FD86");
117 Kragenwar-3044
    self.skills["FeintAttack"]                          = SkillSlot(self.bars["CritTier3"],     2, 1, false, 58, "0x7000FB71");
118 Kragenwar-3044
    self.skills["SmallSnag"]                            = SkillSlot(self.bars["CritTier3"],     3, 1, false, 60, "0x7000FB73");
119 Kragenwar-3044
 
120 Kragenwar-3044
    self.skills["SeizeInitiative"]                      = SkillSlot(self.bars["FMReactives"],   1, 1, false, 44, "0x7000D447");
121 Kragenwar-3044
    self.skills["EscapeClause"]                         = SkillSlot(self.bars["FMReactives"],   2, 1, false, 48, "0x7000D443");
122 Kragenwar-3044
 
123 Kragenwar-3044
    self.skills["Sneak"]                                        = SkillSlot(self.bars["Stance"],                1, 1, true, 28, "0x70003212");
124 Kragenwar-3044
    self.skills["Mischief"]                                     = SkillSlot(self.bars["Stance"],                2, 1, true, 20, "0x7000D4A4");
125 Kragenwar-3044
 
126 Kragenwar-3044
    self.skills["FindFooting"]                          = SkillSlot(self.bars["Stunned"],               1, 1, false, 32, "0x70003F14");
127 Kragenwar-3044
 
128 Kragenwar-3044
    self.skills["SurpriseStrike"]                       = SkillSlot(self.bars["QuickBar1"],             1, 1, true, 1, "0x70003F08");
129 Kragenwar-3044
    self.skills["CunningAttack"]                        = SkillSlot(self.bars["QuickBar1"],             2, 1, true, 1, "0x70003F09");
130 Kragenwar-3044
    self.skills["SubtleStab"]                           = SkillSlot(self.bars["QuickBar1"],             3, 1, true, 1, "0x700031D3");
131 Kragenwar-3044
        self.skills["Disable"]                                  = SkillSlot(self.bars["QuickBar1"],             4, 1, true, 4, "0x700031FA");
132 Kragenwar-3044
        self.skills["DITE"]                                             = SkillSlot(self.bars["QuickBar1"],             5, 1, true, 16, "0x700031E7");
133 Kragenwar-3044
    self.skills["CounterDefences"]                      = SkillSlot(self.bars["QuickBar1"],             6, 1, true, 26, "0x70003200");
134 Kragenwar-3044
 
135 Kragenwar-3044
    self.skills["Riddle"]                                       = SkillSlot(self.bars["QuickBar2"],             1, 1, true, 8, "0x700031D8");
136 Kragenwar-3044
    self.skills["Addle"]                                        = SkillSlot(self.bars["QuickBar2"],             2, 1, true, 14, "0x70003F0E");
137 Kragenwar-3044
    self.skills["Provoke"]                                      = SkillSlot(self.bars["QuickBar2"],     3, 1, true, 34, "0x70003F0A");
138 Kragenwar-3044
    self.skills["Diversion"]                            = SkillSlot(self.bars["QuickBar2"],     4, 1, true, 18, "0x700031F5");
139 Kragenwar-3044
        self.skills["HideInPlainSight"]                 = SkillSlot(self.bars["QuickBar2"],     5, 1, true, { 30, 54 }, { "0x7000320D", "0x70015A02" });
140 Kragenwar-3044
    self.skills["ShareTheFun"]                          = SkillSlot(self.bars["QuickBar2"],     6, 1, true, 42, "0x7000D448");
141 Kragenwar-3044
 
142 Kragenwar-3044
    self.skills["MischieviousGlee"]                     = SkillSlot(self.bars["QuickBar3"],             4, 1, true, {10, 64}, { "0x70003F10", "0x70020DD0" });
143 Kragenwar-3044
    self.skills["StartlingTwist"]                       = SkillSlot(self.bars["QuickBar3"],             5, 1, true, {20, 52}, { "0x70003F0F", "0x70015A04" });
144 Kragenwar-3044
    self.skills["CleverRetort"]                         = SkillSlot(self.bars["QuickBar3"],             6, 1, self.settings["Features"].honedwit or vars.classattr:GetStance() == 1, 30, "0x7000D440");
145 Kragenwar-3044
 
146 Kragenwar-3044
    self.skills["Enrage"]                                       = SkillSlot(self.bars["QuickBar4"],             1, 1, true, 38, "0x70003218");
147 Kragenwar-3044
        self.skills["ExploitOpening"]                   = SkillSlot(self.bars["QuickBar4"],     2, 1, true, 12, "0x70003F0D");
148 Kragenwar-3044
    self.skills["Trip"]                                         = SkillSlot(self.bars["QuickBar4"],     3, 1, true, 28, "0x70003F07");
149 Kragenwar-3044
 
150 Kragenwar-3044
 
151 Kragenwar-3044
    self.skills["Aim"]                                          = SkillSlot(self.bars["QuickBar5"],             4, 1, true, 12, "0x700031E1");
152 Kragenwar-3044
    self.skills["LIE"]                                          = SkillSlot(self.bars["QuickBar5"],     5, 1, true, 50, "0x7000D445");
153 Kragenwar-3044
    self.skills["RevealWeakness"]                       = SkillSlot(self.bars["QuickBar5"],             6, 1, true, 22, "0x70003F11");
154 Kragenwar-3044
 
155 Kragenwar-3044
    self.skills["WellPlacedStrike"]                     = SkillSlot(self.bars["QuickBar6"],             1, 1, true, 40, "0x7000D43E");
156 Kragenwar-3044
    self.skills["Confound"]                                     = SkillSlot(self.bars["QuickBar6"],             2, 1, vars.classattr:GetStance() == 1, 46, "0x7000D441");
157 Kragenwar-3044
    self.skills["Marbles"]                                      = ItemSlot(self.bars["QuickBar6"],      3, 1, self.settings["Quickslots"].marbles["active"], self.settings["Quickslots"].marbles["type"], self.settings["Quickslots"].marbles["data"]);
158 Kragenwar-3044
    self.skills["Caltrops"]                                     = ItemSlot(self.bars["QuickBar6"],  4, 1, self.settings["Quickslots"].caltrops["active"], self.settings["Quickslots"].caltrops["type"], self.settings["Quickslots"].caltrops["data"]);
159 Kragenwar-3044
    self.skills["StunDust"]                                     = ItemSlot(self.bars["QuickBar6"],  5, 1, self.settings["Quickslots"].stundust["active"], self.settings["Quickslots"].stundust["type"], self.settings["Quickslots"].stundust["data"]);
160 Kragenwar-3044
 
161 Kragenwar-3044
    self.skills["TouchAndGo"]                           = SkillSlot(self.bars["QuickBar7"],     1, 1, true, 6, "0x70003F13");
162 Kragenwar-3044
    self.skills["CurePoison"]                           = SkillSlot(self.bars["QuickBar7"],     2, 1, true, { 26, 62 }, {"0x70003F17", "0x7001F4A4" });
163 Kragenwar-3044
    self.skills["ReadyAndAble"]                         = SkillSlot(self.bars["QuickBar7"],     3, 1, true, 36, "0x70003F12");
164 Kragenwar-3044
    self.skills["KnivesOut"]                            = SkillSlot(self.bars["QuickBar7"],     4, 1, true, 42, "0x7000D444");
165 Kragenwar-3044
 
166 Kragenwar-3044
        self.skills["Burgle"]                                   = SkillSlot(self.bars["QuickBar8"],     4, 1, true, 14, "0x70003F16");
167 Kragenwar-3044
    self.skills["ContactPedlar"]                        = SkillSlot(self.bars["QuickBar8"],     5, 1, false, 26, "0x7000D442");
168 Kragenwar-3044
    self.skills["TrackTreasure"]                        = SkillSlot(self.bars["QuickBar8"],     6, 1, true, 20, "0x70003F15");
169 Kragenwar-3044
 
170 Kragenwar-3044
        -- Set Combat States
171 Kragenwar-3044
        self.skills["Mischief"]:SetCombat(false, true);
172 Kragenwar-3044
        self.skills["Sneak"]:SetCombat(false, true);
173 Kragenwar-3044
        self.skills["ShareTheFun"]:SetCombat(false, true);
174 Kragenwar-3044
        self.skills["ContactPedlar"]:SetCombat(false, true);
175 Kragenwar-3044
        self.skills["Burgle"]:SetCombat(false, true);
176 Kragenwar-3044
        self.skills["Trip"]:SetCombat(false, true);
177 Kragenwar-3044
        self.skills["Diversion"]:SetCombat(false, true);
178 Kragenwar-3044
        self.skills["LIE"]:SetCombat(false, true);
179 Kragenwar-3044
 
180 Kragenwar-3044
        self.bars["CritTier2"]:SetZOrder(-10);
181 Kragenwar-3044
 
182 Kragenwar-3044
        -- Stance Event
183 Kragenwar-3044
        AddCallback(vars.classattr, "StanceChanged", function(sender, args)
184 Kragenwar-3044
                KragenBars:StanceChange();
185 Kragenwar-3044
        end);
186 Kragenwar-3044
 
187 Kragenwar-3044
        -- Initial Checks (Setting up inital states for combat states and stances and such)
188 Kragenwar-3044
        self:InitBars();
189 Kragenwar-3044
        self:CombatChange(vars.player:IsInCombat());
190 Kragenwar-3044
 
191 Kragenwar-3044
end
192 Kragenwar-3044
 
193 Kragenwar-3044
function BurglarBars:AddEffect( effectIndex )
194 21 Kragenwar-3044
        local effect = vars.player:GetEffects():Get( effectIndex );
195 6 Kragenwar-3044
 
196 Kragenwar-3044
    -- Crit Response
197 21 Kragenwar-3044
        if (effect:GetName() == self.effectlist["CriticalResponse"]) then
198 Kragenwar-3044
        self.bars["CritTier1"]:SetState( true, effect:GetID());
199 6 Kragenwar-3044
        self.skills["BurglarsAdvantage"]:SetActive(true);
200 Kragenwar-3044
 
201 Kragenwar-3044
        -- Double Edged
202 21 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["DoubleEdged"]) then
203 Kragenwar-3044
            self.bars["CritTier3"]:SetState( true, effect:GetID());
204 6 Kragenwar-3044
        self.bars["CritTier2"]:SetZOrder(-10);
205 10 Kragenwar-3044
                self.skills["DoubleEdgedStrike"]:SetActive(false);
206 6 Kragenwar-3044
        self.skills["ExposedThroat"]:SetActive(self.settings["Features"].exposedthroat);
207 Kragenwar-3044
                self.skills["FlashingBlades"]:SetActive(self.settings["Features"].flashingblades);
208 Kragenwar-3044
                self.skills["LuckyStrike"]:SetActive(true);
209 21 Kragenwar-3044
                self.skills["FeintAttack"]:SetActive(vars.classattr:GetStance() == 0);
210 6 Kragenwar-3044
                self.skills["SmallSnag"]:SetActive(true);
211 Kragenwar-3044
 
212 Kragenwar-3044
        -- Stunned, Dazed, Knocked Down
213 21 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["Stunned"] or effect:GetName() == self.effectlist["Dazed"] or effect:GetName() == self.effectlist["KnockedDown"] or effect:GetName() == self.effectlist["KnockedOut"]) then
214 Kragenwar-3044
        self.skills["FindFooting"]:SetState( true, true, effect:GetID());
215 6 Kragenwar-3044
 
216 Kragenwar-3044
    -- Fellowship Manoeuvre Response
217 21 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["FMResponse"]) then
218 Kragenwar-3044
        self.bars["FMReactives"]:SetState( true, effect:GetID());
219 6 Kragenwar-3044
        self.skills["EscapeClause"]:SetActive(true);
220 Kragenwar-3044
        self.skills["SeizeInitiative"]:SetActive(true);
221 Kragenwar-3044
 
222 Kragenwar-3044
    -- Improved Feint Attack
223 21 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["ImprovedFeint"]) then
224 Kragenwar-3044
        self.skills["LIE"]:SetState( true, true, effect:GetID());
225 6 Kragenwar-3044
                self.skills["LIE"]:SetCombat(true, true);
226 Kragenwar-3044
            self.skills["Trip"]:SetCombat(true, true);
227 Kragenwar-3044
            self.skills["Diversion"]:SetCombat(true, true);
228 Kragenwar-3044
 
229 21 Kragenwar-3044
    elseif (effect:GetName() == self.effectlist["Campsite"]) then
230 Kragenwar-3044
        self.skills["ContactPedlar"]:SetState( true, true, effect:GetID());
231 6 Kragenwar-3044
 
232 Kragenwar-3044
    -- Fear
233 21 Kragenwar-3044
        elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Poison ) then
234 6 Kragenwar-3044
                self.poison = self.poison + 1;
235 Kragenwar-3044
                if (self.settings["Features"].poisonindicator) then
236 Kragenwar-3044
                        self.skills["CurePoison"]:SetColor("green");
237 Kragenwar-3044
                end
238 Kragenwar-3044
 
239 Kragenwar-3044
    end
240 Kragenwar-3044
 
241 Kragenwar-3044
end
242 Kragenwar-3044
 
243 Kragenwar-3044
function BurglarBars:RemoveEffect( effect )
244 Kragenwar-3044
 
245 Kragenwar-3044
    -- Crit Response
246 21 Kragenwar-3044
        if (effect:GetName() == self.effectlist["CriticalResponse"]) then
247 6 Kragenwar-3044
        self.bars["CritTier1"]:SetState( false, effect:GetID());
248 Kragenwar-3044
        if (not self.bars["CritTier1"].state) then
249 Kragenwar-3044
                        self.skills["BurglarsAdvantage"]:SetActive(false);
250 Kragenwar-3044
                        self.skills["DoubleEdgedStrike"]:SetActive(true);
251 Kragenwar-3044
                        self.skills["DoubleEdgedStrike"]:StartTimer(5, false);
252 10 Kragenwar-3044
                        if (vars.playerlevel > 24) then
253 Kragenwar-3044
                                self.bars["CritTier2"]:SetZOrder(0);
254 Kragenwar-3044
                        end
255 6 Kragenwar-3044
                end
256 Kragenwar-3044
 
257 Kragenwar-3044
        -- Double Edged
258 21 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["DoubleEdged"]) then
259 6 Kragenwar-3044
        self.bars["CritTier3"]:SetState( false, effect:GetID());
260 Kragenwar-3044
        if (not self.bars["CritTier3"].state) then
261 Kragenwar-3044
            self.skills["ExposedThroat"]:SetActive(false);
262 Kragenwar-3044
                        self.skills["FlashingBlades"]:SetActive(false);
263 Kragenwar-3044
                        self.skills["LuckyStrike"]:SetActive(false);
264 Kragenwar-3044
                        self.skills["FeintAttack"]:SetActive(false);
265 Kragenwar-3044
                        self.skills["SmallSnag"]:SetActive(false);
266 Kragenwar-3044
                end
267 Kragenwar-3044
 
268 Kragenwar-3044
 
269 Kragenwar-3044
-- Stunned, Dazed or Knocked Down
270 21 Kragenwar-3044
        elseif ((effect:GetName() == self.effectlist["Stunned"] or effect:GetName() == self.effectlist["Dazed"] or effect:GetName() == self.effectlist["KnockedDown"] or effect:GetName() == self.effectlist["KnockedOut"])) then
271 6 Kragenwar-3044
        self.skills["FindFooting"]:SetState( false, false, effect:GetID());
272 Kragenwar-3044
 
273 Kragenwar-3044
    -- Fellowship Manoeuvre Response
274 21 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["FMResponse"]) then
275 6 Kragenwar-3044
        self.bars["FMReactives"]:SetState( false, effect:GetID());
276 Kragenwar-3044
        if (not self.bars["FMReactive"].state) then
277 Kragenwar-3044
            self.skills["EscapeClause"]:SetActive(false);
278 Kragenwar-3044
                self.skills["SeizeInitiative"]:SetActive(false);
279 Kragenwar-3044
        end
280 Kragenwar-3044
 
281 Kragenwar-3044
    -- Improved Feint Attack
282 21 Kragenwar-3044
        elseif (effect:GetName() == self.effectlist["ImprovedFeint"]) then
283 6 Kragenwar-3044
        self.skills["LIE"]:SetState( false, true, effect:GetID());
284 Kragenwar-3044
        if (not self.skills["LIE"].state) then
285 Kragenwar-3044
                        self.skills["LIE"]:SetCombat(false, true);
286 Kragenwar-3044
                    self.skills["Diversion"]:SetCombat(false, true);
287 Kragenwar-3044
                    self.skills["Trip"]:SetCombat(false, true);
288 Kragenwar-3044
                end
289 Kragenwar-3044
 
290 21 Kragenwar-3044
    elseif (effect:GetName() == self.effectlist["Campsite"]) then
291 6 Kragenwar-3044
        self.skills["ContactPedlar"]:SetState( false, false, effect:GetID());
292 Kragenwar-3044
 
293 Kragenwar-3044
    -- Poison
294 Kragenwar-3044
        elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Poison ) then
295 Kragenwar-3044
                self.poison = self.poison - 1;
296 Kragenwar-3044
                if (self.poison == 0) then
297 Kragenwar-3044
                        self.skills["CurePoison"]:SetColor();
298 Kragenwar-3044
                end
299 Kragenwar-3044
 
300 Kragenwar-3044
        end
301 Kragenwar-3044
 
302 Kragenwar-3044
end
303 Kragenwar-3044
 
304 Kragenwar-3044
function BurglarBars:StanceChange()
305 Kragenwar-3044
    if(vars.classattr:GetStance() == 1) then
306 Kragenwar-3044
                self.mischiefflag = self.mischiefflag + 1;
307 Kragenwar-3044
                self.skills["Mischief"]:SetHover( true );
308 Kragenwar-3044
                self.skills["Sneak"]:SetActive( false );
309 Kragenwar-3044
                self.skills["ShareTheFun"]:SetActive( false );
310 Kragenwar-3044
                self.skills["Confound"]:SetActive( true );
311 Kragenwar-3044
                self.skills["CleverRetort"]:SetActive( true );
312 Kragenwar-3044
        self.skills["FeintAttack"]:SetActive( false );
313 Kragenwar-3044
        self.skills["LIE"]:SetActive( false );
314 Kragenwar-3044
        self.skills["Diversion"]:SetActive( false );
315 Kragenwar-3044
        self.skills["Burgle"]:SetActive( false );
316 Kragenwar-3044
        self.skills["Trip"]:SetActive( false );
317 Kragenwar-3044
        else
318 Kragenwar-3044
                if (self.mischiefflag == 2) then
319 Kragenwar-3044
                self.skills["Mischief"]:SetHover( false );
320 Kragenwar-3044
                        self.skills["Sneak"]:SetActive( true );
321 Kragenwar-3044
                        self.skills["ShareTheFun"]:SetActive( true );
322 Kragenwar-3044
                        self.skills["Confound"]:SetActive( false );
323 Kragenwar-3044
                        self.skills["CleverRetort"]:SetActive( self.settings["Features"].honedwit );
324 21 Kragenwar-3044
                        self.skills["FeintAttack"]:SetActive( self.bars["CritTier3"].state );
325 6 Kragenwar-3044
                        self.skills["LIE"]:SetActive( true );
326 Kragenwar-3044
                self.skills["Diversion"]:SetActive( true );
327 Kragenwar-3044
                self.skills["Burgle"]:SetActive( true );
328 Kragenwar-3044
                self.skills["Trip"]:SetActive( true );
329 Kragenwar-3044
                        self.mischiefflag = 0;
330 Kragenwar-3044
                end
331 Kragenwar-3044
        end
332 Kragenwar-3044
end
333 Kragenwar-3044
 
334 Kragenwar-3044
function BurglarBars:CritChange(tier, state)
335 Kragenwar-3044
        if (tier == 2) then
336 Kragenwar-3044
                self.bars["CritTier1"]:SetVisible( not state and vars.classattr:IsCriticalTier1Available() );
337 Kragenwar-3044
                self.bars["CritTier2"]:SetVisible( state );
338 Kragenwar-3044
        elseif (tier == 3) then
339 Kragenwar-3044
                self.bars["CritTier3"]:SetVisible( state );
340 Kragenwar-3044
        end
341 Kragenwar-3044
end
342 Kragenwar-3044
 
343 Kragenwar-3044
function BurglarBars:DefaultSettings()
344 Kragenwar-3044
        self.settings = { };
345 Kragenwar-3044
 
346 Kragenwar-3044
        self.settings["Crit"] = { active = true, x=0, y=0, rotate=0 };
347 Kragenwar-3044
    self.settings["FMReactives"] = { active = true, x=0, y=0, rotate=0 };
348 Kragenwar-3044
    self.settings["Stance"] = { active = true, x=0, y=0, rotate=0 };
349 Kragenwar-3044
        self.settings["Stunned"] = { active = true, x=0, y=0, rotate=0 };
350 Kragenwar-3044
 
351 Kragenwar-3044
        self.settings["QuickBar1"] = { active = true, x=0, y=0, rotate=0 };
352 Kragenwar-3044
        self.settings["QuickBar2"] = { active = true, x=0, y=0, rotate=0 };
353 Kragenwar-3044
        self.settings["QuickBar3"] = { active = true, x=0, y=0, rotate=0 };
354 Kragenwar-3044
        self.settings["QuickBar4"] = { active = true, x=0, y=0, rotate=0 };
355 Kragenwar-3044
        self.settings["QuickBar5"] = { active = true, x=0, y=0, rotate=0 };
356 Kragenwar-3044
        self.settings["QuickBar6"] = { active = true, x=0, y=0, rotate=0 };
357 Kragenwar-3044
        self.settings["QuickBar7"] = { active = true, x=0, y=0, rotate=0 };
358 Kragenwar-3044
        self.settings["QuickBar8"] = { active = true, x=0, y=0, rotate=0 };
359 Kragenwar-3044
 
360 Kragenwar-3044
 
361 Kragenwar-3044
        self.settings["Features"] = { };
362 Kragenwar-3044
    self.settings["Features"].exposedthroat = false;
363 Kragenwar-3044
    self.settings["Features"].flashingblades = false;
364 Kragenwar-3044
        self.settings["Features"].honedwit = false;
365 Kragenwar-3044
        self.settings["Features"].poisonindicator = true;
366 Kragenwar-3044
 
367 Kragenwar-3044
        self.settings["Quickslots"] = { };
368 Kragenwar-3044
        self.settings["Quickslots"].marbles = {active = false, type = 0, data = ""};
369 Kragenwar-3044
        self.settings["Quickslots"].caltrops = {active = false, type = 0, data = ""};
370 Kragenwar-3044
        self.settings["Quickslots"].stundust = {active = false, type = 0, data = ""};
371 Kragenwar-3044
 
372 Kragenwar-3044
end
373 Kragenwar-3044
 
374 Kragenwar-3044
 
375 Kragenwar-3044
function BurglarBars:UpdateSettings()
376 Kragenwar-3044
        settings.vers = vars.vers;
377 Kragenwar-3044
 
378 Kragenwar-3044
end
379 Kragenwar-3044
 
380 Kragenwar-3044
function BurglarBars:ShowSetup()
381 Kragenwar-3044
        self.setup:SetVisible(true);
382 Kragenwar-3044
 
383 Kragenwar-3044
        self.setupbb.opacityslider:SetValue(settings.opacity * 100);
384 Kragenwar-3044
        self.setupbb.checkboxlock:SetChecked(settings.lockslots);
385 Kragenwar-3044
        self.setupbb.checkboxgrid:SetChecked(settings.snaptogrid);
386 Kragenwar-3044
 
387 Kragenwar-3044
        self.setupbb.checkboxbb1:SetText("Crit Response");
388 Kragenwar-3044
        self.setupbb.checkboxbb1:SetChecked (self.settings["Crit"].active);
389 Kragenwar-3044
        self.setupbb.checkboxbb1:SetVisible(true);
390 Kragenwar-3044
        self.setupbb.checkboxbb2:SetText("FM Reactives");
391 Kragenwar-3044
        self.setupbb.checkboxbb2:SetChecked (self.settings["FMReactives"].active);
392 Kragenwar-3044
        self.setupbb.checkboxbb2:SetVisible(true);
393 Kragenwar-3044
        self.setupbb.checkboxbb3:SetText("Stun Response");
394 Kragenwar-3044
        self.setupbb.checkboxbb3:SetChecked (self.settings["Stunned"].active);
395 Kragenwar-3044
        self.setupbb.checkboxbb3:SetVisible(true);
396 Kragenwar-3044
        self.setupbb.checkboxbb4:SetText("Mischief/Stealth");
397 Kragenwar-3044
        self.setupbb.checkboxbb4:SetChecked (self.settings["Stance"].active);
398 Kragenwar-3044
        self.setupbb.checkboxbb4:SetVisible(true);
399 Kragenwar-3044
 
400 Kragenwar-3044
    self.setupbb.checkboxbb5:SetText("Bar1");
401 Kragenwar-3044
        self.setupbb.checkboxbb5:SetChecked (self.settings["QuickBar1"].active);
402 Kragenwar-3044
        self.setupbb.checkboxbb5:SetVisible(true);
403 Kragenwar-3044
        self.setupbb.checkboxbb6:SetText("Bar2");
404 Kragenwar-3044
        self.setupbb.checkboxbb6:SetChecked (self.settings["QuickBar2"].active);
405 Kragenwar-3044
        self.setupbb.checkboxbb6:SetVisible(true);
406 Kragenwar-3044
        self.setupbb.checkboxbb7:SetText("Bar3");
407 Kragenwar-3044
        self.setupbb.checkboxbb7:SetChecked (self.settings["QuickBar3"].active);
408 Kragenwar-3044
        self.setupbb.checkboxbb7:SetVisible(true);
409 Kragenwar-3044
        self.setupbb.checkboxbb8:SetText("Bar4");
410 Kragenwar-3044
        self.setupbb.checkboxbb8:SetChecked (self.settings["QuickBar4"].active);
411 Kragenwar-3044
        self.setupbb.checkboxbb8:SetVisible(true);
412 Kragenwar-3044
        self.setupbb.checkboxbb9:SetText("Bar5");
413 Kragenwar-3044
        self.setupbb.checkboxbb9:SetChecked (self.settings["QuickBar5"].active);
414 Kragenwar-3044
        self.setupbb.checkboxbb9:SetVisible(true);
415 Kragenwar-3044
        self.setupbb.checkboxbb10:SetText("Bar6");
416 Kragenwar-3044
        self.setupbb.checkboxbb10:SetChecked (self.settings["QuickBar6"].active);
417 Kragenwar-3044
        self.setupbb.checkboxbb10:SetVisible(true);
418 Kragenwar-3044
        self.setupbb.checkboxbb11:SetText("Bar7");
419 Kragenwar-3044
        self.setupbb.checkboxbb11:SetChecked (self.settings["QuickBar7"].active);
420 Kragenwar-3044
        self.setupbb.checkboxbb11:SetVisible(true);
421 Kragenwar-3044
        self.setupbb.checkboxbb12:SetText("Bar8");
422 Kragenwar-3044
        self.setupbb.checkboxbb12:SetChecked (self.settings["QuickBar8"].active);
423 Kragenwar-3044
        self.setupbb.checkboxbb12:SetVisible(true);
424 Kragenwar-3044
 
425 Kragenwar-3044
        self.setupf.checkboxf1:SetText("Exposed Throat");
426 Kragenwar-3044
        self.setupf.checkboxf1:SetChecked (self.settings["Features"].exposedthroat);
427 Kragenwar-3044
        self.setupf.checkboxf1:SetVisible(true);
428 Kragenwar-3044
        self.setupf.checkboxf2:SetText("Flashing Blades");
429 Kragenwar-3044
        self.setupf.checkboxf2:SetChecked (self.settings["Features"].flashingblades);
430 Kragenwar-3044
        self.setupf.checkboxf2:SetVisible(true);
431 Kragenwar-3044
        self.setupf.checkboxf3:SetText("Honed Wit");
432 Kragenwar-3044
        self.setupf.checkboxf3:SetChecked (self.settings["Features"].honedwit);
433 Kragenwar-3044
        self.setupf.checkboxf3:SetVisible(true);
434 Kragenwar-3044
 
435 Kragenwar-3044
        self.setupf.checkboxf10:SetText("Poison Indicator");
436 Kragenwar-3044
        self.setupf.checkboxf10:SetChecked (self.settings["Features"].poisonindicator);
437 Kragenwar-3044
        self.setupf.checkboxf10:SetVisible(true);
438 Kragenwar-3044
 
439 Kragenwar-3044
        self.setupqs.quickslot1:SetVisible(true);
440 Kragenwar-3044
    pcall(function() self.setupqs.quickslot1:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].marbles["type"], self.settings["Quickslots"].marbles["data"] ) ); end);
441 Kragenwar-3044
        self.setupqs.quickslot1cb:SetText("Marbles");
442 Kragenwar-3044
        self.setupqs.quickslot1cb:SetChecked(self.settings["Quickslots"].marbles["active"]);
443 Kragenwar-3044
        self.setupqs.quickslot1cb:SetVisible(true);
444 Kragenwar-3044
        self.setupqs.quickslot2:SetVisible(true);
445 Kragenwar-3044
    pcall(function() self.setupqs.quickslot2:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].caltrops["type"], self.settings["Quickslots"].caltrops["data"] ) ); end);
446 Kragenwar-3044
        self.setupqs.quickslot2cb:SetText("Caltrops");
447 Kragenwar-3044
        self.setupqs.quickslot2cb:SetChecked(self.settings["Quickslots"].caltrops["active"]);
448 Kragenwar-3044
        self.setupqs.quickslot2cb:SetVisible(true);
449 Kragenwar-3044
        self.setupqs.quickslot3:SetVisible(true);
450 Kragenwar-3044
    pcall(function() self.setupqs.quickslot3:SetShortcut(Turbine.UI.Lotro.Shortcut( self.settings["Quickslots"].stundust["type"], self.settings["Quickslots"].stundust["data"] ) ); end);
451 Kragenwar-3044
        self.setupqs.quickslot3cb:SetText("Stun Dust");
452 Kragenwar-3044
        self.setupqs.quickslot3cb:SetChecked(self.settings["Quickslots"].stundust["active"]);
453 Kragenwar-3044
        self.setupqs.quickslot3cb:SetVisible(true);
454 Kragenwar-3044
 
455 Kragenwar-3044
end
456 Kragenwar-3044
 
457 Kragenwar-3044
 
458 Kragenwar-3044
function BurglarBars:SetupClosing()
459 Kragenwar-3044
    settings.opacity = self.setupbb.opacityslider:GetValue() / 100;
460 Kragenwar-3044
        settings.lockslots = self.setupbb.checkboxlock:IsChecked();
461 Kragenwar-3044
        settings.snaptogrid = self.setupbb.checkboxgrid:IsChecked();
462 Kragenwar-3044
 
463 Kragenwar-3044
        self.settings["Crit"].active = self.setupbb.checkboxbb1:IsChecked();
464 Kragenwar-3044
    self.settings["FMReactives"].active = self.setupbb.checkboxbb2:IsChecked();
465 Kragenwar-3044
    self.settings["Stunned"].active = self.setupbb.checkboxbb3:IsChecked();
466 Kragenwar-3044
    self.settings["Stance"].active = self.setupbb.checkboxbb4:IsChecked();
467 Kragenwar-3044
 
468 Kragenwar-3044
        self.settings["QuickBar1"].active = self.setupbb.checkboxbb5:IsChecked();
469 Kragenwar-3044
        self.settings["QuickBar2"].active = self.setupbb.checkboxbb5:IsChecked();
470 Kragenwar-3044
        self.settings["QuickBar3"].active = self.setupbb.checkboxbb5:IsChecked();
471 Kragenwar-3044
        self.settings["QuickBar4"].active = self.setupbb.checkboxbb5:IsChecked();
472 Kragenwar-3044
        self.settings["QuickBar5"].active = self.setupbb.checkboxbb5:IsChecked();
473 Kragenwar-3044
        self.settings["QuickBar6"].active = self.setupbb.checkboxbb5:IsChecked();
474 Kragenwar-3044
        self.settings["QuickBar7"].active = self.setupbb.checkboxbb5:IsChecked();
475 Kragenwar-3044
        self.settings["QuickBar8"].active = self.setupbb.checkboxbb5:IsChecked();
476 Kragenwar-3044
 
477 Kragenwar-3044
        self.settings["Features"].exposedthroat = self.setupf.checkboxf1:IsChecked();
478 Kragenwar-3044
    self.settings["Features"].flashingblades = self.setupf.checkboxf2:IsChecked();
479 Kragenwar-3044
    self.settings["Features"].honedwit = self.setupf.checkboxf3:IsChecked();
480 Kragenwar-3044
 
481 Kragenwar-3044
        self.settings["Features"].poisonindicator = self.setupf.checkboxf10:IsChecked();
482 Kragenwar-3044
 
483 Kragenwar-3044
    self.settings["Quickslots"].marbles = { active = self.setupqs.quickslot1cb:IsChecked(), type = self.setupqs.quickslot1:GetShortcut():GetType(), data = self.setupqs.quickslot1:GetShortcut():GetData() };
484 Kragenwar-3044
    self.settings["Quickslots"].caltrops = { active = self.setupqs.quickslot2cb:IsChecked(), type = self.setupqs.quickslot2:GetShortcut():GetType(), data = self.setupqs.quickslot2:GetShortcut():GetData() };
485 Kragenwar-3044
    self.settings["Quickslots"].stundust = { active = self.setupqs.quickslot3cb:IsChecked(), type = self.setupqs.quickslot3:GetShortcut():GetType(), data = self.setupqs.quickslot3:GetShortcut():GetData() };
486 Kragenwar-3044
 
487 Kragenwar-3044
        self:SaveSettings();
488 Kragenwar-3044
        self:Refresh();
489 Kragenwar-3044
 
490 Kragenwar-3044
end
491 Kragenwar-3044
 
492 Kragenwar-3044
 
493 Kragenwar-3044
function BurglarBars:Refresh()
494 Kragenwar-3044
 
495 Kragenwar-3044
        self:RefreshBars();
496 Kragenwar-3044
 
497 Kragenwar-3044
        self.skills["ExposedThroat"]:SetActive(self.bars["CritTier3"].state and self.settings["Features"].exposedthroat);
498 Kragenwar-3044
        self.skills["FlashingBlades"]:SetActive(self.bars["CritTier3"].state and self.settings["Features"].flashingblades);
499 Kragenwar-3044
        self.skills["CleverRetort"]:SetActive(self.settings["Features"].honedwit or vars.classattr:GetStance() == 1);
500 Kragenwar-3044
 
501 Kragenwar-3044
        self.skills["Marbles"]:SetQuickslot(self.settings["Quickslots"].marbles["active"], self.settings["Quickslots"].marbles["type"], self.settings["Quickslots"].marbles["data"]);
502 Kragenwar-3044
    self.skills["Caltrops"]:SetQuickslot(self.settings["Quickslots"].caltrops["active"], self.settings["Quickslots"].caltrops["type"], self.settings["Quickslots"].caltrops["data"]);
503 Kragenwar-3044
    self.skills["StunDust"]:SetQuickslot(self.settings["Quickslots"].stundust["active"], self.settings["Quickslots"].stundust["type"], self.settings["Quickslots"].stundust["data"]);
504 Kragenwar-3044
 
505 Kragenwar-3044
    if (self.settings["Features"].poisonindicator and self.poison > 0) then
506 Kragenwar-3044
                self.skills["CurePoison"]:SetColor("green");
507 Kragenwar-3044
        else
508 Kragenwar-3044
                self.skills["CurePoison"]:SetColor();
509 Kragenwar-3044
        end
510 Kragenwar-3044
 
511 Kragenwar-3044
    self:CombatChange(vars.player:IsInCombat());
512 Kragenwar-3044
 
513 Kragenwar-3044
        Turbine.Shell.WriteLine("KragenBars: Burglar Bars refresh completed successfully.");
514 Kragenwar-3044
 
515 Kragenwar-3044
end

All times are GMT -5. The time now is 12:06 AM.


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