private Composite CreateCombatBuffBehavior() { return(new Decorator( ret => Me.Combat && !CastManager.IsHymning(), new PrioritySelector( AltarboyComposites.BuffSelf("Inner Fire", ret => (AltarboySettings.Instance.UseInnerFire)), AltarboyComposites.BuffSelf("Inner Will", ret => (AltarboySettings.Instance.UseInnerWill)), ////Is there something I should dispell from my self? // new Decorator( // ret => (Me.Debuffs).Any(aura => AltarboyHashes.TargetHasAuraType(aura.Value.SpellId, AltarboyHashes.AuraTypes.DispelAsap)), // new Decorator(ret => CastManager.CanCast("Dipel Magic", Me), // new TreeSharp.Action(delegate // { // CastManager.CastSpell("Dipel Magic", Me); // }) // ) // ), //Do I need to fade? If something is aggroing me and within a specific range. AltarboyComposites.BuffSelf("Fade", ret => (Me.IsInParty || Me.IsInMyRaid) && AltarboySettings.Instance.EnableFadeOnAggro && TargetManager.DetectHostileTargets(10).Any(Unit => TargetManager.IsTargetingMeOrMyStuff(Unit)) ), AltarboyComposites.CommonPriestBuffs() ))); }
public static Composite CommonPriestBuffs() { return(new Decorator(ret => !CastManager.IsHymning() && (!Me.HasAura("Food") || !Me.HasAura("Drink")), new PrioritySelector( HandleFalling(), BuffFortitude(), BuffShadowProtection(), BuffSelf("Shadowform", ret => (AltarboySettings.Instance.UseShadowForm)), BuffSelf("Vampiric Embrace", ret => (AltarboySettings.Instance.UseVampiricEmbrace)), BuffSelf("Inner Fire", ret => (AltarboySettings.Instance.UseInnerFire)), BuffSelf("Inner Will", ret => (AltarboySettings.Instance.UseInnerWill)) ))); }
public static Composite Combat() { return(new Sequence( //Select a target Target(), //Then kill it. new Decorator( ret => TargetManager.ActiveTarget != null && !CastManager.IsHymning() && !Me.IsFalling && !TargetManager.IsIgnoreTarget(TargetManager.ActiveTarget), //Added falling clause cause was killing me on Ragnaros. new PrioritySelector( MindSearDps(ret => TargetManager.ShouldMindSear(TargetManager.ActiveTarget) && AuraManager.GetAuraTimeLeft("Mind Sear", TargetManager.ActiveTarget, true).TotalSeconds <= AltarboySettings.Instance.ClippingDuration), SingleTargetDps() ) ) )); }