修复名称问题和重复技能不合并的问题

This commit is contained in:
milimoe 2024-11-13 00:35:55 +08:00
parent c142dd85df
commit 2a05708207
Signed by: milimoe
GPG Key ID: 05D280912DA6C69E

View File

@ -1069,12 +1069,21 @@ namespace Oshima.Core.Utils
if (agi > 0) strings.Add($"{agi:0.##} 点敏捷");
if (intelligence > 0) strings.Add($"{intelligence:0.##} 点智力");
foreach (Skill skill in magics)
{
IEnumerable<Skill> has = item.Skills.Magics.Where(m => m.Id == skill.Id);
if (has.Any() && has.First() is Skill s)
{
s.Level += skill.Level;
if (s.Level > 1) s.Name = s.Name.Split(' ')[0] + $" +{s.Level - 1}";
}
else
{
Skill magic = skill.Copy();
magic.Level = skill.Level;
item.Skills.Magics.Add(magic);
}
item.Description = $"包含魔法:{string.Join("", item.Skills.Magics.Select(m => m.Name + $" +{m.Level - 1}"))}\r\n" +
}
item.Description = $"包含魔法:{string.Join("", item.Skills.Magics.Select(m => m.Name + (m.Level > 1 ? $" +{m.Level - 1}" : "")))}\r\n" +
$"增加角色属性:{string.Join("", strings)}";
double total = str + agi + intelligence;
if (total > 18 && total <= 36)