Exemple #1
0
 /// <summary>
 /// Assigns spells from the Mage's spell inventory.
 /// </summary>
 /// <param name="self">The game client data for the Mage.</param>
 public MageCommands(MageClient self) : base(self)
 {
     Attacks = new MageAttackCommands(self);
     Debuffs = new MageDebuffCommands(self);
     Heal    = new PeasantHealCommands(self);
     Mana    = new MageManaCommands(self);
 }
Exemple #2
0
 /// <summary>
 /// Assigns Harden Armor, Sanctuary, and Valor spells from the Mage's spell inventory.
 /// </summary>
 /// <param name="self">The game client data for the Mage.</param>
 public CasterAsvCommands(MageClient self)
 {
     _self             = self;
     _hardenArmorSpell = self.Spells.KeySpells.HardenArmor;
     _sanctuarySpell   = self.Spells.KeySpells.Sanctuary;
     _valorSpell       = self.Spells.KeySpells.Valor;
 }
Exemple #3
0
        /// <summary>
        /// Assigns mana restoration spells from a Mage's spell inventory.
        /// </summary>
        /// <param name="self">The game client data for the Mage.</param>
        protected CasterManaCommands(MageClient self)
        {
            Self = self;

            InvokeSpell  = self.Spells.KeySpells.Invoke;
            InvokeStatus = self.Status.Invoke;
        }
Exemple #4
0
        /// <summary>
        /// Assigns attack spells from the Mage's spell inventory.
        /// </summary>
        /// <param name="self">The game client data for the Mage.</param>
        public MageAttackCommands(MageClient self) : base(self)
        {
            _self = self;

            _hellfireSpell  = self.Spells.KeySpells.Hellfire;
            _hellfireStatus = self.Status.Hellfire;
            _infernoSpell   = self.Spells.KeySpells.Inferno;
            _infernoStatus  = self.Status.Inferno;
        }
Exemple #5
0
        /// <summary>
        /// Assigns spells and items from the Mage's spell and item inventories.
        /// </summary>
        /// <param name="self">The game client data for the Mage.</param>
        protected PeasantCommands(MageClient self)
        {
            Self = self;

            _gatewaySpell = self.Spells.KeySpells.Gateway;

            Items    = new PeasantItemCommands(self);
            Movement = new PeasantMovementCommands(self);
        }
Exemple #6
0
        /// <summary>
        /// Assigns debuff and debuff cure spells from a Mage's spell inventory.
        /// </summary>
        /// <param name="self">The game client data for the Mage.</param>
        protected CasterDebuffCommands(MageClient self)
        {
            _self = self;

            _cureParalysisSpell = self.Spells.KeySpells.CureParalysis;
            CurseSpell          = self.Spells.KeySpells.Curse;
            _purgeSpell         = self.Spells.KeySpells.Purge;
            _removeCurseSpell   = self.Spells.KeySpells.RemoveCurse;
        }
Exemple #7
0
        /// <summary>
        /// Assigns debuff spells from the Mage's spell inventory.
        /// </summary>
        /// <param name="self">The game client data for the Mage.</param>
        public MageDebuffCommands(MageClient self) : base(self)
        {
            _self = self;

            _blindSpell    = self.Spells.KeySpells.Blind;
            _dozeSpell     = self.Spells.KeySpells.Doze;
            _paralyzeSpell = self.Spells.KeySpells.Paralyze;
            _sleepSpell    = self.Spells.KeySpells.Sleep;
            _venomSpell    = self.Spells.KeySpells.Venom;
        }
Exemple #8
0
        /// <summary>
        /// Assigns mana restoration spells from a Mage's spell inventory.
        /// </summary>
        /// <param name="self">The game client data for the Mage.</param>
        protected CasterManaCommands(MageClient self)
        {
            Self = self;

            InvokeSpell = self.Spells.KeySpells.Invoke;
            InvokeStatus = self.Status.Invoke;

            if (InvokeSpell == null)
            {
                Log.Warning($"{self.Self.Name} does not have an Invoke spell. Mana restoration item consumption will be very high.");
            }
        }
Exemple #9
0
        /// <summary>
        /// Assigns mana restoration spells from a Mage's spell inventory.
        /// </summary>
        /// <param name="self">The game client data for the Mage.</param>
        public MageManaCommands(MageClient self) : base(self)
        {
            if (Self.Inventory.KeyItems.InvokeOrb != null)
            {
                _mageInvokeOrb    = new KeySpell(Self.Inventory.KeyItems.InvokeOrb);
                _mageInvokeStatus = self.Status.MageInvoke;
            }

            if (InvokeSpell == null && _mageInvokeOrb == null)
            {
                Log.Warning($"{self.Self.Name} does not have an Invoke spell. Mana restoration item consumption will be very high.");
            }
        }
        /// <summary>
        /// Assigns debuff spells from the Mage's spell inventory.
        /// </summary>
        /// <param name="self">The game client data for the Mage.</param>
        public MageDebuffCommands(MageClient self) : base(self)
        {
            _self = self;

            _blindSpell    = self.Spells.KeySpells.Blind;
            _dozeSpell     = self.Spells.KeySpells.Doze;
            _paralyzeSpell = self.Spells.KeySpells.Paralyze;
            _sleepSpell    = self.Spells.KeySpells.Sleep;
            _venomSpell    = self.Spells.KeySpells.Venom;

            _scourgeOrb = self.Inventory.KeyItems.ScourgeOrb == null
                ? null
                : new KeySpell(self.Inventory.KeyItems.ScourgeOrb);
        }
