BFA Frost DK rotation

7 posts Page 1 of 1
micr013
Posts: 2
Joined: 21 Aug 2018, 12:42


EDIT: 8/21/2018 10:24am EST

Hey all,

I got it working. Pro Tip: Commands are case sensitive. I had some as MaxDPS and others as MaxDps, MaxDps is the correct syntax.

This is for a Frost DK build with Breath of Sindragosa and Icy Talons. I followed the guide here: https://www.icy-veins.com/wow/frost-dea ... -abilities All credit for the rotation goes to Abyssalwave.

If Breath is active, it will switch to a different rotation without frost strike to save RP. It prioritizes rime and kb procs over everything else unless you have over 90 RP then it will tell you to use FS. Breath and Pillar are both set as a global cooldown and you can use those as you see fit. It won't tell you the best time to use those. If you have any recommendations please let me know, this is my first time doing this. I hope it helps my fellow frost DKs in BFA.

First you have to download the zip file from the 8.0.0 Post. Sorry the name escapes me. But credit to him.

What you will be editing is \MaxDps_Deathknight\main.lua

First add a couple local variables near the top under --Frost. Just add them to the end of the list.

local _BreathofSindragosa_Aura = 155166;
local _Rime_Aura = 59052;

Then replace everything starting with function MaxDps.DeathKnight.Frost(_, timeShift, currentSpell, gcd, talents) up to and including the last end before function MaxDps.DeathKnight.Runes()

Here is that code:


function MaxDps.DeathKnight.Frost(_, timeShift, currentSpell, gcd, talents)

local runic = UnitPower('player', SPELL_POWER_RUNIC_POWER);
local runicMax = UnitPowerMax('player', SPELL_POWER_RUNIC_POWER);
local runes, runeCd = MaxDps.DeathKnight.Runes();

local fever = MaxDps:TargetAura(_FrostFever, timeShift + 2)
local it, itCharges = MaxDps:Aura(_IcyTalons, timeShift + 2);
local bos = MaxDps:Aura(_BreathofSindragosa_aura, timeShift);
local km = MaxDps:Aura(_KillingMachine, timeShift);
local FSCost = 25;
local FSMax = 90;
local rw = MaxDps:SpellAvailable(_RemorselessWinter, timeShift);
local rime = MaxDps:Aura(_Rime_Aura, timeShift);
local erw = MaxDps:SpellAvailable(_EmpowerRuneWeapon, timeShift);
local oblit = MaxDps:SpellAvailable(_Obliterate, timeshift);
local hb = MaxDps:SpellAvailable(_HowlingBlast, timeshift);

MaxDps:GlowCooldown(_BreathofSindragosa, talents[_BreathofSindragosa] and MaxDps:SpellAvailable(_BreathofSindragosa, timeShift));
MaxDps:GlowCooldown(_PillarofFrost, MaxDps:SpellAvailable(_PillarofFrost, timeShift));
MaxDps:GlowCooldown(_EmpowerRuneWeapon, MaxDps:SpellAvailable(_EmpowerRuneWeapon, timeShift) and runes <= 1 and runic <= (runicMax - FSCost));


--Make sure frost fever is applied

if not fever and runes > 0 then
return _HowlingBlast;
end

--Rotation while Breath of Sindragosa is active

if bos then

if erw then
return _EmpowerRuneWeapon;
end

if rw and runes >= 1 then
return _RemorselessWinter;
end

if rime then
return _HowlingBlast;
end

if km and oblit then
return _Obliterate;
end

if oblit then
return _Obliterate;
end
end

--Check to see if runic power is over 90, if it is, cast FrostStrike

if runic >= FSMax then
return _FrostStrike;
end

--Standard rotation RW > Rime+HB >KM+Oblit > Oblit > FS

if rw and runes >= 1 then
return _RemorselessWinter;
end

if rime then
return _HowlingBlast;
end

if km and oblit then
return _Obliterate;
end

if oblit then
return _Obliterate;
end

if runic >= FSCost then
return _FrostStrike;
else
return nil;
end
end
Last edited by micr013 on 21 Aug 2018, 14:40, edited 2 times in total.
Kaminaris
Site Admin
Posts: 297
Joined: 25 Jun 2017, 03:45


First and foremost:
In most programming languages MaxDPS and MaxDps would be completely different 2 variables that has nothing to do with each other.

Second. You don't need to rewrite class module to write your own custom rotation:
viewtopic.php?f=4&t=4

Third, are you sure this rotation is good? Since DK is not ready I could look into it and push it as class module to be downloaded from curse.
micr013
Posts: 2
Joined: 21 Aug 2018, 12:42


Personally, I think the rotation is good from IcyVeins. But I have no numbers to back that up, it feels right when playing. As you have noticed, the way I wrote the code is not correct. As I said before, still figuring it out and learning.
sparkbibo
Posts: 3
Joined: 31 Aug 2018, 23:08


Hey micro013

I want to try your Frost rotation but I not that great at coding. I know I can use the interface in-game to create my own custom empty mod for Frost. Could you do me favor and paste in your complete code to a reply so I can copy and paste it into the addon editor in the game?

[Codebox=]
If you use the Code Box button at the top, it will look like this and be obvious to us less gifted types.[/Codebox]

Would greatly appreciate it. Thanks!
Kaminaris
Site Admin
Posts: 297
Joined: 25 Jun 2017, 03:45


I just pushed DK module, it will take a while before curse will accept it but i need some test on this one.
Stinkbeard
Posts: 1
Joined: 01 Sep 2018, 22:41


Yay! I've been working today to figure this out based on all the other posts around the way. Glad to see I can sit back and wait for the real thing to get approved.
sparkbibo
Posts: 3
Joined: 31 Aug 2018, 23:08


01 Sep 2018, 22:51Kaminaris wrote:
I just pushed DK module, it will take a while before curse will accept it but i need some test on this one.
Thanks!
7 posts Page 1 of 1
drogie łóżka stolik kawowy stół dębowy rozkładany