ESOUI SVN TaosGroupUltimate

[/] [trunk/] [TaosGroupUltimate/] [logic/] [UltimateGroupHandler.lua] - Blame information for rev 37

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 11 Taonnor-14572
--[[
2 Taonnor-14572
        Addon: Taos Group Ultimate
3 Taonnor-14572
        Author: TProg Taonnor
4 Taonnor-14572
        Created by @Taonnor
5 Taonnor-14572
]]--
6 Taonnor-14572
 
7 Taonnor-14572
--[[
8 37 Taonnor-14572
        Local variables
9 11 Taonnor-14572
]]--
10 14 Taonnor-14572
local LOG_ACTIVE = false
11 37 Taonnor-14572
local _logger = nil
12 11 Taonnor-14572
 
13 Taonnor-14572
--[[
14 37 Taonnor-14572
        Table TGU_UltimateGroupHandler
15 11 Taonnor-14572
]]--
16 37 Taonnor-14572
TGU_UltimateGroupHandler = {}
17 Taonnor-14572
TGU_UltimateGroupHandler.__index = TGU_UltimateGroupHandler
18 11 Taonnor-14572
 
19 Taonnor-14572
--[[
20 37 Taonnor-14572
        Table Members
21 11 Taonnor-14572
]]--
22 37 Taonnor-14572
TGU_UltimateGroupHandler.Name = "TGU-UltimateGroupHandler"
23 Taonnor-14572
TGU_UltimateGroupHandler.UltimateGroups = nil
24 11 Taonnor-14572
 
25 Taonnor-14572
--[[
26 16 Taonnor-14572
        GetUltimateGroupByAbilityPing gets the ultimate group from given ability ping
27 11 Taonnor-14572
]]--
28 37 Taonnor-14572
function TGU_UltimateGroupHandler.GetUltimateGroupByAbilityPing(abilityPing)
29 16 Taonnor-14572
    if (LOG_ACTIVE) then
30 37 Taonnor-14572
        _logger:logTrace("TGU_UltimateGroupHandler.GetUltimateGroupByAbilityPing")
31 Taonnor-14572
        _logger:logDebug("abilityPing", abilityPing)
32 16 Taonnor-14572
    end
33 Taonnor-14572
 
34 37 Taonnor-14572
    for i, group in pairs(TGU_UltimateGroupHandler.UltimateGroups) do
35 16 Taonnor-14572
        if (group.GroupAbilityPing == abilityPing) then
36 Taonnor-14572
            return group
37 Taonnor-14572
        end
38 Taonnor-14572
    end
39 Taonnor-14572
 
40 Taonnor-14572
    -- not found
41 37 Taonnor-14572
    _logger:logError("AbilityId not found " .. tostring(abilityPing))
42 16 Taonnor-14572
 
43 Taonnor-14572
    return nil
44 Taonnor-14572
end
45 Taonnor-14572
 
46 Taonnor-14572
--[[
47 Taonnor-14572
        GetUltimateGroupByAbilityId gets the ultimate group from given ability ID
48 Taonnor-14572
]]--
49 37 Taonnor-14572
function TGU_UltimateGroupHandler.GetUltimateGroupByAbilityId(abilityID)
50 13 Taonnor-14572
    if (LOG_ACTIVE) then
51 37 Taonnor-14572
        _logger:logTrace("TGU_UltimateGroupHandler.GetUltimateGroupByAbilityId")
52 Taonnor-14572
        _logger:logDebug("abilityID", abilityID)
53 11 Taonnor-14572
    end
54 Taonnor-14572
 
55 37 Taonnor-14572
    for i, group in pairs(TGU_UltimateGroupHandler.UltimateGroups) do
56 15 Taonnor-14572
        if (group.GroupAbilityId == abilityID) then
57 Taonnor-14572
            return group
58 14 Taonnor-14572
        end
59 Taonnor-14572
    end
60 Taonnor-14572
 
61 16 Taonnor-14572
    -- not found
62 37 Taonnor-14572
    _logger:logError("AbilityId not found " .. tostring(abilityID))
63 14 Taonnor-14572
 
64 Taonnor-14572
    return nil
65 11 Taonnor-14572
end
66 Taonnor-14572
 
