diff --git a/Entity/Character/Character.cs b/Entity/Character/Character.cs
index 601e1ce..91827c7 100644
--- a/Entity/Character/Character.cs
+++ b/Entity/Character/Character.cs
@@ -699,7 +699,7 @@ namespace Milimoe.FunGame.Core.Entity
{
get
{
- double value = INT * General.GameplayEquilibriumConstant.INTtoAccelerationCoefficientMultiplier + ExActionCoefficient;
+ double value = INT * General.GameplayEquilibriumConstant.INTtoAccelerationCoefficientMultiplier + ExAccelerationCoefficient;
return Calculation.PercentageCheck(value);
}
}
@@ -1509,7 +1509,7 @@ namespace Milimoe.FunGame.Core.Entity
if (Effects.Where(e => e.EffectType != EffectType.Item).Any())
{
builder.AppendLine("== 状态栏 ==");
- builder.Append(string.Join(",", Effects.Select(e => e.Name)));
+ builder.Append(string.Join(",", Effects.Where(e => e.EffectType != EffectType.Item).Select(e => e.Name)));
}
return builder.ToString();
@@ -1551,7 +1551,7 @@ namespace Milimoe.FunGame.Core.Entity
builder.AppendLine($"硬直时间:{hardnessTimes:0.##}");
- if (Effects.Count > 0)
+ if (Effects.Where(e => e.EffectType != EffectType.Item).Any())
{
builder.AppendLine("== 状态栏 ==");
foreach (Effect effect in Effects.Where(e => e.EffectType != EffectType.Item))
@@ -1583,10 +1583,10 @@ namespace Milimoe.FunGame.Core.Entity
builder.AppendLine($"核心属性:{PrimaryAttributeValue:0.##}" + (ExPrimaryAttributeValue != 0 ? $" [{BasePrimaryAttributeValue:0.##} {(ExPrimaryAttributeValue >= 0 ? "+" : "-")} {Math.Abs(ExPrimaryAttributeValue):0.##}]" : ""));
builder.AppendLine($"硬直时间:{hardnessTimes:0.##}");
- if (Effects.Count > 0)
+ if (Effects.Where(e => e.EffectType != EffectType.Item).Any())
{
builder.AppendLine("== 状态栏 ==");
- builder.Append(string.Join(",", Effects.Select(e => e.Name)));
+ builder.Append(string.Join(",", Effects.Where(e => e.EffectType != EffectType.Item).Select(e => e.Name)));
}
return builder.ToString();
diff --git a/Entity/Character/CharacterBuilder.cs b/Entity/Character/CharacterBuilder.cs
index c73d608..8ebba27 100644
--- a/Entity/Character/CharacterBuilder.cs
+++ b/Entity/Character/CharacterBuilder.cs
@@ -104,8 +104,9 @@ namespace Milimoe.FunGame.Core.Entity
///
///
///
+ ///
/// 构建的新角色
- public Character Build(IEnumerable skills, IEnumerable- items, bool newItemGuid = true, EquipSlot? equips = null, Inventory? inventory = null, IEnumerable
- ? itemsDefined = null, IEnumerable? skillsDefined = null)
+ public Character Build(IEnumerable skills, IEnumerable
- items, bool newItemGuid = true, EquipSlot? equips = null, Inventory? inventory = null, IEnumerable
- ? itemsDefined = null, IEnumerable? skillsDefined = null, bool recovery = true)
{
Character character = Factory.GetCharacter();
character.Id = Id;
@@ -226,7 +227,7 @@ namespace Milimoe.FunGame.Core.Entity
}
}
}
- character.Recovery();
+ if (recovery) character.Recovery();
return character;
}
@@ -240,10 +241,11 @@ 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)
+ public static Character Build(Character reference, bool newItemGuid = true, bool copyLevel = true, Inventory? inventory = null, IEnumerable
- ? itemsDefined = null, IEnumerable? skillsDefined = null, bool recovery = true)
{
- Character character = new CharacterBuilder(reference).Build(reference.Skills, reference.Items, newItemGuid, reference.EquipSlot, inventory, itemsDefined, skillsDefined);
+ Character character = new CharacterBuilder(reference).Build(reference.Skills, reference.Items, newItemGuid, reference.EquipSlot, inventory, itemsDefined, skillsDefined, recovery);
if (copyLevel)
{
character.Level = reference.Level;
diff --git a/Entity/System/Inventory.cs b/Entity/System/Inventory.cs
index 7b49557..2b0c281 100644
--- a/Entity/System/Inventory.cs
+++ b/Entity/System/Inventory.cs
@@ -68,7 +68,7 @@ namespace Milimoe.FunGame.Core.Entity
///
/// 小队
///
- public HashSet Squad { get; set; } = [];
+ public HashSet Squad { get; set; } = [];
///
/// 练级中的角色
diff --git a/Library/Common/JsonConverter/CharacterConverter.cs b/Library/Common/JsonConverter/CharacterConverter.cs
index 4c2e711..d253a81 100644
--- a/Library/Common/JsonConverter/CharacterConverter.cs
+++ b/Library/Common/JsonConverter/CharacterConverter.cs
@@ -86,6 +86,12 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
case nameof(Character.ExMPPercentage):
result.ExMPPercentage = reader.GetDouble();
break;
+ case nameof(Character.HP):
+ result.HP = reader.GetDouble();
+ break;
+ case nameof(Character.MP):
+ result.MP = reader.GetDouble();
+ break;
case nameof(Character.EP):
result.EP = reader.GetDouble();
break;
@@ -249,6 +255,8 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
writer.WriteNumber(nameof(Character.InitialMP), value.InitialMP);
writer.WriteNumber(nameof(Character.ExMP2), value.ExMP2);
writer.WriteNumber(nameof(Character.ExMPPercentage), value.ExMPPercentage);
+ writer.WriteNumber(nameof(Character.HP), value.HP);
+ writer.WriteNumber(nameof(Character.MP), value.MP);
writer.WriteNumber(nameof(Character.EP), value.EP);
writer.WriteNumber(nameof(Character.InitialATK), value.InitialATK);
writer.WriteNumber(nameof(Character.ExATK2), value.ExATK2);
diff --git a/Library/Common/JsonConverter/InventoryConverter.cs b/Library/Common/JsonConverter/InventoryConverter.cs
index 33ba6ba..fa20a7c 100644
--- a/Library/Common/JsonConverter/InventoryConverter.cs
+++ b/Library/Common/JsonConverter/InventoryConverter.cs
@@ -47,10 +47,10 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
}
break;
case nameof(Inventory.Squad):
- HashSet squad = NetworkUtility.JsonDeserialize>(ref reader, options) ?? [];
- foreach (Character character in squad)
+ HashSet squad = NetworkUtility.JsonDeserialize>(ref reader, options) ?? [];
+ foreach (long cid in squad)
{
- result.Squad.Add(character);
+ result.Squad.Add(cid);
}
break;
case nameof(Inventory.Training):
diff --git a/Library/Common/JsonConverter/UserConverter.cs b/Library/Common/JsonConverter/UserConverter.cs
index 50cf055..313318f 100644
--- a/Library/Common/JsonConverter/UserConverter.cs
+++ b/Library/Common/JsonConverter/UserConverter.cs
@@ -76,9 +76,9 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
result.Inventory.Items.Add(item);
}
result.Inventory.MainCharacter = inventory.MainCharacter;
- foreach (Character character in inventory.Squad)
+ foreach (long cid in inventory.Squad)
{
- result.Inventory.Squad.Add(character);
+ result.Inventory.Squad.Add(cid);
}
foreach (long cid in inventory.Training.Keys)
{