Exemple #11
0
        /// <summary>
        /// Assigns attack spells from the Mage's spell inventory.
        /// </summary>
        /// <param name="self">The game client data for the Mage.</param>
        public MageAttackCommands(MageClient self) : base(self)
        {
            _self = self;

            _hellfireSpell  = self.Spells.KeySpells.Hellfire;
            _hellfireStatus = self.Status.Hellfire;
            _infernoSpell   = self.Spells.KeySpells.Inferno;
            _infernoStatus  = self.Status.Inferno;

            if (self.Inventory.KeyItems.SulSlashOrb == null)
            {
                return;
            }

            _sulSlashOrb    = new KeySpell(self.Inventory.KeyItems.SulSlashOrb);
            _sulSlashStatus = self.Status.SulSlash;
        }
Exemple #12
0
        public MageTrainer(MageConfiguration config)
        {
            TkTrainerFactory.Initialize(TkClient.BasePath.Mage.ToString());

            _clients = new ActiveClients(config.Process);

            _mage = string.IsNullOrWhiteSpace(config.Name)
                ? _clients.GetMage()
                : _clients.GetMage(config.Name);

            _mage.Activity.DefaultCommandCooldown = config.CommandDelay;

            Log.Debug($"Key item assignments:\n{_mage.Inventory.KeyItems}\n");
            Log.Debug($"Key spell assignments:\n{_mage.Spells.KeySpells}\n");

            _isRunning = new AutoHotkeyToggle("^F1", "isRunning", true);
            _isPaused  = new AutoHotkeySuspendToggle("F1", "isPaused", false);
            _shouldEsunaExternalGroupMembers = new AutoHotkeyToggle("F11", "shouldEsunaExternalGroupMembers", false);
            _shouldHeal       = new AutoHotkeyToggle("`", "shouldHeal", config.Heal.Value);
            _shouldBlind      = new AutoHotkeyToggle("1", "shouldBlind", config.Blind.Value);
            _shouldParalyze   = new AutoHotkeyToggle("2", "shouldParalyze", config.Paralyze.Value);
            _shouldVenom      = new AutoHotkeyToggle("3", "shouldVenom", config.Venom.Value);
            _shouldVex        = new AutoHotkeyToggle("4", "shouldVex", config.Vex.Value);
            _shouldZap        = new AutoHotkeyToggle("5", "shouldZap", config.Zap.Value);
            _shouldUpdateNpcs = new AutoHotkeyToggle("6", "shouldUpdateNpcs", false);

            var toggles = new[]
            {
                _isRunning,
                _isPaused,
                _shouldEsunaExternalGroupMembers,
                _shouldHeal,
                _shouldBlind,
                _shouldParalyze,
                _shouldVenom,
                _shouldVex,
                _shouldZap,
                _shouldUpdateNpcs
            };

            _ahk = AutoHotkeyEngine.Instance;
            _ahk.LoadToggles(toggles);
        }
 /// <summary>
 /// Assigns heal spells from the Mage's spell inventory.
 /// </summary>
 /// <param name="self">The game client data for the Mage.</param>
 public PeasantHealCommands(MageClient self)
 {
     _self          = self;
     _healSpell     = self.Spells.KeySpells.Heal;
     _healSelfSpell = self.Spells.KeySpells.HealSelf;
 }
 /// <summary>
 /// Assigns spells from the Mage's spell inventory.
 /// </summary>
 /// <param name="self">The game client data for the Mage.</param>
 public CasterCommands(MageClient self) : base(self)
 {
     Asv = new CasterAsvCommands(self);
 }
Exemple #15
0
 /// <summary>
 /// Assigns attack spells from the Mage's spell inventory.
 /// </summary>
 /// <param name="self">The game client data for the Mage.</param>
 protected PeasantAttackCommands(MageClient self)
 {
     Self     = self;
     ZapSpell = self.Spells.KeySpells.Zap;
 }
Exemple #16
0
 /// <summary>
 /// Assigns mana restoration spells from a Mage's spell inventory.
 /// </summary>
 /// <param name="self">The game client data for the Mage.</param>
 public MageManaCommands(MageClient self) : base(self)
 {
 }