技能适配新架构

This commit is contained in:
milimoe 2025-04-25 21:37:31 +08:00
parent dc33c72289
commit 9a8ab0ce65
Signed by: milimoe
GPG Key ID: 05D280912DA6C69E
59 changed files with 91 additions and 59 deletions

View File

@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.ItemEffects
public override long Id => (long)EffectID.GetEP; public override long Id => (long)EffectID.GetEP;
public override string Name => "立即获得能量值"; public override string Name => "立即获得能量值";
public override string Description => $"角色立即获得 {实际获得:0.##} 点能量值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.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; private readonly double = 0;

View File

@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.ItemEffects
public override long Id => (long)EffectID.GetEXP; public override long Id => (long)EffectID.GetEXP;
public override string Name => "立即获得经验值"; public override string Name => "立即获得经验值";
public override string Description => $"角色立即获得 {实际获得:0.##} 点经验值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.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; private readonly double = 0;

View File

@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.ItemEffects
public override long Id => (long)EffectID.RecoverHP; public override long Id => (long)EffectID.RecoverHP;
public override string Name => "立即回复生命值"; public override string Name => "立即回复生命值";
public override string Description => $"立即回复角色 {实际回复:0.##} 点生命值(不可用于复活)。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.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; private readonly double = 0;

View File

@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.ItemEffects
public override long Id => (long)EffectID.RecoverHP2; public override long Id => (long)EffectID.RecoverHP2;
public override string Name => "立即回复生命值"; 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 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 double => * (Skill.Character?.MaxHP ?? 0);
private readonly double = 0; private readonly double = 0;

View File

@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.ItemEffects
public override long Id => (long)EffectID.RecoverMP; public override long Id => (long)EffectID.RecoverMP;
public override string Name => "立即回复魔法值"; public override string Name => "立即回复魔法值";
public override string Description => $"立即回复角色 {实际回复:0.##} 点魔法值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.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; private readonly double = 0;

View File

@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.ItemEffects
public override long Id => (long)EffectID.RecoverMP2; public override long Id => (long)EffectID.RecoverMP2;
public override string Name => "立即回复魔法值"; 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 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 double => * (Skill.Character?.MaxMP ?? 0);
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.AccelerationCoefficient; public override long Id => (long)EffectID.AccelerationCoefficient;
public override string Name => "加速系数加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -11,7 +11,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.DynamicsEffect; public override long Id => (long)EffectID.DynamicsEffect;
public override string Name { get; set; } = "动态扩展特效"; 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 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<string> Descriptions { get; } = []; public HashSet<string> Descriptions { get; } = [];
public Dictionary<string, double> RealDynamicsValues { get; } = []; public Dictionary<string, double> RealDynamicsValues { get; } = [];

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExAGI; public override long Id => (long)EffectID.ExAGI;
public override string Name => "敏捷加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExAGI2; public override long Id => (long)EffectID.ExAGI2;
public override string Name => "敏捷加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExATK; public override long Id => (long)EffectID.ExATK;
public override string Name => "攻击力加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExATK2; public override long Id => (long)EffectID.ExATK2;
public override string Name => "攻击力加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExActionCoefficient; public override long Id => (long)EffectID.ExActionCoefficient;
public override string Name => "行动系数加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExCDR; public override long Id => (long)EffectID.ExCDR;
public override string Name => "冷却缩减加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExCritDMG; public override long Id => (long)EffectID.ExCritDMG;
public override string Name => "暴击伤害加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExCritRate; public override long Id => (long)EffectID.ExCritRate;
public override string Name => "暴击率加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExDEF; public override long Id => (long)EffectID.ExDEF;
public override string Name => "物理护甲加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExDEF2; public override long Id => (long)EffectID.ExDEF2;
public override string Name => "物理护甲加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExEvadeRate; public override long Id => (long)EffectID.ExEvadeRate;
public override string Name => "闪避率加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExHR; public override long Id => (long)EffectID.ExHR;
public override string Name => "生命回复加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExINT; public override long Id => (long)EffectID.ExINT;
public override string Name => "智力加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExINT2; public override long Id => (long)EffectID.ExINT2;
public override string Name => "智力加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExMDF; public override long Id => (long)EffectID.ExMDF;
public override string Name => "魔法抗性加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExMR; public override long Id => (long)EffectID.ExMR;
public override string Name => "魔法回复加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExMaxHP; public override long Id => (long)EffectID.ExMaxHP;
public override string Name => "最大生命值加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExMaxHP2; public override long Id => (long)EffectID.ExMaxHP2;
public override string Name => "最大生命值加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExMaxMP; public override long Id => (long)EffectID.ExMaxMP;
public override string Name => "最大魔法值加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExMaxMP2; public override long Id => (long)EffectID.ExMaxMP2;
public override string Name => "最大魔法值加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExPDR; public override long Id => (long)EffectID.ExPDR;
public override string Name => "物理伤害减免加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExSPD; public override long Id => (long)EffectID.ExSPD;
public override string Name => "行动速度加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExSTR; public override long Id => (long)EffectID.ExSTR;
public override string Name => "力量加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.ExSTR2; public override long Id => (long)EffectID.ExSTR2;
public override string Name => "力量加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.IgnoreEvade; public override long Id => (long)EffectID.IgnoreEvade;
public override string Name => "无视闪避"; public override string Name => "无视闪避";
public override string Description => $"普通攻击有 {概率 * 100:0.##}% 概率无视闪避。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.MagicalPenetration; public override long Id => (long)EffectID.MagicalPenetration;
public override string Name => "魔法穿透加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.NormalAttackHardTimeReduce; public override long Id => (long)EffectID.NormalAttackHardTimeReduce;
public override string Name => Skill.Name; 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 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; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.NormalAttackHardTimeReduce2; public override long Id => (long)EffectID.NormalAttackHardTimeReduce2;
public override string Name => Skill.Name; 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 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; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.PhysicalPenetration; public override long Id => (long)EffectID.PhysicalPenetration;
public override string Name => "物理穿透加成"; 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 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 => ; public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.SkillHardTimeReduce; public override long Id => (long)EffectID.SkillHardTimeReduce;
public override string Name => Skill.Name; 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 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; private readonly double = 0;

