//Kisorsol egy ritkasági bónuszt az adott tárgy lehetséges bonuszaiból public static int[] RollABonus(ItemGenerator selectedItem) { int[] newRolledBonus = new int[2]; List <ItemBonus> possibleBonuses = new List <ItemBonus>(); possibleBonuses = selectedItem.item_bonuses.Where(x => x.item_bonus_max != 0).ToList(); if (possibleBonuses.Count != 0) { ItemBonus rolledBonus = possibleBonuses[new Random().Next(possibleBonuses.Count)]; newRolledBonus[0] = Convert.ToInt32(rolledBonus.item_bonusStatName); newRolledBonus[1] = new Random().Next(rolledBonus.item_bonus_min, rolledBonus.item_bonus_max + 1); } return(newRolledBonus); }
public static List <ItemGenerator> GetAllData() { OleDbCommand command = Connect(); command.CommandText = "SELECT * FROM [ItemGenerator]"; OleDbDataAdapter adapter = new OleDbDataAdapter(command); DataTable dt = new DataTable(); adapter.Fill(dt); string debugFolder = System.AppDomain.CurrentDomain.BaseDirectory; List <ItemGenerator> ItemGenerators = new List <ItemGenerator>(); foreach (DataRow row in dt.Rows) { ItemGenerator itemGenerator = new ItemGenerator(); itemGenerator.item_id = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(true)]); itemGenerator.item_name = row.ItemArray[StaticHelper.IndexLine(false)].ToString(); itemGenerator.item_image = debugFolder + "Images\\" + row.ItemArray[StaticHelper.IndexLine(false)].ToString(); itemGenerator.item_type = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)].ToString()); itemGenerator.item_rarity = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)].ToString()); itemGenerator.item_potionEffect = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)].ToString()); itemGenerator.item_potionEffectValue = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)].ToString()); itemGenerator.item_potionEffectDuration = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)].ToString()); itemGenerator.item_level = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)].ToString()); itemGenerator.item_requiedHeroLevel = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)].ToString()); itemGenerator.item_quantityFrom = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)].ToString()); itemGenerator.item_quantityTo = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)].ToString()); itemGenerator.item_isStackable = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)].ToString()); itemGenerator.item_qualityFrom = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)].ToString()); itemGenerator.item_qualityTo = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)].ToString()); itemGenerator.item_primaryStat_damageMax_randomMin = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)]); itemGenerator.item_primaryStat_damageMax_randomMax = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)]); itemGenerator.item_primaryStat_defenseMax_randomMin = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)]); itemGenerator.item_primaryStat_defenseMax_randomMax = Convert.ToInt32(row.ItemArray[StaticHelper.IndexLine(false)]); int bonusIndex = 19; itemGenerator.item_bonuses = new List <ItemBonus>(); for (int i = 0; i < 22; i++) { ItemBonus itemBonus = new ItemBonus(); itemBonus.item_bonusStatName = (EnumPossibleBonusStats)i; itemBonus.item_bonus_min = Convert.ToInt32(row.ItemArray[bonusIndex]); bonusIndex++; itemBonus.item_bonus_max = Convert.ToInt32(row.ItemArray[bonusIndex]); bonusIndex++; itemGenerator.item_bonuses.Add(itemBonus); } ItemGenerators.Add(itemGenerator); } adapter.Dispose(); command.Connection.Close(); return(ItemGenerators); }