/// <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); }
/// <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; }
/// <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; }
/// <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; }
/// <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); }
/// <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; }
/// <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; }
/// <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."); } }
/// <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); }
/// <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; }
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); }
/// <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; }
/// <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) { }