View File

@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override long Id => (long)EffectID.SkillHardTimeReduce2; public override long Id => (long)EffectID.SkillHardTimeReduce2;
public override string Name => Skill.Name; 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 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; private readonly double = 0;

View File

@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects
public override string Name => "封技"; public override string Name => "封技";
public override string Description => $"此角色被封技了,不能使用技能(魔法、战技和爆发技)。来自:[ {Source} ] 的 [ {Skill.Name} ]"; public override string Description => $"此角色被封技了,不能使用技能(魔法、战技和爆发技)。来自:[ {Source} ] 的 [ {Skill.Name} ]";
public override EffectType EffectType => EffectType.Silence; 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 Character Source => _sourceCharacter;
public override bool Durative => _durative; public override bool Durative => _durative;
public override double Duration => _duration; public override double Duration => _duration;

View File

@ -9,6 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects
public override string Name => "累积之压标记"; public override string Name => "累积之压标记";
public override string Description => $"此角色持有累积之压标记。来自:[ {Source} ]"; public override string Description => $"此角色持有累积之压标记。来自:[ {Source} ]";
public override EffectType EffectType => EffectType.Mark; public override EffectType EffectType => EffectType.Mark;
public override bool DurativeWithoutDuration => true;
public override Character Source => _sourceCharacter; public override Character Source => _sourceCharacter;
private readonly Character _sourceCharacter; private readonly Character _sourceCharacter;

View File

@ -1,4 +1,5 @@
using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Oshima.FunGame.OshimaModules.Effects.OpenEffects; using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
@ -43,7 +44,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
}; };
target.Effects.Add(e); target.Effects.Add(e);
e.OnEffectGained(target); e.OnEffectGained(target);
GamingQueue?.LastRound.Effects.TryAdd(target, e.EffectType); e.EffectType = EffectType.Haste;
GamingQueue?.LastRound.Effects.TryAdd(target, [e.EffectType]);
} }
} }
} }

View File

