Deathknight Unholy custom rotation.

2 posts Page 1 of 1
Sorebrek
Posts: 2
Joined: 24 Jul 2017, 13:29


Hello all.

SInce there was no Unholy spec in the maxdps files i have been working on my own custom rotation.
Its posted below in the codebox. If you have time please try it out and leave comments on what to improve on it.
Code: Select all
function(_, timeShift, currentSpell, gcd, talents)
    
    local _SoulReaper = 130736;
    local _VirulentPlague = 191587;
    local _Outbreak = 77575;
    local _DarkTransformation = 63560;
    local _FesteringStrike = 85948;
    local _FesteringWound = 197147;
    local _Castigator = 207305;
    local _Apocalypse = 220143;
    local _ScourgeStrike = 55090;
    local _ClawingShadows = 207311;
    local _DeathCoil = 47541;
    local _ShadowInfusion = 198943;
    local _ScourgeofWorlds = 191747;
    local _DeathandDecay = 43265;
    local _Defile = 152280;
    local _Epidemic = 207317;
    local _ArmyoftheDead = 42650;
    local _PortaltotheUnderworld = 191637;
    local _ArmiesoftheDamned = 191731;
    local _SummonGargoyle = 49206;
    local _Heroism = 32182;
    local _Bloodlust = 2825;
    local _TimeWarp = 80353;
    local _DarkArbiter = 207349;
    local _AntiMagicShell = 48707;
    local _SpellEater = 207321;
    local _Necrosis = 207346;
    local _EbonFever = 207269;
    local _ArcaneTorrent = 28730;
    local _SuddenDoom = 49530;
    local _DeathStrike = 49998;
    
    --Get runic power and runes
    local runic = UnitPower('player', SPELL_POWER_RUNIC_POWER);
    local runicMax = UnitPowerMax('player',SPELL_POWER_RUNIC_POWER);
    
    local count = 0;
    local cd = 0;
    local time = GetTime();
    for i = 1, 10 do
        local start, duration, runeReady = GetRuneCooldown(i);
        if start and start > 0 then
            local rcd = duration + start - time;
            if cd == 0 or cd > rcd then
                cd = rcd;
            end
        end
        if runeReady then
            count = count + 1;
        end
    end
    
    --Get wounds on target.
    local _, _, _, charges = UnitAura('target', 'Festering Wound', nil, 'PLAYER||HARMFUL');
    if charges == nil then
        charges = 0;
    end
    --Check if Necrosis is active
    if MaxDps:Aura(_Necrosis, timeShift) 
    then
        -- If more then 2 wounds
        if charges > 2 then
            return  _ScourgeStrike;
        end
    end
    
    --Check if Plague is on
    if not MaxDps:TargetAura(_VirulentPlague, timeShift) 
    then
        return _Outbreak;
    end
    --Army of the dead ready
    if MaxDps:SpellAvailable(_ArmyoftheDead , timeShift) then
        return _ArmyoftheDead;
    end
    --Gargoyle ready
    if MaxDps:SpellAvailable(_SummonGargoyle , timeShift) then
        return _SummonGargoyle;
    end
    --Dark transformation ready
    if MaxDps:SpellAvailable(_DarkTransformation , timeShift) then
        return _DarkTransformation ;
    end
    
    -- If less then 3 charges use festering wound
    if charges < 4 then
        if count >=2 then 
            return _FesteringStrike;
        end
    end
    --Check for use of apocalypse and soulreaper.
    if MaxDps:SpellAvailable(_Apocalypse , timeShift) then
        if MaxDps:SpellAvailable(_SoulReaper, timeShift) then
            if charges >= 3 then
                return _SoulReaper;
            end
        end
        if charges <=4 then
            if  count >= 2 then
                return _FesteringStrike;
            end
        end
        if charges >= 6 then
            return _Apocalypse;
        end
    end
    if MaxDps:SpellAvailable(_SoulReaper, timeShift) then
        if charges >= 3 then
            return _SoulReaper;
        end
    end
    --Check to run other and stuff
    if count <= 2 then
        if MaxDps:SpellAvailable(_DeathandDecay , timeShift) then
            return _DeathandDecay;
        end
        if MaxDps:SpellAvailable(_DeathStrike , timeShift) then
            if runic > 85 then
                return _DeathStrike;
            end
        end
    end
    --Check power and run DeathCoil
    if runic > 50 then
        return _DeathCoil;
    end    
end

Sorebrek
Posts: 2
Joined: 24 Jul 2017, 13:29


Was a little to fast in publishing. Corrected some values for improved preformance and here is my current spec i use with it.

Image
2 posts Page 1 of 1
drogie łóżka stolik kawowy stół dębowy rozkładany