From 98859605c7212608395f9504f5ee7a317829e8be Mon Sep 17 00:00:00 2001 From: milimoe Date: Fri, 8 Nov 2024 23:45:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4testing=E7=9A=84=E6=8A=80?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Library/Effects/EffectID.cs | 163 -------- Library/Effects/ItemEffects/冷却缩减加成.cs | 35 -- .../Effects/ItemEffects/技能硬直时间减少.cs | 51 --- Library/Effects/ItemEffects/攻击力加成.cs | 35 -- .../Effects/ItemEffects/普攻硬直时间减少.cs | 35 -- Library/Effects/ItemEffects/物理护甲加成.cs | 35 -- .../OpenEffects/AccelerationCoefficient.cs | 42 --- Library/Effects/OpenEffects/ExAGI.cs | 42 --- Library/Effects/OpenEffects/ExAGI2.cs | 45 --- Library/Effects/OpenEffects/ExATK.cs | 42 --- Library/Effects/OpenEffects/ExATK2.cs | 45 --- .../OpenEffects/ExActionCoefficient.cs | 42 --- Library/Effects/OpenEffects/ExCDR.cs | 42 --- Library/Effects/OpenEffects/ExCritDMG.cs | 42 --- Library/Effects/OpenEffects/ExCritRate.cs | 42 --- Library/Effects/OpenEffects/ExDEF.cs | 42 --- Library/Effects/OpenEffects/ExDEF2.cs | 45 --- Library/Effects/OpenEffects/ExEvadeRate.cs | 42 --- Library/Effects/OpenEffects/ExHR.cs | 42 --- Library/Effects/OpenEffects/ExINT.cs | 42 --- Library/Effects/OpenEffects/ExINT2.cs | 45 --- Library/Effects/OpenEffects/ExMDF.cs | 115 ------ Library/Effects/OpenEffects/ExMR.cs | 42 --- Library/Effects/OpenEffects/ExMaxHP.cs | 42 --- Library/Effects/OpenEffects/ExMaxHP2.cs | 45 --- Library/Effects/OpenEffects/ExMaxMP.cs | 42 --- Library/Effects/OpenEffects/ExMaxMP2.cs | 45 --- Library/Effects/OpenEffects/ExPDR.cs | 42 --- Library/Effects/OpenEffects/ExSPD.cs | 42 --- Library/Effects/OpenEffects/ExSTR.cs | 42 --- Library/Effects/OpenEffects/ExSTR2.cs | 45 --- .../Effects/OpenEffects/MagicalPenetration.cs | 42 --- .../OpenEffects/NormalAttackHardTimeReduce.cs | 42 --- .../NormalAttackHardTimeReduce2.cs | 42 --- .../OpenEffects/PhysicalPenetration.cs | 42 --- .../OpenEffects/SkillHardTimeReduce.cs | 58 --- .../OpenEffects/SkillHardTimeReduce2.cs | 58 --- Library/Effects/SkillEffects/眩晕.cs | 47 --- Library/Effects/SkillEffects/累积之压标记.cs | 24 -- Library/Items/Accessory/攻击之爪.cs | 62 --- Library/Items/ItemID.cs | 9 - Library/Items/Weapon/独奏弓.cs | 42 --- Library/Main.cs | 6 +- Library/Skills/ColdBlue/嗜血本能.cs | 64 ---- Library/Skills/ColdBlue/累积之压.cs | 89 ----- Library/Skills/MagicalGirl/毁灭之势.cs | 58 --- Library/Skills/MagicalGirl/绝对领域.cs | 73 ---- Library/Skills/Mayor/精准打击.cs | 68 ---- Library/Skills/Mayor/致命打击.cs | 40 -- Library/Skills/NanGanyu/三重叠加.cs | 64 ---- Library/Skills/NanGanyu/灵能反射.cs | 96 ----- Library/Skills/NiuNan/变幻之心.cs | 76 ---- Library/Skills/NiuNan/智慧与力量.cs | 153 -------- Library/Skills/Oshima/META马.cs | 46 --- Library/Skills/Oshima/力量爆发.cs | 68 ---- Library/Skills/QWQAQW/玻璃大炮.cs | 100 ----- Library/Skills/QWQAQW/迅捷之势.cs | 79 ---- Library/Skills/QingXiang/枯竭打击.cs | 56 --- Library/Skills/QingXiang/能量毁灭.cs | 45 --- Library/Skills/QuDuoduo/弱者猎手.cs | 51 --- Library/Skills/QuDuoduo/血之狂欢.cs | 50 --- Library/Skills/SkillID.cs | 80 ---- Library/Skills/XinYin/天赐之力.cs | 89 ----- Library/Skills/XinYin/心灵之火.cs | 68 ---- Library/Skills/Yang/魔法涌流.cs | 64 ---- Library/Skills/Yang/魔法震荡.cs | 50 --- Library/Skills/dddovo/平衡强化.cs | 70 ---- Library/Skills/dddovo/敏捷之刃.cs | 49 --- Library/Skills/战技/疾风步.cs | 84 ----- Library/Skills/魔法/冰霜攻击.cs | 52 --- Library/Solutions/TestModule.cs | 57 +-- Library/Solutions/TestPlugin.cs | 36 +- Library/Tests/FunGame.cs | 354 +++++++++--------- 73 files changed, 183 insertions(+), 4118 deletions(-) delete mode 100644 Library/Effects/EffectID.cs delete mode 100644 Library/Effects/ItemEffects/冷却缩减加成.cs delete mode 100644 Library/Effects/ItemEffects/技能硬直时间减少.cs delete mode 100644 Library/Effects/ItemEffects/攻击力加成.cs delete mode 100644 Library/Effects/ItemEffects/普攻硬直时间减少.cs delete mode 100644 Library/Effects/ItemEffects/物理护甲加成.cs delete mode 100644 Library/Effects/OpenEffects/AccelerationCoefficient.cs delete mode 100644 Library/Effects/OpenEffects/ExAGI.cs delete mode 100644 Library/Effects/OpenEffects/ExAGI2.cs delete mode 100644 Library/Effects/OpenEffects/ExATK.cs delete mode 100644 Library/Effects/OpenEffects/ExATK2.cs delete mode 100644 Library/Effects/OpenEffects/ExActionCoefficient.cs delete mode 100644 Library/Effects/OpenEffects/ExCDR.cs delete mode 100644 Library/Effects/OpenEffects/ExCritDMG.cs delete mode 100644 Library/Effects/OpenEffects/ExCritRate.cs delete mode 100644 Library/Effects/OpenEffects/ExDEF.cs delete mode 100644 Library/Effects/OpenEffects/ExDEF2.cs delete mode 100644 Library/Effects/OpenEffects/ExEvadeRate.cs delete mode 100644 Library/Effects/OpenEffects/ExHR.cs delete mode 100644 Library/Effects/OpenEffects/ExINT.cs delete mode 100644 Library/Effects/OpenEffects/ExINT2.cs delete mode 100644 Library/Effects/OpenEffects/ExMDF.cs delete mode 100644 Library/Effects/OpenEffects/ExMR.cs delete mode 100644 Library/Effects/OpenEffects/ExMaxHP.cs delete mode 100644 Library/Effects/OpenEffects/ExMaxHP2.cs delete mode 100644 Library/Effects/OpenEffects/ExMaxMP.cs delete mode 100644 Library/Effects/OpenEffects/ExMaxMP2.cs delete mode 100644 Library/Effects/OpenEffects/ExPDR.cs delete mode 100644 Library/Effects/OpenEffects/ExSPD.cs delete mode 100644 Library/Effects/OpenEffects/ExSTR.cs delete mode 100644 Library/Effects/OpenEffects/ExSTR2.cs delete mode 100644 Library/Effects/OpenEffects/MagicalPenetration.cs delete mode 100644 Library/Effects/OpenEffects/NormalAttackHardTimeReduce.cs delete mode 100644 Library/Effects/OpenEffects/NormalAttackHardTimeReduce2.cs delete mode 100644 Library/Effects/OpenEffects/PhysicalPenetration.cs delete mode 100644 Library/Effects/OpenEffects/SkillHardTimeReduce.cs delete mode 100644 Library/Effects/OpenEffects/SkillHardTimeReduce2.cs delete mode 100644 Library/Effects/SkillEffects/眩晕.cs delete mode 100644 Library/Effects/SkillEffects/累积之压标记.cs delete mode 100644 Library/Items/Accessory/攻击之爪.cs delete mode 100644 Library/Items/ItemID.cs delete mode 100644 Library/Items/Weapon/独奏弓.cs delete mode 100644 Library/Skills/ColdBlue/嗜血本能.cs delete mode 100644 Library/Skills/ColdBlue/累积之压.cs delete mode 100644 Library/Skills/MagicalGirl/毁灭之势.cs delete mode 100644 Library/Skills/MagicalGirl/绝对领域.cs delete mode 100644 Library/Skills/Mayor/精准打击.cs delete mode 100644 Library/Skills/Mayor/致命打击.cs delete mode 100644 Library/Skills/NanGanyu/三重叠加.cs delete mode 100644 Library/Skills/NanGanyu/灵能反射.cs delete mode 100644 Library/Skills/NiuNan/变幻之心.cs delete mode 100644 Library/Skills/NiuNan/智慧与力量.cs delete mode 100644 Library/Skills/Oshima/META马.cs delete mode 100644 Library/Skills/Oshima/力量爆发.cs delete mode 100644 Library/Skills/QWQAQW/玻璃大炮.cs delete mode 100644 Library/Skills/QWQAQW/迅捷之势.cs delete mode 100644 Library/Skills/QingXiang/枯竭打击.cs delete mode 100644 Library/Skills/QingXiang/能量毁灭.cs delete mode 100644 Library/Skills/QuDuoduo/弱者猎手.cs delete mode 100644 Library/Skills/QuDuoduo/血之狂欢.cs delete mode 100644 Library/Skills/SkillID.cs delete mode 100644 Library/Skills/XinYin/天赐之力.cs delete mode 100644 Library/Skills/XinYin/心灵之火.cs delete mode 100644 Library/Skills/Yang/魔法涌流.cs delete mode 100644 Library/Skills/Yang/魔法震荡.cs delete mode 100644 Library/Skills/dddovo/平衡强化.cs delete mode 100644 Library/Skills/dddovo/敏捷之刃.cs delete mode 100644 Library/Skills/战技/疾风步.cs delete mode 100644 Library/Skills/魔法/冰霜攻击.cs diff --git a/Library/Effects/EffectID.cs b/Library/Effects/EffectID.cs deleted file mode 100644 index f589027..0000000 --- a/Library/Effects/EffectID.cs +++ /dev/null @@ -1,163 +0,0 @@ -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public enum EffectID : long - { - /// - /// 数值攻击力,参数:exatk - /// - ExATK = 8001, - - /// - /// 数值物理护甲,参数:exdef - /// - ExDEF = 8002, - - /// - /// 数值力量,参数:exstr - /// - ExSTR = 8003, - - /// - /// 数值敏捷,参数:exagi - /// - ExAGI = 8004, - - /// - /// 数值智力,参数:exint - /// - ExINT = 8005, - - /// - /// 数值技能硬直时间减少,参数:shtr - /// - SkillHardTimeReduce = 8006, - - /// - /// 数值普攻硬直时间减少,参数:nahtr - /// - NormalAttackHardTimeReduce = 8007, - - /// - /// 加速系数%,参数:exacc - /// - AccelerationCoefficient = 8008, - - /// - /// 数值行动速度,参数:exspd - /// - ExSPD = 8009, - - /// - /// 行动系数%,参考:exac - /// - ExActionCoefficient = 8010, - - /// - /// 冷却缩减%,参数:excdr - /// - ExCDR = 8011, - - /// - /// 数值生命值,参数:exhp - /// - ExMaxHP = 8012, - - /// - /// 数值魔法值,参数:exmp - /// - ExMaxMP = 8013, - - /// - /// 暴击率%,参数:excr - /// - ExCritRate = 8014, - - /// - /// 暴击伤害%,参数:excrd - /// - ExCritDMG = 8015, - - /// - /// 闪避率%,参数:exer - /// - ExEvadeRate = 8016, - - /// - /// 物理穿透%,参数:exppt - /// - PhysicalPenetration = 8017, - - /// - /// 魔法穿透%,参数:exmpt - /// - MagicalPenetration = 8018, - - /// - /// 物理伤害减免%,参数:expdr - /// - ExPDR = 8019, - - /// - /// 魔法抗性% - /// 参数: - /// 魔法类型(对应MagicType,0为所有):mdftype - /// 魔法抗性%:mdfvalue - /// - ExMDF = 8020, - - /// - /// 数值生命回复,参数:exhr - /// - ExHR = 8021, - - /// - /// 数值魔法回复,参数:exmr - /// - ExMR = 8022, - - /// - /// 攻击力%,参数:exatk - /// - ExATK2 = 8023, - - /// - /// 物理护甲%,参数:exdef - /// - ExDEF2 = 8024, - - /// - /// 力量%,参数:exstr - /// - ExSTR2 = 8025, - - /// - /// 敏捷%,参数:exagi - /// - ExAGI2 = 8026, - - /// - /// 智力%,参数:exint - /// - ExINT2 = 8027, - - /// - /// 技能硬直时间减少%,参数:shtr - /// - SkillHardTimeReduce2 = 8028, - - /// - /// 普攻硬直时间减少%,参数:nahtr - /// - NormalAttackHardTimeReduce2 = 8029, - - /// - /// 最大生命值%,参数:exhp - /// - ExMaxHP2 = 8030, - - /// - /// 最大魔法值%,参数:exmp - /// - ExMaxMP2 = 8031, - } -} diff --git a/Library/Effects/ItemEffects/冷却缩减加成.cs b/Library/Effects/ItemEffects/冷却缩减加成.cs deleted file mode 100644 index 7521691..0000000 --- a/Library/Effects/ItemEffects/冷却缩减加成.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.ItemEffects -{ - public class 冷却缩减加成 : Effect - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"增加角色 {实际冷却缩减加成 * 100:0.##}% 冷却缩减。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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, double exCdr, Character? source = null, Item? item = null) : base(skill) - { - GamingQueue = skill.GamingQueue; - 实际冷却缩减加成 = exCdr; - Source = source; - Item = item; - } - } -} diff --git a/Library/Effects/ItemEffects/技能硬直时间减少.cs b/Library/Effects/ItemEffects/技能硬直时间减少.cs deleted file mode 100644 index 1aad4e7..0000000 --- a/Library/Effects/ItemEffects/技能硬直时间减少.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.ItemEffects -{ - public class 技能硬直时间减少 : Effect - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"减少角色的所有主动技能 {实际硬直时间减少:0.##} 硬直时间。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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 -= 实际硬直时间减少; - } - foreach (Skill? s in character.Items.Select(i => i.Skills.Active)) - { - if (s != null) - s.HardnessTime -= 实际硬直时间减少; - } - } - - public override void OnEffectLost(Character character) - { - foreach (Skill s in character.Skills) - { - s.HardnessTime += 实际硬直时间减少; - } - foreach (Skill? s in character.Items.Select(i => i.Skills.Active)) - { - if (s != null) - s.HardnessTime += 实际硬直时间减少; - } - } - - public 技能硬直时间减少(Skill skill, double reduce, Character? source = null, Item? item = null) : base(skill) - { - GamingQueue = skill.GamingQueue; - 实际硬直时间减少 = reduce; - Source = source; - Item = item; - } - } -} diff --git a/Library/Effects/ItemEffects/攻击力加成.cs b/Library/Effects/ItemEffects/攻击力加成.cs deleted file mode 100644 index bf7558a..0000000 --- a/Library/Effects/ItemEffects/攻击力加成.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.ItemEffects -{ - public class 攻击力加成 : Effect - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"增加角色 {实际攻击力加成:0.##} 点攻击力。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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, double exATK, Character? source = null, Item? item = null) : base(skill) - { - GamingQueue = skill.GamingQueue; - 实际攻击力加成 = exATK; - Source = source; - Item = item; - } - } -} diff --git a/Library/Effects/ItemEffects/普攻硬直时间减少.cs b/Library/Effects/ItemEffects/普攻硬直时间减少.cs deleted file mode 100644 index c7b6a0a..0000000 --- a/Library/Effects/ItemEffects/普攻硬直时间减少.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.ItemEffects -{ - public class 普攻硬直时间减少 : Effect - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"减少角色的普通攻击 {实际硬直时间减少:0.##} 硬直时间。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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 -= 实际硬直时间减少; - } - - public override void OnEffectLost(Character character) - { - character.NormalAttack.HardnessTime += 实际硬直时间减少; - } - - public 普攻硬直时间减少(Skill skill, double reduce, Character? source = null, Item? item = null) : base(skill) - { - GamingQueue = skill.GamingQueue; - 实际硬直时间减少 = reduce; - Source = source; - Item = item; - } - } -} diff --git a/Library/Effects/ItemEffects/物理护甲加成.cs b/Library/Effects/ItemEffects/物理护甲加成.cs deleted file mode 100644 index 62d6f69..0000000 --- a/Library/Effects/ItemEffects/物理护甲加成.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.ItemEffects -{ - public class 物理护甲加成 : Effect - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"增加角色 {实际物理护甲加成:0.##} 点物理护甲。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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, double exDef, Character? source = null, Item? item = null) : base(skill) - { - GamingQueue = skill.GamingQueue; - 实际物理护甲加成 = exDef; - Source = source; - Item = item; - } - } -} diff --git a/Library/Effects/OpenEffects/AccelerationCoefficient.cs b/Library/Effects/OpenEffects/AccelerationCoefficient.cs deleted file mode 100644 index 4d1ca5f..0000000 --- a/Library/Effects/OpenEffects/AccelerationCoefficient.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class AccelerationCoefficient : Effect - { - public override long Id => (long)EffectID.AccelerationCoefficient; - public override string Name => "加速系数加成"; - public override string Description => $"增加角色 {实际加成 * 100:0.##}% 加速系数。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.AccelerationCoefficient += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.AccelerationCoefficient -= 实际加成; - } - - public AccelerationCoefficient(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exacc", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exACC)) - { - 实际加成 = exACC; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExAGI.cs b/Library/Effects/OpenEffects/ExAGI.cs deleted file mode 100644 index 09b4574..0000000 --- a/Library/Effects/OpenEffects/ExAGI.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExAGI : Effect - { - public override long Id => (long)EffectID.ExAGI; - public override string Name => "敏捷加成"; - public override string Description => $"增加角色 {实际加成:0.##} 点敏捷。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExAGI += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExAGI -= 实际加成; - } - - public ExAGI(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exagi", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exAGI)) - { - 实际加成 = exAGI; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExAGI2.cs b/Library/Effects/OpenEffects/ExAGI2.cs deleted file mode 100644 index 3551893..0000000 --- a/Library/Effects/OpenEffects/ExAGI2.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExAGI2 : Effect - { - public override long Id => (long)EffectID.ExAGI2; - public override string Name => "敏捷加成"; - public override string Description => $"增加角色 {加成比例 * 100:0.##}% [ {实际加成:0.##} ] 点敏捷。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; - public override bool TargetSelf => true; - - public Item? Item { get; } - private readonly double 加成比例 = 0; - private double 实际加成 = 0; - - public override void OnEffectGained(Character character) - { - 实际加成 = character.BaseAGI * 加成比例; - character.ExAGI += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExAGI -= 实际加成; - 实际加成 = 0; - } - - public ExAGI2(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exagi", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exAGI)) - { - 加成比例 = exAGI; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExATK.cs b/Library/Effects/OpenEffects/ExATK.cs deleted file mode 100644 index 3ca13f2..0000000 --- a/Library/Effects/OpenEffects/ExATK.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExATK : Effect - { - public override long Id => (long)EffectID.ExATK; - public override string Name => "攻击力加成"; - public override string Description => $"增加角色 {实际加成:0.##} 点攻击力。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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 ExATK(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exatk", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exATK)) - { - 实际加成 = exATK; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExATK2.cs b/Library/Effects/OpenEffects/ExATK2.cs deleted file mode 100644 index 2b15805..0000000 --- a/Library/Effects/OpenEffects/ExATK2.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExATK2 : Effect - { - public override long Id => (long)EffectID.ExATK2; - public override string Name => "攻击力加成"; - public override string Description => $"增加角色 {加成比例 * 100:0.##}% [ {实际加成:0.##} ] 点攻击力。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; - public override bool TargetSelf => true; - - public Item? Item { get; } - private readonly double 加成比例 = 0; - private double 实际加成 = 0; - - public override void OnEffectGained(Character character) - { - 实际加成 = character.BaseATK * 加成比例; - character.ExATK2 += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExATK2 -= 实际加成; - 实际加成 = 0; - } - - public ExATK2(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exatk", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exATK)) - { - 加成比例 = exATK; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExActionCoefficient.cs b/Library/Effects/OpenEffects/ExActionCoefficient.cs deleted file mode 100644 index 1f9a703..0000000 --- a/Library/Effects/OpenEffects/ExActionCoefficient.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExActionCoefficient : Effect - { - public override long Id => (long)EffectID.ExActionCoefficient; - public override string Name => "行动系数加成"; - public override string Description => $"增加角色 {实际加成 * 100:0.##}% 行动系数。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExActionCoefficient += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExActionCoefficient -= 实际加成; - } - - public ExActionCoefficient(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exac", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exAC)) - { - 实际加成 = exAC; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExCDR.cs b/Library/Effects/OpenEffects/ExCDR.cs deleted file mode 100644 index 348dbbc..0000000 --- a/Library/Effects/OpenEffects/ExCDR.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExCDR : Effect - { - public override long Id => (long)EffectID.ExCDR; - public override string Name => "冷却缩减加成"; - public override string Description => $"增加角色 {实际加成 * 100:0.##}% 冷却缩减。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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 ExCDR(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("excdr", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exCDR)) - { - 实际加成 = exCDR; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExCritDMG.cs b/Library/Effects/OpenEffects/ExCritDMG.cs deleted file mode 100644 index 123c123..0000000 --- a/Library/Effects/OpenEffects/ExCritDMG.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExCritDMG : Effect - { - public override long Id => (long)EffectID.ExCritDMG; - public override string Name => "暴击伤害加成"; - public override string Description => $"增加角色 {实际加成 * 100:0.##}% 暴击伤害。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExCritDMG += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExCritDMG -= 实际加成; - } - - public ExCritDMG(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("excrd", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exCRD)) - { - 实际加成 = exCRD; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExCritRate.cs b/Library/Effects/OpenEffects/ExCritRate.cs deleted file mode 100644 index f51ceb9..0000000 --- a/Library/Effects/OpenEffects/ExCritRate.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExCritRate : Effect - { - public override long Id => (long)EffectID.ExCritRate; - public override string Name => "暴击率加成"; - public override string Description => $"增加角色 {实际加成 * 100:0.##}% 暴击率。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExCritRate += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExCritRate -= 实际加成; - } - - public ExCritRate(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("excr", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exCR)) - { - 实际加成 = exCR; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExDEF.cs b/Library/Effects/OpenEffects/ExDEF.cs deleted file mode 100644 index 8cecf16..0000000 --- a/Library/Effects/OpenEffects/ExDEF.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExDEF : Effect - { - public override long Id => (long)EffectID.ExDEF; - public override string Name => "物理护甲加成"; - public override string Description => $"增加角色 {实际加成:0.##} 点物理护甲。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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 ExDEF(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exdef", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exDEF)) - { - 实际加成 = exDEF; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExDEF2.cs b/Library/Effects/OpenEffects/ExDEF2.cs deleted file mode 100644 index ba434d9..0000000 --- a/Library/Effects/OpenEffects/ExDEF2.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExDEF2 : Effect - { - public override long Id => (long)EffectID.ExDEF2; - public override string Name => "物理护甲加成"; - public override string Description => $"增加角色 {加成比例 * 100:0.##}% [ {实际加成:0.##} ] 点物理护甲。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; - public override bool TargetSelf => true; - - public Item? Item { get; } - private readonly double 加成比例 = 0; - private double 实际加成 = 0; - - public override void OnEffectGained(Character character) - { - 实际加成 = character.BaseDEF * 加成比例; - character.ExDEF2 += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExDEF2 -= 实际加成; - 实际加成 = 0; - } - - public ExDEF2(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exdef", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exDEF)) - { - 加成比例 = exDEF; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExEvadeRate.cs b/Library/Effects/OpenEffects/ExEvadeRate.cs deleted file mode 100644 index 6bcaabb..0000000 --- a/Library/Effects/OpenEffects/ExEvadeRate.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExEvadeRate : Effect - { - public override long Id => (long)EffectID.ExEvadeRate; - public override string Name => "闪避率加成"; - public override string Description => $"增加角色 {实际加成 * 100:0.##}% 闪避率。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExEvadeRate += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExEvadeRate -= 实际加成; - } - - public ExEvadeRate(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exer", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exER)) - { - 实际加成 = exER; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExHR.cs b/Library/Effects/OpenEffects/ExHR.cs deleted file mode 100644 index 803e635..0000000 --- a/Library/Effects/OpenEffects/ExHR.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExHR : Effect - { - public override long Id => (long)EffectID.ExHR; - public override string Name => "生命回复加成"; - public override string Description => $"增加角色 {实际加成:0.##} 点生命回复。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExHR += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExHR -= 实际加成; - } - - public ExHR(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exhr", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exHR)) - { - 实际加成 = exHR; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExINT.cs b/Library/Effects/OpenEffects/ExINT.cs deleted file mode 100644 index 62b6d80..0000000 --- a/Library/Effects/OpenEffects/ExINT.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExINT : Effect - { - public override long Id => (long)EffectID.ExINT; - public override string Name => "智力加成"; - public override string Description => $"增加角色 {实际加成:0.##} 点智力。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExINT += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExINT -= 实际加成; - } - - public ExINT(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exint", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exINT)) - { - 实际加成 = exINT; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExINT2.cs b/Library/Effects/OpenEffects/ExINT2.cs deleted file mode 100644 index aa684d0..0000000 --- a/Library/Effects/OpenEffects/ExINT2.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExINT2 : Effect - { - public override long Id => (long)EffectID.ExINT2; - public override string Name => "智力加成"; - public override string Description => $"增加角色 {加成比例 * 100:0.##}% [ {实际加成:0.##} ] 点智力。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; - public override bool TargetSelf => true; - - public Item? Item { get; } - private readonly double 加成比例 = 0; - private double 实际加成 = 0; - - public override void OnEffectGained(Character character) - { - 实际加成 = character.BaseINT * 加成比例; - character.ExINT += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExINT -= 实际加成; - 实际加成 = 0; - } - - public ExINT2(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exint", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exINT)) - { - 加成比例 = exINT; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExMDF.cs b/Library/Effects/OpenEffects/ExMDF.cs deleted file mode 100644 index 9877fcf..0000000 --- a/Library/Effects/OpenEffects/ExMDF.cs +++ /dev/null @@ -1,115 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExMDF : Effect - { - public override long Id => (long)EffectID.ExMDF; - public override string Name => "魔法抗性加成"; - public override string Description => $"增加角色 {实际加成 * 100:0.##}% {CharacterSet.GetMagicResistanceName(魔法类型)}。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; - public override bool TargetSelf => true; - - public Item? Item { get; } - private readonly double 实际加成 = 0; - private readonly MagicType 魔法类型 = MagicType.None; - - public override void OnEffectGained(Character character) - { - switch (魔法类型) - { - case MagicType.Starmark: - character.MDF.Starmark += 实际加成; - break; - case MagicType.PurityNatural: - character.MDF.PurityNatural += 实际加成; - break; - case MagicType.PurityContemporary: - character.MDF.PurityContemporary += 实际加成; - break; - case MagicType.Bright: - character.MDF.Bright += 实际加成; - break; - case MagicType.Shadow: - character.MDF.Shadow += 实际加成; - break; - case MagicType.Element: - character.MDF.Element += 实际加成; - break; - case MagicType.Fleabane: - character.MDF.Fleabane += 实际加成; - break; - case MagicType.Particle: - character.MDF.Particle += 实际加成; - break; - case MagicType.None: - default: - character.MDF.SetAllValue(实际加成, false); - break; - } - } - - public override void OnEffectLost(Character character) - { - switch (魔法类型) - { - case MagicType.Starmark: - character.MDF.Starmark -= 实际加成; - break; - case MagicType.PurityNatural: - character.MDF.PurityNatural -= 实际加成; - break; - case MagicType.PurityContemporary: - character.MDF.PurityContemporary -= 实际加成; - break; - case MagicType.Bright: - character.MDF.Bright -= 实际加成; - break; - case MagicType.Shadow: - character.MDF.Shadow -= 实际加成; - break; - case MagicType.Element: - character.MDF.Element -= 实际加成; - break; - case MagicType.Fleabane: - character.MDF.Fleabane -= 实际加成; - break; - case MagicType.Particle: - character.MDF.Particle -= 实际加成; - break; - case MagicType.None: - default: - character.MDF.SetAllValue(-实际加成, false); - break; - } - } - - public ExMDF(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("mdfType", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && int.TryParse(Values[key].ToString(), out int mdfType)) - { - if (Enum.IsDefined(typeof(MagicType), mdfType)) - { - 魔法类型 = (MagicType)mdfType; - } - else - { - 魔法类型 = MagicType.None; - } - } - key = Values.Keys.FirstOrDefault(s => s.Equals("mdfvalue", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double mdfValue)) - { - 实际加成 = mdfValue; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExMR.cs b/Library/Effects/OpenEffects/ExMR.cs deleted file mode 100644 index 387f73d..0000000 --- a/Library/Effects/OpenEffects/ExMR.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExMR : Effect - { - public override long Id => (long)EffectID.ExMR; - public override string Name => "魔法回复加成"; - public override string Description => $"增加角色 {实际加成:0.##} 点魔法回复。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExMR += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExMR -= 实际加成; - } - - public ExMR(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exmr", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exMR)) - { - 实际加成 = exMR; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExMaxHP.cs b/Library/Effects/OpenEffects/ExMaxHP.cs deleted file mode 100644 index 5ef156e..0000000 --- a/Library/Effects/OpenEffects/ExMaxHP.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExMaxHP : Effect - { - public override long Id => (long)EffectID.ExMaxHP; - public override string Name => "最大生命值加成"; - public override string Description => $"增加角色 {实际加成:0.##} 点最大生命值。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExHP2 += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExHP2 -= 实际加成; - } - - public ExMaxHP(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exhp", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exHP)) - { - 实际加成 = exHP; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExMaxHP2.cs b/Library/Effects/OpenEffects/ExMaxHP2.cs deleted file mode 100644 index 506904e..0000000 --- a/Library/Effects/OpenEffects/ExMaxHP2.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExMaxHP2 : Effect - { - public override long Id => (long)EffectID.ExMaxHP2; - public override string Name => "最大生命值加成"; - public override string Description => $"增加角色 {加成比例 * 100:0.##}% [ {实际加成:0.##} ] 点最大生命值。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; - public override bool TargetSelf => true; - - public Item? Item { get; } - private readonly double 加成比例 = 0; - private double 实际加成 = 0; - - public override void OnEffectGained(Character character) - { - 实际加成 = character.BaseHP * 加成比例; - character.ExHP2 += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExHP2 -= 实际加成; - 实际加成 = 0; - } - - public ExMaxHP2(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exhp", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exHP)) - { - 加成比例 = exHP; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExMaxMP.cs b/Library/Effects/OpenEffects/ExMaxMP.cs deleted file mode 100644 index 584dc7f..0000000 --- a/Library/Effects/OpenEffects/ExMaxMP.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExMaxMP : Effect - { - public override long Id => (long)EffectID.ExMaxMP; - public override string Name => "最大魔法值加成"; - public override string Description => $"增加角色 {实际加成:0.##} 点最大魔法值。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExMP2 += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExMP2 -= 实际加成; - } - - public ExMaxMP(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exmp", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exMP)) - { - 实际加成 = exMP; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExMaxMP2.cs b/Library/Effects/OpenEffects/ExMaxMP2.cs deleted file mode 100644 index 6f4fd4a..0000000 --- a/Library/Effects/OpenEffects/ExMaxMP2.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExMaxMP2 : Effect - { - public override long Id => (long)EffectID.ExMaxMP2; - public override string Name => "最大魔法值加成"; - public override string Description => $"增加角色 {加成比例 * 100:0.##}% [ {实际加成:0.##} ] 点最大魔法值。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; - public override bool TargetSelf => true; - - public Item? Item { get; } - private readonly double 加成比例 = 0; - private double 实际加成 = 0; - - public override void OnEffectGained(Character character) - { - 实际加成 = character.BaseMP * 加成比例; - character.ExMP2 += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExMP2 -= 实际加成; - 实际加成 = 0; - } - - public ExMaxMP2(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exmp", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exMP)) - { - 加成比例 = exMP; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExPDR.cs b/Library/Effects/OpenEffects/ExPDR.cs deleted file mode 100644 index b800367..0000000 --- a/Library/Effects/OpenEffects/ExPDR.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExPDR : Effect - { - public override long Id => (long)EffectID.ExPDR; - public override string Name => "物理伤害减免加成"; - public override string Description => $"增加角色 {实际加成 * 100:0.##}% 物理伤害减免。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExPDR += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExPDR -= 实际加成; - } - - public ExPDR(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("expdr", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exPDR)) - { - 实际加成 = exPDR; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExSPD.cs b/Library/Effects/OpenEffects/ExSPD.cs deleted file mode 100644 index 6912561..0000000 --- a/Library/Effects/OpenEffects/ExSPD.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExSPD : Effect - { - public override long Id => (long)EffectID.ExSPD; - public override string Name => "行动速度加成"; - public override string Description => $"增加角色 {实际加成:0.##} 点行动速度。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExSPD += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExSPD -= 实际加成; - } - - public ExSPD(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exspd", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exSPD)) - { - 实际加成 = exSPD; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExSTR.cs b/Library/Effects/OpenEffects/ExSTR.cs deleted file mode 100644 index 95445af..0000000 --- a/Library/Effects/OpenEffects/ExSTR.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExSTR : Effect - { - public override long Id => (long)EffectID.ExSTR; - public override string Name => "力量加成"; - public override string Description => $"增加角色 {实际加成:0.##} 点力量。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.ExSTR += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExSTR -= 实际加成; - } - - public ExSTR(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exstr", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exSTR)) - { - 实际加成 = exSTR; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/ExSTR2.cs b/Library/Effects/OpenEffects/ExSTR2.cs deleted file mode 100644 index cb49ad4..0000000 --- a/Library/Effects/OpenEffects/ExSTR2.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class ExSTR2 : Effect - { - public override long Id => (long)EffectID.ExSTR2; - public override string Name => "力量加成"; - public override string Description => $"增加角色 {加成比例 * 100:0.##}% [ {实际加成:0.##} ] 点力量。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; - public override bool TargetSelf => true; - - public Item? Item { get; } - private readonly double 加成比例 = 0; - private double 实际加成 = 0; - - public override void OnEffectGained(Character character) - { - 实际加成 = character.BaseSTR * 加成比例; - character.ExSTR += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.ExSTR -= 实际加成; - 实际加成 = 0; - } - - public ExSTR2(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exstr", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exSTR)) - { - 加成比例 = exSTR; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/MagicalPenetration.cs b/Library/Effects/OpenEffects/MagicalPenetration.cs deleted file mode 100644 index fcfccb5..0000000 --- a/Library/Effects/OpenEffects/MagicalPenetration.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class MagicalPenetration : Effect - { - public override long Id => (long)EffectID.MagicalPenetration; - public override string Name => "魔法穿透加成"; - public override string Description => $"增加角色 {实际加成 * 100:0.##}% 魔法穿透。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.MagicalPenetration += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.MagicalPenetration -= 实际加成; - } - - public MagicalPenetration(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exmpt", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exMPT)) - { - 实际加成 = exMPT; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/NormalAttackHardTimeReduce.cs b/Library/Effects/OpenEffects/NormalAttackHardTimeReduce.cs deleted file mode 100644 index 5407aca..0000000 --- a/Library/Effects/OpenEffects/NormalAttackHardTimeReduce.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class NormalAttackHardTimeReduce : Effect - { - public override long Id => (long)EffectID.NormalAttackHardTimeReduce; - public override string Name => Skill.Name; - public override string Description => $"减少角色的普通攻击 {实际硬直时间减少:0.##} 硬直时间。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.NormalAttack.HardnessTime -= 实际硬直时间减少; - } - - public override void OnEffectLost(Character character) - { - character.NormalAttack.HardnessTime += 实际硬直时间减少; - } - - public NormalAttackHardTimeReduce(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("nahtr", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double nahtr)) - { - 实际硬直时间减少 = nahtr; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/NormalAttackHardTimeReduce2.cs b/Library/Effects/OpenEffects/NormalAttackHardTimeReduce2.cs deleted file mode 100644 index f25d298..0000000 --- a/Library/Effects/OpenEffects/NormalAttackHardTimeReduce2.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class NormalAttackHardTimeReduce2 : Effect - { - public override long Id => (long)EffectID.NormalAttackHardTimeReduce2; - public override string Name => Skill.Name; - public override string Description => $"减少角色的普通攻击 {减少比例 * 100:0.##}% 硬直时间。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.NormalAttack.HardnessTime -= character.NormalAttack.HardnessTime * 减少比例; - } - - public override void OnEffectLost(Character character) - { - character.NormalAttack.HardnessTime += character.NormalAttack.HardnessTime * 减少比例; - } - - public NormalAttackHardTimeReduce2(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("nahtr", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double nahtr)) - { - 减少比例 = nahtr; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/PhysicalPenetration.cs b/Library/Effects/OpenEffects/PhysicalPenetration.cs deleted file mode 100644 index 76a8c51..0000000 --- a/Library/Effects/OpenEffects/PhysicalPenetration.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class PhysicalPenetration : Effect - { - public override long Id => (long)EffectID.PhysicalPenetration; - public override string Name => "物理穿透加成"; - public override string Description => $"增加角色 {实际加成 * 100:0.##}% 物理穿透。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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.PhysicalPenetration += 实际加成; - } - - public override void OnEffectLost(Character character) - { - character.PhysicalPenetration -= 实际加成; - } - - public PhysicalPenetration(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("exppt", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double exPPT)) - { - 实际加成 = exPPT; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/SkillHardTimeReduce.cs b/Library/Effects/OpenEffects/SkillHardTimeReduce.cs deleted file mode 100644 index 4ed1b09..0000000 --- a/Library/Effects/OpenEffects/SkillHardTimeReduce.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class SkillHardTimeReduce : Effect - { - public override long Id => (long)EffectID.SkillHardTimeReduce; - public override string Name => Skill.Name; - public override string Description => $"减少角色的所有主动技能 {实际硬直时间减少:0.##} 硬直时间。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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) - { - foreach (Skill s in character.Skills) - { - s.HardnessTime -= 实际硬直时间减少; - } - foreach (Skill? s in character.Items.Select(i => i.Skills.Active)) - { - if (s != null) - s.HardnessTime -= 实际硬直时间减少; - } - } - - public override void OnEffectLost(Character character) - { - foreach (Skill s in character.Skills) - { - s.HardnessTime += 实际硬直时间减少; - } - foreach (Skill? s in character.Items.Select(i => i.Skills.Active)) - { - if (s != null) - s.HardnessTime += 实际硬直时间减少; - } - } - - public SkillHardTimeReduce(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("shtr", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double shtr)) - { - 实际硬直时间减少 = shtr; - } - } - } - } -} diff --git a/Library/Effects/OpenEffects/SkillHardTimeReduce2.cs b/Library/Effects/OpenEffects/SkillHardTimeReduce2.cs deleted file mode 100644 index d8745c4..0000000 --- a/Library/Effects/OpenEffects/SkillHardTimeReduce2.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.OpenEffects -{ - public class SkillHardTimeReduce2 : Effect - { - public override long Id => (long)EffectID.SkillHardTimeReduce2; - public override string Name => Skill.Name; - public override string Description => $"减少角色的所有主动技能 {减少比例 * 100:0.##}% 硬直时间。" + (!TargetSelf ? $"来自:[ {Source} ]" + (Item != null ? $" 的 [ {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) - { - foreach (Skill s in character.Skills) - { - s.HardnessTime -= s.HardnessTime * 减少比例; - } - foreach (Skill? s in character.Items.Select(i => i.Skills.Active)) - { - if (s != null) - s.HardnessTime -= s.HardnessTime * 减少比例; - } - } - - public override void OnEffectLost(Character character) - { - foreach (Skill s in character.Skills) - { - s.HardnessTime += s.HardnessTime * 减少比例; - } - foreach (Skill? s in character.Items.Select(i => i.Skills.Active)) - { - if (s != null) - s.HardnessTime += s.HardnessTime * 减少比例; - } - } - - public SkillHardTimeReduce2(Skill skill, Dictionary args, Character? source = null, Item? item = null) : base(skill, args) - { - GamingQueue = skill.GamingQueue; - Source = source; - Item = item; - if (Values.Count > 0) - { - string key = Values.Keys.FirstOrDefault(s => s.Equals("shtr", StringComparison.CurrentCultureIgnoreCase)) ?? ""; - if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double shtr)) - { - 减少比例 = shtr; - } - } - } - } -} diff --git a/Library/Effects/SkillEffects/眩晕.cs b/Library/Effects/SkillEffects/眩晕.cs deleted file mode 100644 index 658a76c..0000000 --- a/Library/Effects/SkillEffects/眩晕.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.SkillEffects -{ - public class 眩晕 : Effect - { - public override long Id => 4101; - public override string Name => "眩晕"; - public override string Description => $"此角色被眩晕了,不能行动。来自:[ {Source} ] 的 [ {Skill.Name} ]"; - public override EffectType EffectType => EffectType.Stun; - public override bool TargetSelf => true; - public override Character Source => _sourceCharacter; - public override bool Durative => _durative; - public override double Duration => _duration; - public override int DurationTurn => _durationTurn; - - private readonly Character _sourceCharacter; - private readonly bool _durative; - private readonly double _duration; - private readonly int _durationTurn; - - public 眩晕(Skill skill, Character sourceCharacter, bool durative = false, double duration = 0, int durationTurn = 1) : base(skill) - { - GamingQueue = skill.GamingQueue; - _sourceCharacter = sourceCharacter; - _durative = durative; - _duration = duration; - _durationTurn = durationTurn; - } - - public override void OnEffectGained(Character character) - { - if (_durative) RemainDuration = Duration; - else RemainDurationTurn = DurationTurn; - character.CharacterEffectStates.Add(this, [CharacterState.NotActionable]); - character.UpdateCharacterState(); - InterruptCasting(character, Source); - } - - public override void OnEffectLost(Character character) - { - character.CharacterEffectStates.Remove(this); - character.UpdateCharacterState(); - } - } -} diff --git a/Library/Effects/SkillEffects/累积之压标记.cs b/Library/Effects/SkillEffects/累积之压标记.cs deleted file mode 100644 index 1d9bbd0..0000000 --- a/Library/Effects/SkillEffects/累积之压标记.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Effects.SkillEffects -{ - public class 累积之压标记 : Effect - { - public override long Id => 4102; - public override string Name => "累积之压标记"; - public override string Description => $"此角色持有累积之压标记,已累计 {MarkLevel} 层。来自:[ {Source} ]"; - public override EffectType EffectType => EffectType.Mark; - public override bool TargetSelf => true; - public override Character Source => _sourceCharacter; - public int MarkLevel { get; set; } = 1; - - private readonly Character _sourceCharacter; - - public 累积之压标记(Skill skill, Character sourceCharacter) : base(skill) - { - GamingQueue = skill.GamingQueue; - _sourceCharacter = sourceCharacter; - } - } -} diff --git a/Library/Items/Accessory/攻击之爪.cs b/Library/Items/Accessory/攻击之爪.cs deleted file mode 100644 index 94ad56d..0000000 --- a/Library/Items/Accessory/攻击之爪.cs +++ /dev/null @@ -1,62 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; -using Milimoe.FunGame.Testing.Effects.ItemEffects; -using Milimoe.FunGame.Testing.Skills; - -namespace Milimoe.FunGame.Testing.Items -{ - public class 攻击之爪10 : Item - { - public override long Id => (long)AccessoryID.攻击之爪10; - public override string Name => "攻击之爪 +10"; - public override string Description => Skills.Passives.Count > 0 ? Skills.Passives.First().Description : ""; - - public 攻击之爪10(Character? character = null) : base(ItemType.Accessory) - { - Skills.Passives.Add(new 攻击之爪技能(character, this, 10)); - } - } - - public class 攻击之爪30 : Item - { - public override long Id => (long)AccessoryID.攻击之爪30; - public override string Name => "攻击之爪 +30"; - public override string Description => Skills.Passives.Count > 0 ? Skills.Passives.First().Description : ""; - - public 攻击之爪30(Character? character = null) : base(ItemType.Accessory) - { - Skills.Passives.Add(new 攻击之爪技能(character, this, 30)); - } - } - - public class 攻击之爪50 : Item - { - public override long Id => (long)AccessoryID.攻击之爪50; - public override string Name => "攻击之爪 +50"; - public override string Description => Skills.Passives.Count > 0 ? Skills.Passives.First().Description : ""; - - public 攻击之爪50(Character? character = null) : base(ItemType.Accessory) - { - Skills.Passives.Add(new 攻击之爪技能(character, this, 50)); - } - } - - public class 攻击之爪技能 : Skill - { - public override long Id => (long)ItemPassiveID.攻击之爪; - public override string Name => "攻击之爪"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public 攻击之爪技能(Character? character = null, Item? item = null, double exATK = 0) : base(SkillType.Passive, character) - { - Level = 1; - Item = item; - Effects.Add(new 攻击力加成(this, exATK, character, item)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } -} diff --git a/Library/Items/ItemID.cs b/Library/Items/ItemID.cs deleted file mode 100644 index 980ede9..0000000 --- a/Library/Items/ItemID.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Milimoe.FunGame.Testing.Items -{ - public enum AccessoryID : long - { - 攻击之爪10 = 14001, - 攻击之爪30 = 14002, - 攻击之爪50 = 14003, - } -} diff --git a/Library/Items/Weapon/独奏弓.cs b/Library/Items/Weapon/独奏弓.cs deleted file mode 100644 index a34cd17..0000000 --- a/Library/Items/Weapon/独奏弓.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; -using Milimoe.FunGame.Testing.Effects.ItemEffects; - -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) - { - 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 => $"增加角色 {攻击力加成} 点攻击力,减少普通攻击 {硬直时间减少} 硬直时间。"; - - 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/Main.cs b/Library/Main.cs index 8806470..27787d9 100644 --- a/Library/Main.cs +++ b/Library/Main.cs @@ -12,7 +12,8 @@ ItemModule im = new(); im.Load(); FunGameSimulation.InitCharacter(); -FunGameSimulation.StartGame(true, false, true); +List strings = FunGameSimulation.StartGame(false, false, true); +strings.ForEach(Console.WriteLine); //Character c = FunGameSimulation.Characters[1].Copy(); //foreach (Skill s in FunGameSimulation.Magics) @@ -30,8 +31,9 @@ FunGameSimulation.StartGame(true, false, true); //Stopwatch stopwatch = new(); //stopwatch.Start(); -//for (int i = 0; i < 30; i++) +//for (int i = 0; i < 2000; i++) //{ +// Console.WriteLine($"{i}/2000"); // FunGameSimulation.StartGame(false, false, false); // FunGameSimulation.StartGame(false, false, true); //} diff --git a/Library/Skills/ColdBlue/嗜血本能.cs b/Library/Skills/ColdBlue/嗜血本能.cs deleted file mode 100644 index 4c97e06..0000000 --- a/Library/Skills/ColdBlue/嗜血本能.cs +++ /dev/null @@ -1,64 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; -using Milimoe.FunGame.Testing.Effects.SkillEffects; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 嗜血本能 : Skill - { - public override long Id => (long)SuperSkillID.嗜血本能; - public override string Name => "嗜血本能"; - 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 { get; set; } = 12; - - public 嗜血本能(Character? character = null) : base(SkillType.SuperSkill, character) - { - Effects.Add(new 嗜血本能特效(this)); - } - } - - public class 嗜血本能特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"{Duration} 时间内,攻击拥有标记的角色将根据标记层数获得 {吸血 * 100:0.##}% 吸血每层。"; - public override bool TargetSelf => true; - public override bool Durative => true; - public override double Duration => 30; - - public HashSet 角色有第四层 { get; } = []; - private double 吸血 => 0.03 * Level; - - public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (character == Skill.Character && damageResult != DamageResult.Evaded && character.HP < character.MaxHP) - { - int 层数 = 0; - if (enemy.Effects.Where(e => e is 累积之压标记).FirstOrDefault() is 累积之压标记 e) - { - 层数 = e.MarkLevel; - } - else if (角色有第四层.Remove(enemy)) - { - 层数 = 4; - } - double 实际吸血 = 吸血 * 层数 * damage; - character.HP += 实际吸血; - WriteLine($"[ {character} ] 回复了 {实际吸血:0.##} 点生命值!"); - } - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - RemainDuration = Duration; - if (!caster.Effects.Contains(this)) - { - 角色有第四层.Clear(); - caster.Effects.Add(this); - OnEffectGained(caster); - } - } - } -} diff --git a/Library/Skills/ColdBlue/累积之压.cs b/Library/Skills/ColdBlue/累积之压.cs deleted file mode 100644 index cc97175..0000000 --- a/Library/Skills/ColdBlue/累积之压.cs +++ /dev/null @@ -1,89 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; -using Milimoe.FunGame.Testing.Effects.SkillEffects; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 累积之压 : Skill - { - public override long Id => (long)PassiveID.累积之压; - public override string Name => "累积之压"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public 累积之压(Character? character = null) : base(SkillType.Passive, character) - { - Effects.Add(new 累积之压特效(this)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } - - public class 累积之压特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"每次造成伤害都可以叠一层标记,累计 4 层时回收该角色所有标记并造成眩晕 1 回合,额外对该角色造成 {系数 * 100:0.##}% 最大生命值的物理伤害。"; - public override bool TargetSelf => true; - - private readonly double 系数 = 0.12; - private bool 是否是嵌套伤害 = false; - - public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (character == Skill.Character && damageResult != DamageResult.Evaded && !是否是嵌套伤害) - { - // 叠标记 - IEnumerable effects = enemy.Effects.Where(e => e is 累积之压标记); - if (effects.Any() && effects.First() is 累积之压标记 e) - { - e.MarkLevel++; - IEnumerable effects2 = character.Effects.Where(e => e is 嗜血本能特效); - if (effects2.Any() && effects2.First() is 嗜血本能特效 e2) - { - if (e.MarkLevel >= 4) - { - e2.角色有第四层.Add(enemy); - } - else - { - e2.角色有第四层.Remove(enemy); - } - } - if (e.MarkLevel >= 4) - { - // 移除标记 - enemy.Effects.Remove(e); - double 额外伤害 = enemy.MaxHP * 系数; - WriteLine($"[ {character} ] 发动了累积之压!将对 [ {enemy} ] 造成眩晕和额外伤害!"); - // 眩晕 - IEnumerable effects3 = enemy.Effects.Where(e => e is 眩晕 && e.Skill == Skill); - if (effects3.Any()) - { - effects3.First().RemainDurationTurn++; - } - else - { - 眩晕 e3 = new(Skill, character, false, 0, 1); - enemy.Effects.Add(e3); - e3.OnEffectGained(enemy); - } - 是否是嵌套伤害 = true; - DamageToEnemy(character, enemy, false, magicType, 额外伤害); - } - } - else - { - enemy.Effects.Add(new 累积之压标记(Skill, character)); - } - } - - if (character == Skill.Character && 是否是嵌套伤害) - { - 是否是嵌套伤害 = false; - } - } - } -} diff --git a/Library/Skills/MagicalGirl/毁灭之势.cs b/Library/Skills/MagicalGirl/毁灭之势.cs deleted file mode 100644 index d142f8c..0000000 --- a/Library/Skills/MagicalGirl/毁灭之势.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 毁灭之势 : Skill - { - public override long Id => (long)PassiveID.毁灭之势; - public override string Name => "毁灭之势"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public 毁灭之势(Character? character = null) : base(SkillType.Passive, character) - { - Effects.Add(new 毁灭之势特效(this)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } - - public class 毁灭之势特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"每时间提升 {伤害提升 * 100:0.##}% 所有伤害,无上限,但受到伤害时效果清零。" + (累计伤害 > 0 ? $"(当前总提升:{累计伤害 * 100:0.##}%)" : ""); - public override bool TargetSelf => true; - - private readonly double 伤害提升 = 0.04; - private double 累计伤害 = 0; - - public override bool AlterActualDamageAfterCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (damageResult != DamageResult.Evaded) - { - if (enemy == Skill.Character && damage > 0 && !enemy.Effects.Where(e => e is 绝对领域特效).Any()) - { - 累计伤害 = 0; - } - - if (character == Skill.Character) - { - double 实际伤害提升 = damage * 累计伤害; - damage += 实际伤害提升; - if (实际伤害提升 > 0) WriteLine($"[ {character} ] 的伤害提升了 {实际伤害提升:0.##} 点!"); - } - } - return false; - } - - public override void OnTimeElapsed(Character character, double eapsed) - { - 累计伤害 += 伤害提升 * eapsed; - WriteLine($"[ {character} ] 的 [ {Name} ] 效果增加了,当前总提升:{累计伤害 * 100:0.##}%。"); - } - } -} diff --git a/Library/Skills/MagicalGirl/绝对领域.cs b/Library/Skills/MagicalGirl/绝对领域.cs deleted file mode 100644 index 0dcb0a6..0000000 --- a/Library/Skills/MagicalGirl/绝对领域.cs +++ /dev/null @@ -1,73 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 绝对领域 : Skill - { - public override long Id => (long)SuperSkillID.绝对领域; - public override string Name => "绝对领域"; - 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 { get; set; } = 12; - - public 绝对领域(Character? character = null) : base(SkillType.SuperSkill, character) - { - Effects.Add(new 绝对领域特效(this)); - } - } - - public class 绝对领域特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"{Duration:0.##} 时间内无法受到任何伤害,且敏捷提升 {系数 * 100:0.##}% [ {敏捷提升:0.##} ]。此技能会消耗至少 100 点能量。"; - public override bool TargetSelf => true; - public override bool Durative => true; - public override double Duration => 16 + 释放时的能量值 * 0.03; - - private double 系数 => 0.2 + 0.015 * (Level - 1); - private double 敏捷提升 => 系数 * Skill.Character?.BaseAGI ?? 0; - private double 实际敏捷提升 = 0; - private double 释放时的能量值 = 0; - - public override void OnEffectGained(Character character) - { - 实际敏捷提升 = 敏捷提升; - character.ExAGI += 实际敏捷提升; - WriteLine($"[ {character} ] 的敏捷提升了 {系数 * 100:0.##}% [ {实际敏捷提升:0.##} ] !"); - } - - public override void OnEffectLost(Character character) - { - character.ExAGI -= 实际敏捷提升; - } - - public override bool AlterActualDamageAfterCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (enemy == Skill.Character && damageResult != DamageResult.Evaded) - { - WriteLine($"[ {enemy} ] 发动了绝对领域,巧妙的化解了此伤害!"); - return true; - } - return false; - } - - public override void OnSkillCasting(Character caster, List targets) - { - 释放时的能量值 = caster.EP; - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - RemainDuration = Duration; - if (!caster.Effects.Contains(this)) - { - 实际敏捷提升 = 0; - caster.Effects.Add(this); - OnEffectGained(caster); - } - } - } -} diff --git a/Library/Skills/Mayor/精准打击.cs b/Library/Skills/Mayor/精准打击.cs deleted file mode 100644 index e2cb069..0000000 --- a/Library/Skills/Mayor/精准打击.cs +++ /dev/null @@ -1,68 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 精准打击 : Skill - { - public override long Id => (long)SuperSkillID.精准打击; - public override string Name => "精准打击"; - 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 { get; set; } = 8; - - public 精准打击(Character? character = null) : base(SkillType.SuperSkill, character) - { - Effects.Add(new 精准打击特效(this)); - } - } - - public class 精准打击特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"30 时间内暴击率提升 {暴击率提升 * 100:0.##}%,暴击伤害提升 {暴击伤害提升 * 100:0.##}%,物理穿透提升 {物理穿透提升 * 100:0.##}%。"; - public override bool TargetSelf => true; - public override bool Durative => true; - public override double Duration => 30; - - private double 暴击率提升 => 0.2 + 0.03 * (Level - 1); - private double 暴击伤害提升 => 0.8 + 0.04 * (Level - 1); - private double 物理穿透提升 => 0.3; - private double 实际暴击率提升 = 0; - private double 实际暴击伤害提升 = 0; - private double 实际物理穿透提升 = 0; - - public override void OnEffectGained(Character character) - { - 实际暴击率提升 = 暴击率提升; - 实际暴击伤害提升 = 暴击伤害提升; - 实际物理穿透提升 = 物理穿透提升; - character.ExCritRate += 实际暴击率提升; - character.ExCritDMG += 实际暴击伤害提升; - character.PhysicalPenetration += 实际物理穿透提升; - WriteLine($"[ {character} ] 的暴击率提升了 [ {实际暴击率提升 * 100:0.##}% ],暴击伤害提升了 [ {实际暴击伤害提升 * 100:0.##}% ],物理穿透提升了 [ {实际物理穿透提升 * 100:0.##}% ] !!"); - } - - public override void OnEffectLost(Character character) - { - character.ExCritRate -= 实际暴击率提升; - character.ExCritDMG -= 实际暴击伤害提升; - character.PhysicalPenetration -= 实际物理穿透提升; - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - RemainDuration = Duration; - if (!caster.Effects.Contains(this)) - { - 实际暴击率提升 = 0; - 实际暴击伤害提升 = 0; - 实际物理穿透提升 = 0; - caster.Effects.Add(this); - OnEffectGained(caster); - } - } - } -} diff --git a/Library/Skills/Mayor/致命打击.cs b/Library/Skills/Mayor/致命打击.cs deleted file mode 100644 index f5a8fc4..0000000 --- a/Library/Skills/Mayor/致命打击.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 致命打击 : Skill - { - public override long Id => (long)PassiveID.致命打击; - public override string Name => "致命打击"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public 致命打击(Character? character = null) : base(SkillType.Passive, character) - { - Effects.Add(new 致命打击特效(this)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } - - public class 致命打击特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"暴击伤害提升 70%。"; - public override bool TargetSelf => true; - - public override void OnEffectGained(Character character) - { - character.ExCritDMG += 0.7; - } - - public override void OnEffectLost(Character character) - { - character.ExCritDMG -= 0.7; - } - } -} diff --git a/Library/Skills/NanGanyu/三重叠加.cs b/Library/Skills/NanGanyu/三重叠加.cs deleted file mode 100644 index 40fa7a6..0000000 --- a/Library/Skills/NanGanyu/三重叠加.cs +++ /dev/null @@ -1,64 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 三重叠加 : Skill - { - public override long Id => (long)SuperSkillID.三重叠加; - public override string Name => "三重叠加"; - 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 { get; set; } = 10; - - public 三重叠加(Character? character = null) : base(SkillType.SuperSkill, character) - { - Effects.Add(new 三重叠加特效(this)); - } - } - - public class 三重叠加特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => "三重叠加"; - public override string Description => $"使 [ 灵能反射 ] 支持普通攻击,且当前释放魔法次数归零,最大硬直消除次数提高到 {灵能反射次数} 次;在魔法命中和普通攻击命中时能够回复所回复能量值的 10 倍魔法值,持续 {技能持续次数} 次(灵能反射每消除次数达到最大时算一次)。" + - $"(剩余:{剩余持续次数} 次)"; - public override bool TargetSelf => true; - - public int 剩余持续次数 { get; set; } = 0; - private readonly int 灵能反射次数 = 3; - private readonly int 技能持续次数 = 2; - - public override void OnEffectGained(Character character) - { - IEnumerable effects = character.Effects.Where(e => e is 灵能反射特效); - if (effects.Any() && effects.First() is 灵能反射特效 e) - { - e.是否支持普攻 = true; - e.触发硬直次数 = 3; - e.释放次数 = 0; - } - } - - public override void OnEffectLost(Character character) - { - IEnumerable effects = character.Effects.Where(e => e is 灵能反射特效); - if (effects.Any() && effects.First() is 灵能反射特效 e) - { - e.是否支持普攻 = false; - e.触发硬直次数 = 2; - } - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - 剩余持续次数 = 技能持续次数; - if (!caster.Effects.Contains(this)) - { - caster.Effects.Add(this); - OnEffectGained(caster); - } - } - } -} diff --git a/Library/Skills/NanGanyu/灵能反射.cs b/Library/Skills/NanGanyu/灵能反射.cs deleted file mode 100644 index 3ed1117..0000000 --- a/Library/Skills/NanGanyu/灵能反射.cs +++ /dev/null @@ -1,96 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 灵能反射 : Skill - { - public override long Id => (long)PassiveID.灵能反射; - public override string Name => "灵能反射"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public 灵能反射(Character? character = null) : base(SkillType.Passive, character) - { - Effects.Add(new 灵能反射特效(this)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } - - public class 灵能反射特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - 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 获得额外能量值 => 0.25 * Skill.Character?.INT ?? 0; - - public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (character == Skill.Character && (是否支持普攻 && isNormalAttack || isMagicDamage) && damageResult != DamageResult.Evaded && character.EP < 200) - { - double 实际获得能量值 = 获得额外能量值; - character.EP += 实际获得能量值; - WriteLine($"[ {character} ] 发动了灵能反射!额外获得了 {实际获得能量值:0.##} 能量!"); - IEnumerable effects = character.Effects.Where(e => e is 三重叠加特效); - if (effects.Any() && effects.First() is 三重叠加特效 e) - { - double 获得的魔法值 = 实际获得能量值 * 10; - character.MP += 获得的魔法值; - WriteLine($"[ {character} ] 发动了三重叠加!回复了 {获得的魔法值:0.##} 魔法值!"); - } - } - } - - public override void AlterHardnessTimeAfterNormalAttack(Character character, ref double baseHardnessTime, ref bool isCheckProtected) - { - if (是否支持普攻) - { - AlterHardnessTime(character, ref baseHardnessTime, ref isCheckProtected); - } - } - - public override void AlterHardnessTimeAfterCastSkill(Character character, Skill skill, ref double baseHardnessTime, ref bool isCheckProtected) - { - if (skill.SkillType == SkillType.Magic) - { - AlterHardnessTime(character, ref baseHardnessTime, ref isCheckProtected); - } - } - - public void AlterHardnessTime(Character character, ref double baseHardnessTime, ref bool isCheckProtected) - { - 释放次数++; - if (释放次数 < 触发硬直次数) - { - baseHardnessTime = 0; - isCheckProtected = false; - WriteLine($"[ {character} ] 发动了灵能反射,消除了硬直时间!!"); - } - else - { - 释放次数 = 0; - IEnumerable effects = character.Effects.Where(e => e is 三重叠加特效); - if (effects.Any() && effects.First() is 三重叠加特效 e) - { - baseHardnessTime = 0; - isCheckProtected = false; - WriteLine($"[ {character} ] 发动了灵能反射,消除了硬直时间!!"); - e.剩余持续次数--; - if (e.剩余持续次数 == 0) - { - character.Effects.Remove(e); - e.OnEffectLost(character); - } - } - } - } - } -} diff --git a/Library/Skills/NiuNan/变幻之心.cs b/Library/Skills/NiuNan/变幻之心.cs deleted file mode 100644 index 4337220..0000000 --- a/Library/Skills/NiuNan/变幻之心.cs +++ /dev/null @@ -1,76 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 变幻之心 : Skill - { - public override long Id => (long)SuperSkillID.变幻之心; - public override string Name => "变幻之心"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - public override double EPCost => 100; - public override double CD => 30; - public override double HardnessTime { get; set; } = 10; - - public 变幻之心(Character? character = null) : base(SkillType.SuperSkill, character) - { - Effects.Add(new 变幻之心特效(this)); - } - } - - public class 变幻之心特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => "变幻之心"; - public override string Description => $"检查 [ 智慧与力量 ] 的模式。在力量模式下,立即回复 {生命值回复 * 100:0.##}% 生命值;智力模式下,下一次魔法伤害提升 {伤害提升 * 100:0.##}%。"; - public override bool TargetSelf => true; - - private double 生命值回复 => 0.25 + 0.03 * (Level - 1); - private double 伤害提升 => 0.55 + 0.25 * (Level - 1); - - public override void OnEffectGained(Character character) - { - Skill.IsInEffect = true; - } - - public override void OnEffectLost(Character character) - { - Skill.IsInEffect = false; - } - - public override void AlterExpectedDamageBeforeCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType) - { - if (character == Skill.Character && isMagicDamage) - { - double 实际伤害提升百分比 = 伤害提升; - double 实际伤害提升 = damage * 实际伤害提升百分比; - damage += 实际伤害提升; - WriteLine($"[ {character} ] 发动了变幻之心!伤害提升了 {实际伤害提升:0.##} 点!"); - character.Effects.Remove(this); - OnEffectLost(character); - } - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - IEnumerable effects = caster.Effects.Where(e => e is 智慧与力量特效); - if (effects.Any()) - { - if (caster.PrimaryAttribute == PrimaryAttribute.STR) - { - double 回复的生命 = 生命值回复 * caster.MaxHP; - caster.HP += 回复的生命; - WriteLine($"[ {caster} ] 回复了 {回复的生命:0.##} 点生命值!"); - } - else if (caster.PrimaryAttribute == PrimaryAttribute.INT) - { - if (!caster.Effects.Contains(this)) - { - caster.Effects.Add(this); - OnEffectGained(caster); - } - } - } - } - } -} diff --git a/Library/Skills/NiuNan/智慧与力量.cs b/Library/Skills/NiuNan/智慧与力量.cs deleted file mode 100644 index 62a54f7..0000000 --- a/Library/Skills/NiuNan/智慧与力量.cs +++ /dev/null @@ -1,153 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 智慧与力量 : Skill - { - public override long Id => (long)PassiveID.智慧与力量; - public override string Name => "智慧与力量"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public 智慧与力量(Character? character = null) : base(SkillType.Passive, character) - { - Effects.Add(new 智慧与力量特效(this)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } - - public class 智慧与力量特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"当生命值低于 30% 时,智力转化为力量;当生命值高于或等于 30% 时,力量转化为智力。力量模式下,造成伤害必定暴击;智力模式下,获得 30% 闪避率和 25% 魔法抗性。" + - (Skill.Character != null ? "(当前模式:" + CharacterSet.GetPrimaryAttributeName(Skill.Character.PrimaryAttribute) + ")" : ""); - public override bool TargetSelf => true; - - private double 交换前的额外智力 = 0; - private double 交换前的额外力量 = 0; - private double 实际增加闪避率 = 0.3; - private double 实际增加魔法抗性 = 0.25; - private bool 已经加过 = false; - - public override void OnEffectGained(Character character) - { - ResetEffect(character, true); - } - - public override void OnEffectLost(Character character) - { - if (character.PrimaryAttribute == PrimaryAttribute.INT) - { - ResetEffect(character, false); - } - } - - private void ResetEffect(Character character, bool isAdd) - { - if (isAdd) - { - 已经加过 = true; - character.ExEvadeRate += 实际增加闪避率; - character.MDF.None += 实际增加魔法抗性; - character.MDF.Particle += 实际增加魔法抗性; - character.MDF.Fleabane += 实际增加魔法抗性; - character.MDF.Element += 实际增加魔法抗性; - character.MDF.Shadow += 实际增加魔法抗性; - character.MDF.Bright += 实际增加魔法抗性; - character.MDF.PurityContemporary += 实际增加魔法抗性; - character.MDF.PurityNatural += 实际增加魔法抗性; - character.MDF.Starmark += 实际增加魔法抗性; - } - else - { - 已经加过 = false; - character.ExEvadeRate -= 实际增加闪避率; - character.MDF.None -= 实际增加魔法抗性; - character.MDF.Particle -= 实际增加魔法抗性; - character.MDF.Fleabane -= 实际增加魔法抗性; - character.MDF.Element -= 实际增加魔法抗性; - character.MDF.Shadow -= 实际增加魔法抗性; - character.MDF.Bright -= 实际增加魔法抗性; - character.MDF.PurityContemporary -= 实际增加魔法抗性; - character.MDF.PurityNatural -= 实际增加魔法抗性; - character.MDF.Starmark -= 实际增加魔法抗性; - } - } - - public override void OnAttributeChanged(Character character) - { - if (Skill.Character != null) - { - if (Skill.Character.PrimaryAttribute == PrimaryAttribute.INT) - { - double diff = character.ExSTR - 交换前的额外力量; - character.ExINT = 交换前的额外力量 + character.BaseSTR + diff; - } - else if (Skill.Character.PrimaryAttribute == PrimaryAttribute.STR) - { - double diff = character.ExINT - 交换前的额外智力; - character.ExSTR = 交换前的额外智力 + character.BaseINT + diff; - } - } - } - - public override bool BeforeCriticalCheck(Character character, ref double throwingBonus) - { - throwingBonus += 100; - return false; - } - - public override void OnTimeElapsed(Character character, double elapsed) - { - if (Skill.Character != null) - { - Character c = Skill.Character; - if (c.HP < c.MaxHP * 0.3) - { - if (c.PrimaryAttribute == PrimaryAttribute.INT) - { - double pastHP = c.HP; - double pastMaxHP = c.MaxHP; - double pastMP = c.MP; - double pastMaxMP = c.MaxMP; - c.PrimaryAttribute = PrimaryAttribute.STR; - 交换前的额外智力 = c.ExINT; - 交换前的额外力量 = c.ExSTR; - c.ExINT = -c.BaseINT; - c.ExSTR = 交换前的额外智力 + c.BaseINT + 交换前的额外力量; - c.Recovery(pastHP, pastMP, pastMaxHP, pastMaxMP); - if (已经加过) - { - ResetEffect(character, false); - } - } - } - else - { - if (c.PrimaryAttribute == PrimaryAttribute.STR) - { - double pastHP = c.HP; - double pastMaxHP = c.MaxHP; - double pastMP = c.MP; - double pastMaxMP = c.MaxMP; - c.PrimaryAttribute = PrimaryAttribute.INT; - 交换前的额外智力 = c.ExINT; - 交换前的额外力量 = c.ExSTR; - c.ExINT = 交换前的额外力量 + c.BaseSTR + 交换前的额外智力; - c.ExSTR = -c.BaseSTR; - c.Recovery(pastHP, pastMP, pastMaxHP, pastMaxMP); - if (!已经加过) - { - ResetEffect(character, true); - } - } - } - } - } - } -} diff --git a/Library/Skills/Oshima/META马.cs b/Library/Skills/Oshima/META马.cs deleted file mode 100644 index f694466..0000000 --- a/Library/Skills/Oshima/META马.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class META马 : Skill - { - public override long Id => (long)PassiveID.META马; - public override string Name => "META马"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public META马(Character? character = null) : base(SkillType.Passive, character) - { - Effects.Add(new META马特效(this)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } - - public class META马特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"META马专属被动:力量+5,力量成长+0.5;在受到伤害时,获得的能量提升50%,每回合开始还能获得额外的 [ {EP:0.##} ] 能量值。"; - public override bool TargetSelf => true; - public static double EP => 7; - - public override void AlterEPAfterGetDamage(Character character, ref double baseEP) - { - baseEP *= 1.5; - if (Skill.Character != null) WriteLine($"[ {Skill.Character} ] 发动了META马专属被动!本次获得了 {baseEP:0.##} 能量!"); - } - - public override void OnTurnStart(Character character) - { - if (character.EP < 200) - { - character.EP += EP; - WriteLine($"[ {character} ] 发动了META马专属被动!本次获得了 {EP:0.##} 能量!"); - } - } - } -} diff --git a/Library/Skills/Oshima/力量爆发.cs b/Library/Skills/Oshima/力量爆发.cs deleted file mode 100644 index 758841b..0000000 --- a/Library/Skills/Oshima/力量爆发.cs +++ /dev/null @@ -1,68 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 力量爆发 : Skill - { - public override long Id => (long)SuperSkillID.力量爆发; - public override string Name => "力量爆发"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - public override double EPCost => 100; - public override double CD => 55; - public override double HardnessTime { get; set; } = 0; - - public 力量爆发(Character? character = null) : base(SkillType.SuperSkill, character) - { - Effects.Add(new 力量爆发特效(this)); - } - } - - public class 力量爆发特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => "力量爆发"; - public override string Description => $"获得 135% 力量 [ {攻击力加成: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 攻击力加成 => Skill.Character?.STR * 1.35 ?? 0; - private double 当前生命值 => Skill.Character?.HP * 0.09 ?? 0; - private double 实际攻击力加成 = 0; - - public override void OnEffectGained(Character character) - { - 实际攻击力加成 = 攻击力加成; - character.ExATK2 += 实际攻击力加成; - WriteLine($"[ {character} ] 的攻击力增加了 [ {实际攻击力加成:0.##} ] !"); - } - - public override void OnEffectLost(Character character) - { - // 恢复到原始攻击力 - character.ExATK2 -= 实际攻击力加成; - } - - public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (character == Skill.Character && isNormalAttack) - { - double 生命值减少 = 当前生命值; - character.HP -= 生命值减少; - WriteLine($"[ {character} ] 由于自身力量过于强大而被反噬,损失了 [ {生命值减少:0.##} ] 点生命值!"); - } - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - RemainDuration = Duration; - if (!caster.Effects.Contains(this)) - { - 实际攻击力加成 = 0; - caster.Effects.Add(this); - OnEffectGained(caster); - } - } - } -} diff --git a/Library/Skills/QWQAQW/玻璃大炮.cs b/Library/Skills/QWQAQW/玻璃大炮.cs deleted file mode 100644 index 5ff455c..0000000 --- a/Library/Skills/QWQAQW/玻璃大炮.cs +++ /dev/null @@ -1,100 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 玻璃大炮 : Skill - { - public override long Id => (long)PassiveID.玻璃大炮; - public override string Name => "玻璃大炮"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public 玻璃大炮(Character? character = null) : base(SkillType.Passive, character) - { - Effects.Add(new 玻璃大炮特效(this)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } - - public class 玻璃大炮特效(Skill skill) : Effect(skill) - { - 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 ? $"(当前累计受到伤害:{累计受到的伤害:0.##})" : ""); - public override bool TargetSelf => true; - - private double 累计受到的伤害 = 0; - private double 这次的伤害加成 = 0; - private double 受到伤害之前的HP = 0; - private double 这次受到的额外伤害 = 0; - private readonly double 常规伤害加成 = 0.35; - 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; - private readonly int 低于30的加成下限 = 40; - - private double 伤害加成(double damage) - { - double 系数 = 常规伤害加成; - Character? character = Skill.Character; - if (character != null && 累计受到的伤害 != 0) - { - if (character.HP > character.MaxHP * 0.3) - { - 系数 = 1.0 + ((Random.Shared.Next(高于30的加成下限, 高于30的加成上限) + 0.0) / 100); - } - else - { - 系数 = 1.0 + ((Random.Shared.Next(低于30的加成下限, 低于30的加成上限) + 0.0) / 100); - } - return 系数 * 累计受到的伤害; - } - return 系数 * damage; - } - - public override void AlterExpectedDamageBeforeCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType) - { - if (character == Skill.Character) - { - 这次的伤害加成 = 伤害加成(damage); - damage += 这次的伤害加成; - WriteLine($"[ {character} ] 发动了玻璃大炮,获得了 {这次的伤害加成:0.##} 点伤害加成!"); - 累计受到的伤害 = 0; - } - - if (enemy == Skill.Character) - { - 受到伤害之前的HP = enemy.HP; - if (enemy.HP > enemy.MaxHP * 0.3) - { - // 额外受到伤害 - double 系数 = (Random.Shared.Next(高于30额外伤害下限, 高于30额外伤害上限) + 0.0) / 100; - 这次受到的额外伤害 = damage * 系数; - damage += 这次受到的额外伤害; - WriteLine($"[ {enemy} ] 的玻璃大炮触发,将额外受到 {这次受到的额外伤害:0.##} 点伤害!"); - } - else 这次受到的额外伤害 = 0; - } - } - - public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (enemy == Skill.Character && damageResult != DamageResult.Evaded) - { - 累计受到的伤害 += damage; - if (enemy.HP < 0 && 受到伤害之前的HP - damage + 这次受到的额外伤害 > 0) - { - enemy.HP = 10; - WriteLine($"[ {enemy} ] 的玻璃大炮触发,保护了自己不进入死亡!!"); - } - } - } - } -} diff --git a/Library/Skills/QWQAQW/迅捷之势.cs b/Library/Skills/QWQAQW/迅捷之势.cs deleted file mode 100644 index 3772154..0000000 --- a/Library/Skills/QWQAQW/迅捷之势.cs +++ /dev/null @@ -1,79 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 迅捷之势 : Skill - { - public override long Id => (long)SuperSkillID.迅捷之势; - public override string Name => "迅捷之势"; - 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 { get; set; } = 15; - - public 迅捷之势(Character? character = null) : base(SkillType.SuperSkill, character) - { - Effects.Add(new 迅捷之势特效(this)); - } - } - - public class 迅捷之势特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"{Duration:0.##} 时间内,提升自身 35% 物理伤害减免和魔法抗性,普通攻击转为魔法伤害,且硬直时间减少 30%,并基于 {智力系数 * 100:0.##}% 智力 [ {智力加成:0.##} ] 强化普通攻击伤害。"; - public override bool TargetSelf => true; - public override bool Durative => true; - public override double Duration => 40; - - private double 智力系数 => 1.4 + 0.4 * (Level - 1); - private double 智力加成 => 智力系数 * Skill.Character?.INT ?? 0; - private double 物理伤害减免 => 0.35; - private double 魔法抗性 => 0.35; - private double 实际物理伤害减免 = 0; - private double 实际魔法抗性 = 0; - - public override void OnEffectGained(Character character) - { - character.NormalAttack.SetMagicType(true, character.MagicType); - 实际物理伤害减免 = 物理伤害减免; - 实际魔法抗性 = 魔法抗性; - character.ExPDR += 实际物理伤害减免; - character.MDF.SetAllValue(实际魔法抗性, false); - WriteLine($"[ {character} ] 提升了 {实际物理伤害减免 * 100:0.##}% 物理伤害减免,{实际魔法抗性 * 100:0.##}% 魔法抗性!!"); - } - - public override void OnEffectLost(Character character) - { - character.NormalAttack.SetMagicType(false, character.MagicType); - 实际物理伤害减免 = 0; - 实际魔法抗性 = 0; - character.ExPDR -= 实际物理伤害减免; - character.MDF.SetAllValue(-实际魔法抗性, false); - } - - public override void AlterExpectedDamageBeforeCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType) - { - if (character == Skill.Character && isNormalAttack) - { - damage += 智力加成; - } - } - - public override void AlterHardnessTimeAfterNormalAttack(Character character, ref double baseHardnessTime, ref bool isCheckProtected) - { - baseHardnessTime *= 0.3; - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - RemainDuration = Duration; - if (!caster.Effects.Contains(this)) - { - caster.Effects.Add(this); - OnEffectGained(caster); - } - } - } -} diff --git a/Library/Skills/QingXiang/枯竭打击.cs b/Library/Skills/QingXiang/枯竭打击.cs deleted file mode 100644 index 3c9ff60..0000000 --- a/Library/Skills/QingXiang/枯竭打击.cs +++ /dev/null @@ -1,56 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 枯竭打击 : Skill - { - public override long Id => (long)PassiveID.枯竭打击; - public override string Name => "枯竭打击"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public 枯竭打击(Character? character = null) : base(SkillType.Passive, character) - { - Effects.Add(new 枯竭打击特效(this)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } - - public class 枯竭打击特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"每次造成伤害都会随机减少对方 [ 10~25 ] 点能量值,对能量值低于一半的角色额外造成 30% 伤害。对于枯竭打击而言,能量值大于100且小于150时,视为低于一半。"; - public override bool TargetSelf => true; - - private bool 是否是嵌套伤害 = false; - - public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (character == Skill.Character && damageResult != DamageResult.Evaded && !是否是嵌套伤害) - { - // 减少能量 - double EP = Random.Shared.Next(10, 25); - enemy.EP -= EP; - WriteLine($"[ {character} ] 发动了枯竭打击![ {enemy} ] 的能量值被减少了 {EP:0.##} 点!现有能量:{enemy.EP:0.##}。"); - // 额外伤害 - if (enemy.EP >= 0 && enemy.EP < 50 || enemy.EP >= 100 && enemy.EP < 150) - { - double 额外伤害 = damage * 0.3; - WriteLine($"[ {character} ] 发动了枯竭打击!将造成额外伤害!"); - 是否是嵌套伤害 = true; - DamageToEnemy(character, enemy, isMagicDamage, magicType, 额外伤害); - } - } - - if (character == Skill.Character && 是否是嵌套伤害) - { - 是否是嵌套伤害 = false; - } - } - } -} diff --git a/Library/Skills/QingXiang/能量毁灭.cs b/Library/Skills/QingXiang/能量毁灭.cs deleted file mode 100644 index 132056c..0000000 --- a/Library/Skills/QingXiang/能量毁灭.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 能量毁灭 : Skill - { - public override long Id => (long)SuperSkillID.能量毁灭; - public override string Name => "能量毁灭"; - 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 { get; set; } = 25; - public override string Slogan => "灭!!!!"; - - public 能量毁灭(Character? character = null) : base(SkillType.SuperSkill, character) - { - Effects.Add(new 能量毁灭特效(this)); - } - } - - public class 能量毁灭特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"对所有角色造成 " + - $"{能量系数 * 100:0.##}% 其现有能量值 + {智力系数 * 100:0.##}% 智力 [ {智力伤害:0.##} ] 的魔法伤害。"; - public override bool TargetSelf => false; - public override double TargetRange => 999; - - private double 智力系数 => 0.25 * Level; - private double 智力伤害 => 智力系数 * Skill.Character?.INT ?? 0; - private double 能量系数 => 1.05 * Level; - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - foreach (Character c in targets) - { - WriteLine($"[ {caster} ] 正在毁灭 [ {c} ] 的能量!!"); - double ep = c.EP; - DamageToEnemy(caster, c, true, MagicType, ep * 能量系数 + 智力伤害); - } - } - } -} diff --git a/Library/Skills/QuDuoduo/弱者猎手.cs b/Library/Skills/QuDuoduo/弱者猎手.cs deleted file mode 100644 index ce62853..0000000 --- a/Library/Skills/QuDuoduo/弱者猎手.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 弱者猎手 : Skill - { - public override long Id => (long)PassiveID.弱者猎手; - public override string Name => "弱者猎手"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public 弱者猎手(Character? character = null) : base(SkillType.Passive, character) - { - Effects.Add(new 弱者猎手特效(this)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } - - public class 弱者猎手特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"优先攻击血量更低的角色,对生命值百分比低于自己的角色造成 150% 伤害。"; - public override bool TargetSelf => true; - - public override void AlterExpectedDamageBeforeCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType) - { - if (character == Skill.Character && (enemy.HP / enemy.MaxHP) <= (character.HP / character.MaxHP)) - { - 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 => e.HP / e.MaxHP)]; - if (list.Any()) - { - enemys.Clear(); - enemys.Add(list.First()); - WriteLine($"[ {character} ] 发动了弱者猎手![ {list.First()} ] 被盯上了!"); - } - return true; - } - } -} diff --git a/Library/Skills/QuDuoduo/血之狂欢.cs b/Library/Skills/QuDuoduo/血之狂欢.cs deleted file mode 100644 index 2604291..0000000 --- a/Library/Skills/QuDuoduo/血之狂欢.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 血之狂欢 : Skill - { - public override long Id => (long)SuperSkillID.血之狂欢; - public override string Name => "血之狂欢"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - public override double EPCost => 100; - public override double CD => 45; - public override double HardnessTime { get; set; } = 7; - - public 血之狂欢(Character? character = null) : base(SkillType.SuperSkill, character) - { - Effects.Add(new 血之狂欢特效(this)); - } - } - - public class 血之狂欢特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"获得 40% 吸血,持续 {Duration:0.##} 时间。"; - public override bool TargetSelf => true; - public override bool Durative => true; - public override double Duration => 30; - - public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (character == Skill.Character && damageResult != DamageResult.Evaded && character.HP < character.MaxHP) - { - double 实际吸血 = 0.4 * damage; - character.HP += 实际吸血; - WriteLine($"[ {character} ] 回复了 {实际吸血:0.##} 点生命值!"); - } - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - RemainDuration = Duration; - if (!caster.Effects.Contains(this)) - { - caster.Effects.Add(this); - OnEffectGained(caster); - } - } - } -} diff --git a/Library/Skills/SkillID.cs b/Library/Skills/SkillID.cs deleted file mode 100644 index aa85500..0000000 --- a/Library/Skills/SkillID.cs +++ /dev/null @@ -1,80 +0,0 @@ -namespace Milimoe.FunGame.Testing.Skills -{ - public enum MagicID : long - { - 冰霜攻击 = 1001, - 火之矢 = 1002, - 水之矢 = 1003, - 石之锤 = 1004, - 风之轮 = 1005, - 心灵之霞 = 1006, - 次元上升 = 1007, - 暗物质 = 1008, - - 回复术 = 1009, - 治愈术 = 1010, - 复苏术 = 1011, - 圣灵术 = 1012, - 时间加速 = 1013, - 时间减速 = 1014, - 反魔法领域 = 1015, - 沉默十字 = 1016, - 虚弱领域 = 1017, - 混沌烙印 = 1018, - 凝胶稠絮 = 1019, - - 大地之墙 = 1020, - 盖亚之盾 = 1021, - 风之守护 = 1022, - 结晶防护 = 1023, - 强音之力 = 1024, - 神圣祝福 = 1025 - } - - public enum SkillID : long - { - 疾风步 = 2001, - } - - public enum SuperSkillID : long - { - 力量爆发 = 3001, - 天赐之力 = 3002, - 魔法涌流 = 3003, - 三重叠加 = 3004, - 变幻之心 = 3005, - 精准打击 = 3006, - 绝对领域 = 3007, - 能量毁灭 = 3008, - 迅捷之势 = 3009, - 嗜血本能 = 3010, - 平衡强化 = 3011, - 血之狂欢 = 3012, - } - - public enum PassiveID : long - { - META马 = 4001, - 心灵之火 = 4002, - 魔法震荡 = 4003, - 灵能反射 = 4004, - 智慧与力量 = 4005, - 致命打击 = 4006, - 毁灭之势 = 4007, - 枯竭打击 = 4008, - 玻璃大炮 = 4009, - 累积之压 = 4010, - 敏捷之刃 = 4011, - 弱者猎手 = 4012, - } - - public enum ItemPassiveID : long - { - 攻击之爪 = 5001, - } - - public enum ItemActiveID : long - { - - } -} diff --git a/Library/Skills/XinYin/天赐之力.cs b/Library/Skills/XinYin/天赐之力.cs deleted file mode 100644 index b236b71..0000000 --- a/Library/Skills/XinYin/天赐之力.cs +++ /dev/null @@ -1,89 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 天赐之力 : Skill - { - public override long Id => (long)SuperSkillID.天赐之力; - public override string Name => "天赐之力"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - public override double EPCost => 100; - public override double CD => 60; - public override double HardnessTime { get; set; } = 15; - - public 天赐之力(Character? character = null) : base(SkillType.SuperSkill, character) - { - Effects.Add(new 天赐之力特效(this)); - } - } - - public class 天赐之力特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - 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 系数 => 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) - { - 实际的攻击力提升 = 攻击力提升; - character.ExATK2 += 实际的攻击力提升; - character.PhysicalPenetration += 0.3; - character.ExEvadeRate += 0.25; - if (character.Effects.Where(e => e is 心灵之火特效).FirstOrDefault() is 心灵之火特效 e) - { - e.基础冷却时间 = 3; - if (e.冷却时间 > e.基础冷却时间) e.冷却时间 = e.基础冷却时间; - } - } - - public override void OnEffectLost(Character character) - { - character.ExATK2 -= 实际的攻击力提升; - character.PhysicalPenetration -= 0.3; - character.ExEvadeRate -= 0.25; - if (character.Effects.Where(e => e is 心灵之火特效).FirstOrDefault() is 心灵之火特效 e) - { - e.基础冷却时间 = 8; - } - } - - public override CharacterActionType AlterActionTypeBeforeAction(Character character, CharacterState state, ref bool canUseItem, ref bool canCastSkill, ref double pUseItem, ref double pCastSkill, ref double pNormalAttack) - { - pNormalAttack += 0.1; - return CharacterActionType.None; - } - - public override void AlterExpectedDamageBeforeCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType) - { - if (character == Skill.Character && isNormalAttack) - { - damage += 伤害加成; - } - } - - public override void AlterHardnessTimeAfterNormalAttack(Character character, ref double baseHardnessTime, ref bool isCheckProtected) - { - baseHardnessTime *= 0.8; - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - RemainDuration = Duration; - if (!caster.Effects.Contains(this)) - { - caster.Effects.Add(this); - OnEffectGained(caster); - } - } - } -} diff --git a/Library/Skills/XinYin/心灵之火.cs b/Library/Skills/XinYin/心灵之火.cs deleted file mode 100644 index 9c8477e..0000000 --- a/Library/Skills/XinYin/心灵之火.cs +++ /dev/null @@ -1,68 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 心灵之火 : Skill - { - public override long Id => (long)PassiveID.心灵之火; - public override string Name => "心灵之火"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public 心灵之火(Character? character = null) : base(SkillType.Passive, character) - { - Effects.Add(new 心灵之火特效(this)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } - - public class 心灵之火特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"普通攻击硬直时间减少 20%。每次使用普通攻击时,额外再发动一次普通攻击,伤害特效可叠加,冷却 {基础冷却时间:0.##} 时间。" + - (冷却时间 > 0 ? $"(正在冷却:剩余 {冷却时间:0.##} 时间)" : ""); - public override bool TargetSelf => true; - - public double 冷却时间 { get; set; } = 0; - public double 基础冷却时间 { get; set; } = 20; - private bool 是否是嵌套普通攻击 = false; - - public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (character == Skill.Character && isNormalAttack && 冷却时间 == 0 && !是否是嵌套普通攻击 && GamingQueue != null) - { - WriteLine($"[ {character} ] 发动了心灵之火!额外进行一次普通攻击!"); - 冷却时间 = 基础冷却时间; - 是否是嵌套普通攻击 = true; - character.NormalAttack.Attack(GamingQueue, character, enemy); - } - - if (character == Skill.Character && 是否是嵌套普通攻击) - { - 是否是嵌套普通攻击 = false; - } - } - - public override void OnTimeElapsed(Character character, double elapsed) - { - if (冷却时间 > 0) - { - 冷却时间 -= elapsed; - if (冷却时间 <= 0) - { - 冷却时间 = 0; - } - } - } - - public override void AlterHardnessTimeAfterNormalAttack(Character character, ref double baseHardnessTime, ref bool isCheckProtected) - { - baseHardnessTime *= 0.8; - } - } -} diff --git a/Library/Skills/Yang/魔法涌流.cs b/Library/Skills/Yang/魔法涌流.cs deleted file mode 100644 index b0384db..0000000 --- a/Library/Skills/Yang/魔法涌流.cs +++ /dev/null @@ -1,64 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 魔法涌流 : Skill - { - public override long Id => (long)SuperSkillID.魔法涌流; - public override string Name => "魔法涌流"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - public override double EPCost => 100; - public override double CD => 35; - public override double HardnessTime { get; set; } = 10; - - public 魔法涌流(Character? character = null) : base(SkillType.SuperSkill, character) - { - Effects.Add(new 魔法涌流特效(this)); - } - } - - public class 魔法涌流特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => "魔法涌流"; - 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 减伤比例 => 0.1 + 0.02 * (Level - 1); - private double 实际比例 = 0; - - public override void OnEffectGained(Character character) - { - 实际比例 = 减伤比例; - character.NormalAttack.SetMagicType(true, character.MagicType); - } - - public override void OnEffectLost(Character character) - { - character.NormalAttack.SetMagicType(false, character.MagicType); - } - - public override bool AlterActualDamageAfterCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (enemy == Skill.Character) - { - damage *= 1 - 实际比例; - } - return false; - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - RemainDuration = Duration; - if (!caster.Effects.Contains(this)) - { - 实际比例 = 0; - caster.Effects.Add(this); - OnEffectGained(caster); - } - } - } -} diff --git a/Library/Skills/Yang/魔法震荡.cs b/Library/Skills/Yang/魔法震荡.cs deleted file mode 100644 index 1ac713e..0000000 --- a/Library/Skills/Yang/魔法震荡.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; -using Milimoe.FunGame.Testing.Effects.SkillEffects; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 魔法震荡 : Skill - { - public override long Id => (long)PassiveID.魔法震荡; - public override string Name => "魔法震荡"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public 魔法震荡(Character? character = null) : base(SkillType.Passive, character) - { - Effects.Add(new 魔法震荡特效(this)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } - - public class 魔法震荡特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"造成魔法伤害时有 35% 几率使敌人眩晕 1 回合。"; - public override bool TargetSelf => true; - - public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (character == Skill.Character && isMagicDamage && damageResult != DamageResult.Evaded && new Random().NextDouble() < 0.35) - { - IEnumerable effects = enemy.Effects.Where(e => e is 眩晕 && e.Skill == Skill); - if (effects.Any()) - { - effects.First().RemainDurationTurn++; - } - else - { - 眩晕 e = new(Skill, character, false, 0, 1); - enemy.Effects.Add(e); - e.OnEffectGained(enemy); - } - WriteLine($"[ {character} ] 的魔法伤害触发了魔法震荡,[ {enemy} ] 被眩晕了!"); - } - } - } -} diff --git a/Library/Skills/dddovo/平衡强化.cs b/Library/Skills/dddovo/平衡强化.cs deleted file mode 100644 index ea5a420..0000000 --- a/Library/Skills/dddovo/平衡强化.cs +++ /dev/null @@ -1,70 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 平衡强化 : Skill - { - public override long Id => (long)SuperSkillID.平衡强化; - public override string Name => "平衡强化"; - 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 { get; set; } = 12; - - public 平衡强化(Character? character = null) : base(SkillType.SuperSkill, character) - { - Effects.Add(new 平衡强化特效(this)); - } - } - - public class 平衡强化特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"敏捷提高 20%,然后将目前的力量补充到与敏捷持平,持续 {Duration:0.##} 时间。"; - public override bool TargetSelf => true; - public override bool Durative => true; - public override double Duration => 30; - - private double 本次提升的敏捷 = 0; - private double 本次提升的力量 = 0; - - public override void OnEffectGained(Character character) - { - double pastHP = character.HP; - double pastMaxHP = character.MaxHP; - double pastMP = character.MP; - double pastMaxMP = character.MaxMP; - 本次提升的敏捷 = character.BaseAGI * 0.2; - character.ExAGI += 本次提升的敏捷; - 本次提升的力量 = character.AGI - character.STR; - character.ExSTR += 本次提升的力量; - character.Recovery(pastHP, pastMP, pastMaxHP, pastMaxMP); - WriteLine($"[ {character} ] 敏捷提升了 {本次提升的敏捷:0.##},力量提升了 {本次提升的力量:0.##}!"); - } - - public override void OnEffectLost(Character character) - { - double pastHP = character.HP; - double pastMaxHP = character.MaxHP; - double pastMP = character.MP; - double pastMaxMP = character.MaxMP; - character.ExAGI -= character.BaseAGI * 0.2; - character.ExSTR -= 本次提升的力量; - character.Recovery(pastHP, pastMP, pastMaxHP, pastMaxMP); - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - RemainDuration = Duration; - if (!caster.Effects.Contains(this)) - { - 本次提升的敏捷 = 0; - 本次提升的力量 = 0; - caster.Effects.Add(this); - OnEffectGained(caster); - } - } - } -} diff --git a/Library/Skills/dddovo/敏捷之刃.cs b/Library/Skills/dddovo/敏捷之刃.cs deleted file mode 100644 index 867df92..0000000 --- a/Library/Skills/dddovo/敏捷之刃.cs +++ /dev/null @@ -1,49 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 敏捷之刃 : Skill - { - public override long Id => (long)PassiveID.敏捷之刃; - public override string Name => "敏捷之刃"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - - public 敏捷之刃(Character? character = null) : base(SkillType.Passive, character) - { - Effects.Add(new 敏捷之刃特效(this)); - } - - public override IEnumerable AddInactiveEffectToCharacter() - { - return Effects; - } - } - - public class 敏捷之刃特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - public override string Description => $"每次普通攻击都将附带基于 {敏捷系数 * 100:0.##}% 敏捷 [ {敏捷伤害} ] 的魔法伤害。"; - public override bool TargetSelf => true; - - private double 敏捷伤害 => 敏捷系数 * Skill.Character?.AGI ?? 0; - private readonly double 敏捷系数 = 2.5; - private bool 是否是嵌套伤害 = false; - - public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (character == Skill.Character && isNormalAttack && damageResult != DamageResult.Evaded && !是否是嵌套伤害) - { - WriteLine($"[ {character} ] 发动了敏捷之刃!将造成额外伤害!"); - 是否是嵌套伤害 = true; - DamageToEnemy(character, enemy, true, magicType, 敏捷伤害); - } - - if (character == Skill.Character && 是否是嵌套伤害) - { - 是否是嵌套伤害 = false; - } - } - } -} diff --git a/Library/Skills/战技/疾风步.cs b/Library/Skills/战技/疾风步.cs deleted file mode 100644 index 761eefd..0000000 --- a/Library/Skills/战技/疾风步.cs +++ /dev/null @@ -1,84 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 疾风步 : Skill - { - public override long Id => (long)SkillID.疾风步; - public override string Name => "疾风步"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - public override double EPCost => 60; - public override double CD => 35; - public override double HardnessTime { get; set; } = 5; - - public 疾风步(Character? character = null) : base(SkillType.Skill, character) - { - Effects.Add(new 疾风步特效(this)); - } - } - - public class 疾风步特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - 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 系数 => 0.5 + 0.5 * (Skill.Level - 1); - private double 伤害加成 => 系数 * Skill.Character?.AGI ?? 0; - private bool 首次伤害 { get; set; } = true; - private bool 破隐一击 { get; set; } = false; - - public override void OnEffectGained(Character character) - { - Skill.IsInEffect = true; - character.CharacterEffectTypes.Add(this, [EffectType.Unselectable]); - character.UpdateCharacterState(); - character.ExSPD += 100; - character.ExCritRate += 0.08; - } - - public override void OnEffectLost(Character character) - { - Skill.IsInEffect = false; - if (!破隐一击) - { - // 在没有打出破隐一击的情况下,恢复角色状态 - character.CharacterEffectTypes.Remove(this); - character.UpdateCharacterState(); - } - character.ExSPD -= 100; - character.ExCritRate -= 0.08; - } - - public override bool AlterActualDamageAfterCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) - { - if (character == Skill.Character && 首次伤害) - { - 首次伤害 = false; - 破隐一击 = true; - character.CharacterEffectTypes.Remove(this); - character.UpdateCharacterState(); - double d = 伤害加成; - damage += d; - WriteLine($"[ {character} ] 触发了疾风步破隐一击,获得了 [ {d:0.##} ] 点伤害加成!"); - } - return false; - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - if (!caster.Effects.Contains(this)) - { - 首次伤害 = true; - 破隐一击 = false; - RemainDuration = Duration; - caster.Effects.Add(this); - OnEffectGained(caster); - } - } - } -} diff --git a/Library/Skills/魔法/冰霜攻击.cs b/Library/Skills/魔法/冰霜攻击.cs deleted file mode 100644 index 545a261..0000000 --- a/Library/Skills/魔法/冰霜攻击.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Milimoe.FunGame.Core.Entity; -using Milimoe.FunGame.Core.Library.Constant; - -namespace Milimoe.FunGame.Testing.Skills -{ - public class 冰霜攻击 : Skill - { - public override long Id => (long)MagicID.冰霜攻击; - public override string Name => "冰霜攻击"; - public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; - public override double MPCost => 30 + (50 * (Level - 1)); - public override double CD => 20; - public override double CastTime => 6; - public override double HardnessTime { get; set; } = 3; - - public 冰霜攻击(Character? character = null) : base(SkillType.Magic, character) - { - Effects.Add(new 冰霜攻击特效(this)); - } - } - - public class 冰霜攻击特效(Skill skill) : Effect(skill) - { - public override long Id => Skill.Id; - public override string Name => Skill.Name; - 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; - - private double Damage - { - get - { - double d = 0; - if (Skill.Character != null) - { - d = 90 + 60 * (Skill.Level - 1) + (1.2 + 1.8 * (Skill.Level - 1)) * Skill.Character.INT; - } - return d; - } - } - - public override void OnSkillCasted(Character caster, List targets, Dictionary others) - { - if (targets.Count > 0) - { - Character enemy = targets[0]; - DamageToEnemy(caster, enemy, true, MagicType, Damage); - } - } - } -} diff --git a/Library/Solutions/TestModule.cs b/Library/Solutions/TestModule.cs index 988f77b..38884b8 100644 --- a/Library/Solutions/TestModule.cs +++ b/Library/Solutions/TestModule.cs @@ -1,9 +1,6 @@ using Milimoe.FunGame.Core.Api.Utility; using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Common.Addon; -using Milimoe.FunGame.Testing.Effects.OpenEffects; -using Milimoe.FunGame.Testing.Items; -using Milimoe.FunGame.Testing.Skills; namespace Addons { @@ -60,33 +57,6 @@ namespace Addons { Skill skill = id switch { - (long)MagicID.冰霜攻击 => new 冰霜攻击(), - (long)SkillID.疾风步 => new 疾风步(), - (long)SuperSkillID.力量爆发 => new 力量爆发(), - (long)SuperSkillID.天赐之力 => new 天赐之力(), - (long)SuperSkillID.魔法涌流 => new 魔法涌流(), - (long)SuperSkillID.三重叠加 => new 三重叠加(), - (long)SuperSkillID.变幻之心 => new 变幻之心(), - (long)SuperSkillID.精准打击 => new 精准打击(), - (long)SuperSkillID.绝对领域 => new 绝对领域(), - (long)SuperSkillID.能量毁灭 => new 能量毁灭(), - (long)SuperSkillID.迅捷之势 => new 迅捷之势(), - (long)SuperSkillID.嗜血本能 => new 嗜血本能(), - (long)SuperSkillID.平衡强化 => new 平衡强化(), - (long)SuperSkillID.血之狂欢 => new 血之狂欢(), - (long)PassiveID.META马 => new META马(), - (long)PassiveID.心灵之火 => new 心灵之火(), - (long)PassiveID.魔法震荡 => new 魔法震荡(), - (long)PassiveID.灵能反射 => new 灵能反射(), - (long)PassiveID.智慧与力量 => new 智慧与力量(), - (long)PassiveID.致命打击 => new 致命打击(), - (long)PassiveID.毁灭之势 => new 毁灭之势(), - (long)PassiveID.枯竭打击 => new 枯竭打击(), - (long)PassiveID.玻璃大炮 => new 玻璃大炮(), - (long)PassiveID.累积之压 => new 累积之压(), - (long)PassiveID.敏捷之刃 => new 敏捷之刃(), - (long)PassiveID.弱者猎手 => new 弱者猎手(), - (long)ItemPassiveID.攻击之爪 => new 攻击之爪技能(), _ => new OpenSkill(id, name, args) }; @@ -108,30 +78,8 @@ namespace Addons { if (args.TryGetValue("skill", out object? value) && value is Skill skill && args.TryGetValue("values", out value) && value is Dictionary dict) { - return (EffectID)id switch + return id switch { - EffectID.ExATK => new ExATK(skill, dict), - EffectID.ExDEF => new ExDEF(skill, dict), - EffectID.ExSTR => new ExSTR(skill, dict), - EffectID.ExAGI => new ExAGI(skill, dict), - EffectID.ExINT => new ExINT(skill, dict), - EffectID.SkillHardTimeReduce => new SkillHardTimeReduce(skill, dict), - EffectID.NormalAttackHardTimeReduce => new NormalAttackHardTimeReduce(skill, dict), - EffectID.AccelerationCoefficient => new AccelerationCoefficient(skill, dict), - EffectID.ExSPD => new ExSPD(skill, dict), - EffectID.ExActionCoefficient => new ExActionCoefficient(skill, dict), - EffectID.ExCDR => new ExCDR(skill, dict), - EffectID.ExMaxHP => new ExMaxHP(skill, dict), - EffectID.ExMaxMP => new ExMaxMP(skill, dict), - EffectID.ExCritRate => new ExCritRate(skill, dict), - EffectID.ExCritDMG => new ExCritDMG(skill, dict), - EffectID.ExEvadeRate => new ExEvadeRate(skill, dict), - EffectID.PhysicalPenetration => new PhysicalPenetration(skill, dict), - EffectID.MagicalPenetration => new MagicalPenetration(skill, dict), - EffectID.ExPDR => new ExPDR(skill, dict), - EffectID.ExMDF => new ExMDF(skill, dict), - EffectID.ExHR => new ExHR(skill, dict), - EffectID.ExMR => new ExMR(skill, dict), _ => null }; } @@ -164,9 +112,6 @@ namespace Addons { return id switch { - (long)AccessoryID.攻击之爪10 => new 攻击之爪10(), - (long)AccessoryID.攻击之爪30 => new 攻击之爪30(), - (long)AccessoryID.攻击之爪50 => new 攻击之爪50(), _ => null, }; }; diff --git a/Library/Solutions/TestPlugin.cs b/Library/Solutions/TestPlugin.cs index 4df359c..18d61da 100644 --- a/Library/Solutions/TestPlugin.cs +++ b/Library/Solutions/TestPlugin.cs @@ -3,8 +3,6 @@ using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Interface; using Milimoe.FunGame.Core.Library.Common.Addon; using Milimoe.FunGame.Core.Library.Common.Event; -using Milimoe.FunGame.Testing.Items; -using Milimoe.FunGame.Testing.Skills; using MilimoeFunGame.Testing.Characters; namespace Addons @@ -39,36 +37,8 @@ namespace Addons config.SaveConfig(); EntityModuleConfig config2 = new(ExampleGameModuleConstant.Example, ExampleGameModuleConstant.ExampleSkill); - Character c = Factory.GetCharacter(); + //Character c = Factory.GetCharacter(); List listSkill = []; - listSkill.Add(new 冰霜攻击(c)); - listSkill.Add(new 疾风步(c)); - listSkill.Add(new META马(c)); - listSkill.Add(new 力量爆发(c)); - listSkill.Add(new 心灵之火(c)); - listSkill.Add(new 天赐之力(c)); - listSkill.Add(new 魔法震荡(c)); - listSkill.Add(new 魔法涌流(c)); - listSkill.Add(new 灵能反射(c)); - listSkill.Add(new 三重叠加(c)); - listSkill.Add(new 智慧与力量(c)); - listSkill.Add(new 变幻之心(c)); - listSkill.Add(new 致命打击(c)); - listSkill.Add(new 精准打击(c)); - listSkill.Add(new 毁灭之势(c)); - listSkill.Add(new 绝对领域(c)); - listSkill.Add(new 枯竭打击(c)); - listSkill.Add(new 能量毁灭(c)); - listSkill.Add(new 玻璃大炮(c)); - listSkill.Add(new 迅捷之势(c)); - listSkill.Add(new 累积之压(c)); - listSkill.Add(new 嗜血本能(c)); - listSkill.Add(new 敏捷之刃(c)); - listSkill.Add(new 平衡强化(c)); - listSkill.Add(new 弱者猎手(c)); - listSkill.Add(new 血之狂欢(c)); - listSkill.Add(new 冰霜攻击(c)); - listSkill.Add(new 疾风步(c)); foreach (Skill s in listSkill) { config2.Add(s.Name, s); @@ -77,9 +47,7 @@ namespace Addons EntityModuleConfig config3 = new(ExampleGameModuleConstant.Example, ExampleGameModuleConstant.ExampleItem) { - { "攻击之爪10", new 攻击之爪10() }, - { "攻击之爪30", new 攻击之爪30() }, - { "攻击之爪50", new 攻击之爪50() } + }; config3.SaveConfig(); diff --git a/Library/Tests/FunGame.cs b/Library/Tests/FunGame.cs index 1e075f4..dda55db 100644 --- a/Library/Tests/FunGame.cs +++ b/Library/Tests/FunGame.cs @@ -2,8 +2,6 @@ using Milimoe.FunGame.Core.Api.Utility; using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Model; -using Milimoe.FunGame.Testing.Items; -using Milimoe.FunGame.Testing.Skills; using MilimoeFunGame.Testing.Characters; namespace Milimoe.FunGame.Testing.Tests @@ -86,209 +84,209 @@ namespace Milimoe.FunGame.Testing.Tests character9, character10, character11, character12 ]; - int clevel = 60; - int slevel = 6; - int mlevel = 8; + //int clevel = 60; + //int slevel = 6; + //int mlevel = 8; // 升级和赋能 - for (int index = 0; index < characters.Count; index++) - { - Character c = characters[index]; - c.Level = clevel; - c.NormalAttack.Level = mlevel; + //for (int index = 0; index < characters.Count; index++) + //{ + // Character c = characters[index]; + // c.Level = clevel; + // c.NormalAttack.Level = mlevel; - Skill 冰霜攻击 = new 冰霜攻击(c) - { - Level = mlevel - }; - c.Skills.Add(冰霜攻击); + // Skill 冰霜攻击 = new 冰霜攻击(c) + // { + // Level = mlevel + // }; + // c.Skills.Add(冰霜攻击); - Skill 疾风步 = new 疾风步(c) - { - Level = slevel - }; - c.Skills.Add(疾风步); + // Skill 疾风步 = new 疾风步(c) + // { + // Level = slevel + // }; + // c.Skills.Add(疾风步); - if (c == character1) - { - Skill META马 = new META马(c) - { - Level = 1 - }; - c.Skills.Add(META马); + // if (c == character1) + // { + // Skill META马 = new META马(c) + // { + // Level = 1 + // }; + // c.Skills.Add(META马); - Skill 力量爆发 = new 力量爆发(c) - { - Level = mlevel - }; - c.Skills.Add(力量爆发); - } + // Skill 力量爆发 = new 力量爆发(c) + // { + // Level = mlevel + // }; + // c.Skills.Add(力量爆发); + // } - if (c == character2) - { - Skill 心灵之火 = new 心灵之火(c) - { - Level = 1 - }; - c.Skills.Add(心灵之火); + // if (c == character2) + // { + // Skill 心灵之火 = new 心灵之火(c) + // { + // Level = 1 + // }; + // c.Skills.Add(心灵之火); - Skill 天赐之力 = new 天赐之力(c) - { - Level = slevel - }; - c.Skills.Add(天赐之力); - } + // Skill 天赐之力 = new 天赐之力(c) + // { + // Level = slevel + // }; + // c.Skills.Add(天赐之力); + // } - if (c == character3) - { - Skill 魔法震荡 = new 魔法震荡(c) - { - Level = 1 - }; - c.Skills.Add(魔法震荡); + // if (c == character3) + // { + // Skill 魔法震荡 = new 魔法震荡(c) + // { + // Level = 1 + // }; + // c.Skills.Add(魔法震荡); - Skill 魔法涌流 = new 魔法涌流(c) - { - Level = slevel - }; - c.Skills.Add(魔法涌流); - } + // Skill 魔法涌流 = new 魔法涌流(c) + // { + // Level = slevel + // }; + // c.Skills.Add(魔法涌流); + // } - if (c == character4) - { - Skill 灵能反射 = new 灵能反射(c) - { - Level = 1 - }; - c.Skills.Add(灵能反射); + // if (c == character4) + // { + // Skill 灵能反射 = new 灵能反射(c) + // { + // Level = 1 + // }; + // c.Skills.Add(灵能反射); - Skill 三重叠加 = new 三重叠加(c) - { - Level = slevel - }; - c.Skills.Add(三重叠加); - } + // Skill 三重叠加 = new 三重叠加(c) + // { + // Level = slevel + // }; + // c.Skills.Add(三重叠加); + // } - if (c == character5) - { - Skill 智慧与力量 = new 智慧与力量(c) - { - Level = 1 - }; - c.Skills.Add(智慧与力量); + // if (c == character5) + // { + // Skill 智慧与力量 = new 智慧与力量(c) + // { + // Level = 1 + // }; + // c.Skills.Add(智慧与力量); - Skill 变幻之心 = new 变幻之心(c) - { - Level = slevel - }; - c.Skills.Add(变幻之心); - } + // Skill 变幻之心 = new 变幻之心(c) + // { + // Level = slevel + // }; + // c.Skills.Add(变幻之心); + // } - if (c == character6) - { - Skill 致命打击 = new 致命打击(c) - { - Level = 1 - }; - c.Skills.Add(致命打击); + // if (c == character6) + // { + // Skill 致命打击 = new 致命打击(c) + // { + // Level = 1 + // }; + // c.Skills.Add(致命打击); - Skill 精准打击 = new 精准打击(c) - { - Level = slevel - }; - c.Skills.Add(精准打击); - } + // Skill 精准打击 = new 精准打击(c) + // { + // Level = slevel + // }; + // c.Skills.Add(精准打击); + // } - if (c == character7) - { - Skill 毁灭之势 = new 毁灭之势(c) - { - Level = 1 - }; - c.Skills.Add(毁灭之势); + // if (c == character7) + // { + // Skill 毁灭之势 = new 毁灭之势(c) + // { + // Level = 1 + // }; + // c.Skills.Add(毁灭之势); - Skill 绝对领域 = new 绝对领域(c) - { - Level = slevel - }; - c.Skills.Add(绝对领域); - } + // Skill 绝对领域 = new 绝对领域(c) + // { + // Level = slevel + // }; + // c.Skills.Add(绝对领域); + // } - if (c == character8) - { - Skill 枯竭打击 = new 枯竭打击(c) - { - Level = 1 - }; - c.Skills.Add(枯竭打击); + // if (c == character8) + // { + // Skill 枯竭打击 = new 枯竭打击(c) + // { + // Level = 1 + // }; + // c.Skills.Add(枯竭打击); - Skill 能量毁灭 = new 能量毁灭(c) - { - Level = slevel - }; - c.Skills.Add(能量毁灭); - } + // Skill 能量毁灭 = new 能量毁灭(c) + // { + // Level = slevel + // }; + // c.Skills.Add(能量毁灭); + // } - if (c == character9) - { - Skill 玻璃大炮 = new 玻璃大炮(c) - { - Level = 1 - }; - c.Skills.Add(玻璃大炮); + // if (c == character9) + // { + // Skill 玻璃大炮 = new 玻璃大炮(c) + // { + // Level = 1 + // }; + // c.Skills.Add(玻璃大炮); - Skill 迅捷之势 = new 迅捷之势(c) - { - Level = slevel - }; - c.Skills.Add(迅捷之势); - } + // Skill 迅捷之势 = new 迅捷之势(c) + // { + // Level = slevel + // }; + // c.Skills.Add(迅捷之势); + // } - if (c == character10) - { - Skill 累积之压 = new 累积之压(c) - { - Level = 1 - }; - c.Skills.Add(累积之压); + // if (c == character10) + // { + // Skill 累积之压 = new 累积之压(c) + // { + // Level = 1 + // }; + // c.Skills.Add(累积之压); - Skill 嗜血本能 = new 嗜血本能(c) - { - Level = slevel - }; - c.Skills.Add(嗜血本能); - } + // Skill 嗜血本能 = new 嗜血本能(c) + // { + // Level = slevel + // }; + // c.Skills.Add(嗜血本能); + // } - if (c == character11) - { - Skill 敏捷之刃 = new 敏捷之刃(c) - { - Level = 1 - }; - c.Skills.Add(敏捷之刃); + // if (c == character11) + // { + // Skill 敏捷之刃 = new 敏捷之刃(c) + // { + // Level = 1 + // }; + // c.Skills.Add(敏捷之刃); - Skill 平衡强化 = new 平衡强化(c) - { - Level = slevel - }; - c.Skills.Add(平衡强化); - } + // Skill 平衡强化 = new 平衡强化(c) + // { + // Level = slevel + // }; + // c.Skills.Add(平衡强化); + // } - if (c == character12) - { - Skill 弱者猎手 = new 弱者猎手(c) - { - Level = 1 - }; - c.Skills.Add(弱者猎手); + // if (c == character12) + // { + // Skill 弱者猎手 = new 弱者猎手(c) + // { + // Level = 1 + // }; + // c.Skills.Add(弱者猎手); - Skill 血之狂欢 = new 血之狂欢(c) - { - Level = slevel - }; - c.Skills.Add(血之狂欢); - } - } + // Skill 血之狂欢 = new 血之狂欢(c) + // { + // Level = slevel + // }; + // c.Skills.Add(血之狂欢); + // } + //} // 显示角色信息 if (PrintOut) characters.ForEach(c => Console.WriteLine(c.GetInfo())); @@ -563,7 +561,7 @@ namespace Milimoe.FunGame.Testing.Tests Dictionary exitem = Factory.GetGameModuleInstances(nameof(SkillJSONTest), nameof(Item)); Items.AddRange(exitem.Values); - Items.AddRange([new 攻击之爪10(), new 攻击之爪30(), new 攻击之爪50()]); + //Items.AddRange([new 攻击之爪10(), new 攻击之爪30(), new 攻击之爪50()]); } } }