@ -35,7 +35,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
e = new(Skill, caster, false, 0, 1); e = new(Skill, caster, false, 0, 1);
enemy.Effects.Add(e); enemy.Effects.Add(e);
e.OnEffectGained(enemy); e.OnEffectGained(enemy);
GamingQueue?.LastRound.Effects.TryAdd(enemy, e.EffectType); GamingQueue?.LastRound.Effects.TryAdd(enemy, [e.EffectType]);
} }
} }
} }

View File

@ -32,10 +32,10 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
foreach (Character enemy in targets) foreach (Character enemy in targets)
{ {
WriteLine($"[ {caster} ] 眩晕了 [ {enemy} ] !持续时间:{眩晕时间}"); WriteLine($"[ {caster} ] 眩晕了 [ {enemy} ] !持续时间:{眩晕时间}");
e = new(Skill, caster, false, 0, 1); e = new(Skill, caster, _durative, _duration, _durationTurn);
enemy.Effects.Add(e); enemy.Effects.Add(e);
e.OnEffectGained(enemy); e.OnEffectGained(enemy);
GamingQueue?.LastRound.Effects.TryAdd(enemy, e.EffectType); GamingQueue?.LastRound.Effects.TryAdd(enemy, [e.EffectType]);
} }
} }
} }

View File

@ -1,4 +1,5 @@
using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Oshima.FunGame.OshimaModules.Effects.OpenEffects; using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
@ -43,7 +44,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
}; };
target.Effects.Add(e); target.Effects.Add(e);
e.OnEffectGained(target); e.OnEffectGained(target);
GamingQueue?.LastRound.Effects.TryAdd(target, e.EffectType); e.EffectType = EffectType.Slow;
GamingQueue?.LastRound.Effects.TryAdd(target, [e.EffectType]);
} }
} }
} }

View File

@ -1,6 +1,5 @@
using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Core.Library.Constant;
using Oshima.FunGame.OshimaModules.Effects.PassiveEffects;
namespace Oshima.FunGame.OshimaModules.Skills namespace Oshima.FunGame.OshimaModules.Skills
{ {
@ -9,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override long Id => (long)SuperSkillID.; public override long Id => (long)SuperSkillID.;
public override string Name => "嗜血本能"; public override string Name => "嗜血本能";
public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; 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 EPCost => 100;
public override double CD => 45; public override double CD => 45;
public override double HardnessTime { get; set; } = 5; 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 string Description => $"{Duration} {GameplayEquilibriumConstant.InGameTime}内,攻击拥有标记的角色将不会回收标记,增强 {最大生命值伤害 * 100:0.##}% 最大生命值伤害,并获得 {吸血 * 100:0.##}% 吸血。";
public override bool Durative => true; public override bool Durative => true;
public override double Duration => 25; public override double Duration => 25;
public override DispelledType DispelledType => DispelledType.CannotBeDispelled;
private static double => 0.2; private static double => 0.2;
private double => 0.015 * Level; private double => 0.015 * Level;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)
{ {
character.Lifesteal += ;
if (character.Effects.Where(e => e is ).FirstOrDefault() is e) if (character.Effects.Where(e => e is ).FirstOrDefault() is e)
{ {
e. += ; e. += ;
@ -42,21 +44,13 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override void OnEffectLost(Character character) public override void OnEffectLost(Character character)
{ {
character.Lifesteal -= ;
if (character.Effects.Where(e => e is ).FirstOrDefault() is e) if (character.Effects.Where(e => e is ).FirstOrDefault() is e)
{ {
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<Character> targets, Dictionary<string, object> others) public override void OnSkillCasted(Character caster, List<Character> targets, Dictionary<string, object> others)
{ {
RemainDuration = Duration; RemainDuration = Duration;
@ -65,6 +59,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
caster.Effects.Add(this); caster.Effects.Add(this);
OnEffectGained(caster); OnEffectGained(caster);
} }
GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DamageBoost, EffectType.Lifesteal]);
} }
} }
} }

View File

