Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function(_, timeShift, currentSpell, gcd, talents)
- local _SoulReaper = 130736;
- local _VirulentPlague = 191587;
- local _Outbreak = 77575;
- local _DarkTransformation = 63560;
- local _FesteringStrike = 85948;
- local _FesteringWound = 197147;
- local _Castigator = 207305;
- local _Apocalypse = 220143;
- local _ScourgeStrike = 55090;
- local _ClawingShadows = 207311;
- local _DeathCoil = 47541;
- local _ShadowInfusion = 198943;
- local _ScourgeofWorlds = 191747;
- local _DeathandDecay = 43265;
- local _Defile = 152280;
- local _Epidemic = 207317;
- local _ArmyoftheDead = 42650;
- local _PortaltotheUnderworld = 191637;
- local _ArmiesoftheDamned = 191731;
- local _SummonGargoyle = 49206;
- local _Heroism = 32182;
- local _Bloodlust = 2825;
- local _TimeWarp = 80353;
- local _DarkArbiter = 207349;
- local _AntiMagicShell = 48707;
- local _SpellEater = 207321;
- local _Necrosis = 207346;
- local _EbonFever = 207269;
- local _ArcaneTorrent = 28730;
- local _SuddenDoom = 49530;
- local _DeathStrike = 49998;
- --Get runic power and runes
- local runic = UnitPower('player', SPELL_POWER_RUNIC_POWER);
- local runicMax = UnitPowerMax('player',SPELL_POWER_RUNIC_POWER);
- local count = 0;
- local cd = 0;
- local time = GetTime();
- for i = 1, 10 do
- local start, duration, runeReady = GetRuneCooldown(i);
- if start and start > 0 then
- local rcd = duration + start - time;
- if cd == 0 or cd > rcd then
- cd = rcd;
- end
- end
- if runeReady then
- count = count + 1;
- end
- end
- --Get wounds on target.
- local _, _, _, charges = UnitAura('target', 'Festering Wound', nil, 'PLAYER||HARMFUL');
- if charges == nil then
- charges = 0;
- end
- --Check if Necrosis is active
- if MaxDps:Aura(_Necrosis, timeShift)
- then
- -- If more then 2 wounds
- if charges > 2 then
- return _ScourgeStrike;
- end
- end
- --Check if Plague is on
- if not MaxDps:TargetAura(_VirulentPlague, timeShift)
- then
- return _Outbreak;
- end
- --Army of the dead ready
- if MaxDps:SpellAvailable(_ArmyoftheDead , timeShift) then
- return _ArmyoftheDead;
- end
- --Gargoyle ready
- if MaxDps:SpellAvailable(_SummonGargoyle , timeShift) then
- return _SummonGargoyle;
- end
- --Dark transformation ready
- if MaxDps:SpellAvailable(_DarkTransformation , timeShift) then
- return _DarkTransformation ;
- end
- -- If less then 3 charges use festering wound
- if charges < 4 then
- if count >=2 then
- return _FesteringStrike;
- end
- end
- --Check for use of apocalypse and soulreaper.
- if MaxDps:SpellAvailable(_Apocalypse , timeShift) then
- if MaxDps:SpellAvailable(_SoulReaper, timeShift) then
- if charges >= 3 then
- return _SoulReaper;
- end
- end
- if charges <=4 then
- if count >= 2 then
- return _FesteringStrike;
- end
- end
- if charges >= 6 then
- return _Apocalypse;
- end
- end
- if MaxDps:SpellAvailable(_SoulReaper, timeShift) then
- if charges >= 3 then
- return _SoulReaper;
- end
- end
- --Check to run other and stuff
- if count <= 2 then
- if MaxDps:SpellAvailable(_DeathandDecay , timeShift) then
- return _DeathandDecay;
- end
- if MaxDps:SpellAvailable(_DeathStrike , timeShift) then
- if runic > 85 then
- return _DeathStrike;
- end
- end
- end
- --Check power and run DeathCoil
- if runic > 50 then
- return _DeathCoil;
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement