diff --git a/OshimaModules/Effects/ItemEffects/GetEP.cs b/OshimaModules/Effects/ItemEffects/GetEP.cs index c4f16bc..286e695 100644 --- a/OshimaModules/Effects/ItemEffects/GetEP.cs +++ b/OshimaModules/Effects/ItemEffects/GetEP.cs @@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.ItemEffects public override long Id => (long)EffectID.GetEP; public override string Name => "立即获得能量值"; public override string Description => $"角色立即获得 {实际获得:0.##} 点能量值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; private readonly double 实际获得 = 0; diff --git a/OshimaModules/Effects/ItemEffects/GetEXP.cs b/OshimaModules/Effects/ItemEffects/GetEXP.cs index 1a837cb..fecbcf4 100644 --- a/OshimaModules/Effects/ItemEffects/GetEXP.cs +++ b/OshimaModules/Effects/ItemEffects/GetEXP.cs @@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.ItemEffects public override long Id => (long)EffectID.GetEXP; public override string Name => "立即获得经验值"; public override string Description => $"角色立即获得 {实际获得:0.##} 点经验值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; private readonly double 实际获得 = 0; diff --git a/OshimaModules/Effects/ItemEffects/RecoverHP.cs b/OshimaModules/Effects/ItemEffects/RecoverHP.cs index 7c77110..c8441e9 100644 --- a/OshimaModules/Effects/ItemEffects/RecoverHP.cs +++ b/OshimaModules/Effects/ItemEffects/RecoverHP.cs @@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.ItemEffects public override long Id => (long)EffectID.RecoverHP; public override string Name => "立即回复生命值"; public override string Description => $"立即回复角色 {实际回复:0.##} 点生命值(不可用于复活)。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; private readonly double 实际回复 = 0; diff --git a/OshimaModules/Effects/ItemEffects/RecoverHP2.cs b/OshimaModules/Effects/ItemEffects/RecoverHP2.cs index e563874..f764038 100644 --- a/OshimaModules/Effects/ItemEffects/RecoverHP2.cs +++ b/OshimaModules/Effects/ItemEffects/RecoverHP2.cs @@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.ItemEffects public override long Id => (long)EffectID.RecoverHP2; public override string Name => "立即回复生命值"; public override string Description => $"立即回复角色 {回复比例 * 100:0.##}% [ {实际回复:0.##} ] 点生命值(不可用于复活)。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; private double 实际回复 => 回复比例 * (Skill.Character?.MaxHP ?? 0); private readonly double 回复比例 = 0; diff --git a/OshimaModules/Effects/ItemEffects/RecoverMP.cs b/OshimaModules/Effects/ItemEffects/RecoverMP.cs index b1ee930..8966eed 100644 --- a/OshimaModules/Effects/ItemEffects/RecoverMP.cs +++ b/OshimaModules/Effects/ItemEffects/RecoverMP.cs @@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.ItemEffects public override long Id => (long)EffectID.RecoverMP; public override string Name => "立即回复魔法值"; public override string Description => $"立即回复角色 {实际回复:0.##} 点魔法值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; private readonly double 实际回复 = 0; diff --git a/OshimaModules/Effects/ItemEffects/RecoverMP2.cs b/OshimaModules/Effects/ItemEffects/RecoverMP2.cs index a0ef5ae..fd13594 100644 --- a/OshimaModules/Effects/ItemEffects/RecoverMP2.cs +++ b/OshimaModules/Effects/ItemEffects/RecoverMP2.cs @@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.ItemEffects public override long Id => (long)EffectID.RecoverMP2; public override string Name => "立即回复魔法值"; public override string Description => $"立即回复角色 {回复比例 * 100:0.##}% [ {实际回复:0.##} ] 点魔法值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; private double 实际回复 => 回复比例 * (Skill.Character?.MaxMP ?? 0); private readonly double 回复比例 = 0; diff --git a/OshimaModules/Effects/OpenEffects/AccelerationCoefficient.cs b/OshimaModules/Effects/OpenEffects/AccelerationCoefficient.cs index e1e1e31..d606c2e 100644 --- a/OshimaModules/Effects/OpenEffects/AccelerationCoefficient.cs +++ b/OshimaModules/Effects/OpenEffects/AccelerationCoefficient.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.AccelerationCoefficient; public override string Name => "加速系数加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 加速系数。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/DynamicsEffect.cs b/OshimaModules/Effects/OpenEffects/DynamicsEffect.cs index 6fc96ee..a5b82fd 100644 --- a/OshimaModules/Effects/OpenEffects/DynamicsEffect.cs +++ b/OshimaModules/Effects/OpenEffects/DynamicsEffect.cs @@ -11,7 +11,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.DynamicsEffect; public override string Name { get; set; } = "动态扩展特效"; public override string Description => string.Join("", Descriptions) + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public HashSet Descriptions { get; } = []; public Dictionary RealDynamicsValues { get; } = []; diff --git a/OshimaModules/Effects/OpenEffects/ExAGI.cs b/OshimaModules/Effects/OpenEffects/ExAGI.cs index f11632b..3d7e13a 100644 --- a/OshimaModules/Effects/OpenEffects/ExAGI.cs +++ b/OshimaModules/Effects/OpenEffects/ExAGI.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExAGI; public override string Name => "敏捷加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点敏捷。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExAGI2.cs b/OshimaModules/Effects/OpenEffects/ExAGI2.cs index af50848..9763ede 100644 --- a/OshimaModules/Effects/OpenEffects/ExAGI2.cs +++ b/OshimaModules/Effects/OpenEffects/ExAGI2.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExAGI2; public override string Name => "敏捷加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点敏捷。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 加成比例 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExATK.cs b/OshimaModules/Effects/OpenEffects/ExATK.cs index 76fd4c4..ba8f4a8 100644 --- a/OshimaModules/Effects/OpenEffects/ExATK.cs +++ b/OshimaModules/Effects/OpenEffects/ExATK.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExATK; public override string Name => "攻击力加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点攻击力。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExATK2.cs b/OshimaModules/Effects/OpenEffects/ExATK2.cs index f061305..fa7f94d 100644 --- a/OshimaModules/Effects/OpenEffects/ExATK2.cs +++ b/OshimaModules/Effects/OpenEffects/ExATK2.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExATK2; public override string Name => "攻击力加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点攻击力。" + (Source != null && Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 加成比例 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExActionCoefficient.cs b/OshimaModules/Effects/OpenEffects/ExActionCoefficient.cs index 90aca2c..a3f4fe4 100644 --- a/OshimaModules/Effects/OpenEffects/ExActionCoefficient.cs +++ b/OshimaModules/Effects/OpenEffects/ExActionCoefficient.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExActionCoefficient; public override string Name => "行动系数加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 行动系数。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExCDR.cs b/OshimaModules/Effects/OpenEffects/ExCDR.cs index 49bac21..7ce126b 100644 --- a/OshimaModules/Effects/OpenEffects/ExCDR.cs +++ b/OshimaModules/Effects/OpenEffects/ExCDR.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExCDR; public override string Name => "冷却缩减加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 冷却缩减。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExCritDMG.cs b/OshimaModules/Effects/OpenEffects/ExCritDMG.cs index 87e6de5..5c02f44 100644 --- a/OshimaModules/Effects/OpenEffects/ExCritDMG.cs +++ b/OshimaModules/Effects/OpenEffects/ExCritDMG.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExCritDMG; public override string Name => "暴击伤害加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 暴击伤害。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExCritRate.cs b/OshimaModules/Effects/OpenEffects/ExCritRate.cs index d1037be..a0ee86c 100644 --- a/OshimaModules/Effects/OpenEffects/ExCritRate.cs +++ b/OshimaModules/Effects/OpenEffects/ExCritRate.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExCritRate; public override string Name => "暴击率加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 暴击率。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExDEF.cs b/OshimaModules/Effects/OpenEffects/ExDEF.cs index cca3ac2..449724f 100644 --- a/OshimaModules/Effects/OpenEffects/ExDEF.cs +++ b/OshimaModules/Effects/OpenEffects/ExDEF.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExDEF; public override string Name => "物理护甲加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点物理护甲。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExDEF2.cs b/OshimaModules/Effects/OpenEffects/ExDEF2.cs index 30b5ce8..1ff38bd 100644 --- a/OshimaModules/Effects/OpenEffects/ExDEF2.cs +++ b/OshimaModules/Effects/OpenEffects/ExDEF2.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExDEF2; public override string Name => "物理护甲加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {实际加成:0.##} ] 点物理护甲。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 加成比例 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExEvadeRate.cs b/OshimaModules/Effects/OpenEffects/ExEvadeRate.cs index 9e17876..2060614 100644 --- a/OshimaModules/Effects/OpenEffects/ExEvadeRate.cs +++ b/OshimaModules/Effects/OpenEffects/ExEvadeRate.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExEvadeRate; public override string Name => "闪避率加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 闪避率。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExHR.cs b/OshimaModules/Effects/OpenEffects/ExHR.cs index a32c846..729bc68 100644 --- a/OshimaModules/Effects/OpenEffects/ExHR.cs +++ b/OshimaModules/Effects/OpenEffects/ExHR.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExHR; public override string Name => "生命回复加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点生命回复。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExINT.cs b/OshimaModules/Effects/OpenEffects/ExINT.cs index 5b9b8e5..d37e1dc 100644 --- a/OshimaModules/Effects/OpenEffects/ExINT.cs +++ b/OshimaModules/Effects/OpenEffects/ExINT.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExINT; public override string Name => "智力加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点智力。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExINT2.cs b/OshimaModules/Effects/OpenEffects/ExINT2.cs index 63d5774..a33fd51 100644 --- a/OshimaModules/Effects/OpenEffects/ExINT2.cs +++ b/OshimaModules/Effects/OpenEffects/ExINT2.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExINT2; public override string Name => "智力加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点智力。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 加成比例 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExMDF.cs b/OshimaModules/Effects/OpenEffects/ExMDF.cs index e123e76..93a669d 100644 --- a/OshimaModules/Effects/OpenEffects/ExMDF.cs +++ b/OshimaModules/Effects/OpenEffects/ExMDF.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExMDF; public override string Name => "魔法抗性加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% {CharacterSet.GetMagicResistanceName(魔法类型)}。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExMR.cs b/OshimaModules/Effects/OpenEffects/ExMR.cs index 0f2f4f8..c00c0db 100644 --- a/OshimaModules/Effects/OpenEffects/ExMR.cs +++ b/OshimaModules/Effects/OpenEffects/ExMR.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExMR; public override string Name => "魔法回复加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点魔法回复。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExMaxHP.cs b/OshimaModules/Effects/OpenEffects/ExMaxHP.cs index fc03581..8ea2821 100644 --- a/OshimaModules/Effects/OpenEffects/ExMaxHP.cs +++ b/OshimaModules/Effects/OpenEffects/ExMaxHP.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExMaxHP; public override string Name => "最大生命值加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点最大生命值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExMaxHP2.cs b/OshimaModules/Effects/OpenEffects/ExMaxHP2.cs index 5524873..a489d2b 100644 --- a/OshimaModules/Effects/OpenEffects/ExMaxHP2.cs +++ b/OshimaModules/Effects/OpenEffects/ExMaxHP2.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExMaxHP2; public override string Name => "最大生命值加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点最大生命值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 加成比例 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExMaxMP.cs b/OshimaModules/Effects/OpenEffects/ExMaxMP.cs index 53715cb..46b8f0d 100644 --- a/OshimaModules/Effects/OpenEffects/ExMaxMP.cs +++ b/OshimaModules/Effects/OpenEffects/ExMaxMP.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExMaxMP; public override string Name => "最大魔法值加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点最大魔法值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExMaxMP2.cs b/OshimaModules/Effects/OpenEffects/ExMaxMP2.cs index 45d9bbb..6082ead 100644 --- a/OshimaModules/Effects/OpenEffects/ExMaxMP2.cs +++ b/OshimaModules/Effects/OpenEffects/ExMaxMP2.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExMaxMP2; public override string Name => "最大魔法值加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点最大魔法值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 加成比例 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExPDR.cs b/OshimaModules/Effects/OpenEffects/ExPDR.cs index 042fd6d..8151308 100644 --- a/OshimaModules/Effects/OpenEffects/ExPDR.cs +++ b/OshimaModules/Effects/OpenEffects/ExPDR.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExPDR; public override string Name => "物理伤害减免加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 物理伤害减免。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExSPD.cs b/OshimaModules/Effects/OpenEffects/ExSPD.cs index 8068629..fb4e2e0 100644 --- a/OshimaModules/Effects/OpenEffects/ExSPD.cs +++ b/OshimaModules/Effects/OpenEffects/ExSPD.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExSPD; public override string Name => "行动速度加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点行动速度。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExSTR.cs b/OshimaModules/Effects/OpenEffects/ExSTR.cs index 4cd6a64..1a71e43 100644 --- a/OshimaModules/Effects/OpenEffects/ExSTR.cs +++ b/OshimaModules/Effects/OpenEffects/ExSTR.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExSTR; public override string Name => "力量加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点力量。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExSTR2.cs b/OshimaModules/Effects/OpenEffects/ExSTR2.cs index 1e79e8e..ef33b79 100644 --- a/OshimaModules/Effects/OpenEffects/ExSTR2.cs +++ b/OshimaModules/Effects/OpenEffects/ExSTR2.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.ExSTR2; public override string Name => "力量加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点力量。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 加成比例 = 0; diff --git a/OshimaModules/Effects/OpenEffects/IgnoreEvade.cs b/OshimaModules/Effects/OpenEffects/IgnoreEvade.cs index af5bcc2..0ec66fe 100644 --- a/OshimaModules/Effects/OpenEffects/IgnoreEvade.cs +++ b/OshimaModules/Effects/OpenEffects/IgnoreEvade.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.IgnoreEvade; public override string Name => "无视闪避"; public override string Description => $"普通攻击有 {概率 * 100:0.##}% 概率无视闪避。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 概率; private readonly double 概率 = 0; diff --git a/OshimaModules/Effects/OpenEffects/MagicalPenetration.cs b/OshimaModules/Effects/OpenEffects/MagicalPenetration.cs index 45eb656..f2df9a9 100644 --- a/OshimaModules/Effects/OpenEffects/MagicalPenetration.cs +++ b/OshimaModules/Effects/OpenEffects/MagicalPenetration.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.MagicalPenetration; public override string Name => "魔法穿透加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 魔法穿透。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce.cs b/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce.cs index 1a9450b..2392d75 100644 --- a/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce.cs +++ b/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.NormalAttackHardTimeReduce; public override string Name => Skill.Name; public override string Description => $"减少角色的普通攻击 {实际硬直时间减少:0.##} {GameplayEquilibriumConstant.InGameTime}硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; private readonly double 实际硬直时间减少 = 0; diff --git a/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce2.cs b/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce2.cs index 050317d..8e69f44 100644 --- a/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce2.cs +++ b/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce2.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.NormalAttackHardTimeReduce2; public override string Name => Skill.Name; public override string Description => $"减少角色的普通攻击 {减少比例 * 100:0.##}% 硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; private readonly double 减少比例 = 0; diff --git a/OshimaModules/Effects/OpenEffects/PhysicalPenetration.cs b/OshimaModules/Effects/OpenEffects/PhysicalPenetration.cs index 8b6c270..6469d85 100644 --- a/OshimaModules/Effects/OpenEffects/PhysicalPenetration.cs +++ b/OshimaModules/Effects/OpenEffects/PhysicalPenetration.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.PhysicalPenetration; public override string Name => "物理穿透加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 物理穿透。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce.cs b/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce.cs index 90dd7f5..eda4c82 100644 --- a/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce.cs +++ b/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.SkillHardTimeReduce; public override string Name => Skill.Name; public override string Description => $"减少角色的所有主动技能 {实际硬直时间减少:0.##} {GameplayEquilibriumConstant.InGameTime}硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; private readonly double 实际硬直时间减少 = 0; diff --git a/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce2.cs b/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce2.cs index 2371d3b..23c4819 100644 --- a/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce2.cs +++ b/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce2.cs @@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override long Id => (long)EffectID.SkillHardTimeReduce2; public override string Name => Skill.Name; public override string Description => $"减少角色的所有主动技能 {减少比例 * 100:0.##}% 硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); - public override EffectType EffectType => EffectType.Item; + public override EffectType EffectType { get; set; } = EffectType.Item; private readonly double 减少比例 = 0; diff --git a/OshimaModules/Effects/PassiveEffects/封技.cs b/OshimaModules/Effects/PassiveEffects/封技.cs index 29d60d6..34def29 100644 --- a/OshimaModules/Effects/PassiveEffects/封技.cs +++ b/OshimaModules/Effects/PassiveEffects/封技.cs @@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects public override string Name => "封技"; public override string Description => $"此角色被封技了,不能使用技能(魔法、战技和爆发技)。来自:[ {Source} ] 的 [ {Skill.Name} ]"; public override EffectType EffectType => EffectType.Silence; - public override DispelledType DispelledType => DispelledType.Strong; + public override DispelledType DispelledType => DispelledType.Weak; public override Character Source => _sourceCharacter; public override bool Durative => _durative; public override double Duration => _duration; diff --git a/OshimaModules/Effects/PassiveEffects/累积之压标记.cs b/OshimaModules/Effects/PassiveEffects/累积之压标记.cs index 1543ab2..dc776de 100644 --- a/OshimaModules/Effects/PassiveEffects/累积之压标记.cs +++ b/OshimaModules/Effects/PassiveEffects/累积之压标记.cs @@ -9,6 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects public override string Name => "累积之压标记"; public override string Description => $"此角色持有累积之压标记。来自:[ {Source} ]"; public override EffectType EffectType => EffectType.Mark; + public override bool DurativeWithoutDuration => true; public override Character Source => _sourceCharacter; private readonly Character _sourceCharacter; diff --git a/OshimaModules/Effects/SkillEffects/提升友方行动速度.cs b/OshimaModules/Effects/SkillEffects/提升友方行动速度.cs index 56c21ab..1d27cd4 100644 --- a/OshimaModules/Effects/SkillEffects/提升友方行动速度.cs +++ b/OshimaModules/Effects/SkillEffects/提升友方行动速度.cs @@ -1,4 +1,5 @@ using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Library.Constant; using Oshima.FunGame.OshimaModules.Effects.OpenEffects; namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects @@ -43,7 +44,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects }; target.Effects.Add(e); e.OnEffectGained(target); - GamingQueue?.LastRound.Effects.TryAdd(target, e.EffectType); + e.EffectType = EffectType.Haste; + GamingQueue?.LastRound.Effects.TryAdd(target, [e.EffectType]); } } } diff --git a/OshimaModules/Effects/SkillEffects/造成封技.cs b/OshimaModules/Effects/SkillEffects/造成封技.cs index 71e67d9..3415c68 100644 --- a/OshimaModules/Effects/SkillEffects/造成封技.cs +++ b/OshimaModules/Effects/SkillEffects/造成封技.cs @@ -35,7 +35,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects 封技 e = new(Skill, caster, false, 0, 1); enemy.Effects.Add(e); e.OnEffectGained(enemy); - GamingQueue?.LastRound.Effects.TryAdd(enemy, e.EffectType); + GamingQueue?.LastRound.Effects.TryAdd(enemy, [e.EffectType]); } } } diff --git a/OshimaModules/Effects/SkillEffects/造成眩晕.cs b/OshimaModules/Effects/SkillEffects/造成眩晕.cs index a6308a1..ddca627 100644 --- a/OshimaModules/Effects/SkillEffects/造成眩晕.cs +++ b/OshimaModules/Effects/SkillEffects/造成眩晕.cs @@ -32,10 +32,10 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects foreach (Character enemy in targets) { WriteLine($"[ {caster} ] 眩晕了 [ {enemy} ] !持续时间:{眩晕时间}!"); - 眩晕 e = new(Skill, caster, false, 0, 1); + 眩晕 e = new(Skill, caster, _durative, _duration, _durationTurn); enemy.Effects.Add(e); e.OnEffectGained(enemy); - GamingQueue?.LastRound.Effects.TryAdd(enemy, e.EffectType); + GamingQueue?.LastRound.Effects.TryAdd(enemy, [e.EffectType]); } } } diff --git a/OshimaModules/Effects/SkillEffects/降低敌方行动速度.cs b/OshimaModules/Effects/SkillEffects/降低敌方行动速度.cs index d6504f1..0f8a99e 100644 --- a/OshimaModules/Effects/SkillEffects/降低敌方行动速度.cs +++ b/OshimaModules/Effects/SkillEffects/降低敌方行动速度.cs @@ -1,4 +1,5 @@ using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Library.Constant; using Oshima.FunGame.OshimaModules.Effects.OpenEffects; namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects @@ -43,7 +44,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects }; target.Effects.Add(e); e.OnEffectGained(target); - GamingQueue?.LastRound.Effects.TryAdd(target, e.EffectType); + e.EffectType = EffectType.Slow; + GamingQueue?.LastRound.Effects.TryAdd(target, [e.EffectType]); } } } diff --git a/OshimaModules/Skills/ColdBlue/嗜血本能.cs b/OshimaModules/Skills/ColdBlue/嗜血本能.cs index 014fe23..0f16ec1 100644 --- a/OshimaModules/Skills/ColdBlue/嗜血本能.cs +++ b/OshimaModules/Skills/ColdBlue/嗜血本能.cs @@ -1,6 +1,5 @@ using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; -using Oshima.FunGame.OshimaModules.Effects.PassiveEffects; namespace Oshima.FunGame.OshimaModules.Skills { @@ -9,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => (long)SuperSkillID.嗜血本能; public override string Name => "嗜血本能"; public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; + public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : ""; public override double EPCost => 100; public override double CD => 45; public override double HardnessTime { get; set; } = 5; @@ -28,12 +28,14 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Description => $"{Duration} {GameplayEquilibriumConstant.InGameTime}内,攻击拥有标记的角色将不会回收标记,增强 {最大生命值伤害 * 100:0.##}% 最大生命值伤害,并获得 {吸血 * 100:0.##}% 吸血。"; public override bool Durative => true; public override double Duration => 25; + public override DispelledType DispelledType => DispelledType.CannotBeDispelled; private static double 吸血 => 0.2; private double 最大生命值伤害 => 0.015 * Level; public override void OnEffectGained(Character character) { + character.Lifesteal += 吸血; if (character.Effects.Where(e => e is 累积之压特效).FirstOrDefault() is 累积之压特效 e) { e.系数 += 最大生命值伤害; @@ -42,21 +44,13 @@ namespace Oshima.FunGame.OshimaModules.Skills public override void OnEffectLost(Character character) { + character.Lifesteal -= 吸血; if (character.Effects.Where(e => e is 累积之压特效).FirstOrDefault() is 累积之压特效 e) { e.系数 -= 最大生命值伤害; } } - 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 实际吸血 = 吸血 * damage; - HealToTarget(character, character, 实际吸血); - } - } - public override void OnSkillCasted(Character caster, List targets, Dictionary others) { RemainDuration = Duration; @@ -65,6 +59,7 @@ namespace Oshima.FunGame.OshimaModules.Skills caster.Effects.Add(this); OnEffectGained(caster); } + GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DamageBoost, EffectType.Lifesteal]); } } } diff --git a/OshimaModules/Skills/ColdBlue/累积之压.cs b/OshimaModules/Skills/ColdBlue/累积之压.cs index a75121f..f68090e 100644 --- a/OshimaModules/Skills/ColdBlue/累积之压.cs +++ b/OshimaModules/Skills/ColdBlue/累积之压.cs @@ -27,7 +27,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => Skill.Id; public override string Name => Skill.Name; public override string Description => $"造成伤害时会标记目标,攻击具有标记的敌人将对其造成眩晕 1 回合,并回收标记,额外对该角色造成 {系数 * 100:0.##}% 最大生命值的物理伤害。"; - public override string DispelDescription => "可驱散性:眩晕需强驱散"; + public override string DispelDescription => "被驱散性:眩晕需强驱散,标记可弱驱散"; public double 系数 { get; set; } = 0.12; private bool 是否是嵌套伤害 = false; diff --git a/OshimaModules/Skills/MagicalGirl/绝对领域.cs b/OshimaModules/Skills/MagicalGirl/绝对领域.cs index 5154c19..2dcd432 100644 --- a/OshimaModules/Skills/MagicalGirl/绝对领域.cs +++ b/OshimaModules/Skills/MagicalGirl/绝对领域.cs @@ -72,6 +72,7 @@ namespace Oshima.FunGame.OshimaModules.Skills caster.Effects.Add(this); OnEffectGained(caster); } + GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.Invulnerable]); } } } diff --git a/OshimaModules/Skills/Mayor/精准打击.cs b/OshimaModules/Skills/Mayor/精准打击.cs index 4009479..f1b18f9 100644 --- a/OshimaModules/Skills/Mayor/精准打击.cs +++ b/OshimaModules/Skills/Mayor/精准打击.cs @@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => (long)SuperSkillID.精准打击; public override string Name => "精准打击"; public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; + public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : ""; public override double EPCost => 100; public override double CD => 40 - 1 * (Level - 1); public override double HardnessTime { get; set; } = 8; @@ -27,6 +28,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Description => $"30 {GameplayEquilibriumConstant.InGameTime}内暴击率提升 {暴击率提升 * 100:0.##}%,暴击伤害提升 {暴击伤害提升 * 100:0.##}%,物理穿透提升 {物理穿透提升 * 100:0.##}%。"; public override bool Durative => true; public override double Duration => 30; + public override DispelledType DispelledType => DispelledType.CannotBeDispelled; private double 暴击率提升 => 0.2 + 0.03 * (Level - 1); private double 暴击伤害提升 => 0.8 + 0.04 * (Level - 1); @@ -64,6 +66,7 @@ namespace Oshima.FunGame.OshimaModules.Skills caster.Effects.Add(this); OnEffectGained(caster); } + GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.CritBoost, EffectType.PenetrationBoost]); } } } diff --git a/OshimaModules/Skills/NanGanyu/三重叠加.cs b/OshimaModules/Skills/NanGanyu/三重叠加.cs index d48c538..1ce94ce 100644 --- a/OshimaModules/Skills/NanGanyu/三重叠加.cs +++ b/OshimaModules/Skills/NanGanyu/三重叠加.cs @@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => (long)SuperSkillID.三重叠加; public override string Name => "三重叠加"; public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; + public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : ""; public override double EPCost => 100; public override double CD => 35 - 2 * (Level - 1); public override double HardnessTime { get; set; } = 0; @@ -26,6 +27,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Name => "三重叠加"; public override string Description => $"使 [ 灵能反射 ] 支持普通攻击,且当前释放魔法次数归零,最大硬直消除次数提高到 {灵能反射次数} 次;在魔法命中和普通攻击命中时能够回复所回复能量值的 10 倍魔法值,持续 {技能持续次数} 次(灵能反射每消除次数达到最大时算一次)。" + $"(剩余:{剩余持续次数} 次)"; + public override DispelledType DispelledType => DispelledType.CannotBeDispelled; public int 剩余持续次数 { get; set; } = 0; private readonly int 灵能反射次数 = 3; @@ -60,6 +62,7 @@ namespace Oshima.FunGame.OshimaModules.Skills caster.Effects.Add(this); OnEffectGained(caster); } + GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.MPRegen, EffectType.Haste]); } } } diff --git a/OshimaModules/Skills/NiuNan/变幻之心.cs b/OshimaModules/Skills/NiuNan/变幻之心.cs index bbaaa8c..0f769a0 100644 --- a/OshimaModules/Skills/NiuNan/变幻之心.cs +++ b/OshimaModules/Skills/NiuNan/变幻之心.cs @@ -9,6 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => (long)SuperSkillID.变幻之心; public override string Name => "变幻之心"; public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; + public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : ""; public override double EPCost => 100; public override double CD => 20; public override double HardnessTime { get; set; } = 3; @@ -26,6 +27,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => Skill.Id; public override string Name => "变幻之心"; public override string Description => $"检查 [ 智慧与力量 ] 的模式。在力量模式下,立即回复 {生命值回复 * 100:0.##}% 生命值;智力模式下,下一次魔法伤害提升 {伤害提升 * 100:0.##}%。"; + public override DispelledType DispelledType => DispelledType.CannotBeDispelled; private double 生命值回复 => 0.25 + 0.03 * (Level - 1); private double 伤害提升 => 0.6 + 0.4 * (Level - 1); @@ -71,6 +73,7 @@ namespace Oshima.FunGame.OshimaModules.Skills caster.Effects.Add(this); OnEffectGained(caster); } + GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DamageBoost]); } } } diff --git a/OshimaModules/Skills/Oshima/力量爆发.cs b/OshimaModules/Skills/Oshima/力量爆发.cs index 9f28e26..15f9af7 100644 --- a/OshimaModules/Skills/Oshima/力量爆发.cs +++ b/OshimaModules/Skills/Oshima/力量爆发.cs @@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => (long)SuperSkillID.力量爆发; public override string Name => "力量爆发"; public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; + public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : ""; public override double EPCost => 100; public override double CD => 55; public override double HardnessTime { get; set; } = 0; @@ -27,6 +28,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Description => $"获得 135% 力量 [ {攻击力加成:0.##} ] 的攻击力加成,但每次攻击都会损失 9% 当前生命值 [ {当前生命值:0.##} ],持续 {Duration:0.##} {GameplayEquilibriumConstant.InGameTime}。"; public override bool Durative => true; public override double Duration => 10 + 1 * (Level - 1); + public override DispelledType DispelledType => DispelledType.CannotBeDispelled; private double 攻击力加成 => Skill.Character?.STR * 1.35 ?? 0; private double 当前生命值 => Skill.Character?.HP * 0.09 ?? 0; @@ -64,6 +66,7 @@ namespace Oshima.FunGame.OshimaModules.Skills caster.Effects.Add(this); OnEffectGained(caster); } + GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DamageBoost]); } } } diff --git a/OshimaModules/Skills/QWQAQW/迅捷之势.cs b/OshimaModules/Skills/QWQAQW/迅捷之势.cs index 60a52ff..13dff57 100644 --- a/OshimaModules/Skills/QWQAQW/迅捷之势.cs +++ b/OshimaModules/Skills/QWQAQW/迅捷之势.cs @@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => (long)SuperSkillID.迅捷之势; public override string Name => "迅捷之势"; public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; + public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : ""; public override double EPCost => 100; public override double CD => 60 - 2 * (Level - 1); public override double HardnessTime { get; set; } = 15; @@ -27,6 +28,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Description => $"{Duration:0.##} {GameplayEquilibriumConstant.InGameTime}内,提升自身 25% 物理伤害减免和魔法抗性,普通攻击转为魔法伤害,且硬直时间减少 30%,并基于 {智力系数 * 100:0.##}% 智力 [ {智力加成:0.##} ] 强化普通攻击伤害。"; public override bool Durative => true; public override double Duration => 40; + public override DispelledType DispelledType => DispelledType.CannotBeDispelled; private double 智力系数 => 1.4 + 0.4 * (Level - 1); private double 智力加成 => 智力系数 * Skill.Character?.INT ?? 0; @@ -77,6 +79,7 @@ namespace Oshima.FunGame.OshimaModules.Skills caster.Effects.Add(this); OnEffectGained(caster); } + GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DamageBoost, EffectType.Haste, EffectType.DefenseBoost]); } } } diff --git a/OshimaModules/Skills/QuDuoduo/血之狂欢.cs b/OshimaModules/Skills/QuDuoduo/血之狂欢.cs index 86b8383..97bab06 100644 --- a/OshimaModules/Skills/QuDuoduo/血之狂欢.cs +++ b/OshimaModules/Skills/QuDuoduo/血之狂欢.cs @@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => (long)SuperSkillID.血之狂欢; public override string Name => "血之狂欢"; public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; + public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : ""; public override double EPCost => 100; public override double CD => 45; public override double HardnessTime { get; set; } = 7; @@ -27,6 +28,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Description => $"获得 40% 吸血,持续 {Duration:0.##} {GameplayEquilibriumConstant.InGameTime}。"; public override bool Durative => true; public override double Duration => 30; + public override DispelledType DispelledType => DispelledType.CannotBeDispelled; public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult) { @@ -45,6 +47,7 @@ namespace Oshima.FunGame.OshimaModules.Skills caster.Effects.Add(this); OnEffectGained(caster); } + GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.Lifesteal]); } } } diff --git a/OshimaModules/Skills/XinYin/天赐之力.cs b/OshimaModules/Skills/XinYin/天赐之力.cs index b435919..bb62677 100644 --- a/OshimaModules/Skills/XinYin/天赐之力.cs +++ b/OshimaModules/Skills/XinYin/天赐之力.cs @@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => (long)SuperSkillID.天赐之力; public override string Name => "天赐之力"; public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; + public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : ""; public override double EPCost => 100; public override double CD => 60; public override double HardnessTime { get; set; } = 15; @@ -27,6 +28,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Description => $"{Duration:0.##} {GameplayEquilibriumConstant.InGameTime}内,增加 40% 攻击力 [ {攻击力提升:0.##} ]、30% 物理穿透和 25% 闪避率(不可叠加),普通攻击硬直时间额外减少 20%,基于 {系数 * 100:0.##}% 敏捷 [ {伤害加成:0.##} ] 强化普通攻击的伤害。在持续时间内,【心灵之火】的冷却时间降低至 3 {GameplayEquilibriumConstant.InGameTime}。"; public override bool Durative => true; public override double Duration => 40; + public override DispelledType DispelledType => DispelledType.CannotBeDispelled; private double 系数 => 1.2 * (1 + 0.6 * (Skill.Level - 1)); private double 伤害加成 => 系数 * Skill.Character?.AGI ?? 0; @@ -85,6 +87,7 @@ namespace Oshima.FunGame.OshimaModules.Skills caster.Effects.Add(this); OnEffectGained(caster); } + GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DamageBoost, EffectType.PenetrationBoost]); } } } diff --git a/OshimaModules/Skills/Yang/魔法涌流.cs b/OshimaModules/Skills/Yang/魔法涌流.cs index 0adcce2..74e7f0f 100644 --- a/OshimaModules/Skills/Yang/魔法涌流.cs +++ b/OshimaModules/Skills/Yang/魔法涌流.cs @@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => (long)SuperSkillID.魔法涌流; public override string Name => "魔法涌流"; public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; + public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : ""; public override double EPCost => 100; public override double CD => 35; public override double HardnessTime { get; set; } = 3; @@ -27,6 +28,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Description => $"{Duration:0.##} {GameplayEquilibriumConstant.InGameTime}内,增加自身所有伤害的 {减伤比例 * 100:0.##}% 伤害减免;【魔法震荡】的冷却时间降低至 5 {GameplayEquilibriumConstant.InGameTime},并将普通攻击转为魔法伤害,允许普通攻击时选择至多 3 个目标。"; public override bool Durative => true; public override double Duration => 30; + public override DispelledType DispelledType => DispelledType.CannotBeDispelled; private double 减伤比例 => 0.15 + 0.04 * (Level - 1); private double 实际比例 = 0; @@ -71,6 +73,7 @@ namespace Oshima.FunGame.OshimaModules.Skills caster.Effects.Add(this); OnEffectGained(caster); } + GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DefenseBoost]); } } } diff --git a/OshimaModules/Skills/Yang/魔法震荡.cs b/OshimaModules/Skills/Yang/魔法震荡.cs index 419ec96..f751ced 100644 --- a/OshimaModules/Skills/Yang/魔法震荡.cs +++ b/OshimaModules/Skills/Yang/魔法震荡.cs @@ -28,7 +28,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Name => Skill.Name; public override string Description => $"对处于完全行动不能、行动受限、战斗不能、技能受限、攻击受限状态的敌人额外造成 {系数 * 100:0.##}% 力量 [ {伤害加成:0.##} ] 点伤害;造成魔法伤害时使敌人眩晕 1 回合,冷却 {基础冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime}。" + (冷却时间 > 0 ? $"(正在冷却:剩余 {冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime})" : ""); - public override string DispelDescription => "可驱散性:眩晕需强驱散"; + public override string DispelDescription => "被驱散性:眩晕需强驱散"; public double 冷却时间 { get; set; } = 0; public double 基础冷却时间 { get; set; } = 10; private static double 系数 => 4; diff --git a/OshimaModules/Skills/dddovo/平衡强化.cs b/OshimaModules/Skills/dddovo/平衡强化.cs index 228fce9..95138f4 100644 --- a/OshimaModules/Skills/dddovo/平衡强化.cs +++ b/OshimaModules/Skills/dddovo/平衡强化.cs @@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override long Id => (long)SuperSkillID.平衡强化; public override string Name => "平衡强化"; public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; + public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : ""; public override double EPCost => 100; public override double CD => 55 - (1 * (Level - 1)); public override double HardnessTime { get; set; } = 12; @@ -27,6 +28,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Description => $"敏捷提高 20%,然后将目前的力量补充到与敏捷持平,持续 {Duration:0.##} {GameplayEquilibriumConstant.InGameTime}。"; public override bool Durative => true; public override double Duration => 30; + public override DispelledType DispelledType => DispelledType.CannotBeDispelled; private double 本次提升的敏捷 = 0; private double 本次提升的力量 = 0; @@ -66,6 +68,7 @@ namespace Oshima.FunGame.OshimaModules.Skills caster.Effects.Add(this); OnEffectGained(caster); } + GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DamageBoost, EffectType.Lifesteal]); } } } diff --git a/OshimaModules/Skills/战技/疾风步.cs b/OshimaModules/Skills/战技/疾风步.cs index ad656f4..16ea5d4 100644 --- a/OshimaModules/Skills/战技/疾风步.cs +++ b/OshimaModules/Skills/战技/疾风步.cs @@ -27,6 +27,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Name => Skill.Name; public override string Description => $"进入不可选中状态,获得 100 行动速度,提高 8% 暴击率,持续 {Duration:0.##} {GameplayEquilibriumConstant.InGameTime}。破隐一击:在持续时间内,首次造成伤害会附加 {系数 * 100:0.##}% 敏捷 [ {伤害加成:0.##} ] 的强化伤害,并解除不可选中状态。"; public override string DispelDescription => "不可选中状态生效期间,此技能不可驱散,否则可弱驱散"; + public override EffectType EffectType => EffectType.Unselectable; public override bool Durative => true; public override double Duration => 12 + (1 * (Level - 1)); @@ -37,8 +38,9 @@ namespace Oshima.FunGame.OshimaModules.Skills public override void OnEffectGained(Character character) { + DispelledType = DispelledType.CannotBeDispelled; Skill.IsInEffect = true; - AddEffectTypeToCharacter(character, [EffectType.Unselectable]); + AddEffectTypeToCharacter(character, [EffectType]); character.ExSPD += 100; character.ExCritRate += 0.08; GamingQueue?.InterruptCastingAsync(character); @@ -51,6 +53,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { // 在没有打出破隐一击的情况下,恢复角色状态 RemoveEffectTypesFromCharacter(character); + DispelledType = DispelledType.Weak; } character.ExSPD -= 100; character.ExCritRate -= 0.08; @@ -65,6 +68,7 @@ namespace Oshima.FunGame.OshimaModules.Skills RemoveEffectTypesFromCharacter(character); double d = 伤害加成; WriteLine($"[ {character} ] 触发了疾风步破隐一击,获得了 [ {d:0.##} ] 点伤害加成!"); + DispelledType = DispelledType.Weak; return d; } return 0; @@ -74,7 +78,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { if (!caster.Effects.Contains(this)) { - GamingQueue?.LastRound.Effects.Add(caster, EffectType.Unselectable); + GamingQueue?.LastRound.Effects.Add(caster, [EffectType]); 首次伤害 = true; 破隐一击 = false; RemainDuration = Duration;