1. #1

    Looking for rotation verification, good balance druid

    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
    Last edited by kaminaris; 2016-04-02 at 05:11 PM.

  2. #2
    if starCharges > 2 then
    return _Starsurge;
    end
    This is only always true when you dont have any buffs left of the current eclipse phase, or if you will not be able to deplete them before going into to next phase if there are also buffs of the next eclipse phase left.

    if not moon and _eclipse <= 0 then
    return _Moonfire;
    end

    if not sun and _eclipse > 0 then
    return _Sunfire;
    end

    Sunfire once per full cycle, moonfire once every two cycles. if possible dont let it drop.

  3. #3
    One thing is idea and another thing is being able to put it in code, would you be able to test it and tell me what is wrong?

  4. #4
    Now I am a little confused.
    Do you want me to code your addon?
    or you want me to beta test the beta versions and give feedback, if orders are not optimal?
    or do you want a code review on the moonkin specific code?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •