Пример #1
0
 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);
 }
Пример #2
0
        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);
        }
Пример #3
0
 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;
 }
Пример #4
0
 private string GetImprovedSkillTitle(string text, RarityName rarity)
 => $"{text}{RaritySuffix.GetSuffix(rarity)}";
Пример #5
0
 public static string FormatIdentifier(RarityName rarity)
 {
     if (rarity == RarityName.Common) return "";
     return rarity.ToString();
 }
Пример #6
0
 private string GetImprovedSkillDescriptionText(string text, RarityName rarity)
 {
     return(text.Replace("#Revert#", $"{RaritySuffix.GetSuffix(rarity)}#Revert#"));
 }
Пример #7
0
 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);
 }