Exemplo n.º 1
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);
        }