mirror of
https://github.com/project-redbud/FunGame-Core.git
synced 2025-04-22 03:59:35 +08:00
添加攻击力、护甲、三围的百分比属性
This commit is contained in:
parent
c7c33938bf
commit
1fbdae64fb
@ -236,7 +236,7 @@ namespace Milimoe.FunGame.Core.Entity
|
|||||||
public double ExMP2 { get; set; } = 0;
|
public double ExMP2 { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 额外魔法值2 [ 额外魔法值% ]
|
/// 额外魔法值3 [ 额外魔法值% ]
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public double ExMP3 => (BaseMP + ExMP + ExMP2) * ExMPPercentage;
|
public double ExMP3 => (BaseMP + ExMP + ExMP2) * ExMPPercentage;
|
||||||
|
|
||||||
@ -341,9 +341,19 @@ namespace Milimoe.FunGame.Core.Entity
|
|||||||
public double ExATK2 { get; set; } = 0;
|
public double ExATK2 { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 攻击力 = 基础攻击力 + 额外攻击力 + 额外攻击力2
|
/// 额外攻击力3 [ 额外攻击力% ]
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public double ATK => BaseATK + ExATK + ExATK2;
|
public double ExATK3 => (BaseATK + ExATK + ExATK2) * ExATKPercentage;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 额外攻击力% [ 与技能和物品相关 ]
|
||||||
|
/// </summary>
|
||||||
|
public double ExATKPercentage { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 攻击力 = 基础攻击力 + 额外攻击力 + 额外攻击力2 + 额外攻击力3
|
||||||
|
/// </summary>
|
||||||
|
public double ATK => BaseATK + ExATK + ExATK2 + ExATK3;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 初始物理护甲 [ 初始设定 ]
|
/// 初始物理护甲 [ 初始设定 ]
|
||||||
@ -367,9 +377,19 @@ namespace Milimoe.FunGame.Core.Entity
|
|||||||
public double ExDEF2 { get; set; } = 0;
|
public double ExDEF2 { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 物理护甲 = 基础物理护甲 + 额外物理护甲 + 额外物理护甲2
|
/// 额外物理护甲3 [ 额外物理护甲% ]
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public double DEF => BaseDEF + ExDEF + ExDEF2;
|
public double ExDEF3 => (BaseDEF + ExDEF + ExDEF2) * ExDEFPercentage;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 额外物理护甲% [ 与技能和物品相关 ]
|
||||||
|
/// </summary>
|
||||||
|
public double ExDEFPercentage { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 物理护甲 = 基础物理护甲 + 额外物理护甲 + 额外物理护甲2 + 额外物理护甲3
|
||||||
|
/// </summary>
|
||||||
|
public double DEF => BaseDEF + ExDEF + ExDEF2 + ExDEF3;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 物理伤害减免(%) = [ 与物理护甲相关 ] + 额外物理伤害减免(%)
|
/// 物理伤害减免(%) = [ 与物理护甲相关 ] + 额外物理伤害减免(%)
|
||||||
@ -575,19 +595,49 @@ namespace Milimoe.FunGame.Core.Entity
|
|||||||
public double ExINT { get; set; } = 0;
|
public double ExINT { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 力量 = 基础力量 + 额外力量
|
/// 额外力量2 [ 额外力量% ]
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public double STR => BaseSTR + ExSTR;
|
public double ExSTR2 => (BaseSTR + ExSTR) * ExSTRPercentage;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 敏捷 = 基础敏捷 + 额外敏捷
|
/// 额外敏捷2 [ 额外敏捷% ]
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public double AGI => BaseAGI + ExAGI;
|
public double ExAGI2 => (BaseAGI + ExAGI) * ExAGIPercentage;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 智力 = 基础智力 + 额外智力
|
/// 额外智力2 [ 额外智力% ]
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public double INT => BaseINT + ExINT;
|
public double ExINT2 => (BaseINT + ExINT) * ExINTPercentage;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 额外力量% [ 与技能和物品相关 ]
|
||||||
|
/// </summary>
|
||||||
|
public double ExSTRPercentage { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 额外敏捷% [ 与技能和物品相关 ]
|
||||||
|
/// </summary>
|
||||||
|
public double ExAGIPercentage { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 额外智力% [ 与技能和物品相关 ]
|
||||||
|
/// </summary>
|
||||||
|
public double ExINTPercentage { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 力量 = 基础力量 + 额外力量 + 额外力量2
|
||||||
|
/// </summary>
|
||||||
|
public double STR => BaseSTR + ExSTR + ExSTR2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 敏捷 = 基础敏捷 + 额外敏捷 + 额外敏捷2
|
||||||
|
/// </summary>
|
||||||
|
public double AGI => BaseAGI + ExAGI + ExAGI2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 智力 = 基础智力 + 额外智力 + 额外智力2
|
||||||
|
/// </summary>
|
||||||
|
public double INT => BaseINT + ExINT + ExINT2;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 力量成长值(+BaseSTR/Lv)
|
/// 力量成长值(+BaseSTR/Lv)
|
||||||
|
@ -89,15 +89,21 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
|
|||||||
case nameof(Character.InitialATK):
|
case nameof(Character.InitialATK):
|
||||||
result.InitialATK = reader.GetDouble();
|
result.InitialATK = reader.GetDouble();
|
||||||
break;
|
break;
|
||||||
case nameof(Character.ExATK):
|
case nameof(Character.ExATK2):
|
||||||
result.ExATK2 = reader.GetDouble();
|
result.ExATK2 = reader.GetDouble();
|
||||||
break;
|
break;
|
||||||
|
case nameof(Character.ExATKPercentage):
|
||||||
|
result.ExATKPercentage = reader.GetDouble();
|
||||||
|
break;
|
||||||
case nameof(Character.InitialDEF):
|
case nameof(Character.InitialDEF):
|
||||||
result.InitialDEF = reader.GetDouble();
|
result.InitialDEF = reader.GetDouble();
|
||||||
break;
|
break;
|
||||||
case nameof(Character.ExDEF):
|
case nameof(Character.ExDEF2):
|
||||||
result.ExDEF2 = reader.GetDouble();
|
result.ExDEF2 = reader.GetDouble();
|
||||||
break;
|
break;
|
||||||
|
case nameof(Character.ExDEFPercentage):
|
||||||
|
result.ExDEFPercentage = reader.GetDouble();
|
||||||
|
break;
|
||||||
case nameof(Character.MDF):
|
case nameof(Character.MDF):
|
||||||
result.MDF = NetworkUtility.JsonDeserialize<MagicResistance>(ref reader, options) ?? new();
|
result.MDF = NetworkUtility.JsonDeserialize<MagicResistance>(ref reader, options) ?? new();
|
||||||
break;
|
break;
|
||||||
@ -143,6 +149,15 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
|
|||||||
case nameof(Character.ExINT):
|
case nameof(Character.ExINT):
|
||||||
result.ExINT = reader.GetDouble();
|
result.ExINT = reader.GetDouble();
|
||||||
break;
|
break;
|
||||||
|
case nameof(Character.ExSTRPercentage):
|
||||||
|
result.ExSTRPercentage = reader.GetDouble();
|
||||||
|
break;
|
||||||
|
case nameof(Character.ExAGIPercentage):
|
||||||
|
result.ExAGIPercentage = reader.GetDouble();
|
||||||
|
break;
|
||||||
|
case nameof(Character.ExINTPercentage):
|
||||||
|
result.ExINTPercentage = reader.GetDouble();
|
||||||
|
break;
|
||||||
case nameof(Character.STRGrowth):
|
case nameof(Character.STRGrowth):
|
||||||
result.STRGrowth = reader.GetDouble();
|
result.STRGrowth = reader.GetDouble();
|
||||||
break;
|
break;
|
||||||
@ -227,8 +242,10 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
|
|||||||
writer.WriteNumber(nameof(Character.EP), value.EP);
|
writer.WriteNumber(nameof(Character.EP), value.EP);
|
||||||
writer.WriteNumber(nameof(Character.InitialATK), value.InitialATK);
|
writer.WriteNumber(nameof(Character.InitialATK), value.InitialATK);
|
||||||
writer.WriteNumber(nameof(Character.ExATK2), value.ExATK2);
|
writer.WriteNumber(nameof(Character.ExATK2), value.ExATK2);
|
||||||
|
writer.WriteNumber(nameof(Character.ExATKPercentage), value.ExATKPercentage);
|
||||||
writer.WriteNumber(nameof(Character.InitialDEF), value.InitialDEF);
|
writer.WriteNumber(nameof(Character.InitialDEF), value.InitialDEF);
|
||||||
writer.WriteNumber(nameof(Character.ExDEF2), value.ExDEF2);
|
writer.WriteNumber(nameof(Character.ExDEF2), value.ExDEF2);
|
||||||
|
writer.WriteNumber(nameof(Character.ExDEFPercentage), value.ExDEFPercentage);
|
||||||
writer.WritePropertyName(nameof(Character.MDF));
|
writer.WritePropertyName(nameof(Character.MDF));
|
||||||
JsonSerializer.Serialize(writer, value.MDF, options);
|
JsonSerializer.Serialize(writer, value.MDF, options);
|
||||||
writer.WriteNumber(nameof(Character.PhysicalPenetration), value.PhysicalPenetration);
|
writer.WriteNumber(nameof(Character.PhysicalPenetration), value.PhysicalPenetration);
|
||||||
@ -244,6 +261,9 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
|
|||||||
writer.WriteNumber(nameof(Character.ExSTR), value.ExSTR);
|
writer.WriteNumber(nameof(Character.ExSTR), value.ExSTR);
|
||||||
writer.WriteNumber(nameof(Character.ExAGI), value.ExAGI);
|
writer.WriteNumber(nameof(Character.ExAGI), value.ExAGI);
|
||||||
writer.WriteNumber(nameof(Character.ExINT), value.ExINT);
|
writer.WriteNumber(nameof(Character.ExINT), value.ExINT);
|
||||||
|
writer.WriteNumber(nameof(Character.ExSTRPercentage), value.ExSTRPercentage);
|
||||||
|
writer.WriteNumber(nameof(Character.ExAGIPercentage), value.ExAGIPercentage);
|
||||||
|
writer.WriteNumber(nameof(Character.ExINTPercentage), value.ExINTPercentage);
|
||||||
writer.WriteNumber(nameof(Character.STRGrowth), value.STRGrowth);
|
writer.WriteNumber(nameof(Character.STRGrowth), value.STRGrowth);
|
||||||
writer.WriteNumber(nameof(Character.AGIGrowth), value.AGIGrowth);
|
writer.WriteNumber(nameof(Character.AGIGrowth), value.AGIGrowth);
|
||||||
writer.WriteNumber(nameof(Character.INTGrowth), value.INTGrowth);
|
writer.WriteNumber(nameof(Character.INTGrowth), value.INTGrowth);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user