From 91196ff6560c76519230ddda96c5377791af9b84 Mon Sep 17 00:00:00 2001 From: milimoe Date: Wed, 6 Nov 2024 01:11:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8A=80=E8=83=BD=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OshimaCore/Controllers/FunGameController.cs | 18 +++++++++--------- OshimaModules/Skills/魔法/冰霜攻击.cs | 7 ++++--- OshimaModules/Skills/魔法/心灵之霞.cs | 9 +++++---- OshimaModules/Skills/魔法/暗物质.cs | 9 +++++---- OshimaModules/Skills/魔法/次元上升.cs | 9 +++++---- OshimaModules/Skills/魔法/水之矢.cs | 7 ++++--- OshimaModules/Skills/魔法/火之矢.cs | 7 ++++--- OshimaModules/Skills/魔法/石之锤.cs | 7 ++++--- OshimaModules/Skills/魔法/风之轮.cs | 7 ++++--- 9 files changed, 44 insertions(+), 36 deletions(-) diff --git a/OshimaCore/Controllers/FunGameController.cs b/OshimaCore/Controllers/FunGameController.cs index a28f1b5..200fe04 100644 --- a/OshimaCore/Controllers/FunGameController.cs +++ b/OshimaCore/Controllers/FunGameController.cs @@ -66,9 +66,9 @@ namespace Oshima.Core.Controllers builder.AppendLine($"ǰʣ{stats.Top3rates * 100:0.##}%"); names = [.. FunGameSimulation.CharacterStatistics.OrderByDescending(kv => kv.Value.Rating).Select(kv => kv.Key.GetName())]; - builder.AppendLine($"÷֣{stats.Rating:0.##}#{names.IndexOf(character.GetName()) + 1}"); + builder.AppendLine($"÷֣{stats.Rating:0.0#}#{names.IndexOf(character.GetName()) + 1}"); - builder.AppendLine($"ϴ{stats.LastRank} / Σ{stats.AvgRank}"); + builder.AppendLine($"ϴ{stats.LastRank} / Σ{stats.AvgRank:0.##}"); return NetworkUtility.JsonSerialize(builder.ToString()); } @@ -115,7 +115,7 @@ namespace Oshima.Core.Controllers List names = [.. FunGameSimulation.TeamCharacterStatistics.OrderByDescending(kv => kv.Value.Winrates).Select(kv => kv.Key.GetName())]; builder.AppendLine($"ʤʣ{stats.Winrates * 100:0.##}%#{names.IndexOf(character.GetName()) + 1}"); names = [.. FunGameSimulation.TeamCharacterStatistics.OrderByDescending(kv => kv.Value.Rating).Select(kv => kv.Key.GetName())]; - builder.AppendLine($"÷֣{stats.Rating:0.##}#{names.IndexOf(character.GetName()) + 1}"); + builder.AppendLine($"÷֣{stats.Rating:0.0#}#{names.IndexOf(character.GetName()) + 1}"); return NetworkUtility.JsonSerialize(builder.ToString()); } @@ -139,7 +139,7 @@ namespace Oshima.Core.Controllers builder.AppendLine($"ܼƲ{stats.Plays}"); builder.AppendLine($"ܼƹھ{stats.Wins}"); builder.AppendLine($"ʤʣ{stats.Winrates * 100:0.##}%"); - builder.AppendLine($"÷֣{stats.Rating:0.##}"); + builder.AppendLine($"÷֣{stats.Rating:0.0#}"); strings.Add(builder.ToString()); } return NetworkUtility.JsonSerialize(strings); @@ -157,8 +157,8 @@ namespace Oshima.Core.Controllers builder.AppendLine($"ܼƹھ{stats.Wins}"); builder.AppendLine($"ʤʣ{stats.Winrates * 100:0.##}%"); builder.AppendLine($"ǰʣ{stats.Top3rates * 100:0.##}%"); - builder.AppendLine($"÷֣{stats.Rating:0.##}"); - builder.AppendLine($"ϴ{stats.LastRank} / Σ{stats.AvgRank}"); + builder.AppendLine($"÷֣{stats.Rating:0.0#}"); + builder.AppendLine($"ϴ{stats.LastRank} / Σ{stats.AvgRank:0.##}"); strings.Add(builder.ToString()); } return NetworkUtility.JsonSerialize(strings); @@ -181,7 +181,7 @@ namespace Oshima.Core.Controllers builder.AppendLine($"ܼƲ{stats.Plays}"); builder.AppendLine($"ܼƹھ{stats.Wins}"); builder.AppendLine($"ʤʣ{stats.Winrates * 100:0.##}%"); - builder.AppendLine($"÷֣{stats.Rating:0.##}"); + builder.AppendLine($"÷֣{stats.Rating:0.0#}"); strings.Add(builder.ToString()); } return NetworkUtility.JsonSerialize(strings); @@ -199,8 +199,8 @@ namespace Oshima.Core.Controllers builder.AppendLine($"ܼƹھ{stats.Wins}"); builder.AppendLine($"ʤʣ{stats.Winrates * 100:0.##}%"); builder.AppendLine($"ǰʣ{stats.Top3rates * 100:0.##}%"); - builder.AppendLine($"÷֣{stats.Rating:0.##}"); - builder.AppendLine($"ϴ{stats.LastRank} / Σ{stats.AvgRank}"); + builder.AppendLine($"÷֣{stats.Rating:0.0#}"); + builder.AppendLine($"ϴ{stats.LastRank} / Σ{stats.AvgRank:0.##}"); strings.Add(builder.ToString()); } return NetworkUtility.JsonSerialize(strings); diff --git a/OshimaModules/Skills/魔法/冰霜攻击.cs b/OshimaModules/Skills/魔法/冰霜攻击.cs index 1714de6..8f9f262 100644 --- a/OshimaModules/Skills/魔法/冰霜攻击.cs +++ b/OshimaModules/Skills/魔法/冰霜攻击.cs @@ -23,12 +23,13 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% 智力 [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; + public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% 智力 {(Skill.Level == 0 ? $"(+{等级系数 * 100:0.##}%/Lv)" : "")} [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; public override bool TargetSelf => false; public override int TargetCount => 1; - private double 基础伤害 => 90 + 60 * (Skill.Level - 1); - private double 系数 => 0.35 + 0.4 * (Skill.Level - 1); + private static double 等级系数 => 0.4; + private double 基础伤害 => Skill.Level != 0 ? 90 + 60 * (Skill.Level - 1) : 90; + private double 系数 => Skill.Level != 0 ? 0.35 + 等级系数 * (Skill.Level - 1) : 0.35; private double Damage => 基础伤害 + 系数 * Skill.Character?.INT ?? 0; public override void OnSkillCasted(Character caster, List targets, Dictionary others) diff --git a/OshimaModules/Skills/魔法/心灵之霞.cs b/OshimaModules/Skills/魔法/心灵之霞.cs index a5a3594..c755d59 100644 --- a/OshimaModules/Skills/魔法/心灵之霞.cs +++ b/OshimaModules/Skills/魔法/心灵之霞.cs @@ -23,13 +23,14 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {智力系数 * 100:0.##}% 智力 [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; + public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% 智力 {(Skill.Level == 0 ? $"(+{等级系数 * 100:0.##}%/Lv)" : "")} [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; public override bool TargetSelf => false; public override int TargetCount => 1; - private double 基础伤害 => 90 + 60 * (Skill.Level - 1); - private double 智力系数 => (0.5 + 0.6 * (Skill.Level - 1)); - private double Damage => 基础伤害 + 智力系数 * Skill.Character?.INT ?? 0; + private static double 等级系数 => 0.6; + private double 基础伤害 => Skill.Level != 0 ? 90 + 60 * (Skill.Level - 1) : 90; + private double 系数 => Skill.Level != 0 ? 0.5 + 等级系数 * (Skill.Level - 1) : 0.5; + private double Damage => 基础伤害 + 系数 * Skill.Character?.INT ?? 0; public override void OnSkillCasted(Character caster, List targets, Dictionary others) { diff --git a/OshimaModules/Skills/魔法/暗物质.cs b/OshimaModules/Skills/魔法/暗物质.cs index 011bba2..98ae78f 100644 --- a/OshimaModules/Skills/魔法/暗物质.cs +++ b/OshimaModules/Skills/魔法/暗物质.cs @@ -23,13 +23,14 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {智力系数 * 100:0.##}% 智力 [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; + public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% 智力 {(Skill.Level == 0 ? $"(+{等级系数 * 100:0.##}%/Lv)" : "")} [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; public override bool TargetSelf => false; public override int TargetCount => 1; - private double 基础伤害 => 90 + 60 * (Skill.Level - 1); - private double 智力系数 => (0.5 + 0.6 * (Skill.Level - 1)); - private double Damage => 基础伤害 + 智力系数 * Skill.Character?.INT ?? 0; + private static double 等级系数 => 0.6; + private double 基础伤害 => Skill.Level != 0 ? 90 + 60 * (Skill.Level - 1) : 90; + private double 系数 => Skill.Level != 0 ? 0.5 + 等级系数 * (Skill.Level - 1) : 0.5; + private double Damage => 基础伤害 + 系数 * Skill.Character?.INT ?? 0; public override void OnSkillCasted(Character caster, List targets, Dictionary others) { diff --git a/OshimaModules/Skills/魔法/次元上升.cs b/OshimaModules/Skills/魔法/次元上升.cs index ae7ea78..947f50d 100644 --- a/OshimaModules/Skills/魔法/次元上升.cs +++ b/OshimaModules/Skills/魔法/次元上升.cs @@ -23,13 +23,14 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {智力系数 * 100:0.##}% 智力 [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; + public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% 智力 {(Skill.Level == 0 ? $"(+{等级系数 * 100:0.##}%/Lv)" : "")} [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; public override bool TargetSelf => false; public override int TargetCount => 1; - private double 基础伤害 => 90 + 60 * (Skill.Level - 1); - private double 智力系数 => (0.5 + 0.6 * (Skill.Level - 1)); - private double Damage => 基础伤害 + 智力系数 * Skill.Character?.INT ?? 0; + private static double 等级系数 => 0.6; + private double 基础伤害 => Skill.Level != 0 ? 90 + 60 * (Skill.Level - 1) : 90; + private double 系数 => Skill.Level != 0 ? 0.5 + 等级系数 * (Skill.Level - 1) : 0.5; + private double Damage => 基础伤害 + 系数 * Skill.Character?.INT ?? 0; public override void OnSkillCasted(Character caster, List targets, Dictionary others) { diff --git a/OshimaModules/Skills/魔法/水之矢.cs b/OshimaModules/Skills/魔法/水之矢.cs index f07cebd..bc88d76 100644 --- a/OshimaModules/Skills/魔法/水之矢.cs +++ b/OshimaModules/Skills/魔法/水之矢.cs @@ -23,12 +23,13 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% {CharacterSet.GetPrimaryAttributeName(Skill.Character?.PrimaryAttribute ?? PrimaryAttribute.INT)} [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; + public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% {CharacterSet.GetPrimaryAttributeName(Skill.Character?.PrimaryAttribute ?? PrimaryAttribute.INT)} {(Skill.Level == 0 ? $"(+{等级系数 * 100:0.##}%/Lv)" : "")} [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; public override bool TargetSelf => false; public override int TargetCount => 1; - private double 基础伤害 => 85 + 65 * (Skill.Level - 1); - private double 系数 => 0.35 + 0.45 * (Skill.Level - 1); + private static double 等级系数 => 0.45; + private double 基础伤害 => Skill.Level != 0 ? 85 + 65 * (Skill.Level - 1) : 85; + private double 系数 => Skill.Level != 0 ? 0.35 + 等级系数 * (Skill.Level - 1) : 0.35; private double Damage => 基础伤害 + 系数 * Skill.Character?.PrimaryAttributeValue ?? 0; public override void OnSkillCasted(Character caster, List targets, Dictionary others) diff --git a/OshimaModules/Skills/魔法/火之矢.cs b/OshimaModules/Skills/魔法/火之矢.cs index f80c3cf..66815c3 100644 --- a/OshimaModules/Skills/魔法/火之矢.cs +++ b/OshimaModules/Skills/魔法/火之矢.cs @@ -23,12 +23,13 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% {CharacterSet.GetPrimaryAttributeName(Skill.Character?.PrimaryAttribute ?? PrimaryAttribute.INT)} [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; + public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% {CharacterSet.GetPrimaryAttributeName(Skill.Character?.PrimaryAttribute ?? PrimaryAttribute.INT)} {(Skill.Level == 0 ? $"(+{等级系数 * 100:0.##}%/Lv)" : "")} [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; public override bool TargetSelf => false; public override int TargetCount => 1; - private double 基础伤害 => 80 + 65 * (Skill.Level - 1); - private double 系数 => 0.45 + 0.35 * (Skill.Level - 1); + private static double 等级系数 => 0.35; + private double 基础伤害 => Skill.Level != 0 ? 80 + 65 * (Skill.Level - 1) : 80; + private double 系数 => Skill.Level != 0 ? 0.45 + 等级系数 * (Skill.Level - 1) : 0.45; private double Damage => 基础伤害 + 系数 * Skill.Character?.PrimaryAttributeValue ?? 0; public override void OnSkillCasted(Character caster, List targets, Dictionary others) diff --git a/OshimaModules/Skills/魔法/石之锤.cs b/OshimaModules/Skills/魔法/石之锤.cs index 220a9b3..c34e78c 100644 --- a/OshimaModules/Skills/魔法/石之锤.cs +++ b/OshimaModules/Skills/魔法/石之锤.cs @@ -23,12 +23,13 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% 力量 [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; + public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% 力量 {(Skill.Level == 0 ? $"(+{等级系数 * 100:0.##}%/Lv)" : "")} [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; public override bool TargetSelf => false; public override int TargetCount => 1; - private double 基础伤害 => 100 + 50 * (Skill.Level - 1); - private double 系数 => 0.7 + 0.4 * (Skill.Level - 1); + private static double 等级系数 => 0.4; + private double 基础伤害 => Skill.Level != 0 ? 100 + 50 * (Skill.Level - 1) : 100; + private double 系数 => Skill.Level != 0 ? 0.7 + 等级系数 * (Skill.Level - 1) : 0.7; private double Damage => 基础伤害 + 系数 * Skill.Character?.STR ?? 0; public override void OnSkillCasted(Character caster, List targets, Dictionary others) diff --git a/OshimaModules/Skills/魔法/风之轮.cs b/OshimaModules/Skills/魔法/风之轮.cs index 1396e66..71c346a 100644 --- a/OshimaModules/Skills/魔法/风之轮.cs +++ b/OshimaModules/Skills/魔法/风之轮.cs @@ -23,12 +23,13 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% 敏捷 [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; + public override string Description => $"对目标敌人造成 {基础伤害:0.##} + {系数 * 100:0.##}% 敏捷 {(Skill.Level == 0 ? $"(+{等级系数 * 100:0.##}%/Lv)" : "")} [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; public override bool TargetSelf => false; public override int TargetCount => 1; - private double 基础伤害 => 120 + 80 * (Skill.Level - 1); - private double 系数 => 0.4 + 0.4 * (Skill.Level - 1); + private static double 等级系数 => 0.4; + private double 基础伤害 => Skill.Level != 0 ? 120 + 80 * (Skill.Level - 1) : 120; + private double 系数 => Skill.Level != 0 ? 0.4 + 等级系数 * (Skill.Level - 1) : 0.4; private double Damage => 基础伤害 + 系数 * Skill.Character?.AGI ?? 0; public override void OnSkillCasted(Character caster, List targets, Dictionary others)