From 79801ee59495c710c90929c340058de7a5f02980 Mon Sep 17 00:00:00 2001 From: milimoe Date: Fri, 18 Jul 2025 00:01:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=89=A9=E5=93=81=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=B1=95=E7=A4=BA=EF=BC=9B=E4=BF=AE=E5=A4=8D=E4=BA=86?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=9E=84=E5=BB=BA=E5=99=A8=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=E8=83=BD=E9=87=8F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Entity/Character/CharacterBuilder.cs | 4 +- Entity/Item/Item.cs | 59 +++++++++++++++++----------- Model/GamingQueue.cs | 5 +++ 3 files changed, 43 insertions(+), 25 deletions(-) diff --git a/Entity/Character/CharacterBuilder.cs b/Entity/Character/CharacterBuilder.cs index 9594063..424267d 100644 --- a/Entity/Character/CharacterBuilder.cs +++ b/Entity/Character/CharacterBuilder.cs @@ -241,8 +241,9 @@ namespace Milimoe.FunGame.Core.Entity /// 对于动态扩展的物品而言,传入已定义的物品表,不使用被复制物品的数据 /// 对于动态扩展的技能而言,传入已定义的技能表,不使用被复制技能的数据 /// + /// /// 构建的新角色 - public static Character Build(Character reference, bool newItemGuid = true, bool copyLevel = true, Inventory? inventory = null, IEnumerable? itemsDefined = null, IEnumerable? skillsDefined = null, bool recovery = true) + public static Character Build(Character reference, bool newItemGuid = true, bool copyLevel = true, Inventory? inventory = null, IEnumerable? itemsDefined = null, IEnumerable? skillsDefined = null, bool recovery = true, bool copyEP = true) { Character character = new CharacterBuilder(reference).Build(reference.Skills, reference.Items, newItemGuid, reference.EquipSlot, inventory, itemsDefined, skillsDefined); if (copyLevel) @@ -262,6 +263,7 @@ namespace Milimoe.FunGame.Core.Entity character.HP = reference.HP; character.MP = reference.MP; } + if (copyEP) character.EP = reference.EP; return character; } } diff --git a/Entity/Item/Item.cs b/Entity/Item/Item.cs index b97da5b..7d0ca7b 100644 --- a/Entity/Item/Item.cs +++ b/Entity/Item/Item.cs @@ -473,36 +473,47 @@ namespace Milimoe.FunGame.Core.Entity else { List sellandtrade = []; + bool useRN = false; - if (IsSellable) - { - sellandtrade.Add("可出售"); - } - - if (!IsSellable && NextSellableTime != DateTime.MinValue) - { - sellandtrade.Add($"此物品将在 {NextSellableTime.ToString(General.GeneralDateTimeFormatChinese)} 后可出售"); - } - else if (!IsSellable) + if (IsLock) { sellandtrade.Add("不可出售"); - } - - if (IsTradable) - { - sellandtrade.Add("可交易"); - } - - if (!IsTradable && NextTradableTime != DateTime.MinValue) - { - sellandtrade.Add($"此物品将在 {NextTradableTime.ToString(General.GeneralDateTimeFormatChinese)} 后可交易"); - } - else if (!IsTradable) - { sellandtrade.Add("不可交易"); } + else + { + if (IsSellable) + { + sellandtrade.Add("可出售"); + } - if (sellandtrade.Count > 0) builder.AppendLine(string.Join(" ", sellandtrade).Trim()); + if (!IsSellable && NextSellableTime != DateTime.MinValue) + { + useRN = true; + sellandtrade.Add($"此物品将在 {NextSellableTime.ToString(General.GeneralDateTimeFormatChinese)} 后可出售"); + } + else if (!IsSellable) + { + sellandtrade.Add("不可出售"); + } + + if (IsTradable) + { + sellandtrade.Add("可交易"); + } + + if (!IsTradable && NextTradableTime != DateTime.MinValue) + { + useRN = true; + sellandtrade.Add($"此物品将在 {NextTradableTime.ToString(General.GeneralDateTimeFormatChinese)} 后可交易"); + } + else if (!IsTradable) + { + sellandtrade.Add("不可交易"); + } + } + + if (sellandtrade.Count > 0) builder.AppendLine(string.Join(useRN ? "\r\n" : " ", sellandtrade).Trim()); } if (isShowGeneralDescription && GeneralDescription != "") diff --git a/Model/GamingQueue.cs b/Model/GamingQueue.cs index 28c5364..4be0104 100644 --- a/Model/GamingQueue.cs +++ b/Model/GamingQueue.cs @@ -117,6 +117,11 @@ namespace Milimoe.FunGame.Core.Model /// public Dictionary CustomData { get; } = []; + /// + /// 金币奖励记录 + /// + public Dictionary EarnedMoney => _earnedMoney; + #endregion #region 保护变量