Original Means that this is rotation taken from MaxDps_Warrior class module
List of spells:
- local _Rampage = 184367;
- local _Enrage = 184361;
- local _Bloodthirst = 23881;
- local _OdynsFury = 205545;
- local _Execute = 5308;
- local _Whirlwind = 190411;
- local _WreckingBall = 215569;
- local _RagingBlow = 85288;
- local _FuriousSlash = 100130;
- local _DragonRoar = 118000;
- local _Frenzy = 206313;
- local _Massacre = 206315;
- local _InnerRage = 215573;
- local _Avatar = 107574;
- local _Bloodbath = 12292;
- local _MeatCleaver = 12950;
- local _Bladestorm = 46924;
- local _WarMachine = 215556;
- local _EndlessRage = 202296;
- local _BerserkerRage = 18499;
- local _Outburst = 206320;
- local _MasteryUnshackledFury = 76856;
- local _HeroicLeap = 6544;
- local _DoubleTime = 103827;
- local _BoundingStride = 202163;
- local _EnragedRegeneration = 184364;
- local _CommandingShout = 97462;
- local _Carnage = 202922;
- local _FrothingBerserker = 215571; -- taqito
- function MaxDps.Warrior.Fury()
- local timeShift, currentSpell, gcd = MaxDps:EndCast();
- local rage = UnitPower('player', SPELL_POWER_RAGE);
- local rageMax = UnitPowerMax('player', SPELL_POWER_RAGE);
- local bt = MaxDps:SpellAvailable(_Bloodthirst, timeShift);
- local enrage = MaxDps:Aura(_Enrage, timeShift);
- local rampCost = 85;
- if talents[_Carnage] then
- rampCost = 70;
- elseif talents[_FrothingBerserker] then -- taqito
- rampCost = 100; -- taqito 100 since we want Forth up before using Ramp
- end
- local ph = MaxDps:TargetPercentHealth();
- MaxDps:GlowCooldown(_BattleCry, MaxDps:SpellAvailable(_BattleCry, timeShift));
- -- taqito Added ifs talents below to keep from constantaly running even if you dont have the talent
- if talents[_DragonRoar] then
- MaxDps:GlowCooldown(_DragonRoar, MaxDps:SpellAvailable(_DragonRoar, timeShift));
- end
- if talents[_Bloodbath] then
- MaxDps:GlowCooldown(_Bloodbath, MaxDps:SpellAvailable(_Bloodbath, timeShift));
- end
- if talents[_Outburst] then
- MaxDps:GlowCooldown(_BerserkerRage, MaxDps:SpellAvailable(_BerserkerRage, timeShift));
- elseif talents[_Avatar] then
- MaxDps:GlowCooldown(_Avatar, MaxDps:SpellAvailable(_Avatar, timeShift));
- end
- -- rotation during battlecry
- if MaxDps:Aura(_BattleCry) then
- if talents[_Avatar] and MaxDps:SpellAvailable(_Avatar, timeShift) then
- return _Avatar;
- end
- if MaxDps:SpellAvailable(_RagingBlow, timeShift) then
- return _RagingBlow;
- end
- if MaxDps:SpellAvailable(_OdynsFury, timeShift) then
- return _OdynsFury;
- end
- if bt then
- return _Bloodthirst;
- end
- end
- local canExecute = (rage >= 25 and ph < 0.2) or MaxDps:Aura(_StoneHeart, timeShift);
- if talents[_Massacre] and not MaxDps:Aura(_Massacre, timeShift) and not MaxDps:Aura(_Enrage, timeShift) and
- canExecute then
- return _Execute;
- end
- if (rage >= rampCost and not enrage) or rage >= 100 or MaxDps:Aura(_Massacre, timeShift) then
- return _Rampage;
- end
- if bt and not enrage then
- return _Bloodthirst;
- end
- if MaxDps:SpellAvailable(_OdynsFury, timeShift) then
- return _OdynsFury;
- end
- if talents[_StormBolt] and MaxDps:SpellAvailable(_StormBolt, timeShift) then
- return _StormBolt;
- end
- if (rage >= 25 and ph < 0.2 and enrage) or MaxDps:Aura(_StoneHeart, timeShift) then
- return _Execute;
- end
- if MaxDps:Aura(_WreckingBall, timeShift) then
- return _Whirlwind;
- end
- if MaxDps:SpellAvailable(_RagingBlow, timeShift + 0.3) then
- return _RagingBlow;
- end
- if bt then
- return _Bloodthirst;
- end
- return _FuriousSlash;
- end