public static async Task <bool> UseItem(PawsItem item) { if (item == null || Me.HasAura(SpellBook.Prowl) || Me.Mounted || Me.IsInTravelForm() || Me.IsDead) { return(false); } if (item.Conditions.Any(condition => !condition.Instance.Satisfied())) { return(false); } var theItem = Me.BagItems .SingleOrDefault(o => o.Entry == item.Entry); if (theItem == null || theItem.CooldownTimeLeft.TotalMilliseconds != 0) { return(false); } theItem.Use(); Log.Equipment(string.Format("Item [{0}] used.", theItem.Name)); await CommonCoroutines.SleepForLagDuration(); return(true); }
/// <summary> /// Adds a list view item to the items list view. /// </summary> private void AddItemToItemList(PawsItem item) { var lvItem = new ListViewItem(item.Name); lvItem.UseItemStyleForSubItems = false; lvItem.SubItems.Add(item.Enabled ? Properties.Resources.SettingsForm_itemsEnableCheckedItemsButton_Click_Enabled : Properties.Resources.SettingsForm_itemsDisableCheckedItemsButton_Click_Disabled, Color.White, item.Enabled ? Color.DarkGreen : Color.DarkRed, new Font("Arial", 9.0f, FontStyle.Bold)); lvItem.SubItems.Add(item.MyState.ToString()); lvItem.SubItems.Add(item.GetConditionsDescription()); lvItem.Tag = item; itemsListView.Items.Add(lvItem); }
public static List <PawsItem> CreateItemsSampleList() { // Create a default items list... var sampleItems = new List <PawsItem>(); // Item sample 1: Oralius' Whispering Crystal var oraliusWhisperingCrystal = new PawsItem { Name = "Oralius' Whispering Crystal", Entry = 118922, MyState = MyState.NotInCombat, Enabled = false }; oraliusWhisperingCrystal.Conditions.Add(new ItemCondition { Instance = new TargetDoesNotHaveNamedAuraCondition(TargetType.Me, "Whispers of Insanity") }); // Item sample 2: Draenic Agility Potion var draenicAgilityPotion = new PawsItem { Name = "Draenic Agility Potion", Entry = 109217, MyState = MyState.InCombat, Enabled = false }; draenicAgilityPotion.Conditions.Add(new ItemCondition { Instance = new MeIsInCatFormCondition() }); draenicAgilityPotion.Conditions.Add(new ItemCondition { Instance = new TargetHasNamedAuraCondition(TargetType.Me, "Berserk") }); draenicAgilityPotion.Conditions.Add(new ItemCondition { Instance = new MyTargetIsWithinMeleeRangeCondition() }); sampleItems.Add(oraliusWhisperingCrystal); sampleItems.Add(draenicAgilityPotion); return(sampleItems); }
public AddNewItemForm(PawsItem item) { InitializeComponent(); PawsItem = item; itemEntryTextBox.Text = PawsItem.Entry.ToString(); itemNameTextBox.Text = PawsItem.Name; myStateComboBox.SelectedIndex = (int)PawsItem.MyState; foreach ( var conditionItem in PawsItem.Conditions.Select(condition => new ListViewItem(condition.ToString()) { Tag = condition })) { conditionsListView.Items.Add(conditionItem); } }
public static async Task<bool> UseItem(PawsItem item) { if (item == null || Me.HasAura(SpellBook.Prowl) || Me.Mounted || Me.IsInTravelForm() || Me.IsDead) return false; if (item.Conditions.Any(condition => !condition.Instance.Satisfied())) { return false; } var theItem = Me.BagItems .SingleOrDefault(o => o.Entry == item.Entry); if (theItem == null || theItem.CooldownTimeLeft.TotalMilliseconds != 0) return false; theItem.Use(); Log.Equipment(string.Format("Item [{0}] used.", theItem.Name)); await CommonCoroutines.SleepForLagDuration(); return true; }
public static List<PawsItem> CreateItemsSampleList() { // Create a default items list... var sampleItems = new List<PawsItem>(); // Item sample 1: Oralius' Whispering Crystal var oraliusWhisperingCrystal = new PawsItem { Name = "Oralius' Whispering Crystal", Entry = 118922, MyState = MyState.NotInCombat, Enabled = false }; oraliusWhisperingCrystal.Conditions.Add(new ItemCondition { Instance = new TargetDoesNotHaveNamedAuraCondition(TargetType.Me, "Whispers of Insanity") }); // Item sample 2: Draenic Agility Potion var draenicAgilityPotion = new PawsItem { Name = "Draenic Agility Potion", Entry = 109217, MyState = MyState.InCombat, Enabled = false }; draenicAgilityPotion.Conditions.Add(new ItemCondition {Instance = new MeIsInCatFormCondition()}); draenicAgilityPotion.Conditions.Add(new ItemCondition { Instance = new TargetHasNamedAuraCondition(TargetType.Me, "Berserk") }); draenicAgilityPotion.Conditions.Add(new ItemCondition {Instance = new MyTargetIsWithinMeleeRangeCondition()}); sampleItems.Add(oraliusWhisperingCrystal); sampleItems.Add(draenicAgilityPotion); return sampleItems; }
private void saveButton_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(itemEntryTextBox.Text)) { MessageBox.Show( Properties.Resources.AddNewItemForm_saveButton_Click_You_must_enter_an_item_id_to_continue_, Properties.Resources.AddNewItemForm_saveButton_Click_Notice, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (string.IsNullOrEmpty(itemNameTextBox.Text)) { MessageBox.Show( Properties.Resources.AddNewItemForm_saveButton_Click_You_must_enter_an_item_name_to_continue_, Properties.Resources.AddNewItemForm_saveButton_Click_Notice, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } PawsItem = new PawsItem { Name = itemNameTextBox.Text, Entry = Convert.ToInt32(itemEntryTextBox.Text), Enabled = true, MyState = (MyState)myStateComboBox.SelectedIndex, Conditions = new List <ItemCondition>() }; foreach (ListViewItem conditionListItem in conditionsListView.Items) { var theCondition = conditionListItem.Tag as ItemCondition; PawsItem.Conditions.Add(theCondition); } DialogResult = DialogResult.OK; }