Пример #1
0
 public static Composite CreatePriestShadowRest()
 {
     return(new PrioritySelector(
                Spell.Resurrect("Resurrection"),
                Rest.CreateDefaultRestBehaviour()
                ));
 }
Пример #2
0
        public static Composite CreateMistweaverRest()
        {
            return(new PrioritySelector(

                       CancelSoothingMistAsNeeded(),

                       new Decorator(
                           ret => !Spell.IsGlobalCooldown(),

                           new PrioritySelector(
                               CreateMistweaverMonkHealing(true),

                               Rest.CreateDefaultRestBehaviour(null, "Resuscitate"),

                               CreateMistweaverMonkHealing(false)

                               )
                           ),

                       Spell.WaitForCastOrChannel(),

                       // HealerManager.CreateStayNearTankBehavior(),

                       Spell.WaitForGlobalCooldown()
                       ));
        }
Пример #3
0
        public static Composite CreateMonkRest()
        {
            return(new PrioritySelector(
                       new Decorator(
                           ret => !Helpers.Rest.IsEatingOrDrinking,
                           new PrioritySelector(
                               // pickup free heals from Life Spheres
                               new Decorator(
                                   ret => Me.HealthPercent < 95 && AnySpheres(SphereType.Life, SingularSettings.Instance.SphereDistanceAtRest),
                                   CreateMoveToSphereBehavior(SphereType.Life, SingularSettings.Instance.SphereDistanceAtRest)
                                   ),
                               // pickup free chi from Chi Spheres
                               new Decorator(
                                   ret => Me.CurrentChi < Me.MaxChi && AnySpheres(SphereType.Chi, SingularSettings.Instance.SphereDistanceAtRest),
                                   CreateMoveToSphereBehavior(SphereType.Chi, SingularSettings.Instance.SphereDistanceAtRest)
                                   )
                               )
                           ),

                       Common.CreateMonkDpsHealBehavior(),

                       // Rest up! Do this first, so we make sure we're fully rested.
                       Rest.CreateDefaultRestBehaviour("Effuse", "Resuscitate")
                       ));
        }
Пример #4
0
 public static Composite CreateShadowPriestRestBehavior()
 {
     return(new PrioritySelector(
                Spell.BuffSelf("Dispersion", ret => Me.ManaPercent < SingularSettings.Instance.MinMana && Me.IsSwimming),
                Rest.CreateDefaultRestBehaviour("Shadow Mend", "Resurrection"),
                Common.CreatePriestMovementBuffOnTank("Rest")
                ));
 }
Пример #5
0
 public static Composite CreateUnholylDeathKnightRest()
 {
     return(new PrioritySelector(
                Spell.WaitForCastOrChannel(),
                UnholyCastRaiseDead(),
                Rest.CreateDefaultRestBehaviour()
                ));
 }
Пример #6
0
 public static Composite CreatePaladinHolyRest()
 {
     return(new PrioritySelector(
                // Rest up damnit! Do this first, so we make sure we're fully rested.
                Rest.CreateDefaultRestBehaviour(),
                // Can we res people?
                Spell.Resurrect("Redemption")));
 }
Пример #7
0
 public static Composite CreateProtectionRest()
 {
     return(new PrioritySelector(
                // Rest up damnit! Do this first, so we make sure we're fully rested.
                Spell.BuffSelf("Consecration", ret => Me.HealthPercent < 70 && SpellManager.CanCast("Light of the Protector")), // 20% Extra health boost.
                Rest.CreateDefaultRestBehaviour("Light of the Protector", "Redemption")
                ));
 }
Пример #8
0
 public static Composite CreateMistweaverMonkRestBehavior()
 {
     return(new PrioritySelector(
                CreateMistweaverMonkHealing(true),
                Rest.CreateDefaultRestBehaviour(),
                Spell.Resurrect("Resuscitate"),
                CreateMistweaverMonkHealing(false)
                ));
 }
Пример #9
0
 public static Composite CreateRogueRest()
 {
     return(new PrioritySelector(
                Spell.BuffSelf("Stealth", ret => StyxWoW.Me.HasAura("Food")),
                new Decorator(
                    ret => StyxWoW.Me.HasAura("Vanish") && StyxWoW.Me.CurrentMap.IsContinent,
                    new ActionAlwaysSucceed()),
                Rest.CreateDefaultRestBehaviour()
                ));
 }
