public static Composite DemonHunterBuffs() { return (new PrioritySelector(CtxChanger, Common.CreateWaitForAttack(), Common.CreateWaitForCast(), Common.CreateGetPowerGlobe(), Common.CreateUsePoolOfReflection(), new SelfCast(SNOPower.X1_DemonHunter_Companion, ctx => CompanionTimer.IsFinished && !Minion.HasPet(((CombatContext)ctx), Pet.DH_Companion), s => CompanionTimer.Reset()), new SelfCast(SNOPower.DemonHunter_Chakram, extra => BelphegorSettings.Instance.DemonHunter.ShurikenCloud && ShurikenCloudTimer.IsFinished, s => ShurikenCloudTimer.Reset()), new SelfCast(SNOPower.DemonHunter_SmokeScreen, extra => SmokeScreenTimer.IsFinished && ZetaDia.Me.HitpointsCurrentPct <= BelphegorSettings.Instance.DemonHunter .SmokeScreenHP || BelphegorSettings.Instance.DemonHunter.SpamSmokeScreen, s => SmokeScreenTimer.Reset()), Avoidance.CreateMoveForAvoidance( BelphegorSettings.Instance.DemonHunter.MaximumRange) )); }
public static Composite BarbarianBuffs() { return (new PrioritySelector(CtxChanger, Common.CreateWaitForAttack(), Common.CreateWaitForCast(), new SelfCast(SNOPower.Barbarian_WarCry, extra => (!ZetaDia.Me.HasBuff(SNOPower.Barbarian_WarCry) || BelphegorSettings.Instance.Barbarian.SpamWarCry) && !ZetaDia.Me.IsInTown), Avoidance.CreateMoveForAvoidance(BelphegorSettings.Instance.Barbarian.MaximumRange) )); }
public static Composite CrusaderBuff() { return (new Decorator(ctx => !ZetaDia.IsInTown, new PrioritySelector(CtxChanger, Common.CreateWaitForAttack(), Common.CreateWaitForCast(), Common.CreateGetPowerGlobe(), Common.CreateUsePoolOfReflection(), Avoidance.CreateMoveForAvoidance(BelphegorSettings.Instance.Crusader.MaximumRange) ) )); }
public static Composite WitchDoctorBuff() { return (new PrioritySelector(CtxChanger, Common.CreateWaitForAttack(), Common.CreateWaitForCast(), new SelfCast(SNOPower.Witchdoctor_Gargantuan, extra => !Minion.HasPet(Pet.Gargantuan)), new SelfCast(SNOPower.Witchdoctor_SummonZombieDog, extra => Minion.PetCount(Pet.ZombieDogs) < 3), Avoidance.CreateMoveForAvoidance( BelphegorSettings.Instance.WitchDoctor.MaximumRange) )); }
public static Composite BarbarianBuffs() { return (new PrioritySelector(CtxChanger, Common.CreateWaitForAttack(), Common.CreateWaitForCast(), Common.CreateGetPowerGlobe(), Common.CreateUsePoolOfReflection(), new SelfCast(SNOPower.X1_Barbarian_WarCry_v2, extra => (!ZetaDia.Me.HasBuff(SNOPower.X1_Barbarian_WarCry_v2) || BelphegorSettings.Instance.Barbarian.SpamWarCry) && !ZetaDia.IsInTown), new SelfCast(SNOPower.Barbarian_BattleRage, extra => !ZetaDia.Me.HasBuff(SNOPower.Barbarian_BattleRage)), Avoidance.CreateMoveForAvoidance(BelphegorSettings.Instance.Barbarian.MaximumRange) )); }
public static Composite WizardBuffs() { return (new PrioritySelector(CtxChanger, Common.CreateWaitForAttack(), Common.CreateWaitForCast(), new SelfCast(SNOPower.Wizard_MagicWeapon, extra => !ZetaDia.Me.HasBuff(SNOPower.Wizard_MagicWeapon)), new SelfCast(SNOPower.Wizard_Familiar, extra => FamiliarTimer.IsFinished, s => FamiliarTimer.Reset()), new SelfCast(SNOPower.Wizard_EnergyArmor, extra => !ZetaDia.Me.HasBuff(SNOPower.Wizard_EnergyArmor)), new SelfCast(SNOPower.Wizard_StormArmor, extra => !ZetaDia.Me.HasBuff(SNOPower.Wizard_StormArmor)), new SelfCast(SNOPower.Wizard_IceArmor, extra => !ZetaDia.Me.HasBuff(SNOPower.Wizard_IceArmor)), Avoidance.CreateMoveForAvoidance( BelphegorSettings.Instance.Wizard.MaximumRange) )); }
public static Composite MonkBuff() { return (new Decorator(ctx => !ZetaDia.IsInTown, new PrioritySelector(CtxChanger, Common.CreateWaitForAttack(), Common.CreateWaitForCast(), Common.CreateGetPowerGlobe(), Common.CreateUsePoolOfReflection(), new SelfCast(SNOPower.Monk_BreathOfHeaven, ret => ZetaDia.Me.CurrentPrimaryResource > BelphegorSettings.Instance.Monk. BoHBlazingWrathOutOfCombatSpiritTreshold && !ZetaDia.Me.HasBuff(SNOPower.Monk_BreathOfHeaven) && BelphegorSettings.Instance.Monk.BoHBlazingWrath), Avoidance.CreateMoveForAvoidance(BelphegorSettings.Instance.Monk.MaximumRange) ) )); }
public static Composite MonkBuff() { return (new Decorator(ctx => !ZetaDia.Me.IsInTown, new PrioritySelector(CtxChanger, Common.CreateWaitForAttack(), Common.CreateWaitForCast(), new SelfCast(SNOPower.Monk_MysticAlly, extra => AllyTimer.IsFinished && !Minion.HasPet(Pet.MysticAlly), s => AllyTimer.Reset()), new SelfCast(SNOPower.Monk_BreathOfHeaven, ret => ZetaDia.Me.CurrentPrimaryResource > BelphegorSettings.Instance.Monk. BoHBlazingWrathOutOfCombatSpiritTreshold && !ZetaDia.Me.HasBuff(SNOPower.Monk_BreathOfHeaven) && BelphegorSettings.Instance.Monk.BoHBlazingWrath), Avoidance.CreateMoveForAvoidance(BelphegorSettings.Instance.Monk.MaximumRange) ) )); }