diff --git a/Entity/Item/Item.cs b/Entity/Item/Item.cs index d1e80f3..ff32974 100644 --- a/Entity/Item/Item.cs +++ b/Entity/Item/Item.cs @@ -592,12 +592,14 @@ namespace Milimoe.FunGame.Core.Entity if (item.Skills.Active != null) { item.Skills.Active.Level = copyLevel ? (Skills.Active?.Level ?? 1) : 1; + item.Skills.Active.Guid = item.Guid; } foreach (Skill skill in Skills.Passives) { Skill newskill = skill.Copy(); newskill.Item = item; newskill.Level = copyLevel ? skill.Level : 1; + newskill.Guid = item.Guid; item.Skills.Passives.Add(newskill); } foreach (Skill skill in Skills.Magics) @@ -605,6 +607,7 @@ namespace Milimoe.FunGame.Core.Entity Skill newskill = skill.Copy(); newskill.Item = item; newskill.Level = copyLevel ? skill.Level : 1; + newskill.Guid = item.Guid; item.Skills.Magics.Add(newskill); } } diff --git a/Library/Common/JsonConverter/CharacterConverter.cs b/Library/Common/JsonConverter/CharacterConverter.cs index 752bcb8..ae9c3f4 100644 --- a/Library/Common/JsonConverter/CharacterConverter.cs +++ b/Library/Common/JsonConverter/CharacterConverter.cs @@ -277,7 +277,7 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter writer.WriteNumber(nameof(Character.ExCritDMG), value.ExCritDMG); writer.WriteNumber(nameof(Character.ExEvadeRate), value.ExEvadeRate); writer.WritePropertyName(nameof(Character.Skills)); - JsonSerializer.Serialize(writer, value.Skills, options); + JsonSerializer.Serialize(writer, value.Skills.Where(s => s.Guid == Guid.Empty), options); writer.WritePropertyName(nameof(Character.Items)); JsonSerializer.Serialize(writer, value.Items, options); writer.WriteEndObject();