From dd16b494288a947d73284b27b6cdaed6c467a42f Mon Sep 17 00:00:00 2001 From: milimoe Date: Sat, 19 Oct 2024 02:05:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20round=20=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OshimaCore/Configs/OSMCore.cs | 2 +- OshimaCore/Controllers/FunGameController.cs | 1 - OshimaCore/Controllers/QQController.cs | 24 +++++++++++--- OshimaCore/Controllers/UserDailyController.cs | 2 +- OshimaCore/Utils/FunGameUtil.cs | 4 +-- OshimaModules/Controllers/Controller.cs | 7 ----- OshimaModules/ItemEffects/技能硬直时间减少.cs | 13 ++++---- OshimaModules/ItemEffects/攻击力加成.cs | 2 +- OshimaModules/ItemEffects/普攻硬直时间减少.cs | 9 +++--- OshimaModules/ItemEffects/物理护甲加成.cs | 2 +- OshimaModules/Items/Weapon/独奏弓.cs | 2 +- OshimaModules/Skills/ColdBlue/嗜血本能.cs | 9 +++--- OshimaModules/Skills/ColdBlue/累积之压.cs | 5 ++- OshimaModules/Skills/MagicalGirl/毁灭之势.cs | 11 +++---- OshimaModules/Skills/MagicalGirl/绝对领域.cs | 13 ++++---- OshimaModules/Skills/Mayor/精准打击.cs | 7 ++--- OshimaModules/Skills/NanGanyu/灵能反射.cs | 19 ++++-------- OshimaModules/Skills/NiuNan/变幻之心.cs | 17 +++++----- OshimaModules/Skills/Oshima/META马.cs | 11 +++---- OshimaModules/Skills/Oshima/力量爆发.cs | 13 ++++---- OshimaModules/Skills/QWQAQW/玻璃大炮.cs | 31 +++++++++---------- OshimaModules/Skills/QWQAQW/迅捷之势.cs | 13 ++++---- OshimaModules/Skills/QingXiang/枯竭打击.cs | 9 +++--- OshimaModules/Skills/QingXiang/能量毁灭.cs | 13 ++++---- OshimaModules/Skills/QuDuoduo/弱者猎手.cs | 9 +++--- OshimaModules/Skills/QuDuoduo/血之狂欢.cs | 9 +++--- OshimaModules/Skills/XinYin/天赐之力.cs | 15 +++++---- OshimaModules/Skills/XinYin/心灵之火.cs | 7 ++--- OshimaModules/Skills/Yang/魔法涌流.cs | 9 +++--- OshimaModules/Skills/dddovo/平衡强化.cs | 2 +- OshimaModules/Skills/dddovo/敏捷之刃.cs | 5 ++- OshimaModules/Skills/战技/疾风步.cs | 13 ++++---- OshimaModules/Skills/魔法/冰霜攻击.cs | 7 ++--- 33 files changed, 147 insertions(+), 168 deletions(-) delete mode 100644 OshimaModules/Controllers/Controller.cs diff --git a/OshimaCore/Configs/OSMCore.cs b/OshimaCore/Configs/OSMCore.cs index aa1edef..5def975 100644 --- a/OshimaCore/Configs/OSMCore.cs +++ b/OshimaCore/Configs/OSMCore.cs @@ -6,7 +6,7 @@ namespace Oshima.Core.Configs public class OSMCore { public const string version = "v1.0"; - public const string version2 = "Beta4"; + public const string version2 = "Beta5"; public static string Info => $"OSM Core {version} {version2}\r\nAuthor: Milimoe\r\nBuilt on {GetBuiltTime(Assembly.GetExecutingAssembly().Location)}\r\nSee: https://github.com/milimoe"; diff --git a/OshimaCore/Controllers/FunGameController.cs b/OshimaCore/Controllers/FunGameController.cs index 7f1e444..e78a6fe 100644 --- a/OshimaCore/Controllers/FunGameController.cs +++ b/OshimaCore/Controllers/FunGameController.cs @@ -3,7 +3,6 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Milimoe.FunGame.Core.Api.Utility; using Milimoe.FunGame.Core.Entity; -using Oshima.Core.Configs; using Oshima.Core.Models; using Oshima.Core.Utils; diff --git a/OshimaCore/Controllers/QQController.cs b/OshimaCore/Controllers/QQController.cs index a1e0d2b..33a058c 100644 --- a/OshimaCore/Controllers/QQController.cs +++ b/OshimaCore/Controllers/QQController.cs @@ -13,11 +13,11 @@ namespace Oshima.Core.Controllers private readonly ILogger _logger = logger; [HttpPost("bind")] - public string Post([FromBody] BindQQ b) + public string Bind([FromBody] BindQQ b) { - if (QQOpenID.QQAndOpenID.Values.Any(qq => qq == b.QQ)) + if (b.Openid.Trim() == "" || b.QQ <= 0) { - return NetworkUtility.JsonSerialize($"QQѱ˰󶨣ǴQQˣϵͷ"); + return NetworkUtility.JsonSerialize("ȷOpenIDQQ"); } if (QQOpenID.QQAndOpenID.TryGetValue(b.Openid, out long bindqq) && bindqq != 0) @@ -25,6 +25,11 @@ namespace Oshima.Core.Controllers return NetworkUtility.JsonSerialize($"Ѿ󶨹{bindqq}󶨴ϵͷ"); } + if (QQOpenID.QQAndOpenID.Values.Any(qq => qq == b.QQ && b.Openid != b.Openid)) + { + return NetworkUtility.JsonSerialize($"QQ {b.QQ} ѱ˰󶨣ǴQQˣϵͷ"); + } + if (QQOpenID.QQAndOpenID.TryAdd(b.Openid, b.QQ)) { QQOpenID.SaveConfig(); @@ -34,7 +39,18 @@ namespace Oshima.Core.Controllers return NetworkUtility.JsonSerialize($"ʧܣԺԣʧϵͷ"); } - return NetworkUtility.JsonSerialize("󶨳ɹ"); + return NetworkUtility.JsonSerialize("󶨳ɹҪ󶨣뷢͡+QQš磺123456789"); + } + + [HttpPost("unbind")] + public string Unbind([FromBody] BindQQ b) + { + if (QQOpenID.QQAndOpenID.TryGetValue(b.Openid, out long bindqq) && bindqq == b.QQ && QQOpenID.QQAndOpenID.Remove(b.Openid)) + { + return NetworkUtility.JsonSerialize($"ɹ"); + } + + return NetworkUtility.JsonSerialize("ʧܣûв鵽󶨵Ϣߴ˺ѱ˰󶨣ǴQQˣϵͷ"); } } } diff --git a/OshimaCore/Controllers/UserDailyController.cs b/OshimaCore/Controllers/UserDailyController.cs index 5c8088e..02f97b9 100644 --- a/OshimaCore/Controllers/UserDailyController.cs +++ b/OshimaCore/Controllers/UserDailyController.cs @@ -24,7 +24,7 @@ namespace Oshima.Core.Controllers { return UserDailyUtil.ViewUserDaily(user_id); } - + [HttpPost("open/{open_id}", Name = "GetOpenUserDaily")] public UserDaily Open(string open_id) { diff --git a/OshimaCore/Utils/FunGameUtil.cs b/OshimaCore/Utils/FunGameUtil.cs index c73b1be..97d1550 100644 --- a/OshimaCore/Utils/FunGameUtil.cs +++ b/OshimaCore/Utils/FunGameUtil.cs @@ -320,7 +320,7 @@ namespace Oshima.Core.Utils Dictionary 他们的血量百分比 = []; foreach (Character c in characters) { - 他们的血量百分比.TryAdd(c, Calculation.Round4Digits(c.HP / c.MaxHP)); + 他们的血量百分比.TryAdd(c, c.HP / c.MaxHP); } double max = 他们的血量百分比.Values.Max(); Character winner = 他们的血量百分比.Keys.Where(c => 他们的血量百分比[c] == max).First(); @@ -378,7 +378,7 @@ namespace Oshima.Core.Utils if (PrintOut) { Console.WriteLine("--- End ---"); - Console.WriteLine("总游戏时长:" + Calculation.Round2Digits(totalTime)); + Console.WriteLine($"总游戏时长:{totalTime:0.##}"); Console.WriteLine(""); } diff --git a/OshimaModules/Controllers/Controller.cs b/OshimaModules/Controllers/Controller.cs deleted file mode 100644 index e904f28..0000000 --- a/OshimaModules/Controllers/Controller.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Oshima.FunGame.OshimaModules.Controllers -{ - public class Controller - { - - } -} diff --git a/OshimaModules/ItemEffects/技能硬直时间减少.cs b/OshimaModules/ItemEffects/技能硬直时间减少.cs index ffd88b7..7a58a45 100644 --- a/OshimaModules/ItemEffects/技能硬直时间减少.cs +++ b/OshimaModules/ItemEffects/技能硬直时间减少.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.ItemEffects @@ -8,7 +7,7 @@ namespace Oshima.FunGame.OshimaModules.ItemEffects { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"减少角色的所有主动技能 {实际硬直时间减少} 硬直时间。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); + public override string Description => $"减少角色的所有主动技能 {实际硬直时间减少:0.##} 硬直时间。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; public override bool TargetSelf => true; @@ -19,12 +18,12 @@ namespace Oshima.FunGame.OshimaModules.ItemEffects { foreach (Skill s in character.Skills) { - s.HardnessTime = Calculation.Round2Digits(s.HardnessTime - 实际硬直时间减少); + s.HardnessTime -= 实际硬直时间减少; } foreach (Skill? s in character.Items.Select(i => i.Skills.Active)) { if (s != null) - s.HardnessTime = Calculation.Round2Digits(s.HardnessTime - 实际硬直时间减少); + s.HardnessTime -= 实际硬直时间减少; } } @@ -32,12 +31,12 @@ namespace Oshima.FunGame.OshimaModules.ItemEffects { foreach (Skill s in character.Skills) { - s.HardnessTime = Calculation.Round2Digits(s.HardnessTime + 实际硬直时间减少); + s.HardnessTime += 实际硬直时间减少; } foreach (Skill? s in character.Items.Select(i => i.Skills.Active)) { if (s != null) - s.HardnessTime = Calculation.Round2Digits(s.HardnessTime + 实际硬直时间减少); + s.HardnessTime += 实际硬直时间减少; } } diff --git a/OshimaModules/ItemEffects/攻击力加成.cs b/OshimaModules/ItemEffects/攻击力加成.cs index ae0a690..25a9323 100644 --- a/OshimaModules/ItemEffects/攻击力加成.cs +++ b/OshimaModules/ItemEffects/攻击力加成.cs @@ -7,7 +7,7 @@ namespace Oshima.FunGame.OshimaModules.ItemEffects { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"增加角色 {实际攻击力加成} 点攻击力。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); + public override string Description => $"增加角色 {实际攻击力加成:0.##} 点攻击力。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; public override bool TargetSelf => true; diff --git a/OshimaModules/ItemEffects/普攻硬直时间减少.cs b/OshimaModules/ItemEffects/普攻硬直时间减少.cs index 0e86e3c..ae327b4 100644 --- a/OshimaModules/ItemEffects/普攻硬直时间减少.cs +++ b/OshimaModules/ItemEffects/普攻硬直时间减少.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.ItemEffects @@ -8,7 +7,7 @@ namespace Oshima.FunGame.OshimaModules.ItemEffects { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"减少角色的普通攻击 {实际硬直时间减少} 硬直时间。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); + public override string Description => $"减少角色的普通攻击 {实际硬直时间减少:0.##} 硬直时间。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; public override bool TargetSelf => true; @@ -17,12 +16,12 @@ namespace Oshima.FunGame.OshimaModules.ItemEffects public override void OnEffectGained(Character character) { - character.NormalAttack.HardnessTime = Calculation.Round2Digits(character.NormalAttack.HardnessTime - 实际硬直时间减少); ; + character.NormalAttack.HardnessTime -= 实际硬直时间减少; } public override void OnEffectLost(Character character) { - character.NormalAttack.HardnessTime = Calculation.Round2Digits(character.NormalAttack.HardnessTime + 实际硬直时间减少); ; + character.NormalAttack.HardnessTime += 实际硬直时间减少; } public 普攻硬直时间减少(Skill skill, Character? source, Item? item, double reduce) : base(skill) diff --git a/OshimaModules/ItemEffects/物理护甲加成.cs b/OshimaModules/ItemEffects/物理护甲加成.cs index 8cf5ffd..41009b2 100644 --- a/OshimaModules/ItemEffects/物理护甲加成.cs +++ b/OshimaModules/ItemEffects/物理护甲加成.cs @@ -7,7 +7,7 @@ namespace Oshima.FunGame.OshimaModules.ItemEffects { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"增加角色 {实际物理护甲加成} 点物理护甲。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); + public override string Description => $"增加角色 {实际物理护甲加成:0.##} 点物理护甲。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; public override bool TargetSelf => true; diff --git a/OshimaModules/Items/Weapon/独奏弓.cs b/OshimaModules/Items/Weapon/独奏弓.cs index f628e1c..3581561 100644 --- a/OshimaModules/Items/Weapon/独奏弓.cs +++ b/OshimaModules/Items/Weapon/独奏弓.cs @@ -22,7 +22,7 @@ namespace Oshima.FunGame.OshimaModules.Items { public override long Id => 5999; public override string Name => "独奏弓"; - public override string Description => $"增加角色 {攻击力加成} 点攻击力,减少普通攻击 {硬直时间减少} 硬直时间。"; + public override string Description => $"增加角色 {攻击力加成:0.##} 点攻击力,减少普通攻击 {硬直时间减少:0.##} 硬直时间。"; private readonly double 攻击力加成 = 80; private readonly double 硬直时间减少 = 2; diff --git a/OshimaModules/Skills/ColdBlue/嗜血本能.cs b/OshimaModules/Skills/ColdBlue/嗜血本能.cs index 8430930..57b7d37 100644 --- a/OshimaModules/Skills/ColdBlue/嗜血本能.cs +++ b/OshimaModules/Skills/ColdBlue/嗜血本能.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; using Oshima.FunGame.OshimaModules.Effects; @@ -30,7 +29,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override double Duration => 30; public HashSet 角色有第四层 { get; } = []; - private double 吸血 => Calculation.Round4Digits(0.03 * Level); + private double 吸血 => 0.03 * Level; public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) { @@ -45,9 +44,9 @@ namespace Oshima.FunGame.OshimaModules.Skills { 层数 = 4; } - double 实际吸血 = Calculation.Round2Digits(吸血 * 层数 * damage); + double 实际吸血 = 吸血 * 层数 * damage; character.HP += 实际吸血; - WriteLine($"[ {character} ] 回复了 {实际吸血} 点生命值!"); + WriteLine($"[ {character} ] 回复了 {实际吸血:0.##} 点生命值!"); } } diff --git a/OshimaModules/Skills/ColdBlue/累积之压.cs b/OshimaModules/Skills/ColdBlue/累积之压.cs index fd27601..23d5c08 100644 --- a/OshimaModules/Skills/ColdBlue/累积之压.cs +++ b/OshimaModules/Skills/ColdBlue/累积之压.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; using Oshima.FunGame.OshimaModules.Effects; @@ -57,7 +56,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { // 移除标记 enemy.Effects.Remove(e); - double 额外伤害 = Calculation.Round2Digits(enemy.MaxHP * 系数); + double 额外伤害 = enemy.MaxHP * 系数; WriteLine($"[ {character} ] 发动了累积之压!将对 [ {enemy} ] 造成眩晕和额外伤害!"); // 眩晕 IEnumerable effects3 = enemy.Effects.Where(e => e is 眩晕 && e.Skill == Skill); diff --git a/OshimaModules/Skills/MagicalGirl/毁灭之势.cs b/OshimaModules/Skills/MagicalGirl/毁灭之势.cs index bd306df..db9c2f4 100644 --- a/OshimaModules/Skills/MagicalGirl/毁灭之势.cs +++ b/OshimaModules/Skills/MagicalGirl/毁灭之势.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -42,9 +41,9 @@ namespace Oshima.FunGame.OshimaModules.Skills if (character == Skill.Character) { - double 实际伤害提升 = Calculation.Round2Digits(damage * 累计伤害); - damage = Calculation.Round2Digits(damage + 实际伤害提升); - if (实际伤害提升 > 0) WriteLine($"[ {character} ] 的伤害提升了 {实际伤害提升} 点!"); + double 实际伤害提升 = damage * 累计伤害; + damage += 实际伤害提升; + if (实际伤害提升 > 0) WriteLine($"[ {character} ] 的伤害提升了 {实际伤害提升:0.##} 点!"); } } return false; @@ -52,7 +51,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override void OnTimeElapsed(Character character, double eapsed) { - 累计伤害 = Calculation.Round4Digits(累计伤害 + 伤害提升 * eapsed); + 累计伤害 += 伤害提升 * eapsed; WriteLine($"[ {character} ] 的 [ {Name} ] 效果增加了,当前总提升:{累计伤害 * 100:0.##}%。"); } } diff --git a/OshimaModules/Skills/MagicalGirl/绝对领域.cs b/OshimaModules/Skills/MagicalGirl/绝对领域.cs index 4803f36..f14423e 100644 --- a/OshimaModules/Skills/MagicalGirl/绝对领域.cs +++ b/OshimaModules/Skills/MagicalGirl/绝对领域.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -23,13 +22,13 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"{Duration} 时间内无法受到任何伤害,且敏捷提升 {系数 * 100:0.##}% [ {敏捷提升} ]。此技能会消耗至少 100 点能量。"; + public override string Description => $"{Duration:0.##} 时间内无法受到任何伤害,且敏捷提升 {系数 * 100:0.##}% [ {敏捷提升:0.##} ]。此技能会消耗至少 100 点能量。"; public override bool TargetSelf => true; public override bool Durative => true; - public override double Duration => Calculation.Round2Digits(16 + 释放时的能量值 * 0.03); + public override double Duration => 16 + 释放时的能量值 * 0.03; - private double 系数 => Calculation.Round4Digits(0.3 + 0.03 * (Level - 1)); - private double 敏捷提升 => Calculation.Round2Digits(系数 * Skill.Character?.BaseAGI ?? 0); + private double 系数 => 0.3 + 0.03 * (Level - 1); + private double 敏捷提升 => 系数 * Skill.Character?.BaseAGI ?? 0; private double 实际敏捷提升 = 0; private double 释放时的能量值 = 0; @@ -37,7 +36,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { 实际敏捷提升 = 敏捷提升; character.ExAGI += 实际敏捷提升; - WriteLine($"[ {character} ] 的敏捷提升了 {系数 * 100:0.##}% [ {实际敏捷提升} ] !"); + WriteLine($"[ {character} ] 的敏捷提升了 {系数 * 100:0.##}% [ {实际敏捷提升:0.##} ] !"); } public override void OnEffectLost(Character character) diff --git a/OshimaModules/Skills/Mayor/精准打击.cs b/OshimaModules/Skills/Mayor/精准打击.cs index ec086af..76cd52b 100644 --- a/OshimaModules/Skills/Mayor/精准打击.cs +++ b/OshimaModules/Skills/Mayor/精准打击.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -28,8 +27,8 @@ namespace Oshima.FunGame.OshimaModules.Skills public override bool Durative => true; public override double Duration => 30; - private double 暴击率提升 => Calculation.Round4Digits(0.2 + 0.03 * (Level - 1)); - private double 暴击伤害提升 => Calculation.Round4Digits(0.8 + 0.04 * (Level - 1)); + private double 暴击率提升 => 0.2 + 0.03 * (Level - 1); + private double 暴击伤害提升 => 0.8 + 0.04 * (Level - 1); private double 实际暴击率提升 = 0; private double 实际暴击伤害提升 = 0; diff --git a/OshimaModules/Skills/NanGanyu/灵能反射.cs b/OshimaModules/Skills/NanGanyu/灵能反射.cs index e6f2e38..eecb192 100644 --- a/OshimaModules/Skills/NanGanyu/灵能反射.cs +++ b/OshimaModules/Skills/NanGanyu/灵能反射.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -25,19 +24,13 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"每释放 {触发硬直次数} 次魔法才会触发硬直时间,且魔法命中时基于 25% 智力 [ {获得额外能量值} ] 获得额外能量值。"; + public override string Description => $"每释放 {触发硬直次数:0.##} 次魔法才会触发硬直时间,且魔法命中时基于 25% 智力 [ {获得额外能量值:0.##} ] 获得额外能量值。"; public override bool TargetSelf => true; public bool 是否支持普攻 { get; set; } = false; public int 触发硬直次数 { get; set; } = 2; public int 释放次数 { get; set; } = 0; - public double 获得额外能量值 - { - get - { - return Calculation.Round2Digits(0.25 * Skill.Character?.INT ?? 0); - } - } + public double 获得额外能量值 => 0.25 * Skill.Character?.INT ?? 0; public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) { @@ -45,13 +38,13 @@ namespace Oshima.FunGame.OshimaModules.Skills { double 实际获得能量值 = 获得额外能量值; character.EP += 实际获得能量值; - WriteLine("[ " + character + " ] 发动了灵能反射!额外获得了 " + 实际获得能量值 + " 能量!"); + WriteLine($"[ {character} ] 发动了灵能反射!额外获得了 {实际获得能量值:0.##} 能量!"); IEnumerable effects = character.Effects.Where(e => e is 三重叠加特效); if (effects.Any() && effects.First() is 三重叠加特效 e) { - double 获得的魔法值 = Calculation.Round2Digits(实际获得能量值 * 10); + double 获得的魔法值 = 实际获得能量值 * 10; character.MP += 获得的魔法值; - WriteLine("[ " + character + " ] 发动了三重叠加!回复了 " + 获得的魔法值 + " 魔法值!"); + WriteLine($"[ {character} ] 发动了三重叠加!回复了 {获得的魔法值:0.##} 魔法值!"); } } } diff --git a/OshimaModules/Skills/NiuNan/变幻之心.cs b/OshimaModules/Skills/NiuNan/变幻之心.cs index 90ad765..eaed6c6 100644 --- a/OshimaModules/Skills/NiuNan/变幻之心.cs +++ b/OshimaModules/Skills/NiuNan/变幻之心.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -26,8 +25,8 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Description => $"检查 [ 智慧与力量 ] 的模式。在力量模式下,立即回复 {生命值回复 * 100:0.##}% 生命值;智力模式下,下一次魔法伤害提升 {伤害提升 * 100:0.##}%。"; public override bool TargetSelf => true; - private double 生命值回复 => Calculation.Round4Digits(0.25 + 0.03 * (Level - 1)); - private double 伤害提升 => Calculation.Round4Digits(0.55 + 0.25 * (Level - 1)); + private double 生命值回复 => 0.25 + 0.03 * (Level - 1); + private double 伤害提升 => 0.55 + 0.25 * (Level - 1); public override void OnEffectGained(Character character) { @@ -44,9 +43,9 @@ namespace Oshima.FunGame.OshimaModules.Skills if (character == Skill.Character && isMagicDamage) { double 实际伤害提升百分比 = 伤害提升; - double 实际伤害提升 = Calculation.Round2Digits(damage * 实际伤害提升百分比); - damage = Calculation.Round2Digits(damage + 实际伤害提升); - WriteLine("[ " + character + " ] 发动了变幻之心!伤害提升了 " + 实际伤害提升 + " 点!"); + double 实际伤害提升 = damage * 实际伤害提升百分比; + damage += 实际伤害提升; + WriteLine($"[ {character} ] 发动了变幻之心!伤害提升了 {实际伤害提升:0.##} 点!"); character.Effects.Remove(this); OnEffectLost(character); } @@ -59,9 +58,9 @@ namespace Oshima.FunGame.OshimaModules.Skills { if (caster.PrimaryAttribute == PrimaryAttribute.STR) { - double 回复的生命 = Calculation.Round2Digits(生命值回复 * caster.MaxHP); + double 回复的生命 = 生命值回复 * caster.MaxHP; caster.HP += 回复的生命; - WriteLine("[ " + caster + " ] 回复了 " + 回复的生命 + " 点生命值!"); + WriteLine($"[ {caster} ] 回复了 {回复的生命:0.##} 点生命值!"); } else if (caster.PrimaryAttribute == PrimaryAttribute.INT) { diff --git a/OshimaModules/Skills/Oshima/META马.cs b/OshimaModules/Skills/Oshima/META马.cs index 5b9f80f..4674c3c 100644 --- a/OshimaModules/Skills/Oshima/META马.cs +++ b/OshimaModules/Skills/Oshima/META马.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -25,14 +24,14 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"META马专属被动:力量+5,力量成长+0.5;在受到伤害时,获得的能量提升50%,每回合开始还能获得额外的 [ {EP} ] 能量值。"; + public override string Description => $"META马专属被动:力量+5,力量成长+0.5;在受到伤害时,获得的能量提升50%,每回合开始还能获得额外的 [ {EP:0.##} ] 能量值。"; public override bool TargetSelf => true; public static double EP => 10; public override void AlterEPAfterGetDamage(Character character, ref double baseEP) { - baseEP = Calculation.Round2Digits(baseEP * 1.5); - if (Skill.Character != null) WriteLine("[ " + Skill.Character + " ] 发动了META马专属被动!本次获得了 " + baseEP + " 能量!"); + baseEP *= 1.5; + if (Skill.Character != null) WriteLine($"[ {Skill.Character} ] 发动了META马专属被动!本次获得了 {baseEP:0.##} 能量!"); } public override void OnTurnStart(Character character) @@ -40,7 +39,7 @@ namespace Oshima.FunGame.OshimaModules.Skills if (character.EP < 200) { character.EP += EP; - WriteLine("[ " + character + " ] 发动了META马专属被动!本次获得了 " + EP + " 能量!"); + WriteLine($"[ {character} ] 发动了META马专属被动!本次获得了 {EP:0.##} 能量!"); } } } diff --git a/OshimaModules/Skills/Oshima/力量爆发.cs b/OshimaModules/Skills/Oshima/力量爆发.cs index ce03047..278bde0 100644 --- a/OshimaModules/Skills/Oshima/力量爆发.cs +++ b/OshimaModules/Skills/Oshima/力量爆发.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -23,20 +22,20 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => "力量爆发"; - public override string Description => $"获得 150% 力量 [ {攻击力加成} ] 的攻击力加成,但每次攻击都会损失 9% 当前生命值 [ {当前生命值} ],持续 {Duration} 时间。"; + public override string Description => $"获得 150% 力量 [ {攻击力加成:0.##} ] 的攻击力加成,但每次攻击都会损失 9% 当前生命值 [ {当前生命值:0.##} ],持续 {Duration:0.##} 时间。"; public override bool TargetSelf => true; public override bool Durative => true; public override double Duration => 10 + 1 * (Level - 1); - private double 攻击力加成 => Calculation.Round2Digits(Skill.Character?.STR * 1.5 ?? 0); - private double 当前生命值 => Calculation.Round2Digits(Skill.Character?.HP * 0.09 ?? 0); + private double 攻击力加成 => Skill.Character?.STR * 1.5 ?? 0; + private double 当前生命值 => Skill.Character?.HP * 0.09 ?? 0; private double 实际攻击力加成 = 0; public override void OnEffectGained(Character character) { 实际攻击力加成 = 攻击力加成; character.ExATK2 += 实际攻击力加成; - WriteLine($"[ {character} ] 的攻击力增加了 [ {实际攻击力加成} ] !"); + WriteLine($"[ {character} ] 的攻击力增加了 [ {实际攻击力加成:0.##} ] !"); } public override void OnEffectLost(Character character) @@ -51,7 +50,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { double 生命值减少 = 当前生命值; character.HP -= 生命值减少; - WriteLine($"[ {character} ] 由于自身力量过于强大而被反噬,损失了 [ {生命值减少} ] 点生命值!"); + WriteLine($"[ {character} ] 由于自身力量过于强大而被反噬,损失了 [ {生命值减少:0.##} ] 点生命值!"); } } diff --git a/OshimaModules/Skills/QWQAQW/玻璃大炮.cs b/OshimaModules/Skills/QWQAQW/玻璃大炮.cs index 7ad5875..c855ad6 100644 --- a/OshimaModules/Skills/QWQAQW/玻璃大炮.cs +++ b/OshimaModules/Skills/QWQAQW/玻璃大炮.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -26,7 +25,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => Skill.Id; public override string Name => Skill.Name; public override string Description => $"生命值高于 30% 时,受到额外的 [ {高于30额外伤害下限}~{高于30额外伤害上限}% ] 伤害,但是获得 [ 累计所受伤害的 {高于30的加成下限}~{高于30的加成上限}% ] 伤害加成;生命值低于等于 30% 时,不会受到额外的伤害,仅能获得 [ 累计受到的伤害 {低于30的加成下限}~{低于30的加成上限}% ] 伤害加成。" + - $"在没有受到任何伤害的时候,将获得 {常规伤害加成 * 100:0.##}% 伤害加成。" + (累计受到的伤害 > 0 ? $"(当前累计受到伤害:{累计受到的伤害})" : ""); + $"在没有受到任何伤害的时候,将获得 {常规伤害加成 * 100:0.##}% 伤害加成。" + (累计受到的伤害 > 0 ? $"(当前累计受到伤害:{累计受到的伤害:0.##})" : ""); public override bool TargetSelf => true; private double 累计受到的伤害 = 0; @@ -34,8 +33,8 @@ namespace Oshima.FunGame.OshimaModules.Skills private double 受到伤害之前的HP = 0; private double 这次受到的额外伤害 = 0; private readonly double 常规伤害加成 = 0.35; - private readonly int 高于30额外伤害上限 = 40; - private readonly int 高于30额外伤害下限 = 20; + private readonly int 高于30额外伤害上限 = 30; + private readonly int 高于30额外伤害下限 = 15; private readonly int 高于30的加成上限 = 100; private readonly int 高于30的加成下限 = 80; private readonly int 低于30的加成上限 = 60; @@ -49,15 +48,15 @@ namespace Oshima.FunGame.OshimaModules.Skills { if (character.HP > character.MaxHP * 0.3) { - 系数 = Calculation.Round4Digits(1.0 + ((new Random().Next(高于30的加成下限, 高于30的加成上限) + 0.0) / 100)); + 系数 = 1.0 + ((Random.Shared.Next(高于30的加成下限, 高于30的加成上限) + 0.0) / 100); } else { - 系数 = Calculation.Round4Digits(1.0 + ((new Random().Next(低于30的加成下限, 低于30的加成上限) + 0.0) / 100)); + 系数 = 1.0 + ((Random.Shared.Next(低于30的加成下限, 低于30的加成上限) + 0.0) / 100); } - return Calculation.Round2Digits(系数 * 累计受到的伤害); + return 系数 * 累计受到的伤害; } - return Calculation.Round2Digits(系数 * damage); + return 系数 * damage; } public override void AlterExpectedDamageBeforeCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType) @@ -65,8 +64,8 @@ namespace Oshima.FunGame.OshimaModules.Skills if (character == Skill.Character) { 这次的伤害加成 = 伤害加成(damage); - damage = Calculation.Round2Digits(damage + 这次的伤害加成); - WriteLine($"[ {character} ] 发动了玻璃大炮,获得了 {这次的伤害加成} 点伤害加成!"); + damage += 这次的伤害加成; + WriteLine($"[ {character} ] 发动了玻璃大炮,获得了 {这次的伤害加成:0.##} 点伤害加成!"); 累计受到的伤害 = 0; } @@ -76,10 +75,10 @@ namespace Oshima.FunGame.OshimaModules.Skills if (enemy.HP > enemy.MaxHP * 0.3) { // 额外受到伤害 - double 系数 = Calculation.Round4Digits((new Random().Next(高于30额外伤害下限, 高于30额外伤害上限) + 0.0) / 100); - 这次受到的额外伤害 = Calculation.Round2Digits(damage * 系数); - damage = Calculation.Round2Digits(damage + 这次受到的额外伤害); - WriteLine($"[ {enemy} ] 的玻璃大炮触发,将额外受到 {这次受到的额外伤害} 点伤害!"); + double 系数 = (Random.Shared.Next(高于30额外伤害下限, 高于30额外伤害上限) + 0.0) / 100; + 这次受到的额外伤害 = damage * 系数; + damage += 这次受到的额外伤害; + WriteLine($"[ {enemy} ] 的玻璃大炮触发,将额外受到 {这次受到的额外伤害:0.##} 点伤害!"); } else 这次受到的额外伤害 = 0; } @@ -89,7 +88,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { if (enemy == Skill.Character && damageResult != DamageResult.Evaded) { - 累计受到的伤害 = Calculation.Round2Digits(累计受到的伤害 + damage); + 累计受到的伤害 += damage; if (enemy.HP < 0 && 受到伤害之前的HP - damage + 这次受到的额外伤害 > 0) { enemy.HP = 10; diff --git a/OshimaModules/Skills/QWQAQW/迅捷之势.cs b/OshimaModules/Skills/QWQAQW/迅捷之势.cs index 19f4544..df63d83 100644 --- a/OshimaModules/Skills/QWQAQW/迅捷之势.cs +++ b/OshimaModules/Skills/QWQAQW/迅捷之势.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -23,13 +22,13 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"{Duration} 时间内,普通攻击转为魔法伤害,且硬直时间减少50%,并基于 {智力系数 * 100:0.##}% 智力 [{智力加成}] 强化普通攻击伤害。"; + public override string Description => $"{Duration:0.##} 时间内,普通攻击转为魔法伤害,且硬直时间减少50%,并基于 {智力系数 * 100:0.##}% 智力 [ {智力加成:0.##} ] 强化普通攻击伤害。"; public override bool TargetSelf => true; public override bool Durative => true; public override double Duration => 40; - private double 智力系数 => Calculation.Round4Digits(1.4 + 0.4 * (Level - 1)); - private double 智力加成 => Calculation.Round2Digits(智力系数 * Skill.Character?.INT ?? 0); + private double 智力系数 => 1.4 + 0.4 * (Level - 1); + private double 智力加成 => 智力系数 * Skill.Character?.INT ?? 0; public override void OnEffectGained(Character character) { @@ -45,13 +44,13 @@ namespace Oshima.FunGame.OshimaModules.Skills { if (character == Skill.Character && isNormalAttack) { - damage = Calculation.Round2Digits(damage + 智力加成); + damage += 智力加成; } } public override void AlterHardnessTimeAfterNormalAttack(Character character, ref double baseHardnessTime, ref bool isCheckProtected) { - baseHardnessTime = Calculation.Round2Digits(baseHardnessTime * 0.5); + baseHardnessTime *= 0.5; } public override void OnSkillCasted(Character caster, List enemys, List teammates, Dictionary others) diff --git a/OshimaModules/Skills/QingXiang/枯竭打击.cs b/OshimaModules/Skills/QingXiang/枯竭打击.cs index 708a7aa..00c316b 100644 --- a/OshimaModules/Skills/QingXiang/枯竭打击.cs +++ b/OshimaModules/Skills/QingXiang/枯竭打击.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -35,13 +34,13 @@ namespace Oshima.FunGame.OshimaModules.Skills if (character == Skill.Character && damageResult != DamageResult.Evaded && !是否是嵌套伤害) { // 减少能量 - double EP = new Random().Next(10, 25); + double EP = Random.Shared.Next(10, 25); enemy.EP -= EP; - WriteLine($"[ {character} ] 发动了枯竭打击![ {enemy} ] 的能量值被减少了 {EP} 点!现有能量:{enemy.EP}。"); + WriteLine($"[ {character} ] 发动了枯竭打击![ {enemy} ] 的能量值被减少了 {EP:0.##} 点!现有能量:{enemy.EP:0.##}。"); // 额外伤害 if (enemy.EP >= 0 && enemy.EP < 50 || enemy.EP >= 100 && enemy.EP < 150) { - double 额外伤害 = Calculation.Round2Digits(damage * 0.3); + double 额外伤害 = damage * 0.3; WriteLine($"[ {character} ] 发动了枯竭打击!将造成额外伤害!"); 是否是嵌套伤害 = true; DamageToEnemy(character, enemy, isMagicDamage, magicType, 额外伤害); diff --git a/OshimaModules/Skills/QingXiang/能量毁灭.cs b/OshimaModules/Skills/QingXiang/能量毁灭.cs index bf026f5..832b047 100644 --- a/OshimaModules/Skills/QingXiang/能量毁灭.cs +++ b/OshimaModules/Skills/QingXiang/能量毁灭.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -24,13 +23,13 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => Skill.Id; public override string Name => Skill.Name; public override string Description => $"对所有角色造成 " + - $"{能量系数 * 100:0.##}% 其现有能量值 + {智力系数 * 100:0.##}% 智力 [ {智力伤害} ] 的魔法伤害。"; + $"{能量系数 * 100:0.##}% 其现有能量值 + {智力系数 * 100:0.##}% 智力 [ {智力伤害:0.##} ] 的魔法伤害。"; public override bool TargetSelf => false; public override double TargetRange => 999; - private double 智力系数 => Calculation.Round4Digits(0.55 * Level); - private double 智力伤害 => Calculation.Round2Digits(智力系数 * Skill.Character?.INT ?? 0); - private double 能量系数 => Calculation.Round4Digits(0.75 * Level); + private double 智力系数 => 0.55 * Level; + private double 智力伤害 => 智力系数 * Skill.Character?.INT ?? 0; + private double 能量系数 => 0.75 * Level; public override void OnSkillCasted(Character caster, List enemys, List teammates, Dictionary others) { @@ -38,7 +37,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { WriteLine($"[ {caster} ] 正在毁灭 [ {c} ] 的能量!!"); double ep = c.EP; - DamageToEnemy(caster, c, true, MagicType, Calculation.Round2Digits(ep * 能量系数 + 智力伤害)); + DamageToEnemy(caster, c, true, MagicType, ep * 能量系数 + 智力伤害); } } } diff --git a/OshimaModules/Skills/QuDuoduo/弱者猎手.cs b/OshimaModules/Skills/QuDuoduo/弱者猎手.cs index 12585cc..a98bcd7 100644 --- a/OshimaModules/Skills/QuDuoduo/弱者猎手.cs +++ b/OshimaModules/Skills/QuDuoduo/弱者猎手.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -32,14 +31,14 @@ namespace Oshima.FunGame.OshimaModules.Skills { if (character == Skill.Character && (enemy.HP / enemy.MaxHP) <= (character.HP / character.MaxHP)) { - double 额外伤害 = Calculation.Round2Digits(damage * 0.5); - damage = Calculation.Round2Digits(damage + 额外伤害); + double 额外伤害 = damage * 0.5; + damage += 额外伤害; } } public override bool AlterEnemyListBeforeAction(Character character, List enemys, List teammates, List skills, Dictionary continuousKilling, Dictionary earnedMoney) { - IEnumerable list = [.. enemys.OrderBy(e => Calculation.Round4Digits(e.HP / e.MaxHP))]; + IEnumerable list = [.. enemys.OrderBy(e => e.HP / e.MaxHP)]; if (list.Any()) { enemys.Clear(); diff --git a/OshimaModules/Skills/QuDuoduo/血之狂欢.cs b/OshimaModules/Skills/QuDuoduo/血之狂欢.cs index 4543b92..a9eca39 100644 --- a/OshimaModules/Skills/QuDuoduo/血之狂欢.cs +++ b/OshimaModules/Skills/QuDuoduo/血之狂欢.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -23,7 +22,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"获得 40% 吸血,持续 {Duration} 时间。"; + public override string Description => $"获得 40% 吸血,持续 {Duration:0.##} 时间。"; public override bool TargetSelf => true; public override bool Durative => true; public override double Duration => 30; @@ -32,9 +31,9 @@ namespace Oshima.FunGame.OshimaModules.Skills { if (character == Skill.Character && damageResult != DamageResult.Evaded && character.HP < character.MaxHP) { - double 实际吸血 = Calculation.Round2Digits(0.4 * damage); + double 实际吸血 = 0.4 * damage; character.HP += 实际吸血; - WriteLine($"[ {character} ] 回复了 {实际吸血} 点生命值!"); + WriteLine($"[ {character} ] 回复了 {实际吸血:0.##} 点生命值!"); } } diff --git a/OshimaModules/Skills/XinYin/天赐之力.cs b/OshimaModules/Skills/XinYin/天赐之力.cs index bcb59b3..f753c87 100644 --- a/OshimaModules/Skills/XinYin/天赐之力.cs +++ b/OshimaModules/Skills/XinYin/天赐之力.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -23,15 +22,15 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"{Duration} 时间内,增加 40% 攻击力 [ {攻击力提升} ]、30% 物理穿透和 25% 闪避率(不可叠加),普通攻击硬直时间额外减少 20%,基于 {系数 * 100:0.##}% 敏捷 [ {伤害加成} ] 强化普通攻击的伤害。在持续时间内,【心灵之火】的冷却时间降低至 3 时间。"; + public override string Description => $"{Duration:0.##} 时间内,增加 40% 攻击力 [ {攻击力提升:0.##} ]、30% 物理穿透和 25% 闪避率(不可叠加),普通攻击硬直时间额外减少 20%,基于 {系数 * 100:0.##}% 敏捷 [ {伤害加成:0.##} ] 强化普通攻击的伤害。在持续时间内,【心灵之火】的冷却时间降低至 3 时间。"; public override bool TargetSelf => false; public override int TargetCount => 1; public override bool Durative => true; public override double Duration => 40; - private double 系数 => Calculation.Round4Digits(1.2 * (1 + 0.6 * (Skill.Level - 1))); - private double 伤害加成 => Calculation.Round2Digits(系数 * Skill.Character?.AGI ?? 0); - private double 攻击力提升 => Calculation.Round2Digits(0.4 * Skill.Character?.BaseATK ?? 0); + private double 系数 => 1.2 * (1 + 0.6 * (Skill.Level - 1)); + private double 伤害加成 => 系数 * Skill.Character?.AGI ?? 0; + private double 攻击力提升 => 0.4 * Skill.Character?.BaseATK ?? 0; private double 实际的攻击力提升 = 0; public override void OnEffectGained(Character character) @@ -68,13 +67,13 @@ namespace Oshima.FunGame.OshimaModules.Skills { if (character == Skill.Character && isNormalAttack) { - damage = Calculation.Round2Digits(damage + 伤害加成); + damage += 伤害加成; } } public override void AlterHardnessTimeAfterNormalAttack(Character character, ref double baseHardnessTime, ref bool isCheckProtected) { - baseHardnessTime = Calculation.Round2Digits(baseHardnessTime * 0.8); + baseHardnessTime *= 0.8; } public override void OnSkillCasted(Character caster, List enemys, List teammates, Dictionary others) diff --git a/OshimaModules/Skills/XinYin/心灵之火.cs b/OshimaModules/Skills/XinYin/心灵之火.cs index 4701d4e..830a925 100644 --- a/OshimaModules/Skills/XinYin/心灵之火.cs +++ b/OshimaModules/Skills/XinYin/心灵之火.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -53,7 +52,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { if (冷却时间 > 0) { - 冷却时间 = Calculation.Round2Digits(冷却时间 - elapsed); + 冷却时间 -= elapsed; if (冷却时间 <= 0) { 冷却时间 = 0; @@ -63,7 +62,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override void AlterHardnessTimeAfterNormalAttack(Character character, ref double baseHardnessTime, ref bool isCheckProtected) { - baseHardnessTime = Calculation.Round2Digits(baseHardnessTime * 0.8); + baseHardnessTime *= 0.8; } } } diff --git a/OshimaModules/Skills/Yang/魔法涌流.cs b/OshimaModules/Skills/Yang/魔法涌流.cs index e63fbe9..ccdcb63 100644 --- a/OshimaModules/Skills/Yang/魔法涌流.cs +++ b/OshimaModules/Skills/Yang/魔法涌流.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -23,12 +22,12 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => "魔法涌流"; - public override string Description => $"{Duration} 时间内,增加所有伤害的 {减伤比例 * 100:0.##}% 伤害减免,并将普通攻击转为魔法伤害,可叠加魔法震荡的效果。"; + public override string Description => $"{Duration:0.##} 时间内,增加所有伤害的 {减伤比例 * 100:0.##}% 伤害减免,并将普通攻击转为魔法伤害,可叠加魔法震荡的效果。"; public override bool TargetSelf => true; public override bool Durative => true; public override double Duration => 25; - private double 减伤比例 => Calculation.Round2Digits(0.1 + 0.02 * (Level - 1)); + private double 减伤比例 => 0.1 + 0.02 * (Level - 1); private double 实际比例 = 0; public override void OnEffectGained(Character character) @@ -46,7 +45,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { if (enemy == Skill.Character) { - damage = Calculation.Round2Digits(damage * (1 - 实际比例)); + damage *= 1 - 实际比例; } return false; } diff --git a/OshimaModules/Skills/dddovo/平衡强化.cs b/OshimaModules/Skills/dddovo/平衡强化.cs index 928c309..286871a 100644 --- a/OshimaModules/Skills/dddovo/平衡强化.cs +++ b/OshimaModules/Skills/dddovo/平衡强化.cs @@ -22,7 +22,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"敏捷提高 20%,然后将目前的力量补充到与敏捷持平,持续 {Duration} 时间。"; + public override string Description => $"敏捷提高 20%,然后将目前的力量补充到与敏捷持平,持续 {Duration:0.##} 时间。"; public override bool TargetSelf => true; public override bool Durative => true; public override double Duration => 30; diff --git a/OshimaModules/Skills/dddovo/敏捷之刃.cs b/OshimaModules/Skills/dddovo/敏捷之刃.cs index e492cb5..3379b7a 100644 --- a/OshimaModules/Skills/dddovo/敏捷之刃.cs +++ b/OshimaModules/Skills/dddovo/敏捷之刃.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -28,7 +27,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Description => $"每次普通攻击都将附带基于 {敏捷系数 * 100:0.##}% 敏捷 [ {敏捷伤害} ] 的魔法伤害。"; public override bool TargetSelf => true; - private double 敏捷伤害 => Calculation.Round2Digits(敏捷系数 * Skill.Character?.AGI ?? 0); + private double 敏捷伤害 => 敏捷系数 * Skill.Character?.AGI ?? 0; private readonly double 敏捷系数 = 2.5; private bool 是否是嵌套伤害 = false; diff --git a/OshimaModules/Skills/战技/疾风步.cs b/OshimaModules/Skills/战技/疾风步.cs index cd7b7bd..361091a 100644 --- a/OshimaModules/Skills/战技/疾风步.cs +++ b/OshimaModules/Skills/战技/疾风步.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -23,13 +22,13 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"进入不可选中状态,获得 100 行动速度,提高 8% 暴击率,持续 {Duration} 时间。破隐一击:在持续时间内,首次造成伤害会附加 {系数 * 100:0.##}% 敏捷 [ {伤害加成} ] 的强化伤害,并解除不可选中状态。"; + public override string Description => $"进入不可选中状态,获得 100 行动速度,提高 8% 暴击率,持续 {Duration:0.##} 时间。破隐一击:在持续时间内,首次造成伤害会附加 {系数 * 100:0.##}% 敏捷 [ {伤害加成:0.##} ] 的强化伤害,并解除不可选中状态。"; public override bool TargetSelf => true; public override bool Durative => true; public override double Duration => 12 + (1 * (Level - 1)); - private double 系数 => Calculation.Round4Digits(0.5 + 0.5 * (Skill.Level - 1)); - private double 伤害加成 => Calculation.Round2Digits(系数 * Skill.Character?.AGI ?? 0); + private double 系数 => 0.5 + 0.5 * (Skill.Level - 1); + private double 伤害加成 => 系数 * Skill.Character?.AGI ?? 0; private bool 首次伤害 { get; set; } = true; private bool 破隐一击 { get; set; } = false; @@ -64,8 +63,8 @@ namespace Oshima.FunGame.OshimaModules.Skills character.CharacterEffectTypes.Remove(this); character.UpdateCharacterState(); double d = 伤害加成; - damage = Calculation.Round2Digits(damage + d); - WriteLine($"[ {character} ] 触发了疾风步破隐一击,获得了 [ {d} ] 点伤害加成!"); + damage += d; + WriteLine($"[ {character} ] 触发了疾风步破隐一击,获得了 [ {d:0.##} ] 点伤害加成!"); } return false; } diff --git a/OshimaModules/Skills/魔法/冰霜攻击.cs b/OshimaModules/Skills/魔法/冰霜攻击.cs index 15ae845..ea1317b 100644 --- a/OshimaModules/Skills/魔法/冰霜攻击.cs +++ b/OshimaModules/Skills/魔法/冰霜攻击.cs @@ -1,5 +1,4 @@ -using Milimoe.FunGame.Core.Api.Utility; -using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Skills @@ -24,7 +23,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"对目标敌人造成 {Calculation.Round2Digits(90 + 60 * (Skill.Level - 1))} + {Calculation.Round2Digits((1.2 + 1.8 * (Skill.Level - 1)) * 100)}% 智力 [ {Damage} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; + public override string Description => $"对目标敌人造成 {90 + 60 * (Skill.Level - 1):0.##} + {(1.2 + 1.8 * (Skill.Level - 1)) * 100:0.##}% 智力 [ {Damage:0.##} ] 点{CharacterSet.GetMagicDamageName(MagicType)}。"; public override bool TargetSelf => false; public override int TargetCount => 1; @@ -35,7 +34,7 @@ namespace Oshima.FunGame.OshimaModules.Skills double d = 0; if (Skill.Character != null) { - d = Calculation.Round2Digits(90 + 60 * (Skill.Level - 1) + (1.2 + 1.8 * (Skill.Level - 1)) * Skill.Character.INT); + d = 90 + 60 * (Skill.Level - 1) + (1.2 + 1.8 * (Skill.Level - 1)) * Skill.Character.INT; } return d; }