@ -27,7 +27,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override long Id => Skill.Id; public override long Id => Skill.Id;
public override string Name => Skill.Name; public override string Name => Skill.Name;
public override string Description => $"造成伤害时会标记目标,攻击具有标记的敌人将对其造成眩晕 1 回合,并回收标记,额外对该角色造成 {系数 * 100:0.##}% 最大生命值的物理伤害。"; public override string Description => $"造成伤害时会标记目标,攻击具有标记的敌人将对其造成眩晕 1 回合,并回收标记,额外对该角色造成 {系数 * 100:0.##}% 最大生命值的物理伤害。";
public override string DispelDescription => "可驱散性:眩晕需强驱散"; public override string DispelDescription => "被驱散性:眩晕需强驱散,标记可弱驱散";
public double { get; set; } = 0.12; public double { get; set; } = 0.12;
private bool = false; private bool = false;

View File

@ -72,6 +72,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
caster.Effects.Add(this); caster.Effects.Add(this);
OnEffectGained(caster); OnEffectGained(caster);
} }
GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.Invulnerable]);
} }
} }
} }

View File

@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override long Id => (long)SuperSkillID.; public override long Id => (long)SuperSkillID.;
public override string Name => "精准打击"; public override string Name => "精准打击";
public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; 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 EPCost => 100;
public override double CD => 40 - 1 * (Level - 1); public override double CD => 40 - 1 * (Level - 1);
public override double HardnessTime { get; set; } = 8; 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 string Description => $"30 {GameplayEquilibriumConstant.InGameTime}内暴击率提升 {暴击率提升 * 100:0.##}%,暴击伤害提升 {暴击伤害提升 * 100:0.##}%,物理穿透提升 {物理穿透提升 * 100:0.##}%。";
public override bool Durative => true; public override bool Durative => true;
public override double Duration => 30; public override double Duration => 30;
public override DispelledType DispelledType => DispelledType.CannotBeDispelled;
private double => 0.2 + 0.03 * (Level - 1); private double => 0.2 + 0.03 * (Level - 1);
private double => 0.8 + 0.04 * (Level - 1); private double => 0.8 + 0.04 * (Level - 1);
@ -64,6 +66,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
caster.Effects.Add(this); caster.Effects.Add(this);
OnEffectGained(caster); OnEffectGained(caster);
} }
GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.CritBoost, EffectType.PenetrationBoost]);
} }
} }
} }

View File

@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override long Id => (long)SuperSkillID.; public override long Id => (long)SuperSkillID.;
public override string Name => "三重叠加"; public override string Name => "三重叠加";
public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; 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 EPCost => 100;
public override double CD => 35 - 2 * (Level - 1); public override double CD => 35 - 2 * (Level - 1);
public override double HardnessTime { get; set; } = 0; public override double HardnessTime { get; set; } = 0;
@ -26,6 +27,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override string Name => "三重叠加"; public override string Name => "三重叠加";
public override string Description => $"使 [ 灵能反射 ] 支持普通攻击,且当前释放魔法次数归零,最大硬直消除次数提高到 {灵能反射次数} 次;在魔法命中和普通攻击命中时能够回复所回复能量值的 10 倍魔法值,持续 {技能持续次数} 次(灵能反射每消除次数达到最大时算一次)。" + public override string Description => $"使 [ 灵能反射 ] 支持普通攻击,且当前释放魔法次数归零,最大硬直消除次数提高到 {灵能反射次数} 次;在魔法命中和普通攻击命中时能够回复所回复能量值的 10 倍魔法值,持续 {技能持续次数} 次(灵能反射每消除次数达到最大时算一次)。" +
$"(剩余:{剩余持续次数} 次)"; $"(剩余:{剩余持续次数} 次)";
public override DispelledType DispelledType => DispelledType.CannotBeDispelled;
public int { get; set; } = 0; public int { get; set; } = 0;
private readonly int = 3; private readonly int = 3;
@ -60,6 +62,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
caster.Effects.Add(this); caster.Effects.Add(this);
OnEffectGained(caster); OnEffectGained(caster);
} }
GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.MPRegen, EffectType.Haste]);
} }
} }
} }

View File

