From 1a6ed9c216c4920fcb4243b10e8badb521f15140 Mon Sep 17 00:00:00 2001 From: milimoe Date: Fri, 6 Dec 2024 00:26:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BB=8E=E5=AD=98=E6=A1=A3=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E5=87=BA=E6=9D=A5=E7=9A=84=20Skills=20=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E6=B2=A1=E6=9C=89=E7=BB=91=E5=AE=9A=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E7=9A=84=20Item.Guid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Entity/Item/Item.cs | 3 +++ Library/Common/JsonConverter/CharacterConverter.cs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) 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();