List of Spells:
- local _SoulCarver = 207407;
- local _FelDevastation = 212084;
- local _SoulCleave = 228477;
- local _ImmolationAura = 178740;
- local _Shear = 203783;
- local _SigilOfFlame = 204596;
- local _InfernalStrike = 189110;
- local _FieryBrand = 204021;
- local _DemonSpikes = 203720;
- local _MetamorphosisV = 187827;
- local _EmpowerWards = 218256;
- local _Sever = 235964;
- function MaxDps.DemonHunter.Vengeance(_, timeShift, currentSpell, gcd, talents)
- local pain = UnitPower('player', SPELL_POWER_PAIN);
- local painMax = UnitPowerMax('player', SPELL_POWER_PAIN);
- local meta = MaxDps:Aura(_MetamorphosisV, timeShift);
- MaxDps:GlowCooldown(_MetamorphosisV, MaxDps:SpellAvailable(_MetamorphosisV, timeShift));
- MaxDps:GlowCooldown(_InfernalStrike, MaxDps:SpellAvailable(_InfernalStrike, timeShift));
- -- Rotation
- -- #1. Soul Carver on cooldown
- if MaxDps:SpellAvailable(_SoulCarver, timeShift) then
- return _SoulCarver;
- end
- -- #2. Fel Devastation on cooldown
- if talents[_FelDevastation] and MaxDps:SpellAvailable(_FelDevastation, timeShift) and pain >= 30 then
- return _FelDevastation;
- end
- -- #3. Soul Cleave above 80 pain
- if pain > 80 then
- return _SoulCleave;
- end
- -- #4. Immolation Aura on cooldown
- if MaxDps:SpellAvailable(_ImmolationAura, timeShift) then
- return _ImmolationAura;
- end
- -- #5. Felblade on cooldown
- if talents[_Felblade] and MaxDps:SpellAvailable(_Felblade, timeShift) then
- return _Felblade;
- end
- -- #6. Sigil of Flame on cooldown
- if MaxDps:SpellAvailable(_SigilOfFlame, timeShift) then
- return _SigilOfFlame;
- end
- -- #7. Shear as a filler
- if meta then
- return _Sever;
- else
- return _Shear;
- end
- end