@ -9,6 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override long Id => (long)SuperSkillID.; public override long Id => (long)SuperSkillID.;
public override string Name => "变幻之心"; public override string Name => "变幻之心";
public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; 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 EPCost => 100;
public override double CD => 20; public override double CD => 20;
public override double HardnessTime { get; set; } = 3; public override double HardnessTime { get; set; } = 3;
@ -26,6 +27,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override long Id => Skill.Id; public override long Id => Skill.Id;
public override string Name => "变幻之心"; public override string Name => "变幻之心";
public override string Description => $"检查 [ 智慧与力量 ] 的模式。在力量模式下,立即回复 {生命值回复 * 100:0.##}% 生命值;智力模式下,下一次魔法伤害提升 {伤害提升 * 100:0.##}%。"; 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.25 + 0.03 * (Level - 1);
private double => 0.6 + 0.4 * (Level - 1); private double => 0.6 + 0.4 * (Level - 1);
@ -71,6 +73,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
caster.Effects.Add(this); caster.Effects.Add(this);
OnEffectGained(caster); OnEffectGained(caster);
} }
GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DamageBoost]);
} }
} }
} }

View File

@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override long Id => (long)SuperSkillID.; public override long Id => (long)SuperSkillID.;
public override string Name => "力量爆发"; public override string Name => "力量爆发";
public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; 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 EPCost => 100;
public override double CD => 55; public override double CD => 55;
public override double HardnessTime { get; set; } = 0; 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 string Description => $"获得 135% 力量 [ {攻击力加成:0.##} ] 的攻击力加成,但每次攻击都会损失 9% 当前生命值 [ {当前生命值:0.##} ],持续 {Duration:0.##} {GameplayEquilibriumConstant.InGameTime}。";
public override bool Durative => true; public override bool Durative => true;
public override double Duration => 10 + 1 * (Level - 1); 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?.STR * 1.35 ?? 0;
private double => Skill.Character?.HP * 0.09 ?? 0; private double => Skill.Character?.HP * 0.09 ?? 0;
@ -64,6 +66,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
caster.Effects.Add(this); caster.Effects.Add(this);
OnEffectGained(caster); OnEffectGained(caster);
} }
GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DamageBoost]);
} }
} }
} }

View File

@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override long Id => (long)SuperSkillID.; public override long Id => (long)SuperSkillID.;
public override string Name => "迅捷之势"; public override string Name => "迅捷之势";
public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; 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 EPCost => 100;
public override double CD => 60 - 2 * (Level - 1); public override double CD => 60 - 2 * (Level - 1);
public override double HardnessTime { get; set; } = 15; 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 string Description => $"{Duration:0.##} {GameplayEquilibriumConstant.InGameTime}内,提升自身 25% 物理伤害减免和魔法抗性,普通攻击转为魔法伤害,且硬直时间减少 30%,并基于 {智力系数 * 100:0.##}% 智力 [ {智力加成:0.##} ] 强化普通攻击伤害。";
public override bool Durative => true; public override bool Durative => true;
public override double Duration => 40; public override double Duration => 40;
public override DispelledType DispelledType => DispelledType.CannotBeDispelled;
private double => 1.4 + 0.4 * (Level - 1); private double => 1.4 + 0.4 * (Level - 1);
private double => * Skill.Character?.INT ?? 0; private double => * Skill.Character?.INT ?? 0;
@ -77,6 +79,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
caster.Effects.Add(this); caster.Effects.Add(this);
OnEffectGained(caster); OnEffectGained(caster);
} }
GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DamageBoost, EffectType.Haste, EffectType.DefenseBoost]);
} }
} }
} }

View File

@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override long Id => (long)SuperSkillID.; public override long Id => (long)SuperSkillID.;
public override string Name => "血之狂欢"; public override string Name => "血之狂欢";
public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; 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 EPCost => 100;
public override double CD => 45; public override double CD => 45;
public override double HardnessTime { get; set; } = 7; 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 string Description => $"获得 40% 吸血,持续 {Duration:0.##} {GameplayEquilibriumConstant.InGameTime}。";
public override bool Durative => true; public override bool Durative => true;
public override double Duration => 30; 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) 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); caster.Effects.Add(this);
OnEffectGained(caster); OnEffectGained(caster);
} }
GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.Lifesteal]);
} }
} }
} }

