Few more suggestions
Shred/Mangle/Ravage all in one
Code:
local AttackingFromTheFront = PQR_UnitFacing("target", "player")
local HasGlyphOfShred = HasGlyph(114234)
local EnergyRegen = GetPowerRegen("player")
local timetoEnergyCap = (100 - PlayerEnergy) * (1.0 / EnergyRegen)
if AoE then return false end
if Berserk
or TigersFury
or (ComboPoints < 5 and RipTimeLeft < 3)
or (ComboPoints == 0 and SavageRoarTimeLeft < 2)
or TigersFuryCooldownLeft <= 3
or ComboPoints < 5
or timetoEnergyCap <= 1.2
then
if Incarnation then
CastSpellByName(tostring(GetSpellInfo(6785))) -- Ravage
else
if (TigersFury or Berserk) and HasGlyphOfShred then
CastSpellByName(tostring(GetSpellInfo(114236))) -- Glyphed Shred
else
if not PQR_NotBehindTarget()
-- AttackingFromTheFront
then
CastSpellByName(tostring(GetSpellInfo(5221))) -- Shred
else
CastSpellByName(tostring(GetSpellInfo(33876))) -- Mangle
end
end
end
return true
end
For feral its might better to use PQR_NotBehindTarget() then PQR_UnitFacing because some mobs (like in DS and DW encounter) are facing player but Shred is usable.
For AoE it might be better to use single Rotation with a hotkey in --Functions
Code:
if IsLeftShiftKeyDown() and GetTime() - modkeytime > 0.3 then
modkeytime = GetTime()
if AoE == nil then
AoE = 1
print("Rotation mode: \124cFFFA652AAOE")
else
AoE = nil
print("Rotation mode: \124cFF1874CDSingle Target")
end
end
Add "AoE" check for abilities to use and disable in others. At the moment Swipe generated combo points goes to waste besides Savage Roar usage. Should use Rip/FB