public WarlockDemonology(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { PetManager = new PetManager ( WowInterface, TimeSpan.FromSeconds(1), null, () => (WowInterface.CharacterManager.SpellBook.IsSpellKnown(summonFelguardSpell) && WowInterface.CharacterManager.Inventory.HasItemByName("Soul Shard") && TryCastSpell(summonFelguardSpell, 0, true)) || (WowInterface.CharacterManager.SpellBook.IsSpellKnown(summonImpSpell) && TryCastSpell(summonImpSpell, 0, true)), () => (WowInterface.CharacterManager.SpellBook.IsSpellKnown(summonFelguardSpell) && WowInterface.CharacterManager.Inventory.HasItemByName("Soul Shard") && TryCastSpell(summonFelguardSpell, 0, true)) || (WowInterface.CharacterManager.SpellBook.IsSpellKnown(summonImpSpell) && TryCastSpell(summonImpSpell, 0, true)) ); MyAuraManager.Jobs.Add(new KeepBestActiveAuraJob(new List <(string, Func <bool>)>() { (felArmorSpell, () => TryCastSpell(felArmorSpell, 0, true)), (demonArmorSpell, () => TryCastSpell(demonArmorSpell, 0, true)), (demonSkinSpell, () => TryCastSpell(demonSkinSpell, 0, true)), })); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(corruptionSpell, () => WowInterface.Target != null && !WowInterface.Target.HasBuffByName(seedOfCorruptionSpell) && TryCastSpell(corruptionSpell, WowInterface.TargetGuid, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(curseOfTonguesSpell, () => TryCastSpell(curseOfTonguesSpell, WowInterface.TargetGuid, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(immolateSpell, () => TryCastSpell(immolateSpell, WowInterface.TargetGuid, true))); }
protected BasicCombatClass(WowInterface wowInterface, AmeisenBotFsm stateMachine) { WowInterface = wowInterface; StateMachine = stateMachine; C = new Dictionary <string, dynamic>() { { "HealingItemHealthThreshold", 30.0 }, { "HealingItemManaThreshold", 30.0 } }; CooldownManager = new CooldownManager(WowInterface.CharacterManager.SpellBook.Spells); RessurrectionTargets = new Dictionary <string, DateTime>(); TargetManagerDps = new TargetManager(new DpsTargetSelectionLogic(wowInterface), TimeSpan.FromMilliseconds(250)); TargetManagerTank = new TargetManager(new TankTargetSelectionLogic(wowInterface), TimeSpan.FromMilliseconds(250)); TargetManagerHeal = new TargetManager(new HealTargetSelectionLogic(wowInterface), TimeSpan.FromMilliseconds(250)); MyAuraManager = new AuraManager(wowInterface); TargetAuraManager = new AuraManager(wowInterface); GroupAuraManager = new GroupAuraManager(wowInterface); TargetInterruptManager = new InterruptManager(); EventCheckFacing = new(TimeSpan.FromMilliseconds(500)); EventAutoAttack = new(TimeSpan.FromMilliseconds(500)); }
public HunterMarksmanship(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { PetManager = new PetManager ( WowInterface, TimeSpan.FromSeconds(15), () => TryCastSpell(mendPetSpell, 0, true), () => TryCastSpell(callPetSpell, 0), () => TryCastSpell(revivePetSpell, 0) ); MyAuraManager.Jobs.Add(new KeepBestActiveAuraJob(new List <(string, Func <bool>)>() { (aspectOfTheViperSpell, () => WowInterface.Player.ManaPercentage < 25.0 && TryCastSpell(aspectOfTheViperSpell, 0, true)), (aspectOfTheDragonhawkSpell, () => (!wowInterface.CharacterManager.SpellBook.IsSpellKnown(aspectOfTheViperSpell) || WowInterface.Player.ManaPercentage > 80.0) && TryCastSpell(aspectOfTheDragonhawkSpell, 0, true)), (aspectOfTheHawkSpell, () => TryCastSpell(aspectOfTheHawkSpell, 0, true)) })); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(huntersMarkSpell, () => TryCastSpell(huntersMarkSpell, WowInterface.TargetGuid, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(serpentStingSpell, () => TryCastSpell(serpentStingSpell, WowInterface.TargetGuid, true))); InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpell(silencingShotSpell, x.Guid, true) } }; }
public DruidRestoration(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(treeOfLifeSpell, () => WowInterface.ObjectManager.PartymemberGuids.Any() && TryCastSpell(treeOfLifeSpell, WowInterface.PlayerGuid, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(markOfTheWildSpell, () => TryCastSpell(markOfTheWildSpell, WowInterface.PlayerGuid, true))); GroupAuraManager.SpellsToKeepActiveOnParty.Add((markOfTheWildSpell, (spellName, guid) => TryCastSpell(spellName, guid, true))); SwiftmendEvent = new(TimeSpan.FromSeconds(15)); }
public QuestEngine(WowInterface wowInterface, AmeisenBotConfig config, AmeisenBotFsm stateMachine) { WowInterface = wowInterface; Config = config; StateMachine = stateMachine; CompletedQuests = new(); QueryCompletedQuestsEvent = new(TimeSpan.FromSeconds(2)); }
public GrindingEngine(WowInterface wowInterface, AmeisenBotConfig config, AmeisenBotFsm stateMachine) { WowInterface = wowInterface; Config = config; StateMachine = stateMachine; Blacklist = new(); TargetInLosEvent = new(TimeSpan.FromMilliseconds(500)); }
public ShamanRestoration(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(waterShieldSpell, () => TryCastSpell(waterShieldSpell, 0, true))); SpellUsageHealDict = new Dictionary <int, string>() { { 0, riptideSpell }, { 5000, healingWaveSpell }, }; }
public RogueAssassination(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(sliceAndDiceSpell, () => TryCastSpellRogue(sliceAndDiceSpell, 0, true, true, 1))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(coldBloodSpell, () => TryCastSpellRogue(coldBloodSpell, 0, true))); InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpellRogue(kickSpell, x.Guid, true) } }; }
public WarriorProtection(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(commandingShoutSpell, () => TryCastSpell(commandingShoutSpell, 0, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(demoralizingShoutSpell, () => TryCastSpell(demoralizingShoutSpell, WowInterface.TargetGuid, true))); InterruptManager.InterruptSpells = new() { { 0, (x) => (TryCastSpellWarrior(shieldBashSpell, defensiveStanceSpell, x.Guid, true)) }, { 1, (x) => TryCastSpell(concussionBlowSpell, x.Guid, true) } };
public WarriorArms(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(battleShoutSpell, () => TryCastSpell(battleShoutSpell, 0, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(hamstringSpell, () => WowInterface.Target?.Type == WowObjectType.Player && TryCastSpell(hamstringSpell, WowInterface.TargetGuid, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(rendSpell, () => WowInterface.Target?.Type == WowObjectType.Player && WowInterface.Player.Rage > 75 && TryCastSpell(rendSpell, WowInterface.TargetGuid, true))); InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpellWarrior(intimidatingShoutSpell, berserkerStanceSpell, x.Guid, true) }, { 1, (x) => TryCastSpellWarrior(intimidatingShoutSpell, battleStanceSpell, x.Guid, true) } };
public ShamanEnhancement(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(lightningShieldSpell, () => WowInterface.Player.ManaPercentage > 60.0 && TryCastSpell(lightningShieldSpell, 0, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(waterShieldSpell, () => WowInterface.Player.ManaPercentage < 20.0 && TryCastSpell(waterShieldSpell, 0, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(flameShockSpell, () => TryCastSpell(flameShockSpell, WowInterface.TargetGuid, true))); InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpell(windShearSpell, x.Guid, true) }, { 1, (x) => TryCastSpell(hexSpell, x.Guid, true) } };
public DeathknightUnholy(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(unholyPresenceSpell, () => TryCastSpellDk(unholyPresenceSpell, 0))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(hornOfWinterSpell, () => TryCastSpellDk(hornOfWinterSpell, 0, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(frostFeverSpell, () => TryCastSpellDk(icyTouchSpell, WowInterface.TargetGuid, false, false, false, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(bloodPlagueSpell, () => TryCastSpellDk(plagueStrikeSpell, WowInterface.TargetGuid, false, false, false, true))); InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpellDk(mindFreezeSpell, x.Guid, true) }, { 1, (x) => TryCastSpellDk(strangulateSpell, x.Guid, false, true) } };
public PriestShadow(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(shadowformSpell, () => TryCastSpell(shadowformSpell, WowInterface.PlayerGuid, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(powerWordFortitudeSpell, () => TryCastSpell(powerWordFortitudeSpell, WowInterface.PlayerGuid, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(vampiricEmbraceSpell, () => TryCastSpell(vampiricEmbraceSpell, WowInterface.PlayerGuid, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(vampiricTouchSpell, () => TryCastSpell(vampiricTouchSpell, WowInterface.TargetGuid, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(devouringPlagueSpell, () => TryCastSpell(devouringPlagueSpell, WowInterface.TargetGuid, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(shadowWordPainSpell, () => TryCastSpell(shadowWordPainSpell, WowInterface.TargetGuid, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(mindBlastSpell, () => TryCastSpell(mindBlastSpell, WowInterface.TargetGuid, true))); GroupAuraManager.SpellsToKeepActiveOnParty.Add((powerWordFortitudeSpell, (spellName, guid) => TryCastSpell(spellName, guid, true))); }
public PaladinRetribution(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(blessingOfMightSpell, () => TryCastSpell(blessingOfMightSpell, WowInterface.PlayerGuid, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(retributionAuraSpell, () => TryCastSpell(retributionAuraSpell, 0, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(sealOfVengeanceSpell, () => TryCastSpell(sealOfVengeanceSpell, 0, true))); InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpell(hammerOfJusticeSpell, x.Guid, true) } }; GroupAuraManager.SpellsToKeepActiveOnParty.Add((blessingOfMightSpell, (spellName, guid) => TryCastSpell(spellName, guid, true))); }
public MageFrost(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(arcaneIntellectSpell, () => TryCastSpell(arcaneIntellectSpell, 0, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(frostArmorSpell, () => TryCastSpell(frostArmorSpell, 0, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(iceArmorSpell, () => TryCastSpell(iceArmorSpell, 0, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(manaShieldSpell, () => TryCastSpell(manaShieldSpell, 0, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(iceBarrierSpell, () => TryCastSpell(iceBarrierSpell, 0, true))); InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpell(counterspellSpell, x.Guid, true) } }; }
public PriestHoly(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(powerWordFortitudeSpell, () => TryCastSpell(powerWordFortitudeSpell, WowInterface.PlayerGuid, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(innerFireSpell, () => TryCastSpell(innerFireSpell, 0, true))); SpellUsageHealDict = new Dictionary <int, string>() { { 0, healSpell }, { 100, flashHealSpell }, { 5000, greaterHealSpell }, }; GroupAuraManager.SpellsToKeepActiveOnParty.Add((powerWordFortitudeSpell, (spellName, guid) => TryCastSpell(spellName, guid, true))); }
public DruidFeralBear(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(markOfTheWildSpell, () => TryCastSpell(markOfTheWildSpell, WowInterface.PlayerGuid, true, 0, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(direBearFormSpell, () => TryCastSpell(direBearFormSpell, 0, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(mangleBearSpell, () => TryCastSpell(mangleBearSpell, WowInterface.TargetGuid, true))); InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpell(bashSpell, x.Guid, true) }, }; GroupAuraManager.SpellsToKeepActiveOnParty.Add((markOfTheWildSpell, (spellName, guid) => TryCastSpell(spellName, guid, true))); }
public MageArcane(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(arcaneIntellectSpell, () => TryCastSpell(arcaneIntellectSpell, WowInterface.PlayerGuid, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(mageArmorSpell, () => TryCastSpell(mageArmorSpell, 0, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(manaShieldSpell, () => TryCastSpell(manaShieldSpell, 0, true))); // TargetAuraManager.DispellBuffs = () => WowInterface.HookManager.LuaHasUnitStealableBuffs(WowLuaUnit.Target) && TryCastSpell(spellStealSpell, WowInterface.TargetGuid, true); InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpell(counterspellSpell, x.Guid, true) } }; GroupAuraManager.SpellsToKeepActiveOnParty.Add((arcaneIntellectSpell, (spellName, guid) => TryCastSpell(spellName, guid, true))); }
public PaladinHoly(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(blessingOfWisdomSpell, () => TryCastSpell(blessingOfWisdomSpell, WowInterface.PlayerGuid, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(devotionAuraSpell, () => TryCastSpell(devotionAuraSpell, WowInterface.PlayerGuid, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(sealOfWisdomSpell, () => WowInterface.CharacterManager.SpellBook.IsSpellKnown(sealOfWisdomSpell) && TryCastSpell(sealOfWisdomSpell, WowInterface.PlayerGuid, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(sealOfVengeanceSpell, () => !WowInterface.CharacterManager.SpellBook.IsSpellKnown(sealOfWisdomSpell) && TryCastSpell(sealOfVengeanceSpell, WowInterface.PlayerGuid, true))); SpellUsageHealDict = new Dictionary <int, string>() { { 0, flashOfLightSpell }, { 300, holyLightSpell }, { 2000, holyShockSpell }, }; GroupAuraManager.SpellsToKeepActiveOnParty.Add((blessingOfWisdomSpell, (spellName, guid) => TryCastSpell(spellName, guid, true))); }
public StateGhost(AmeisenBotFsm stateMachine, AmeisenBotConfig config, WowInterface wowInterface) : base(stateMachine, config, wowInterface) { Blackboard = new(wowInterface); DungeonSelector = new ( (b) => Config.DungeonUsePartyMode, new Selector <GhostBlackboard> ( (b) => WowInterface.DungeonEngine.TryGetProfileByMapId(StateMachine.LastDiedMap) != null, new Leaf <GhostBlackboard>(RunToDungeonProfileEntry), new Selector <GhostBlackboard> ( (b) => IsUnitToFollowNear(out b.playerToFollowGuid), new Leaf <GhostBlackboard>(FollowNearestUnit), new Leaf <GhostBlackboard>(RunToCorpsePositionAndSearchForPortals) ) ), new Selector <GhostBlackboard> ( (b) => WowInterface.DungeonEngine.DeathEntrancePosition != default, new Leaf <GhostBlackboard>(RunToDungeonEntry), new Leaf <GhostBlackboard>(RunToCorpsePositionAndSearchForPortals) ) ); BehaviorTree = new ( new Selector <GhostBlackboard> ( (b) => WowInterface.ObjectManager.MapId.IsBattlegroundMap(), new Leaf <GhostBlackboard>((b) => { WowInterface.MovementEngine.StopMovement(); return(BehaviorTreeStatus.Ongoing); }), new Selector <GhostBlackboard> ( (b) => StateMachine.LastDiedMap.IsDungeonMap(), DungeonSelector, new Leaf <GhostBlackboard>(RunToCorpseAndRetrieveIt) ) ), Blackboard, TimeSpan.FromSeconds(1) ); }
public DruidFeralCat(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(markOfTheWildSpell, () => TryCastSpell(markOfTheWildSpell, WowInterface.PlayerGuid, true, 0, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(catFormSpell, () => TryCastSpell(catFormSpell, 0, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(savageRoarSpell, () => TryCastSpellRogue(savageRoarSpell, WowInterface.TargetGuid, true, true, 1))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(ripSpell, () => WowInterface.Player.ComboPoints == 5 && TryCastSpellRogue(ripSpell, WowInterface.TargetGuid, true, true, 5))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(rakeSpell, () => TryCastSpell(rakeSpell, WowInterface.TargetGuid, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(mangleCatSpell, () => TryCastSpell(mangleCatSpell, WowInterface.TargetGuid, true))); InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpell(faerieFireSpell, x.Guid, true) }, }; GroupAuraManager.SpellsToKeepActiveOnParty.Add((markOfTheWildSpell, (spellName, guid) => TryCastSpell(spellName, guid, true))); }
public DruidBalance(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { MyAuraManager.Jobs.Add(new KeepActiveAuraJob(moonkinFormSpell, () => TryCastSpell(moonkinFormSpell, 0, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(thornsSpell, () => TryCastSpell(thornsSpell, 0, true))); MyAuraManager.Jobs.Add(new KeepActiveAuraJob(markOfTheWildSpell, () => TryCastSpell(markOfTheWildSpell, WowInterface.PlayerGuid, true, 0, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(moonfireSpell, () => LunarEclipse && TryCastSpell(moonfireSpell, WowInterface.TargetGuid, true))); TargetAuraManager.Jobs.Add(new KeepActiveAuraJob(insectSwarmSpell, () => SolarEclipse && TryCastSpell(insectSwarmSpell, WowInterface.TargetGuid, true))); InterruptManager.InterruptSpells = new() { { 0, (x) => TryCastSpell(faerieFireSpell, x.Guid, true) }, }; GroupAuraManager.SpellsToKeepActiveOnParty.Add((markOfTheWildSpell, (spellName, guid) => TryCastSpell(spellName, guid, true))); SolarEclipse = false; LunarEclipse = true; }
public Rogue(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { /* * MyAuraManager.BuffsToKeepActive = new Dictionary<string, CastFunction>() * { * { battleShoutSpell, () => TryCastSpell(battleShoutSpell, 0, true) } * }; * * TargetAuraManager.DebuffsToKeepActive = new Dictionary<string, CastFunction>() * { * { hamstringSpell, () => WowInterface.Target.Type == WowObjectType.Player && TryCastSpell(hamstringSpell, WowInterface.TargetGuid, true) }, * { rendSpell, () => WowInterface.Target.Type == WowObjectType.Player && WowInterface.Player.Rage > 75 && TryCastSpell(rendSpell, WowInterface.TargetGuid, true) } * }; * * TargetInterruptManager.InterruptSpells = new() * { * { 0, (x) => TryCastSpellWarrior(intimidatingShoutSpell, berserkerStanceSpell, x.Guid, true) }, * { 1, (x) => TryCastSpellWarrior(intimidatingShoutSpell, battleStanceSpell, x.Guid, true) } * }; * * HeroicStrikeEvent = new(TimeSpan.FromSeconds(2)); */ }
public StateIdle(AmeisenBotFsm stateMachine, AmeisenBotConfig config, WowInterface wowInterface) : base(stateMachine, config, wowInterface) { FirstStart = true; IdleActionManager = new IdleActionManager(config.IdleActionsMaxCooldown, config.IdleActionsMinCooldown, new List <IIdleAction>() { new AuctionHouseIdleAction(wowInterface), new CheckMailsIdleAction(wowInterface), new FishingIdleAction(wowInterface), new LookAroundIdleAction(wowInterface), new LookAtGroupIdleAction(wowInterface), new RandomEmoteIdleAction(wowInterface), new SitByCampfireIdleAction(wowInterface), new SitToChairIdleAction(wowInterface, stateMachine, Config.MinFollowDistance), }); BagSlotCheckEvent = new(TimeSpan.FromMilliseconds(5000)); EatCheckEvent = new(TimeSpan.FromMilliseconds(2000)); LootCheckEvent = new(TimeSpan.FromMilliseconds(2000)); RepairCheckEvent = new(TimeSpan.FromMilliseconds(5000)); QuestgiverCheckEvent = new(TimeSpan.FromMilliseconds(2000)); QuestgiverRightClickEvent = new(TimeSpan.FromMilliseconds(3000)); RefreshCharacterEvent = new(TimeSpan.FromMilliseconds(1000)); IdleActionEvent = new(TimeSpan.FromMilliseconds(1000)); }
public StateLoadingScreen(AmeisenBotFsm stateMachine, AmeisenBotConfig config, WowInterface wowInterface) : base(stateMachine, config, wowInterface) { }
public SitToChairIdleAction(WowInterface wowInterface, AmeisenBotFsm stateMachine, double maxDistance) { WowInterface = wowInterface; StateMachine = stateMachine; MaxDistance = maxDistance; }
public StateEating(AmeisenBotFsm stateMachine, AmeisenBotConfig config, WowInterface wowInterface) : base(stateMachine, config, wowInterface) { }
public TemplateCombatClass(WowInterface wowInterface, AmeisenBotFsm stateMachine) : base(wowInterface, stateMachine) { //this line cause a bug because it run out of index //WowInterface.EventHookManager.Subscribe("UI_ERROR_MESSAGE", (t, a) => OnUIErrorMessage(a[0])); }
public BasicState(AmeisenBotFsm stateMachine, AmeisenBotConfig config, WowInterface wowInterface) { StateMachine = stateMachine; Config = config; WowInterface = wowInterface; }
public StateLooting(AmeisenBotFsm stateMachine, AmeisenBotConfig config, WowInterface wowInterface) : base(stateMachine, config, wowInterface) { UnitLootQueue = new(); UnitsAlreadyLootedList = new(); LastOpenLootTry = new(TimeSpan.FromSeconds(1)); }