Пример #10
0
        public static Composite CreateDemonHunterRest()
        {
            return(new PrioritySelector(
                       new Decorator(
                           ret => Settings.OOCUseSoulFragments && !Rest.IsEatingOrDrinking && Me.HealthPercent <= Settings.OOCSoulFragmentHealthPercent,
                           CreateCollectFragmentsBehavior(Settings.OOCSoulFragmentRange)
                           ),

                       Rest.CreateDefaultRestBehaviour()
                       ));
        }
Пример #11
0
 public static Composite CreateShamanElementalRest()
 {
     return
         (new PrioritySelector(
              new Decorator(
                  ret => !StyxWoW.Me.HasAura("Drink") && !StyxWoW.Me.HasAura("Food"),
                  CreateShamanElementalHeal()),
              Rest.CreateDefaultRestBehaviour(),
              Spell.Resurrect("Ancestral Spirit")
              ));
 }
Пример #12
0
 public static Composite CreateRestoDruidRest()
 {
     return(new PrioritySelector(
                new Decorator(
                    req => !Rest.IsEatingOrDrinking,
                    CreateRestoNonCombatHeal(true)
                    ),
                Rest.CreateDefaultRestBehaviour(null, "Revive"),
                CreateRestoNonCombatHeal(false)
                ));
 }
Пример #13
0
 public static Composite CreatePaladinHolyRest()
 {
     return(new PrioritySelector(
                // Heal self before resting. There is no need to eat while we have 100% mana
                CreatePaladinHealBehavior(true),
                // Rest up damnit! Do this first, so we make sure we're fully rested.
                Rest.CreateDefaultRestBehaviour(),
                // Can we res people?
                Spell.Resurrect("Redemption"),
                // Make sure we're healing OOC too!
                CreatePaladinHealBehavior(false, false)));
 }
Пример #14
0
 public static Composite CreatePaladinRetributionRest()
 {
     return(new PrioritySelector(
                Spell.WaitForCastOrChannel(),
                new Decorator(
                    ret => !Spell.IsGlobalCooldown(),
                    new PrioritySelector(
                        Rest.CreateDefaultRestBehaviour("Flash of Light", "Redemption")
                        )
                    )
                ));
 }
Пример #15
0
 public static Composite CreateRestoDruidHealRest()
 {
     return(new PrioritySelector(
                Spell.WaitForCast(),
                // Heal self before resting. There is no need to eat while we have 100% mana
                CreateRestoDruidHealOnlyBehavior(true),
                // Rest up damnit! Do this first, so we make sure we're fully rested.
                Rest.CreateDefaultRestBehaviour(),
                // Can we res people?
                Spell.Resurrect("Revive"),
                // Make sure we're healing OOC too!
                CreateRestoDruidHealOnlyBehavior(false, false)));
 }
Пример #16
0
 public static Composite CreateWarlockRest()
 {
     return(new PrioritySelector(
                new Decorator(ctx => SingularSettings.Instance.DisablePetUsage && StyxWoW.Me.GotAlivePet,
                              new Action(ctx => Lua.DoString("PetDismiss()"))),
                new Decorator(
                    ctx => StyxWoW.Me.CastingSpell != null && StyxWoW.Me.CastingSpell.Name.Contains("Summon") && StyxWoW.Me.GotAlivePet,
                    new Action(ctx => SpellManager.StopCasting())),
                Spell.WaitForCast(false),
                Spell.BuffSelf("Life Tap", ret => StyxWoW.Me.ManaPercent < 80 && StyxWoW.Me.HealthPercent > 60 && !StyxWoW.Me.HasAnyAura("Drink", "Food")),
                UseHealthStoneBehavior(ret => StyxWoW.Me.HealthPercent < 80),
                Rest.CreateDefaultRestBehaviour()
                ));
 }
