Primal Primer Enhancement

7 posts Page 1 of 1
salome161
Posts: 1
Joined: 28 Feb 2019, 10:39


I downloaded this to help a guild member out with his Balance spec and thought ... oh what the heck I'll try it on my shaman whom is Enhancement. I prefer the Primal Primer Azerite traits. The current Priority list you have set is not viable for Primal Primer. The priority is preferring Stromstrike over Lava Lash when there are 10 stacks from the primer buff. It is also preferring Lava Lash when Hot Hand procs, however with this azerite build you ignore Hot Hand procs and save them for at least 7 stacks. You only Lava Lash at 7 stacks if Hot Hand has proc'd other wise wait for 10 and never never choose StormStrike over 10 stacks of Primer as you are wasting the stack as you strike with both hand with stormstrike building stacks faster. This build should also include Crash Lightning as the filler spell not Lava lash and it does not even with crashing storm.
Laag
Posts: 7
Joined: 20 Jul 2018, 12:43


I wasn't sure how to incorporate a check into the Main.Lua file to use a different rotation based on azerite powers, so I created a separate one to support Primal Primer. I don't have access to it right now, but I'll post it once I'm back at my home computer. It seems to work at least fairly well.
Laag
Posts: 7
Joined: 20 Jul 2018, 12:43


Here is the function for Enhancement that I've been using for my Primal Primer build. If you find any improvements can be made, please let me know. I'm by no means a coder, so chances are pretty good that this isn't perfect. :D

These additional auras need to be added to the section where they are all defined:
Code: Select all
	CrashLightningAura = 187878,
	FlametongueAura = 194084,
	PrimalPrimerAura = 273006,
Then this section replaces the entire function Shaman:Enhancement() section
Code: Select all
function Shaman:Enhancement()
	local fd = MaxDps.FrameData;
	local cooldown, buff, debuff, talents, azerite, currentSpell =
	fd.cooldown, fd.buff, fd.debuff, fd.talents, fd.azerite, fd.currentSpell;

	local maelstrom = UnitPower('player', Enum.PowerType.Maelstrom);

	local stormstrike = (buff[EN.Ascendance].up and not MaxDps:FindSpell(EN.Stormstrike)) and EN.Windstrike or EN.Stormstrike;

	local fs, fsCd = cooldown[EN.FeralSpirit].ready;
	local ft, ftCd = cooldown[EN.Flametongue].ready;
	local targets = MaxDps:SmartAoe();

	MaxDps:GlowCooldown(EN.FeralSpirit, fs);
	MaxDps:GlowCooldown(EN.Ascendance, talents[EN.Ascendance] and cooldown[EN.Ascendance].ready);
	MaxDps:GlowCooldown(EN.LightningShield, talents[EN.LightningShield] and buff[EN.LightningShield].remains < 4);

	if cooldown[EN.CrashLightning].ready and (not buff[EN.CrashLightningAura].up or buff[EN.CrashLightningAura].remains < 2) and maelstrom >= 20 and targets >= 2 then
		return EN.CrashLightning;
	end

	if debuff[EN.PrimalPrimerAura].count >= 10 and ((talents[EN.HotHand] and buff[EN.HotHand].up) or maelstrom >= 40) then
		return EN.LavaLash;
	end

	if talents[EN.TotemMastery] then
		if Shaman:TotemMastery(EN.TotemMastery) < 3 then
			return EN.TotemMastery;
		end
	end

	if talents[EN.Sundering] and cooldown[EN.Sundering].ready and maelstrom >= 20 and targets >= 2 then
		return EN.Sundering;
	end

	if cooldown[EN.Flametongue].ready and not buff[EN.FlametongueAura].up then
		return EN.Flametongue;
	end
	
	if talents[EN.Hailstorm] and not buff[EN.Frostbrand].up and maelstrom >= 20 then
		return EN.Frostbrand;
	end
	
	if cooldown[EN.Stormstrike].ready and buff[EN.Stormbringer].up then
		return stormstrike;
	end

	if debuff[EN.PrimalPrimerAura].count >= 7 and ((talents[EN.HotHand] and buff[EN.HotHand].up) or maelstrom >= 40) then
		return EN.LavaLash;
	end

	if cooldown[EN.Stormstrike].ready and maelstrom >= 30 then
		return stormstrike;
	end

	if cooldown[EN.Rockbiter].charges >= 1 then
		return EN.Rockbiter;
	end

	if cooldown[EN.Flametongue].ready and buff[EN.FlametongueAura].remains < 4.5 then
		return EN.Flametongue;
	end
	
	if talents[EN.Hailstorm] and buff[EN.Frostbrand].remains < 4.5 and maelstrom >= 20 then
		return EN.Frostbrand;
	end

	return EN.Flametongue;

end
Kaminaris
Site Admin
Posts: 399
Joined: 25 Jun 2017, 03:45


Apreciate the help but enh is coming from simcraft
Laag
Posts: 7
Joined: 20 Jul 2018, 12:43


Thanks, Kaminaris, that looks awesome!

Some past testing I did, seemed to have problems with using the the spell ID for Flametongue and Crash Lightning to identify if the buff was up. I'll try to set aside some time to test it out again, though.

Really excited that you updated Enhancement from Simcraft! :D
Laag
Posts: 7
Joined: 20 Jul 2018, 12:43


I didn't find any issues with the auras so far. However, the message "Spell LightningConduit not found" gets spammed.

Looks like the spell ID for the buff is missing. I added this line to the local EH variables and the spamming message went away.
Code: Select all
LightningConduit     = 275391,
I don't use that azerite power, so technically I'm not 100% sure on that spell ID. However, it's the ID that WeakAuras seems to use.
Kaminaris
Site Admin
Posts: 399
Joined: 25 Jun 2017, 03:45


Fixed yesterday
7 posts Page 1 of 1
drogie łóżka stolik kawowy stół dębowy rozkładany