Hi,
Im am prepararing Druid (Balance) module to my addon TDDps:
http://mods.curse.com/addons/wow/tddps
and long story short I am having some troubles with it.
I believe there is some problem with solar power prediction system (it does calculate your solar power after X seconds, after you end your current cast and GCD comes of)
So I am looking for a good boomkin that would help me debug it.
Here is the code:
Code:
----------------------------------------------
-- Main rotation: Balance
----------------------------------------------
TDDps_Druid_Balance = function()
local timeShift, currentSpell, gcd = TD_EndCast();
_oldEclipse = _origEclipse;
_eclipse = UnitPower('player', SPELL_POWER_ECLIPSE);
_origEclipse = _eclipse;
local _eclipseChange = (_eclipse - _oldEclipse) / TDDps_Options.interval; -- How much eclipse changes per second -100 0 100
_eclipse = _eclipse + _eclipseChange * timeShift;
local moon = TD_TargetAura(_Moonfire, timeShift + 12);
local sun = TD_TargetAura(_Sunfire, timeShift + 7);
local starCd, starCharges = TD_SpellCharges(_Starsurge, timeShift);
local solar = TD_Aura(_SolarPeak, timeShift);
local lunar = TD_Aura(_LunarPeak, timeShift);
local solarE, solarCharges = TD_Aura(_SolarEmpowerment, timeShift);
local lunarE, lunarCharges = TD_Aura(_LunarEmpowerment, timeShift);
local canSolarEmpower = (solarCharges > 1 or (solarCharges > 0 and not currentSpell == 'Wrath'));
local canLunarEmpower = (lunarCharges > 1 or (lunarCharges > 0 and not currentSpell == 'Starfire'));
local _filler = _Wrath;
if _eclipse > 0 then
if (_eclipse + _WrathCT * _eclipseChange) > 0 then
_filler = _Wrath;
else
_filler = _Starfire;
end
else
if (_eclipse + _StarfireCT * _eclipseChange) <= 0 then
_filler = _Starfire;
else
_filler =_Wrath;
end
end
-- Spend solar or lunar peak on Sun/Moon fire.
if solar or lunar then
return _Sunfire;
end
-- Apply dots
if not moon and _eclipse <= 0 then
return _Moonfire;
end
if not sun and _eclipse > 0 then
return _Sunfire;
end
if starCharges > 2 then
return _Starsurge;
end
if _eclipse > 0 and canSolarEmpower and _filler == _Wrath then
return _Wrath;
end
if _eclipse <= 0 and canLunarEmpower and _filler == _Starfire then
return _Starfire;
end
if starCharges > 0 and (_eclipse > 20 or _eclipse < -20) then
return _Starsurge;
end
return _filler;
end
Thanks in advance