Esempio n. 1
0
        protected WowBasicItem(IWowInventoryItem item)
        {
            if (item == null)
            {
                return;
            }

            BagId         = item.BagId;
            BagSlot       = item.BagSlot;
            Count         = item.Count;
            Durability    = item.Durability;
            EquipLocation = item.EquipLocation;
            EquipSlot     = item.EquipSlot;
            Id            = item.Id;
            ItemLevel     = item.ItemLevel;
            ItemLink      = item.ItemLink;
            ItemQuality   = item.ItemQuality;
            MaxDurability = item.MaxDurability;
            MaxStack      = item.MaxStack;
            Name          = item.Name;
            Price         = item.Price;
            RequiredLevel = item.RequiredLevel;
            Stats         = item.Stats;
            Subtype       = item.Subtype;
            Type          = item.Type;
        }
Esempio n. 2
0
        public WowArmor(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
        {
            Id            = wowBasicItem.Id;
            BagId         = wowBasicItem.BagId;
            BagSlot       = wowBasicItem.BagSlot;
            Type          = wowBasicItem.Type;
            Subtype       = wowBasicItem.Subtype;
            Name          = wowBasicItem.Name;
            ItemLink      = wowBasicItem.ItemLink;
            EquipSlot     = wowBasicItem.EquipSlot;
            ItemQuality   = wowBasicItem.ItemQuality;
            ItemLevel     = wowBasicItem.ItemLevel;
            RequiredLevel = wowBasicItem.RequiredLevel;
            Price         = wowBasicItem.Price;
            Count         = wowBasicItem.Count;
            MaxStack      = wowBasicItem.MaxStack;
            Durability    = wowBasicItem.Durability;
            MaxDurability = wowBasicItem.MaxDurability;
            EquipLocation = wowBasicItem.EquipLocation;

            if (Subtype.EndsWith("s"))
            {
                Subtype = Subtype.Remove(Subtype.Length - 1);
            }

            ArmorType = Enum.TryParse(Subtype, out WowArmorType armorType)
                ? armorType : WowArmorType.Misc;
        }
Esempio n. 3
0
        public WowArmor(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
        {
            if (Subtype.ToLowerInvariant().EndsWith("s"))
            {
                Subtype = Subtype.Remove(Subtype.Length - 1);
            }

            ArmorType = Enum.TryParse(Subtype, true, out WowArmorType armorType)
                ? armorType : WowArmorType.Misc;
        }
Esempio n. 4
0
        public bool IsBetter(IWowInventoryItem current, IWowInventoryItem item)
        {
            if (!CharacterManager.IsAbleToUseItem(item))
            {
                return(false);
            }

            double scoreCurrent = GearscoreFactory.Calculate(current);
            double scoreNew     = GearscoreFactory.Calculate(item);

            return(scoreCurrent < scoreNew);
        }
Esempio n. 5
0
        public bool IsBetter(IWowInventoryItem current, IWowInventoryItem item)
        {
            if ((ArmorTypeBlacklist != null && item.GetType() == typeof(WowArmor) && ArmorTypeBlacklist.Contains(((WowArmor)item).ArmorType)) ||
                (WeaponTypeBlacklist != null && item.GetType() == typeof(WowWeapon) && WeaponTypeBlacklist.Contains(((WowWeapon)item).WeaponType)))
            {
                return(false);
            }

            double scoreCurrent = GearscoreFactory.Calculate(current);
            double scoreNew     = GearscoreFactory.Calculate(item);

            return(scoreCurrent < scoreNew);
        }
Esempio n. 6
0
        public bool IsBlacklistedItem(IWowInventoryItem item)
        {
            if (ArmorTypeBlacklist != null && string.Equals(item.Type, "Armor", StringComparison.OrdinalIgnoreCase) && ArmorTypeBlacklist.Contains(((WowArmor)item).ArmorType))
            {
                return(true);
            }
            else if (WeaponTypeBlacklist != null && string.Equals(item.Type, "Weapon", StringComparison.OrdinalIgnoreCase) && WeaponTypeBlacklist.Contains(((WowWeapon)item).WeaponType))
            {
                return(true);
            }

            return(false);
        }
        public void Execute()
        {
            if (Finished || Bot.Player.IsCasting)
            {
                return;
            }

            IWowInventoryItem item = Bot.Character.Inventory.Items.FirstOrDefault(e => e.Id == ItemId);

            if (item != null)
            {
                Bot.Movement.Reset();
                Bot.Wow.StopClickToMove();
                Bot.Wow.UseContainerItem(item.BagId, item.BagSlot);
            }
        }
Esempio n. 8
0
 public WowQuiver(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
     Id            = wowBasicItem.Id;
     BagId         = wowBasicItem.BagId;
     BagSlot       = wowBasicItem.BagSlot;
     Type          = wowBasicItem.Type;
     Subtype       = wowBasicItem.Subtype;
     Name          = wowBasicItem.Name;
     ItemLink      = wowBasicItem.ItemLink;
     EquipSlot     = wowBasicItem.EquipSlot;
     ItemQuality   = wowBasicItem.ItemQuality;
     ItemLevel     = wowBasicItem.ItemLevel;
     RequiredLevel = wowBasicItem.RequiredLevel;
     Price         = wowBasicItem.Price;
     Count         = wowBasicItem.Count;
     MaxStack      = wowBasicItem.MaxStack;
     Durability    = wowBasicItem.Durability;
     MaxDurability = wowBasicItem.MaxDurability;
     EquipLocation = wowBasicItem.EquipLocation;
 }
Esempio n. 9
0
 public WowWeapon(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
     Id            = wowBasicItem.Id;
     BagId         = wowBasicItem.BagId;
     BagSlot       = wowBasicItem.BagSlot;
     Type          = wowBasicItem.Type;
     Subtype       = wowBasicItem.Subtype;
     Name          = wowBasicItem.Name;
     ItemLink      = wowBasicItem.ItemLink;
     EquipSlot     = wowBasicItem.EquipSlot;
     ItemQuality   = wowBasicItem.ItemQuality;
     ItemLevel     = wowBasicItem.ItemLevel;
     RequiredLevel = wowBasicItem.RequiredLevel;
     Price         = wowBasicItem.Price;
     Count         = wowBasicItem.Count;
     MaxStack      = wowBasicItem.MaxStack;
     Durability    = wowBasicItem.Durability;
     MaxDurability = wowBasicItem.MaxDurability;
     EquipLocation = wowBasicItem.EquipLocation;
     WeaponType    = Enum.TryParse(GetWeaponTypeName(Subtype), out WowWeaponType weaponType)
         ? weaponType : WowWeaponType.Misc;
 }
Esempio n. 10
0
        public double Calculate(IWowInventoryItem item)
        {
            double score = 0;

            for (int i = 0; i < StatMultiplicators.Count; ++i)
            {
                KeyValuePair <string, double> keyValuePair = StatMultiplicators.ElementAt(i);

                if (item.Stats.TryGetValue(keyValuePair.Key, out string stat))
                {
                    if ((stat.Contains('.') || stat.Contains(',')) && double.TryParse(stat, NumberStyles.Any, CultureInfo.InvariantCulture, out double statDoubleValue))
                    {
                        score += statDoubleValue * keyValuePair.Value;
                    }
                    else if (int.TryParse(stat, out int statIntValue))
                    {
                        score += statIntValue * keyValuePair.Value;
                    }
                }
            }

            return(score);
        }
Esempio n. 11
0
        public bool IsBetter(IWowInventoryItem current, IWowInventoryItem item)
        {
            if (item == null)
            {
                return(false);
            }
            else if (current == null)
            {
                return(true);
            }
            else if (item.Stats == null)
            {
                return(false);
            }
            else if (current.Stats == null)
            {
                return(true);
            }

            double currentRating = GetRating(current, (WowEquipmentSlot)current.EquipSlot);
            double newItemRating = GetRating(item, (WowEquipmentSlot)current.EquipSlot);

            return(currentRating < newItemRating);
        }
Esempio n. 12
0
 public WowTradeGoods(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
 }
Esempio n. 13
0
 public bool IsBlacklistedItem(IWowInventoryItem item)
 {
     return(!CharacterManager.IsAbleToUseItem(item));
 }
Esempio n. 14
0
 public WowProjectile(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
 }
Esempio n. 15
0
 public WowContainer(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
 }
Esempio n. 16
0
 public WowQuiver(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
 }
Esempio n. 17
0
 public WowKey(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
 }
Esempio n. 18
0
 public WowWeapon(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
     WeaponType = Enum.TryParse(GetWeaponTypeName(Subtype.ToLowerInvariant()), true, out WowWeaponType weaponType)
         ? weaponType : WowWeaponType.Misc;
 }
Esempio n. 19
0
 public WowConsumable(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
 }
Esempio n. 20
0
 public WowMoneyItem(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
 }
Esempio n. 21
0
        private double GetRating(IWowInventoryItem item, WowEquipmentSlot slot)
        {
            double rating = 0;

            if (item.Stats.TryGetValue("ITEM_MOD_CRIT_MELEE_RATING_SHORT", out string meleeCritString) &&
                double.TryParse(meleeCritString, NumberStyles.Any, CultureInfo.InvariantCulture, out double meleeCrit))
            {
                rating += 0.5f * meleeCrit;
            }

            if (item.Stats.TryGetValue("ITEM_MOD_CRIT_RATING_SHORT", out string critString) &&
                double.TryParse(critString, NumberStyles.Any, CultureInfo.InvariantCulture, out double crit))
            {
                rating += 0.5f * crit;
            }

            if (item.Stats.TryGetValue("ITEM_MOD_AGILITY_SHORT", out string agilityString) &&
                double.TryParse(agilityString, NumberStyles.Any, CultureInfo.InvariantCulture, out double agility))
            {
                rating += 0.5f * agility;
            }

            if (item.Stats.TryGetValue("ITEM_MOD_ATTACK_POWER_SHORT", out string attackString) &&
                double.TryParse(attackString, NumberStyles.Any, CultureInfo.InvariantCulture, out double attack))
            {
                rating += 0.5f * attack;
            }

            if (item.Stats.TryGetValue("ITEM_MOD_STRENGTH_SHORT", out string strengthString) &&
                double.TryParse(strengthString, NumberStyles.Any, CultureInfo.InvariantCulture, out double strength))
            {
                rating += 1f * strength;
            }

            if (slot.Equals(WowEquipmentSlot.INVSLOT_OFFHAND) || slot.Equals(WowEquipmentSlot.INVSLOT_MAINHAND))
            {
                // also 2nd weapons
                if (item.GetType() == typeof(WowWeapon) &&
                    (Bot.Player.IsAlliance() ? ((WowWeapon)item).WeaponType.Equals(WowWeaponType.Sword) : ((WowWeapon)item).WeaponType.Equals(WowWeaponType.Axe) ||
                     (Bot.Character.SpellBook.IsSpellKnown("Titan's Grip") &&
                      Bot.Player.IsAlliance() ? ((WowWeapon)item).WeaponType.Equals(WowWeaponType.SwordTwoHand) : ((WowWeapon)item).WeaponType.Equals(WowWeaponType.AxeTwoHand))))
                {
                    if (item.Stats.TryGetValue("ITEM_MOD_DAMAGE_PER_SECOND_SHORT", out string dpsString) &&
                        double.TryParse(dpsString, NumberStyles.Any, CultureInfo.InvariantCulture, out double dps))
                    {
                        rating += 2f * dps;
                    }
                }
            }
            else if (!(slot.Equals(WowEquipmentSlot.INVSLOT_NECK) || slot.Equals(WowEquipmentSlot.INVSLOT_RING1) ||
                       slot.Equals(WowEquipmentSlot.INVSLOT_RING2) || slot.Equals(WowEquipmentSlot.INVSLOT_TRINKET1) ||
                       slot.Equals(WowEquipmentSlot.INVSLOT_TRINKET2)))
            {
                // armor stats
                if (item.Stats.TryGetValue("RESISTANCE0_NAME", out string armorString) &&
                    double.TryParse(armorString, NumberStyles.Any, CultureInfo.InvariantCulture, out double armor))
                {
                    rating += 0.1f * armor;
                }
            }

            return(rating);
        }
        private static double GetRating(IWowInventoryItem item, WowEquipmentSlot slot)
        {
            double rating = 0;

            if (item.Stats.TryGetValue("ITEM_MOD_CRIT_MELEE_RATING_SHORT", out string meleeCritString) && double.TryParse(meleeCritString, NumberStyles.Any, CultureInfo.InvariantCulture, out double meleeCrit))
            {
                rating += 2f * meleeCrit;
            }

            if (item.Stats.TryGetValue("ITEM_MOD_CRIT_RATING_SHORT", out string critString) && double.TryParse(critString, NumberStyles.Any, CultureInfo.InvariantCulture, out double crit))
            {
                rating += 2f * crit;
            }

            if (item.Stats.TryGetValue("ITEM_MOD_AGILITY_SHORT", out string agilityString) && double.TryParse(agilityString, NumberStyles.Any, CultureInfo.InvariantCulture, out double agility))
            {
                rating += 1f * agility;
            }

            if (item.Stats.TryGetValue("ITEM_MOD_ATTACK_POWER_SHORT", out string attackString) && double.TryParse(attackString, NumberStyles.Any, CultureInfo.InvariantCulture, out double attack))
            {
                rating += 0.25f * attack;
            }

            if (item.Stats.TryGetValue("ITEM_MOD_STRENGTH_SHORT", out string strengthString) && double.TryParse(strengthString, NumberStyles.Any, CultureInfo.InvariantCulture, out double strength))
            {
                rating += 0.5f * strength;
            }

            if (slot.Equals(WowEquipmentSlot.INVSLOT_OFFHAND) || slot.Equals(WowEquipmentSlot.INVSLOT_MAINHAND))
            {
                // also 2nd weapons
                if (item.GetType() == typeof(WowWeapon) && ((WowWeapon)item).WeaponType.Equals(WowWeaponType.Dagger))
                {
                    if (item.Stats.TryGetValue("ITEM_MOD_DAMAGE_PER_SECOND_SHORT", out string dpsString) && double.TryParse(dpsString, NumberStyles.Any, CultureInfo.InvariantCulture, out double dps))
                    {
                        rating += 2f * dps;
                    }
                }
                else
                {
                    rating = 0;
                }
            }
            else if (!(slot.Equals(WowEquipmentSlot.INVSLOT_NECK) || slot.Equals(WowEquipmentSlot.INVSLOT_RING1) ||
                       slot.Equals(WowEquipmentSlot.INVSLOT_RING2) || slot.Equals(WowEquipmentSlot.INVSLOT_TRINKET1) ||
                       slot.Equals(WowEquipmentSlot.INVSLOT_TRINKET2)))
            {
                // armor stats
                if (item.Stats.TryGetValue("RESISTANCE0_NAME", out string armorString) && double.TryParse(armorString, NumberStyles.Any, CultureInfo.InvariantCulture, out double armor))
                {
                    rating += 0.05f * armor;
                }

                if (item.Stats.TryGetValue("ITEM_MOD_DODGE_RATING_SHORT", out string dodgeString) && double.TryParse(dodgeString, NumberStyles.Any, CultureInfo.InvariantCulture, out double dodge))
                {
                    rating += 0.5f * dodge;
                }
            }

            return(rating);
        }
 public WowMiscellaneousItem(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
 }
Esempio n. 24
0
 public WowReagent(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
 }
Esempio n. 25
0
 public bool IsBlacklistedItem(IWowInventoryItem item)
 {
     return(false);
 }
Esempio n. 26
0
        private double GetRating(IWowInventoryItem item, WowEquipmentSlot slot)
        {
            double rating = 0;

            if (slot.Equals(WowEquipmentSlot.INVSLOT_OFFHAND))
            {
                // don't use shields or 2nd weapons
                return(0);
            }
            else if (slot.Equals(WowEquipmentSlot.INVSLOT_MAINHAND))
            {
                // axes
                if (item.GetType() == typeof(WowWeapon) && Bot.Player.IsAlliance() ? (((WowWeapon)item).WeaponType.Equals(WowWeaponType.AxeTwoHand) || ((WowWeapon)item).WeaponType.Equals(WowWeaponType.Axe)) : (((WowWeapon)item).WeaponType.Equals(WowWeaponType.MaceTwoHand) || ((WowWeapon)item).WeaponType.Equals(WowWeaponType.Mace)))
                {
                    if (item.Stats.TryGetValue("ITEM_MOD_ATTACK_POWER_SHORT", out string attackString) && double.TryParse(attackString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double attack))
                    {
                        rating += 0.5f * attack;
                    }

                    if (item.Stats.TryGetValue("ITEM_MOD_DAMAGE_PER_SECOND_SHORT", out string dpsString) && double.TryParse(dpsString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double dps))
                    {
                        rating += 2f * dps;
                    }

                    if (item.Stats.TryGetValue("ITEM_MOD_STRENGTH_SHORT", out string strengthString) && double.TryParse(strengthString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double strength))
                    {
                        rating += 1f * strength;
                    }
                }
            }
            else if (slot.Equals(WowEquipmentSlot.INVSLOT_NECK) || slot.Equals(WowEquipmentSlot.INVSLOT_RING1) ||
                     slot.Equals(WowEquipmentSlot.INVSLOT_RING2) || slot.Equals(WowEquipmentSlot.INVSLOT_TRINKET1) ||
                     slot.Equals(WowEquipmentSlot.INVSLOT_TRINKET2))
            {
                // jewelry stats
                if (item.Stats.TryGetValue("ITEM_MOD_ATTACK_POWER_SHORT", out string attackString) && double.TryParse(attackString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double attack))
                {
                    rating += 0.5f * attack;
                }

                if (item.Stats.TryGetValue("ITEM_MOD_STRENGTH_SHORT", out string strengthString) && double.TryParse(strengthString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double strength))
                {
                    rating += 1f * strength;
                }
            }
            else
            {
                // armor stats
                if (item.Stats.TryGetValue("RESISTANCE0_NAME", out string armorString) && double.TryParse(armorString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double armor))
                {
                    rating += 0.5f * armor;
                }

                if (item.Stats.TryGetValue("ITEM_MOD_ATTACK_POWER_SHORT", out string attackString) && double.TryParse(attackString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double attack))
                {
                    rating += 0.5f * attack;
                }

                if (item.Stats.TryGetValue("ITEM_MOD_STRENGTH_SHORT", out string strengthString) && double.TryParse(strengthString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double strength))
                {
                    rating += 1f * strength;
                }
            }

            return(rating);
        }
Esempio n. 27
0
 public ItemDisplay(IWowInventoryItem wowItem)
 {
     WowItem = wowItem;
     InitializeComponent();
 }
Esempio n. 28
0
        private static double GetRating(IWowInventoryItem item, WowEquipmentSlot slot)
        {
            double rating = 0;

            if (slot.Equals(WowEquipmentSlot.INVSLOT_OFFHAND))
            {
                // shields
                if (item.GetType() == typeof(WowArmor) && ((WowArmor)item).ArmorType.Equals(WowArmorType.Shield))
                {
                    if (item.Stats.TryGetValue("RESISTANCE0_NAME", out string armorString) && double.TryParse(armorString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double armor))
                    {
                        rating += 0.5 * armor;
                    }

                    if (item.Stats.TryGetValue("ITEM_MOD_STAMINA_SHORT", out string staminaString) && double.TryParse(staminaString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double stamina))
                    {
                        rating += 1f * stamina;
                    }

                    if (item.Stats.TryGetValue("ITEM_MOD_DEFENSE_SKILL_RATING_SHORT", out string defenseString) && double.TryParse(defenseString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double defense))
                    {
                        rating += 1f * defense;
                    }

                    if (item.Stats.TryGetValue("ITEM_MOD_BLOCK_VALUE_SHORT", out string blockString) && double.TryParse(blockString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double blockValue))
                    {
                        rating += 5f * blockValue;
                    }

                    if (item.Stats.TryGetValue("ITEM_MOD_BLOCK_RATING_SHORT", out string blockChanceString) && double.TryParse(blockChanceString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double blockChance))
                    {
                        rating += 10f * blockChance;
                    }
                }
            }
            else if (slot.Equals(WowEquipmentSlot.INVSLOT_MAINHAND))
            {
                // swords
                if (item.GetType() == typeof(WowWeapon) && ((WowWeapon)item).WeaponType.Equals(WowWeaponType.Sword))
                {
                    if (item.Stats.TryGetValue("ITEM_MOD_STRENGTH_SHORT", out string strengthString) && double.TryParse(strengthString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double strength))
                    {
                        rating += 0.5f * strength;
                    }

                    if (item.Stats.TryGetValue("ITEM_MOD_DAMAGE_PER_SECOND_SHORT", out string dpsString) && double.TryParse(dpsString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double dps))
                    {
                        rating += 1f * dps;
                    }

                    if (item.Stats.TryGetValue("ITEM_MOD_DEFENSE_SKILL_RATING_SHORT", out string defenseString) && double.TryParse(defenseString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double defense))
                    {
                        rating += 5f * defense;
                    }

                    if (item.Stats.TryGetValue("ITEM_MOD_PARRY_RATING_SHORT", out string parryString) && double.TryParse(parryString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double parry))
                    {
                        rating += 10f * parry;
                    }
                }
            }
            else if (slot.Equals(WowEquipmentSlot.INVSLOT_NECK) || slot.Equals(WowEquipmentSlot.INVSLOT_RING1) ||
                     slot.Equals(WowEquipmentSlot.INVSLOT_RING2) || slot.Equals(WowEquipmentSlot.INVSLOT_TRINKET1) ||
                     slot.Equals(WowEquipmentSlot.INVSLOT_TRINKET2))
            {
                // jewelry stats
                if (item.Stats.TryGetValue("ITEM_MOD_STRENGTH_SHORT", out string strengthString) && double.TryParse(strengthString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double strength))
                {
                    rating += 0.5f * strength;
                }

                if (item.Stats.TryGetValue("ITEM_MOD_STAMINA_SHORT", out string staminaString) && double.TryParse(staminaString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double stamina))
                {
                    rating += 1f * stamina;
                }
            }
            else
            {
                // armor stats
                if (item.Stats.TryGetValue("RESISTANCE0_NAME", out string armorString) && double.TryParse(armorString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double armor))
                {
                    rating += 0.5f * armor;
                }

                if (item.Stats.TryGetValue("ITEM_MOD_STRENGTH_SHORT", out string strengthString) && double.TryParse(strengthString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double strength))
                {
                    rating += 0.5f * strength;
                }

                if (item.Stats.TryGetValue("ITEM_MOD_PARRY_RATING_SHORT", out string parryString) && double.TryParse(parryString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double parry))
                {
                    rating += 0.5f * parry;
                }

                if (item.Stats.TryGetValue("ITEM_MOD_BLOCK_RATING_SHORT", out string blockChanceString) && double.TryParse(blockChanceString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double blockChance))
                {
                    rating += 0.5f * blockChance;
                }

                if (item.Stats.TryGetValue("ITEM_MOD_BLOCK_VALUE_SHORT", out string blockString) && double.TryParse(blockString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double blockValue))
                {
                    rating += 0.5f * blockValue;
                }

                if (item.Stats.TryGetValue("ITEM_MOD_STAMINA_SHORT", out string staminaString) && double.TryParse(staminaString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double stamina))
                {
                    rating += 1f * stamina;
                }

                if (item.Stats.TryGetValue("ITEM_MOD_DEFENSE_SKILL_RATING_SHORT", out string defenseString) && double.TryParse(defenseString, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out double defense))
                {
                    rating += 1f * defense;
                }
            }

            return(rating);
        }
Esempio n. 29
0
 public bool IsBetter(IWowInventoryItem current, IWowInventoryItem item)
 {
     return(current == null || current.ItemLevel < item.ItemLevel);
 }
Esempio n. 30
0
 public WowRecipe(IWowInventoryItem wowBasicItem) : base(wowBasicItem)
 {
 }