67 Taonnor-14572
--[[
68 16 Taonnor-14572
        GetUltimateGroupByGroupName gets the ultimate group from given group name
69 14 Taonnor-14572
]]--
70 37 Taonnor-14572
function TGU_UltimateGroupHandler.GetUltimateGroupByGroupName(groupName)
71 14 Taonnor-14572
    if (LOG_ACTIVE) then
72 37 Taonnor-14572
        _logger:logTrace("TGU_UltimateGroupHandler.GetUltimateGroupByGroupName")
73 Taonnor-14572
        _logger:logDebug("groupName", groupName)
74 14 Taonnor-14572
    end
75 Taonnor-14572
 
76 37 Taonnor-14572
    for i, group in pairs(TGU_UltimateGroupHandler.UltimateGroups) do
77 14 Taonnor-14572
        if (string.lower(group.GroupName) == string.lower(groupName)) then
78 Taonnor-14572
            return group
79 Taonnor-14572
        end
80 Taonnor-14572
    end
81 Taonnor-14572
 
82 16 Taonnor-14572
    -- not found
83 37 Taonnor-14572
    _logger:logError("GroupName not found " .. tostring(groupName))
84 14 Taonnor-14572
 
85 Taonnor-14572
    return nil
86 Taonnor-14572
end
87 Taonnor-14572
 
88 Taonnor-14572
--[[
89 Taonnor-14572
        GetUltimateGroups gets all ultimate groups
90 Taonnor-14572
]]--
91 37 Taonnor-14572
function TGU_UltimateGroupHandler.GetUltimateGroups()
92 Taonnor-14572
    if (LOG_ACTIVE) then _logger:logTrace("TGU_UltimateGroupHandler.GetUltimateGroups") end
93 14 Taonnor-14572
 
94 37 Taonnor-14572
    return TGU_UltimateGroupHandler.UltimateGroups
95 14 Taonnor-14572
end
96 Taonnor-14572
 
97 Taonnor-14572
--[[
98 Taonnor-14572
        CreateUltimateGroups Creates UltimateGroups array
99 Taonnor-14572
]]--
100 37 Taonnor-14572
function TGU_UltimateGroupHandler.CreateUltimateGroups()
101 Taonnor-14572
    if (LOG_ACTIVE) then _logger:logTrace("TGU_UltimateGroupHandler.CreateUltimateGroups") end
102 14 Taonnor-14572
 
103 21 Taonnor-14572
    -- Sorc
104 14 Taonnor-14572
    local negate = {}
105 Taonnor-14572
    negate.GroupName = "NEGATE"
106 22 Taonnor-14572
    negate.GroupDescription = GetString(TGU_DESCRIPTIONS_NEGATE)
107 16 Taonnor-14572
    negate.GroupAbilityPing = 1
108 15 Taonnor-14572
    negate.GroupAbilityId = 29861
109 14 Taonnor-14572
 
110 21 Taonnor-14572
    local atro = {}
111 Taonnor-14572
    atro.GroupName = "ATRO"
112 22 Taonnor-14572
    atro.GroupDescription = GetString(TGU_DESCRIPTIONS_ATRO)
113 21 Taonnor-14572
    atro.GroupAbilityPing = 2
114 Taonnor-14572
    atro.GroupAbilityId = 30553
115 Taonnor-14572
 
116 Taonnor-14572
    local overload = {}
117 Taonnor-14572
    overload.GroupName = "OVER"
118 22 Taonnor-14572
    overload.GroupDescription = GetString(TGU_DESCRIPTIONS_OVER)
119 21 Taonnor-14572
    overload.GroupAbilityPing = 3
120 Taonnor-14572
    overload.GroupAbilityId = 30366
121 Taonnor-14572
 
122 Taonnor-14572
    -- Templar
123 Taonnor-14572
    local sweep = {}
124 Taonnor-14572
    sweep.GroupName = "SWEEP"
125 22 Taonnor-14572
    sweep.GroupDescription = GetString(TGU_DESCRIPTIONS_SWEEP)
126 21 Taonnor-14572
    sweep.GroupAbilityPing = 4
127 Taonnor-14572
    sweep.GroupAbilityId = 23788
128 Taonnor-14572
 
129 Taonnor-14572
    local nova = {}
130 Taonnor-14572
    nova.GroupName = "NOVA"
131 22 Taonnor-14572
    nova.GroupDescription = GetString(TGU_DESCRIPTIONS_NOVA)
132 21 Taonnor-14572
    nova.GroupAbilityPing = 5
133 Taonnor-14572
    nova.GroupAbilityId = 24301
