Compare with Previous | Blame | View Log
--[[
Addon: Taos Group Tools
Author: TProg Taonnor
Created by @Taonnor
]]--
--[[
Local variables
]]--
local _logger = nil
local _name = "TGT-UltimateGroupHandler"
local _ultimateGroups = nil
--[[
Table TGT_UltimateGroupHandler
]]--
TGT_UltimateGroupHandler = {}
TGT_UltimateGroupHandler.__index = TGT_UltimateGroupHandler
--[[
===============
PRIVATE METHODS
===============
]]--
--[[
CreateUltimateGroups Creates UltimateGroups array
]]--
local function CreateUltimateGroups()
-- Sorc
local negate = {}
negate.GroupName = "NEGATE"
negate.GroupDescription = GetString(TGT_DESCRIPTIONS_NEGATE)
negate.GroupAbilityPing = 1
negate.GroupAbilityId = 28341
local atro = {}
atro.GroupName = "ATRO"
atro.GroupDescription = GetString(TGT_DESCRIPTIONS_ATRO)
atro.GroupAbilityPing = 2
atro.GroupAbilityId = 23634
local overload = {}
overload.GroupName = "OVER"
overload.GroupDescription = GetString(TGT_DESCRIPTIONS_OVER)
overload.GroupAbilityPing = 3
overload.GroupAbilityId = 24785
-- Templar
local sweep = {}
sweep.GroupName = "SWEEP"
sweep.GroupDescription = GetString(TGT_DESCRIPTIONS_SWEEP)
sweep.GroupAbilityPing = 4
sweep.GroupAbilityId = 22138
local nova = {}
nova.GroupName = "NOVA"
nova.GroupDescription = GetString(TGT_DESCRIPTIONS_NOVA)
nova.GroupAbilityPing = 5
nova.GroupAbilityId = 21752
local templarHeal = {}
templarHeal.GroupName = "TPHEAL"
templarHeal.GroupDescription = GetString(TGT_DESCRIPTIONS_TPHEAL)
templarHeal.GroupAbilityPing = 6
templarHeal.GroupAbilityId = 22223
-- DK
local standard = {}
standard.GroupName = "STAND"
standard.GroupDescription = GetString(TGT_DESCRIPTIONS_STAND)
standard.GroupAbilityPing = 7
standard.GroupAbilityId = 28988
local leap = {}
leap.GroupName = "LEAP"
leap.GroupDescription = GetString(TGT_DESCRIPTIONS_LEAP)
leap.GroupAbilityPing = 8
leap.GroupAbilityId = 29012
local magma = {}
magma.GroupName = "MAGMA"
magma.GroupDescription = GetString(TGT_DESCRIPTIONS_MAGMA)
magma.GroupAbilityPing = 9
magma.GroupAbilityId = 15957
-- NB
local stroke = {}
stroke.GroupName = "STROKE"
stroke.GroupDescription = GetString(TGT_DESCRIPTIONS_STROKE)
stroke.GroupAbilityPing = 10
stroke.GroupAbilityId = 33398
local veil = {}
veil.GroupName = "VEIL"
veil.GroupDescription = GetString(TGT_DESCRIPTIONS_VEIL)
veil.GroupAbilityPing = 11
veil.GroupAbilityId = 25411
local nbSoul = {}
nbSoul.GroupName = "NBSOUL"
nbSoul.GroupDescription = GetString(TGT_DESCRIPTIONS_NBSOUL)
nbSoul.GroupAbilityPing = 12
nbSoul.GroupAbilityId = 25091
-- Warden
-- BEAR not useful, its always up
local wardenIce = {}
wardenIce.GroupName = "FREEZE"
wardenIce.GroupDescription = GetString(TGT_DESCRIPTIONS_FREEZE)
wardenIce.GroupAbilityPing = 13
wardenIce.GroupAbilityId = 86109
local wardenHealing = {}
wardenHealing.GroupName = "WDHEAL"
wardenHealing.GroupDescription = GetString(TGT_DESCRIPTIONS_WDHEAL)
wardenHealing.GroupAbilityPing = 14
wardenHealing.GroupAbilityId = 85532
-- Destro
local staffDestro = {}
staffDestro.GroupName = "DESTRO"
staffDestro.GroupDescription = GetString(TGT_DESCRIPTIONS_DESTRO)
staffDestro.GroupAbilityPing = 15
staffDestro.GroupAbilityId = 83619
-- Restro
local staffHeal = {}
staffHeal.GroupName = "STHEAL"
staffHeal.GroupDescription = GetString(TGT_DESCRIPTIONS_STHEAL)
staffHeal.GroupAbilityPing = 16
staffHeal.GroupAbilityId = 83552
-- 2H
local twoHand = {}
twoHand.GroupName = "BERSERK"
twoHand.GroupDescription = GetString(TGT_DESCRIPTIONS_BERSERK)
twoHand.GroupAbilityPing = 17
twoHand.GroupAbilityId = 83216
-- SB
local shield = {}
shield.GroupName = "SHIELD"
shield.GroupDescription = GetString(TGT_DESCRIPTIONS_SHIELD)
shield.GroupAbilityPing = 18
shield.GroupAbilityId = 83272
-- DW
local dual = {}
dual.GroupName = "DUAL"
dual.GroupDescription = GetString(TGT_DESCRIPTIONS_DUAL)
dual.GroupAbilityPing = 19
dual.GroupAbilityId = 83600
-- BOW
local bow = {}
bow.GroupName = "BOW"
bow.GroupDescription = GetString(TGT_DESCRIPTIONS_BOW)
bow.GroupAbilityPing = 20
bow.GroupAbilityId = 83465
-- Soul
local soul = {}
soul.GroupName = "SOUL"
soul.GroupDescription = GetString(TGT_DESCRIPTIONS_SOUL)
soul.GroupAbilityPing = 21
soul.GroupAbilityId = 39270
-- Werewolf
local werewolf = {}
werewolf.GroupName = "WERE"
werewolf.GroupDescription = GetString(TGT_DESCRIPTIONS_WERE)
werewolf.GroupAbilityPing = 22
werewolf.GroupAbilityId = 32455
-- Vamp
local vamp = {}
vamp.GroupName = "VAMP"
vamp.GroupDescription = GetString(TGT_DESCRIPTIONS_VAMP)
vamp.GroupAbilityPing = 23
vamp.GroupAbilityId = 32624
-- Mageguild
local meteor = {}
meteor.GroupName = "METEOR"
meteor.GroupDescription = GetString(TGT_DESCRIPTIONS_METEOR)
meteor.GroupAbilityPing = 24
meteor.GroupAbilityId = 16536
-- Fighterguild
local dawnbreaker = {}
dawnbreaker.GroupName = "DAWN"
dawnbreaker.GroupDescription = GetString(TGT_DESCRIPTIONS_DAWN)
dawnbreaker.GroupAbilityPing = 25
dawnbreaker.GroupAbilityId = 35713
-- Support
local barrier = {}
barrier.GroupName = "BARRIER"
barrier.GroupDescription = GetString(TGT_DESCRIPTIONS_BARRIER)
barrier.GroupAbilityPing = 26
barrier.GroupAbilityId = 38573
-- Assault
local horn = {}
horn.GroupName = "HORN"
horn.GroupDescription = GetString(TGT_DESCRIPTIONS_HORN)
horn.GroupAbilityPing = 27
horn.GroupAbilityId = 38563
--Goliath
local goliath = {}
goliath.GroupName = "GOLIATH"
goliath.GroupDescription = GetString(TGT_DESCRIPTIONS_GOLIATH)
goliath.GroupAbilityPing = 28
goliath.GroupAbilityId = 115001
--Colossus
local colossus = {}
colossus.GroupName = "COLOSSUS"
colossus.GroupDescription = GetString(TGT_DESCRIPTIONS_COLOSSUS)
colossus.GroupAbilityPing = 29
colossus.GroupAbilityId = 122174
--Reanimate
local reanimate = {}
reanimate.GroupName = "REANIMATE"
reanimate.GroupDescription = GetString(TGT_DESCRIPTIONS_REANIMATE)
reanimate.GroupAbilityPing = 30
reanimate.GroupAbilityId = 115410
-- Add groups
_ultimateGroups =
{
negate, atro, overload,
sweep, nova, templarHeal,
standard, leap, magma,
stroke, veil, nbSoul,
wardenIce, wardenHealing,
staffDestro, staffHeal,
twoHand, shield, dual, bow,
soul, werewolf, vamp,
meteor, dawnbreaker,
barrier, horn, goliath,
colossus, reanimate
}
end
--[[
==============
PUBLIC METHODS
==============
]]--
--[[
GetUltimateGroupByAbilityPing gets the ultimate group from given ability ping
]]--
function TGT_UltimateGroupHandler.GetUltimateGroupByAbilityPing(abilityPing)
for i, group in pairs(_ultimateGroups) do
if (group.GroupAbilityPing == abilityPing) then
return group
end
end
-- not found
_logger:logError("UltimateGroupHandler -> GetUltimateGroupByAbilityPing; AbilityId not found " .. tostring(abilityPing))
return nil
end
--[[
GetUltimateGroupByAbilityId gets the ultimate group from given ability ID
]]--
function TGT_UltimateGroupHandler.GetUltimateGroupByAbilityId(abilityID)
for i, group in pairs(_ultimateGroups) do
if (group.GroupAbilityId == abilityID) then
return group
end
end
-- not found
_logger:logError("UltimateGroupHandler -> GetUltimateGroupByAbilityId; AbilityId not found " .. tostring(abilityID))
return nil
end
--[[
GetUltimateGroupByGroupName gets the ultimate group from given group name
]]--
function TGT_UltimateGroupHandler.GetUltimateGroupByGroupName(groupName)
for i, group in pairs(_ultimateGroups) do
if (string.lower(group.GroupName) == string.lower(groupName)) then
return group
end
end
-- not found
_logger:logError("UltimateGroupHandler -> GetUltimateGroupByGroupName; GroupName not found " .. tostring(groupName))
return nil
end
--[[
GetUltimateGroups gets all ultimate groups
]]--
function TGT_UltimateGroupHandler.GetUltimateGroups()
return _ultimateGroups
end
--[[
Initialize initializes TGT_UltimateGroupHandler
]]--
function TGT_UltimateGroupHandler.Initialize()
_logger = TGT_LOGGER
CreateUltimateGroups()
_logger:logTrace("TGT_UltimateGroupHandler -> Initialized")
end