예제 #1
0
        public static Composite CreateUseHealTrinketsBehaviour()
        {
            if (SingularSettings.IsTrinketUsageWanted(TrinketUsage.LowHealth))
            {
                return(new Decorator(
                           ret => StyxWoW.Me.HealthPercent < SingularSettings.Instance.PotionHealth,
                           Item.UseEquippedTrinket(TrinketUsage.LowHealth)
                           ));
            }

            return(new Action(ret => { return RunStatus.Failure; }));
        }
예제 #2
0
        // [Behavior(BehaviorType.Combat, priority: 999)]
        public static Composite CreateUseTrinketsBehaviour()
        {
            // Saving Settings via GUI will now force reinitialize so we can build the behaviors
            // basead upon the settings rather than continually checking the settings in the Btree
            //
            //

            if (SingularSettings.Instance.Trinket1Usage == TrinketUsage.Never && SingularSettings.Instance.Trinket2Usage == TrinketUsage.Never)
            {
                return(new Action(ret => { return RunStatus.Failure; }));
            }

            PrioritySelector ps = new PrioritySelector();

            if (SingularSettings.IsTrinketUsageWanted(TrinketUsage.OnCooldown))
            {
                ps.AddChild(Item.UseEquippedTrinket(TrinketUsage.OnCooldown));
            }

            if (SingularSettings.IsTrinketUsageWanted(TrinketUsage.OnCooldownInCombat))
            {
                ps.AddChild(Item.UseEquippedTrinket(TrinketUsage.OnCooldownInCombat));
            }

            if (SingularSettings.IsTrinketUsageWanted(TrinketUsage.LowHealth))
            {
                ps.AddChild(new Decorator(ret => StyxWoW.Me.HealthPercent < SingularSettings.Instance.PotionHealth,
                                          Item.UseEquippedTrinket(TrinketUsage.LowHealth)));
            }

            if (SingularSettings.IsTrinketUsageWanted(TrinketUsage.LowPower))
            {
                ps.AddChild(new Decorator(ret => StyxWoW.Me.PowerPercent < SingularSettings.Instance.PotionMana,
                                          Item.UseEquippedTrinket(TrinketUsage.LowPower)));
            }

            if (SingularSettings.IsTrinketUsageWanted(TrinketUsage.CrowdControlled))
            {
                ps.AddChild(new Decorator(ret => Unit.IsCrowdControlled(StyxWoW.Me),
                                          Item.UseEquippedTrinket(TrinketUsage.CrowdControlled)));
            }

            if (SingularSettings.IsTrinketUsageWanted(TrinketUsage.CrowdControlledSilenced))
            {
                ps.AddChild(new Decorator(ret => StyxWoW.Me.Silenced && Unit.IsCrowdControlled(StyxWoW.Me),
                                          Item.UseEquippedTrinket(TrinketUsage.CrowdControlledSilenced)));
            }

            return(ps);
        }