From aa8ef765e8b48d9fa60ddc1cc5606a83c9899c9c Mon Sep 17 00:00:00 2001 From: milimoe Date: Mon, 16 Sep 2024 16:56:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E8=A3=85=E9=AD=94=E6=B3=95/=E8=83=BD?= =?UTF-8?q?=E9=87=8F=E6=B6=88=E8=80=97=E5=87=8F=E5=B0=91=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=85=B6=E4=BB=96=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Library/Characters/Characters.cs | 6 +-- Library/Effects/ItemEffects/冷却缩减加成.cs | 35 +++++++++++++ .../Effects/ItemEffects/技能硬直时间减少.cs | 52 +++++++++++++++++++ Library/Effects/ItemEffects/攻击力加成.cs | 35 +++++++++++++ .../Effects/ItemEffects/普攻硬直时间减少.cs | 36 +++++++++++++ Library/Effects/ItemEffects/物理护甲加成.cs | 35 +++++++++++++ Library/FunGame.Testing.csproj | 7 +++ Library/Items/{ => Accessory}/攻击之爪.cs | 35 ++----------- Library/Items/Weapon/独奏弓.cs | 43 +++++++++++++++ Library/Skills/ColdBlue/嗜血本能.cs | 2 +- Library/Skills/Mayor/精准打击.cs | 2 +- Library/Skills/NanGanyu/三重叠加.cs | 2 +- Library/Skills/NiuNan/变幻之心.cs | 2 +- Library/Skills/Oshima/力量爆发.cs | 2 +- Library/Skills/QWQAQW/玻璃大炮.cs | 2 +- Library/Skills/QWQAQW/迅捷之势.cs | 2 +- Library/Skills/QingXiang/能量毁灭.cs | 4 +- Library/Skills/QuDuoduo/血之狂欢.cs | 2 +- Library/Skills/XinYin/天赐之力.cs | 2 +- Library/Skills/Yang/魔法涌流.cs | 2 +- Library/Skills/战技/疾风步.cs | 4 +- Library/Skills/绿拱门/平衡强化.cs | 2 +- Library/Skills/马猴烧酒/绝对领域.cs | 2 +- Library/Skills/魔法/冰霜攻击.cs | 5 +- Library/Tests/FunGame.cs | 14 ++--- 25 files changed, 274 insertions(+), 61 deletions(-) create mode 100644 Library/Effects/ItemEffects/冷却缩减加成.cs create mode 100644 Library/Effects/ItemEffects/技能硬直时间减少.cs create mode 100644 Library/Effects/ItemEffects/攻击力加成.cs create mode 100644 Library/Effects/ItemEffects/普攻硬直时间减少.cs create mode 100644 Library/Effects/ItemEffects/物理护甲加成.cs rename Library/Items/{ => Accessory}/攻击之爪.cs (63%) create mode 100644 Library/Items/Weapon/独奏弓.cs diff --git a/Library/Characters/Characters.cs b/Library/Characters/Characters.cs index 2fb6982..0e62c74 100644 --- a/Library/Characters/Characters.cs +++ b/Library/Characters/Characters.cs @@ -16,7 +16,7 @@ namespace FunGame.Testing.Characters c.NickName = "大島シヤ"; c.PrimaryAttribute = PrimaryAttribute.STR; c.InitialATK = 25; - c.InitialHP = 145; + c.InitialHP = 85; c.InitialMP = 10; c.InitialSTR = 35; c.STRGrowth = 3.5; @@ -216,7 +216,7 @@ namespace FunGame.Testing.Characters c.NickName = "LUOLI66"; c.PrimaryAttribute = PrimaryAttribute.INT; c.InitialATK = 18; - c.InitialHP = 85; + c.InitialHP = 125; c.InitialMP = 45; c.InitialSTR = 0; c.STRGrowth = 0; @@ -241,7 +241,7 @@ namespace FunGame.Testing.Characters c.NickName = "冷蓝"; c.PrimaryAttribute = PrimaryAttribute.STR; c.InitialATK = 28; - c.InitialHP = 135; + c.InitialHP = 95; c.InitialMP = 25; c.InitialSTR = 22; c.STRGrowth = 1.9; diff --git a/Library/Effects/ItemEffects/冷却缩减加成.cs b/Library/Effects/ItemEffects/冷却缩减加成.cs new file mode 100644 index 0000000..45fce40 --- /dev/null +++ b/Library/Effects/ItemEffects/冷却缩减加成.cs @@ -0,0 +1,35 @@ +using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Library.Constant; + +namespace FunGame.Testing.Effects +{ + public class 冷却缩减加成 : Effect + { + public override long Id => Skill.Id; + public override string Name => Skill.Name; + public override string Description => $"增加角色 {实际冷却缩减加成 * 100:0.##}% 冷却缩减。" + (!TargetSelf ? $"来自:[ {Source} ] 的 [ {Item.Name} ]" : ""); + public override EffectType EffectType => EffectType.Item; + public override bool TargetSelf => true; + + public Item Item { get; } + private readonly double 实际冷却缩减加成 = 0; + + public override void OnEffectGained(Character character) + { + character.ExCDR += 实际冷却缩减加成; + } + + public override void OnEffectLost(Character character) + { + character.ExCDR -= 实际冷却缩减加成; + } + + public 冷却缩减加成(Skill skill, Character? source, Item item, double exCdr) : base(skill) + { + ActionQueue = skill.ActionQueue; + Source = source; + Item = item; + 实际冷却缩减加成 = exCdr; + } + } +} diff --git a/Library/Effects/ItemEffects/技能硬直时间减少.cs b/Library/Effects/ItemEffects/技能硬直时间减少.cs new file mode 100644 index 0000000..9956578 --- /dev/null +++ b/Library/Effects/ItemEffects/技能硬直时间减少.cs @@ -0,0 +1,52 @@ +using Milimoe.FunGame.Core.Api.Utility; +using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Library.Constant; + +namespace FunGame.Testing.Effects +{ + public class 技能硬直时间减少 : Effect + { + public override long Id => Skill.Id; + public override string Name => Skill.Name; + public override string Description => $"减少角色的所有主动技能 {实际硬直时间减少} 硬直时间。" + (!TargetSelf ? $"来自:[ {Source} ] 的 [ {Item.Name} ]" : ""); + public override EffectType EffectType => EffectType.Item; + public override bool TargetSelf => true; + + public Item Item { get; } + private readonly double 实际硬直时间减少 = 2; + + public override void OnEffectGained(Character character) + { + foreach (Skill s in character.Skills) + { + s.HardnessTime = Calculation.Round2Digits(s.HardnessTime - 实际硬直时间减少); + } + foreach (Skill? s in character.Items.Select(i => i.Skills.Active)) + { + if (s != null) + s.HardnessTime = Calculation.Round2Digits(s.HardnessTime - 实际硬直时间减少); + } + } + + public override void OnEffectLost(Character character) + { + foreach (Skill s in character.Skills) + { + s.HardnessTime = Calculation.Round2Digits(s.HardnessTime + 实际硬直时间减少); + } + foreach (Skill? s in character.Items.Select(i => i.Skills.Active)) + { + if (s != null) + s.HardnessTime = Calculation.Round2Digits(s.HardnessTime + 实际硬直时间减少); + } + } + + public 技能硬直时间减少(Skill skill, Character? source, Item item, double reduce) : base(skill) + { + ActionQueue = skill.ActionQueue; + Source = source; + Item = item; + 实际硬直时间减少 = reduce; + } + } +} diff --git a/Library/Effects/ItemEffects/攻击力加成.cs b/Library/Effects/ItemEffects/攻击力加成.cs new file mode 100644 index 0000000..8ecc721 --- /dev/null +++ b/Library/Effects/ItemEffects/攻击力加成.cs @@ -0,0 +1,35 @@ +using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Library.Constant; + +namespace FunGame.Testing.Effects +{ + public class 攻击力加成 : Effect + { + public override long Id => Skill.Id; + public override string Name => Skill.Name; + public override string Description => $"增加角色 {实际攻击力加成} 点攻击力。" + (!TargetSelf ? $"来自:[ {Source} ] 的 [ {Item.Name} ]" : ""); + public override EffectType EffectType => EffectType.Item; + public override bool TargetSelf => true; + + public Item Item { get; } + private readonly double 实际攻击力加成 = 0; + + public override void OnEffectGained(Character character) + { + character.ExATK2 += 实际攻击力加成; + } + + public override void OnEffectLost(Character character) + { + character.ExATK2 -= 实际攻击力加成; + } + + public 攻击力加成(Skill skill, Character? source, Item item, double exATK) : base(skill) + { + ActionQueue = skill.ActionQueue; + Source = source; + Item = item; + 实际攻击力加成 = exATK; + } + } +} diff --git a/Library/Effects/ItemEffects/普攻硬直时间减少.cs b/Library/Effects/ItemEffects/普攻硬直时间减少.cs new file mode 100644 index 0000000..71ef664 --- /dev/null +++ b/Library/Effects/ItemEffects/普攻硬直时间减少.cs @@ -0,0 +1,36 @@ +using Milimoe.FunGame.Core.Api.Utility; +using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Library.Constant; + +namespace FunGame.Testing.Effects +{ + public class 普攻硬直时间减少 : Effect + { + public override long Id => Skill.Id; + public override string Name => Skill.Name; + public override string Description => $"减少角色的普通攻击 {实际硬直时间减少} 硬直时间。" + (!TargetSelf ? $"来自:[ {Source} ] 的 [ {Item.Name} ]" : ""); + public override EffectType EffectType => EffectType.Item; + public override bool TargetSelf => true; + + public Item Item { get; } + private readonly double 实际硬直时间减少 = 2; + + public override void OnEffectGained(Character character) + { + character.NormalAttack.HardnessTime = Calculation.Round2Digits(character.NormalAttack.HardnessTime - 实际硬直时间减少); ; + } + + public override void OnEffectLost(Character character) + { + character.NormalAttack.HardnessTime = Calculation.Round2Digits(character.NormalAttack.HardnessTime + 实际硬直时间减少); ; + } + + public 普攻硬直时间减少(Skill skill, Character? source, Item item, double reduce) : base(skill) + { + ActionQueue = skill.ActionQueue; + Source = source; + Item = item; + 实际硬直时间减少 = reduce; + } + } +} diff --git a/Library/Effects/ItemEffects/物理护甲加成.cs b/Library/Effects/ItemEffects/物理护甲加成.cs new file mode 100644 index 0000000..0842168 --- /dev/null +++ b/Library/Effects/ItemEffects/物理护甲加成.cs @@ -0,0 +1,35 @@ +using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Library.Constant; + +namespace FunGame.Testing.Effects +{ + public class 物理护甲加成 : Effect + { + public override long Id => Skill.Id; + public override string Name => Skill.Name; + public override string Description => $"增加角色 {实际物理护甲加成} 点物理护甲。" + (!TargetSelf ? $"来自:[ {Source} ] 的 [ {Item.Name} ]" : ""); + public override EffectType EffectType => EffectType.Item; + public override bool TargetSelf => true; + + public Item Item { get; } + private readonly double 实际物理护甲加成 = 0; + + public override void OnEffectGained(Character character) + { + character.ExDEF2 += 实际物理护甲加成; + } + + public override void OnEffectLost(Character character) + { + character.ExDEF2 -= 实际物理护甲加成; + } + + public 物理护甲加成(Skill skill, Character? source, Item item, double exDef) : base(skill) + { + ActionQueue = skill.ActionQueue; + Source = source; + Item = item; + 实际物理护甲加成 = exDef; + } + } +} diff --git a/Library/FunGame.Testing.csproj b/Library/FunGame.Testing.csproj index 9374e10..3b33b84 100644 --- a/Library/FunGame.Testing.csproj +++ b/Library/FunGame.Testing.csproj @@ -14,4 +14,11 @@ + + + + + + + diff --git a/Library/Items/攻击之爪.cs b/Library/Items/Accessory/攻击之爪.cs similarity index 63% rename from Library/Items/攻击之爪.cs rename to Library/Items/Accessory/攻击之爪.cs index b81c017..80c42db 100644 --- a/Library/Items/攻击之爪.cs +++ b/Library/Items/Accessory/攻击之爪.cs @@ -1,4 +1,5 @@ -using Milimoe.FunGame.Core.Entity; +using FunGame.Testing.Effects; +using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace FunGame.Testing.Items @@ -48,7 +49,7 @@ namespace FunGame.Testing.Items { Level = 1; Item = item; - Effects.Add(new 攻击之爪特效(this, character, item, exATK)); + Effects.Add(new 攻击力加成(this, character, item, exATK)); } public override IEnumerable AddInactiveEffectToCharacter() @@ -56,34 +57,4 @@ namespace FunGame.Testing.Items return Effects; } } - - public class 攻击之爪特效 : Effect - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"增加角色 {攻击力加成} 点攻击力。" + (!TargetSelf ? $"来自:[ {Source} ] 的 [ {Item.Name} ]" : ""); - public override EffectType EffectType => EffectType.Item; - public override bool TargetSelf => true; - - public Item Item { get; } - private readonly double 攻击力加成 = 0; - - public override void OnEffectGained(Character character) - { - character.ExATK2 += 攻击力加成; - } - - public override void OnEffectLost(Character character) - { - character.ExATK2 -= 攻击力加成; - } - - public 攻击之爪特效(Skill skill, Character? source, Item item, double exATK) : base(skill) - { - ActionQueue = skill.ActionQueue; - Source = source; - Item = item; - 攻击力加成 = exATK; - } - } } diff --git a/Library/Items/Weapon/独奏弓.cs b/Library/Items/Weapon/独奏弓.cs new file mode 100644 index 0000000..b57dfb6 --- /dev/null +++ b/Library/Items/Weapon/独奏弓.cs @@ -0,0 +1,43 @@ +using FunGame.Testing.Effects; +using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Library.Constant; + +namespace FunGame.Testing.Items +{ + public class 独奏弓 : Item + { + public override long Id => 11001; + public override string Name => "独奏弓"; + public override string Description => Skills.Passives.Count > 0 ? Skills.Passives.First().Description : ""; + + public 独奏弓(Character? character = null) : base(ItemType.Weapon, slot: EquipSlotType.Weapon) + { + WeaponType = WeaponType.Bow; + Skills.Passives.Add(new 独奏弓技能(character, this)); + } + } + + public class 独奏弓技能 : Skill + { + public override long Id => 5002; + public override string Name => "独奏弓"; + public override string Description => $"增加角色 {攻击力加成} 点攻击力,减少普通攻击 {硬直时间减少} 硬直时间。"; + public Item Item { get; } + + private readonly double 攻击力加成 = 80; + private readonly double 硬直时间减少 = 2; + + public 独奏弓技能(Character? character, Item item) : base(SkillType.Passive, character) + { + Level = 1; + Item = item; + Effects.Add(new 攻击力加成(this, character, item, 攻击力加成)); + Effects.Add(new 普攻硬直时间减少(this, character, item, 硬直时间减少)); + } + + public override IEnumerable AddInactiveEffectToCharacter() + { + return Effects; + } + } +} diff --git a/Library/Skills/ColdBlue/嗜血本能.cs b/Library/Skills/ColdBlue/嗜血本能.cs index 2123a47..9681eb9 100644 --- a/Library/Skills/ColdBlue/嗜血本能.cs +++ b/Library/Skills/ColdBlue/嗜血本能.cs @@ -12,7 +12,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 => 42 - 1 * (Level - 1); - public override double HardnessTime => 12; + public override double HardnessTime { get; set; } = 12; public 嗜血本能(Character character) : base(SkillType.SuperSkill, character) { diff --git a/Library/Skills/Mayor/精准打击.cs b/Library/Skills/Mayor/精准打击.cs index d1cd1f2..2f591ec 100644 --- a/Library/Skills/Mayor/精准打击.cs +++ b/Library/Skills/Mayor/精准打击.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 => 40 - 1 * (Level - 1); - public override double HardnessTime => 8; + public override double HardnessTime { get; set; } = 8; public 精准打击(Character character) : base(SkillType.SuperSkill, character) { diff --git a/Library/Skills/NanGanyu/三重叠加.cs b/Library/Skills/NanGanyu/三重叠加.cs index 9fd2114..c99aeb5 100644 --- a/Library/Skills/NanGanyu/三重叠加.cs +++ b/Library/Skills/NanGanyu/三重叠加.cs @@ -10,7 +10,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 => 35 - 2 * (Level - 1); - public override double HardnessTime => 10; + public override double HardnessTime { get; set; } = 10; public 三重叠加(Character character) : base(SkillType.SuperSkill, character) { diff --git a/Library/Skills/NiuNan/变幻之心.cs b/Library/Skills/NiuNan/变幻之心.cs index f2954b4..ef81568 100644 --- a/Library/Skills/NiuNan/变幻之心.cs +++ b/Library/Skills/NiuNan/变幻之心.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 => 30; - public override double HardnessTime => 10; + public override double HardnessTime { get; set; } = 10; public 变幻之心(Character character) : base(SkillType.SuperSkill, character) { diff --git a/Library/Skills/Oshima/力量爆发.cs b/Library/Skills/Oshima/力量爆发.cs index 3c9e6d4..34bf69e 100644 --- a/Library/Skills/Oshima/力量爆发.cs +++ b/Library/Skills/Oshima/力量爆发.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; - public override double HardnessTime => 0; + public override double HardnessTime { get; set; } = 0; public 力量爆发(Character character) : base(SkillType.SuperSkill, character) { diff --git a/Library/Skills/QWQAQW/玻璃大炮.cs b/Library/Skills/QWQAQW/玻璃大炮.cs index b5da0b4..03cc86c 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% 时,受到额外的 [ {高于30额外伤害下限}~{高于30额外伤害上限}% ] 伤害,但是获得 [ 累计所受伤害的 {高于30的加成下限}~{高于30的加成上限}% ] 伤害加成;生命值低于等于 30% 时,不会受到额外的伤害,仅能获得 [ 累计受到的伤害 {低于30的加成下限}~{低于30的加成上限}% ] 伤害加成。" + - $"在没有受到任何伤害的时候,将获得 {常规伤害加成 * 100:0.##}% 伤害加成。" + (累计受到的伤害 > 0 ? $"(当前伤害加成:{伤害加成(累计受到的伤害) * 100:0.##}%)" : ""); + $"在没有受到任何伤害的时候,将获得 {常规伤害加成 * 100:0.##}% 伤害加成。" + (累计受到的伤害 > 0 ? $"(当前累计受到伤害:{累计受到的伤害})" : ""); public override bool TargetSelf => true; private double 累计受到的伤害 = 0; diff --git a/Library/Skills/QWQAQW/迅捷之势.cs b/Library/Skills/QWQAQW/迅捷之势.cs index 48ec85d..d4f2b65 100644 --- a/Library/Skills/QWQAQW/迅捷之势.cs +++ b/Library/Skills/QWQAQW/迅捷之势.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 => 60 - 2 * (Level - 1); - public override double HardnessTime => 15; + public override double HardnessTime { get; set; } = 15; public 迅捷之势(Character character) : base(SkillType.SuperSkill, character) { diff --git a/Library/Skills/QingXiang/能量毁灭.cs b/Library/Skills/QingXiang/能量毁灭.cs index 272bfaf..e3eaf9f 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 => 25; + public override double HardnessTime { get; set; } = 25; public 能量毁灭(Character character) : base(SkillType.SuperSkill, character) { @@ -30,7 +30,7 @@ namespace Milimoe.FunGame.Testing.Skills private double 智力系数 => Calculation.Round4Digits(0.55 * Level); private double 智力伤害 => Calculation.Round2Digits(智力系数 * Skill.Character?.INT ?? 0); - private readonly double 能量系数 = Calculation.Round4Digits(4.5); + private double 能量系数 => Calculation.Round4Digits(0.75 * Level); public override void OnSkillCasted(Character caster, List enemys, List teammates, Dictionary others) { diff --git a/Library/Skills/QuDuoduo/血之狂欢.cs b/Library/Skills/QuDuoduo/血之狂欢.cs index 991a178..d61bc88 100644 --- a/Library/Skills/QuDuoduo/血之狂欢.cs +++ b/Library/Skills/QuDuoduo/血之狂欢.cs @@ -12,7 +12,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 => 45; - public override double HardnessTime => 7; + public override double HardnessTime { get; set; } = 7; public 血之狂欢(Character character) : base(SkillType.SuperSkill, character) { diff --git a/Library/Skills/XinYin/天赐之力.cs b/Library/Skills/XinYin/天赐之力.cs index d753ee2..725cc29 100644 --- a/Library/Skills/XinYin/天赐之力.cs +++ b/Library/Skills/XinYin/天赐之力.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 => 60; - public override double HardnessTime => 15; + public override double HardnessTime { get; set; } = 15; public 天赐之力(Character character) : base(SkillType.SuperSkill, character) { diff --git a/Library/Skills/Yang/魔法涌流.cs b/Library/Skills/Yang/魔法涌流.cs index 209589d..bc48260 100644 --- a/Library/Skills/Yang/魔法涌流.cs +++ b/Library/Skills/Yang/魔法涌流.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 => 35; - public override double HardnessTime => 10; + public override double HardnessTime { get; set; } = 10; public 魔法涌流(Character character) : base(SkillType.SuperSkill, character) { diff --git a/Library/Skills/战技/疾风步.cs b/Library/Skills/战技/疾风步.cs index 2f9dbb8..61036f6 100644 --- a/Library/Skills/战技/疾风步.cs +++ b/Library/Skills/战技/疾风步.cs @@ -9,9 +9,9 @@ namespace Milimoe.FunGame.Testing.Skills public override long Id => 2001; public override string Name => "疾风步"; public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - public override double EPCost => 35; + public override double EPCost => 60; public override double CD => 35; - public override double HardnessTime => 5; + public override double HardnessTime { get; set; } = 5; public 疾风步(Character character) : base(SkillType.Skill, character) { diff --git a/Library/Skills/绿拱门/平衡强化.cs b/Library/Skills/绿拱门/平衡强化.cs index 48a3593..f98e934 100644 --- a/Library/Skills/绿拱门/平衡强化.cs +++ b/Library/Skills/绿拱门/平衡强化.cs @@ -10,7 +10,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 - (1 * (Level - 1)); - public override double HardnessTime => 12; + public override double HardnessTime { get; set; } = 12; public 平衡强化(Character character) : base(SkillType.SuperSkill, character) { diff --git a/Library/Skills/马猴烧酒/绝对领域.cs b/Library/Skills/马猴烧酒/绝对领域.cs index bef228a..30efab8 100644 --- a/Library/Skills/马猴烧酒/绝对领域.cs +++ b/Library/Skills/马猴烧酒/绝对领域.cs @@ -11,7 +11,7 @@ namespace Milimoe.FunGame.Testing.Skills public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; public override double EPCost => Math.Max(100, Character?.EP ?? 100); public override double CD => 32 + (1 * (Level - 1)); - public override double HardnessTime => 12; + public override double HardnessTime { get; set; } = 12; public 绝对领域(Character character) : base(SkillType.SuperSkill, character) { diff --git a/Library/Skills/魔法/冰霜攻击.cs b/Library/Skills/魔法/冰霜攻击.cs index a235da7..2256552 100644 --- a/Library/Skills/魔法/冰霜攻击.cs +++ b/Library/Skills/魔法/冰霜攻击.cs @@ -9,11 +9,10 @@ namespace Milimoe.FunGame.Testing.Skills public override long Id => 2001; public override string Name => "冰霜攻击"; public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - public override double MPCost => BaseMPCost + (50 * (Level - 1)); + public override double MPCost => 30 + (50 * (Level - 1)); public override double CD => 20; public override double CastTime => 6; - public override double HardnessTime => 3; - protected override double BaseMPCost => 30; + public override double HardnessTime { get; set; } = 3; public 冰霜攻击(Character character) : base(SkillType.Magic, character) { diff --git a/Library/Tests/FunGame.cs b/Library/Tests/FunGame.cs index 6beb265..e0388ae 100644 --- a/Library/Tests/FunGame.cs +++ b/Library/Tests/FunGame.cs @@ -104,9 +104,9 @@ namespace Milimoe.FunGame.Testing.Tests character9, character10, character11, character12 ]; - int clevel = 25; - int slevel = 3; - int mlevel = 4; + int clevel = 60; + int slevel = 6; + int mlevel = 8; // 升级和赋能 for (int index = 0; index < characters.Count; index++) @@ -395,16 +395,16 @@ namespace Milimoe.FunGame.Testing.Tests // 赛后统计 WriteLine("==== 伤害排行榜 TOP6 ===="); Msg = "==== 伤害排行榜 TOP6 ====\r\n"; - // 显示前四的角色统计 int count = 1; foreach (Character character in actionQueue.CharacterStatistics.OrderByDescending(d => d.Value.TotalDamage).Select(d => d.Key)) { StringBuilder builder = new(); CharacterStatistics stats = actionQueue.CharacterStatistics[character]; - builder.AppendLine($"{count}. [ {character.ToStringWithLevel()} ]"); + builder.AppendLine($"{count}. [ {character.ToStringWithLevel()} ] ({stats.Kills} / {stats.Assists})"); builder.AppendLine($"存活时长:{stats.LiveTime} / 存活回合数:{stats.LiveRound} / 行动回合数:{stats.ActionTurn}"); - builder.AppendLine($"总计伤害:{stats.TotalDamage} / 每秒伤害:{stats.DamagePerSecond} / 每回合伤害:{stats.DamagePerTurn}"); - builder.Append($"总计物理伤害:{stats.TotalPhysicalDamage} / 总计魔法伤害:{stats.TotalMagicDamage}"); + builder.AppendLine($"总计伤害:{stats.TotalDamage} / 总计物理伤害:{stats.TotalPhysicalDamage} / 总计魔法伤害:{stats.TotalMagicDamage}"); + builder.AppendLine($"总承受伤害:{stats.TotalTakenDamage} / 总承受物理伤害:{stats.TotalTakenPhysicalDamage} / 总承受魔法伤害:{stats.TotalTakenMagicDamage}"); + builder.Append($"每秒伤害:{stats.DamagePerSecond} / 每回合伤害:{stats.DamagePerTurn}"); if (count++ <= 6) { WriteLine(builder.ToString());