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 保护变量