134 Taonnor-14572
 
135 14 Taonnor-14572
    local templarHeal = {}
136 Taonnor-14572
    templarHeal.GroupName = "TPHEAL"
137 22 Taonnor-14572
    templarHeal.GroupDescription = GetString(TGU_DESCRIPTIONS_TPHEAL)
138 21 Taonnor-14572
    templarHeal.GroupAbilityPing = 6
139 15 Taonnor-14572
    templarHeal.GroupAbilityId = 27413
140 14 Taonnor-14572
 
141 21 Taonnor-14572
    -- DK
142 Taonnor-14572
    local standard = {}
143 Taonnor-14572
    standard.GroupName = "STAND"
144 22 Taonnor-14572
    standard.GroupDescription = GetString(TGU_DESCRIPTIONS_STAND)
145 21 Taonnor-14572
    standard.GroupAbilityPing = 7
146 Taonnor-14572
    standard.GroupAbilityId = 34021
147 Taonnor-14572
 
148 Taonnor-14572
    local leap = {}
149 Taonnor-14572
    leap.GroupName = "LEAP"
150 22 Taonnor-14572
    leap.GroupDescription = GetString(TGU_DESCRIPTIONS_LEAP)
151 21 Taonnor-14572
    leap.GroupAbilityPing = 8
152 Taonnor-14572
    leap.GroupAbilityId = 33668
153 Taonnor-14572
 
154 Taonnor-14572
    local magma = {}
155 Taonnor-14572
    magma.GroupName = "MAGMA"
156 22 Taonnor-14572
    magma.GroupDescription = GetString(TGU_DESCRIPTIONS_MAGMA)
157 21 Taonnor-14572
    magma.GroupAbilityPing = 9
158 Taonnor-14572
    magma.GroupAbilityId = 33841
159 Taonnor-14572
 
160 Taonnor-14572
    -- NB
161 Taonnor-14572
    local stroke = {}
162 Taonnor-14572
    stroke.GroupName = "STROKE"
163 22 Taonnor-14572
    stroke.GroupDescription = GetString(TGU_DESCRIPTIONS_STROKE)
164 21 Taonnor-14572
    stroke.GroupAbilityPing = 10
165 Taonnor-14572
    stroke.GroupAbilityId = 37545
166 Taonnor-14572
 
167 Taonnor-14572
    local veil = {}
168 Taonnor-14572
    veil.GroupName = "VEIL"
169 22 Taonnor-14572
    veil.GroupDescription = GetString(TGU_DESCRIPTIONS_VEIL)
170 21 Taonnor-14572
    veil.GroupAbilityPing = 11
171 Taonnor-14572
    veil.GroupAbilityId = 37713
172 Taonnor-14572
 
173 Taonnor-14572
    local nbSoul = {}
174 Taonnor-14572
    nbSoul.GroupName = "NBSOUL"
175 22 Taonnor-14572
    nbSoul.GroupDescription = GetString(TGU_DESCRIPTIONS_NBSOUL)
176 21 Taonnor-14572
    nbSoul.GroupAbilityPing = 12
177 Taonnor-14572
    nbSoul.GroupAbilityId = 36207
178 Taonnor-14572
 
179 Taonnor-14572
    -- Warden
180 Taonnor-14572
    -- BEAR not useful, its always up
181 Taonnor-14572
 
182 14 Taonnor-14572
    local wardenIce = {}
183 Taonnor-14572
    wardenIce.GroupName = "FREEZE"
184 22 Taonnor-14572
    wardenIce.GroupDescription = GetString(TGU_DESCRIPTIONS_FREEZE)
185 21 Taonnor-14572
    wardenIce.GroupAbilityPing = 13
186 15 Taonnor-14572
    wardenIce.GroupAbilityId = 86112
187 14 Taonnor-14572
 
188 21 Taonnor-14572
    local wardenHealing = {}
189 Taonnor-14572
    wardenHealing.GroupName = "WDHEAL"
190 22 Taonnor-14572
    wardenHealing.GroupDescription = GetString(TGU_DESCRIPTIONS_WDHEAL)
191 21 Taonnor-14572
    wardenHealing.GroupAbilityPing = 14
192 Taonnor-14572
    wardenHealing.GroupAbilityId = 93971
193 Taonnor-14572
 
194 Taonnor-14572
    -- Destro
195 14 Taonnor-14572
    local staffIce = {}
