示例#1
0
        private static async Task <bool> SubtletyRotationAoE()
        {
            if (HotKeyManager.NoAoe)
            {
                return(await SubtletySingleRotation());
            }

            //Finisher
            if (await Abilities.Cast <SliceNDiceAbility>(MyCurrentTarget))
            {
                return(true);
            }
            if (await Abilities.Cast <CrimsonTempest>(MyCurrentTarget))
            {
                return(true);
            }
            //Generator
            if (!(Me.AuraStacks(SpellBook.AuraAnticipation) >= 1))
            {
                if (await Abilities.Cast <FanOfKnives>(MyCurrentTarget))
                {
                    return(true);
                }
            }

            return(false);
        }
示例#2
0
        public override async Task <bool> CastOnTarget(WoWUnit target)
        {
            Conditions.Clear();
            if (MustWaitForGlobalCooldown)
            {
                Conditions.Add(new IsOffGlobalCooldownCondition());
            }
            if (MustWaitForSpellCooldown)
            {
                Conditions.Add(new SpellIsNotOnCooldownCondition(Spell));
            }
            Conditions.Add(new BooleanCondition(target != null));
            Conditions.Add(new InMeeleRangeCondition(target));
            Conditions.Add(new BooleanCondition(Me.AuraStacks(SpellBook.AuraAnticipation) <= 1));
            Conditions.Add(new ConditionSwitchTester(
                               new BooleanCondition(SettingsManager.Instance.OffensiveVanishOnlyOnBoss),
                               new OnlyOnBossCondition()));
            Conditions.Add(new BooleanCondition(SettingsManager.Instance.UseVanish));
            //  t18 bonus! add if you got t18
            Conditions.Add(new ConditionSwitchTester(
                               new BooleanCondition(SettingsManager.Instance.T184PEnabled),
                               new ConditionAndList(
                                   new TargetNotAuraUpCondition(Me, WoWSpell.FromId(SpellBook.AuraDeathlyShadows)),
                                   new ConditionOrList(
                                       new CoolDownLeftMaxCondition(WoWSpell.FromId(SpellBook.AuraShadowDance), System.TimeSpan.FromSeconds(1)),
                                       new CoolDownLeftMinCondition(WoWSpell.FromId(SpellBook.AuraShadowDance), System.TimeSpan.FromSeconds(7)))),
                               new ConditionAndList(
                                   new ImNotStealthedCondition(),
                                   new TargetNotAuraUpCondition(target, WoWSpell.FromId(SpellBook.AuraFindWeakness)))));

            return(await base.CastOnTarget(target));
        }
示例#3
0
 private static async Task <bool> PoolForDanceRotation()
 {
     if (Me.AuraStacks(SpellBook.AuraAnticipation) >= 3)
     {
         return(await CombatRotation());
     }
     if (await Abilities.Cast <Rupture>(MyCurrentTarget))
     {
         return(true);
     }
     if (await Abilities.Cast <SliceNDiceAbility>(MyCurrentTarget))
     {
         return(true);
     }
     return(true);
 }