/trunk
KHT_NUM_TIMERS = { |
[1] = 12, -- Beast |
[2] = 8, -- Marks |
[2] = 9, -- Marks |
[3] = 15, -- Surv |
[4] = 11, -- Pets |
[5] = 23, -- Misc |
[5] = KHT_GLAIVE, |
[6] = KHT_RAPID_FIRE, |
[7] = KHT_SNIPER, |
[8] = KHT_THRILL |
[8] = KHT_STEADY_FOCUS, |
[9] = KHT_THRILL |
}, |
[3] = { -- Surv |
[1] = KHT_SURV, |
KHunterTimersFrame_add( 6000 + KHTvars["impconc"], spellName, spellId, destName, destGUID ); |
elseif( KHTvars["skills"][KHT_FLARE] and spellName == KHT_FLARE ) then |
KHunterTimersFrame_add( 20000, spellName, spellId ); |
elseif( KHTvars["skills"][KHT_SERPENT] and spellName == KHT_SERPENT ) then |
KHunterTimersFrame_add( 15000, spellName, spellId, destName, destGUID ); |
end |
end |
if( KHTvars["skills"][KHT_SURV] ) then |
if( KHTvars["skills"][KHT_DETERRENCE] and spellName == KHT_DETERRENCE ) then |
KHunterTimersFrame_add( 5000, spellName, spellId ); |
elseif( KHTvars["skills"][KHT_SERPENT] and spellName == KHT_SERPENT ) then |
KHunterTimersFrame_add( 15000, spellName, spellId, destName, destGUID ); |
end |
end |
if( KHTvars["skills"][KHT_MISC] ) then |
KHunterTimersFrame_add( 4000, spellName, spellId ); |
end |
end |
if( KHTvars["skills"][KHT_MARKS] ) then |
if( KHTvars["skills"][KHT_STEADY_FOCUS] and spellName == KHT_STEADY_FOCUS ) then |
KHunterTimersFrame_add( 10000, spellName, spellId ); |
end |
end |
if( KHTvars["skills"][KHT_SURV] ) then |
if( KHTvars["skills"][KHT_MISDIRECTION] and spellName == KHT_MISDIRECTION and spellId == 35079 ) then |
KHunterTimersFrame_add( 8000, spellName, spellId ); |
end |
end |
if( KHTvars["skills"][KHT_MARKS] ) then |
if( KHTvars["skills"][KHT_GLAIVE] and spellName == KHT_GLAIVE ) then |
KHunterTimersFrame_add( 3000, spellName ); |
end |
end |
if( KHTvars["skills"][KHT_SURV] ) then |
if( KHTvars["skills"][KHT_SERPENT] and spellName == KHT_SERPENT and spellId == 118253 and khtMulti ) then |
if (GetSpecialization() == 3) then |
khtSerpentAoE = true; |
end |
khtMulti = false; |
elseif( KHTvars["skills"][KHT_GLAIVE] and spellName == KHT_GLAIVE ) then |
KHunterTimersFrame_add( 3000, spellName ); |
end |
end |
if( KHTvars["skills"][KHT_SURV] ) then |
if( KHTvars["skills"][KHT_WYVERN] and spellName == KHT_WYVERN and spellId == 24131 ) then |
elseif( KHTvars["skills"][KHT_WYVERN] and spellName == KHT_WYVERN and spellId == 24131 ) then |
KHunterTimersFrame_add( 6000, spellName, spellId, destName, destGUID ); |
elseif( KHTvars["skills"][KHT_WYVERN] and spellName == KHT_WYVERN and spellId == 19386 ) then |
KHunterTimersFrame_add( 30000, KHT_WYVERN_TEXT, spellId, destName, destGUID ); |
KHunterTimersFrame_add( 4000, spellName, spellId ); |
end |
end |
if( KHTvars["skills"][KHT_MARKS] ) then |
if( KHTvars["skills"][KHT_STEADY_FOCUS] and spellName == KHT_STEADY_FOCUS ) then |
KHunterTimersFrame_add( 10000, spellName, spellId ); |
end |
end |
if( KHTvars["skills"][KHT_PETS] ) then |
if( KHTvars["skills"][KHT_COURAGE] and spellName == KHT_COURAGE ) then |
KHunterTimersFrame_add( 60000, spellName, spellId ); |
end |
if( fromPlayer or fromPet ) then |
if( KHTvars["skills"][KHT_MARKS] ) then |
if( KHTvars["skills"][KHT_GLAIVE] and spellName == KHT_GLAIVE ) then |
KHunterTimersFrame_add( 3000, spellName ); |
end |
end |
if( KHTvars["skills"][KHT_SURV] ) then |
if( KHTvars["skills"][KHT_SERPENT] and spellName == KHT_SERPENT and spellId == 118253 and khtMulti ) then |
if (GetSpecialization() == 3) then |
khtSerpentAoE = true; |
end |
khtMulti = false; |
elseif( KHTvars["skills"][KHT_GLAIVE] and spellName == KHT_GLAIVE ) then |
KHunterTimersFrame_add( 3000, spellName ); |
end |
end |
if( KHTvars["skills"][KHT_SURV] ) then |
if( string.find( spellName, KHT_FROST_TRAP ) or string.find( spellName, KHT_FREEZING_TRAP ) ) then |
elseif( string.find( spellName, KHT_FROST_TRAP ) or string.find( spellName, KHT_FREEZING_TRAP ) ) then |
if( frostTrapTimer ) then |
for num = 1, KHTvars["numBars"] do |
local barframe = _G[ "KHunterTimersStatus"..num]; |
end |
end |
elseif( event == "UNIT_AURA" and firstArg == "target" ) then |
if( KHTvars["skills"][KHT_MARKS] ) then |
if( KHTvars["skills"][KHT_SURV] ) then |
if( KHTvars["skills"][KHT_SERPENT] ) then |
local spellName, _, _, _, _, duration, timeLeft, unitCaster, _, _, spellId = UnitDebuff("target", KHT_SERPENT, nil ); |
if( spellName and unitCaster == "player" and timeLeft ~= khtSerpent ) then |
khtSerpentAoE = false; |
end |
end |
end |
end |
if( KHTvars["skills"][KHT_SURV] ) then |
if( KHTvars["skills"][KHT_EXPL_SHOT] ) then |
elseif( KHTvars["skills"][KHT_EXPL_SHOT] ) then |
local spellName, _, _, _, _, duration, timeLeft, unitCaster, _, _, spellId = UnitDebuff("target", KHT_EXPL_SHOT, nil ); |
if( spellName and unitCaster == "player" and timeLeft ~= khtExplosive ) then |
duration = timeLeft - GetTime(); |
Version History |
v3.7.1 |
- Fixed bug with Serpent Sting enables |
- Fixed Sniper Training |
- Added Steady Focus |
v3.7.0 |
- Updates for 6.0.2 patch |
- Added Binding Shot |
## Interface: 60000 |
## Title: Kharthus's Hunter Timers |
## Notes: Times hunter buffs/debuffs |
## Version: 3.7.0 |
## Version: 3.7.1 |
## DefaultState: Enabled |
## LoadOnDemand: 0 |
## SavedVariables: KHTvars |
KHT_COBRA_STRIKES, _, KHT_COBRA_STRIKES_ICON = GetSpellInfo(53257); -- Cobra Strikes |
KHT_LOCK_LOAD, _, KHT_LOCK_LOAD_ICON = GetSpellInfo(168980); -- Lock and Load |
KHT_FOCUS_FIRE = GetSpellInfo(82692); -- Focus Fire |
KHT_SNIPER, _, KHT_SNIPER_ICON = GetSpellInfo(76659); -- Sniper Training |
KHT_SNIPER, _, KHT_SNIPER_ICON = GetSpellInfo(168811); -- Sniper Training |
KHT_THRILL = GetSpellInfo(34720); -- Thrill of the Hunt |
KHT_GLAIVE, _, KHT_GLAIVE_ICON = GetSpellInfo(117050); -- Glaive Toss |
KHT_STAMPEDE = GetSpellInfo(121818); -- Stampede |
KHT_DIRE = GetSpellInfo(120679); -- Dire Beast |
KHT_CROWS = GetSpellInfo(131894); -- A Murder of Crows |
KHT_STEADY_FOCUS = GetSpellInfo(177668); -- Steady Focus |
--Trinket Spells |
KHT_ABACUS, _, KHT_ABACUS_ICON = GetSpellInfo(33807); -- Abacus of Violent Odds |