View File

@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override long Id => (long)SuperSkillID.; public override long Id => (long)SuperSkillID.;
public override string Name => "天赐之力"; public override string Name => "天赐之力";
public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; 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 EPCost => 100;
public override double CD => 60; public override double CD => 60;
public override double HardnessTime { get; set; } = 15; 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 string Description => $"{Duration:0.##} {GameplayEquilibriumConstant.InGameTime}内,增加 40% 攻击力 [ {攻击力提升:0.##} ]、30% 物理穿透和 25% 闪避率(不可叠加),普通攻击硬直时间额外减少 20%,基于 {系数 * 100:0.##}% 敏捷 [ {伤害加成:0.##} ] 强化普通攻击的伤害。在持续时间内,【心灵之火】的冷却时间降低至 3 {GameplayEquilibriumConstant.InGameTime}。";
public override bool Durative => true; public override bool Durative => true;
public override double Duration => 40; public override double Duration => 40;
public override DispelledType DispelledType => DispelledType.CannotBeDispelled;
private double => 1.2 * (1 + 0.6 * (Skill.Level - 1)); private double => 1.2 * (1 + 0.6 * (Skill.Level - 1));
private double => * Skill.Character?.AGI ?? 0; private double => * Skill.Character?.AGI ?? 0;
@ -85,6 +87,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
caster.Effects.Add(this); caster.Effects.Add(this);
OnEffectGained(caster); OnEffectGained(caster);
} }
GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DamageBoost, EffectType.PenetrationBoost]);
} }
} }
} }

View File

@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override long Id => (long)SuperSkillID.; public override long Id => (long)SuperSkillID.;
public override string Name => "魔法涌流"; public override string Name => "魔法涌流";
public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; 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 EPCost => 100;
public override double CD => 35; public override double CD => 35;
public override double HardnessTime { get; set; } = 3; 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 string Description => $"{Duration:0.##} {GameplayEquilibriumConstant.InGameTime}内,增加自身所有伤害的 {减伤比例 * 100:0.##}% 伤害减免;【魔法震荡】的冷却时间降低至 5 {GameplayEquilibriumConstant.InGameTime},并将普通攻击转为魔法伤害,允许普通攻击时选择至多 3 个目标。";
public override bool Durative => true; public override bool Durative => true;
public override double Duration => 30; public override double Duration => 30;
public override DispelledType DispelledType => DispelledType.CannotBeDispelled;
private double => 0.15 + 0.04 * (Level - 1); private double => 0.15 + 0.04 * (Level - 1);
private double = 0; private double = 0;
@ -71,6 +73,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
caster.Effects.Add(this); caster.Effects.Add(this);
OnEffectGained(caster); OnEffectGained(caster);
} }
GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DefenseBoost]);
} }
} }
} }

View File

@ -28,7 +28,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override string Name => Skill.Name; public override string Name => Skill.Name;
public override string Description => $"对处于完全行动不能、行动受限、战斗不能、技能受限、攻击受限状态的敌人额外造成 {系数 * 100:0.##}% 力量 [ {伤害加成:0.##} ] 点伤害;造成魔法伤害时使敌人眩晕 1 回合,冷却 {基础冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime}。" + public override string Description => $"对处于完全行动不能、行动受限、战斗不能、技能受限、攻击受限状态的敌人额外造成 {系数 * 100:0.##}% 力量 [ {伤害加成:0.##} ] 点伤害;造成魔法伤害时使敌人眩晕 1 回合,冷却 {基础冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime}。" +
( > 0 ? $"(正在冷却:剩余 {冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime}" : ""); ( > 0 ? $"(正在冷却:剩余 {冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime}" : "");
public override string DispelDescription => "驱散性:眩晕需强驱散"; public override string DispelDescription => "驱散性:眩晕需强驱散";
public double { get; set; } = 0; public double { get; set; } = 0;
public double { get; set; } = 10; public double { get; set; } = 10;
private static double => 4; private static double => 4;

View File

