public BasicArmorComparator(List <ArmorType> armorTypeBlacklist = null, List <WeaponType> weaponTypeBlacklist = null) : base(armorTypeBlacklist, weaponTypeBlacklist) { GearscoreFactory = new GearscoreFactory(new Dictionary <string, double>() { { "ITEM_MOD_STAMINA_SHORT", 2.0 }, { "RESISTANCE0_NAME", 2.5 }, }); }
public BasicAgilityComparator(List <ArmorType> armorTypeBlacklist = null, List <WeaponType> weaponTypeBlacklist = null) : base(armorTypeBlacklist, weaponTypeBlacklist) { GearscoreFactory = new GearscoreFactory(new Dictionary <string, double>() { { "ITEM_MOD_AGILITY_SHORT", 3.0 }, { "ITEM_MOD_ATTACK_POWER_SHORT", 2.0 }, { "ITEM_MOD_CRIT_RATING_SHORT", 2.2 }, { "RESISTANCE0_NAME", 2.0 }, }); }
public BasicAgilityComparator() { GearscoreFactory = new GearscoreFactory(new Dictionary <string, double>() { { "ITEM_MOD_AGILITY_SHORT", 8 }, { "ITEM_MOD_ATTACK_POWER_SHORT", 5 }, { "ITEM_MOD_CRIT_RATING_SHORT", 3 }, { "RESISTANCE0_NAME", 2 }, { "ITEM_MOD_DAMAGE_PER_SECOND_SHORT", 1 }, }); }
public BasicStrengthComparator(List <ArmorType> armorTypeBlacklist = null, List <WeaponType> weaponTypeBlacklist = null) : base(armorTypeBlacklist, weaponTypeBlacklist) { GearscoreFactory = new GearscoreFactory(new Dictionary <string, double>() { { "ITEM_MOD_STRENGTH_SHORT", 3.0 }, { "ITEM_MOD_ATTACK_POWER_SHORT", 3.0 }, { "RESISTANCE0_NAME", 2.0 }, { "ITEM_MOD_CRIT_RATING_SHORT", 2.0 }, { "ITEM_MOD_DAMAGE_PER_SECOND_SHORT", 2.0 }, }); }
public BasicSpiritComparator() { GearscoreFactory = new GearscoreFactory(new Dictionary <string, double>() { { "ITEM_MOD_INTELLECT_SHORT", 8 }, { "ITEM_MOD_SPIRIT_SHORT ", 5 }, { "ITEM_MOD_SPELL_POWER_SHORT ", 3 }, { "ITEM_MOD_POWER_REGEN0_SHORT ", 2 }, { "RESISTANCE0_NAME", 1 }, }); }
public BasicSpiritComparator(List <ArmorType> armorTypeBlacklist = null, List <WeaponType> weaponTypeBlacklist = null) : base(armorTypeBlacklist, weaponTypeBlacklist) { GearscoreFactory = new GearscoreFactory(new Dictionary <string, double>() { { "ITEM_MOD_INTELLECT_SHORT", 8 }, { "ITEM_MOD_SPIRIT_SHORT ", 5 }, { "ITEM_MOD_SPELL_POWER_SHORT ", 3 }, { "ITEM_MOD_POWER_REGEN0_SHORT ", 2 }, { "RESISTANCE0_NAME", 1 }, }); }
public BasicIntellectComparator(List <ArmorType> armorTypeBlacklist = null, List <WeaponType> weaponTypeBlacklist = null) : base(armorTypeBlacklist, weaponTypeBlacklist) { GearscoreFactory = new GearscoreFactory(new Dictionary <string, double>() { { "ITEM_MOD_INTELLECT_SHORT", 2.5 }, { "ITEM_MOD_SPELL_POWER_SHORT", 2.5 }, { "RESISTANCE0_NAME", 2.0 }, { "ITEM_MOD_POWER_REGEN0_SHORT", 2.0 }, { "ITEM_MOD_HASTE_RATING_SHORT", 2.0 }, }); }
public bool IsBetter(IWowItem current, IWowItem item) { if (!CharacterManager.IsAbleToUseItem(item)) { return(false); } double scoreCurrent = GearscoreFactory.Calculate(current); double scoreNew = GearscoreFactory.Calculate(item); return(scoreCurrent < scoreNew); }
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); }
public ShamanElementalComparator(List <WowArmorType> armorTypeBlacklist = null, List <WowWeaponType> weaponTypeBlacklist = null) : base(armorTypeBlacklist, weaponTypeBlacklist) { GearscoreFactory = new GearscoreFactory(new Dictionary <string, double> { { WowStatType.HIT, 3.0 }, // Hard-cap 17% { WowStatType.HASTE, 3.0 }, // Soft-cap 1000 - 1200 { WowStatType.CRIT, 2.5 }, // Soft-cap 48.3% { WowStatType.SPELL_POWER, 2.5 }, // uncapped { WowStatType.INTELLECT, 2.0 }, // uncapped { WowStatType.MP5, 2.0 }, // uncapped { WowStatType.STAMINA, 1.5 }, // uncapped { WowStatType.SPIRIT, 1.5 } // uncapped }); }
public SimpleItemComparator(CharacterManager characterManager, Dictionary <string, double> statPriorities) { // This introduces a cyclic dependency. Are we fine with that? CharacterManager = characterManager; GearscoreFactory = new GearscoreFactory(statPriorities); }
public BasicComparator(List <ArmorType> armorTypeBlacklist, List <WeaponType> weaponTypeBlacklist, Dictionary <string, double> statPriorities) { ArmorTypeBlacklist = armorTypeBlacklist; WeaponTypeBlacklist = weaponTypeBlacklist; GearscoreFactory = new GearscoreFactory(statPriorities); }