196 Taonnor-14572
    staffIce.GroupName = "ICE"
197 22 Taonnor-14572
    staffIce.GroupDescription = GetString(TGU_DESCRIPTIONS_ICE)
198 21 Taonnor-14572
    staffIce.GroupAbilityPing = 15
199 15 Taonnor-14572
    staffIce.GroupAbilityId = 86542
200 14 Taonnor-14572
 
201 Taonnor-14572
    local staffFire = {}
202 Taonnor-14572
    staffFire.GroupName = "FIRE"
203 22 Taonnor-14572
    staffFire.GroupDescription = GetString(TGU_DESCRIPTIONS_FIRE)
204 21 Taonnor-14572
    staffFire.GroupAbilityPing = 16
205 15 Taonnor-14572
    staffFire.GroupAbilityId = 86536
206 14 Taonnor-14572
 
207 Taonnor-14572
    local staffLightning = {}
208 Taonnor-14572
    staffLightning.GroupName = "LIGHT"
209 22 Taonnor-14572
    staffLightning.GroupDescription = GetString(TGU_DESCRIPTIONS_LIGHT)
210 21 Taonnor-14572
    staffLightning.GroupAbilityPing = 17
211 15 Taonnor-14572
    staffLightning.GroupAbilityId = 86550
212 14 Taonnor-14572
 
213 21 Taonnor-14572
    -- Restro
214 14 Taonnor-14572
    local staffHeal = {}
215 Taonnor-14572
    staffHeal.GroupName = "STHEAL"
216 22 Taonnor-14572
    staffHeal.GroupDescription = GetString(TGU_DESCRIPTIONS_STHEAL)
217 21 Taonnor-14572
    staffHeal.GroupAbilityPing = 18
218 15 Taonnor-14572
    staffHeal.GroupAbilityId = 86454
219 14 Taonnor-14572
 
220 21 Taonnor-14572
    -- 2H
221 Taonnor-14572
    local twoHand = {}
222 22 Taonnor-14572
    twoHand.GroupName = "BERSERK"
223 Taonnor-14572
    twoHand.GroupDescription = GetString(TGU_DESCRIPTIONS_BERSERK)
224 21 Taonnor-14572
    twoHand.GroupAbilityPing = 19
225 Taonnor-14572
    twoHand.GroupAbilityId = 86284
226 Taonnor-14572
 
227 Taonnor-14572
    -- SB
228 Taonnor-14572
    local shield = {}
229 Taonnor-14572
    shield.GroupName = "SHIELD"
230 22 Taonnor-14572
    shield.GroupDescription = GetString(TGU_DESCRIPTIONS_SHIELD)
231 21 Taonnor-14572
    shield.GroupAbilityPing = 20
232 Taonnor-14572
    shield.GroupAbilityId = 83292
233 Taonnor-14572
 
234 Taonnor-14572
    -- DW
235 Taonnor-14572
    local dual = {}
236 Taonnor-14572
    dual.GroupName = "DUAL"
237 22 Taonnor-14572
    dual.GroupDescription = GetString(TGU_DESCRIPTIONS_DUAL)
238 21 Taonnor-14572
    dual.GroupAbilityPing = 21
239 Taonnor-14572
    dual.GroupAbilityId = 86410
240 Taonnor-14572
 
241 Taonnor-14572
    -- BOW
242 Taonnor-14572
    local bow = {}
243 Taonnor-14572
    bow.GroupName = "BOW"
244 22 Taonnor-14572
    bow.GroupDescription = GetString(TGU_DESCRIPTIONS_BOW)
245 21 Taonnor-14572
    bow.GroupAbilityPing = 22
246 Taonnor-14572
    bow.GroupAbilityId = 86620
247 Taonnor-14572
 
248 Taonnor-14572
    -- Soul
249 Taonnor-14572
    local soul = {}
250 Taonnor-14572
    soul.GroupName = "SOUL"
251 22 Taonnor-14572
    soul.GroupDescription = GetString(TGU_DESCRIPTIONS_SOUL)
252 21 Taonnor-14572
    soul.GroupAbilityPing = 23
253 Taonnor-14572
    soul.GroupAbilityId = 43109
254 Taonnor-14572
 
255 Taonnor-14572
    -- Werewolf
256 24 Taonnor-14572
    local werewolf = {}
257 Taonnor-14572
    werewolf.GroupName = "WERE"
