private Description GetImprovedSkillTitle(Description title, RarityName rarity) { title.English = GetImprovedSkillTitle(title.English, rarity); title.French = GetImprovedSkillTitle(title.French, rarity); title.German = GetImprovedSkillTitle(title.German, rarity); return(title); }
private HeroItem CreateItemOfGivenRarity(RarityName rarityName, HeroItem originalItem) { var item = originalItem.Copy(); var rarity = RaritySuffix.FormatIdentifier(rarityName); item.Name = $"{item.Name}{rarity}"; ImproveSkillInTheDescription(item.Description, rarityName); for (var i = 0; i < originalItem.SkillIDs.Count; i++) { item.SkillIDs[i] = $"{item.SkillIDs[i]}{rarity}"; } item.DropCriteria = item.Descriptors .First(x => x.Rarity.Name == rarityName) .Rarity.DropCriteria.Copy(); item.DropCriteria.ProbabilityWeight = originalItem.DropCriteria.ProbabilityWeight; item.Descriptors.Where(x => x.Rarity.Name != rarityName) .Select(x => x.Rarity.DropCriteria) .ForEach(criteria => { criteria.MaxLevel = 0; criteria.MinLevel = 0; }); return(item); }
public static string GetSuffix(RarityName rarity) { var bonusCount = rarity == RarityName.Common ? 0 : rarity == RarityName.Rarity0 ? 1 : rarity == RarityName.Rarity1 ? 2 : 3; var suffix = ""; for (var i = 0; i < bonusCount; i++) suffix += "+"; return suffix; }
private string GetImprovedSkillTitle(string text, RarityName rarity) => $"{text}{RaritySuffix.GetSuffix(rarity)}";
public static string FormatIdentifier(RarityName rarity) { if (rarity == RarityName.Common) return ""; return rarity.ToString(); }
private string GetImprovedSkillDescriptionText(string text, RarityName rarity) { return(text.Replace("#Revert#", $"{RaritySuffix.GetSuffix(rarity)}#Revert#")); }
private void ImproveSkillInTheDescription(Description description, RarityName rarity) { description.English = GetImprovedSkillDescriptionText(description.English, rarity); description.French = GetImprovedSkillDescriptionText(description.French, rarity); description.German = GetImprovedSkillDescriptionText(description.German, rarity); }