public int QualityTypeDistance(ItemQualityType currentType, ItemQualityType targetType) { int currentIndex = System.Array.IndexOf(qualityTypeMap, currentType); int targetIndex = System.Array.IndexOf(qualityTypeMap, targetType); return(targetIndex - currentIndex); }
public StackItem(StackItem oldItem) { if (oldItem == null) { return; } this.item = oldItem.item; this.stackCount = oldItem.stackCount; this.quality = oldItem.quality; }
public ItemQualityType GetNextQualityTier(ItemQualityType currentType) { if (currentType == ItemQualityType.Artifact) { return(ItemQualityType.Artifact); } int currentIndex = System.Array.IndexOf(qualityTypeMap, currentType); return(qualityTypeMap[currentIndex + 1]); }
public void GenerateLootItem() { lootItem = ItemDatabaseManager.Instance.GetItem((ItemType)Random.Range(0, ItemType.GetNames(typeof(ItemType)).Length), 0); lootItem.quality = (ItemQualityType)Random.Range(0, ItemQualityType.GetNames(typeof(ItemQualityType)).Length); lootItem.uniqueID = ItemDatabaseManager.Instance.GenerateUniqueID(); int statCount = Random.Range(2, 7); for (int i = 0; i < statCount; i++) { lootItem.statModifiers.Add(CreateRandomStatModifier()); } }
public float GetStandardUpdateChance(ItemQualityType currentType, ItemQualityType targetType, float upgradeFactor = 1f) { int typeDistance = QualityTypeDistance(currentType, targetType); if (typeDistance > 0) { float standardChance = Mathf.Pow(0.1f, typeDistance); float factorChance = Mathf.Pow(upgradeFactor, typeDistance); return(standardChance * factorChance); } return(0); }
public static ItemQualityType GetItemQualityTypeById(long id) { ItemQualityType _iq = null; var con = MySqlUtils.GetDBConnection(); string query = $"select id,name,created_at,updated_at,buy_multiplier,sell_multiplier from lifyodb.ItemQualityType where id ={id}"; MySqlDataReader _reader = runQuery(query, con); while (_reader.Read()) { _iq = new ItemQualityType { Id = Convert.ToInt32(_reader["id"]), Name = _reader["name"].ToString(), Created = Convert.ToDateTime(_reader["created_at"]), Updated = Convert.ToDateTime(_reader["updated_at"]), BuyMultiplier = Convert.ToDecimal(_reader["buy_multiplier"]), SellMultiplier = Convert.ToDecimal(_reader["sell_multiplier"]) }; } return(_iq); }
/// <summary> /// 根据物品品质获取tips顶部背景(公共图集) /// </summary> /// <param name="num"> (装备为附加属性条目数,其他物品为附加品质)</param> /// <returns></returns> public static TextureID GetItemTipsTopIcon(ItemQualityType qType) { TextureID textureId = TextureID.Biankuang_tips_hui; switch (qType) { case ItemDefine.ItemQualityType.White: textureId = TextureID.Biankuang_tips_hui; break; case ItemDefine.ItemQualityType.Yellow: textureId = TextureID.Biankuang_tips_danhuang; break; case ItemDefine.ItemQualityType.Green: textureId = TextureID.Biankuang_tips_lv; break; case ItemDefine.ItemQualityType.Blue: textureId = TextureID.Biankuang_tips_lan; break; case ItemDefine.ItemQualityType.Purple: textureId = TextureID.Biankuang_tips_zi; break; case ItemDefine.ItemQualityType.Orange: textureId = TextureID.Biankuang_tips_huang; break; default: textureId = TextureID.Biankuang_tips_hui; break; } return(textureId); }
public ItemQuality(string _itemQualityPercent, int _itemQualityPercentInt, ItemQualityType _itemQualityType) { ItemQualityPercent = _itemQualityPercent; ItemQualityPercentInt = _itemQualityPercentInt; ItemQualityType = _itemQualityType; }
public bool IsSameQualityOrAbove(ItemQualityType currentType, ItemQualityType targetType) { int typeDistance = QualityTypeDistance(currentType, targetType); return(typeDistance >= 0); }
public static IItem GetItem(int level) { // Determine item quality type. //Poor = 0, //Fair = 1, //Moderate = 2, //Good = 3, //Excellent = 4, //Master = 5, //Legendary = 6, ItemQualityType qualityType = ItemQualityType.Poor; if (level >= 20 && level < 33) { qualityType = ItemQualityType.Fair; } if (level >= 34 && level < 47) { qualityType = ItemQualityType.Moderate; } if (level >= 48 && level < 61) { qualityType = ItemQualityType.Good; } if (level >= 62 && level < 75) { qualityType = ItemQualityType.Excellent; } if (level >= 76 && level < 89) { qualityType = ItemQualityType.Master; } if (level >= 90) { qualityType = ItemQualityType.Legendary; } // Get a random item type. ItemType itemType = GetItemType(); // Get the equip location. EquipLocation equipLocation = GetEquipLocation(itemType); var prefixes = _prefixes[qualityType]; var names = _names[itemType, equipLocation]; var suffixes = _suffixes[qualityType]; // Generate an item based on quality type. switch (qualityType) { case ItemQualityType.Fair: break; case ItemQualityType.Moderate: break; case ItemQualityType.Good: break; case ItemQualityType.Excellent: break; case ItemQualityType.Master: break; case ItemQualityType.Legendary: break; default: // Poor // return CreateItem(itemType, equipLocation, qualityType, level); break; } return(null); }
public StackItem(Item item, int stackCount = 1, ItemQualityType quality = ItemQualityType.Common) { this.item = item; this.stackCount = stackCount; this.quality = quality; }