public AnubRekhan10Tactic(AmeisenBotInterfaces bot) { Bot = bot; TankingPathQueue = new(); Configurables.TryAdd("isOffTank", false); }
protected BasicCombatClass(AmeisenBotInterfaces bot) { Bot = bot; SpellAbortFunctions = new(); CooldownManager = new(Bot.Character.SpellBook.Spells); RessurrectionTargets = new(); TargetProviderDps = new TargetManager(Bot, WowRole.Dps, TimeSpan.FromMilliseconds(250)); TargetProviderTank = new TargetManager(Bot, WowRole.Tank, TimeSpan.FromMilliseconds(250)); TargetProviderHeal = new TargetManager(Bot, WowRole.Heal, TimeSpan.FromMilliseconds(250)); MyAuraManager = new(Bot); TargetAuraManager = new(Bot); GroupAuraManager = new(Bot); InterruptManager = new(); EventCheckFacing = new(TimeSpan.FromMilliseconds(500)); EventAutoAttack = new(TimeSpan.FromMilliseconds(500)); Configurables.TryAdd("HealthItemThreshold", 30.0); Configurables.TryAdd("ManaItemThreshold", 30.0); }
public WarriorProtection(AmeisenBotInterfaces bot) : base(bot) { Configurables.TryAdd("FartOnCharge", false); InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpell(Warrior548.Pummel, x.Guid, true) }, { 1, (x) => TryCastSpell(Warrior548.DragonRoar, x.Guid, true) }, };
public PaladinHoly(AmeisenBotInterfaces bot) : base(bot) { Configurables.TryAdd("AttackInGroups", true); Configurables.TryAdd("AttackInGroupsUntilManaPercent", 85.0); Configurables.TryAdd("AttackInGroupsCloseCombat", false); Configurables.TryAdd("BeaconOfLightSelfHealth", 85.0); Configurables.TryAdd("BeaconOfLightPartyHealth", 85.0); Configurables.TryAdd("DivinePleaMana", 60.0); Configurables.TryAdd("DivineIlluminationManaAbove", 20.0); Configurables.TryAdd("DivineIlluminationManaUntil", 50.0); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(bot.Db, Paladin335a.BlessingOfWisdom, () => TryCastSpell(Paladin335a.BlessingOfWisdom, Bot.Wow.PlayerGuid, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(bot.Db, Paladin335a.DevotionAura, () => TryCastSpell(Paladin335a.DevotionAura, Bot.Wow.PlayerGuid, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(bot.Db, Paladin335a.SealOfWisdom, () => Bot.Character.SpellBook.IsSpellKnown(Paladin335a.SealOfWisdom) && TryCastSpell(Paladin335a.SealOfWisdom, Bot.Wow.PlayerGuid, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(bot.Db, Paladin335a.SealOfVengeance, () => !Bot.Character.SpellBook.IsSpellKnown(Paladin335a.SealOfWisdom) && TryCastSpell(Paladin335a.SealOfVengeance, Bot.Wow.PlayerGuid, true))); GroupAuraManager.SpellsToKeepActiveOnParty.Add((Paladin335a.BlessingOfWisdom, (spellName, guid) => TryCastSpell(spellName, guid, true))); HealingManager = new(bot, (string spellName, ulong guid) => { return(TryCastSpell(spellName, guid)); }); // make sure all new spells get added to the healing manager Bot.Character.SpellBook.OnSpellBookUpdate += () => { if (Bot.Character.SpellBook.TryGetSpellByName(Paladin335a.FlashOfLight, out Spell spellFlashOfLight)) { HealingManager.AddSpell(spellFlashOfLight); } if (Bot.Character.SpellBook.TryGetSpellByName(Paladin335a.HolyLight, out Spell spellHolyLight)) { HealingManager.AddSpell(spellHolyLight); } if (Bot.Character.SpellBook.TryGetSpellByName(Paladin335a.HolyShock, out Spell spellHolyShock)) { HealingManager.AddSpell(spellHolyShock); } if (Bot.Character.SpellBook.TryGetSpellByName(Paladin335a.LayOnHands, out Spell spellLayOnHands)) { HealingManager.AddSpell(spellLayOnHands); } }; SpellAbortFunctions.Add(HealingManager.ShouldAbortCasting); ChangeBeaconEvent = new(TimeSpan.FromSeconds(1)); }
public PaladinHoly(AmeisenBotInterfaces bot) : base(bot) { Configurables.TryAdd("AttackInGroups", true); Configurables.TryAdd("AttackInGroupsUntilManaPercent", 85.0); Configurables.TryAdd("AttackInGroupsCloseCombat", false); Configurables.TryAdd("BeaconOfLightSelfHealth", 85.0); Configurables.TryAdd("BeaconOfLightPartyHealth", 85.0); Configurables.TryAdd("DivinePleaMana", 60.0); GroupAuraManager.SpellsToKeepActiveOnParty.Add((Paladin548.BlessingOfKings, (spellName, guid) => TryCastSpell(spellName, guid, true))); HealingManager = new(bot, (string spellName, ulong guid) => { return(TryCastSpell(spellName, guid)); }); // make sure all new spells get added to the healing manager Bot.Character.SpellBook.OnSpellBookUpdate += () => { if (Bot.Character.SpellBook.TryGetSpellByName(Paladin548.FlashOfLight, out Spell spellFlashOfLight)) { HealingManager.AddSpell(spellFlashOfLight); } if (Bot.Character.SpellBook.TryGetSpellByName(Paladin548.HolyShock, out Spell spellHolyShock)) { HealingManager.AddSpell(spellHolyShock); } if (Bot.Character.SpellBook.TryGetSpellByName(Paladin548.HolyLight, out Spell spellHolyLight)) { HealingManager.AddSpell(spellHolyLight); } if (Bot.Character.SpellBook.TryGetSpellByName(Paladin548.DivineLight, out Spell spellDivineLight)) { HealingManager.AddSpell(spellDivineLight); } }; InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpell(Paladin548.FistOfJustice, x.Guid, true) }, { 1, (x) => TryCastSpell(Paladin548.HammerOfJustice, x.Guid, true) },