public ItemFeatures(ItemFeatures itemFeatures) { this.GetFeatures = new bool[Enum.GetValues(typeof(ItemFeaturesType)).Length]; for (int i = 0; i < (Enum.GetValues(typeof(ItemFeaturesType))).Length; i++) { this.GetFeatures[i] = itemFeatures.GetFeatures[i]; } }
public Item GenerateJunk(ItemSubType itemSubType) { Item result = null; int goldValue; ItemIcon itemIcon = this.GenerateItemIcon(ItemClass.Normal, ItemType.Junk, EqType.None, itemSubType); itemIcon.Rarity = (int)ItemRarity.None; ItemFeatures itemFeatures = new ItemFeatures(); itemFeatures.EnableFeatures(ItemFeaturesType.IsDeleteAble, ItemFeaturesType.IsSellAble, ItemFeaturesType.IsInfoAble); switch (itemSubType) { case ItemSubType.Junk_BodyParts: { goldValue = CryptoRandom.Next(20, 50); result = new Item(ItemClass.Normal, ItemType.Junk, itemSubType, itemIcon, itemFeatures, "Body part", string.Empty, goldValue, 0.5, 0); break; } case ItemSubType.Junk_Gems: { goldValue = CryptoRandom.Next(100, 500); result = new Item(ItemClass.Normal, ItemType.Junk, itemSubType, itemIcon, itemFeatures, "Gem", string.Empty, goldValue, 0.5, 0); break; } case ItemSubType.Junk_Generic: { goldValue = CryptoRandom.Next(20, 60); result = new Item(ItemClass.Normal, ItemType.Junk, itemSubType, itemIcon, itemFeatures, "Strange thing", string.Empty, goldValue, 0.5, 0); break; } case ItemSubType.Junk_Gold: { goldValue = CryptoRandom.Next(100, 300); result = new Item(ItemClass.Normal, ItemType.Junk, itemSubType, itemIcon, itemFeatures, "Golden item", string.Empty, goldValue, 0.5, 0); break; } case ItemSubType.Junk_Minerals: { goldValue = CryptoRandom.Next(50, 200); result = new Item(ItemClass.Normal, ItemType.Junk, itemSubType, itemIcon, itemFeatures, "Mineral", string.Empty, goldValue, 0.5, 0); break; } } return(result); }
public Weapon GenerateWeapon(int itemLevel, ItemClass itemClass) { Weapon result = null; ItemIcon itemIcon = this.GenerateItemIcon(itemClass, ItemType.Weapon); string itemName = this.GenerateItemName(itemClass, EqType.Weapon); int goldValue = this.GenerateItemGoldValue(itemLevel); double itemWeight = Math.Round(CryptoRandom.NextDouble(0, 5), 2, MidpointRounding.AwayFromZero); ItemFeatures itemFeatures = new ItemFeatures(); itemFeatures.EnableFeatures(ItemFeaturesType.IsDeleteAble, ItemFeaturesType.IsEquipAble, ItemFeaturesType.IsInfoAble, ItemFeaturesType.IsRepairAble, ItemFeaturesType.IsSellAble, ItemFeaturesType.IsUpgradeAble); switch (itemClass) { case ItemClass.Magic: { result = new Weapon(itemClass, ItemType.Weapon, ItemSubType.None, itemIcon, EqType.Weapon, itemFeatures, itemName, string.Empty, goldValue, itemWeight, false, false, 100, itemLevel, 0, StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Normal), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Normal), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Increase), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease)); break; } case ItemClass.Melle: { result = new Weapon(itemClass, ItemType.Weapon, ItemSubType.None, itemIcon, EqType.Weapon, itemFeatures, itemName, string.Empty, goldValue, itemWeight, false, false, 100, itemLevel, 0, StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Normal), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Normal), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Increase)); break; } case ItemClass.Ranged: { result = new Weapon(itemClass, ItemType.Weapon, ItemSubType.None, itemIcon, EqType.Weapon, itemFeatures, itemName, string.Empty, goldValue, itemWeight, false, false, 100, itemLevel, 0, StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Normal), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Normal), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Increase), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease)); break; } } return(result); }
public Item GenerateGoldByValue(int goldValue) { ItemIcon itemIcon = new ItemIcon(); itemIcon.Index = (int)ItemIndex.Gold.Large; itemIcon.Rarity = (int)ItemRarity.None; ItemFeatures itemFeatures = new ItemFeatures(); Item goldPrefab = new Item(ItemClass.Normal, ItemType.Gold, ItemSubType.None, itemIcon, itemFeatures, "Gold", string.Empty, goldValue, 0, 0); return(goldPrefab); }
public Item(Item item) { this.Class = item.Class; this.Type = item.Type; this.SubType = item.SubType; this.Icon = new ItemIcon(item.Icon); this.Features = new ItemFeatures(item.Features); this.BasicName = string.Copy(item.BasicName); this.AdditionalName = string.Copy(item.AdditionalName); this.GoldValue = item.GoldValue; this.Weight = item.Weight; this.Level = item.Level; this.Name = this.BasicName + this.AdditionalName; this.CalculateHash(); }
public Item() { this.Class = ItemClass.None; this.Type = ItemType.None; this.SubType = ItemSubType.None; this.Icon = new ItemIcon(); this.Features = new ItemFeatures(); this.BasicName = string.Empty; this.AdditionalName = string.Empty; this.GoldValue = 0; this.Weight = 0; this.Level = 0; this.Name = this.BasicName + this.AdditionalName; this.CalculateHash(); }
//BASIC CONSTRUCTORS ==================================================================================== public Item(ItemClass itemClass, ItemType itemType, ItemSubType itemSubType, ItemIcon icon, ItemFeatures itemFeatures, string basicName, string additionalName, int goldValue, double weight, int level) { this.Class = itemClass; this.Type = itemType; this.SubType = itemSubType; this.Icon = icon; this.Features = itemFeatures; this.BasicName = basicName; this.AdditionalName = additionalName; this.GoldValue = goldValue; this.Weight = weight; this.Level = level; this.Name = this.BasicName + this.AdditionalName; this.CalculateHash(); }
public EquipmentItem(ItemClass itemClass, ItemType itemType, ItemSubType itemSubType, ItemIcon icon, EqType eqType, ItemFeatures itemFeatures, string basicName, string additionalName, int goldValue, double weight, bool isEquiped, bool isBroken, int durability, int level, int upgradeLevel) : base(itemClass, itemType, itemSubType, icon, itemFeatures, basicName, additionalName, goldValue, weight, level) { this.IsEquiped = isEquiped; this.IsBroken = isBroken; this.Durability = durability; this.UpgradeLevel = upgradeLevel; this.EquipmentType = eqType; }
public ConsumeableItem(int healValue, ItemClass itemClass, ItemType itemType, ItemSubType itemSubType, ItemIcon itemIcon, ItemFeatures itemFeatures, string basicName, string additionalName, int goldValue, double weight) : base(itemClass, itemType, itemSubType, itemIcon, itemFeatures, basicName, additionalName, goldValue, weight, 0) { this.HealValue = healValue; }
public Armor(ItemClass itemClass, ItemType itemType, ItemSubType itemSubType, ItemIcon icon, EqType eqType, ItemFeatures itemFeatures, string basicName, string additionalName, int goldValue, double weight, bool isEquiped, bool isBroken, int durability, int level, int upgradeLevel, Statistics vitalityBonus, Statistics magicArmourBonus, Statistics rangedArmorBonus, Statistics melleArmorBonus, Statistics dexterityBonus, Statistics intelligenceBonus, Statistics strengthBonus) : base(itemClass, itemType, itemSubType, icon, eqType, itemFeatures, basicName, additionalName, goldValue, weight, isEquiped, isBroken, durability, level, upgradeLevel) { this.VitalityBonus = vitalityBonus; this.MagicArmorBonus = magicArmourBonus; this.RangedArmorBonus = rangedArmorBonus; this.MelleArmorBonus = melleArmorBonus; this.DexterityBonus = dexterityBonus; this.IntelligenceBonus = intelligenceBonus; this.StrengthBonus = strengthBonus; }
public ConsumeableItem GenerateConsumeableItem(ItemType itemType, ItemSubType itemSubType) { ConsumeableItem result = null; int goldValue; int boost; ItemIcon itemIcon = this.GenerateItemIcon(ItemClass.Normal, itemType, EqType.None, itemSubType); itemIcon.Rarity = (int)ItemRarity.None; ItemFeatures itemFeatures = new ItemFeatures(); itemFeatures.EnableFeatures(ItemFeaturesType.IsDeleteAble, ItemFeaturesType.IsInfoAble, ItemFeaturesType.IsSellAble, ItemFeaturesType.IsEatAble); switch (itemType) { case ItemType.Potion: { switch (itemSubType) { case ItemSubType.Potion_Armor: { goldValue = CryptoRandom.Next(200, 500); boost = CryptoRandom.Next(8, 15); result = new ConsumeableItem(boost, ItemClass.Normal, itemType, itemSubType, itemIcon, itemFeatures, "Armor Potion", string.Empty, goldValue, 0.5); break; } case ItemSubType.Potion_Dexterity: { goldValue = CryptoRandom.Next(200, 500); boost = CryptoRandom.Next(8, 15); result = new ConsumeableItem(boost, ItemClass.Normal, itemType, itemSubType, itemIcon, itemFeatures, "Dexterity Potion", string.Empty, goldValue, 0.5); break; } case ItemSubType.Potion_Health: { goldValue = 50; boost = 60; result = new ConsumeableItem(boost, ItemClass.Normal, itemType, itemSubType, itemIcon, itemFeatures, "Health Potion", string.Empty, goldValue, 0.5); break; } case ItemSubType.Potion_Intelligence: { goldValue = CryptoRandom.Next(200, 500); boost = CryptoRandom.Next(8, 15); result = new ConsumeableItem(boost, ItemClass.Normal, itemType, itemSubType, itemIcon, itemFeatures, "Intelligence Potion", string.Empty, goldValue, 0.5); break; } case ItemSubType.Potion_Mana: { goldValue = 50; boost = 60; result = new ConsumeableItem(boost, ItemClass.Normal, itemType, itemSubType, itemIcon, itemFeatures, "Mana Potion", string.Empty, goldValue, 0.5); break; } case ItemSubType.Potion_Strength: { goldValue = CryptoRandom.Next(200, 500); boost = CryptoRandom.Next(8, 15); result = new ConsumeableItem(boost, ItemClass.Normal, itemType, itemSubType, itemIcon, itemFeatures, "Armor Potion", string.Empty, goldValue, 0.5); break; } default: { break; } } break; } case ItemType.Food: { boost = CryptoRandom.Next(20, 50); goldValue = CryptoRandom.Next(20, 60); result = new ConsumeableItem(boost, ItemClass.Normal, itemType, itemSubType, itemIcon, itemFeatures, "Food" + "", string.Empty, goldValue, CryptoRandom.NextDouble(0.3, 1)); break; } } return(result); }
public Armor GenerateArmor(int itemLevel, ItemClass itemClass, ItemType itemType, EqType eqType) { Armor result = null; if (itemClass == ItemClass.Ranged && eqType == EqType.Shield) { return(result); } ItemIcon itemIcon = this.GenerateItemIcon(itemClass, itemType, eqType); string itemName = this.GenerateItemName(itemClass, eqType); int goldValue = this.GenerateItemGoldValue(itemLevel); double itemWeight; ItemFeatures itemFeatures = new ItemFeatures(); itemFeatures.EnableFeatures(ItemFeaturesType.IsDeleteAble, ItemFeaturesType.IsEquipAble, ItemFeaturesType.IsInfoAble, ItemFeaturesType.IsRepairAble, ItemFeaturesType.IsSellAble, ItemFeaturesType.IsUpgradeAble); if (itemType == ItemType.Armor) { itemWeight = Math.Round(CryptoRandom.NextDouble(0, 5), 2, MidpointRounding.AwayFromZero); Armor armor = null; switch (itemClass) { case ItemClass.Magic: { armor = new Armor(itemClass, itemType, ItemSubType.None, itemIcon, eqType, itemFeatures, itemName, string.Empty, goldValue, itemWeight, false, false, 100, itemLevel, 0, StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Increase), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Normal), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Decrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Decrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaIncrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease)); break; } case ItemClass.Melle: { armor = new Armor(itemClass, itemType, ItemSubType.None, itemIcon, eqType, itemFeatures, itemName, string.Empty, goldValue, itemWeight, false, false, 100, itemLevel, 0, StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaIncrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Decrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Increase), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Increase), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaIncrease)); break; } case ItemClass.Ranged: { armor = new Armor(itemClass, itemType, ItemSubType.None, itemIcon, eqType, itemFeatures, itemName, string.Empty, goldValue, itemWeight, false, false, 100, itemLevel, 0, StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Normal), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Increase), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Normal), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Decrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaIncrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease)); break; } } result = armor; } else if (itemType == ItemType.Trinket) { itemWeight = Math.Round(CryptoRandom.NextDouble(0, 2), 2, MidpointRounding.AwayFromZero); Armor trinket = null; switch (itemClass) { case ItemClass.Magic: { trinket = new Armor(itemClass, itemType, ItemSubType.None, itemIcon, eqType, itemFeatures, itemName, string.Empty, goldValue, itemWeight, false, false, 100, itemLevel, 0, StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Increase), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Normal), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Decrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Decrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaIncrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease)); break; } case ItemClass.Melle: { trinket = new Armor(itemClass, itemType, ItemSubType.None, itemIcon, eqType, itemFeatures, itemName, string.Empty, goldValue, itemWeight, false, false, 100, itemLevel, 0, StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Increase), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Normal), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Decrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Decrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaIncrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease)); break; } case ItemClass.Ranged: { trinket = new Armor(itemClass, itemType, ItemSubType.None, itemIcon, eqType, itemFeatures, itemName, string.Empty, goldValue, itemWeight, false, false, 100, itemLevel, 0, StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Increase), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Normal), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Decrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.Decrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaIncrease), StatisticsGenerator.GenerateItemStatistics(itemLevel, ItemIndexManagement.GetRarityFromIndex(itemIcon.Rarity), StatisticsGeneratorBoostType.MegaDecrease)); break; } } result = trinket; } return(result); }