@ -8,6 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override long Id => (long)SuperSkillID.; public override long Id => (long)SuperSkillID.;
public override string Name => "平衡强化"; public override string Name => "平衡强化";
public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; 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 EPCost => 100;
public override double CD => 55 - (1 * (Level - 1)); public override double CD => 55 - (1 * (Level - 1));
public override double HardnessTime { get; set; } = 12; 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 string Description => $"敏捷提高 20%,然后将目前的力量补充到与敏捷持平,持续 {Duration:0.##} {GameplayEquilibriumConstant.InGameTime}。";
public override bool Durative => true; public override bool Durative => true;
public override double Duration => 30; public override double Duration => 30;
public override DispelledType DispelledType => DispelledType.CannotBeDispelled;
private double = 0; private double = 0;
private double = 0; private double = 0;
@ -66,6 +68,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
caster.Effects.Add(this); caster.Effects.Add(this);
OnEffectGained(caster); OnEffectGained(caster);
} }
GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.DamageBoost, EffectType.Lifesteal]);
} }
} }
} }

View File

@ -27,6 +27,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override string Name => Skill.Name; public override string Name => Skill.Name;
public override string Description => $"进入不可选中状态,获得 100 行动速度,提高 8% 暴击率,持续 {Duration:0.##} {GameplayEquilibriumConstant.InGameTime}。破隐一击:在持续时间内,首次造成伤害会附加 {系数 * 100:0.##}% 敏捷 [ {伤害加成:0.##} ] 的强化伤害,并解除不可选中状态。"; public override string Description => $"进入不可选中状态,获得 100 行动速度,提高 8% 暴击率,持续 {Duration:0.##} {GameplayEquilibriumConstant.InGameTime}。破隐一击:在持续时间内,首次造成伤害会附加 {系数 * 100:0.##}% 敏捷 [ {伤害加成:0.##} ] 的强化伤害,并解除不可选中状态。";
public override string DispelDescription => "不可选中状态生效期间,此技能不可驱散,否则可弱驱散"; public override string DispelDescription => "不可选中状态生效期间,此技能不可驱散,否则可弱驱散";
public override EffectType EffectType => EffectType.Unselectable;
public override bool Durative => true; public override bool Durative => true;
public override double Duration => 12 + (1 * (Level - 1)); public override double Duration => 12 + (1 * (Level - 1));
@ -37,8 +38,9 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)
{ {
DispelledType = DispelledType.CannotBeDispelled;
Skill.IsInEffect = true; Skill.IsInEffect = true;
AddEffectTypeToCharacter(character, [EffectType.Unselectable]); AddEffectTypeToCharacter(character, [EffectType]);
character.ExSPD += 100; character.ExSPD += 100;
character.ExCritRate += 0.08; character.ExCritRate += 0.08;
GamingQueue?.InterruptCastingAsync(character); GamingQueue?.InterruptCastingAsync(character);
@ -51,6 +53,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
{ {
// 在没有打出破隐一击的情况下,恢复角色状态 // 在没有打出破隐一击的情况下,恢复角色状态
RemoveEffectTypesFromCharacter(character); RemoveEffectTypesFromCharacter(character);
DispelledType = DispelledType.Weak;
} }
character.ExSPD -= 100; character.ExSPD -= 100;
character.ExCritRate -= 0.08; character.ExCritRate -= 0.08;
@ -65,6 +68,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
RemoveEffectTypesFromCharacter(character); RemoveEffectTypesFromCharacter(character);
double d = ; double d = ;
WriteLine($"[ {character} ] 触发了疾风步破隐一击,获得了 [ {d:0.##} ] 点伤害加成!"); WriteLine($"[ {character} ] 触发了疾风步破隐一击,获得了 [ {d:0.##} ] 点伤害加成!");
DispelledType = DispelledType.Weak;
return d; return d;
} }
return 0; return 0;
@ -74,7 +78,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
{ {
if (!caster.Effects.Contains(this)) if (!caster.Effects.Contains(this))
{ {
GamingQueue?.LastRound.Effects.Add(caster, EffectType.Unselectable); GamingQueue?.LastRound.Effects.Add(caster, [EffectType]);
= true; = true;
= false; = false;
RemainDuration = Duration; RemainDuration = Duration;