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 |
CaptainBars = class( KragenPlugs.KragenBars.ClassBar ); |
8 |
|
Kragenwar-3044 |
|
9 |
|
Kragenwar-3044 |
function CaptainBars:Constructor() |
10 |
48 |
Kragenwar-3044 |
|
11 |
6 |
Kragenwar-3044 |
KragenPlugs.KragenBars.ClassBar.Constructor( self ); |
12 |
|
Kragenwar-3044 |
|
13 |
48 |
Kragenwar-3044 |
-- CLASS SPECIFIC VARIABLES |
14 |
6 |
Kragenwar-3044 |
self.fear = 0; |
15 |
66 |
Kragenwar-3044 |
|
16 |
|
Kragenwar-3044 |
self.effectlist = {}; |
17 |
|
Kragenwar-3044 |
self.effectlist['EnemyDefeatResponse'] = Effect(); |
18 |
|
Kragenwar-3044 |
self.effectlist['FellowDefeatResponse'] = Effect(); |
19 |
|
Kragenwar-3044 |
self.effectlist['BattleReadied'] = Effect(); |
20 |
|
Kragenwar-3044 |
self.effectlist['BattleHardened'] = Effect(); |
21 |
|
Kragenwar-3044 |
self.effectlist['Motivated'] = Effect(); |
22 |
|
Kragenwar-3044 |
self.effectlist['InDefenceOfMiddleEarth'] = Effect(); |
23 |
|
Kragenwar-3044 |
self.effectlist['OnGuard'] = Effect(); |
24 |
|
Kragenwar-3044 |
self.effectlist['RelentlessAttack'] = Effect(); |
25 |
|
Kragenwar-3044 |
self.effectlist['Focus'] = Effect(); |
26 |
|
Kragenwar-3044 |
self.effectlist['BannerOfWar'] = Effect(); |
27 |
|
Kragenwar-3044 |
self.effectlist['ImprovedBannerOfWar'] = Effect(); |
28 |
|
Kragenwar-3044 |
self.effectlist['BannerOfHope'] = Effect(); |
29 |
|
Kragenwar-3044 |
self.effectlist['ImprovedBannerOfHope'] = Effect(); |
30 |
|
Kragenwar-3044 |
self.effectlist['BannerOfVictory'] = Effect(); |
31 |
|
Kragenwar-3044 |
self.effectlist['ImprovedBannerOfVictory'] = Effect(); |
32 |
|
Kragenwar-3044 |
|
33 |
48 |
Kragenwar-3044 |
-- DEFINE THE EFFECT LIST BASED ON CLIENT LANGUAGE |
34 |
|
Kragenwar-3044 |
self.DefineEffectList = function() |
35 |
66 |
Kragenwar-3044 |
|
36 |
48 |
Kragenwar-3044 |
-- ENGLISH CLIENT |
37 |
|
Kragenwar-3044 |
if (settings.language == 1) then |
38 |
66 |
Kragenwar-3044 |
self.effectlist['EnemyDefeatResponse'] :SetName('Enemy Defeat Response'); |
39 |
|
Kragenwar-3044 |
self.effectlist['FellowDefeatResponse'] :SetName('Fellow Defeat Response'); |
40 |
|
Kragenwar-3044 |
self.effectlist['BattleReadied'] :SetName('Battle-readied'); |
41 |
|
Kragenwar-3044 |
self.effectlist['BattleHardened'] :SetName('Battle-hardened'); |
42 |
|
Kragenwar-3044 |
self.effectlist['Motivated'] :SetName('Motivated'); |
43 |
|
Kragenwar-3044 |
self.effectlist['InDefenceOfMiddleEarth'] :SetName('In Defence of Middle-earth'); |
44 |
|
Kragenwar-3044 |
self.effectlist['OnGuard'] :SetName('On Guard'); |
45 |
|
Kragenwar-3044 |
self.effectlist['RelentlessAttack'] :SetName('Relentless Attack'); |
46 |
|
Kragenwar-3044 |
self.effectlist['Focus'] :SetName('Focus'); |
47 |
|
Kragenwar-3044 |
self.effectlist['BannerOfWar'] :SetName('Banner of War'); |
48 |
|
Kragenwar-3044 |
self.effectlist['ImprovedBannerOfWar'] :SetName('Improved Banner of War'); |
49 |
|
Kragenwar-3044 |
self.effectlist['BannerOfHope'] :SetName('Banner of Hope'); |
50 |
|
Kragenwar-3044 |
self.effectlist['ImprovedBannerOfHope'] :SetName('Improved Banner of Hope'); |
51 |
|
Kragenwar-3044 |
self.effectlist['BannerOfVictory'] :SetName('Banner of Victory'); |
52 |
|
Kragenwar-3044 |
self.effectlist['ImprovedBannerOfVictory'] :SetName('Improved Banner of Victory'); |
53 |
48 |
Kragenwar-3044 |
|
54 |
|
Kragenwar-3044 |
-- FRENCH CLIENT |
55 |
|
Kragenwar-3044 |
elseif (settings.language == 2) then |
56 |
73 |
Kragenwar-3044 |
self.effectlist['EnemyDefeatResponse'] :SetName('Ev�nement de d�faite (ennemi)'); |
57 |
105 |
Kragenwar-3044 |
self.effectlist['FellowDefeatResponse'] :SetName('Evénement de défaite (allié)'); |
58 |
66 |
Kragenwar-3044 |
self.effectlist['BattleReadied'] :SetName('Battle-readied'); |
59 |
|
Kragenwar-3044 |
self.effectlist['BattleHardened'] :SetName('Battle-hardened'); |
60 |
|
Kragenwar-3044 |
self.effectlist['Motivated'] :SetName('Motivation'); |
61 |
105 |
Kragenwar-3044 |
self.effectlist['InDefenceOfMiddleEarth'] :SetName('Défense de la Terre du Milieu'); |
62 |
66 |
Kragenwar-3044 |
self.effectlist['OnGuard'] :SetName('En garde'); |
63 |
|
Kragenwar-3044 |
self.effectlist['RelentlessAttack'] :SetName('Attaque retenue'); |
64 |
|
Kragenwar-3044 |
self.effectlist['Focus'] :SetName('Concentration'); |
65 |
105 |
Kragenwar-3044 |
self.effectlist['BannerOfWar'] :SetName('Bannière de Guerre'); |
66 |
|
Kragenwar-3044 |
self.effectlist['ImprovedBannerOfWar'] :SetName('Bannière de Guerre améliorée'); |
67 |
|
Kragenwar-3044 |
self.effectlist['BannerOfHope'] :SetName("Bannière d'Espoir"); |
68 |
|
Kragenwar-3044 |
self.effectlist['ImprovedBannerOfHope'] :SetName("Bannière d'Espoir améliorée"); |
69 |
|
Kragenwar-3044 |
self.effectlist['BannerOfVictory'] :SetName('Bannière de Victoire'); |
70 |
|
Kragenwar-3044 |
self.effectlist['ImprovedBannerOfVictory'] :SetName('Bannière de Victoire améliorée'); |
71 |
49 |
Kragenwar-3044 |
Turbine.Shell.WriteLine("Some features may not function with the French Client. If you would like to help with French effect names goto http://www.lotrointerface.com/downloads/info384-KragenBars.html"); |
72 |
48 |
Kragenwar-3044 |
|
73 |
|
Kragenwar-3044 |
-- GERMAN CLIENT |
74 |
|
Kragenwar-3044 |
elseif (settings.language == 3) then |
75 |
66 |
Kragenwar-3044 |
self.effectlist['EnemyDefeatResponse'] :SetName('Erwiderung "Vernichtung des Gegners"'); |
76 |
105 |
Kragenwar-3044 |
self.effectlist['FellowDefeatResponse'] :SetName('Erwiderung "Vernichtung eines Gefährten"'); |
77 |
135 |
Valdacil-446 |
self.effectlist['BattleReadied'] :SetName('Kampfbereit'); |
78 |
|
Valdacil-446 |
self.effectlist['BattleHardened'] :SetName('Kampfgestählt'); |
79 |
66 |
Kragenwar-3044 |
self.effectlist['Motivated'] :SetName('Motiviert'); |
80 |
|
Kragenwar-3044 |
self.effectlist['InDefenceOfMiddleEarth'] :SetName('Verteidigung von Mittelerde'); |
81 |
|
Kragenwar-3044 |
self.effectlist['OnGuard'] :SetName('In Bereitschaft'); |
82 |
|
Kragenwar-3044 |
self.effectlist['RelentlessAttack'] :SetName('Gnadenloser Angriff'); |
83 |
|
Kragenwar-3044 |
self.effectlist['Focus'] :SetName('Fokus'); |
84 |
|
Kragenwar-3044 |
self.effectlist['BannerOfWar'] :SetName('Kriegsbanner'); |
85 |
|
Kragenwar-3044 |
self.effectlist['ImprovedBannerOfWar'] :SetName('Verbesserung: Kriegsbanner'); |
86 |
|
Kragenwar-3044 |
self.effectlist['BannerOfHope'] :SetName('Banner der Hoffnung'); |
87 |
|
Kragenwar-3044 |
self.effectlist['ImprovedBannerOfHope'] :SetName('Verbesserung: Banner der Hoffnung'); |
88 |
|
Kragenwar-3044 |
self.effectlist['BannerOfVictory'] :SetName('Banner des Sieges'); |
89 |
|
Kragenwar-3044 |
self.effectlist['ImprovedBannerOfVictory'] :SetName('Verbesserung: Banner des Sieges'); |
90 |
135 |
Valdacil-446 |
-- Turbine.Shell.WriteLine("Some features may not function with the German Client. If you would like to help with German effect names goto http://www.lotrointerface.com/downloads/info384-KragenBars.html"); |
91 |
48 |
Kragenwar-3044 |
end |
92 |
21 |
Kragenwar-3044 |
end |
93 |
6 |
Kragenwar-3044 |
|
94 |
|
Kragenwar-3044 |
-- BUILD WINDOWS BARS SKILLS AND MULTIS -- |
95 |
|
Kragenwar-3044 |
|
96 |
48 |
Kragenwar-3044 |
-- Build Windows |
97 |
66 |
Kragenwar-3044 |
self.bars["Marks"] = SkillBar(self.windows["Marks"], 1, 1, 3, 1, true, true); |
98 |
6 |
Kragenwar-3044 |
self.bars["MultiMark"] = SkillBar(self.windows["Marks"], 1, 1, 1, 1, true, true); |
99 |
|
Kragenwar-3044 |
|
100 |
48 |
Kragenwar-3044 |
-- Build Skills |
101 |
6 |
Kragenwar-3044 |
self.skills["DefensiveStrike"] = SkillSlot(self.bars["Attack"], 1, 1, true, { 1, 54 }, { "0x70002F73", "0x7000FF86" } ); |
102 |
127 |
Valdacil-446 |
self.skills["SureStrike"] = SkillSlot(self.bars["Attack"], 2, 1, true, { 1, 66 }, { "0x700215CF", "0x70028DB4" } ); |
103 |
6 |
Kragenwar-3044 |
self.skills["BattleShout"] = SkillSlot(self.bars["Attack"], 3, 1, true, 1, "0x70002F67"); |
104 |
127 |
Valdacil-446 |
self.skills["CuttingAttack"] = SkillSlot(self.bars["Attack"], 4, 1, true, { 4, 72 }, { "0x70003E4C", "0x70028FA5" } ); |
105 |
6 |
Kragenwar-3044 |
|
106 |
78 |
Kragenwar-3044 |
self.skills["DevastatingBlow"] = SkillSlot(self.bars["Gated"], 1, 1, not self.settings.features["GateSkills"], 2, "0x70002FCF"); |
107 |
|
Kragenwar-3044 |
self.skills["PressingAttack"] = SkillSlot(self.bars["Gated"], 2, 1, not self.settings.features["GateSkills"], 10, "0x70003E50"); |
108 |
|
Kragenwar-3044 |
self.skills["BladeOfElendil"] = SkillSlot(self.bars["Gated"], 3, 1, not self.settings.features["GateSkills"], { 30, 52 }, { "0x7000AD9A", "0x70017D31" } ); |
109 |
6 |
Kragenwar-3044 |
|
110 |
66 |
Kragenwar-3044 |
self.skills["NobleMark"] = SkillSlot(self.bars["Marks"], 1, 1, not self.settings.features["MultiMarks"].active, 12, "0x70003E4F"); |
111 |
|
Kragenwar-3044 |
self.skills["TellingMark"] = SkillSlot(self.bars["Marks"], 2, 1, not self.settings.features["MultiMarks"].active, 18, "0x70003E4D"); |
112 |
|
Kragenwar-3044 |
self.skills["RevealingMark"] = SkillSlot(self.bars["Marks"], 3, 1, not self.settings.features["MultiMarks"].active, 30, "0x70003E56"); |
113 |
6 |
Kragenwar-3044 |
|
114 |
|
Kragenwar-3044 |
self.skills["Inspire"] = SkillSlot(self.bars["ShieldBro"], 2, 1, true, 22, "0x7000A1D7"); |
115 |
|
Kragenwar-3044 |
self.skills["ToArms"] = SkillSlot(self.bars["ShieldBro"], 3, 1, true, 40, "0x7000AA0D"); |
116 |
|
Kragenwar-3044 |
self.skills["StrengthOfWill"] = SkillSlot(self.bars["ShieldBro"], 4, 1, true, 48, "0x7000B058"); |
117 |
|
Kragenwar-3044 |
|
118 |
|
Kragenwar-3044 |
self.skills["RallyingCry"] = SkillSlot(self.bars["Defeat"], 1, 1, false, 2, "0x70002F4F"); |
119 |
|
Kragenwar-3044 |
self.skills["WarCry"] = SkillSlot(self.bars["Defeat"], 2, 1, false, 4, "0x70002F58"); |
120 |
127 |
Valdacil-446 |
self.skills["RoutingCry"] = SkillSlot(self.bars["Defeat"], 3, 1, self.settings.traits["LeaderofMen"].active, 8, "0x70002F61"); |
121 |
66 |
Kragenwar-3044 |
self.skills["ShadowsLament"] = SkillSlot(self.bars["Defeat"], 4, 1, self.settings.traits["MasterOfWar"].active, 60, "0x7000FF8B"); |
122 |
6 |
Kragenwar-3044 |
|
123 |
|
Kragenwar-3044 |
self.skills["WordsOfCourage"] = SkillSlot(self.bars["Healing"], 1, 1, true, 14, "0x70003E51"); |
124 |
|
Kragenwar-3044 |
self.skills["MusterCourage"] = SkillSlot(self.bars["Healing"], 2, 1, true, 16, "0x70002F99"); |
125 |
|
Kragenwar-3044 |
self.skills["ValiantStrike"] = SkillSlot(self.bars["Healing"], 3, 1, true, 58, "0x7000FF6D"); |
126 |
66 |
Kragenwar-3044 |
self.skills["ShieldOfTheDunadain"] = SkillSlot(self.bars["Healing"], 4, 1, self.settings.traits["ShieldOfTheDunadain"].active, 41, "0x700012F9"); |
127 |
6 |
Kragenwar-3044 |
|
128 |
|
Kragenwar-3044 |
self.skills["MotivatingSpeech"] = SkillSlot(self.bars["Buffs"], 1, 1, true, 16, "0x70003E52"); |
129 |
66 |
Kragenwar-3044 |
self.skills["IDOME"] = SkillSlot(self.bars["Buffs"], 2, 1, self.settings.traits["IDOME"].active, 41, "0x7000130D"); |
130 |
6 |
Kragenwar-3044 |
|
131 |
|
Kragenwar-3044 |
self.skills["LastStand"] = SkillSlot(self.bars["Emergency"], 2, 1, true, 22, "0x70003E54"); |
132 |
|
Kragenwar-3044 |
self.skills["InHarmsWay"] = SkillSlot(self.bars["Emergency"], 1, 1, true, 36, "0x70003E58"); |
133 |
|
Kragenwar-3044 |
|
134 |
|
Kragenwar-3044 |
self.skills["EscapeFromDarkness"] = SkillSlot(self.bars["Rez"], 1, 1, true, 20, "0x70002F45"); |
135 |
|
Kragenwar-3044 |
self.skills["CryOfVengence"] = SkillSlot(self.bars["Rez"], 2, 1, false, 32, "0x70003E57"); |
136 |
|
Kragenwar-3044 |
|
137 |
|
Kragenwar-3044 |
self.skills["Kick"] = SkillSlot(self.bars["Utility"], 1, 1, true, 44, "0x7000AA0E"); |
138 |
|
Kragenwar-3044 |
|
139 |
|
Kragenwar-3044 |
self.skills["ThreateningShout"] = SkillSlot(self.bars["Threat"], 1, 1, true, 26, "0x70002FD5"); |
140 |
127 |
Valdacil-446 |
self.skills["GraveWound"] = SkillSlot(self.bars["Threat"], 2, 1, true, { 42, 68 }, { "0x7000AA0F", "0x70028E4B" } ); |
141 |
6 |
Kragenwar-3044 |
self.skills["Withdraw"] = SkillSlot(self.bars["Threat"], 3, 1, true, { 46, 62 }, { "0x7000AA10", "0x7001F4C9" } ); |
142 |
|
Kragenwar-3044 |
|
143 |
66 |
Kragenwar-3044 |
self.skills["OathbreakersShame"] = SkillSlot(self.bars["Debuff"], 1, 1, self.settings.traits["OathbreakersShame"].active, 41, "0x70001306"); |
144 |
6 |
Kragenwar-3044 |
|
145 |
|
Kragenwar-3044 |
self.skills["MakeHaste"] = SkillSlot(self.bars["BattleBuffs"], 1, 1, true, 8, "0x70003E4E"); |
146 |
|
Kragenwar-3044 |
self.skills["TimeOfNeed"] = SkillSlot(self.bars["BattleBuffs"], 2, 1, true, 50, "0x7000AA12"); |
147 |
49 |
Kragenwar-3044 |
|
148 |
78 |
Kragenwar-3044 |
self.skills["SummoningHorn"] = ItemSlot(self.bars["ClassItems"], 1, 1, true, self.settings.quickslots["SummoningHorn"]); |
149 |
|
Kragenwar-3044 |
self.skills["BattleTonic"] = ItemSlot(self.bars["ClassItems"], 2, 1, true, self.settings.quickslots["BattleTonic"]); |
150 |
|
Kragenwar-3044 |
self.skills["BlazonedCrest"] = ItemSlot(self.bars["ClassItems"], 3, 1, true, self.settings.quickslots["BlazonedCrest"]); |
151 |
6 |
Kragenwar-3044 |
|
152 |
127 |
Valdacil-446 |
-- Build Brother Slot |
153 |
|
Valdacil-446 |
self.multi["Brothers"] = SkillMultiSlot(self.bars["ShieldBro"], 1, 1, true); |
154 |
|
Valdacil-446 |
if (vars.playerlevel >= 64) then |
155 |
|
Valdacil-446 |
self.multi["Brothers"]:AddShortCut("ShieldBro", 64, "0x70020DF6"); |
156 |
|
Valdacil-446 |
else |
157 |
|
Valdacil-446 |
self.multi["Brothers"]:AddShortCut("ShieldBro", 22, "0x7000A1D8"); |
158 |
|
Valdacil-446 |
end |
159 |
|
Valdacil-446 |
self.multi["Brothers"]:AddShortCut("SongBro", 70, "0x70028EFB"); |
160 |
|
Valdacil-446 |
self.multi["Brothers"]:AddShortCut("BladeBro", 74, "0x70028EFF"); |
161 |
|
Valdacil-446 |
self.multi["Brothers"]:LevelCheck(); |
162 |
|
Valdacil-446 |
|
163 |
|
Valdacil-446 |
-- Build MultiMark Slot |
164 |
6 |
Kragenwar-3044 |
self.multi["Marks"] = SkillMultiSlot(self.bars["MultiMark"], 1, 1, true); |
165 |
|
Kragenwar-3044 |
self.multi["Marks"]:AddShortCut("NobleMark", 12, "0x70003E4F"); |
166 |
|
Kragenwar-3044 |
self.multi["Marks"]:AddShortCut("TellingMark", 18, "0x70003E4D"); |
167 |
|
Kragenwar-3044 |
self.multi["Marks"]:AddShortCut("RevealingMark", 30, "0x70003E56"); |
168 |
|
Kragenwar-3044 |
self.multi["Marks"]:LevelCheck(); |
169 |
87 |
Kragenwar-3044 |
self.multi["Marks"]:SetSwap(false); |
170 |
6 |
Kragenwar-3044 |
|
171 |
48 |
Kragenwar-3044 |
-- Build Tactic Slot |
172 |
6 |
Kragenwar-3044 |
self.multi["Tactic"] = SkillMultiSlot(self.bars["Buffs"], 3, 1, true); |
173 |
|
Kragenwar-3044 |
self.multi["Tactic"]:AddShortCut("OnGuard", 6, "0x70003E53"); |
174 |
|
Kragenwar-3044 |
self.multi["Tactic"]:AddShortCut("Relentless", 28, "0x70003E55"); |
175 |
|
Kragenwar-3044 |
self.multi["Tactic"]:AddShortCut("Focus", 38, "0x70003E59"); |
176 |
|
Kragenwar-3044 |
self.multi["Tactic"]:LevelCheck(); |
177 |
|
Kragenwar-3044 |
|
178 |
48 |
Kragenwar-3044 |
-- Build Herald Slot |
179 |
6 |
Kragenwar-3044 |
self.multi["Heralds"] = SkillMultiSlot(self.bars["Banners"], 1, 1, true); |
180 |
|
Kragenwar-3044 |
self.multi["Heralds"]:AddShortCut("War", 10, "0x70002F7A"); |
181 |
|
Kragenwar-3044 |
self.multi["Heralds"]:AddShortCut("Hope", 24, "0x70002FAF"); |
182 |
|
Kragenwar-3044 |
self.multi["Heralds"]:AddShortCut("Victory", 34, "0x70002F1A"); |
183 |
|
Kragenwar-3044 |
self.multi["Heralds"]:AddShortCut("Archer", 56, "0x7000FC78"); |
184 |
|
Kragenwar-3044 |
self.multi["Heralds"]:LevelCheck(); |
185 |
|
Kragenwar-3044 |
|
186 |
48 |
Kragenwar-3044 |
-- Build Banner Slot |
187 |
6 |
Kragenwar-3044 |
self.multi["Banners"] = ItemMultiSlot(self.bars["Banners"], 2, 1, true); |
188 |
78 |
Kragenwar-3044 |
self.multi["Banners"]:AddShortCut("Banner1", self.settings.quickslots["Banner1"]); |
189 |
|
Kragenwar-3044 |
self.multi["Banners"]:AddShortCut("Banner2", self.settings.quickslots["Banner2"]); |
190 |
|
Kragenwar-3044 |
self.multi["Banners"]:AddShortCut("Banner3", self.settings.quickslots["Banner3"]); |
191 |
|
Kragenwar-3044 |
self.multi["Banners"]:AddShortCut("Armament", self.settings.quickslots["Armament"]); |
192 |
6 |
Kragenwar-3044 |
self.multi["Banners"]:Refresh(true); |
193 |
94 |
Kragenwar-3044 |
|
194 |
48 |
Kragenwar-3044 |
-- SET COMBAT STATES |
195 |
73 |
Kragenwar-3044 |
--self.multi["Heralds"]:SetCombat( false, true ); |
196 |
|
Kragenwar-3044 |
--self.skills["SummoningHorn"]:SetCombat( false, true ); |
197 |
48 |
Kragenwar-3044 |
|
198 |
66 |
Kragenwar-3044 |
-- ITEM MANAGER |
199 |
78 |
Kragenwar-3044 |
--self.itemmanager = ItemManager(); |
200 |
|
Kragenwar-3044 |
--self.itemmanager:RegisterItem("Carved Rallying Horn", { "Finely" }, { }, self.skills["SummoningHorn"]); |
201 |
|
Kragenwar-3044 |
--self.itemmanager:RegisterItem("Battle Tonic", { "Expert","Artisan","Master","Supreme" }, {"Recipe"}, self.skills["BattleTonic"]); |
202 |
|
Kragenwar-3044 |
--self.itemmanager:RegisterItem("Blazoned Crest", { "Expert","Artisan","Master","Supreme" }, {"Recipe"}, self.skills["BlazonedCrest"]); |
203 |
|
Kragenwar-3044 |
--self.itemmanager:ParseItems(); |
204 |
66 |
Kragenwar-3044 |
|
205 |
48 |
Kragenwar-3044 |
-- CLASS SPECIFIC SETUP/DEFAULT CODE |
206 |
6 |
Kragenwar-3044 |
-- Default Marks (seperate or multi) |
207 |
66 |
Kragenwar-3044 |
if (not self.settings.features["MultiMarks"].active) then |
208 |
|
Kragenwar-3044 |
if (self.windows["Marks"].rotate == false) then |
209 |
6 |
Kragenwar-3044 |
self.windows["Marks"]:SetSize(35*3, 35); |
210 |
|
Kragenwar-3044 |
self.windows["Marks"].width = 3; |
211 |
|
Kragenwar-3044 |
self.windows["Marks"].height = 1; |
212 |
|
Kragenwar-3044 |
self.multi["Marks"]:SetActive(false); |
213 |
|
Kragenwar-3044 |
self.skills["NobleMark"]:SetActive(true); |
214 |
|
Kragenwar-3044 |
self.skills["TellingMark"]:SetActive(true); |
215 |
|
Kragenwar-3044 |
self.skills["RevealingMark"]:SetActive(true); |
216 |
|
Kragenwar-3044 |
self.bars["MultiMark"]:SetZOrder(-10); |
217 |
|
Kragenwar-3044 |
self.bars["Marks"]:SetZOrder(0); |
218 |
|
Kragenwar-3044 |
else |
219 |
|
Kragenwar-3044 |
self.windows["Marks"]:SetSize(35, 35 * 3); |
220 |
|
Kragenwar-3044 |
self.windows["Marks"].width = 1; |
221 |
|
Kragenwar-3044 |
self.windows["Marks"].height = 3; |
222 |
|
Kragenwar-3044 |
self.multi["Marks"]:SetActive(false); |
223 |
|
Kragenwar-3044 |
self.skills["NobleMark"]:SetActive(true); |
224 |
|
Kragenwar-3044 |
self.skills["TellingMark"]:SetActive(true); |
225 |
|
Kragenwar-3044 |
self.skills["RevealingMark"]:SetActive(true); |
226 |
|
Kragenwar-3044 |
self.bars["MultiMark"]:SetZOrder(-10); |
227 |
|
Kragenwar-3044 |
self.bars["Marks"]:SetZOrder(0); |
228 |
|
Kragenwar-3044 |
end |
229 |
|
Kragenwar-3044 |
else |
230 |
|
Kragenwar-3044 |
self.windows["Marks"]:SetSize(35, 35); |
231 |
|
Kragenwar-3044 |
self.multi["Marks"]:SetPosition(0, 0); |
232 |
|
Kragenwar-3044 |
self.windows["Marks"].width = 1; |
233 |
|
Kragenwar-3044 |
self.windows["Marks"].height = 1; |
234 |
|
Kragenwar-3044 |
self.multi["Marks"]:SetActive(true); |
235 |
|
Kragenwar-3044 |
self.skills["NobleMark"]:SetActive(false); |
236 |
|
Kragenwar-3044 |
self.skills["TellingMark"]:SetActive(false); |
237 |
|
Kragenwar-3044 |
self.skills["RevealingMark"]:SetActive(false); |
238 |
|
Kragenwar-3044 |
self.bars["MultiMark"]:SetZOrder(0); |
239 |
|
Kragenwar-3044 |
self.bars["Marks"]:SetZOrder(-10); |
240 |
|
Kragenwar-3044 |
end |
241 |
|
Kragenwar-3044 |
|
242 |
48 |
Kragenwar-3044 |
-- CLASS SPECIFIC EVENTS |
243 |
6 |
Kragenwar-3044 |
|
244 |
|
Kragenwar-3044 |
-- INITIALIZE BARS |
245 |
|
Kragenwar-3044 |
self:InitBars(); |
246 |
|
Kragenwar-3044 |
self:CombatChange(vars.player:IsInCombat()); |
247 |
|
Kragenwar-3044 |
|
248 |
|
Kragenwar-3044 |
|
249 |
|
Kragenwar-3044 |
end |
250 |
|
Kragenwar-3044 |
|
251 |
|
Kragenwar-3044 |
|
252 |
|
Kragenwar-3044 |
-- ADD EFFECT EVENT |
253 |
|
Kragenwar-3044 |
function CaptainBars:AddEffect( effectIndex ) |
254 |
21 |
Kragenwar-3044 |
local effect = vars.player:GetEffects():Get( effectIndex ); |
255 |
66 |
Kragenwar-3044 |
local effectname = effect:GetName(); |
256 |
|
Kragenwar-3044 |
local effectid = effect:GetID(); |
257 |
6 |
Kragenwar-3044 |
|
258 |
66 |
Kragenwar-3044 |
if (effectname == self.effectlist["EnemyDefeatResponse"]:GetName()) then |
259 |
|
Kragenwar-3044 |
if (self.effectlist["EnemyDefeatResponse"]:SetState( true, effectid )) then |
260 |
|
Kragenwar-3044 |
self.skills["RallyingCry"]:SetActive( true ); |
261 |
|
Kragenwar-3044 |
self.skills["WarCry"]:SetActive( true ); |
262 |
|
Kragenwar-3044 |
self.skills["RoutingCry"]:SetActive( true ); |
263 |
|
Kragenwar-3044 |
self.skills["ShadowsLament"]:SetActive( true ); |
264 |
|
Kragenwar-3044 |
end |
265 |
6 |
Kragenwar-3044 |
|
266 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["BattleReadied"]:GetName()) then |
267 |
|
Kragenwar-3044 |
if (self.effectlist["BattleReadied"]:SetState( true, effectid) ) then |
268 |
|
Kragenwar-3044 |
self.skills["DevastatingBlow"]:SetActive( true ); |
269 |
|
Kragenwar-3044 |
self.skills["PressingAttack"]:SetActive( true ); |
270 |
|
Kragenwar-3044 |
end |
271 |
6 |
Kragenwar-3044 |
|
272 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["BattleHardened"]:GetName()) then |
273 |
|
Kragenwar-3044 |
if (self.effectlist["BattleHardened"]:SetState( true, effectid )) then |
274 |
|
Kragenwar-3044 |
self.skills["BladeOfElendil"]:SetActive( true ); |
275 |
|
Kragenwar-3044 |
end |
276 |
6 |
Kragenwar-3044 |
|
277 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["FellowDefeatResponse"]:GetName()) then |
278 |
|
Kragenwar-3044 |
if (self.effectlist["FellowDefeatResponse"]:SetState( true, effectid )) then |
279 |
|
Kragenwar-3044 |
self.skills["CryOfVengence"]:SetActive( true ); |
280 |
|
Kragenwar-3044 |
end |
281 |
6 |
Kragenwar-3044 |
|
282 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["Motivated"]:GetName()) then |
283 |
|
Kragenwar-3044 |
if (self.effectlist["Motivated"]:SetState( true, effectid )) then |
284 |
|
Kragenwar-3044 |
self.skills["MotivatingSpeech"]:SetActive( true ); |
285 |
|
Kragenwar-3044 |
if (self.settings.defaults["BuffActive"].selected == 2) then |
286 |
|
Kragenwar-3044 |
self.skills["MotivatingSpeech"]:SetHover( true ); |
287 |
|
Kragenwar-3044 |
elseif (self.settings.defaults["BuffActive"].selected >= 3) then |
288 |
|
Kragenwar-3044 |
self.skills["MotivatingSpeech"]:SetActive( false ); |
289 |
|
Kragenwar-3044 |
end |
290 |
|
Kragenwar-3044 |
if (self.settings.defaults["BuffActive"].selected == 4) then |
291 |
|
Kragenwar-3044 |
self.skills["MotivatingSpeech"]:StartTimer(effect:GetDuration() * .82, true); |
292 |
|
Kragenwar-3044 |
end |
293 |
21 |
Kragenwar-3044 |
end |
294 |
66 |
Kragenwar-3044 |
|
295 |
|
Kragenwar-3044 |
elseif (effectname == self.effectlist["OnGuard"]:GetName() or effectname == self.effectlist["RelentlessAttack"]:GetName() or effectname == self.effectlist["Focus"]:GetName() ) then |
296 |
|
Kragenwar-3044 |
if (self.effectlist["OnGuard"]:SetState( true, effectid )) then |
297 |
|
Kragenwar-3044 |
self.multi["Tactic"]:SetActive( true ); |
298 |
|
Kragenwar-3044 |
if (self.settings.defaults["TacticActive"].selected == 2) then |
299 |
|
Kragenwar-3044 |
self.multi["Tactic"]:SetHover( true ); |
300 |
|
Kragenwar-3044 |
elseif (self.settings.defaults["TacticActive"].selected >= 3) then |
301 |
|
Kragenwar-3044 |
self.multi["Tactic"]:SetActive(false); |
302 |
|
Kragenwar-3044 |
end |
303 |
|
Kragenwar-3044 |
if (self.settings.defaults["TacticActive"].selected == 4) then |
304 |
|
Kragenwar-3044 |
self.multi["Tactic"]:StartTimer(effect:GetDuration() * .82, true); |
305 |
|
Kragenwar-3044 |
end |
306 |
10 |
Kragenwar-3044 |
end |
307 |
6 |
Kragenwar-3044 |
|
308 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["InDefenceOfMiddleEarth"]:GetName()) then |
309 |
|
Kragenwar-3044 |
if (self.effectlist["InDefenceOfMiddleEarth"]:SetState( true, effectid )) then |
310 |
|
Kragenwar-3044 |
self.skills["IDOME"]:SetActive( self.settings.traits["IDOME"].active ); |
311 |
127 |
Valdacil-446 |
if (self.settings.defaults["IDoMEActive"].selected == 2) then |
312 |
66 |
Kragenwar-3044 |
self.skills["IDOME"]:SetHover( true ); |
313 |
127 |
Valdacil-446 |
elseif (self.settings.defaults["IDoMEActive"].selected == 3) then |
314 |
66 |
Kragenwar-3044 |
self.skills["IDOME"]:SetActive( false ); |
315 |
|
Kragenwar-3044 |
end |
316 |
10 |
Kragenwar-3044 |
end |
317 |
6 |
Kragenwar-3044 |
|
318 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["BannerOfWar"]:GetName() or effectname == self.effectlist["BannerOfVictory"]:GetName() or effectname == self.effectlist["BannerOfHope"]:GetName() or effectname == self.effectlist["ImprovedBannerOfWar"]:GetName() or effectname == self.effectlist["ImprovedBannerOfVictory"]:GetName() or effectname == self.effectlist["ImprovedBannerOfHope"]:GetName() ) then |
319 |
|
Kragenwar-3044 |
if (self.effectlist["BannerOfWar"]:SetState( true, effectid )) then |
320 |
|
Kragenwar-3044 |
self.multi["Heralds"]:SetHover(true); |
321 |
|
Kragenwar-3044 |
self.multi["Banners"]:SetHover(true); |
322 |
21 |
Kragenwar-3044 |
end |
323 |
6 |
Kragenwar-3044 |
|
324 |
|
Kragenwar-3044 |
-- Fear |
325 |
21 |
Kragenwar-3044 |
elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Fear ) then |
326 |
6 |
Kragenwar-3044 |
self.fear = self.fear + 1; |
327 |
127 |
Valdacil-446 |
if (settings.skilldata["MusterCourage"].parent ~= nil and vars.playerlevel >= self.skills["MusterCourage"].level[1] and self.settings.features["FearIndicator"].active) then |
328 |
|
Valdacil-446 |
if (self.settings.userconf[settings.skilldata["MusterCourage"].parent].active) then |
329 |
|
Valdacil-446 |
self.skills["MusterCourage"]:SetColor("purple"); |
330 |
|
Valdacil-446 |
end |
331 |
6 |
Kragenwar-3044 |
end |
332 |
|
Kragenwar-3044 |
|
333 |
|
Kragenwar-3044 |
end |
334 |
|
Kragenwar-3044 |
end |
335 |
|
Kragenwar-3044 |
|
336 |
|
Kragenwar-3044 |
-- REMOVE EFFECT EVENT |
337 |
|
Kragenwar-3044 |
function CaptainBars:RemoveEffect( effect ) |
338 |
66 |
Kragenwar-3044 |
local effectname = effect:GetName(); |
339 |
|
Kragenwar-3044 |
local effectid = effect:GetID(); |
340 |
6 |
Kragenwar-3044 |
|
341 |
66 |
Kragenwar-3044 |
if (effectname == self.effectlist["EnemyDefeatResponse"]:GetName()) then |
342 |
|
Kragenwar-3044 |
if (not self.effectlist["EnemyDefeatResponse"]:SetState( false, effectid )) then |
343 |
6 |
Kragenwar-3044 |
self.skills["RallyingCry"]:SetActive( false ); |
344 |
|
Kragenwar-3044 |
self.skills["WarCry"]:SetActive( false ); |
345 |
127 |
Valdacil-446 |
self.skills["RoutingCry"]:SetActive( self.settings.traits["LeaderofMen"].active ); |
346 |
66 |
Kragenwar-3044 |
self.skills["ShadowsLament"]:SetActive( self.settings.traits["MasterOfWar"].active ); |
347 |
6 |
Kragenwar-3044 |
end |
348 |
|
Kragenwar-3044 |
|
349 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["BattleReadied"]:GetName()) then |
350 |
|
Kragenwar-3044 |
if (not self.effectlist["BattleReadied"]:SetState( false, effectid )) then |
351 |
|
Kragenwar-3044 |
self.skills["DevastatingBlow"]:SetActive( not self.settings.features["GateSkills"].active ); |
352 |
|
Kragenwar-3044 |
self.skills["PressingAttack"]:SetActive( not self.settings.features["GateSkills"].active ); |
353 |
|
Kragenwar-3044 |
end |
354 |
6 |
Kragenwar-3044 |
|
355 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["BattleHardened"]:GetName()) then |
356 |
|
Kragenwar-3044 |
if (not self.effectlist["BattleHardened"]:SetState( false, effectid )) then |
357 |
|
Kragenwar-3044 |
self.skills["BladeOfElendil"]:SetActive( not self.settings.features["GateSkills"].active ); |
358 |
|
Kragenwar-3044 |
end |
359 |
6 |
Kragenwar-3044 |
|
360 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["FellowDefeatResponse"]:GetName()) then |
361 |
|
Kragenwar-3044 |
if (not self.effectlist["FellowDefeatResponse"]:SetState( false, effectid )) then |
362 |
|
Kragenwar-3044 |
self.skills["CryOfVengence"]:SetActive( false ); |
363 |
|
Kragenwar-3044 |
end |
364 |
6 |
Kragenwar-3044 |
|
365 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["Motivated"]:GetName()) then |
366 |
|
Kragenwar-3044 |
if (not self.effectlist["Motivated"]:SetState( false, effectid )) then |
367 |
|
Kragenwar-3044 |
self.skills["MotivatingSpeech"]:SetActive( true ); |
368 |
21 |
Kragenwar-3044 |
self.skills["MotivatingSpeech"]:SetHover( false ); |
369 |
|
Kragenwar-3044 |
end |
370 |
6 |
Kragenwar-3044 |
|
371 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["OnGuard"]:GetName() or effectname == self.effectlist["RelentlessAttack"]:GetName() or effectname == self.effectlist["Focus"]:GetName()) then |
372 |
|
Kragenwar-3044 |
if (not self.effectlist["OnGuard"]:SetState( false, effectid )) then |
373 |
|
Kragenwar-3044 |
self.multi["Tactic"]:SetActive( true ); |
374 |
|
Kragenwar-3044 |
self.multi["Tactic"]:SetHover( false ); |
375 |
|
Kragenwar-3044 |
end |
376 |
6 |
Kragenwar-3044 |
|
377 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["InDefenceOfMiddleEarth"]:GetName()) then |
378 |
|
Kragenwar-3044 |
if (not self.effectlist["InDefenceOfMiddleEarth"]:SetState( false, effectid )) then |
379 |
|
Kragenwar-3044 |
self.skills["IDOME"]:SetActive( self.settings.traits["IDOME"].active ); |
380 |
21 |
Kragenwar-3044 |
self.skills["IDOME"]:SetHover( false ); |
381 |
|
Kragenwar-3044 |
end |
382 |
6 |
Kragenwar-3044 |
|
383 |
66 |
Kragenwar-3044 |
elseif (effectname == self.effectlist["BannerOfWar"]:GetName() or effectname == self.effectlist["BannerOfVictory"]:GetName() or effectname == self.effectlist["BannerOfHope"]:GetName() or effectname == self.effectlist["ImprovedBannerOfWar"]:GetName() or effectname == self.effectlist["ImprovedBannerOfVictory"]:GetName() or effectname == self.effectlist["ImprovedBannerOfHope"]:GetName() ) then |
384 |
|
Kragenwar-3044 |
if (not self.effectlist["BannerOfWar"]:SetState( false, effectid )) then |
385 |
|
Kragenwar-3044 |
self.multi["Heralds"]:SetHover(false); |
386 |
|
Kragenwar-3044 |
self.multi["Banners"]:SetHover(false); |
387 |
|
Kragenwar-3044 |
end |
388 |
6 |
Kragenwar-3044 |
|
389 |
|
Kragenwar-3044 |
-- Fear |
390 |
|
Kragenwar-3044 |
elseif (effect:GetCategory() == Turbine.Gameplay.EffectCategory.Fear ) then |
391 |
|
Kragenwar-3044 |
self.fear = self.fear - 1; |
392 |
|
Kragenwar-3044 |
if (self.fear == 0) then |
393 |
|
Kragenwar-3044 |
self.skills["MusterCourage"]:SetColor(); |
394 |
|
Kragenwar-3044 |
end |
395 |
|
Kragenwar-3044 |
|
396 |
|
Kragenwar-3044 |
end |
397 |
|
Kragenwar-3044 |
|
398 |
|
Kragenwar-3044 |
end |
399 |
|
Kragenwar-3044 |
|
400 |
|
Kragenwar-3044 |
-- DEFAULT SETTINGS |
401 |
|
Kragenwar-3044 |
function CaptainBars:DefaultSettings() |
402 |
66 |
Kragenwar-3044 |
self.settings = { preconf = { }, userconf = { }, traits = { }, features = { }, defaults = { }, quickslots = { } }; |
403 |
6 |
Kragenwar-3044 |
|
404 |
66 |
Kragenwar-3044 |
self.settings.preconf["Marks"] = { id = 1, name = "Marks", defpos = {1,2}, size={3,1}, pos = {0,0}, combat = {true,true}, active = true }; |
405 |
6 |
Kragenwar-3044 |
|
406 |
66 |
Kragenwar-3044 |
self.settings.userconf["Attack"] = { id = 2, name = "Attack Skills", defpos = {1,4}, size={4,1}, pos = {0,0}, combat = {true,true}, active = true }; |
407 |
|
Kragenwar-3044 |
self.settings.userconf["Gated"] = { id = 3, name = "Gated Skills", defpos = {5,4}, size={3,1}, pos = {0,0}, combat = {true,true}, active = true }; |
408 |
|
Kragenwar-3044 |
self.settings.userconf["Defeat"] = { id = 4, name = "Defeat Responses", defpos = {1,3}, size={4,1}, pos = {0,0}, combat = {true,true}, active = true }; |
409 |
|
Kragenwar-3044 |
self.settings.userconf["Healing"] = { id = 5, name = "Healing", defpos = {1,1}, size={4,1}, pos = {0,0}, combat = {true,true}, active = true }; |
410 |
|
Kragenwar-3044 |
self.settings.userconf["Buffs"] = { id = 6, name = "Buffs", defpos = {5,1}, size={3,1}, pos = {0,0}, combat = {true,true}, active = true }; |
411 |
|
Kragenwar-3044 |
self.settings.userconf["Threat"] = { id = 7, name = "Threat", defpos = {9,4}, size={3,1}, pos = {0,0}, combat = {true,true}, active = true }; |
412 |
|
Kragenwar-3044 |
self.settings.userconf["Emergency"] = { id = 8, name = "Emergency", defpos = {5,3}, size={2,1}, pos = {0,0}, combat = {true,true}, active = true }; |
413 |
|
Kragenwar-3044 |
self.settings.userconf["Rez"] = { id = 9, name = "Rez", defpos = {7,3}, size={2,1}, pos = {0,0}, combat = {true,true}, active = true }; |
414 |
|
Kragenwar-3044 |
self.settings.userconf["ShieldBro"] = { id = 10, name = "Shield Brother", defpos = {4,2}, size={4,1}, pos = {0,0}, combat = {true,true}, active = true }; |
415 |
|
Kragenwar-3044 |
self.settings.userconf["BattleBuffs"] = { id = 11, name = "Battle Buffs", defpos = {9,2}, size={2,1}, pos = {0,0}, combat = {true,true}, active = true }; |
416 |
|
Kragenwar-3044 |
self.settings.userconf["Debuff"] = { id = 12, name = "Debuff", defpos = {9,3}, size={1,1}, pos = {0,0}, combat = {true,true}, active = true }; |
417 |
|
Kragenwar-3044 |
self.settings.userconf["Banners"] = { id = 13, name = "Banners", defpos = {10,3}, size={2,1}, pos = {0,0}, combat = {true,true}, active = true }; |
418 |
|
Kragenwar-3044 |
self.settings.userconf["Utility"] = { id = 14, name = "Utility", defpos = {8,4}, size={1,1}, pos = {0,0}, combat = {true,true}, active = true }; |
419 |
|
Kragenwar-3044 |
self.settings.userconf["ClassItems"] = { id = 15, name = "Class Items", defpos = {9,1}, size={3,1}, pos = {0,0}, combat = {true,true}, active = true }; |
420 |
|
Kragenwar-3044 |
|
421 |
|
Kragenwar-3044 |
self.settings.traits["IDOME"] = { id = 1, name = 'IDoME', active = false }; |
422 |
|
Kragenwar-3044 |
self.settings.traits["OathbreakersShame"] = { id = 2, name = 'Oathbreakers Shame', active = false }; |
423 |
|
Kragenwar-3044 |
self.settings.traits["ShieldOfTheDunadain"] = { id = 3, name = 'Shield of the Dunadain', active = false }; |
424 |
|
Kragenwar-3044 |
self.settings.traits["MasterOfWar"] = { id = 4, name = 'Master of War', active = false }; |
425 |
127 |
Valdacil-446 |
self.settings.traits["LeaderofMen"] = { id = 5, name = 'Leader of Men', active = false }; |
426 |
66 |
Kragenwar-3044 |
|
427 |
|
Kragenwar-3044 |
self.settings.features["GateSkills"] = { id = 1, name = 'Gate Skills', active = true }; |
428 |
|
Kragenwar-3044 |
self.settings.features["MultiMarks"] = { id = 2, name = 'Combine Marks', active = false }; |
429 |
|
Kragenwar-3044 |
self.settings.features["FearIndicator"] = { id = 3, name = 'Fear Indicator', active = true }; |
430 |
|
Kragenwar-3044 |
|
431 |
127 |
Valdacil-446 |
self.settings.defaults["BuffActive"] = { id = 1, name = 'Motivated Active', selected = 4, list = { "None", "Dim", "Hide", "Early Warning" } }; |
432 |
66 |
Kragenwar-3044 |
self.settings.defaults["TacticActive"] = { id = 2, name = 'Tactic Active', selected = 2, list = { "None", "Dim", "Hide", "Early Warning" } }; |
433 |
127 |
Valdacil-446 |
self.settings.defaults["IDoMEActive"] = { id = 3, name = 'IDoME Active', selected = 2, list = { "None", "Dim", "Hide" } }; |
434 |
6 |
Kragenwar-3044 |
|
435 |
66 |
Kragenwar-3044 |
self.settings.quickslots["Banner1"] = {id = 1, name = "Banner 1", active = false, type = 0, data = ""}; |
436 |
|
Kragenwar-3044 |
self.settings.quickslots["Banner2"] = {id = 2, name = "Banner 2", active = false, type = 0, data = ""}; |
437 |
|
Kragenwar-3044 |
self.settings.quickslots["Banner3"] = {id = 3, name = "Banner 3", active = false, type = 0, data = ""}; |
438 |
|
Kragenwar-3044 |
self.settings.quickslots["Armament"] = {id = 4, name = "Armaments", active = false, type = 0, data = ""}; |
439 |
78 |
Kragenwar-3044 |
self.settings.quickslots["SummoningHorn"] = {id = 5, name = "Summoning Horn", active = false, type = 0, data = ""}; |
440 |
|
Kragenwar-3044 |
self.settings.quickslots["BattleTonic"] = {id = 6, name = "Battle Tonic", active = false, type = 0, data = ""}; |
441 |
|
Kragenwar-3044 |
self.settings.quickslots["BlazonedCrest"] = {id = 7, name = "Blazoned Crest", active = false, type = 0, data = ""}; |
442 |
6 |
Kragenwar-3044 |
|
443 |
|
Kragenwar-3044 |
end |
444 |
|
Kragenwar-3044 |
|
445 |
|
Kragenwar-3044 |
-- UPDATE SETTINGS |
446 |
|
Kragenwar-3044 |
function CaptainBars:UpdateSettings() |
447 |
10 |
Kragenwar-3044 |
if (settings.vers < 3.01) then |
448 |
|
Kragenwar-3044 |
|
449 |
|
Kragenwar-3044 |
if (self.settings["Features"].buffdisappear) then self.settings["Features"].buffactive = 4; else self.settings["Features"].buffactive = 2; end |
450 |
21 |
Kragenwar-3044 |
if (self.settings["Features"].tactichover) then self.settings["Features"].tacticactive = 2; else self.settings["Features"].tacticactive = 4; end |
451 |
10 |
Kragenwar-3044 |
|
452 |
|
Kragenwar-3044 |
self.settings["Features"].buffdisappear = nil; |
453 |
|
Kragenwar-3044 |
self.settings["Features"].tactichover = nil; |
454 |
|
Kragenwar-3044 |
end |
455 |
49 |
Kragenwar-3044 |
if (settings.vers < 3.20) then |
456 |
|
Kragenwar-3044 |
self.settings["ClassItems"] = { active = true, x = 0, y = 0, rotate = 0 }; |
457 |
|
Kragenwar-3044 |
self.settings["Quickslots"].horn = { active = true, type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""}; |
458 |
|
Kragenwar-3044 |
self.settings["Quickslots"].tonic = { active = true, type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""}; |
459 |
|
Kragenwar-3044 |
self.settings["Quickslots"].crest = { active = true, type = Turbine.UI.Lotro.ShortcutType.Undefined, data = ""}; |
460 |
|
Kragenwar-3044 |
end |
461 |
113 |
Kragenwar-3044 |
if (settings.vers < 4.00) then |
462 |
66 |
Kragenwar-3044 |
local oldclassinfo = self.settings; |
463 |
|
Kragenwar-3044 |
self:DefaultSettings(); |
464 |
|
Kragenwar-3044 |
for k,v in pairs(oldclassinfo) do |
465 |
|
Kragenwar-3044 |
if (k ~= "Features" and k ~= "Quickslots") then |
466 |
|
Kragenwar-3044 |
if (self.settings.preconf[k] == nil) then |
467 |
|
Kragenwar-3044 |
if (self.settings.userconf[k] ~= nil) then |
468 |
|
Kragenwar-3044 |
self.settings.userconf[k].pos = { v.x, v.y }; |
469 |
|
Kragenwar-3044 |
self.settings.userconf[k].combat = { true, true }; |
470 |
|
Kragenwar-3044 |
self.settings.userconf[k].active = v.active; |
471 |
|
Kragenwar-3044 |
end |
472 |
|
Kragenwar-3044 |
else |
473 |
|
Kragenwar-3044 |
self.settings.preconf[k].pos = { v.x, v.y }; |
474 |
|
Kragenwar-3044 |
self.settings.preconf[k].combat = { true, true }; |
475 |
|
Kragenwar-3044 |
self.settings.preconf[k].active = v.active; |
476 |
|
Kragenwar-3044 |
end |
477 |
|
Kragenwar-3044 |
elseif (k == "Features") then |
478 |
|
Kragenwar-3044 |
for key, value in pairs(v) do |
479 |
|
Kragenwar-3044 |
if (key == 'idome') then |
480 |
|
Kragenwar-3044 |
self.settings.traits["IDOME"].active = value; |
481 |
|
Kragenwar-3044 |
elseif (key == 'oathbreakers') then |
482 |
|
Kragenwar-3044 |
self.settings.traits["OathbreakersShame"].active = value; |
483 |
|
Kragenwar-3044 |
elseif (key == 'shield') then |
484 |
|
Kragenwar-3044 |
self.settings.traits["ShieldOfTheDunadain"].active = value; |
485 |
|
Kragenwar-3044 |
elseif (key == 'lament') then |
486 |
|
Kragenwar-3044 |
self.settings.traits["MasterOfWar"].active = value; |
487 |
|
Kragenwar-3044 |
elseif (key == 'fearindicator') then |
488 |
|
Kragenwar-3044 |
self.settings.features["FearIndicator"].active = value; |
489 |
|
Kragenwar-3044 |
elseif (key == 'multimarks') then |
490 |
|
Kragenwar-3044 |
self.settings.features["MultiMarks"].active = value; |
491 |
|
Kragenwar-3044 |
elseif (key == 'gated') then |
492 |
|
Kragenwar-3044 |
self.settings.features["GateSkills"].active = value; |
493 |
|
Kragenwar-3044 |
elseif (key == 'buffactive') then |
494 |
|
Kragenwar-3044 |
self.settings.defaults["BuffActive"].selected = value; |
495 |
|
Kragenwar-3044 |
elseif (key == 'tacticactive') then |
496 |
|
Kragenwar-3044 |
self.settings.defaults["TacticActive"].selected = value; |
497 |
|
Kragenwar-3044 |
end |
498 |
|
Kragenwar-3044 |
end |
499 |
|
Kragenwar-3044 |
elseif (k == "Quickslots") then |
500 |
|
Kragenwar-3044 |
for key, value in pairs(v) do |
501 |
|
Kragenwar-3044 |
if (key == 'banner1') then |
502 |
|
Kragenwar-3044 |
self.settings.quickslots["Banner1"].active = value.active; |
503 |
|
Kragenwar-3044 |
self.settings.quickslots["Banner1"].type = value.type; |
504 |
|
Kragenwar-3044 |
self.settings.quickslots["Banner1"].data = value.data; |
505 |
|
Kragenwar-3044 |
elseif (key == 'banner2') then |
506 |
|
Kragenwar-3044 |
self.settings.quickslots["Banner2"].active = value.active; |
507 |
|
Kragenwar-3044 |
self.settings.quickslots["Banner2"].type = value.type; |
508 |
|
Kragenwar-3044 |
self.settings.quickslots["Banner2"].data = value.data; |
509 |
|
Kragenwar-3044 |
elseif (key == 'banner3') then |
510 |
|
Kragenwar-3044 |
self.settings.quickslots["Banner3"].active = value.active; |
511 |
|
Kragenwar-3044 |
self.settings.quickslots["Banner3"].type = value.type; |
512 |
|
Kragenwar-3044 |
self.settings.quickslots["Banner3"].data = value.data; |
513 |
|
Kragenwar-3044 |
elseif (key == 'armament') then |
514 |
106 |
Kragenwar-3044 |
self.settings.quickslots["Armament"].active = value.active; |
515 |
|
Kragenwar-3044 |
self.settings.quickslots["Armament"].type = value.type; |
516 |
|
Kragenwar-3044 |
self.settings.quickslots["Armament"].data = value.data; |
517 |
66 |
Kragenwar-3044 |
end |
518 |
|
Kragenwar-3044 |
end |
519 |
|
Kragenwar-3044 |
end |
520 |
|
Kragenwar-3044 |
end |
521 |
|
Kragenwar-3044 |
end |
522 |
127 |
Valdacil-446 |
|
523 |
|
Valdacil-446 |
if (settings.vers < 5.00) then |
524 |
|
Valdacil-446 |
self.settings.traits["LeaderofMen"] = { id = 5, name = 'Leader of Men', active = false }; |
525 |
|
Valdacil-446 |
self.settings.defaults["IDoMEActive"] = { id = 3, name = 'IDoME Active', selected = 2, list = { "None", "Dim", "Hide" } }; |
526 |
|
Valdacil-446 |
self.settings.defaults["BuffActive"].name = "Motivated Active"; |
527 |
|
Valdacil-446 |
settings.multidata["Brothers"] = { current = { 1 }, lock = false, parent = settings.skilldata["ShieldBrother"].parent, layer = 1, pos = settings.skilldata["ShieldBrother"].pos }; |
528 |
|
Valdacil-446 |
settings.skilldata["ShieldBrother"] = nil; |
529 |
|
Valdacil-446 |
end |
530 |
|
Valdacil-446 |
|
531 |
6 |
Kragenwar-3044 |
settings.vers = vars.vers; |
532 |
|
Kragenwar-3044 |
end |
533 |
|
Kragenwar-3044 |
|
534 |
|
Kragenwar-3044 |
|
535 |
|
Kragenwar-3044 |
-- REFRESH SKILLS AND BARS |
536 |
|
Kragenwar-3044 |
function CaptainBars:Refresh() |
537 |
|
Kragenwar-3044 |
|
538 |
|
Kragenwar-3044 |
-- GENERIC REFRESH (Required for all classes) |
539 |
|
Kragenwar-3044 |
self:RefreshBars(); |
540 |
|
Kragenwar-3044 |
|
541 |
48 |
Kragenwar-3044 |
-- REDEFINE EFFECTLIST IN CASE OF LANGUAGE CHANGE |
542 |
|
Kragenwar-3044 |
self.DefineEffectList(); |
543 |
6 |
Kragenwar-3044 |
|
544 |
|
Kragenwar-3044 |
-- CLASS SPECIFIC REFRESH |
545 |
|
Kragenwar-3044 |
-- Setup Marks (Seperate or Multi) |
546 |
66 |
Kragenwar-3044 |
if (not self.settings.features["MultiMarks"].active) then |
547 |
|
Kragenwar-3044 |
if (self.windows["Marks"].rotate == false) then |
548 |
6 |
Kragenwar-3044 |
self.windows["Marks"]:SetSize(35*3, 35); |
549 |
|
Kragenwar-3044 |
self.windows["Marks"].width = 3; |
550 |
|
Kragenwar-3044 |
self.windows["Marks"].height = 1; |
551 |
|
Kragenwar-3044 |
self.multi["Marks"]:SetActive(false); |
552 |
|
Kragenwar-3044 |
self.skills["NobleMark"]:SetActive(true); |
553 |
|
Kragenwar-3044 |
self.skills["TellingMark"]:SetActive(true); |
554 |
|
Kragenwar-3044 |
self.skills["RevealingMark"]:SetActive(true); |
555 |
|
Kragenwar-3044 |
self.bars["MultiMark"]:SetZOrder(-10); |
556 |
|
Kragenwar-3044 |
self.bars["Marks"]:SetZOrder(0); |
557 |
|
Kragenwar-3044 |
else |
558 |
|
Kragenwar-3044 |
self.windows["Marks"]:SetSize(35, 35 * 3); |
559 |
|
Kragenwar-3044 |
self.windows["Marks"].width = 1; |
560 |
|
Kragenwar-3044 |
self.windows["Marks"].height = 3; |
561 |
|
Kragenwar-3044 |
self.multi["Marks"]:SetActive(false); |
562 |
|
Kragenwar-3044 |
self.skills["NobleMark"]:SetActive(true); |
563 |
|
Kragenwar-3044 |
self.skills["TellingMark"]:SetActive(true); |
564 |
|
Kragenwar-3044 |
self.skills["RevealingMark"]:SetActive(true); |
565 |
|
Kragenwar-3044 |
self.bars["MultiMark"]:SetZOrder(-10); |
566 |
|
Kragenwar-3044 |
self.bars["Marks"]:SetZOrder(0); |
567 |
|
Kragenwar-3044 |
end |
568 |
|
Kragenwar-3044 |
else |
569 |
|
Kragenwar-3044 |
self.windows["Marks"]:SetSize(35, 35); |
570 |
|
Kragenwar-3044 |
self.multi["Marks"]:SetPosition(0, 0); |
571 |
|
Kragenwar-3044 |
self.windows["Marks"].width = 1; |
572 |
|
Kragenwar-3044 |
self.windows["Marks"].height = 1; |
573 |
|
Kragenwar-3044 |
self.multi["Marks"]:SetActive(true); |
574 |
|
Kragenwar-3044 |
self.skills["NobleMark"]:SetActive(false); |
575 |
|
Kragenwar-3044 |
self.skills["TellingMark"]:SetActive(false); |
576 |
|
Kragenwar-3044 |
self.skills["RevealingMark"]:SetActive(false); |
577 |
|
Kragenwar-3044 |
self.bars["MultiMark"]:SetZOrder(0); |
578 |
|
Kragenwar-3044 |
self.bars["Marks"]:SetZOrder(-10); |
579 |
|
Kragenwar-3044 |
end |
580 |
|
Kragenwar-3044 |
|
581 |
|
Kragenwar-3044 |
-- Setup Features |
582 |
66 |
Kragenwar-3044 |
self.skills["ShieldOfTheDunadain"]:SetActive(self.settings.traits["ShieldOfTheDunadain"].active); |
583 |
|
Kragenwar-3044 |
self.skills["OathbreakersShame"]:SetActive(self.settings.traits["OathbreakersShame"].active); |
584 |
95 |
Kragenwar-3044 |
self.skills["DevastatingBlow"]:SetActive(not self.settings.features["GateSkills"].active or self.effectlist["BattleReadied"]:GetState()); |
585 |
|
Kragenwar-3044 |
self.skills["PressingAttack"]:SetActive(not self.settings.features["GateSkills"].active or self.effectlist["BattleReadied"]:GetState()); |
586 |
|
Kragenwar-3044 |
self.skills["BladeOfElendil"]:SetActive(not self.settings.features["GateSkills"].active or self.effectlist["BattleHardened"]:GetState()); |
587 |
127 |
Valdacil-446 |
self.skills["RoutingCry"]:SetActive(self.settings.traits["LeaderofMen"].active or self.effectlist["EnemyDefeatResponse"]:GetState()); |
588 |
95 |
Kragenwar-3044 |
self.skills["ShadowsLament"]:SetActive(self.settings.traits["MasterOfWar"].active or self.effectlist["EnemyDefeatResponse"]:GetState()); |
589 |
6 |
Kragenwar-3044 |
|
590 |
|
Kragenwar-3044 |
-- Level Check Multis |
591 |
127 |
Valdacil-446 |
self.multi["Brothers"]:LevelCheck(); |
592 |
6 |
Kragenwar-3044 |
self.multi["Tactic"]:LevelCheck(); |
593 |
|
Kragenwar-3044 |
self.multi["Marks"]:LevelCheck(); |
594 |
|
Kragenwar-3044 |
self.multi["Heralds"]:LevelCheck(); |
595 |
|
Kragenwar-3044 |
|
596 |
78 |
Kragenwar-3044 |
-- Set Quickslots |
597 |
|
Kragenwar-3044 |
self.skills["SummoningHorn"]:SetQuickslot(self.settings.quickslots["SummoningHorn"]); |
598 |
|
Kragenwar-3044 |
self.skills["BattleTonic"]:SetQuickslot(self.settings.quickslots["BattleTonic"]); |
599 |
|
Kragenwar-3044 |
self.skills["BlazonedCrest"]:SetQuickslot(self.settings.quickslots["BlazonedCrest"]); |
600 |
|
Kragenwar-3044 |
|
601 |
48 |
Kragenwar-3044 |
-- Rebuild Banner Multi |
602 |
6 |
Kragenwar-3044 |
self.multi["Banners"]:Clear(); |
603 |
79 |
Kragenwar-3044 |
self.multi["Banners"]:AddShortCut("Banner 1", self.settings.quickslots["Banner1"]); |
604 |
|
Kragenwar-3044 |
self.multi["Banners"]:AddShortCut("Banner 2", self.settings.quickslots["Banner2"]); |
605 |
|
Kragenwar-3044 |
self.multi["Banners"]:AddShortCut("Banner 3", self.settings.quickslots["Banner3"]); |
606 |
|
Kragenwar-3044 |
self.multi["Banners"]:AddShortCut("Armament", self.settings.quickslots["Armament"]); |
607 |
6 |
Kragenwar-3044 |
self.multi["Banners"]:Refresh(true); |
608 |
|
Kragenwar-3044 |
|
609 |
48 |
Kragenwar-3044 |
-- Set Buff Visibility/Hover based on BuffActive settings |
610 |
10 |
Kragenwar-3044 |
self.skills["MotivatingSpeech"]:SetActive( true ); |
611 |
21 |
Kragenwar-3044 |
self.skills["MotivatingSpeech"]:SetHover( false ); |
612 |
66 |
Kragenwar-3044 |
self.skills["IDOME"]:SetActive( self.settings.traits["IDOME"].active ); |
613 |
21 |
Kragenwar-3044 |
self.skills["IDOME"]:SetHover( false ); |
614 |
66 |
Kragenwar-3044 |
if (self.settings.defaults["BuffActive"].selected == 2) then |
615 |
78 |
Kragenwar-3044 |
self.skills["MotivatingSpeech"]:SetHover( self.effectlist["Motivated"]:GetState() ); |
616 |
66 |
Kragenwar-3044 |
elseif (self.settings.defaults["BuffActive"].selected >= 3) then |
617 |
78 |
Kragenwar-3044 |
self.skills["MotivatingSpeech"]:SetActive( not self.effectlist["Motivated"]:GetState() ); |
618 |
127 |
Valdacil-446 |
end |
619 |
|
Valdacil-446 |
if (self.settings.defaults["IDoMEActive"].selected == 2) then |
620 |
|
Valdacil-446 |
self.skills["IDOME"]:SetHover( self.effectlist["InDefenceOfMiddleEarth"]:GetState() ); |
621 |
|
Valdacil-446 |
elseif (self.settings.defaults["IDoMEActive"].selected == 3) then |
622 |
78 |
Kragenwar-3044 |
self.skills["IDOME"]:SetActive( not self.effectlist["InDefenceOfMiddleEarth"]:GetState() and self.settings.traits["IDOME"].active ); |
623 |
6 |
Kragenwar-3044 |
end |
624 |
10 |
Kragenwar-3044 |
self.multi["Tactic"]:SetActive( true ); |
625 |
21 |
Kragenwar-3044 |
self.multi["Tactic"]:SetHover( false ); |
626 |
66 |
Kragenwar-3044 |
if (self.settings.defaults["TacticActive"].selected == 2) then |
627 |
78 |
Kragenwar-3044 |
self.multi["Tactic"]:SetHover( self.effectlist["OnGuard"]:GetState() ); |
628 |
66 |
Kragenwar-3044 |
elseif (self.settings.defaults["TacticActive"].selected >= 3) then |
629 |
78 |
Kragenwar-3044 |
self.multi["Tactic"]:SetActive( not self.effectlist["OnGuard"]:GetState() ); |
630 |
6 |
Kragenwar-3044 |
end |
631 |
|
Kragenwar-3044 |
|
632 |
48 |
Kragenwar-3044 |
-- Set Fear Indicator |
633 |
127 |
Valdacil-446 |
if (settings.skilldata["MusterCourage"].parent ~= nil and vars.playerlevel >= self.skills["MusterCourage"].level[1] and self.settings.features["FearIndicator"].active and self.fear > 0) then |
634 |
|
Valdacil-446 |
if (self.settings.userconf[settings.skilldata["MusterCourage"].parent].active) then |
635 |
|
Valdacil-446 |
self.skills["MusterCourage"]:SetColor("purple"); |
636 |
|
Valdacil-446 |
end |
637 |
6 |
Kragenwar-3044 |
else |
638 |
|
Kragenwar-3044 |
self.skills["MusterCourage"]:SetColor(); |
639 |
|
Kragenwar-3044 |
end |
640 |
|
Kragenwar-3044 |
|
641 |
|
Kragenwar-3044 |
-- Refresh States |
642 |
|
Kragenwar-3044 |
self:CombatChange(vars.player:IsInCombat()); |
643 |
|
Kragenwar-3044 |
|
644 |
|
Kragenwar-3044 |
end |