258 Taonnor-14572
    werewolf.GroupDescription = GetString(TGU_DESCRIPTIONS_WERE)
259 Taonnor-14572
    werewolf.GroupAbilityPing = 24
260 Taonnor-14572
    werewolf.GroupAbilityId = 42379
261 21 Taonnor-14572
 
262 Taonnor-14572
    -- Vamp
263 Taonnor-14572
    local vamp = {}
264 Taonnor-14572
    vamp.GroupName = "VAMP"
265 22 Taonnor-14572
    vamp.GroupDescription = GetString(TGU_DESCRIPTIONS_VAMP)
266 21 Taonnor-14572
    vamp.GroupAbilityPing = 25
267 Taonnor-14572
    vamp.GroupAbilityId = 41937
268 Taonnor-14572
 
269 Taonnor-14572
    -- Mageguild
270 14 Taonnor-14572
    local meteor = {}
271 Taonnor-14572
    meteor.GroupName = "METEOR"
272 22 Taonnor-14572
    meteor.GroupDescription = GetString(TGU_DESCRIPTIONS_METEOR)
273 21 Taonnor-14572
    meteor.GroupAbilityPing = 26
274 15 Taonnor-14572
    meteor.GroupAbilityId = 42492
275 14 Taonnor-14572
 
276 21 Taonnor-14572
    -- Fighterguild
277 14 Taonnor-14572
    local dawnbreaker = {}
278 Taonnor-14572
    dawnbreaker.GroupName = "DAWN"
279 22 Taonnor-14572
    dawnbreaker.GroupDescription = GetString(TGU_DESCRIPTIONS_DAWN)
280 21 Taonnor-14572
    dawnbreaker.GroupAbilityPing = 27
281 16 Taonnor-14572
    dawnbreaker.GroupAbilityId = 42598
282 14 Taonnor-14572
 
283 21 Taonnor-14572
    -- Support
284 14 Taonnor-14572
    local barrier = {}
285 Taonnor-14572
    barrier.GroupName = "BARRIER"
286 22 Taonnor-14572
    barrier.GroupDescription = GetString(TGU_DESCRIPTIONS_BARRIER)
287 21 Taonnor-14572
    barrier.GroupAbilityPing = 28
288 15 Taonnor-14572
    barrier.GroupAbilityId = 46622
289 14 Taonnor-14572
 
290 21 Taonnor-14572
    -- Assault
291 14 Taonnor-14572
    local horn = {}
292 Taonnor-14572
    horn.GroupName = "HORN"
293 22 Taonnor-14572
    horn.GroupDescription = GetString(TGU_DESCRIPTIONS_HORN)
294 21 Taonnor-14572
    horn.GroupAbilityPing = 29
295 27 Taonnor-14572
    horn.GroupAbilityId = 46537
296 14 Taonnor-14572
 
297 Taonnor-14572
    -- Add groups
298 37 Taonnor-14572
    TGU_UltimateGroupHandler.UltimateGroups =
299 21 Taonnor-14572
    {
300 Taonnor-14572
        negate, atro, overload,
301 Taonnor-14572
        sweep, nova, templarHeal,
302 Taonnor-14572
        standard, leap, magma,
303 Taonnor-14572
        stroke, veil, nbSoul,
304 Taonnor-14572
        wardenIce, wardenHealing,
305 Taonnor-14572
        staffIce, staffFire, staffLightning, staffHeal,
306 Taonnor-14572
        twoHand, shield, dual, bow,
307 Taonnor-14572
        soul, werewolf, vamp,
308 Taonnor-14572
        meteor, dawnbreaker,
309 Taonnor-14572
        barrier, horn
310 Taonnor-14572
    }
311 14 Taonnor-14572
end
312 Taonnor-14572
 
313 Taonnor-14572
--[[
314 37 Taonnor-14572
        Initialize initializes TGU_UltimateGroupHandler
315 11 Taonnor-14572
]]--
316 37 Taonnor-14572
function TGU_UltimateGroupHandler.Initialize(logger)
317 Taonnor-14572
    if (LOG_ACTIVE) then logger:logTrace("TGU_UltimateGroupHandler.Initialize") end
318 14 Taonnor-14572
 
319 37 Taonnor-14572
    _logger = logger
320 Taonnor-14572
 
321 Taonnor-14572
    TGU_UltimateGroupHandler.CreateUltimateGroups()
322 11 Taonnor-14572
end