From 1169656ced4ff9b509179983a975a9b785e6220c Mon Sep 17 00:00:00 2001 From: milimoe Date: Sat, 14 Sep 2024 01:10:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9B=E5=8F=82?= =?UTF-8?q?=E6=95=B0=EF=BC=8C=E5=92=8C=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Desktop/Solutions/ChessBoardExample.cs | 10 +++++----- Library/Skills/ColdBlue/嗜血本能.cs | 2 +- Library/Skills/ColdBlue/累积之压.cs | 2 +- Library/Skills/Mayor/精准打击.cs | 6 +++--- Library/Skills/QWQAQW/玻璃大炮.cs | 2 +- Library/Skills/QWQAQW/迅捷之势.cs | 2 +- Library/Skills/QingXiang/能量毁灭.cs | 4 ++-- Library/Skills/QuDuoduo/弱者猎手.cs | 2 +- Library/Skills/XinYin/天赐之力.cs | 23 ++++++++++------------- Library/Skills/XinYin/心灵之火.cs | 15 ++++++++++++++- Library/Skills/Yang/魔法涌流.cs | 2 +- Library/Skills/战技/疾风步.cs | 16 +++------------- Library/Skills/绿拱门/平衡强化.cs | 2 +- Library/Skills/绿拱门/敏捷之刃.cs | 2 +- Library/Skills/马猴烧酒/毁灭之势.cs | 4 ++-- Library/Skills/马猴烧酒/绝对领域.cs | 4 ++-- 16 files changed, 49 insertions(+), 49 deletions(-) diff --git a/Desktop/Solutions/ChessBoardExample.cs b/Desktop/Solutions/ChessBoardExample.cs index 7c6a739..4610cf6 100644 --- a/Desktop/Solutions/ChessBoardExample.cs +++ b/Desktop/Solutions/ChessBoardExample.cs @@ -13,11 +13,11 @@ InitializeComponent(); InitializeChessboard(); - foreach (var panel in chessboardDict.Values) - { - panel.MouseEnter += OnCellMouseEnter; - panel.MouseLeave += OnCellMouseLeave; - } + //foreach (var panel in chessboardDict.Values) + //{ + // panel.MouseEnter += OnCellMouseEnter; + // panel.MouseLeave += OnCellMouseLeave; + //} string key = "5_9"; Button b = new Button(); diff --git a/Library/Skills/ColdBlue/嗜血本能.cs b/Library/Skills/ColdBlue/嗜血本能.cs index cb7f246..a363c97 100644 --- a/Library/Skills/ColdBlue/嗜血本能.cs +++ b/Library/Skills/ColdBlue/嗜血本能.cs @@ -24,7 +24,7 @@ namespace Milimoe.FunGame.Testing.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"{Duration} 秒内,攻击拥有标记的角色将根据标记层数获得 {吸血 * 100:f2}% 吸血每层。"; + public override string Description => $"{Duration} 秒内,攻击拥有标记的角色将根据标记层数获得 {吸血 * 100:0.##}% 吸血每层。"; public override bool TargetSelf => true; public override bool Durative => true; public override double Duration => 30; diff --git a/Library/Skills/ColdBlue/累积之压.cs b/Library/Skills/ColdBlue/累积之压.cs index 72b9b9c..cf64549 100644 --- a/Library/Skills/ColdBlue/累积之压.cs +++ b/Library/Skills/ColdBlue/累积之压.cs @@ -26,7 +26,7 @@ namespace Milimoe.FunGame.Testing.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"每次造成伤害都可以叠一层标记,累计 4 层时回收该角色所有标记并造成眩晕 1 回合,额外对该角色造成 {系数 * 100:f2}% 最大生命值的物理伤害。"; + public override string Description => $"每次造成伤害都可以叠一层标记,累计 4 层时回收该角色所有标记并造成眩晕 1 回合,额外对该角色造成 {系数 * 100:0.##}% 最大生命值的物理伤害。"; public override bool TargetSelf => true; private readonly double 系数 = 0.12; diff --git a/Library/Skills/Mayor/精准打击.cs b/Library/Skills/Mayor/精准打击.cs index 7ec3768..d1cd1f2 100644 --- a/Library/Skills/Mayor/精准打击.cs +++ b/Library/Skills/Mayor/精准打击.cs @@ -23,7 +23,7 @@ namespace Milimoe.FunGame.Testing.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"30 时间内暴击率提升 {暴击率提升 * 100:f2}%,暴击伤害再提升 {暴击伤害提升 * 100:f2}%。"; + public override string Description => $"30 时间内暴击率提升 {暴击率提升 * 100:0.##}%,暴击伤害再提升 {暴击伤害提升 * 100:0.##}%。"; public override bool TargetSelf => true; public override bool Durative => true; public override double Duration => 30; @@ -38,9 +38,9 @@ namespace Milimoe.FunGame.Testing.Skills 实际暴击率提升 = 暴击率提升; 实际暴击伤害提升 = 暴击伤害提升; character.ExCritRate += 实际暴击率提升; - WriteLine($"[ {character} ] 的暴击率提升了 [ {实际暴击率提升 * 100:f2}% ] !"); + WriteLine($"[ {character} ] 的暴击率提升了 [ {实际暴击率提升 * 100:0.##}% ] !"); character.ExCritDMG += 实际暴击伤害提升; - WriteLine($"[ {character} ] 的暴击伤害提升了 [ {实际暴击伤害提升 * 100:f2}% ] !"); + WriteLine($"[ {character} ] 的暴击伤害提升了 [ {实际暴击伤害提升 * 100:0.##}% ] !"); } public override void OnEffectLost(Character character) diff --git a/Library/Skills/QWQAQW/玻璃大炮.cs b/Library/Skills/QWQAQW/玻璃大炮.cs index 50a83a7..0d42a99 100644 --- a/Library/Skills/QWQAQW/玻璃大炮.cs +++ b/Library/Skills/QWQAQW/玻璃大炮.cs @@ -26,7 +26,7 @@ namespace Milimoe.FunGame.Testing.Skills public override long Id => Skill.Id; public override string Name => Skill.Name; public override string Description => $"生命值高于30%时,受到额外的 [ 20~40% ] 伤害,但是获得 [ 上次所受伤害的 110~140% ] 伤害加成;生命值低于等于30%时,不会受到额外的伤害,仅能获得 [ 上次所受伤害的 35% ] 伤害加成。" + - $"在没有受到任何伤害的时候,将获得 {常规伤害加成 * 100:f2}% 伤害加成。(当前伤害加成:{伤害加成 * 100:f2}%)"; + $"在没有受到任何伤害的时候,将获得 {常规伤害加成 * 100:0.##}% 伤害加成。(当前伤害加成:{伤害加成 * 100:0.##}%)"; public override bool TargetSelf => true; private double 上次受到的伤害 = 0; diff --git a/Library/Skills/QWQAQW/迅捷之势.cs b/Library/Skills/QWQAQW/迅捷之势.cs index f2248f9..f8056a5 100644 --- a/Library/Skills/QWQAQW/迅捷之势.cs +++ b/Library/Skills/QWQAQW/迅捷之势.cs @@ -23,7 +23,7 @@ namespace Milimoe.FunGame.Testing.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"{Duration} 秒内,普通攻击转为魔法伤害,且硬直时间减少50%,并基于 {智力系数 * 100:f2}% 智力 [{智力加成}] 强化普通攻击伤害。"; + public override string Description => $"{Duration} 秒内,普通攻击转为魔法伤害,且硬直时间减少50%,并基于 {智力系数 * 100:0.##}% 智力 [{智力加成}] 强化普通攻击伤害。"; public override bool TargetSelf => true; public override bool Durative => true; public override double Duration => 40; diff --git a/Library/Skills/QingXiang/能量毁灭.cs b/Library/Skills/QingXiang/能量毁灭.cs index 45cdd28..0a8c72d 100644 --- a/Library/Skills/QingXiang/能量毁灭.cs +++ b/Library/Skills/QingXiang/能量毁灭.cs @@ -11,7 +11,7 @@ namespace Milimoe.FunGame.Testing.Skills public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; public override double EPCost => 100; public override double CD => 55 - 3 * (Level - 1); - public override double HardnessTime => 15; + public override double HardnessTime => 25; public 能量毁灭(Character character) : base(SkillType.SuperSkill, character) { @@ -24,7 +24,7 @@ namespace Milimoe.FunGame.Testing.Skills public override long Id => Skill.Id; public override string Name => Skill.Name; public override string Description => $"对所有角色造成 " + - $"600% 其现有能量值 + {智力系数 * 100:f2}% 智力 [ {智力伤害} ] 的魔法伤害。"; + $"450% 其现有能量值 + {智力系数 * 100:0.##}% 智力 [ {智力伤害} ] 的魔法伤害。"; public override bool TargetSelf => false; public override double TargetRange => 999; diff --git a/Library/Skills/QuDuoduo/弱者猎手.cs b/Library/Skills/QuDuoduo/弱者猎手.cs index 7c30379..955e1b8 100644 --- a/Library/Skills/QuDuoduo/弱者猎手.cs +++ b/Library/Skills/QuDuoduo/弱者猎手.cs @@ -32,7 +32,7 @@ namespace Milimoe.FunGame.Testing.Skills { if (character == Skill.Character && (enemy.HP / enemy.MaxHP) <= (character.HP / character.MaxHP)) { - double 额外伤害 = Calculation.Round2Digits(damage * 1.5); + double 额外伤害 = Calculation.Round2Digits(damage * 0.5); damage = Calculation.Round2Digits(damage + 额外伤害); } } diff --git a/Library/Skills/XinYin/天赐之力.cs b/Library/Skills/XinYin/天赐之力.cs index 201f666..d330cdb 100644 --- a/Library/Skills/XinYin/天赐之力.cs +++ b/Library/Skills/XinYin/天赐之力.cs @@ -23,32 +23,29 @@ namespace Milimoe.FunGame.Testing.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"{Duration} 时间内,获得 25% 闪避率(不可叠加),普通攻击硬直时间额外减少 20%,基于 {Calculation.Round2Digits((1.2 + (1 + 0.6 * (Skill.Level - 1))) * 100)}% 敏捷 [ {伤害加成} ] 强化普通攻击的伤害。"; + public override string Description => $"{Duration} 时间内,增加 40% 攻击力 [ {攻击力提升} ]、30% 物理穿透和 25% 闪避率(不可叠加),普通攻击硬直时间额外减少 20%,基于 {系数 * 100:0.##}% 敏捷 [ {伤害加成} ] 强化普通攻击的伤害。"; public override bool TargetSelf => false; public override int TargetCount => 1; public override bool Durative => true; public override double Duration => 40; - private double 伤害加成 - { - get - { - double d = 0; - if (Skill.Character != null) - { - d = Calculation.Round2Digits(1.2 * (1 + 0.6 * (Skill.Level - 1)) * Skill.Character.AGI); - } - return d; - } - } + 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 实际的攻击力提升 = 0; public override void OnEffectGained(Character character) { + 实际的攻击力提升 = 攻击力提升; + character.ExATK2 += 实际的攻击力提升; + character.PhysicalPenetration += 0.3; character.ExEvadeRate += 0.25; } public override void OnEffectLost(Character character) { + character.ExATK2 -= 实际的攻击力提升; + character.PhysicalPenetration -= 0.3; character.ExEvadeRate -= 0.25; } diff --git a/Library/Skills/XinYin/心灵之火.cs b/Library/Skills/XinYin/心灵之火.cs index 3ddc709..250b5db 100644 --- a/Library/Skills/XinYin/心灵之火.cs +++ b/Library/Skills/XinYin/心灵之火.cs @@ -25,9 +25,22 @@ namespace Milimoe.FunGame.Testing.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"普通攻击硬直时间减少 20%。"; + public override string Description => $"增加 20% 攻击力且普通攻击硬直时间减少 20%。"; public override bool TargetSelf => true; + private double 实际增加攻击力 = 0; + + public override void OnEffectGained(Character character) + { + 实际增加攻击力 = character.BaseATK * 0.2; + character.ExATK2 += 实际增加攻击力; + } + + public override void OnEffectLost(Character character) + { + character.ExATK2 -= 实际增加攻击力; + } + public override void AlterHardnessTimeAfterNormalAttack(Character character, ref double baseHardnessTime, ref bool isCheckProtected) { baseHardnessTime = Calculation.Round2Digits(baseHardnessTime * 0.8); diff --git a/Library/Skills/Yang/魔法涌流.cs b/Library/Skills/Yang/魔法涌流.cs index 65a5e77..d3e62b8 100644 --- a/Library/Skills/Yang/魔法涌流.cs +++ b/Library/Skills/Yang/魔法涌流.cs @@ -23,7 +23,7 @@ namespace Milimoe.FunGame.Testing.Skills { public override long Id => Skill.Id; public override string Name => "魔法涌流"; - public override string Description => $"{Duration} 秒内,增加所有伤害的 {减伤比例 * 100:f2}% 伤害减免,并将普通攻击转为魔法伤害,可叠加魔法震荡的效果。"; + public override string Description => $"{Duration} 秒内,增加所有伤害的 {减伤比例 * 100:0.##}% 伤害减免,并将普通攻击转为魔法伤害,可叠加魔法震荡的效果。"; public override bool TargetSelf => true; public override bool Durative => true; public override double Duration => 25; diff --git a/Library/Skills/战技/疾风步.cs b/Library/Skills/战技/疾风步.cs index 9627bae..e40ef58 100644 --- a/Library/Skills/战技/疾风步.cs +++ b/Library/Skills/战技/疾风步.cs @@ -23,23 +23,13 @@ namespace Milimoe.FunGame.Testing.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"进入不可选中状态,获得 100 行动速度,提高 8% 暴击率,持续 {Duration} 时间。破隐一击:在持续时间内,首次造成伤害会附加 {Calculation.Round2Digits((1.5 + 1.5 * (Skill.Level - 1)) * 100)}% 敏捷 [ {伤害加成} ] 的强化伤害,并解除不可选中状态。"; + public override string Description => $"进入不可选中状态,获得 100 行动速度,提高 8% 暴击率,持续 {Duration} 时间。破隐一击:在持续时间内,首次造成伤害会附加 {系数 * 100:0.##}% 敏捷 [ {伤害加成} ] 的强化伤害,并解除不可选中状态。"; public override bool TargetSelf => true; public override bool Durative => true; public override double Duration => 12 + (1 * (Level - 1)); - private double 伤害加成 - { - get - { - double d = 0; - if (Skill.Character != null) - { - d = Calculation.Round2Digits((1.5 + 1.5 * (Skill.Level - 1)) * Skill.Character.AGI); - } - return d; - } - } + private double 系数 => Calculation.Round4Digits(0.5 + 0.5 * (Skill.Level - 1)); + private double 伤害加成 => Calculation.Round2Digits(系数 * Skill.Character?.AGI ?? 0); private bool 首次伤害 { get; set; } = true; private bool 破隐一击 { get; set; } = false; diff --git a/Library/Skills/绿拱门/平衡强化.cs b/Library/Skills/绿拱门/平衡强化.cs index cb0941b..48a3593 100644 --- a/Library/Skills/绿拱门/平衡强化.cs +++ b/Library/Skills/绿拱门/平衡强化.cs @@ -41,7 +41,7 @@ namespace Milimoe.FunGame.Testing.Skills 本次提升的力量 = character.AGI - character.STR; character.ExSTR += 本次提升的力量; character.Recovery(pastHP, pastMP, pastMaxHP, pastMaxMP); - WriteLine($"[ {character} ] 敏捷提升了 {本次提升的敏捷:f2},力量提升了 {本次提升的力量:f2}!"); + WriteLine($"[ {character} ] 敏捷提升了 {本次提升的敏捷:0.##},力量提升了 {本次提升的力量:0.##}!"); } public override void OnEffectLost(Character character) diff --git a/Library/Skills/绿拱门/敏捷之刃.cs b/Library/Skills/绿拱门/敏捷之刃.cs index 2e7fba6..c5b33a2 100644 --- a/Library/Skills/绿拱门/敏捷之刃.cs +++ b/Library/Skills/绿拱门/敏捷之刃.cs @@ -25,7 +25,7 @@ namespace Milimoe.FunGame.Testing.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"每次普通攻击都将附带基于 {敏捷系数 * 100:f2}% 敏捷 [ {敏捷伤害} ] 的魔法伤害。"; + public override string Description => $"每次普通攻击都将附带基于 {敏捷系数 * 100:0.##}% 敏捷 [ {敏捷伤害} ] 的魔法伤害。"; public override bool TargetSelf => true; private double 敏捷伤害 => Calculation.Round2Digits(敏捷系数 * Skill.Character?.AGI ?? 0); diff --git a/Library/Skills/马猴烧酒/毁灭之势.cs b/Library/Skills/马猴烧酒/毁灭之势.cs index b4a183f..ce5afe8 100644 --- a/Library/Skills/马猴烧酒/毁灭之势.cs +++ b/Library/Skills/马猴烧酒/毁灭之势.cs @@ -25,7 +25,7 @@ namespace Milimoe.FunGame.Testing.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"每时间提升 5.5% 所有伤害,无上限,但受到伤害时效果清零。" + (累计伤害 > 0 ? $"(当前总提升:{累计伤害 * 100:f2}%)" : ""); + public override string Description => $"每时间提升 5.5% 所有伤害,无上限,但受到伤害时效果清零。" + (累计伤害 > 0 ? $"(当前总提升:{累计伤害 * 100:0.##}%)" : ""); public override bool TargetSelf => true; private readonly double 伤害提升 = 0.055; @@ -53,7 +53,7 @@ namespace Milimoe.FunGame.Testing.Skills public override void OnTimeElapsed(Character character, double eapsed) { 累计伤害 = Calculation.Round4Digits(累计伤害 + 伤害提升 * eapsed); - WriteLine($"[ {character} ] 的 [ {Name} ] 效果增加了,当前总提升:{累计伤害 * 100:f2}%。"); + WriteLine($"[ {character} ] 的 [ {Name} ] 效果增加了,当前总提升:{累计伤害 * 100:0.##}%。"); } } } diff --git a/Library/Skills/马猴烧酒/绝对领域.cs b/Library/Skills/马猴烧酒/绝对领域.cs index 577735f..bef228a 100644 --- a/Library/Skills/马猴烧酒/绝对领域.cs +++ b/Library/Skills/马猴烧酒/绝对领域.cs @@ -23,7 +23,7 @@ namespace Milimoe.FunGame.Testing.Skills { public override long Id => Skill.Id; public override string Name => Skill.Name; - public override string Description => $"{Duration} 时间内无法受到任何伤害,且敏捷提升 {系数 * 100:f2}% [ {敏捷提升} ]。此技能会消耗至少 100 点能量。"; + public override string Description => $"{Duration} 时间内无法受到任何伤害,且敏捷提升 {系数 * 100:0.##}% [ {敏捷提升} ]。此技能会消耗至少 100 点能量。"; public override bool TargetSelf => true; public override bool Durative => true; public override double Duration => Calculation.Round2Digits(16 + 释放时的能量值 * 0.03); @@ -37,7 +37,7 @@ namespace Milimoe.FunGame.Testing.Skills { 实际敏捷提升 = 敏捷提升; character.ExAGI += 实际敏捷提升; - WriteLine($"[ {character} ] 的敏捷提升了 {系数 * 100:f2}% [ {实际敏捷提升} ] !"); + WriteLine($"[ {character} ] 的敏捷提升了 {系数 * 100:0.##}% [ {实际敏捷提升} ] !"); } public override void OnEffectLost(Character character)