mirror of
https://github.com/oshima-studios/OshimaGameModule.git
synced 2025-05-06 18:59:33 +08:00
技能适配新架构
This commit is contained in:
parent
dc33c72289
commit
9a8ab0ce65
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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<string> Descriptions { get; } = [];
|
||||
public Dictionary<string, double> RealDynamicsValues { get; } = [];
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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<Character> targets, Dictionary<string, object> 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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -72,6 +72,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
||||
caster.Effects.Add(this);
|
||||
OnEffectGained(caster);
|
||||
}
|
||||
GamingQueue?.LastRound.Effects.TryAdd(caster, [EffectType.Invulnerable]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user