diff --git a/Api/Utility/General.cs b/Api/Utility/General.cs index 8868869..5307f17 100644 --- a/Api/Utility/General.cs +++ b/Api/Utility/General.cs @@ -174,7 +174,7 @@ namespace Milimoe.FunGame.Core.Api.Utility /// /// /// - public static string JsonSerialize(T obj) => Service.JsonManager.GetString(obj); + public static string JsonSerialize(T obj) => JsonManager.GetString(obj); /// /// 返回目标对象的Json字符串 可指定反序列化选项 @@ -183,7 +183,7 @@ namespace Milimoe.FunGame.Core.Api.Utility /// /// /// - public static string JsonSerialize(T obj, JsonSerializerOptions options) => Service.JsonManager.GetString(obj, options); + public static string JsonSerialize(T obj, JsonSerializerOptions options) => JsonManager.GetString(obj, options); /// /// 反序列化Json对象 @@ -191,7 +191,7 @@ namespace Milimoe.FunGame.Core.Api.Utility /// /// /// - public static T? JsonDeserialize(string json) => Service.JsonManager.GetObject(json); + public static T? JsonDeserialize(string json) => JsonManager.GetObject(json); /// /// 反序列化Json对象 使用 可指定反序列化选项 @@ -200,7 +200,7 @@ namespace Milimoe.FunGame.Core.Api.Utility /// /// /// - public static T? JsonDeserialize(ref Utf8JsonReader reader, JsonSerializerOptions options) => Service.JsonManager.GetObject(ref reader, options); + public static T? JsonDeserialize(ref Utf8JsonReader reader, JsonSerializerOptions options) => JsonManager.GetObject(ref reader, options); /// /// 反序列化Json对象 可指定反序列化选项 @@ -209,7 +209,7 @@ namespace Milimoe.FunGame.Core.Api.Utility /// /// /// - public static T? JsonDeserialize(string json, JsonSerializerOptions options) => Service.JsonManager.GetObject(json, options); + public static T? JsonDeserialize(string json, JsonSerializerOptions options) => JsonManager.GetObject(json, options); /// /// 反序列化Hashtable中的Json对象 @@ -218,7 +218,7 @@ namespace Milimoe.FunGame.Core.Api.Utility /// /// /// - public static T? JsonDeserializeFromHashtable(Hashtable hashtable, string key) => Service.JsonManager.GetObject(hashtable, key); + public static T? JsonDeserializeFromHashtable(Hashtable hashtable, string key) => JsonManager.GetObject(hashtable, key); /// /// 反序列化Dictionary中的Json对象 @@ -227,7 +227,7 @@ namespace Milimoe.FunGame.Core.Api.Utility /// /// /// - public static T? JsonDeserializeFromDictionary(Dictionary dict, string key) => Service.JsonManager.GetObject(dict, key); + public static T? JsonDeserializeFromDictionary(Dictionary dict, string key) => JsonManager.GetObject(dict, key); /// /// 反序列化IEnumerable中的Json对象 @@ -236,7 +236,7 @@ namespace Milimoe.FunGame.Core.Api.Utility /// /// /// - public static T? JsonDeserializeFromIEnumerable(IEnumerable e, int index) => Service.JsonManager.GetObject(e, index); + public static T? JsonDeserializeFromIEnumerable(IEnumerable e, int index) => JsonManager.GetObject(e, index); /// /// 反序列化IEnumerable中的Json对象 可指定反序列化选项 @@ -246,7 +246,7 @@ namespace Milimoe.FunGame.Core.Api.Utility /// /// /// - public static T? JsonDeserializeFromIEnumerable(IEnumerable e, int index, JsonSerializerOptions options) => Service.JsonManager.GetObject(e, index, options); + public static T? JsonDeserializeFromIEnumerable(IEnumerable e, int index, JsonSerializerOptions options) => JsonManager.GetObject(e, index, options); /// /// 反序列化Hashtable中的Json对象 可指定反序列化选项 @@ -256,7 +256,7 @@ namespace Milimoe.FunGame.Core.Api.Utility /// /// /// - public static T? JsonDeserializeFromHashtable(Hashtable hashtable, string key, JsonSerializerOptions options) => Service.JsonManager.GetObject(hashtable, key, options); + public static T? JsonDeserializeFromHashtable(Hashtable hashtable, string key, JsonSerializerOptions options) => JsonManager.GetObject(hashtable, key, options); /// /// 创建一个静态 HttpClient 实例,供整个应用程序生命周期使用 diff --git a/Entity/Character/Character.cs b/Entity/Character/Character.cs index 6bcf17f..30c6b1d 100644 --- a/Entity/Character/Character.cs +++ b/Entity/Character/Character.cs @@ -73,31 +73,31 @@ namespace Milimoe.FunGame.Core.Entity { get { - if (Promotion > GameplayEquilibriumConstant.PromotionsUpperLimit["S"]) + if (Promotion > GameplayEquilibriumConstant.PromotionSUpperLimit) { return RoleRating.X; } - else if (Promotion > GameplayEquilibriumConstant.PromotionsUpperLimit["A+"] && Promotion <= GameplayEquilibriumConstant.PromotionsUpperLimit["S"]) + else if (Promotion > GameplayEquilibriumConstant.PromotionAPlusUpperLimit && Promotion <= GameplayEquilibriumConstant.PromotionSUpperLimit) { return RoleRating.S; } - else if (Promotion > GameplayEquilibriumConstant.PromotionsUpperLimit["A"] && Promotion <= GameplayEquilibriumConstant.PromotionsUpperLimit["A+"]) + else if (Promotion > GameplayEquilibriumConstant.PromotionAUpperLimit && Promotion <= GameplayEquilibriumConstant.PromotionAPlusUpperLimit) { return RoleRating.APlus; } - else if (Promotion > GameplayEquilibriumConstant.PromotionsUpperLimit["B"] && Promotion <= GameplayEquilibriumConstant.PromotionsUpperLimit["A"]) + else if (Promotion > GameplayEquilibriumConstant.PromotionBUpperLimit && Promotion <= GameplayEquilibriumConstant.PromotionAUpperLimit) { return RoleRating.A; } - else if (Promotion > GameplayEquilibriumConstant.PromotionsUpperLimit["C"] && Promotion <= GameplayEquilibriumConstant.PromotionsUpperLimit["B"]) + else if (Promotion > GameplayEquilibriumConstant.PromotionCUpperLimit && Promotion <= GameplayEquilibriumConstant.PromotionBUpperLimit) { return RoleRating.B; } - else if (Promotion > GameplayEquilibriumConstant.PromotionsUpperLimit["D"] && Promotion <= GameplayEquilibriumConstant.PromotionsUpperLimit["C"]) + else if (Promotion > GameplayEquilibriumConstant.PromotionDUpperLimit && Promotion <= GameplayEquilibriumConstant.PromotionCUpperLimit) { return RoleRating.C; } - else if (Promotion > GameplayEquilibriumConstant.PromotionsUpperLimit["E"] && Promotion <= GameplayEquilibriumConstant.PromotionsUpperLimit["D"]) + else if (Promotion > GameplayEquilibriumConstant.PromotionEUpperLimit && Promotion <= GameplayEquilibriumConstant.PromotionDUpperLimit) { return RoleRating.D; } @@ -445,7 +445,7 @@ namespace Milimoe.FunGame.Core.Entity get { double value = (DEF / (DEF + GameplayEquilibriumConstant.DEFReductionFactor)) + ExPDR; - return Calculation.PercentageCheck(value); + return Math.Min(1, value); } } diff --git a/Entity/Character/MagicResistance.cs b/Entity/Character/MagicResistance.cs index 18fb28e..35ccab8 100644 --- a/Entity/Character/MagicResistance.cs +++ b/Entity/Character/MagicResistance.cs @@ -11,47 +11,83 @@ namespace Milimoe.FunGame.Core.Entity /// /// 无属性魔法抗性 /// - public double None { get; set; } = 0; + public double None + { + get => field; + set => field = Math.Min(1, value); + } /// /// 星痕魔法抗性 /// - public double Starmark { get; set; } = 0; + public double Starmark + { + get => field; + set => field = Math.Min(1, value); + } /// /// 纯粹结晶魔法抗性 /// - public double PurityNatural { get; set; } = 0; + public double PurityNatural + { + get => field; + set => field = Math.Min(1, value); + } /// /// 纯现代结晶魔法抗性 /// - public double PurityContemporary { get; set; } = 0; + public double PurityContemporary + { + get => field; + set => field = Math.Min(1, value); + } /// /// 光魔法抗性 /// - public double Bright { get; set; } = 0; + public double Bright + { + get => field; + set => field = Math.Min(1, value); + } /// /// 影魔法抗性 /// - public double Shadow { get; set; } = 0; + public double Shadow + { + get => field; + set => field = Math.Min(1, value); + } /// /// 元素魔法抗性 /// - public double Element { get; set; } = 0; + public double Element + { + get => field; + set => field = Math.Min(1, value); + } /// /// 紫宛魔法抗性 /// - public double Aster { get; set; } = 0; + public double Aster + { + get => field; + set => field = Math.Min(1, value); + } /// /// 时空魔法抗性 /// - public double SpatioTemporal { get; set; } = 0; + public double SpatioTemporal + { + get => field; + set => field = Math.Min(1, value); + } /// /// 平均魔法抗性 diff --git a/Library/Common/Network/HTTPClient.cs b/Library/Common/Network/HTTPClient.cs index cc4c9eb..e02180f 100644 --- a/Library/Common/Network/HTTPClient.cs +++ b/Library/Common/Network/HTTPClient.cs @@ -104,6 +104,21 @@ namespace Milimoe.FunGame.Core.Library.Common.Network return default; } + /// + /// 发送 POST 请求 + /// + /// + /// + /// + public async Task HttpPost(string url, string json) + { + HttpContent content = new StringContent(json, General.DefaultEncoding, "application/json"); + HttpResponseMessage response = await Instance.PostAsync(url, content); + response.EnsureSuccessStatusCode(); + + await response.Content.ReadAsStringAsync(); + } + /// /// 发送 POST 请求 /// diff --git a/Model/EquilibriumConstant.cs b/Model/EquilibriumConstant.cs index 8d34b8f..09dae7e 100644 --- a/Model/EquilibriumConstant.cs +++ b/Model/EquilibriumConstant.cs @@ -24,19 +24,44 @@ namespace Milimoe.FunGame.Core.Model public string InGameTime { get; set; } = "时间"; /// - /// 晋升点数上限 + /// 晋升点数上限 - X级 /// - public Dictionary PromotionsUpperLimit { get; set; } = new() - { - { "X", 999 }, - { "S", 998 }, - { "A+", 850 }, - { "A", 700 }, - { "B", 550 }, - { "C", 400 }, - { "D", 300 }, - { "E", 200 }, - }; + public int PromotionXUpperLimit { get; set; } = 999; + + /// + /// 晋升点数上限 - S级 + /// + public int PromotionSUpperLimit { get; set; } = 998; + + /// + /// 晋升点数上限 - A+级 + /// + public int PromotionAPlusUpperLimit { get; set; } = 850; + + /// + /// 晋升点数上限 - A级 + /// + public int PromotionAUpperLimit { get; set; } = 700; + + /// + /// 晋升点数上限 - B级 + /// + public int PromotionBUpperLimit { get; set; } = 550; + + /// + /// 晋升点数上限 - C级 + /// + public int PromotionCUpperLimit { get; set; } = 400; + + /// + /// 晋升点数上限 - D级 + /// + public int PromotionDUpperLimit { get; set; } = 300; + + /// + /// 晋升点数上限 - E级 + /// + public int PromotionEUpperLimit { get; set; } = 200; /// /// 使用的魔法类型 @@ -62,7 +87,7 @@ namespace Milimoe.FunGame.Core.Model public int MaxLevel { get; set; } = 60; /// - /// 经验值上限 + /// 经验值上限(key = 等级,value = 该等级的上限) /// public Dictionary EXPUpperLimit { get; set; } = new() {