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); }
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)); }
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); }