public static Composite BuffFortitude() { return(new Decorator( ret => (AltarboySettings.Instance.BuffFortitude && PartyManager.NearbyGroupMembers.Any(CanCastFortitudeOn) && CastManager.CanCast("Power Word: Fortitude", Me)), new Action(delegate { CastManager.CastSpell("Power Word: Fortitude", Me); }) )); }
public static Composite BuffShadowProtection() { return(new Decorator( ret => (AltarboySettings.Instance.BuffShadowProtection && CastManager.CanCast("Shadow Protection", Me) && PartyManager.NearbyGroupMembers.Any(CanCastShadowProtection)), new Action(delegate { CastManager.CastSpell("Shadow Protection", Me); }) )); }
public static Composite CastSpell(string spellName, SimpleBoolReturnDelegate extra, WoWUnit target) { //using current target no matter what... just testing something return(new Decorator( ret => extra(ret) && CastManager.CanCast(spellName, TargetManager.ActiveTarget), new Action(delegate { CastManager.CastSpell(spellName, TargetManager.ActiveTarget); }) )); }
public static Composite BuffSelf(string buffName, SimpleBoolReturnDelegate extra) { return(new Decorator( ret => extra(ret) && !Me.Auras.Values.Any(a => a.Spell.Name == buffName) && CastManager.CanCast(buffName, Me), new Action(delegate { CastManager.CastSpell(buffName, Me); }) )); }
public static Composite CastMindSear(SimpleBoolReturnDelegate extra) { //Todo - Should add logic to check for CC'ed targets within Mindsear Range. return(new Decorator( ret => extra(ret), new Sequence( //new Action(ret => Navigator.PlayerMover.MoveStop()), | Beyond annoying. new Action(ret => TargetManager.ActiveTarget.Face()), new Action(ret => CastManager.CastSpell("Mind Sear", TargetManager.ActiveTarget)) ) )); }