Пример #17
0
        public static Composite CreateDiscRest()
        {
            return(new PrioritySelector(
                       new Decorator(
                           req => SingularRoutine.CurrentWoWContext != WoWContext.Normal,
                           CreateDiscDiagnosticOutputBehavior("REST")
                           ),

                       CreateSpiritShellCancel(),

                       Rest.CreateDefaultRestBehaviour(SingularRoutine.CurrentWoWContext == WoWContext.Normal ? "Flash Heal" : null, "Resurrection"),
                       CreateDiscOutOfCombatHeal(),
                       Common.CreatePriestMovementBuffOnTank("Rest")
                       ));
        }
Пример #18
0
        public static Composite CreateHolyRest()
        {
            return(new PrioritySelector(
                       CreateHolyDiagnosticOutputBehavior("REST"),

                       // Heal self before resting. There is no need to eat while we have 100% mana
                       CreateHolyHealOnlyBehavior(true, false),
                       // Rest up damnit! Do this first, so we make sure we're fully rested.
                       Rest.CreateDefaultRestBehaviour(SingularRoutine.CurrentWoWContext == WoWContext.Normal ? "Flash Heal" : null, "Resurrection"),
                       // Make sure we're healing OOC too!
                       CreateHolyHealOnlyBehavior(false, false),
                       // now buff our movement if possible
                       Common.CreatePriestMovementBuffOnTank("Rest")
                       ));
        }
Пример #19
0
 public static Composite CreatePaladinHolyRest()
 {
     return(new PrioritySelector(
                Spell.WaitForCast(),
                new Decorator(
                    ret => !Spell.IsGlobalCooldown(),
                    new PrioritySelector(
                        // Heal self before resting. There is no need to eat while we have 100% mana
                        CreatePaladinHealBehavior(true),
                        // Rest up damnit! Do this first, so we make sure we're fully rested.
                        Rest.CreateDefaultRestBehaviour(null, "Redemption"),
                        // Make sure we're healing OOC too!
                        CreatePaladinHealBehavior(false, false)
                        )
                    )
                ));
 }
Пример #20
0
        public static Composite CreateElementalRest()
        {
            return(new PrioritySelector(
                       Spell.WaitForCast(),
                       new Decorator(
                           ret => !Spell.IsGlobalCooldown(),
                           new PrioritySelector(

                               Common.CreateShamanDpsHealBehavior(),

                               Rest.CreateDefaultRestBehaviour("Healing Surge", "Ancestral Spirit"),

                               Common.CreateShamanMovementBuff()
                               )
                           )
                       ));
        }
Пример #21
0
 public static Composite CreateMonkRest()
 {
     return(new PrioritySelector(
                new Decorator(
                    ret => Me.HealthPercent < 95 && AnySpheres(SphereType.Life, MonkSettings.SphereDistanceAtRest),
                    CreateMoveToSphereBehavior(SphereType.Life, MonkSettings.SphereDistanceAtRest)
                    ),
                new Decorator(
                    ret => Me.CurrentChi < Me.MaxChi && AnySpheres(SphereType.Chi, MonkSettings.SphereDistanceAtRest),
                    CreateMoveToSphereBehavior(SphereType.Chi, MonkSettings.SphereDistanceAtRest)
                    ),
                // Rest up damnit! Do this first, so we make sure we're fully rested.
                Rest.CreateDefaultRestBehaviour(),
                // Can we res people?
                Spell.Resurrect("Resuscitate")
                ));
 }
Пример #22
0
        public static Composite CreateBalanceAndDruidFeralRest()
        {
            return(new PrioritySelector(
                       Spell.WaitForCast(false),
                       new Decorator(
                           ret => !Spell.IsGlobalCooldown(false, false),
                           new PrioritySelector(

                               Spell.Heal("Healing Touch",
                                          ctx => Me,
                                          ret => !StyxWoW.Me.HasAura("Drink") && !StyxWoW.Me.HasAura("Food") &&
                                          Me.GetPredictedHealthPercent(true) <= SingularSettings.Instance.IgnoreHealTargetsAboveHealth),

                               Rest.CreateDefaultRestBehaviour(),

                               Spell.Resurrect("Revive")
                               )
                           )
                       ));
        }
Пример #23
0
 public static Composite CreateShamanLowbieRest()
 {
     return(Rest.CreateDefaultRestBehaviour("Healing Surge", "Ancestral Spirit"));
 }