public void UpdateName(Item item) { if (rarity == null || rarity.GetType() == typeof(ItemNone)) { item.ClearNameOverride(); } else { string addedPrefix = string.Empty; double addedPrefixWeight = 0f; foreach (var prefix in prefixes) { if (prefix.AddedTextWeight > addedPrefixWeight && prefix.AddedText != string.Empty) { addedPrefix = prefix.AddedText; addedPrefixWeight = prefix.AddedTextWeight; } } string addedSuffix = string.Empty; float addedSuffixWeight = 0f; foreach (var suffix in suffixes) { if (suffix.AddedTextWeight > addedSuffixWeight && suffix.AddedText != string.Empty) { addedSuffix = suffix.AddedText; addedPrefixWeight = suffix.AddedTextWeight; } } item.SetNameOverride($"{rarity.name} {addedPrefix}{(addedPrefix != string.Empty ? " " : string.Empty)}{GetBaseName(item)}{(addedSuffix != string.Empty ? " " : string.Empty)}{addedSuffix}"); item.rare = rarity.vanillaRarity; } }