Пример #1
0
 private static async Task <bool> AssasinPoolRotation()
 {
     if (Main.Debug)
     {
         Log.Diagnostics("In AssasinPoolRotation() with " + Me.CurrentEnergy + " Energy.");
     }
     if (Me.CurrentEnergy >= 90 && Me.ComboPoints == 5 && MyCurrentTarget.HasAura(SpellBook.CastRupture))
     {
         if (await Abilities.Cast <Envenom>(MyCurrentTarget))
         {
             return(true);
         }
     }
     if (await Abilities.Cast <Rupture>(MyCurrentTarget))
     {
         return(true);
     }
     if (await Abilities.Cast <Dispatch>(MyCurrentTarget))
     {
         return(true);
     }
     return(true);
 }
Пример #2
0
        private static async Task <bool> SubtletyRotationTwoToFourTargets()
        {
            if (HotKeyManager.NoAoe)
            {
                return(await SubtletySingleRotation());
            }

            //Make sure to refresh Findweakness
            if (Me.AuraRemainingTime(SpellBook.AuraShadowDance).TotalSeconds < 1.2)
            {
                if (await Abilities.Cast <Ambush>(MyCurrentTarget))
                {
                    return(true);
                }
            }

            // if (await Abilities.Cast<VanishOffensive>(Me)) return true;
            //  if (await Abilities.Cast<Preperation>(Me)) return true;

            if (SRtimer.IsRunning && !ruptureRefreshed)
            {
                if (await Abilities.Cast <RefreshRupture>(MyCurrentTarget))
                {
                    ruptureRefreshed = true;
                    return(true);
                }
            }
            if (SRtimer.ElapsedMilliseconds > 16000)
            {
                SRtimer.Reset();
                ruptureRefreshed = false;
            }

            if (HotKeyManager.CooldownsOn)
            {
                if (await Abilities.Cast <ShadowReflection>(MyCurrentTarget))
                {
                    SRtimer.Restart();
                    return(true);
                }
                if (await Abilities.Cast <ShadowDance>(Me))
                {
                    return(true);
                }
                if (await Abilities.Cast <VanishOffensive>(MyCurrentTarget))
                {
                    return(true);
                }
                if (await Abilities.Cast <Preperation>(Me))
                {
                    return(true);
                }
            }

            //Finisher
            if (await Abilities.Cast <SliceNDiceAbility>(MyCurrentTarget))
            {
                return(true);
            }
            if (await Abilities.Cast <Rupture>(UnitManager.Instance.LastKnownNonBleedingEnemies.FirstOrDefault()))
            {
                return(true);
            }
            if (await Abilities.Cast <Rupture>(UnitManager.Instance.LastKnownBleedingEnemies.FirstOrDefault()))
            {
                return(true);
            }
            if (Me.CurrentTarget.AuraExists(SpellBook.AuraFindWeakness) && UnitManager.Instance.LastKnownSurroundingEnemies.Count < 3)
            {
                if (await Abilities.Cast <EviscerateAbility>(MyCurrentTarget))
                {
                    return(true);
                }
            }
            if (MyCurrentTarget.AuraRemainingTime(SpellBook.AuraCrimsonTempest).TotalSeconds < 2)
            {
                if (await Abilities.Cast <CrimsonTempest>(MyCurrentTarget))
                {
                    return(true);
                }
            }
            if (await Abilities.Cast <EviscerateAbility>(MyCurrentTarget))
            {
                return(true);
            }
            //Generator
            if (!Me.AuraExists(SpellBook.AuraShadowDance) || UnitManager.Instance.LastKnownSurroundingEnemies.Count >= 5)
            {
                if (await Abilities.Cast <FanOfKnives>(MyCurrentTarget))
                {
                    return(true);
                }
            }
            if (await Abilities.Cast <Ambush>(MyCurrentTarget))
            {
                return(true);
            }
            return(false);
        }